:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-height:100vh;width:100%;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.character-form-container h3{color:#333;margin-bottom:15px;font-size:1.5rem}.character-form{padding:24px;border:2px solid #e5e7eb;border-radius:12px;background-color:#fff;max-width:320px;box-shadow:0 4px 6px #0000000d}.form-field{margin-bottom:20px}.form-field:last-of-type{margin-bottom:0}.form-label{display:block;margin-bottom:5px;font-weight:700;color:#333}.form-input{width:100%;padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;background-color:#fff;color:#374151;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a;background-color:#fff}.form-input::placeholder{color:#9ca3af}.color-input-container{display:flex;align-items:center;gap:10px}.color-input{width:35px;height:35px;border:none;border-radius:50%;cursor:pointer;padding:0;box-shadow:0 2px 8px #00000026;transition:transform .2s ease,box-shadow .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:50%}.color-input::-moz-color-swatch{border:none;border-radius:50%}.color-input:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.color-input:active{transform:scale(.95)}.color-info{font-size:12px;color:#666;min-height:16px;display:flex;align-items:center}.color-info.loading{color:#3b82f6}.color-info.error{color:#dc2626}.color-info.error.network{color:#7c2d12}.color-info.error.timeout{color:#ea580c}.color-info.error.invalid{color:#db2777}.color-info.success{color:#000;font-weight:500}.color-info span[title]{cursor:help;border-bottom:1px dotted currentColor}.form-instructions{font-size:12px;color:#666;margin-top:15px;line-height:1.4}.form-instructions p{margin-bottom:8px}.form-instructions strong{color:#333}.form-instructions ul{margin:0;padding-left:16px}.form-instructions li{margin-bottom:4px}@media (max-width: 768px){.character-form{max-width:100%;width:100%;padding:20px;margin-bottom:20px}.character-form-container h3{font-size:1.3rem;text-align:center}}@media (max-width: 480px){.character-form{padding:16px}.character-form-container h3{font-size:1.2rem}.form-label{font-size:14px}.form-input,.form-select{padding:10px;font-size:16px}}.form-select{width:100%;padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-family:inherit;background-color:#fff;color:#374151;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;appearance:none}.form-select:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a;background-color:#fff}.form-select:hover{border-color:#d1d5db}.map-selector{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;max-width:320px;margin-bottom:20px}.map-selector h3{margin:0 0 15px;color:#374151;font-size:1.2rem}.map-category-tabs{display:flex;gap:5px;margin-bottom:15px;background:#f3f4f6;border-radius:8px;padding:4px}.category-tab{flex:1;padding:8px 12px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;color:#6b7280;transition:all .2s ease}.category-tab:hover{background:#ffffffb3;color:#374151}.category-tab.active{background:#fff;color:#059669;box-shadow:0 1px 3px #0000001a}.theme-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:15px}.theme-card{display:flex;align-items:center;gap:10px;padding:10px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff;width:100%;text-align:left;font-family:inherit;font-size:inherit}.theme-card:hover{border-color:#059669;box-shadow:0 2px 4px #0000001a}.theme-card.active{border-color:#059669;background:#0596690d}.theme-preview{width:32px;height:32px;border-radius:6px;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.topographic-indicator{opacity:.8}.pixel-indicator{opacity:.6;font-size:16px}.theme-info{flex:1;min-width:0}.theme-name{font-size:13px;font-weight:600;color:#374151;margin-bottom:2px}.theme-description{font-size:11px;color:#6b7280;line-height:1.3}.address-search-section{margin-bottom:16px;padding:12px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.address-label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:8px}.address-input-group{display:flex;gap:8px}.address-input-container{position:relative;flex:1}.address-input{width:100%;padding:8px 32px 8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;color:#374151;transition:border-color .2s ease}.address-input:focus{outline:none;border-color:#059669;box-shadow:0 0 0 3px #0596691a}.address-input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.address-search-button{padding:8px 16px;background:#059669;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.address-search-button:hover:not(:disabled){background:#047857}.address-search-button:disabled{background:#9ca3af;cursor:not-allowed}.search-result{margin-top:8px;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500}.search-result.found{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.search-result.not_found{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.search-result.error{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.suggestions-loading{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:12px;color:#6b7280;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d1d5db;border-top:none;border-radius:0 0 6px 6px;box-shadow:0 4px 6px -1px #0000001a;max-height:200px;overflow-y:auto;z-index:10}.suggestion-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background-color .2s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.selected{background:#f0fdfa}.suggestion-name{font-size:13px;font-weight:500;color:#374151;margin-bottom:2px}.suggestion-details{font-size:11px;color:#6b7280;line-height:1.3}.current-theme-info strong{color:#059669}.current-theme-info p{margin:4px 0 0;color:#6b7280;line-height:1.4}@media (max-width: 768px){.map-selector{max-width:100%;width:100%;margin-bottom:0}.map-selector h3{font-size:1.3rem;text-align:center}.category-tab{font-size:11px;padding:6px 8px}.address-input-group{flex-direction:column;gap:10px}.address-search-button{width:100%;padding:10px}}@media (max-width: 480px){.map-selector{padding:16px}.map-selector h3{font-size:1.2rem}.theme-card{padding:12px}.theme-name{font-size:14px}.theme-description{font-size:12px}.address-input{font-size:16px;padding:12px 32px 12px 12px}}.language-switcher{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 4px #0000000d}.language-label{font-size:14px;font-weight:500;color:#374151}.language-buttons{display:flex;gap:4px;background:#f3f4f6;border-radius:6px;padding:2px}.language-button{padding:6px 12px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;color:#6b7280;transition:all .2s ease;min-width:32px}.language-button:hover{background:#ffffffb3;color:#374151}.language-button.active{background:#fff;color:#059669;box-shadow:0 1px 3px #0000001a}.instructions-container{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;border:1px solid #e5e7eb;margin-top:20px;width:100%;max-width:100%;box-sizing:border-box;overflow:hidden}.instructions-header{margin-bottom:15px}.instructions-header h3{color:#333;font-size:1.2rem;margin:0;display:flex;align-items:center;gap:8px}.instructions-header h3:before{content:"📋";font-size:1.1rem}.instructions-content{color:#555}.instructions-content ul{list-style:none;padding:0;margin:0}.instructions-content li{border-bottom:1px solid #f0f0f0;position:relative;padding:8px 0 8px 25px;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.instructions-content li:last-child{border-bottom:none}.instructions-content li:before{content:"→";position:absolute;left:0;color:#667eea;font-weight:700}.instructions-content li:nth-child(1):before{content:"✏️"}.instructions-content li:nth-child(2):before{content:"🎨"}.instructions-content li:nth-child(3):before{content:"🗺️"}.instructions-content li:nth-child(4):before{content:"⌨️"}.instructions-content .map-types{margin-top:8px;margin-left:0;max-width:100%}.instructions-content .map-types li{padding:4px 0 4px 20px;border-bottom:none;font-size:.9em;color:#666}.instructions-content .map-types li:before{content:"•";color:#999;font-size:1.2em;left:5px}@media (max-width: 768px){.instructions-container{margin-top:15px;padding:15px}.instructions-header h3{font-size:1.1rem}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;color:#333;width:100%;display:flex;justify-content:center;align-items:flex-start;min-height:100vh}.app{width:100%;min-height:100vh;max-width:1200px;padding:20px;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.app-header{width:100%;margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a}.header-content{display:flex;justify-content:space-between;align-items:center}.header-text{text-align:left;flex:1}.app-header h1{font-size:2.5rem;margin-bottom:10px;font-weight:700}.app-header p{font-size:1.1rem;opacity:.9}.app-main{width:100%;display:flex;gap:30px;align-items:flex-start;justify-content:center;flex-wrap:wrap;flex-direction:row-reverse}.left-panel{flex:0 0 auto;min-width:320px;display:flex;flex-direction:column;gap:20px}.right-panel{flex:1;display:flex;flex-direction:column;align-items:center;max-width:640px}.right-panel h3{color:#333;margin-bottom:15px;font-size:1.5rem}.right-panel p{color:#666;margin-bottom:15px;font-size:.9rem}@media (max-width: 768px){.app-main{flex-direction:column;align-items:center}.left-panel{width:100%;max-width:400px;order:2}.right-panel{width:100%;order:1;flex-direction:column-reverse;gap:30px}.app-header h1{font-size:2rem}.app{padding-top:40px}.header-content{flex-direction:column;text-align:center;gap:15px}.header-text{text-align:center}}.loading-spinner{display:flex;align-items:center;justify-content:center;min-height:400px;background-color:#f0f8ff;border:2px solid #ddd;border-radius:8px;font-size:18px;color:#666;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}
