:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden}.map-container{position:relative;width:100%;height:100%;background:#0d0d1a;overflow:hidden;border-radius:8px}.map-controls{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:6px;z-index:100}.map-controls button{width:36px;height:36px;background:#1a1a2e;border:1px solid #333;border-radius:6px;color:#e0e0e0;font-size:1.2rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.map-controls button:hover{background:#2a2a4e;border-color:#4fc3f7}.map-tooltip{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#1a1a2e;border:1px solid #333;border-radius:8px;padding:12px 16px;font-size:.85rem;color:#e0e0e0;z-index:200;box-shadow:0 8px 24px #0006;min-width:180px}.tooltip-header{font-weight:600;font-size:.95rem;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid #333}.map-tooltip div{margin:3px 0;color:#aaa}.map-tooltip .available{color:#66bb6a}.map-tooltip .cooldown{color:#ffa726}.tile-editor-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tile-editor{background:#1a1a2e;border:1px solid #333;border-radius:12px;width:90%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.tile-editor-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #333;position:sticky;top:0;background:#1a1a2e}.tile-editor-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#e0e0e0}.close-btn{background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:4px 8px;line-height:1;transition:color .2s}.close-btn:hover{color:#fff}.tile-editor-content{padding:20px;display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.85rem;color:#888;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.form-group select,.form-group input[type=text],.form-group input[type=number],.form-group textarea{background:#252540;border:1px solid #3a3a5c;border-radius:6px;padding:10px 12px;color:#e0e0e0;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group select:focus,.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group textarea:focus{outline:none;border-color:#4fc3f7;box-shadow:0 0 0 3px #4fc3f726}.form-group textarea{resize:vertical;min-height:60px}.checkbox-group label{display:flex;align-items:center;gap:10px;font-size:.95rem;color:#e0e0e0;cursor:pointer;text-transform:none}.checkbox-group input[type=checkbox]{width:18px;height:18px;accent-color:#4fc3f7}.river-connections{display:flex;gap:8px}.river-btn{flex:1;padding:8px;background:#252540;border:1px solid #3a3a5c;border-radius:6px;color:#888;font-weight:600;cursor:pointer;transition:all .2s}.river-btn:hover{background:#303050}.river-btn.active{background:#1e88e5;border-color:#1e88e5;color:#fff}.ownership-buttons{display:flex;gap:8px}.ownership-btn{flex:1;padding:10px;background:#252540;border:2px solid #3a3a5c;border-radius:6px;color:#888;font-weight:500;cursor:pointer;transition:all .2s}.ownership-btn:hover{background:#303050}.ownership-btn.active{color:#fff}.ownership-btn.neutral.active{border-color:#888;background:#404060}.ownership-btn.yours.active{border-color:#4fc3f7;background:#4fc3f733;color:#4fc3f7}.ownership-btn.enemy.active{border-color:#ef5350;background:#ef535033;color:#ef5350}.timestamps{background:#252540;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.timestamp-row{display:flex;align-items:center;gap:10px;font-size:.9rem}.timestamp-row>span:first-child{color:#888;min-width:100px}.timestamp-row>span:nth-child(2){flex:1;color:#e0e0e0}.timestamp-row .available{color:#66bb6a}.timestamp-row .cooldown{color:#ffa726}.small-btn{padding:6px 12px;background:#3a3a5c;border:none;border-radius:4px;color:#e0e0e0;font-size:.8rem;cursor:pointer;transition:background .2s}.small-btn:hover{background:#4a4a7c}.tile-editor-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #333}.cancel-btn,.save-btn{flex:1;padding:12px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.cancel-btn{background:#333;color:#aaa}.cancel-btn:hover{background:#444;color:#fff}.save-btn{background:linear-gradient(135deg,#4fc3f7,#29b6f6);color:#000}.save-btn:hover{background:linear-gradient(135deg,#81d4fa,#4fc3f7);transform:translateY(-1px);box-shadow:0 4px 12px #4fc3f74d}.resource-categories{display:flex;flex-direction:column;gap:10px}.resource-category{background:#252540;border:1px solid #3a3a5c;border-radius:6px;overflow:hidden}.category-header{padding:6px 12px;background:#1e1e38;font-size:.8rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.resource-checkboxes{display:flex;flex-wrap:wrap;gap:4px 12px;padding:8px 12px}.resource-row{display:flex;align-items:center;gap:6px;width:100%}.resource-checkbox{display:flex!important;align-items:center;gap:6px;font-size:.9rem!important;color:#e0e0e0!important;cursor:pointer;text-transform:none!important;flex:1}.resource-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#4fc3f7}.resource-qty{width:50px;background:#1e1e38;border:1px solid #3a3a5c;border-radius:4px;padding:4px 6px;color:#e0e0e0;font-size:.8rem;text-align:center}.form-hint{color:#666;font-size:.85rem;font-style:italic}.chip-group{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:6px 12px;background:#252540;border:1px solid #3a3a5c;border-radius:16px;color:#aaa;font-size:.85rem;cursor:pointer;transition:all .15s}.chip:hover{background:#303050;color:#e0e0e0}.chip.active{background:#4fc3f733;border-color:#4fc3f7;color:#4fc3f7}.biome-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-right:4px;border:1px solid rgba(255,255,255,.3)}.search-panel{position:absolute;top:12px;left:12px;z-index:100}.search-toggle{width:40px;height:40px;background:#1a1a2e;border:1px solid #333;border-radius:8px;font-size:1.2rem;cursor:pointer;transition:all .2s}.search-toggle:hover{background:#2a2a4e;border-color:#4fc3f7}.search-panel.open .search-toggle{display:none}.search-content{background:#1a1a2e;border:1px solid #333;border-radius:12px;width:320px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;box-shadow:0 8px 32px #0006}.search-header{display:flex;gap:8px;padding:12px;border-bottom:1px solid #333}.search-header input{flex:1;background:#252540;border:1px solid #3a3a5c;border-radius:6px;padding:10px 12px;color:#e0e0e0;font-size:.95rem}.search-header input:focus{outline:none;border-color:#4fc3f7}.close-search{background:none;border:none;color:#888;font-size:1.5rem;cursor:pointer;padding:0 8px}.close-search:hover{color:#fff}.search-filters{display:flex;gap:6px;padding:10px 12px;flex-wrap:wrap;border-bottom:1px solid #333}.filter-btn{padding:6px 10px;background:#252540;border:1px solid #3a3a5c;border-radius:16px;color:#888;font-size:.8rem;cursor:pointer;transition:all .2s}.filter-btn:hover{background:#303050;color:#e0e0e0}.filter-btn.active{background:#4fc3f7;border-color:#4fc3f7;color:#000}.search-results{flex:1;overflow-y:auto;padding:8px}.no-results{text-align:center;color:#666;padding:24px;font-size:.9rem}.search-result{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .2s}.search-result:hover{background:#252540}.result-coords{font-weight:600;color:#e0e0e0;min-width:70px;font-size:.9rem}.result-summary{flex:1;font-size:.85rem;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-status{font-size:.9rem}.result-status.available{color:#66bb6a}.result-status.cooldown{color:#ffa726}.search-count{padding:10px 12px;border-top:1px solid #333;font-size:.8rem;color:#666;text-align:center}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;background:#0a0a14;color:#e0e0e0;overflow:hidden}#root{width:100vw;height:100vh}.app{display:flex;flex-direction:column;height:100vh;width:100vw}.app.loading,.app.no-world{display:flex;align-items:center;justify-content:center}.spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#4fc3f7;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.welcome-card{background:#1a1a2e;border:1px solid #333;border-radius:16px;padding:40px;text-align:center;max-width:400px;box-shadow:0 20px 60px #0006}.welcome-icon{width:80px;height:80px;margin-bottom:20px}.welcome-card h1{font-size:1.8rem;margin-bottom:12px}.welcome-card p{color:#888;margin-bottom:24px}.create-world-form{display:flex;gap:8px}.create-world-form input{flex:1;background:#252540;border:1px solid #3a3a5c;border-radius:8px;padding:12px 16px;color:#e0e0e0;font-size:1rem}.create-world-form input:focus{outline:none;border-color:#4fc3f7}.create-world-form button{background:linear-gradient(135deg,#4fc3f7,#29b6f6);border:none;border-radius:8px;padding:12px 24px;color:#000;font-weight:600;cursor:pointer;transition:all .2s}.create-world-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4fc3f74d}.create-world-form button:disabled{opacity:.5;cursor:not-allowed}.app-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#1a1a2e;border-bottom:1px solid #333}.header-left{display:flex;align-items:center;gap:20px}.header-icon{width:32px;height:32px}.header-left h1{font-size:1.25rem;font-weight:600}.world-selector{position:relative}.world-btn{background:#252540;border:1px solid #3a3a5c;border-radius:8px;padding:8px 16px;color:#e0e0e0;font-size:.95rem;cursor:pointer;transition:all .2s}.world-btn:hover{background:#303050;border-color:#4fc3f7}.world-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:#1a1a2e;border:1px solid #333;border-radius:8px;min-width:200px;overflow:hidden;z-index:500;box-shadow:0 8px 24px #0006}.world-option{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;transition:background .2s}.world-option:hover{background:#252540}.world-option.active{background:#303050;color:#4fc3f7}.world-option.new{border-top:1px solid #333;padding:8px;display:flex;gap:8px}.world-option.new input{flex:1;background:#252540;border:1px solid #3a3a5c;border-radius:4px;padding:6px 10px;color:#e0e0e0;font-size:.85rem}.world-option.new button{background:#4fc3f7;border:none;border-radius:4px;width:28px;height:28px;color:#000;font-weight:700;cursor:pointer}.world-actions{display:flex;gap:4px}.edit-world,.delete-world{background:none;border:none;color:#666;font-size:1.1rem;cursor:pointer;padding:0 4px;line-height:1}.edit-world:hover{color:#4fc3f7}.delete-world:hover{color:#ef5350}.rename-input{flex:1;background:#252540;border:1px solid #4fc3f7;border-radius:4px;padding:4px 8px;color:#e0e0e0;font-size:.9rem;outline:none}.header-right{display:flex;align-items:center;gap:12px}.notification-btn{background:#252540;border:1px solid #3a3a5c;border-radius:8px;padding:8px 14px;color:#e0e0e0;font-size:.85rem;cursor:pointer;transition:all .2s}.notification-btn:hover{background:#303050;border-color:#ffa726}.notification-status{font-size:.85rem;color:#66bb6a}.toggle-btn{background:#252540;border:1px solid #3a3a5c;border-radius:8px;padding:8px 14px;color:#e0e0e0;font-size:.85rem;cursor:pointer;transition:all .2s}.toggle-btn:hover{background:#303050;border-color:#66bb6a}.toggle-btn.active{background:#66bb6a;border-color:#66bb6a;color:#000;font-weight:600}.app-main{flex:1;position:relative;overflow:hidden}.context-menu{position:fixed;background:#1a1a2e;border:1px solid #333;border-radius:8px;overflow:hidden;z-index:1000;box-shadow:0 8px 24px #0006;min-width:160px}.context-menu button{display:block;width:100%;background:none;border:none;padding:10px 14px;color:#e0e0e0;font-size:.9rem;text-align:left;cursor:pointer;transition:background .2s}.context-menu button:hover{background:#252540}.app-footer{display:flex;justify-content:space-between;padding:8px 20px;background:#1a1a2e;border-top:1px solid #333;font-size:.8rem;color:#666}
