:root{--bg: #080808;--bg-card: #101010;--bg-hover: #181818;--border: #2a2a2a;--border-glow: #00ff00;--border-warn: #ff8800;--border-info: #4488ff;--text: #e0e0e0;--text-dim: #888888;--text-muted: #444444;--green: #00ff00;--orange: #ff8800;--blue: #4488ff;--red: #ff4444;--gold: #ffd700;--tint-green: #0a1a0a;--tint-green-strong: #001a00;--tint-orange: #1a0800;--tint-blue: #000a1a;--tint-blue-strong: #050e1a;--tint-red: #1a0505;--surface-sunken: #0c0c0c;--divider-tint: #1a3a1a;--overlay: rgba(0, 0, 0, .88);--ui-scale: 1}@media (min-width: 801px){:root{--ui-scale: 1.25}}@media (min-width: 1440px){:root{--ui-scale: 1.4}}:root[data-theme=light]{--bg: #f4f4ee;--bg-card: #ffffff;--bg-hover: #ececE4;--border: #d8d8cf;--border-glow: #167a3d;--border-warn: #b45309;--border-info: #1d4ed8;--text: #1a1a1a;--text-dim: #4a4a4a;--text-muted: #767668;--green: #167a3d;--orange: #b45309;--blue: #1d4ed8;--red: #b91c1c;--gold: #92720c;--tint-green: #e6f5e9;--tint-green-strong: #d3edd8;--tint-orange: #fbe9d9;--tint-blue: #e3ecff;--tint-blue-strong: #d6e4ff;--tint-red: #fbe0e0;--surface-sunken: #f0f0e8;--divider-tint: #cfe8d4;--overlay: rgba(20, 20, 20, .45)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:"Press Start 2P",monospace;font-size:calc(10px * var(--ui-scale));image-rendering:pixelated;overflow-x:hidden}.screen{display:flex;flex-direction:column;min-height:100vh}.login-screen{position:relative;align-items:center;justify-content:center;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:.15}.login-bg canvas{width:100%;height:100%}.login-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:calc(32px * var(--ui-scale));padding:calc(40px * var(--ui-scale)) calc(20px * var(--ui-scale))}.logo-area{display:flex;flex-direction:column;align-items:center;gap:calc(12px * var(--ui-scale))}.logo-area canvas{filter:drop-shadow(0 0 calc(20px * var(--ui-scale)) #00ff0055)}.game-title{font-size:calc(26px * var(--ui-scale));color:var(--green);text-shadow:calc(3px * var(--ui-scale)) calc(3px * var(--ui-scale)) 0 #003300,calc(6px * var(--ui-scale)) calc(6px * var(--ui-scale)) 0 #001a00;letter-spacing:calc(6px * var(--ui-scale))}.game-subtitle{font-size:calc(11px * var(--ui-scale));color:var(--text-dim);letter-spacing:calc(2px * var(--ui-scale))}.login-box{display:flex;flex-direction:column;align-items:center;gap:calc(14px * var(--ui-scale));width:100%;max-width:calc(340px * var(--ui-scale))}.login-desc{font-size:calc(8px * var(--ui-scale));color:var(--text-muted);text-align:center;letter-spacing:calc(1px * var(--ui-scale));margin-bottom:calc(6px * var(--ui-scale))}.login-hint{font-size:calc(7px * var(--ui-scale));color:var(--text-muted)}.login-hint a{color:var(--green);text-decoration:none}.login-username-field{display:flex;align-items:center;gap:calc(8px * var(--ui-scale));background:var(--bg-card);border:2px solid var(--border);padding:0 calc(14px * var(--ui-scale));transition:border-color .15s}.login-username-field:focus-within{border-color:var(--green)}.login-at{color:var(--text-muted);font-family:"Press Start 2P",monospace;font-size:calc(12px * var(--ui-scale));flex-shrink:0;-webkit-user-select:none;user-select:none}.login-username-input{flex:1;padding:calc(12px * var(--ui-scale)) 0;border:none;outline:none;background:transparent;color:var(--text);font-family:"Press Start 2P",monospace;font-size:calc(9px * var(--ui-scale))}.login-username-input::placeholder{color:var(--text-muted)}.pixel-btn{font-family:"Press Start 2P",monospace;font-size:calc(9px * var(--ui-scale));padding:calc(11px * var(--ui-scale)) calc(22px * var(--ui-scale));cursor:pointer;border:2px solid var(--border);background:var(--bg-card);color:var(--text);transition:all .08s;white-space:nowrap}.pixel-btn:hover{border-color:var(--green);color:var(--green);background:var(--tint-green);box-shadow:0 0 calc(12px * var(--ui-scale)) #0f03}.pixel-btn:active{transform:translate(calc(1px * var(--ui-scale)),calc(1px * var(--ui-scale)));box-shadow:none}.pixel-btn:disabled{opacity:.4;cursor:default}.pixel-btn:disabled:hover{border-color:var(--border);color:var(--text);background:var(--bg-card);box-shadow:none}.btn-primary{border-color:var(--green);color:var(--green);box-shadow:0 0 calc(10px * var(--ui-scale)) #0f02}.btn-primary:hover{background:var(--tint-green-strong);box-shadow:0 0 calc(20px * var(--ui-scale)) #0f04}.btn-secondary{border-color:var(--border);color:var(--text-dim)}.btn-orange{border-color:var(--orange);color:var(--orange)}.btn-orange:hover{border-color:var(--orange);color:var(--orange);background:var(--tint-orange);box-shadow:0 0 calc(12px * var(--ui-scale)) #f803}.btn-blue{border-color:var(--blue);color:var(--blue)}.btn-blue:hover{border-color:var(--blue);color:var(--blue);background:var(--tint-blue);box-shadow:0 0 calc(12px * var(--ui-scale)) #48f3}.btn-full{width:100%}.btn-sm{font-size:calc(7px * var(--ui-scale));padding:calc(7px * var(--ui-scale)) calc(12px * var(--ui-scale))}.game-header{display:flex;align-items:center;justify-content:space-between;padding:calc(10px * var(--ui-scale)) calc(20px * var(--ui-scale));background:var(--bg-card);border-bottom:2px solid var(--border);gap:calc(12px * var(--ui-scale));flex-wrap:wrap;position:sticky;top:0;z-index:100}.header-brand{display:flex;align-items:center;gap:calc(8px * var(--ui-scale));color:var(--green);font-size:calc(10px * var(--ui-scale))}.demo-badge{font-family:"Press Start 2P",monospace;font-size:calc(7px * var(--ui-scale));color:var(--orange);border:1px solid var(--orange);border-radius:calc(3px * var(--ui-scale));padding:calc(3px * var(--ui-scale)) calc(7px * var(--ui-scale));letter-spacing:calc(.5px * var(--ui-scale));white-space:nowrap}.demo-badge-mobile{display:none}.header-nav{display:flex;gap:calc(4px * var(--ui-scale))}.header-actions{display:flex;align-items:center;gap:calc(10px * var(--ui-scale))}.nav-btn{font-family:"Press Start 2P",monospace;font-size:calc(8px * var(--ui-scale));padding:calc(8px * var(--ui-scale)) calc(14px * var(--ui-scale));background:transparent;border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:all .08s}.nav-btn:hover,.nav-btn.active{color:var(--green);border-color:var(--green);background:var(--tint-green-strong)}.header-player{position:relative}.player-area{display:flex;flex-direction:column;align-items:flex-end;gap:calc(3px * var(--ui-scale));background:none;border:none;cursor:pointer;padding:calc(4px * var(--ui-scale)) calc(6px * var(--ui-scale));border:1px solid transparent;transition:border-color .1s}.player-area:hover,.player-area.player-open{border-color:var(--border)}.player-name{font-size:calc(9px * var(--ui-scale));color:var(--green);font-family:"Press Start 2P",monospace}.hive-balance{font-size:calc(8px * var(--ui-scale));color:var(--orange);font-family:"Press Start 2P",monospace}.player-chevron{font-size:calc(6px * var(--ui-scale));color:var(--text-muted);align-self:flex-end}.player-menu{position:absolute;top:calc(100% + calc(4px * var(--ui-scale)));right:0;background:var(--bg-card);border:1px solid var(--green);min-width:calc(140px * var(--ui-scale));z-index:100;animation:fadeIn .1s ease}.player-menu-item{display:block;width:100%;text-align:left;background:none;border:none;cursor:pointer;font-family:"Press Start 2P",monospace;font-size:calc(8px * var(--ui-scale));padding:calc(10px * var(--ui-scale)) calc(12px * var(--ui-scale));color:var(--text);transition:background .1s}.player-menu-item:hover{background:var(--tint-green)}.player-menu-exit{color:var(--red)}.player-menu-exit:hover{background:var(--tint-red)}.notif-bell-wrap{position:relative}.notif-bell{position:relative;cursor:pointer;width:calc(28px * var(--ui-scale));height:calc(28px * var(--ui-scale));border-radius:50%;border:1.5px solid var(--border);background:none;color:var(--text);font-size:calc(13px * var(--ui-scale));display:flex;align-items:center;justify-content:center;line-height:1;transition:border-color .15s,background .15s}.notif-bell:hover{border-color:var(--green);background:var(--tint-green)}.notif-bell-unread{border-color:var(--red);animation:bell-pulse 1.6s ease-in-out infinite}.notif-bell-unread:hover{animation-play-state:paused}@keyframes bell-pulse{0%,to{box-shadow:0 0 #ff444480}50%{box-shadow:0 0 0 calc(3px * var(--ui-scale)) #f440}}.notif-bell-badge{position:absolute;top:calc(-4px * var(--ui-scale));right:calc(-4px * var(--ui-scale));background:var(--red);color:#fff;font-size:calc(6px * var(--ui-scale));font-family:"Press Start 2P",monospace;min-width:calc(12px * var(--ui-scale));height:calc(12px * var(--ui-scale));padding:0 calc(2px * var(--ui-scale));border-radius:calc(6px * var(--ui-scale));display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}.notif-dropdown{position:absolute;top:calc(100% + calc(4px * var(--ui-scale)));right:0;background:var(--bg-card);border:1px solid var(--green);width:calc(280px * var(--ui-scale));max-height:calc(340px * var(--ui-scale));overflow-y:auto;z-index:100;animation:fadeIn .1s ease}.notif-dropdown-title{font-size:calc(8px * var(--ui-scale));color:var(--green);padding:calc(10px * var(--ui-scale)) calc(12px * var(--ui-scale));border-bottom:1px solid var(--border)}.notif-empty{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);padding:calc(16px * var(--ui-scale)) calc(12px * var(--ui-scale));text-align:center}.notif-item{display:flex;align-items:flex-start;gap:calc(8px * var(--ui-scale));padding:calc(8px * var(--ui-scale)) calc(12px * var(--ui-scale));border-bottom:1px solid #1a1a1a}.notif-item:last-child{border-bottom:none}.notif-item-new{background:var(--tint-blue)}.notif-item-icon{font-size:calc(14px * var(--ui-scale));flex-shrink:0}.notif-item-body{flex:1;min-width:0}.notif-item-text{font-size:calc(7px * var(--ui-scale));color:var(--text);line-height:1.5}.notif-item-user,.notif-item-tree{color:var(--green);text-decoration:underline;cursor:pointer}.notif-item-ts{font-size:calc(6px * var(--ui-scale));color:var(--text-muted);margin-top:calc(2px * var(--ui-scale))}.page{flex:1;padding:calc(20px * var(--ui-scale));max-width:calc(1100px * var(--ui-scale));width:100%;margin:0 auto;overflow-anchor:none}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:calc(20px * var(--ui-scale));flex-wrap:wrap;gap:calc(10px * var(--ui-scale))}.page-header-tight{margin-bottom:calc(8px * var(--ui-scale))}.page-title{font-size:calc(13px * var(--ui-scale));color:var(--green);margin-bottom:calc(6px * var(--ui-scale))}.page-subtitle{font-size:calc(8px * var(--ui-scale));color:var(--text-dim)}.garden-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(12px * var(--ui-scale))}@media (max-width: 800px){.garden-grid{grid-template-columns:repeat(2,1fr)}}.tree-slot{background:var(--bg-card);border:2px solid var(--border);display:flex;flex-direction:column;min-height:calc(300px * var(--ui-scale));position:relative;overflow:hidden;transition:border-color .2s}.slot-active{border-color:var(--border-glow)}.slot-ready{border-color:var(--orange);animation:pulse-ready 2.4s ease-in-out infinite}@keyframes pulse-ready{0%,to{box-shadow:0 0 calc(8px * var(--ui-scale)) #f802}50%{box-shadow:0 0 calc(24px * var(--ui-scale)) #f805}}.slot-helped-1{border-color:#0f8;animation:pulse-h1 2.2s ease-in-out infinite}@keyframes pulse-h1{0%,to{box-shadow:0 0 6px #0f82}50%{box-shadow:0 0 22px #0f86}}.slot-helped-2{border-color:var(--blue);animation:pulse-h2 2s ease-in-out infinite}@keyframes pulse-h2{0%,to{box-shadow:0 0 8px #48f3}50%{box-shadow:0 0 28px #48f7}}.slot-helped-3{border-color:#93f;animation:pulse-h3 1.8s ease-in-out infinite}@keyframes pulse-h3{0%,to{box-shadow:0 0 8px #93f3}50%{box-shadow:0 0 32px #93f8}}.slot-helped-4{border-color:var(--gold);animation:pulse-h4 1.5s ease-in-out infinite}@keyframes pulse-h4{0%,to{box-shadow:0 0 10px #ffd70033}50%{box-shadow:0 0 36px #ffd70099}}.tree-slot-flash{animation:notif-flash .5s ease-in-out 3}@keyframes notif-flash{0%,to{border-color:var(--border-glow);box-shadow:0 0 calc(8px * var(--ui-scale)) var(--green)}50%{border-color:var(--green);box-shadow:0 0 calc(32px * var(--ui-scale)) var(--green)}}.slot-empty{border-style:dashed;border-color:var(--border);cursor:pointer;align-items:center;justify-content:center}.slot-empty:hover{border-color:var(--green);background:var(--tint-green)}.slot-locked{border-style:dashed;opacity:.4;cursor:default}.tree-slot[draggable=true]{cursor:grab}.tree-slot[draggable=true]:active{cursor:grabbing}.slot-dragging{opacity:.35}.slot-header{padding:calc(10px * var(--ui-scale)) calc(10px * var(--ui-scale)) calc(6px * var(--ui-scale));border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:calc(6px * var(--ui-scale))}.slot-tree-name{font-size:calc(8px * var(--ui-scale));color:var(--text);margin-bottom:calc(3px * var(--ui-scale))}.slot-header-actions{display:flex;align-items:center;gap:calc(6px * var(--ui-scale));flex-shrink:0}.slot-wrench{cursor:pointer;width:calc(16px * var(--ui-scale));height:calc(16px * var(--ui-scale));border-radius:50%;border:1.5px solid var(--green);color:var(--green);font-size:calc(10px * var(--ui-scale));font-style:italic;font-family:Georgia,serif;font-weight:700;display:flex;align-items:center;justify-content:center;opacity:.45;transition:opacity .15s,background .15s;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.slot-wrench:hover{opacity:1;background:#00c8501f}.slot-remove{cursor:pointer;width:calc(16px * var(--ui-scale));height:calc(16px * var(--ui-scale));border-radius:50%;border:1.5px solid var(--red);color:var(--red);font-size:calc(8px * var(--ui-scale));display:flex;align-items:center;justify-content:center;opacity:.45;transition:opacity .15s,background .15s;line-height:1;-webkit-user-select:none;user-select:none;flex-shrink:0}.slot-remove:hover{opacity:1;background:#ff44441f}.slot-info{padding:calc(8px * var(--ui-scale)) calc(10px * var(--ui-scale));font-size:calc(7px * var(--ui-scale));line-height:1.9;color:var(--text-dim)}.info-stage{color:var(--text)}.info-next{color:var(--text-muted)}.info-ready{color:var(--orange);animation:blink-text 1.2s infinite}.info-processing{color:var(--text-dim);animation:blink-text 1.2s infinite}.info-help{color:var(--blue)}@keyframes blink-text{0%,to{opacity:1}50%{opacity:.5}}.info-help-requested{color:var(--gold);background:#ffd7001a;border:1px solid var(--gold);padding:calc(4px * var(--ui-scale)) calc(6px * var(--ui-scale));margin-bottom:calc(6px * var(--ui-scale));text-align:center;animation:blink-text 1.5s infinite}.info-item-active{color:var(--green);display:flex;align-items:center;gap:calc(6px * var(--ui-scale));margin-top:calc(2px * var(--ui-scale))}.info-flag-active{color:var(--gold)}.info-item-unequip{cursor:pointer;color:var(--red);text-decoration:underline;font-size:calc(7px * var(--ui-scale))}.info-item-controls{display:flex;gap:calc(5px * var(--ui-scale));margin-top:calc(4px * var(--ui-scale))}.info-item-btn{position:relative;cursor:pointer;width:calc(20px * var(--ui-scale));height:calc(20px * var(--ui-scale));border-radius:calc(4px * var(--ui-scale));border:1px solid var(--border);background:var(--bg-card);font-size:calc(10px * var(--ui-scale));display:flex;align-items:center;justify-content:center;padding:0;font-family:"Press Start 2P",monospace}.info-item-btn:hover:not(:disabled){border-color:var(--green);background:var(--tint-green)}.info-item-btn:disabled{opacity:.3;cursor:default}.info-item-count{position:absolute;bottom:calc(-4px * var(--ui-scale));right:calc(-4px * var(--ui-scale));background:var(--bg);border:1px solid var(--border);color:var(--text-muted);font-size:calc(6px * var(--ui-scale));min-width:calc(10px * var(--ui-scale));height:calc(10px * var(--ui-scale));border-radius:calc(5px * var(--ui-scale));padding:0 calc(2px * var(--ui-scale));display:flex;align-items:center;justify-content:center;line-height:1}.slot-progress-bar{height:calc(3px * var(--ui-scale));background:var(--border);margin:calc(4px * var(--ui-scale)) 0 calc(2px * var(--ui-scale))}.slot-progress-fill{height:100%;background:var(--green);transition:width .4s}.slot-canvas-area{flex:1;display:flex;align-items:flex-end;justify-content:center;padding:calc(6px * var(--ui-scale)) calc(8px * var(--ui-scale)) 0;position:relative}.slot-canvas-area canvas{image-rendering:pixelated;display:block}.slot-canvas-area .tree-art-image{display:block;max-width:100%;max-height:calc(240px * var(--ui-scale));width:auto;height:auto}.slot-footer{padding:calc(8px * var(--ui-scale)) calc(10px * var(--ui-scale)) calc(10px * var(--ui-scale))}.slot-countdown{font-size:calc(7px * var(--ui-scale));color:var(--green);text-align:center;padding:calc(6px * var(--ui-scale)) 0}.empty-plot-inner{display:flex;flex-direction:column;align-items:center;gap:calc(8px * var(--ui-scale))}.empty-plot-inner canvas{image-rendering:pixelated}.empty-plot-label{font-size:calc(8px * var(--ui-scale));color:var(--text-muted);text-align:center;line-height:1.8}.sticker-bubbles{position:absolute;top:calc(6px * var(--ui-scale));right:calc(6px * var(--ui-scale));display:flex;flex-direction:column;gap:calc(4px * var(--ui-scale))}.sticker-bubble{font-size:calc(18px * var(--ui-scale));cursor:pointer;line-height:1;filter:drop-shadow(0 0 calc(4px * var(--ui-scale)) rgba(0,0,0,.8));animation:bubble-in .3s ease both;display:block;text-align:center}.sticker-bubble:hover{transform:scale(1.3);transition:transform .1s}@keyframes bubble-in{0%{transform:scale(0) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.sticker-bubble:nth-child(2){animation-delay:60ms}.sticker-bubble:nth-child(3){animation-delay:.12s}.sticker-picker-label{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);margin-bottom:calc(8px * var(--ui-scale))}.sticker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:calc(6px * var(--ui-scale));margin-bottom:calc(12px * var(--ui-scale))}.sticker-btn{background:var(--bg);border:1px solid var(--border);font-size:calc(20px * var(--ui-scale));padding:calc(6px * var(--ui-scale));cursor:pointer;transition:border-color .1s,transform .1s;line-height:1;text-align:center}.sticker-btn:hover{border-color:var(--blue);transform:scale(1.15)}.sticker-btn.sticker-active{border-color:var(--blue);background:var(--tint-blue);box-shadow:0 0 calc(8px * var(--ui-scale)) #48f4}.sticker-selected{text-align:center;font-size:calc(36px * var(--ui-scale));margin:calc(6px * var(--ui-scale)) 0 calc(10px * var(--ui-scale));min-height:calc(44px * var(--ui-scale));line-height:1;filter:drop-shadow(0 0 calc(8px * var(--ui-scale)) rgba(68,136,255,.5))}.friend-search-area{display:flex;gap:calc(10px * var(--ui-scale));margin-bottom:calc(20px * var(--ui-scale));flex-wrap:wrap}.pixel-input{flex:1;min-width:calc(180px * var(--ui-scale));padding:calc(10px * var(--ui-scale)) calc(14px * var(--ui-scale));background:var(--bg-card);border:2px solid var(--border);color:var(--text);font-family:"Press Start 2P",monospace;font-size:calc(9px * var(--ui-scale))}.pixel-input:focus{outline:none;border-color:var(--green)}.pixel-input::placeholder{color:var(--text-muted)}.friend-garden-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:calc(14px * var(--ui-scale));flex-wrap:wrap;gap:calc(8px * var(--ui-scale))}.friend-garden-title{font-size:calc(11px * var(--ui-scale));color:var(--blue)}.friend-garden-title-link{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s}.friend-garden-title-link:hover{text-decoration-color:var(--blue)}.empty-state{text-align:center;padding:calc(40px * var(--ui-scale)) calc(20px * var(--ui-scale));font-size:calc(8px * var(--ui-scale));color:var(--text-muted);border:1px dashed var(--border);line-height:2}.tab-bar{display:flex;gap:calc(4px * var(--ui-scale));margin-bottom:calc(16px * var(--ui-scale));border-bottom:1px solid var(--border);padding-bottom:0;flex-wrap:wrap}.tab-btn{font-family:"Press Start 2P",monospace;font-size:calc(7px * var(--ui-scale));padding:calc(8px * var(--ui-scale)) calc(12px * var(--ui-scale));background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:calc(-1px * var(--ui-scale))}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--green);border-bottom-color:var(--green)}.explore-wrap{display:flex;flex-direction:column;gap:0}.explore-section{padding:calc(14px * var(--ui-scale)) 0}.explore-section-title{font-size:calc(7.5px * var(--ui-scale));color:var(--text);margin-bottom:calc(8px * var(--ui-scale))}.explore-desc{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);line-height:1.9;margin-bottom:calc(12px * var(--ui-scale))}.explore-hint{font-size:calc(6.5px * var(--ui-scale));color:var(--text-muted);margin-top:calc(8px * var(--ui-scale));text-align:center;opacity:.6}.explore-input-row{display:flex;gap:calc(8px * var(--ui-scale));align-items:center}.explore-input{flex:1;background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-family:"Press Start 2P",monospace;font-size:calc(7px * var(--ui-scale));padding:calc(8px * var(--ui-scale)) calc(10px * var(--ui-scale));outline:none}.explore-input:focus{border-color:var(--blue)}.explore-input::placeholder{color:var(--text-muted);opacity:.5}.explore-network-label{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);text-align:center;margin:calc(10px * var(--ui-scale)) 0 calc(4px * var(--ui-scale));letter-spacing:calc(1px * var(--ui-scale))}.social-idle{text-align:center;padding:calc(20px * var(--ui-scale)) 0}.social-idle-icon{font-size:calc(40px * var(--ui-scale));margin-bottom:calc(14px * var(--ui-scale))}.social-idle-desc{font-size:calc(8px * var(--ui-scale));color:var(--text-muted);line-height:2;margin-bottom:calc(16px * var(--ui-scale))}.social-legend{display:flex;justify-content:center;gap:calc(16px * var(--ui-scale));font-size:calc(7px * var(--ui-scale));color:var(--text-dim);margin-bottom:calc(18px * var(--ui-scale));flex-wrap:wrap}.social-loading{text-align:center;padding:calc(60px * var(--ui-scale)) calc(20px * var(--ui-scale))}.social-loading-spinner{font-size:calc(36px * var(--ui-scale));margin-bottom:calc(14px * var(--ui-scale));animation:spin 2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.social-loading p{font-size:calc(9px * var(--ui-scale));color:var(--text)}.social-loading-sub{font-size:calc(7px * var(--ui-scale))!important;color:var(--text-muted)!important;margin-top:calc(8px * var(--ui-scale))}.social-error{text-align:center;padding:calc(40px * var(--ui-scale)) calc(20px * var(--ui-scale));font-size:calc(8px * var(--ui-scale));color:var(--text-muted)}.network-viz-wrap{margin:0 calc(-16px * var(--ui-scale));position:relative}.network-svg{display:block;width:100%;max-width:calc(480px * var(--ui-scale));margin:0 auto}.network-hint{text-align:center;font-size:calc(6.5px * var(--ui-scale));color:var(--text-muted);margin:calc(4px * var(--ui-scale)) 0 calc(14px * var(--ui-scale));letter-spacing:calc(.5px * var(--ui-scale))}.social-rank-list{display:flex;flex-direction:column;gap:calc(6px * var(--ui-scale));margin-bottom:calc(16px * var(--ui-scale))}.social-section-title{font-size:calc(8px * var(--ui-scale));color:var(--text-muted);margin-bottom:calc(10px * var(--ui-scale));letter-spacing:calc(1px * var(--ui-scale))}.rank-item{display:flex;align-items:center;gap:calc(10px * var(--ui-scale));flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--border);padding:calc(8px * var(--ui-scale)) calc(10px * var(--ui-scale))}.rank-num{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);width:calc(22px * var(--ui-scale));flex-shrink:0}.rank-avatar{width:calc(32px * var(--ui-scale));height:calc(32px * var(--ui-scale));border-radius:50%;object-fit:cover;image-rendering:pixelated;border:1px solid var(--border);flex-shrink:0}.rank-info{flex:1;min-width:0}.rank-username{font-size:calc(7.5px * var(--ui-scale));color:var(--text);margin-bottom:calc(4px * var(--ui-scale));display:flex;align-items:center}.rank-username-link{color:var(--text);text-decoration:none}.rank-username-link:hover{color:var(--green);text-decoration:underline}.rank-badges{display:flex;gap:calc(5px * var(--ui-scale));flex-wrap:wrap}.badge{font-size:calc(5.5px * var(--ui-scale));padding:calc(2px * var(--ui-scale)) calc(5px * var(--ui-scale));border:1px solid}.badge-mutual{color:var(--green);border-color:var(--green)}.badge-follow{color:var(--blue);border-color:var(--blue)}.badge-follower{color:var(--orange);border-color:var(--orange)}.rank-score{font-size:calc(9px * var(--ui-scale));color:var(--orange);font-weight:700}.rank-actions{display:flex;align-items:center;gap:calc(6px * var(--ui-scale));flex-wrap:wrap;margin-left:auto}@media (max-width: 600px){.rank-item{align-items:flex-start}.rank-actions{flex-basis:100%;margin-left:0;justify-content:flex-end}}.social-rescan{text-align:center;padding:calc(8px * var(--ui-scale)) 0 calc(20px * var(--ui-scale))}.who-to-follow{margin-bottom:calc(16px * var(--ui-scale))}.who-to-follow-desc{font-size:calc(6.5px * var(--ui-scale));color:var(--text-muted);margin:calc(-6px * var(--ui-scale)) 0 calc(10px * var(--ui-scale))}.follow-item{display:flex;align-items:center;gap:calc(10px * var(--ui-scale));background:var(--bg-card);border:1px solid var(--border);padding:calc(8px * var(--ui-scale)) calc(10px * var(--ui-scale))}.follow-item+.follow-item{margin-top:calc(6px * var(--ui-scale))}.follow-avatar{width:calc(28px * var(--ui-scale));height:calc(28px * var(--ui-scale));border-radius:50%;object-fit:cover;image-rendering:pixelated;border:1px solid var(--border);flex-shrink:0}.follow-info{flex:1;min-width:0}.follow-username{font-size:calc(7.5px * var(--ui-scale));color:var(--text);margin-bottom:calc(3px * var(--ui-scale))}.follow-reason{font-size:calc(6px * var(--ui-scale));color:var(--text-muted)}.badge-grove{color:var(--blue);border-color:var(--blue)}.badge-can-help{color:var(--orange);border-color:var(--orange);background:var(--tint-orange);font-weight:700}.grove-thread-title{font-size:calc(6px * var(--ui-scale));color:var(--text-muted);letter-spacing:calc(1px * var(--ui-scale));margin-bottom:calc(6px * var(--ui-scale))}.grove-msg{display:flex;align-items:baseline;gap:calc(5px * var(--ui-scale));font-size:calc(6.5px * var(--ui-scale));padding:calc(4px * var(--ui-scale)) 0;border-bottom:1px solid var(--divider-tint)}.grove-msg:last-child{border-bottom:none}.grove-msg-out{color:var(--blue)}.grove-msg-in{color:var(--green)}.grove-msg-sticker{font-size:calc(10px * var(--ui-scale));flex-shrink:0}.grove-msg-arrow{flex-shrink:0;opacity:.6}.grove-msg-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grove-msg-silent{opacity:.35;font-style:italic}.grove-msg-ts{flex-shrink:0;font-size:calc(5.5px * var(--ui-scale));color:var(--text-muted)}.grove-info-wrap{position:relative;display:inline-block;margin-left:calc(6px * var(--ui-scale))}.info-icon{width:calc(13px * var(--ui-scale));height:calc(13px * var(--ui-scale));border-radius:50%;padding:0;border:1px solid var(--blue);color:var(--blue);background:none;font-size:calc(8px * var(--ui-scale));font-family:"Press Start 2P",monospace;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;vertical-align:middle}.info-icon:hover{background:var(--tint-blue)}.grove-popover{position:absolute;top:calc(100% + calc(6px * var(--ui-scale)));left:0;z-index:20;width:calc(230px * var(--ui-scale));max-width:80vw;background:var(--bg-card);border:1px solid var(--blue);padding:0 calc(12px * var(--ui-scale));opacity:0;max-height:0;overflow:hidden;transform:translateY(calc(-4px * var(--ui-scale)));transform-origin:top;pointer-events:none;transition:opacity .18s ease,transform .18s ease,max-height .22s ease,padding .22s ease}.grove-popover-open{opacity:1;max-height:calc(260px * var(--ui-scale));overflow-y:auto;transform:translateY(0);padding:calc(10px * var(--ui-scale)) calc(12px * var(--ui-scale));pointer-events:auto}@media (max-width: 600px){.grove-popover{position:fixed;left:calc(12px * var(--ui-scale));right:calc(12px * var(--ui-scale));top:auto;bottom:calc(12px * var(--ui-scale));width:auto;max-width:none;transform:translateY(calc(12px * var(--ui-scale)))}.grove-popover-open{transform:translateY(0);max-height:50vh}}.shop-section-desc{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);margin-bottom:calc(12px * var(--ui-scale));line-height:1.7}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(190px * var(--ui-scale)),1fr));gap:calc(12px * var(--ui-scale))}.shop-item{background:var(--bg-card);border:2px solid var(--border);padding:calc(14px * var(--ui-scale));display:flex;flex-direction:column;gap:calc(6px * var(--ui-scale));transition:border-color .15s}.shop-item:hover{border-color:#333}.shop-item.item-featured{border-color:var(--green)}.shop-item-name{font-size:calc(9px * var(--ui-scale));color:var(--text)}.shop-item-canvas{display:block;margin:calc(6px * var(--ui-scale)) auto;image-rendering:pixelated}.shop-item-tree-image{display:block;margin:calc(6px * var(--ui-scale)) auto;max-width:100%;max-height:calc(120px * var(--ui-scale));width:auto;height:auto}.shop-item-price{font-size:calc(10px * var(--ui-scale));color:var(--orange)}.shop-item-price.price-free{color:var(--green)}.shop-item-desc{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);line-height:1.7;flex:1}.item-owned-line{font-size:calc(7px * var(--ui-scale));color:var(--text-muted)}.item-tier-row{display:flex;gap:calc(4px * var(--ui-scale))}.item-tier-btn{flex:1;min-width:0;padding:calc(6px * var(--ui-scale)) calc(2px * var(--ui-scale));background:var(--bg-card);border:2px solid var(--border);color:var(--text);font-family:"Press Start 2P",monospace;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:calc(3px * var(--ui-scale));transition:border-color .08s,background .08s}.item-tier-btn:hover{border-color:var(--green);background:var(--tint-green)}.item-tier-btn:active{transform:translate(calc(1px * var(--ui-scale)),calc(1px * var(--ui-scale)))}.item-tier-label{font-size:calc(7px * var(--ui-scale))}.item-tier-price{font-size:calc(6px * var(--ui-scale));color:var(--orange);white-space:nowrap}.item-card-hero{position:relative;display:flex;align-items:center;justify-content:center;min-height:calc(96px * var(--ui-scale));padding:calc(4px * var(--ui-scale)) 0}.item-card-hero:before{content:"";position:absolute;top:0;right:16%;bottom:0;left:16%;background:radial-gradient(circle,var(--glow, var(--border)) 0%,transparent 72%);opacity:.3}.item-icon-hero,.item-icon-hero-emoji{position:relative;z-index:1}.item-icon-hero{width:68%;max-width:calc(132px * var(--ui-scale));height:auto;image-rendering:auto}.item-icon-hero-emoji{font-size:calc(56px * var(--ui-scale));line-height:1}.item-card-name-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:calc(6px * var(--ui-scale));background:none;border:none;cursor:pointer;padding:calc(2px * var(--ui-scale)) 0;font-family:"Press Start 2P",monospace;color:var(--text);text-align:left}.item-card-name-btn:hover .item-card-name{color:var(--green)}.item-card-name{font-size:calc(9px * var(--ui-scale))}.item-card-info-icon{font-size:calc(8px * var(--ui-scale));color:var(--text-muted);transition:transform .15s;flex-shrink:0}.item-card-info-icon.open{color:var(--green);transform:rotate(180deg)}.item-card-desc{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);line-height:1.7}.flag-qty-row{display:flex;align-items:center;gap:calc(6px * var(--ui-scale));margin-bottom:calc(8px * var(--ui-scale))}.flag-qty-btn{width:calc(22px * var(--ui-scale));height:calc(22px * var(--ui-scale));flex-shrink:0;background:var(--bg-card);border:2px solid var(--border);color:var(--text);font-family:"Press Start 2P",monospace;font-size:calc(10px * var(--ui-scale));cursor:pointer;display:flex;align-items:center;justify-content:center}.flag-qty-btn:hover:not(:disabled){border-color:var(--green);background:var(--tint-green)}.flag-qty-btn:disabled{opacity:.3;cursor:default}.flag-qty-input{flex:1;min-width:0;text-align:center;padding:calc(4px * var(--ui-scale)) calc(2px * var(--ui-scale));background:var(--bg-card);border:2px solid var(--border);color:var(--text);font-family:"Press Start 2P",monospace;font-size:calc(9px * var(--ui-scale))}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;z-index:999;padding:calc(20px * var(--ui-scale))}.modal-box{background:var(--bg-card);border:2px solid var(--green);max-width:calc(480px * var(--ui-scale));width:100%;box-shadow:0 0 calc(60px * var(--ui-scale)) #0f03}.modal-title{padding:calc(14px * var(--ui-scale)) calc(18px * var(--ui-scale));font-size:calc(10px * var(--ui-scale));color:var(--green);border-bottom:1px solid var(--border)}.modal-body{padding:calc(18px * var(--ui-scale));font-size:calc(8px * var(--ui-scale));line-height:1.9;color:var(--text-dim);max-height:70vh;overflow-y:auto}.modal-footer{padding:calc(12px * var(--ui-scale)) calc(18px * var(--ui-scale));border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:calc(8px * var(--ui-scale))}.modal-reward-big{text-align:center;padding:calc(14px * var(--ui-scale)) 0}.reward-frame{background:var(--bg-card);border:2px solid var(--gold);padding:calc(20px * var(--ui-scale)) calc(14px * var(--ui-scale))}.reward-icon{font-size:calc(32px * var(--ui-scale));margin-bottom:calc(10px * var(--ui-scale))}.reward-amount{font-size:calc(18px * var(--ui-scale));margin-bottom:calc(6px * var(--ui-scale))}.reward-green{color:var(--green)}.reward-gold{color:var(--gold)}.reward-label{font-size:calc(8px * var(--ui-scale));color:var(--text-muted)}.level-up-notice{background:var(--tint-green-strong);border:1px solid var(--green);padding:calc(10px * var(--ui-scale));text-align:center;color:var(--green);font-size:calc(9px * var(--ui-scale));margin-top:calc(12px * var(--ui-scale))}.modal-plant-list{display:flex;flex-direction:column;gap:calc(8px * var(--ui-scale))}.plant-option{display:flex;justify-content:space-between;align-items:center;padding:calc(10px * var(--ui-scale)) calc(12px * var(--ui-scale));border:1px solid var(--border);cursor:pointer;transition:border-color .1s,background .1s;gap:calc(10px * var(--ui-scale))}.plant-option:hover{border-color:var(--green);background:var(--tint-green)}.plant-option-left{flex:1}.plant-option-name{font-size:calc(8px * var(--ui-scale));color:var(--text);margin-bottom:calc(4px * var(--ui-scale))}.plant-option-desc{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);line-height:1.6}.plant-option-price{font-size:calc(9px * var(--ui-scale));text-align:right;white-space:nowrap}.price-free-tag{color:var(--green)}.price-hive-tag{color:var(--orange)}.modal-info-table{width:100%;border-collapse:collapse}.modal-info-table td{padding:calc(6px * var(--ui-scale)) 0;border-bottom:1px solid #1a1a1a;font-size:calc(7px * var(--ui-scale))}.modal-info-table td:first-child{color:var(--text-muted);width:55%}.modal-info-table td:last-child{color:var(--text);text-align:right}.roi-modal{display:flex;flex-direction:column;gap:calc(14px * var(--ui-scale))}.roi-intro{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);line-height:1.8;font-style:normal}.roi-intro em{color:var(--text-dim);font-style:normal}.roi-list{display:flex;flex-direction:column;gap:calc(10px * var(--ui-scale))}.roi-row{background:var(--surface-sunken);border:1px solid var(--border);padding:calc(10px * var(--ui-scale)) calc(12px * var(--ui-scale));display:flex;flex-direction:column;gap:calc(6px * var(--ui-scale))}.roi-tree-name{font-size:calc(8px * var(--ui-scale))}.roi-stats{display:grid;grid-template-columns:repeat(7,1fr);gap:calc(4px * var(--ui-scale))}.roi-stat{display:flex;flex-direction:column;gap:calc(2px * var(--ui-scale))}.roi-label{font-size:calc(6px * var(--ui-scale));color:var(--text-muted);text-transform:uppercase;letter-spacing:calc(.5px * var(--ui-scale))}.roi-val{font-size:calc(7px * var(--ui-scale));color:var(--text)}.roi-green{color:var(--green)}.roi-orange{color:var(--orange)}.roi-gold{color:var(--gold)}.roi-bar-track{height:calc(3px * var(--ui-scale));background:var(--border);border-radius:calc(1px * var(--ui-scale));overflow:hidden}.roi-bar-fill{height:100%;border-radius:calc(1px * var(--ui-scale));transition:width .4s}.roi-extra{display:flex;gap:calc(10px * var(--ui-scale));flex-wrap:wrap;align-items:center}.roi-tag{font-size:calc(6px * var(--ui-scale));color:var(--blue);background:#001020;border:1px solid #4488ff44;padding:calc(2px * var(--ui-scale)) calc(5px * var(--ui-scale))}.roi-tag-dim{font-size:calc(6px * var(--ui-scale));color:var(--text-muted)}.roi-notes{display:flex;flex-direction:column;gap:calc(8px * var(--ui-scale));border-top:1px solid var(--border);padding-top:calc(10px * var(--ui-scale))}.roi-note{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);line-height:1.8}.roi-note-label{color:var(--text-dim);display:block;margin-bottom:calc(2px * var(--ui-scale))}.roi-toggle{background:none;border:none;color:var(--text-muted);font-family:"Press Start 2P",monospace;font-size:calc(6px * var(--ui-scale));cursor:pointer;padding:calc(2px * var(--ui-scale)) 0;text-align:left}.roi-toggle:hover{color:var(--text-dim)}.roi-stages{display:flex;flex-direction:column;gap:calc(3px * var(--ui-scale));padding:calc(6px * var(--ui-scale)) 0;border-top:1px solid var(--border)}.roi-stage-row{display:grid;grid-template-columns:calc(60px * var(--ui-scale)) calc(30px * var(--ui-scale)) calc(72px * var(--ui-scale)) 1fr calc(36px * var(--ui-scale));gap:calc(6px * var(--ui-scale));align-items:center}.roi-stage-name{font-size:calc(6px * var(--ui-scale));color:var(--text-dim)}.roi-stage-mult{font-size:calc(6px * var(--ui-scale))}.roi-stage-val{font-size:calc(6px * var(--ui-scale));color:var(--text)}.roi-stage-bonus{font-size:calc(6px * var(--ui-scale))}.roi-stage-days{font-size:calc(6px * var(--ui-scale));color:var(--text-muted);text-align:right}.update-banner{position:fixed;top:0;left:0;right:0;z-index:10000;background:var(--bg-card);border-bottom:2px solid var(--orange);padding:calc(10px * var(--ui-scale)) calc(16px * var(--ui-scale));display:flex;align-items:center;justify-content:center;gap:calc(14px * var(--ui-scale));flex-wrap:wrap;font-size:calc(8px * var(--ui-scale));color:var(--orange);animation:banner-in .2s ease}@keyframes banner-in{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.toast{position:fixed;bottom:calc(20px * var(--ui-scale));right:calc(20px * var(--ui-scale));background:var(--bg-card);border:2px solid var(--green);padding:calc(10px * var(--ui-scale)) calc(16px * var(--ui-scale));font-size:calc(8px * var(--ui-scale));color:var(--green);z-index:9999;max-width:calc(300px * var(--ui-scale));line-height:1.6;animation:toast-in .2s ease}.toast-error{border-color:var(--red);color:var(--red)}.toast-warning{border-color:var(--orange);color:var(--orange)}.toast-info{border-color:var(--blue);color:var(--blue)}@keyframes toast-in{0%{transform:translate(calc(30px * var(--ui-scale)));opacity:0}to{transform:translate(0);opacity:1}}::-webkit-scrollbar{width:calc(6px * var(--ui-scale))}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--green)}.profile-header-card{display:flex;gap:calc(16px * var(--ui-scale));align-items:flex-start;background:var(--bg-card);border:2px solid var(--green);padding:calc(16px * var(--ui-scale));margin-bottom:calc(22px * var(--ui-scale));flex-wrap:wrap;box-shadow:0 0 calc(20px * var(--ui-scale)) #00ff0015}.profile-avatar{width:calc(64px * var(--ui-scale));height:calc(64px * var(--ui-scale));border-radius:50%;border:2px solid var(--green);object-fit:cover;image-rendering:pixelated;flex-shrink:0}.profile-meta{flex:1;min-width:calc(200px * var(--ui-scale))}.profile-name{display:block;font-size:calc(11px * var(--ui-scale));color:var(--green);margin-bottom:calc(4px * var(--ui-scale));text-decoration:none}.profile-name:hover{text-decoration:underline}.profile-username{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);margin-bottom:calc(8px * var(--ui-scale))}.profile-about{font-size:calc(7px * var(--ui-scale));color:var(--text-dim);line-height:1.8;margin-bottom:calc(8px * var(--ui-scale))}.profile-links{display:flex;gap:calc(12px * var(--ui-scale));flex-wrap:wrap;margin-bottom:calc(8px * var(--ui-scale))}.profile-link-item{font-size:calc(6.5px * var(--ui-scale));color:var(--text-dim)}.profile-follow-counts{display:flex;gap:calc(14px * var(--ui-scale));font-size:calc(7px * var(--ui-scale));color:var(--text-dim)}.profile-wishlist{margin-bottom:calc(4px * var(--ui-scale))}.profile-wishlist .info-item-btn{width:calc(44px * var(--ui-scale));height:calc(44px * var(--ui-scale));border-radius:calc(6px * var(--ui-scale))}.profile-wishlist .info-item-active{gap:calc(10px * var(--ui-scale));font-size:calc(8px * var(--ui-scale))}.profile-wishlist-badge{display:flex;align-items:center;gap:calc(8px * var(--ui-scale));width:fit-content;color:var(--blue);background:#2196f31a;border:1px solid var(--blue);padding:calc(6px * var(--ui-scale)) calc(10px * var(--ui-scale));margin-bottom:calc(22px * var(--ui-scale));font-size:calc(7px * var(--ui-scale));cursor:pointer}.profile-wishlist-badge:hover{background:#2196f333}.profile-section-title{font-size:calc(9px * var(--ui-scale));color:var(--text-dim);margin:calc(18px * var(--ui-scale)) 0 calc(10px * var(--ui-scale));letter-spacing:calc(1px * var(--ui-scale))}.profile-section-title:first-of-type{margin-top:0}.history-list{display:flex;flex-direction:column;gap:calc(6px * var(--ui-scale));margin-bottom:calc(8px * var(--ui-scale))}.history-item{display:flex;align-items:center;gap:calc(10px * var(--ui-scale));background:var(--bg-card);border:1px solid var(--border);padding:calc(8px * var(--ui-scale)) calc(12px * var(--ui-scale));font-size:calc(7px * var(--ui-scale))}.history-item-icon{font-size:calc(14px * var(--ui-scale));flex-shrink:0}.history-item-label{color:var(--text);flex:1}.history-item-user{color:var(--green);text-decoration:underline;cursor:pointer}.history-item-ts{color:var(--text-muted);font-size:calc(6.5px * var(--ui-scale));flex-shrink:0}.history-empty{font-size:calc(7px * var(--ui-scale));color:var(--text-dim);padding:calc(10px * var(--ui-scale)) 0}.history-footnote{font-size:calc(6px * var(--ui-scale));color:var(--text-dim);margin-top:calc(4px * var(--ui-scale));text-align:center}.profile-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(150px * var(--ui-scale)),1fr));gap:calc(10px * var(--ui-scale));margin-bottom:calc(8px * var(--ui-scale))}.profile-stat-card{background:var(--bg-card);border:1px solid var(--border);padding:calc(12px * var(--ui-scale));text-align:center;transition:border-color .15s}.profile-stat-card:hover{border-color:#333}.profile-stat-icon{font-size:calc(18px * var(--ui-scale));margin-bottom:calc(6px * var(--ui-scale))}.profile-stat-value{font-size:calc(12px * var(--ui-scale));color:var(--text);margin-bottom:calc(4px * var(--ui-scale))}.profile-stat-label{font-size:calc(6.5px * var(--ui-scale));color:var(--text-muted);letter-spacing:calc(.5px * var(--ui-scale))}.stat-green{color:var(--green)}.stat-blue{color:var(--blue)}.stat-orange{color:var(--orange)}.stat-gold{color:var(--gold)}.stat-red{color:var(--red)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(205px * var(--ui-scale)),1fr));gap:calc(12px * var(--ui-scale))}.achievement-card{background:var(--bg-card);border:2px solid var(--border);padding:calc(14px * var(--ui-scale));opacity:.55;transition:opacity .15s,border-color .2s,box-shadow .2s}.achievement-card.achievement-unlocked{opacity:1}.achievement-card-header{display:flex;align-items:center;gap:calc(8px * var(--ui-scale));margin-bottom:calc(6px * var(--ui-scale))}.achievement-icon{font-size:calc(18px * var(--ui-scale))}.achievement-label{font-size:calc(8px * var(--ui-scale));color:var(--text)}.achievement-share-btn{margin-left:auto;font-size:calc(11px * var(--ui-scale));cursor:pointer;opacity:.6;transition:opacity .15s,transform .15s}.achievement-share-btn:hover{opacity:1;transform:scale(1.15)}.achievement-share-done{margin-left:auto;font-size:calc(7px * var(--ui-scale));color:var(--green);opacity:.7}.achievement-desc{font-size:calc(7px * var(--ui-scale));color:var(--text-dim);line-height:1.7;margin-bottom:calc(8px * var(--ui-scale))}.achievement-progress{font-size:calc(7px * var(--ui-scale));color:var(--text-dim);margin-bottom:calc(8px * var(--ui-scale))}.achievement-tiers{display:flex;gap:calc(3px * var(--ui-scale));flex-wrap:wrap}.achievement-tier{font-size:calc(6.5px * var(--ui-scale));padding:calc(3px * var(--ui-scale)) calc(5px * var(--ui-scale));border:1px solid var(--border);color:var(--text-muted);transition:color .15s,border-color .15s,background .15s}.achievement-tier.tier-unlocked.tier-color-1{color:#0f8;border-color:#0f8;background:#00ff881a}.achievement-tier.tier-unlocked.tier-color-2{color:var(--blue);border-color:var(--blue);background:var(--tint-blue)}.achievement-tier.tier-unlocked.tier-color-3{color:#93f;border-color:#93f;background:#9933ff1a}.achievement-tier.tier-unlocked.tier-color-4{color:var(--orange);border-color:var(--orange);background:var(--tint-orange)}.achievement-tier.tier-unlocked.tier-color-5{color:#f35;border-color:#f35;background:#ff33551a}.achievement-tier.tier-unlocked.tier-color-6{color:var(--gold);border-color:var(--gold);background:#ffd70024}.achievement-card.card-color-1{border-color:#0f8;box-shadow:0 0 calc(14px * var(--ui-scale)) #0f83}.achievement-card.card-color-2{border-color:var(--blue);box-shadow:0 0 calc(14px * var(--ui-scale)) #48f3}.achievement-card.card-color-3{border-color:#93f;box-shadow:0 0 calc(14px * var(--ui-scale)) #93f3}.achievement-card.card-color-4{border-color:var(--orange);box-shadow:0 0 calc(16px * var(--ui-scale)) #f804}.achievement-card.card-color-5{border-color:#f35;box-shadow:0 0 calc(16px * var(--ui-scale)) #f354}.achievement-card.card-color-6{border-color:var(--gold);animation:achievement-glow-max 2s ease-in-out infinite}@keyframes achievement-glow-max{0%,to{box-shadow:0 0 calc(12px * var(--ui-scale)) #ffd70044}50%{box-shadow:0 0 calc(28px * var(--ui-scale)) #ffd700aa}}.purchase-processing{text-align:center;padding:calc(30px * var(--ui-scale)) calc(10px * var(--ui-scale))}.purchase-processing-spinner{font-size:calc(28px * var(--ui-scale));margin-bottom:calc(14px * var(--ui-scale));animation:spin 2s linear infinite;display:inline-block}.purchase-processing p{font-size:calc(8px * var(--ui-scale));color:var(--text-muted);line-height:1.9}.settings-section{margin-bottom:calc(18px * var(--ui-scale))}.settings-section:last-child{margin-bottom:0}.settings-label{font-size:calc(7px * var(--ui-scale));color:var(--text-muted);margin-bottom:calc(4px * var(--ui-scale));letter-spacing:calc(.5px * var(--ui-scale));text-transform:uppercase}.settings-desc{font-size:calc(6px * var(--ui-scale));color:var(--text-dim);margin-bottom:calc(8px * var(--ui-scale))}.settings-toggle-group{display:flex;gap:calc(6px * var(--ui-scale));flex-wrap:wrap}.faq-modal{display:flex;flex-direction:column}.faq-item{border-bottom:1px solid var(--border)}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;gap:calc(10px * var(--ui-scale));background:none;border:none;cursor:pointer;text-align:left;padding:calc(10px * var(--ui-scale)) calc(2px * var(--ui-scale));font-family:"Press Start 2P",monospace;font-size:calc(7px * var(--ui-scale));color:var(--text)}.faq-question:hover{color:var(--green)}.faq-chevron{color:var(--text-muted);font-size:calc(7px * var(--ui-scale));flex-shrink:0}.faq-answer{padding:0 calc(2px * var(--ui-scale)) calc(12px * var(--ui-scale));font-size:calc(7px * var(--ui-scale));color:var(--text-dim);line-height:1.9}.campfire-vote-box{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:calc(10px * var(--ui-scale));padding:calc(10px * var(--ui-scale)) calc(14px * var(--ui-scale));margin-bottom:calc(10px * var(--ui-scale));background:var(--tint-orange, var(--tint-green));border:1px solid var(--orange)}.campfire-vote-label{font-size:calc(7px * var(--ui-scale));color:var(--text-dim)}.campfire-vote-buttons{display:flex;gap:calc(6px * var(--ui-scale));flex-wrap:wrap}.campfire-vote-btn{font-family:"Press Start 2P",monospace;font-size:calc(7px * var(--ui-scale));padding:calc(6px * var(--ui-scale)) calc(10px * var(--ui-scale));background:transparent;border:1px solid var(--orange);color:var(--orange);cursor:pointer}.campfire-vote-btn:hover:not(:disabled){background:var(--tint-green)}.campfire-vote-btn:disabled{opacity:.4;cursor:default}.campfire-voted{font-size:calc(7px * var(--ui-scale));color:var(--green)}.campfire-page{padding-bottom:calc(130px * var(--ui-scale))}.campfire-composer-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bg);border-top:2px solid var(--green);padding:calc(10px * var(--ui-scale)) calc(20px * var(--ui-scale))}.campfire-composer-bar-inner{max-width:calc(1100px * var(--ui-scale));margin:0 auto}.campfire-feed-end{scroll-margin-bottom:calc(130px * var(--ui-scale))}.campfire-new-messages-pill{position:fixed;left:50%;transform:translate(-50%);z-index:41;background:var(--bg-card);border:1px solid var(--green);color:var(--green);font-family:"Press Start 2P",monospace;font-size:calc(7px * var(--ui-scale));padding:calc(8px * var(--ui-scale)) calc(14px * var(--ui-scale));cursor:pointer;animation:campfire-pill-in .2s ease}.campfire-new-messages-pill:hover{background:var(--tint-green)}@keyframes campfire-pill-in{0%{opacity:0;transform:translate(-50%,calc(8px * var(--ui-scale)))}to{opacity:1;transform:translate(-50%)}}.campfire-feed{display:flex;flex-direction:column;gap:calc(10px * var(--ui-scale));margin-bottom:calc(16px * var(--ui-scale))}.campfire-message{display:flex;gap:calc(8px * var(--ui-scale));padding:calc(8px * var(--ui-scale)) calc(10px * var(--ui-scale));background:var(--bg-card);border:1px solid var(--border)}.campfire-message.campfire-glow-1{border-color:#0f8;box-shadow:0 0 calc(14px * var(--ui-scale)) #0f83}.campfire-message.campfire-glow-2{border-color:var(--blue);box-shadow:0 0 calc(14px * var(--ui-scale)) #48f3}.campfire-message.campfire-glow-3{border-color:#93f;box-shadow:0 0 calc(14px * var(--ui-scale)) #93f3}.campfire-message.campfire-glow-4{border-color:var(--orange);box-shadow:0 0 calc(16px * var(--ui-scale)) #f804}.campfire-message.campfire-glow-5{border-color:#f35;box-shadow:0 0 calc(16px * var(--ui-scale)) #f354}.campfire-message.campfire-glow-6{border-color:var(--gold);animation:achievement-glow-max 2s ease-in-out infinite}.campfire-profile-link{cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s}.campfire-profile-link:hover{text-decoration-color:currentColor}.campfire-avatar{width:calc(24px * var(--ui-scale));height:calc(24px * var(--ui-scale));border-radius:50%;border:1px solid var(--green);flex-shrink:0}.campfire-message-body-col{flex:1;min-width:0}.campfire-message-head{display:flex;align-items:baseline;gap:calc(8px * var(--ui-scale));margin-bottom:calc(4px * var(--ui-scale));flex-wrap:wrap}.campfire-message-author{font-size:calc(8px * var(--ui-scale));color:var(--green)}.campfire-message-time{font-size:calc(6px * var(--ui-scale));color:var(--text-muted)}.campfire-message-text{font-size:calc(8px * var(--ui-scale));color:var(--text);line-height:1.7;white-space:pre-wrap;word-break:break-word}.campfire-message-image{display:block;margin:calc(8px * var(--ui-scale)) auto 0;max-width:100%;max-height:calc(320px * var(--ui-scale));border:1px solid var(--border)}.campfire-mention{color:var(--blue);font-weight:700}.campfire-mention-me{color:var(--orange);font-weight:700}.campfire-message-actions{display:flex;align-items:center;gap:calc(12px * var(--ui-scale));margin-top:calc(2px * var(--ui-scale))}.campfire-heart-btn{background:none;border:none;cursor:pointer;font-size:calc(8px * var(--ui-scale));color:var(--text-muted);padding:calc(2px * var(--ui-scale)) 0;display:flex;align-items:center;gap:calc(3px * var(--ui-scale))}.campfire-heart-btn:hover{color:#f35}.campfire-heart-btn:disabled{opacity:.5;cursor:default}.campfire-heart-btn-active{color:#f35}.campfire-message-reply-btn{background:none;border:none;cursor:pointer;font-size:calc(8px * var(--ui-scale));color:var(--text-muted);padding:calc(2px * var(--ui-scale)) 0}.campfire-message-reply-btn:hover{color:var(--green)}.campfire-emoji-picker{position:absolute;bottom:calc(100% + calc(6px * var(--ui-scale)));left:0;z-index:20;display:grid;grid-template-columns:repeat(6,1fr);gap:calc(2px * var(--ui-scale));background:var(--bg-card);border:1px solid var(--border);padding:calc(6px * var(--ui-scale));width:calc(180px * var(--ui-scale));animation:fadeIn .1s ease}.campfire-emoji-btn{background:none;border:none;cursor:pointer;font-size:calc(13px * var(--ui-scale));line-height:1;padding:calc(4px * var(--ui-scale));border-radius:calc(2px * var(--ui-scale))}.campfire-emoji-btn:hover{background:var(--tint-green)}.campfire-reply-inline{margin:calc(6px * var(--ui-scale)) 0 0 calc(32px * var(--ui-scale));padding-left:calc(10px * var(--ui-scale));border-left:2px solid var(--green)}.campfire-compose{display:flex;flex-direction:column;gap:calc(8px * var(--ui-scale))}.campfire-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:calc(8px * var(--ui-scale))}.campfire-char-count{font-size:calc(7px * var(--ui-scale));color:var(--text-muted)}@media (max-width: 600px){.game-header{justify-content:center}.header-brand{display:none}.header-player{align-items:center}.demo-badge-mobile{display:inline-block;order:-1;width:100%;text-align:center;margin-bottom:calc(2px * var(--ui-scale))}}@media (max-width: 360px){.profile-header-card{justify-content:center;text-align:center}.profile-meta{min-width:0}.profile-links,.profile-follow-counts{justify-content:center}}
