.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-xl);animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);max-width:320px;width:100%;animation:slideIn .15s ease-out}@keyframes slideIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-title{font-size:11px;margin:0 0 var(--spacing-md) 0;color:var(--color-text)}.modal-message{font-size:9px;color:var(--color-text-muted);margin:0 0 var(--spacing-xl) 0;line-height:1.5}.modal-buttons{display:flex;gap:var(--spacing-md)}.modal-btn{flex:1;padding:var(--spacing-md) var(--spacing-lg);font-size:8px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition)}.modal-btn.cancel-btn{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-muted)}.modal-btn.cancel-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.modal-btn.confirm-btn{background:#29adff26;border:2px solid rgba(41,173,255,.3);color:var(--color-accent)}.modal-btn.confirm-btn:hover{background:#29adff40;border-color:var(--color-accent)}.modal-btn.confirm-btn.danger{background:#ff004d26;border-color:#ff004d4d;color:var(--color-danger)}.modal-btn.confirm-btn.danger:hover{background:#ff004d40;border-color:var(--color-danger)}.fish-editor{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xs) var(--spacing-xs);overflow:hidden;box-sizing:border-box}.fish-editor .editor-header{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:480px;flex-shrink:0;padding:2px 0;position:relative}.fish-editor .editor-header .header-text{text-align:center;flex:1}.fish-editor .editor-header .header-spacer{width:70px}.fish-editor .editor-header .back-button{padding:var(--spacing-xs) var(--spacing-sm);font-size:7px;display:flex;align-items:center;gap:4px;min-width:70px}.fish-editor .editor-header h2{font-size:11px;margin-bottom:2px}.fish-editor .editor-header p{font-size:7px;color:var(--color-text-muted)}.fish-editor .editor-header .direction-hint{font-size:7px;color:var(--color-text-dim);margin-top:2px;opacity:.8}.tools-and-actions{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);flex-shrink:0;padding:var(--spacing-xs) 0;width:100%;max-width:480px}.tools-bar{display:flex;gap:var(--spacing-xs);justify-content:center;flex-shrink:0;flex-wrap:wrap}.tool-button{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:16px;cursor:pointer;transition:all var(--transition);min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.tool-button.labeled{flex-direction:column;gap:2px;min-width:54px;min-height:44px;padding:4px 6px}.tool-button .tool-label{font-size:7px;color:var(--color-text-muted);text-transform:lowercase;white-space:nowrap}.tool-button.active .tool-label{color:var(--color-accent)}.tool-button.small{min-width:auto;min-height:28px;font-size:8px;padding:4px 8px}.tool-button.disabled,.tool-button:disabled{opacity:.4;cursor:not-allowed}.tool-button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-hover)}.tool-button.active{background:var(--color-surface-hover);border-color:var(--color-accent);box-shadow:0 0 12px #29adff4d}.tool-button:active:not(:disabled){transform:scale(.95)}.undo-redo-bar{display:flex;gap:4px;justify-content:center;flex-shrink:0}.tool-button.undo-redo{min-width:36px;min-height:36px;padding:6px;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md)}.tool-button.undo-redo:not(:disabled):hover{background:var(--color-surface-hover);border-color:var(--color-accent)}.tool-button.undo-redo:not(:disabled):active{transform:scale(.95);background:#29adff33}.tool-hint{font-size:7px;color:var(--color-text-dim);text-align:center;padding:2px 8px;background:#ffad0026;border-radius:4px;margin:2px 0}.canvas-container{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;padding:4px 2px}.canvas-container canvas{display:block;touch-action:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;width:100%;max-width:100%;height:auto;aspect-ratio:1;border:2px solid var(--color-border);border-radius:var(--radius-md);background:#1a1a2e}.palette-wrapper{flex:1 1 auto;width:100%;max-width:100%;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-xs) 0;min-height:60px;position:relative}.palette-wrapper::-webkit-scrollbar-thumb:hover{background:var(--color-text)}.color-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:6px;width:100%;max-width:100%;margin:0 auto;padding:0 var(--spacing-sm);justify-items:center}.color-button{width:30px;height:30px;border:2px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all var(--transition);padding:0;flex-shrink:0}.slot-selector{display:flex;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-xs) 0;flex-wrap:wrap}.slot-btn{width:28px;height:28px;border-radius:50%;border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:10px;cursor:pointer;transition:all var(--transition)}.slot-btn:hover{border-color:var(--color-border-hover)}.slot-btn.active{border-color:var(--color-accent);background:#29adff33;color:var(--color-accent)}.slot-btn.has-fish{background:#00e43626;border-color:#00e4364d}.slot-btn.has-fish.active{background:#29adff33;border-color:var(--color-accent)}.hide-username-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;cursor:pointer;font-size:8px;color:var(--color-text-muted);justify-content:center}.hide-username-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.hide-username-toggle:hover{color:var(--color-text)}.editor-actions{display:flex;gap:var(--spacing-md);flex-shrink:0;padding:var(--spacing-sm) 0}.editor-actions button{min-width:100px;padding:var(--spacing-sm) var(--spacing-lg);font-size:8px}.editor-actions button:last-child{background:#29adff26;border-color:#29adff4d;color:var(--color-accent)}.editor-actions button:last-child:hover{background:#29adff40;border-color:var(--color-accent)}@media (max-height: 600px){.fish-editor{padding:2px}.fish-editor .editor-header{padding:2px 0}.fish-editor .editor-header h2{font-size:10px}.fish-editor .editor-header p{display:none}.tools-and-actions{padding:2px 0;gap:var(--spacing-xs)}.tool-button{min-width:34px;min-height:34px}.tool-button.labeled{min-width:44px;min-height:34px}.tool-button .tool-label{font-size:6px}.tool-button.undo-redo{min-width:32px;min-height:32px;padding:4px}.color-button{width:26px;height:26px}.editor-actions{padding:4px 0}.editor-actions button{min-width:80px;padding:var(--spacing-xs) var(--spacing-md)}}@media (max-width: 340px){.tools-and-actions{flex-wrap:wrap;gap:4px}.tools-bar{gap:3px}.tool-button.labeled{min-width:40px;padding:3px 4px}.tool-button .tool-label{font-size:5px}.tool-button.undo-redo{min-width:30px;min-height:30px}}@media (min-width: 600px){.fish-editor{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);max-width:900px;margin:0 auto}.fish-editor .editor-header{width:100%;max-width:none;justify-content:center;flex:0 0 100%}.fish-editor .editor-header .header-spacer{display:none}.fish-editor .editor-header .back-button{position:absolute;left:var(--spacing-md)}.tools-and-actions{flex-direction:column;width:auto;max-width:none;order:2;padding:var(--spacing-sm);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);align-self:stretch}.undo-redo-bar{flex-direction:row}.tools-bar{flex-direction:column}.canvas-container{order:1;flex:0 0 auto;width:auto;max-width:400px}.canvas-container canvas{width:360px;max-width:360px;height:360px}.palette-wrapper{order:3;flex:0 0 auto;width:180px;max-width:180px;max-height:400px;padding:var(--spacing-sm);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);align-self:stretch}.color-palette{grid-template-columns:repeat(4,1fr);gap:8px;padding:0}.color-button{width:34px;height:34px}.slot-selector{order:4;width:100%;flex:0 0 100%}.hide-username-toggle{order:5;width:100%;flex:0 0 100%}.editor-actions{order:6;width:100%;flex:0 0 100%;justify-content:center}.tool-hint{order:0;width:100%;flex:0 0 100%}}@media (min-width: 800px){.canvas-container canvas{width:420px;max-width:420px;height:420px}.palette-wrapper{width:200px;max-width:200px}.color-palette{grid-template-columns:repeat(5,1fr)}}.fish-tooltip{position:fixed;z-index:1000;background:#0a0a12f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);min-width:160px;max-width:200px;animation:tooltipAppear .2s ease;box-shadow:0 4px 20px #00000080}@keyframes tooltipAppear{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.tooltip-close{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;background:transparent;border:none;color:var(--color-text-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px}.tooltip-close:hover{background:var(--color-surface);color:var(--color-text)}.tooltip-header{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--spacing-sm);padding-right:20px}.tooltip-name{font-size:10px;font-weight:400}.tooltip-username{font-size:7px;color:var(--color-text-muted)}.tooltip-clan{display:flex;align-items:center;gap:4px;font-size:7px;margin-bottom:var(--spacing-sm);padding:4px 6px;background:var(--color-surface);border-radius:4px}.clan-wars-badge{margin-left:auto;font-size:8px;opacity:.8}.tooltip-titles{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--spacing-sm)}.title-badge{display:inline-flex;align-items:center;gap:2px;font-size:7px;padding:3px 6px;background:#ffd70026;border:1px solid rgba(255,215,0,.3);border-radius:4px;color:gold}.tooltip-stats{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--spacing-md)}.stat-item{display:flex;align-items:center;gap:6px;font-size:8px;color:var(--color-text-muted)}.tooltip-actions{display:flex;justify-content:center}.like-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:10px;cursor:pointer;transition:all var(--transition);width:100%}.like-button:hover:not(:disabled){background:var(--color-surface-hover);border-color:#e86a73;color:#e86a73}.like-button.liked{background:#e86a7326;border-color:#e86a7380;color:#e86a73}.like-button.liked:hover:not(:disabled){background:#e86a7340;border-color:#e86a73}.like-button:disabled{opacity:.7;cursor:not-allowed}.daily-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-lg)}.daily-modal{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);max-width:320px;width:100%;position:relative}.daily-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);padding:var(--spacing-sm);background:transparent;border:none;color:var(--color-text-dim);cursor:pointer;transition:color var(--transition)}.daily-close:hover{color:var(--color-text)}.daily-title{font-size:11px;text-align:center;margin:0 0 var(--spacing-xl);color:var(--color-accent)}.daily-loading{display:flex;justify-content:center;padding:var(--spacing-2xl)}.daily-streak-days{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.streak-day{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);position:relative;transition:all var(--transition)}.streak-day.completed{background:#59c1351a;border-color:#59c13566}.streak-day.current{background:#29adff1a;border-color:var(--color-accent)}.streak-day-num{font-size:6px;color:var(--color-text-dim);margin-bottom:4px}.streak-day-reward{font-size:10px;font-weight:700;color:var(--color-gold)}.streak-day.current .streak-day-reward{color:var(--color-accent)}.streak-check{position:absolute;top:-4px;right:-4px;width:14px;height:14px;background:#59c135;border-radius:50%;display:flex;align-items:center;justify-content:center}.daily-info{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-md)}.daily-current-streak,.daily-bonus-pool{font-size:8px;color:var(--color-text-dim);display:flex;justify-content:space-between}.daily-current-streak span,.daily-bonus-pool span{color:var(--color-text);font-weight:700}.daily-claim-btn{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:linear-gradient(135deg,var(--color-accent),#1a8ccc);border:none;border-radius:var(--radius-md);color:#fff;font-size:9px;font-weight:700;cursor:pointer;transition:all var(--transition);text-transform:lowercase}.daily-claim-btn:hover:not(:disabled){transform:translateY(-1px)}.daily-claim-btn:disabled{opacity:.7;cursor:not-allowed}.daily-claimed{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#59c1351a;border:1px solid rgba(89,193,53,.3);border-radius:var(--radius-md);color:#59c135;font-size:8px}.daily-hint{font-size:7px;color:var(--color-text-muted);text-align:center;margin-top:var(--spacing-lg);line-height:1.5}.daily-result{text-align:center;padding:var(--spacing-xl) 0}.daily-reward-icon{font-size:32px;color:var(--color-gold);font-weight:700;margin-bottom:var(--spacing-md);text-shadow:0 0 20px rgba(255,215,0,.5);animation:pulse .5s ease-out}@keyframes pulse{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.daily-reward-text{font-size:9px;color:var(--color-text);margin-bottom:var(--spacing-lg)}.daily-streak-info{font-size:8px;color:var(--color-text-dim);margin-bottom:var(--spacing-sm)}.daily-total{font-size:8px;color:var(--color-text-dim)}.daily-total-value{color:var(--color-accent);font-weight:700}.aquarium{width:100vw;height:100vh;position:relative;overflow:hidden;background:#000}.pixi-container{width:100%;height:100%}.pixi-container canvas{display:block;touch-action:none}.aquarium-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--spacing-lg);background:var(--color-bg);z-index:1000}.aquarium-loading .spinner{width:48px;height:48px;border-width:4px}.aquarium-top-bar{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:6px;z-index:100;transition:opacity .3s ease}.aquarium-top-bar.hidden{opacity:.6}.aquarium-top-bar.hidden:hover{opacity:1}.top-bar-row{display:flex;gap:6px}.bar-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#0a0a12d9;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all .2s ease;padding:0}.bar-btn:hover{background:#14141ef2;border-color:var(--color-border-hover)}.bar-btn.active{background:#29adff33;border-color:var(--color-accent);color:var(--color-accent)}.aquarium-top-right{position:absolute;top:12px;right:12px;z-index:100;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.expansion-timer{animation:pulse 2s ease-in-out infinite}.expansion-timer-content{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0a0a12d9;border:2px solid var(--color-accent);border-radius:var(--radius-md);color:var(--color-accent);font-family:var(--font-pixel);font-size:10px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.player-count-content{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#0a0a12d9;border:2px solid #00e436;border-radius:var(--radius-md);color:#00e436;font-family:var(--font-pixel);font-size:10px}.daily-btn{position:relative}.daily-btn.can-claim{animation:daily-pulse 2s ease-in-out infinite;border-color:var(--color-gold)}@keyframes daily-pulse{0%,to{background:var(--color-surface)}50%{background:#ffd70033}}.bar-btn.war-active{animation:war-pulse 1s ease-in-out infinite;border-color:red!important}@keyframes war-pulse{0%,to{background:var(--color-surface);box-shadow:0 0 #f000}50%{background:#ff00004d;box-shadow:0 0 12px 4px #ff000080}}.challenges-btn{position:relative}.challenges-btn.has-unclaimed{animation:challenge-pulse 2s ease-in-out infinite;border-color:#00e436}.challenges-btn .badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0 4px;background:#00e436;color:var(--color-bg);border-radius:7px;font-size:8px;font-weight:700;font-family:var(--font-pixel);border:1px solid var(--color-bg)}@keyframes challenge-pulse{0%,to{background:var(--color-surface);box-shadow:0 0 #00e43600}50%{background:#00e43633;box-shadow:0 0 12px 2px #00e43666}}.achievements-btn{position:relative}.achievements-btn.has-unclaimed{animation:achievement-pulse 2s ease-in-out infinite;border-color:var(--color-accent)}.achievements-btn .badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;display:flex;align-items:center;justify-content:center;padding:0 4px;background:var(--color-accent);color:var(--color-bg);border-radius:7px;font-size:8px;font-weight:700;font-family:var(--font-pixel);border:1px solid var(--color-bg)}@keyframes achievement-pulse{0%,to{background:var(--color-surface);box-shadow:0 0 #29adff00}50%{background:#29adff33;box-shadow:0 0 12px 2px #29adff66}}.achievement-notification{position:absolute;top:60px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:10px 16px;background:#0a0a12f2;border:2px solid var(--color-accent);border-radius:var(--radius-lg);color:var(--color-accent);font-family:var(--font-pixel);font-size:9px;z-index:150;cursor:pointer;animation:notification-appear .3s ease,notification-pulse 2s ease-in-out infinite}@keyframes notification-appear{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes notification-pulse{0%,to{box-shadow:0 0 #29adff00}50%{box-shadow:0 0 16px 4px #29adff66}}.canvas-editor{width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md) var(--spacing-lg);overflow-y:auto}.canvas-editor .page-header{width:100%;max-width:400px;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.canvas-editor .page-header button{padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-xs)}.canvas-editor .page-header h2{font-size:10px;margin:0}.cooldown-timer{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:8px;color:var(--color-accent)}.cooldown-timer .frozen{color:#e86a73}.canvas-view{position:relative;margin-bottom:var(--spacing-md);display:flex;justify-content:center}.canvas-view canvas{display:block;border:2px solid var(--color-border);border-radius:var(--radius-md);image-rendering:pixelated;image-rendering:crisp-edges;max-width:calc(100vw - 40px);max-height:calc(100vh - 280px)}.canvas-controls{position:absolute;bottom:var(--spacing-md);right:var(--spacing-md);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs);background:#0a0a12e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-border)}.canvas-controls button{width:36px;height:36px;padding:0;font-size:16px;min-width:unset;display:flex;align-items:center;justify-content:center}.canvas-controls button:nth-child(1){grid-column:1;grid-row:2}.canvas-controls button:nth-child(2){grid-column:2;grid-row:1}.canvas-controls button:nth-child(3){grid-column:2;grid-row:3}.canvas-controls button:nth-child(4){grid-column:3;grid-row:2}.canvas-controls button:nth-child(5){grid-column:1;grid-row:3}.canvas-controls button:nth-child(6){grid-column:3;grid-row:3}.pixel-confirm{position:fixed;bottom:100px;left:50%;transform:translate(-50%);background:#0a0a12fa;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:0 8px 32px #00000080;z-index:1000;min-width:280px}.pixel-confirm p{margin:0 0 var(--spacing-md) 0;font-size:8px;text-align:center;color:var(--color-text)}.confirm-buttons{display:flex;gap:var(--spacing-sm)}.confirm-buttons button{flex:1;padding:var(--spacing-md) var(--spacing-lg);font-size:7px;display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.confirm-btn{background:#00e43626;border-color:#00e4364d;color:var(--color-success)}.confirm-btn:hover{background:#00e43640;border-color:var(--color-success)}.palette-wrapper{width:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;margin-bottom:var(--spacing-md);max-height:140px;position:relative}.palette-wrapper:before,.palette-wrapper:after{content:"";position:sticky;left:0;right:0;height:20px;pointer-events:none;z-index:2;display:block;opacity:0;transition:opacity .2s ease}.palette-wrapper:before{top:0;background:linear-gradient(to bottom,var(--color-bg) 0%,transparent 100%);margin-bottom:-20px}.palette-wrapper:after{bottom:0;background:linear-gradient(to top,var(--color-bg) 0%,transparent 100%);margin-top:-20px}.palette-wrapper.can-scroll-up:before{opacity:1}.palette-wrapper.can-scroll-down:after{opacity:1}.scroll-hint{text-align:center;font-size:6px;color:var(--color-text-dim);padding:2px 0;opacity:.6;animation:pulse-hint 2s ease-in-out infinite}@keyframes pulse-hint{0%,to{opacity:.4}50%{opacity:.8}}.palette-wrapper::-webkit-scrollbar{width:4px}.palette-wrapper::-webkit-scrollbar-track{background:transparent}.palette-wrapper::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:2px}.color-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(26px,1fr));gap:4px;width:100%;max-width:280px;margin:0 auto;padding:0 var(--spacing-xs)}.color-button{width:24px;height:24px;border:2px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all var(--transition);padding:0;flex-shrink:0}.color-button:hover{transform:scale(1.1);border-color:var(--color-border-hover)}.color-button.active{border-color:var(--color-text);border-width:2px;transform:scale(1.15);box-shadow:0 0 8px #ffffff80}.canvas-editor .loading{display:flex;align-items:center;justify-content:center;padding:60px}.leaderboard{width:100%;height:100vh;display:flex;flex-direction:column;padding:var(--spacing-xl);overflow-y:auto}.leaderboard .page-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.leaderboard .page-header button{padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-xs)}.leaderboard .page-header h2{font-size:10px;margin:0}.leaderboard-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:500px;width:100%;margin:0 auto}.leader-item{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition)}.leader-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.rank{font-size:10px;min-width:36px;color:var(--color-text-dim)}.leader-fish{width:28px;height:28px;flex-shrink:0}.leader-fish img{width:100%;height:100%}.fish-placeholder{background:var(--color-surface);border:1px dashed var(--color-border);border-radius:4px}.leader-item:nth-child(1) .rank{color:var(--color-gold);text-shadow:0 0 8px rgba(255,215,0,.5)}.leader-item:nth-child(2) .rank{color:var(--color-silver);text-shadow:0 0 8px rgba(192,192,192,.5)}.leader-item:nth-child(3) .rank{color:var(--color-bronze);text-shadow:0 0 8px rgba(205,127,50,.5)}.leader-info{flex:1;min-width:0}.leader-name{font-size:9px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-username{font-size:7px;color:var(--color-text-muted)}.leader-clan{font-size:6px;margin-top:2px;opacity:.8}.leader-score{font-size:10px;color:var(--color-accent)}.leaderboard .loading{display:flex;align-items:center;justify-content:center;padding:60px}.leaderboard-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);max-width:500px;width:100%;margin-left:auto;margin-right:auto}.leaderboard-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:var(--spacing-sm);font-size:8px;background:var(--color-surface);border:1px solid var(--color-border)}.leaderboard-tabs button.active{background:#29adff26;border-color:var(--color-accent);color:var(--color-accent)}.likes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-md);max-width:600px;width:100%;margin:0 auto}.likes-grid-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition)}.likes-grid-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.likes-rank{font-size:8px;color:var(--color-text-dim)}.likes-grid-item:nth-child(1) .likes-rank{color:var(--color-gold);text-shadow:0 0 6px rgba(255,215,0,.5)}.likes-grid-item:nth-child(2) .likes-rank{color:var(--color-silver);text-shadow:0 0 6px rgba(192,192,192,.5)}.likes-grid-item:nth-child(3) .likes-rank{color:var(--color-bronze);text-shadow:0 0 6px rgba(205,127,50,.5)}.likes-fish-preview{width:48px;height:48px}.likes-fish-preview img{width:100%;height:100%}.likes-fish-info{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.likes-fish-name{font-size:7px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.likes-fish-clan{font-size:6px;opacity:.7;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.likes-grid-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:8px;cursor:pointer;transition:all var(--transition);width:100%}.likes-grid-btn:hover{background:var(--color-surface-hover);border-color:#e86a73;color:#e86a73}.likes-grid-btn.liked{background:#e86a7326;border-color:#e86a7380;color:#e86a73}.likes-grid-btn.liked:hover{background:#e86a7340;border-color:#e86a73}.admin-panel{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:var(--spacing-xl);overflow-y:auto}.admin-panel .page-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);flex-shrink:0}.admin-panel .page-header button{padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-xs)}.admin-panel .page-header h2{font-size:12px;margin:0}.admin-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-shrink:0}.tab-button{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:8px;cursor:pointer;transition:all var(--transition)}.tab-button:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.tab-button.active{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-text)}.fish-list,.banned-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.fish-item,.banned-item{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition)}.fish-item:hover,.banned-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.fish-preview{flex-shrink:0;width:64px;height:64px;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:#222;display:flex;align-items:center;justify-content:center}.fish-preview-canvas{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;display:block}.fish-info,.banned-info{flex:1;min-width:0}.fish-name,.banned-name{font-size:11px;margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fish-username,.banned-username{font-size:9px;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.fish-stats,.banned-stats{font-size:8px;color:var(--color-text-dim)}.fish-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.action-button{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);font-size:8px;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition)}.action-button:disabled{opacity:.5;cursor:not-allowed}.delete-button{background:#ff004d26;border-color:#ff004d4d;color:var(--color-danger)}.delete-button:hover:not(:disabled){background:#ff004d40;border-color:var(--color-danger)}.ban-button{background:#ffa30026;border-color:#ffa3004d;color:#ffa300}.ban-button:hover:not(:disabled){background:#ffa30040;border-color:#ffa300}.unban-button{background:#00e43626;border-color:#00e4364d;color:#00e436}.unban-button:hover:not(:disabled){background:#00e43640;border-color:#00e436}.empty-message{text-align:center;color:var(--color-text-muted);font-size:9px;padding:var(--spacing-2xl)}.admin-panel .loading{display:flex;align-items:center;justify-content:center;padding:60px}.canvas-moderation{display:flex;flex-direction:column;gap:var(--spacing-lg)}.canvas-status{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.canvas-status-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.canvas-size{font-size:9px;color:var(--color-text-muted)}.freeze-status{font-size:10px;font-weight:600}.freeze-status.frozen{color:#29adff}.freeze-status.active{color:#00e436}.freeze-button{padding:var(--spacing-sm) var(--spacing-lg);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:9px;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:var(--spacing-sm)}.freeze-button.unfreeze{background:#29adff26;border-color:#29adff4d;color:#29adff}.freeze-button.unfreeze:hover{background:#29adff40;border-color:#29adff}.freeze-button.freeze{background:#ffa30026;border-color:#ffa3004d;color:#ffa300}.freeze-button.freeze:hover{background:#ffa30040;border-color:#ffa300}.brush-controls{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.brush-controls label{font-size:9px;color:var(--color-text-muted)}.brush-size-buttons{display:flex;gap:var(--spacing-xs)}.brush-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:9px;cursor:pointer;transition:all var(--transition)}.brush-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.brush-btn.active{background:#29adff33;border-color:var(--color-accent);color:var(--color-accent)}.mod-canvas-container{position:relative;width:100%;aspect-ratio:1;max-height:400px;background:#1a1a2e;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;touch-action:none}.mod-canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;cursor:crosshair}.mod-help{font-size:8px;color:var(--color-text-dim);text-align:center;padding:var(--spacing-sm)}.user-slot-manager{display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-bar{display:flex;gap:var(--spacing-sm)}.search-bar input{flex:1;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:10px}.search-bar input:focus{outline:none;border-color:var(--color-accent)}.search-bar button{padding:var(--spacing-md) var(--spacing-xl);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:10px;cursor:pointer;transition:all var(--transition)}.search-bar button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent)}.search-bar button:disabled{opacity:.5;cursor:not-allowed}.user-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.user-item{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition)}.user-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.user-item.banned{opacity:.6;border-color:#ff004d4d}.user-info{flex:1;min-width:0}.user-name{font-size:11px;margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:var(--spacing-sm)}.banned-badge{font-size:7px;padding:2px 6px;background:#ff004d33;border:1px solid rgba(255,0,77,.4);border-radius:var(--radius-sm);color:var(--color-danger)}.user-username{font-size:9px;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.user-stats{font-size:8px;color:var(--color-text-dim)}.slot-controls{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.slot-controls .slot-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:16px;font-weight:700;cursor:pointer;transition:all var(--transition)}.slot-controls .slot-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent)}.slot-controls .slot-btn:disabled{opacity:.3;cursor:not-allowed}.slot-controls .slot-btn.plus{color:#00e436}.slot-controls .slot-btn.minus{color:var(--color-danger)}.slot-count{font-size:12px;font-weight:700;min-width:24px;text-align:center;color:var(--color-accent)}.clan-moderation{display:flex;flex-direction:column;gap:var(--spacing-lg)}.clan-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.clan-mod-item{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition)}.clan-mod-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.clan-preview{flex-shrink:0;width:48px;height:48px;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:#222;display:flex;align-items:center;justify-content:center}.clan-mod-info{flex:1;min-width:0}.clan-mod-name{font-size:11px;margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clan-mod-owner{font-size:8px;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.clan-mod-stats{font-size:7px;color:var(--color-text-dim)}.expansion-controls{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);background:var(--color-surface);border:2px solid var(--color-accent);border-radius:var(--radius-md)}.expansion-info{display:flex;flex-direction:column;gap:var(--spacing-xs)}.expansion-stats{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:9px;color:var(--color-text)}.expansion-stats span{display:flex;align-items:center;gap:var(--spacing-xs)}.expansion-timer-admin{font-size:8px;color:var(--color-accent);margin-top:var(--spacing-xs)}.expansion-max{font-size:8px;color:#00e436;margin-top:var(--spacing-xs)}.expand-button{padding:var(--spacing-md) var(--spacing-lg);background:#29adff26;border:2px solid rgba(41,173,255,.4);border-radius:var(--radius-md);color:var(--color-accent);font-size:9px;cursor:pointer;transition:all var(--transition);display:flex;align-items:center;gap:var(--spacing-sm);white-space:nowrap}.expand-button:hover:not(:disabled){background:#29adff40;border-color:var(--color-accent)}.expand-button:disabled{opacity:.5;cursor:not-allowed}.status-row{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:9px}.dashboard-overview{display:flex;flex-direction:column;gap:var(--spacing-xl)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.stat-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);border-left:3px solid var(--stat-color, var(--color-accent))}.stat-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:var(--radius-md);color:var(--stat-color, var(--color-accent))}.stat-content{flex:1;min-width:0}.stat-value{font-size:16px;font-weight:700;color:var(--color-text);line-height:1}.stat-label{font-size:8px;color:var(--color-text-muted);margin-top:2px}.stat-sub{font-size:7px;color:var(--stat-color, var(--color-accent));margin-top:2px}.activity-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.activity-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.activity-card h3{font-size:10px;margin:0 0 var(--spacing-md) 0;display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text)}.activity-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:#ffffff05;border-radius:var(--radius-sm);font-size:9px}.activity-name{color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.activity-count{color:var(--color-accent);font-weight:700}.activity-time{color:var(--color-text-dim)}.empty-small{font-size:8px;color:var(--color-text-dim);text-align:center;padding:var(--spacing-md);margin:0}.suspicious-section{background:#ff004d0d;border:1px solid rgba(255,0,77,.2);border-radius:var(--radius-md);padding:var(--spacing-lg)}.suspicious-section h3{font-size:10px;margin:0 0 var(--spacing-xs) 0;display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-danger)}.suspicious-hint{font-size:8px;color:var(--color-text-dim);margin:0 0 var(--spacing-md) 0}.suspicious-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.suspicious-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:#ff004d1a;border:1px solid rgba(255,0,77,.2);border-radius:var(--radius-sm)}.suspicious-info{display:flex;flex-direction:column;gap:2px}.suspicious-name{font-size:10px;color:var(--color-text)}.suspicious-username{font-size:8px;color:var(--color-text-muted)}.suspicious-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.suspicious-recent{font-size:10px;font-weight:700;color:var(--color-danger)}.suspicious-total{font-size:8px;color:var(--color-text-dim)}.user-controls{display:flex;flex-direction:column;gap:var(--spacing-sm);flex-shrink:0}.clan-toggle-btn{padding:6px 12px;font-size:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition)}.clan-toggle-btn:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-text)}.clan-toggle-btn.active{background:#00e43626;border-color:#00e43666;color:#00e436}.clan-toggle-btn.active:hover:not(:disabled){background:#00e43640;border-color:#00e436}.clan-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.reports-moderation{display:flex;flex-direction:column;gap:var(--spacing-lg)}.reports-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.report-item{display:flex;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition)}.report-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.report-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.report-header{display:flex;justify-content:space-between;align-items:center}.report-target{font-size:10px;font-weight:700;color:var(--color-danger)}.report-date{font-size:7px;color:var(--color-text-dim)}.report-reason{font-size:9px;color:var(--color-text);background:#ffffff0d;padding:var(--spacing-sm);border-radius:var(--radius-sm)}.report-details{font-size:8px;color:var(--color-text-muted);padding:var(--spacing-sm);background:#ffffff05;border-radius:var(--radius-sm);border-left:2px solid var(--color-border)}.report-reporter{font-size:7px;color:var(--color-text-dim)}.war-management{display:flex;flex-direction:column;gap:var(--spacing-lg)}.war-status-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.war-status-card h3{font-size:10px;margin:0 0 var(--spacing-md) 0;display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-text)}.active-war-info{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ff00001a;border:1px solid rgba(255,0,0,.3);border-radius:var(--radius-sm)}.war-zone-info,.war-time-info{display:flex;justify-content:space-between;align-items:center}.war-label{font-size:8px;color:var(--color-text-muted)}.war-value{font-size:10px;color:var(--color-text)}.war-countdown{color:#f33;font-weight:700}.war-active-text{font-size:9px;color:#f33;text-align:center;margin:var(--spacing-sm) 0 0 0;animation:war-blink 1s ease-in-out infinite}@keyframes war-blink{0%,to{opacity:1}50%{opacity:.5}}.no-war-info{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg)}.no-war-info p{font-size:9px;color:var(--color-text-muted);margin:0}.start-war-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background:#ff000026;border:2px solid rgba(255,0,0,.4);border-radius:var(--radius-md);color:#f33;font-size:10px;cursor:pointer;transition:all var(--transition)}.start-war-btn:hover:not(:disabled){background:#ff000040;border-color:#f33;box-shadow:0 0 12px #ff00004d}.start-war-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 400px){.stats-grid{grid-template-columns:repeat(2,1fr)}.activity-section{grid-template-columns:1fr}.stat-value{font-size:14px}}.clans{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:var(--spacing-lg);overflow-y:auto}.clans .page-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);flex-shrink:0}.clans .page-header button{padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-xs)}.clans .page-header h2{font-size:10px;margin:0}.clans .tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-shrink:0}.clans .tabs button{flex:1;padding:var(--spacing-sm);font-size:8px;background:var(--color-surface);border:1px solid var(--color-border)}.clans .tabs button.active{background:#29adff26;border-color:var(--color-accent);color:var(--color-accent)}.my-clan-section{flex:1}.clan-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.clan-header{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.clan-icon{flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.clan-info{flex:1;min-width:0}.clan-name{font-size:10px;margin-bottom:4px}.clan-members{font-size:7px;color:var(--color-text-muted);margin-bottom:4px}.clan-channel{font-size:7px;color:var(--color-accent);text-decoration:none}.clan-channel:hover{text-decoration:underline}.clan-settings-btn{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);padding:0}.clan-settings-btn:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-accent)}.invite-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-sm)}.invite-section label{display:block;font-size:7px;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.invite-link{display:flex;gap:var(--spacing-sm);align-items:center}.invite-link span{flex:1;font-size:6px;word-break:break-all;color:var(--color-text-dim);background:var(--color-surface);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.invite-link button{font-size:7px;padding:var(--spacing-xs) var(--spacing-sm)}.clan-owner{font-size:7px;color:var(--color-text-dim);margin-bottom:2px}.members-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-sm)}.members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.members-header label{font-size:8px;color:var(--color-text-muted)}.members-header .loading-text{font-size:6px;color:var(--color-text-dim)}.members-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:200px;overflow-y:auto}.member-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition)}.member-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.member-fish{flex-shrink:0;width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg);display:flex;align-items:center;justify-content:center}.fish-placeholder{background:linear-gradient(45deg,var(--color-surface) 25%,transparent 25%,transparent 75%,var(--color-surface) 75%),linear-gradient(45deg,var(--color-surface) 25%,var(--color-bg) 25%,var(--color-bg) 75%,var(--color-surface) 75%);background-size:8px 8px;background-position:0 0,4px 4px;border-radius:2px}.member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.member-name{font-size:9px;color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-xs)}.owner-badge{font-size:6px;padding:1px 4px;background:#ffd70033;border:1px solid rgba(255,215,0,.4);border-radius:2px;color:var(--color-gold)}.member-pixels{font-size:7px;color:var(--color-text-dim)}.kick-btn{flex-shrink:0;font-size:7px;padding:4px 8px;background:#ff004d26;border:1px solid rgba(255,0,77,.3);color:var(--color-danger);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.kick-btn:hover:not(:disabled){background:#ff004d40;border-color:var(--color-danger)}.kick-btn:disabled{opacity:.5;cursor:not-allowed}.clan-actions{display:flex;gap:var(--spacing-sm)}.clan-actions button.danger{background:#ff004d26;border-color:#ff004d4d;color:var(--color-danger)}.clan-actions button.danger:hover{background:#ff004d40;border-color:var(--color-danger)}.no-clan{text-align:center;padding:var(--spacing-2xl)}.no-clan p{font-size:9px;color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.no-clan-actions{display:flex;gap:var(--spacing-md);justify-content:center}.clans-leaderboard{display:flex;flex-direction:column;gap:var(--spacing-sm)}.clan-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition)}.clan-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.clan-rank{font-size:9px;min-width:28px;color:var(--color-text-dim)}.clan-item:nth-child(1) .clan-rank{color:var(--color-gold);text-shadow:0 0 8px rgba(255,215,0,.5)}.clan-item:nth-child(2) .clan-rank{color:var(--color-silver);text-shadow:0 0 8px rgba(192,192,192,.5)}.clan-item:nth-child(3) .clan-rank{color:var(--color-bronze);text-shadow:0 0 8px rgba(205,127,50,.5)}.clan-item .clan-icon{width:32px;height:32px}.clan-item .clan-info{flex:1;min-width:0}.clan-item .clan-name{font-size:8px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clan-stats{font-size:6px;color:var(--color-text-muted)}.clan-link-btn{padding:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.clan-link-btn:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-accent)}.clans.create-form,.clans.join-form{overflow-y:auto}.form-section{margin-bottom:var(--spacing-lg)}.form-section label{display:block;font-size:8px;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.form-section input[type=text]{width:100%;padding:var(--spacing-md);font-size:9px}.icon-editor{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.icon-editor canvas{border:2px solid var(--color-border);border-radius:var(--radius-sm);touch-action:none;image-rendering:pixelated;max-width:100%;cursor:crosshair}.clans .tools-bar{display:flex;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm) 0}.clans .tool-button{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;transition:all var(--transition);display:flex;align-items:center;justify-content:center;min-width:36px;min-height:36px}.clans .tool-button:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.clans .tool-button.active{background:var(--color-surface-hover);border-color:var(--color-accent);box-shadow:0 0 12px #29adff4d}.clans .tool-button:active{transform:scale(.95)}.clans .palette-wrapper{max-height:160px;overflow-y:auto;position:relative}.clans .palette-wrapper:before,.clans .palette-wrapper:after{content:"";position:sticky;left:0;right:0;height:16px;pointer-events:none;z-index:2;display:block;opacity:0;transition:opacity .2s ease}.clans .palette-wrapper:before{top:0;background:linear-gradient(to bottom,var(--color-bg) 0%,transparent 100%);margin-bottom:-16px}.clans .palette-wrapper:after{bottom:0;background:linear-gradient(to top,var(--color-bg) 0%,transparent 100%);margin-top:-16px}.clans .palette-wrapper.can-scroll-up:before{opacity:1}.clans .palette-wrapper.can-scroll-down:after{opacity:1}.clans .scroll-hint{text-align:center;font-size:6px;color:var(--color-text-dim);padding:2px 0;opacity:.6;animation:pulse-hint 2s ease-in-out infinite}.clans .color-palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:4px;padding:var(--spacing-sm)}.clans .color-button{width:26px;height:26px;border:2px solid var(--color-border);border-radius:4px;cursor:pointer;transition:all var(--transition);padding:0}.clans .color-button:hover{transform:scale(1.1);border-color:var(--color-border-hover)}.clans .color-button.active{border-color:var(--color-text);transform:scale(1.15);box-shadow:0 0 6px #ffffff80}.clan-color-picker{display:grid;grid-template-columns:repeat(16,1fr);gap:2px}.clan-color-picker .color-button{width:16px;height:16px;border-width:1px}.form-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.form-actions button{min-width:80px;padding:var(--spacing-sm) var(--spacing-lg)}.form-actions button.primary{background:#29adff26;border-color:#29adff4d;color:var(--color-accent)}.form-actions button.primary:hover{background:#29adff40;border-color:var(--color-accent)}.clans .loading{display:flex;align-items:center;justify-content:center;padding:60px}@media (max-height: 600px){.clans{padding:var(--spacing-sm)}.clans .page-header,.clans .tabs,.form-section{margin-bottom:var(--spacing-sm)}.clans .tools-bar{padding:4px 0}.clans .tool-button{min-width:32px;min-height:32px}.clans .palette-wrapper{max-height:100px}.clans .color-palette{grid-template-columns:repeat(auto-fill,minmax(24px,1fr));gap:3px}.clans .color-button{width:22px;height:22px}.clan-color-picker{grid-template-columns:repeat(16,1fr);gap:2px}.clan-color-picker .color-button{width:14px;height:14px}}.member-item-wrapper{display:flex;flex-direction:column}.member-item.expandable{cursor:pointer}.member-item.expandable:hover{background:var(--color-surface-hover)}.member-item.expanded{border-color:var(--color-accent);background:var(--color-surface-hover)}.fish-count{display:inline-flex;align-items:center;justify-content:center;font-size:6px;background:var(--color-accent);color:var(--color-bg);padding:2px 4px;border-radius:6px;font-weight:700;line-height:1;margin-left:4px}.fish-dropdown{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:var(--spacing-sm);padding-left:40px;background:#29adff0d;border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:-1px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.fish-dropdown-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.fish-dropdown-item img{width:24px;height:24px}.fish-slot{font-size:6px;color:var(--color-text-dim)}.chat-section{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-sm)}.chat-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.chat-header label{display:flex;align-items:center;gap:4px;font-size:8px;color:var(--color-text-muted)}.chat-messages{max-height:150px;min-height:80px;overflow-y:auto;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-surface);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.chat-empty{font-size:7px;color:var(--color-text-dim);text-align:center;padding:var(--spacing-lg)}.chat-message{font-size:7px;margin-bottom:4px;line-height:1.4;word-break:break-word}.chat-author{color:var(--color-accent);font-weight:400;margin-right:4px}.chat-text{color:var(--color-text)}.chat-input-row{display:flex;gap:var(--spacing-xs)}.chat-input-row input{flex:1;padding:8px;font-size:8px}.chat-input-row button{padding:8px 12px;font-size:8px}.recruitment-section{margin-bottom:var(--spacing-lg)}.recruitment-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border)}.recruitment-btn.open{background:#00e43626;border-color:#00e43666;color:var(--color-success)}.recruitment-btn:hover:not(:disabled){background:var(--color-surface-hover)}.recruitment-btn.open:hover:not(:disabled){background:#00e43640}.recruiting-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.recruiting-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition)}.recruiting-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.join-btn{flex-shrink:0;padding:8px 16px;font-size:8px;background:#00e43626;border:1px solid rgba(0,228,54,.4);color:var(--color-success)}.join-btn:hover:not(:disabled){background:#00e43640;border-color:var(--color-success)}.join-btn:disabled{opacity:.5;cursor:not-allowed}.buy-hint{font-size:7px;color:var(--color-text-dim);margin-top:var(--spacing-md)}.buy-creation-btn{background:#ffa30026;border-color:#ffa30066;color:var(--color-warning)}.buy-creation-btn:hover{background:#ffa30040;border-color:var(--color-warning)}.wars-history{display:flex;flex-direction:column;gap:var(--spacing-md)}.war-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all var(--transition)}.war-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.war-zone{display:flex;align-items:center;gap:var(--spacing-xs);font-size:8px;color:var(--color-text-muted)}.war-date{font-size:7px;color:var(--color-text-dim)}.war-winner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#00e4361a;border:1px solid rgba(0,228,54,.3);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm)}.winner-icon{flex-shrink:0;width:24px;height:24px;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg)}.winner-info{display:flex;flex-direction:column;gap:2px}.winner-label{font-size:6px;color:var(--color-text-dim)}.winner-name{font-size:9px;font-weight:400}.war-no-winner{padding:var(--spacing-sm);background:#ffa3001a;border:1px solid rgba(255,163,0,.3);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);font-size:7px;color:var(--color-warning);text-align:center}.war-participants{display:flex;flex-direction:column;gap:var(--spacing-xs)}.participant{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs);background:var(--color-bg);border-radius:var(--radius-sm)}.participant-name{font-size:7px;min-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.participant-bar{flex:1;height:8px;background:var(--color-surface);border-radius:4px;overflow:hidden}.participant-fill{height:100%;border-radius:4px;transition:width .3s ease}.participant-stats{font-size:6px;color:var(--color-text-dim);min-width:60px;text-align:right}.info-panel{width:100%;height:100vh;display:flex;flex-direction:column;padding:var(--spacing-lg);overflow-y:auto}.info-panel .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-shrink:0}.info-panel .page-header button{display:flex;align-items:center;gap:var(--spacing-xs)}.info-panel .page-header h2{font-size:12px;margin:0}.info-content{display:flex;flex-direction:column;gap:var(--spacing-xl);padding-bottom:80px}.info-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.info-section h3{font-size:10px;margin:0 0 var(--spacing-md) 0;color:var(--color-accent);text-transform:lowercase}.credits-text{font-size:8px;line-height:1.8;color:var(--color-text-muted);margin:0 0 var(--spacing-sm) 0}.credits-text:last-child{margin-bottom:0}.credits-text .link{color:var(--color-accent);cursor:pointer;text-decoration:underline;transition:color var(--transition)}.credits-text .link:hover{color:var(--color-accent-hover)}.donation-card{background:#ffffff08;border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md)}.donation-label{font-size:7px;color:var(--color-text-dim);margin:0 0 var(--spacing-xs) 0}.donation-number{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);font-size:10px;font-family:var(--font-pixel);letter-spacing:1px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;transition:all var(--transition)}.donation-number:hover{border-color:var(--color-accent);color:var(--color-accent)}.referral-info{font-size:8px;line-height:1.6;color:var(--color-text-muted);margin:0 0 var(--spacing-md) 0}.referral-progress{margin-bottom:var(--spacing-md)}.progress-bar{height:8px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-xs)}.progress-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .3s ease}.progress-text{font-size:7px;color:var(--color-text-dim);text-align:center;margin:0}.referral-stats{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.referral-stats .stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm);background:#ffffff08;border-radius:var(--radius-sm)}.stat-value{font-size:14px;color:var(--color-accent)}.stat-label{font-size:6px;color:var(--color-text-dim)}.share-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md);background:#29adff26;border:1px solid rgba(41,173,255,.3);border-radius:var(--radius-md);color:var(--color-accent);font-size:9px;cursor:pointer;transition:all var(--transition)}.share-btn:hover{background:#29adff40;border-color:var(--color-accent)}.loading-small{display:flex;justify-content:center;padding:var(--spacing-lg)}.loading-small .spinner{width:24px;height:24px}.error-text{font-size:8px;color:var(--color-danger);text-align:center}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) 0;border-bottom:1px solid rgba(255,255,255,.05)}.setting-row:last-child{border-bottom:none}.setting-info{display:flex;align-items:center;gap:var(--spacing-sm);font-size:9px}.toggle-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:8px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition);min-width:50px}.toggle-btn.active{background:#00e43626;border-color:#00e4364d;color:var(--color-success)}.volume-row{flex-wrap:wrap;gap:var(--spacing-sm)}.volume-label{font-size:8px;color:var(--color-text-dim);width:100%}.volume-slider{flex:1;height:6px;background:var(--color-surface-hover);border-radius:3px;outline:none;cursor:pointer;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--color-accent);border-radius:2px;cursor:pointer}.volume-slider::-moz-range-thumb{width:14px;height:14px;background:var(--color-accent);border-radius:2px;cursor:pointer;border:none}.volume-value{font-size:8px;color:var(--color-text-muted);min-width:35px;text-align:right}.report-section{border-color:#ff004d33}.report-section h3{color:var(--color-danger)}.report-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.report-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:9px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-pixel)}.report-input:focus{outline:none;border-color:var(--color-danger)}.report-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:8px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-pixel);resize:vertical;min-height:60px}.report-textarea:focus{outline:none;border-color:var(--color-danger)}.report-submit-btn{padding:var(--spacing-md);font-size:9px;background:#ff004d26;border:1px solid rgba(255,0,77,.3);border-radius:var(--radius-md);color:var(--color-danger);cursor:pointer;transition:all var(--transition)}.report-submit-btn:hover:not(:disabled){background:#ff004d40;border-color:var(--color-danger)}.report-submit-btn:disabled{opacity:.5;cursor:not-allowed}.achievements{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:var(--spacing-lg);overflow-y:auto}.achievements .page-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);flex-shrink:0}.achievements .page-header button{padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-xs)}.achievements .page-header h2{font-size:10px;margin:0;flex:1}.achievement-counter{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:8px;color:var(--color-accent)}.achievement-progress{margin-bottom:var(--spacing-lg);flex-shrink:0}.progress-bar{height:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;overflow:hidden;position:relative;margin-bottom:var(--spacing-xs)}.progress-fill{position:absolute;top:0;left:0;height:100%;background:#29adff4d;transition:width .3s ease}.progress-claimed{position:absolute;top:0;left:0;height:100%;background:var(--color-accent);transition:width .3s ease}.progress-text{font-size:7px;color:var(--color-text-dim)}.achievements-locked-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#ff6b6b1a;border:2px solid rgba(255,107,107,.3);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.locked-icon{flex-shrink:0}.locked-info{flex:1;display:flex;flex-direction:column;gap:4px}.locked-title{font-family:var(--font-pixel);font-size:9px;color:#ff6b6b}.locked-desc{font-size:10px;color:var(--color-text-dim)}.unlock-progress-bar{height:6px;background:#0000004d;border-radius:3px;overflow:hidden;margin-top:4px}.unlock-progress-fill{height:100%;background:linear-gradient(90deg,#ff6b6b,#ffa300);transition:width .3s ease}.unlock-progress-text{font-family:var(--font-pixel);font-size:8px;color:#ffa300}.achievements-list{display:flex;flex-direction:column;gap:var(--spacing-sm);flex:1;overflow-y:auto}.achievements-list.is-locked{opacity:.5;pointer-events:none;filter:grayscale(50%)}.achievement-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer}.achievement-item:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.achievement-item.locked{opacity:.7}.achievement-item.completed{opacity:1;border-color:#29adff4d}.achievement-item.completed:not(.claimed){background:#29adff1a;animation:pulse-achievement 2s ease-in-out infinite}.achievement-item.claimed{border-color:#00e4364d;background:#00e4360d}.achievement-item.new{animation:highlight-new 1s ease-out}@keyframes pulse-achievement{0%,to{box-shadow:0 0 #29adff00}50%{box-shadow:0 0 12px 2px #29adff4d}}@keyframes highlight-new{0%{background:#29adff66}to{background:#29adff1a}}.achievement-icon{flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg);display:flex;align-items:center;justify-content:center;position:relative}.achievement-icon.locked{filter:grayscale(80%)}.lock-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.8}.achievement-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.achievement-name{font-size:9px;color:var(--color-text);font-weight:400}.achievement-desc{font-size:7px;color:var(--color-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.claim-btn{flex-shrink:0;padding:6px 12px;font-size:7px;background:#29adff33;border:1px solid var(--color-accent);color:var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);animation:pulse-claim 1.5s ease-in-out infinite}.claim-btn:hover:not(:disabled){background:#29adff4d}.claim-btn:disabled{opacity:.5;cursor:not-allowed;animation:none}@keyframes pulse-claim{0%,to{box-shadow:0 0 #29adff66}50%{box-shadow:0 0 8px 2px #29adff66}}.claimed-badge{flex-shrink:0;color:var(--color-success);display:flex;align-items:center;justify-content:center;padding:4px}.action-hint{flex-shrink:0;color:var(--color-text-dim);display:flex;align-items:center;justify-content:center;padding:4px;opacity:.5}.achievements .loading{display:flex;align-items:center;justify-content:center;padding:60px;flex:1}@media (max-height: 600px){.achievements{padding:var(--spacing-sm)}.achievements .page-header,.achievement-progress{margin-bottom:var(--spacing-sm)}.achievement-item{padding:var(--spacing-sm);gap:var(--spacing-sm)}.achievement-icon{width:32px!important;height:32px!important}.achievement-name{font-size:8px}.achievement-desc{font-size:6px}.claim-btn{padding:4px 8px;font-size:6px}}.rules-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.rules-modal{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);max-width:400px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.rules-header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--color-border);color:#fc0}.rules-header h2{font-family:var(--font-pixel);font-size:14px;margin:0;color:var(--color-text)}.rules-content{padding:16px;overflow-y:auto;flex:1}.rules-intro{font-family:var(--font-pixel);font-size:10px;color:#ff6b6b;margin:0 0 16px}.rules-list{display:flex;flex-direction:column;gap:12px}.rule-item{display:flex;flex-direction:column;gap:4px;padding:10px;background:#0000004d;border-radius:var(--radius-md);border-left:3px solid var(--color-accent)}.rule-title{font-family:var(--font-pixel);font-size:9px;color:var(--color-accent)}.rule-desc{font-family:var(--font-main);font-size:12px;color:var(--color-text-dim);line-height:1.4}.rules-footer{padding:16px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:12px}.rules-checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.rules-checkbox input{display:none}.checkbox-custom{width:18px;height:18px;min-width:18px;border:2px solid var(--color-border);border-radius:4px;background:#0000004d;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.rules-checkbox input:checked+.checkbox-custom{background:var(--color-accent);border-color:var(--color-accent)}.rules-checkbox input:checked+.checkbox-custom:after{content:"";width:6px;height:10px;border:solid var(--color-bg);border-width:0 2px 2px 0;transform:rotate(45deg);margin-bottom:2px}.checkbox-label{font-family:var(--font-main);font-size:11px;color:var(--color-text-dim);line-height:1.4}.rules-accept-btn{width:100%;padding:12px 16px;background:#282832cc;border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-dim);font-family:var(--font-pixel);font-size:10px;cursor:not-allowed;transition:all .2s ease}.rules-accept-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg);cursor:pointer}.rules-accept-btn.active:hover{filter:brightness(1.1)}.rules-accept-btn:disabled{opacity:.6;cursor:not-allowed}.banned-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}.banned-content{text-align:center;max-width:300px}.banned-icon{color:#ff6b6b;margin-bottom:24px;animation:banned-pulse 2s ease-in-out infinite}@keyframes banned-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.95)}}.banned-content h1{font-family:var(--font-pixel);font-size:16px;color:#ff6b6b;margin:0 0 16px}.banned-content p{font-family:var(--font-main);font-size:14px;color:var(--color-text-dim);margin:0 0 12px;line-height:1.5}.banned-note{font-size:12px!important;opacity:.7}:root{--color-bg: #0a0a12;--color-surface: rgba(255, 255, 255, .05);--color-surface-hover: rgba(255, 255, 255, .1);--color-border: rgba(255, 255, 255, .15);--color-border-hover: rgba(255, 255, 255, .3);--color-text: #fff;--color-text-muted: rgba(255, 255, 255, .6);--color-text-dim: rgba(255, 255, 255, .4);--color-accent: #29ADFF;--color-accent-hover: #5bc0ff;--color-danger: #FF004D;--color-danger-hover: #ff3366;--color-success: #00E436;--color-gold: #FFD700;--color-silver: #C0C0C0;--color-bronze: #CD7F32;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--font-pixel: "Press Start 2P", cursive;--transition: .2s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-pixel);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background:var(--color-bg);color:var(--color-text);font-size:10px;line-height:1.6}canvas,img{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.app{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text)}.loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--spacing-lg)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:9px;cursor:pointer;transition:all var(--transition);font-family:var(--font-pixel);line-height:1.4}button:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}button:disabled:hover{background:var(--color-surface);border-color:var(--color-border)}input{padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:8px;font-family:var(--font-pixel);transition:all var(--transition)}input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #29adff33}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;gap:var(--spacing-sm);padding:var(--spacing-md);background:#0a0a12f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border);z-index:100}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--spacing-sm) var(--spacing-xs);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:7px;text-transform:lowercase;line-height:1.2}.bottom-nav button span{display:block}.bottom-nav button:hover{background:var(--color-surface-hover);border-color:var(--color-accent);color:var(--color-accent)}.page-header{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.page-header button{padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-xs)}.page-header h2{font-size:12px;margin:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg);transition:all var(--transition)}.card:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.empty-message{text-align:center;padding:40px var(--spacing-xl);color:var(--color-text-muted);font-size:8px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}
