#loading{position:fixed;top:0;right:0;bottom:0;left:0;background:#20372d;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:150;transition:opacity .6s}#loading.finished{opacity:0;pointer-events:none}.loading-crystal{font-size:35px;color:#a4ddc4}#loading p{color:#abbbab;font-family:system-ui,sans-serif;font-size:12px}.loading-track{width:150px;height:3px;background:#ffffff15;overflow:hidden}#loading-progress{position:relative;display:block;height:100%;width:100%;background:#a4ddc4;transform:scaleX(.06);transform-origin:left;animation:loading-advance 60s linear forwards}@keyframes loading-advance{0%{transform:scaleX(.06)}to{transform:scaleX(.92)}}#game-status{position:absolute;bottom:max(4px,var(--safe-area-bottom, env(safe-area-inset-bottom, 0px)));right:max(6px,var(--safe-area-right, env(safe-area-inset-right, 0px)));pointer-events:none;-webkit-user-select:none;user-select:none;color:#d7e2cfb3;text-shadow:0 1px 3px #000;font:10px/14px monospace;letter-spacing:.1px;display:flex;align-items:center;gap:8px}#game-status[hidden]{display:none}.offline-notice{position:fixed;right:max(10px,var(--safe-area-right, env(safe-area-inset-right)));bottom:max(10px,var(--safe-area-bottom, env(safe-area-inset-bottom)));z-index:120;width:268px;max-width:calc(var(--game-viewport-width, 100vw) - 20px);box-sizing:border-box;padding:10px 13px;border:1px solid rgb(204 175 112 / 30%);border-radius:9px;background:#192a25f0;color:#e1e7d7;box-shadow:0 3px 16px #0000002e;font:12px/1.4 Arial,sans-serif;pointer-events:none}.offline-notice[hidden]{display:none}.offline-notice strong{display:block;margin-bottom:3px;color:#efd296;font-size:13px}.offline-notice span{color:#aebcaf}.install-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;overflow-y:auto;overscroll-behavior:contain;display:flex;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:radial-gradient(ellipse at 35% 20%,#344f3d,#12271f 80%);color:#edf1df;-webkit-text-size-adjust:100%}.install-card{width:min(860px,100%);margin:auto}.install-intro{text-align:center}.install-icon{display:block;margin:0 auto 12px;border-radius:20px;box-shadow:0 12px 30px #091c2555}.install-device{font-size:11px;color:#abc7b2}.install-intro h1{margin:9px 0;font-size:28px;line-height:1.1;font-weight:600}.install-intro p{max-width:390px;margin:0 auto 22px;color:#bacabc;font-size:13px;line-height:1.6}.install-guide h2{font-size:14px;margin:0 0 12px}.install-steps{list-style:none;counter-reset:install-step;margin:0;padding:0;display:grid;gap:8px}.install-steps li{counter-increment:install-step;display:flex;gap:12px;padding:12px;border:1px solid #a9c09426;border-radius:9px;background:#0c211b66;align-items:center;font-size:12px;line-height:1.5}.install-step-symbol{position:relative;flex:0 0 30px;color:#c8dda0}.install-step-symbol svg{width:26px;height:26px}.install-step-symbol:after{content:counter(install-step);position:absolute;top:-5px;right:-3px;background:#344d35;border-radius:50%;width:14px;height:14px;font-size:9px;line-height:14px;text-align:center}.install-native{margin-top:12px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;min-height:46px;background:#c8dda0;color:#213b2b;font-weight:600;border-radius:8px}.install-native:hover:not(:disabled){background:#d6e9b4}.install-status{font-size:12px;line-height:1.5;color:#c2d7b1;margin:12px 0}.install-help{color:#afc2b3;font-size:12px;line-height:1.6}.install-help summary{cursor:pointer;min-height:40px;padding:10px 0}.install-help p{margin:0 0 12px}.install-address label{display:block;color:#9db2a5;font-size:10px;margin-bottom:5px}.install-invitation{font-size:12px;line-height:1.6;color:#d3dfc2;margin:0 0 12px}.install-address>div{display:flex}.install-address input{flex:1;min-width:0;border:1px solid #a9c09433;border-radius:6px 0 0 6px;background:#0d211a66;color:#b9c8bb;padding:8px 10px;font-size:16px}.install-copy{display:grid;place-items:center;flex:0 0 44px;min-height:44px;border:1px solid #a9c09433;border-left:0;border-radius:0 6px 6px 0}@media(orientation:landscape)and (min-width:600px){.install-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px;align-items:center}.install-intro h1{font-size:26px}.install-intro p{margin-bottom:0}.install-steps li{padding:9px;font-size:11px}}.tutorial-entry,.tutorial-panel button,.tutorial-welcome button{font:inherit;cursor:pointer;touch-action:manipulation;color:#e7edd8;border:1px solid #aec58d55;border-radius:6px;background:#20372e}.tutorial-entry:focus-visible,.tutorial-panel button:focus-visible,.tutorial-welcome button:focus-visible{outline:2px solid #e9c68a;outline-offset:3px}.tutorial-entry{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;font-size:12px;pointer-events:auto}.tutorial-entry[hidden]{display:none}.tutorial-entry svg{width:17px;height:17px;color:#e9c68a}.tutorial-entry-menu{width:100%;margin-top:12px;min-height:42px;font-size:14px}.tutorial-welcome{position:fixed;top:0;right:0;bottom:0;left:0;z-index:240;display:grid;place-items:center;padding:max(16px,var(--safe-area-top, env(safe-area-inset-top))) max(16px,var(--safe-area-right, env(safe-area-inset-right))) max(16px,var(--safe-area-bottom, env(safe-area-inset-bottom))) max(16px,var(--safe-area-left, env(safe-area-inset-left)));background:#081b14d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto}.tutorial-welcome-card{width:min(100%,400px);max-height:100%;overflow-y:auto;box-sizing:border-box;padding:26px;color:#e7edd8;background:#1a3027;border:1px solid #a2b68655;border-radius:12px;box-shadow:0 12px 50px #030d0a88}.tutorial-welcome-card>svg{width:30px;height:30px;color:#e9c68a}.tutorial-welcome h2{font-size:24px;margin:12px 0}.tutorial-welcome p{font-size:15px;line-height:1.5;margin:0 0 12px}.tutorial-welcome .tutorial-welcome-description{color:#adbdab;font-size:13px}.tutorial-welcome button{width:100%;min-height:44px;padding:9px 12px;margin-top:8px}.tutorial-welcome .tutorial-primary{background:#ddbd81;color:#1c2a21;font-weight:650}.tutorial-welcome .tutorial-secondary{background:transparent}.tutorial-welcome small{display:block;color:#96aa98;font-size:11px;text-align:center;margin-top:12px}.tutorial-panel{position:absolute;top:max(14px,var(--safe-area-top, env(safe-area-inset-top)));left:50%;transform:translate(-50%);z-index:65;box-sizing:border-box;width:320px;max-width:calc(100% - 24px);padding:11px 13px;border:1px solid #d4b47b99;border-radius:8px;background:#172f27f5;box-shadow:0 5px 18px #07171055;color:#e8eddb;pointer-events:auto}.tutorial-heading,.tutorial-footer{display:flex;align-items:center;gap:6px}.tutorial-heading>svg{width:15px;height:15px;color:#e9c68a}.tutorial-counter{flex:1;color:#c5cfae;font-size:10px}.tutorial-heading button{display:grid;place-items:center;padding:0;width:26px;height:26px;border-color:transparent;background:transparent}.tutorial-heading button svg{width:14px;height:14px}.tutorial-panel h2{margin:4px 0;font-size:16px;font-weight:650}.tutorial-goal{margin:5px 0 7px;font-size:13px;line-height:1.35}.tutorial-hint{margin:0;color:#b1c3ad;font-size:11px;line-height:1.4}.tutorial-hint-touch{display:none}.tutorial-footer{margin-top:9px;min-height:28px}.tutorial-progress{flex:1;font-size:11px;color:#ddbf85}.tutorial-panel .tutorial-continue{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;font-size:12px;background:#ddbd81;color:#182a20}.tutorial-panel .tutorial-continue[hidden]{display:none}.tutorial-continue svg{width:14px;height:14px}.tutorial-highlight{outline:2px solid #edc77e!important;outline-offset:3px;box-shadow:0 0 0 5px #eac17e33!important}.tutorial-panel.tutorial-collapsed>h2,.tutorial-panel.tutorial-collapsed>p,.tutorial-panel.tutorial-collapsed>.tutorial-footer{display:none}@media(any-pointer:coarse){.tutorial-hint-desktop{display:none}.tutorial-hint-touch{display:block}.tutorial-entry{min-height:34px}.tutorial-heading button{width:32px;height:32px}.tutorial-panel .tutorial-continue{min-height:34px}}@media(max-height:560px)and (orientation:landscape){:where(#app:not([data-landscape-frame=true])) .tutorial-panel{top:max(4px,var(--safe-area-top, env(safe-area-inset-top)));width:275px;padding:6px 9px}:where(#app:not([data-landscape-frame=true])) .tutorial-panel h2{font-size:13px;margin:1px 0 3px}:where(#app:not([data-landscape-frame=true])) .tutorial-goal{font-size:11px;margin:3px 0 4px}:where(#app:not([data-landscape-frame=true])) .tutorial-hint{font-size:10px}:where(#app:not([data-landscape-frame=true])) .tutorial-footer{margin-top:5px;min-height:20px}:where(#app:not([data-landscape-frame=true])) .tutorial-heading button{width:30px;height:28px}:where(#app:not([data-landscape-frame=true])) .tutorial-welcome-card{padding:16px 22px}:where(#app:not([data-landscape-frame=true])) .tutorial-welcome-card>svg{display:none}:where(#app:not([data-landscape-frame=true])) .tutorial-welcome h2{margin-top:0;font-size:20px}:where(#app:not([data-landscape-frame=true])) .tutorial-welcome p{font-size:13px;margin-bottom:8px}}@media(any-pointer:coarse)and (orientation:landscape)and (max-height:600px){:where(#app:not([data-landscape-frame=true])) .main-menu .menu-card{grid-template-areas:"crystal solo" "eyebrow pvp" "title tutorial" "tag note"}:where(#app:not([data-landscape-frame=true])) .menu-card>.tutorial-entry-menu{grid-area:tutorial;margin:4px 0 0;min-height:40px}}@media(any-pointer:coarse)and (orientation:landscape)and (max-width:750px){:where(#app:not([data-landscape-frame=true])) .tutorial-panel{top:calc(max(4px,var(--safe-area-top, env(safe-area-inset-top))) + 76px)}}@media(any-pointer:coarse){@container game-frame (max-height: 560px){.tutorial-panel{top:max(4px,var(--safe-area-top, env(safe-area-inset-top)));width:275px;padding:6px 9px}.tutorial-panel h2{font-size:13px;margin:1px 0 3px}.tutorial-goal{font-size:11px;margin:3px 0 4px}.tutorial-hint{font-size:10px}.tutorial-footer{margin-top:5px;min-height:20px}.tutorial-heading button{width:30px;height:28px}.tutorial-welcome-card{padding:16px 22px}.tutorial-welcome-card>svg{display:none}.tutorial-welcome h2{margin-top:0;font-size:20px}.tutorial-welcome p{font-size:13px;margin-bottom:8px}}@container game-frame (max-height: 600px){.main-menu .menu-card{grid-template-areas:"crystal solo" "eyebrow pvp" "title tutorial" "tag note"}.menu-card>.tutorial-entry-menu{grid-area:tutorial;margin:4px 0 0;min-height:40px}}@container game-frame (max-width: 750px){.tutorial-panel{top:calc(max(4px,var(--safe-area-top, env(safe-area-inset-top))) + 76px)}}}.research-tree-surface .tree-node:hover{background:transparent}.research-tree-surface .tree-node{position:absolute;z-index:2;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;width:146px;padding:0;border:0;background:transparent;outline-offset:7px;color:var(--ink)}.research-tree-surface .node-orb{display:grid;place-items:center;position:relative;width:82px;height:82px;background:radial-gradient(ellipse at 30% 25%,#5a704a,var(--node) 75%);border:1px solid var(--node-edge);border-radius:50%;box-shadow:0 3px 10px #0003,inset 0 0 0 5px #10201755}.research-tree-surface .node-orb:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px solid #aac98b33;border-radius:50%}.research-tree-surface .node-orb>img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated;z-index:1;filter:drop-shadow(0 3px 2px #0004)}.research-tree-surface .orb-fill{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:conic-gradient(from -90deg,#c9db982f calc(var(--progress) * 1turn),transparent 0)}.research-tree-surface .orb-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);transform:rotate(-90deg);overflow:visible}.research-tree-surface .orb-ring circle{fill:none;stroke-width:2}.research-tree-surface .ring-track{stroke:var(--node-edge);opacity:.35}.research-tree-surface .ring-progress{stroke:var(--shine);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--progress) * 100);stroke-linecap:round}.research-tree-surface .tree-node.active .ring-progress{stroke:var(--active);stroke-width:3;filter:drop-shadow(0 0 3px #ddb57655)}.research-tree-surface .tree-node.active .node-orb{border-color:#b9a06a;box-shadow:0 0 22px #d6ab4720,inset 0 0 0 5px #15221955}.research-tree-surface .tree-node.active .orb-fill{background:conic-gradient(from 0deg,#e4c1844a calc(var(--progress) * 1turn),transparent 0)}.research-tree-surface .orb-state{z-index:3;position:absolute;right:-2px;bottom:0;width:19px;height:19px;background:#273c2a;border:1px solid var(--node-edge);border-radius:50%;display:grid;place-items:center;font-size:10px;color:var(--shine)}.research-tree-surface .orb-state:empty{display:none}.research-tree-surface .tree-node>strong{font-size:12px;font-weight:600;text-align:center;text-shadow:0 2px 4px #0004}.research-tree-surface .node-meta{font-size:9px;line-height:1.2;text-align:center;color:var(--muted)}.research-tree-surface .tree-node.active .node-meta{color:var(--active)}.research-tree-surface .tree-node.locked .node-orb{background:#24362b;border-color:#506449;box-shadow:none}.research-tree-surface .tree-node.locked img{filter:saturate(.35) brightness(.78)}.research-tree-surface .tree-node.locked{color:#a2b296}.research-tree-surface .tree-node:hover .node-orb,.research-tree-surface .tree-node:focus-visible .node-orb{border-color:#e4cf94;box-shadow:0 0 0 3px #dcc68b16,0 0 28px #b8c98322}.research-tree-surface .connections{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.research-tree-surface .connections path{fill:none;stroke-width:1.7}.research-tree-surface .line-done{stroke:var(--line)}.research-tree-surface .line-ready{stroke:var(--active)}.research-tree-surface .line-locked{stroke:var(--line);stroke-dasharray:3 6;opacity:.45}.research-tree-surface .connections circle{fill:var(--line)}.research-tree-surface .crystal-root{position:absolute;left:43%;top:580px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}.research-tree-surface .crystal-orb{width:70px;height:70px;border-radius:50%;border:1px solid #91b68b;background:radial-gradient(ellipse,#61937855,#253f31);box-shadow:0 0 30px #73d3a922,inset 0 0 0 5px #15251c66;display:grid;place-items:center}.research-tree-surface .crystal-orb img{width:53px;height:53px;image-rendering:pixelated;filter:drop-shadow(0 0 7px #91ebce44)}.research-tree-surface .crystal-root>strong{font-family:Georgia,serif;font-size:15px;font-weight:400;color:#d5ddba}.research-tree-surface .crystal-root>small{display:flex;align-items:center;gap:4px;font-size:9px;color:#adc49d;white-space:nowrap}.research-tree-surface .crystal-root svg{width:12px;height:12px}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked .node-orb{background:#202927;border-color:#414947;box-shadow:inset 0 0 0 5px #151e1c}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked img{filter:grayscale(1) brightness(0) invert(.44);opacity:.38}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked{color:#68736d}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked small,:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked .node-meta{color:#56615b}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked .node-orb:after{border-color:#58615a30}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.available .node-orb{background:radial-gradient(ellipse at 30% 20%,#756446,#344837 75%);border:2px solid #edc981;box-shadow:0 0 24px #e4b34e26,inset 0 0 0 4px #182c22}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.available img{filter:brightness(1.22) drop-shadow(0 2px 3px #0008)}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.available strong{color:#ffe0a0}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.available small,:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.available .node-meta{color:#e8c48a}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.active .node-orb{background:radial-gradient(ellipse at 30% 20%,#77684c,#3a4b37 75%);border-color:#f8d591;box-shadow:0 0 26px #e6b35530,inset 0 0 0 4px #182c22}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.active .orb-fill{background:conic-gradient(from 0deg,#f5ce7866 calc(var(--progress) * 1turn),transparent 0)}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.active .ring-progress{stroke:#ffe0a3;stroke-width:3}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.complete .node-orb{background:radial-gradient(ellipse at 30% 20%,#6ba885,#285c4c 80%);border:2px solid #adf3cc;box-shadow:0 0 24px #65e4ae30,inset 0 0 0 4px #193d33}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.complete .orb-fill{background:#87e2b52b}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.complete img{filter:brightness(1.25) drop-shadow(0 2px 3px #0008)}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.complete strong{color:#d5ffe5}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.complete small,:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.complete .node-meta{color:#9ce9ba}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.complete .ring-progress{stroke:#c2ffdc;stroke-width:3}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.complete .orb-state{width:24px;height:24px;background:#9be6b7;border:2px solid #dbffe8;color:#153c2b;font-size:14px;font-weight:800;box-shadow:0 2px 6px #0006}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node small{font-size:10px;text-align:center;color:#aec5a4}:is(.theme-crystal,.research-window) .research-tree-surface .line-done{stroke:#99e1b7;stroke-width:2.5}:is(.theme-crystal,.research-window) .research-tree-surface .line-ready{stroke:#e3c285}:is(.theme-crystal,.research-window) .research-tree-surface .line-locked{stroke:#63736b;opacity:.4}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node:hover .node-orb,:is(.theme-crystal,.research-window) .research-tree-surface .tree-node:focus-visible .node-orb,:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.is-selected .node-orb{outline:2px solid #fff0bc;outline-offset:5px}:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked.is-selected .node-orb,:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked:hover .node-orb,:is(.theme-crystal,.research-window) .research-tree-surface .tree-node.locked:focus-visible .node-orb{outline-color:#8c9891;box-shadow:none}.research-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#081612d9;display:grid;place-items:center;pointer-events:auto}.research-overlay[hidden]{display:none}.research-window{--node: #2b4230;--node-edge: #738b58;--shine: #b1d193;--line: #9cad79;--active: #e4c184;--ink: #e4ebd4;--muted: #9dae92;width:min(1440px,calc(100% - 32px));height:min(920px,calc(var(--game-viewport-height, 100dvh) - 32px));display:flex;flex-direction:column;max-height:calc(var(--game-viewport-height, 100vh) - 32px);overflow:hidden;padding:0;border:1px solid #66836a;background:#192e25;box-shadow:0 20px 80px #0009;border-radius:12px}.research-window>header{display:flex;align-items:center;gap:12px;padding:18px 24px;border-bottom:1px solid #73906c40}.research-window header>svg{width:28px;height:28px;color:#9ce6d2}.research-window h2{margin:0;font-size:21px;font-weight:500}.research-window header small{display:block;margin-top:5px;color:#97ac94;font-size:10px}.research-window header button{margin-left:auto;width:32px;height:32px;font-size:24px}.research-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 246px}.research-tree-surface{position:relative;overflow:hidden;min-height:0;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:radial-gradient(ellipse at 48% 80%,#6c8d4420,transparent 68%),radial-gradient(#80966628 .6px,transparent .6px);background-size:auto,16px 16px}.research-tree-surface .tree-board{position:absolute;top:0;left:0;transform-origin:0 0}.research-tree-surface.is-panning,.research-tree-surface.is-panning .tree-node{cursor:grabbing}.research-view-controls{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;align-items:center;background:#14271fed;border:1px solid #73906c70;border-radius:6px;overflow:hidden;cursor:default}.research-view-controls button{min-width:34px;height:32px;padding:0 9px;border:0;background:transparent;color:#e4ebd4;font-size:18px}.research-view-controls [data-fit]{min-width:54px;font-size:11px;font-variant-numeric:tabular-nums}.research-view-controls button:hover{background:#73906c40}.research-assignment{min-height:0;overflow-y:auto;border-left:1px solid #73906c40;padding:22px 16px;background:#14271f80}.research-assignment>img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}.research-assignment h3{margin:10px 0;font-size:16px}.research-assignment p{color:#b5c4ab;font-size:12px;line-height:1.6;min-height:34px}.research-assignment .task-workers{max-height:350px}.research-legend{flex-shrink:0;display:flex;flex-wrap:wrap;gap:18px;padding:14px 24px;border-top:1px solid #73906c40;font-size:10px;color:#b1c1a9}.research-legend span{display:flex;align-items:center;gap:6px}.research-legend i{width:6px;height:6px;border-radius:50%}.legend-done{background:#aff1c9}.legend-ready{background:#efce88}.legend-active{background:#fbe1ac}.legend-locked{background:#626d67}.research-tooltip{position:fixed;z-index:70;width:280px;padding:16px;background:#10251e;color:#e6f0de;border:1px solid #839d79;border-radius:9px;box-shadow:0 10px 40px #0008;pointer-events:none}.research-tooltip[hidden]{display:none}.research-tooltip-heading{display:flex;align-items:center;gap:12px}.research-tooltip-heading img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}.research-tooltip-heading strong{display:block;font-size:15px}.research-tooltip-heading small{display:block;margin-bottom:5px;color:#dfcf98;font-size:10px}.research-tooltip p{font-size:12px;line-height:1.65;color:#b9cab2}.research-tooltip .research-benefit{color:#eee0ae;font-size:11px}.research-tooltip [data-tip-time]{border-top:1px solid #627b5944;padding-top:12px;font-size:11px;line-height:1.7}.build-option:disabled{opacity:.4;cursor:default}@media(max-width:950px){:where(#app:not([data-landscape-frame=true])) .research-layout{grid-template-columns:minmax(0,1fr) 210px}}@media(max-width:760px){:where(#app:not([data-landscape-frame=true])) .research-layout{grid-template-columns:1fr;grid-template-rows:minmax(220px,1fr) minmax(0,180px)}:where(#app:not([data-landscape-frame=true])) .research-assignment{border-left:0;border-top:1px solid #73906c40}:where(#app:not([data-landscape-frame=true])) .research-assignment .task-workers{max-height:180px}}.selection-card.task-card>.production-recipes{display:flex;gap:6px;margin:8px 0;flex-direction:row}.selection-card .production-recipes button{display:flex;align-items:center;gap:6px;margin-left:0;font-size:12px;padding:6px 8px;border:1px solid #5c7561;border-radius:4px}.production-recipes button[aria-pressed=true]{border-color:#d3c089;background:#40503a}.production-recipes svg{width:18px;height:18px}.selection-card.task-card>.production-cost{display:flex;align-items:center;gap:5px;flex-direction:row;margin-bottom:8px;color:#bbcca9;font-size:12px}.production-cost svg{width:18px;height:18px}.selection-card.task-card>.rack-summary{display:flex;gap:10px;flex-direction:row;align-items:center;margin:10px 0}.rack-summary img{width:42px;height:42px;object-fit:contain}.rack-summary div{display:grid;gap:4px}.selection-card.task-card>.production-queue{display:flex;flex-direction:row;align-items:center;gap:5px;overflow-x:auto;padding:3px 0 7px;font-size:12px;color:#d5dfc3}.production-order{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;padding:3px 5px;border-radius:4px;background:#78936824}.production-order svg{width:18px;height:18px}.production-order-arrow,.production-queue-empty{color:#99ad98}.selection-card .production-order button{width:20px;height:22px;padding:0;border:0;background:transparent;color:#dba28d;line-height:1;font-size:17px}.selection-card .production-order button:hover{background:#663e354d;color:#ffd6c9}#interface{--hud-inset: 24px;--hud-top: var(--hud-inset);--clock-width: 258px}#interface :is(.wave-panel,.resources).panel{background:transparent;border-color:transparent;box-shadow:none}#interface .wave-panel{position:relative;isolation:isolate}#interface .wave-panel:before,#interface #game-controls:before{content:"";position:absolute;z-index:-1;pointer-events:none;background:#192d27ee;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;box-shadow:0 4px 24px #101c2738}#interface .wave-panel:before{top:calc(-1 * var(--hud-top) - 1px);right:-1px;bottom:-1px;left:-1px}#interface #game-controls:before{top:0;right:var(--resources-right, var(--hud-inset));width:var(--resources-width, 0px);height:var(--resources-bottom, 0px)}.left-panels{position:absolute;top:var(--hud-inset);left:var(--hud-inset);display:flex;flex-direction:column;align-items:stretch;width:var(--clock-width);gap:8px}.wave-panel{width:100%;padding:8px 10px}.resources{position:absolute;top:var(--hud-inset);right:var(--hud-inset);display:flex;align-items:center;gap:10px;padding:10px 12px}.resource{display:flex;align-items:center;gap:6px;min-width:74px}.resource>svg{width:30px;height:30px;flex-shrink:0;filter:drop-shadow(0 2px 2px #08191466)}.resource>div{display:flex;flex-direction:column;gap:2px}.resource span{font-size:10px;color:var(--muted)}.resource strong{font-size:22px;font-weight:600;line-height:1.15;white-space:nowrap;font-variant-numeric:tabular-nums}.resource-divider{height:30px;width:1px;flex-shrink:0;background:var(--line)}.storage-resource{min-width:125px}.storage-resource>svg{color:#c5d9a5}.storage-resource strong{color:#dce8cc;font-size:20px}.pause-toggle{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;pointer-events:auto;color:#d4e0c5;border:1px solid var(--line);border-radius:5px}.pause-toggle>span{display:flex;align-items:center;justify-content:center}.pause-toggle svg{width:18px;height:18px}.wave-heading{display:flex;align-items:center;flex-shrink:0;gap:5px;font-size:11px;white-space:nowrap}.wave-dot{width:6px;height:6px;border-radius:50%;background:#e4b57f;box-shadow:0 0 8px #e4b57f44}.wave-main{display:flex;align-items:center;gap:8px;min-height:32px}#wave-status{min-width:0;font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.5px;white-space:nowrap}.wave-actions{display:flex;align-items:center;flex-shrink:0;margin-left:auto;gap:4px}#start-wave{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;color:#e4b57f;border:1px solid #e4b57f44;border-radius:5px;padding:0}#start-wave svg{width:21px;height:21px}#wave-detail{color:var(--muted);font-size:10px;margin:4px 0 0;text-align:center}@media(max-width:820px){#interface{--hud-inset: 12px;--clock-width: 220px}.resources{gap:6px;padding:8px 10px}.resource{min-width:60px;gap:4px}.resource>svg{width:25px;height:25px}.resource strong{font-size:19px}.storage-resource{min-width:112px}.storage-resource strong{font-size:18px}}@media(max-width:640px){#interface{--clock-width: 210px}.resources{display:grid;grid-template-columns:auto auto;gap:8px 12px}.resource-divider{display:none}.resource{min-width:90px}.storage-resource{min-width:112px}.wave-panel{padding:7px 8px}}@media(max-width:440px){#interface{--clock-width: 150px}.resources{gap:8px;padding:8px}.resource{min-width:64px}.resource>svg{width:21px;height:21px}.resource strong{font-size:17px}.storage-resource{min-width:105px}.storage-resource strong{font-size:15px}.wave-main{flex-wrap:wrap;gap:4px}#wave-status{font-size:16px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#wave-detail{font-size:9px}}@media(max-width:370px){#interface{--clock-width: 135px}}.resources>.resource-divider:has(+.resource[hidden]){display:none}#interface{--build-menu-width: 258px;--build-menu-height: min(360px, calc(102px + var(--build-choice-count, 3) * 56px))}.build-dock{position:absolute;left:var(--hud-inset);top:max(194px,calc(50% - var(--build-menu-height) / 2));width:var(--build-menu-width);max-height:var(--build-menu-height);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#79936a #172a23;padding:13px}.build-buttons{display:grid;grid-template-columns:1fr;gap:8px}.is-building .selection-card.build-task-card{left:var(--hud-inset);top:auto;bottom:var(--hud-inset);max-height:max(80px,calc(100% - max(194px,calc(50% - var(--build-menu-height) / 2)) - var(--build-menu-height) - 12px - var(--hud-inset)))}@media(max-height:640px)and (min-width:601px){.build-dock{top:194px;max-height:calc(100% - 194px - var(--hud-inset))}}@media(max-width:600px){.build-dock{top:max(188px,calc(50% - var(--build-menu-height) / 2));max-height:calc(100% - 200px)}.is-building .selection-card.build-task-card{max-height:max(80px,calc(100% - max(188px,calc(50% - var(--build-menu-height) / 2)) - var(--build-menu-height) - 12px - var(--hud-inset)))}}:root{font-family:Segoe UI,Arial,sans-serif;color:#edf1df;background:#283c2c;font-synthesis:none;font-size:14px;-webkit-font-smoothing:antialiased;--muted: #a3b4a5;--accent: #c8dda0;--line: #a9c09433}*{box-sizing:border-box}html,body,#app,#game{margin:0;width:100%;height:100%;overflow:hidden}#app{position:fixed;top:0;right:0;bottom:0;left:0;height:auto}body{overscroll-behavior:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent}button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{cursor:default;opacity:.42}button:not(:disabled):hover{background:#a9c09418}button svg{width:20px;height:20px;display:block}[hidden]{display:none!important}#game canvas{display:block;touch-action:none}#interface{position:fixed;z-index:2;top:0;right:0;bottom:0;left:0;pointer-events:none;-webkit-user-select:none;user-select:none}.panel{background:#192d27ee;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 24px #101c2738}.wave-panel,.build-dock,.selection-card,.battle-result{pointer-events:auto}.build-heading{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:1.3px;margin:0 3px 9px}#build-queue{letter-spacing:0;color:var(--accent)}.build-option{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);border-radius:5px;padding:9px 8px;position:relative}.build-option[aria-pressed=true]{border-color:#c8dda0;background:#a9c09422;box-shadow:inset 0 0 0 1px #c8dda022}.build-option>img{width:40px;height:40px;image-rendering:pixelated;object-fit:contain}.build-option strong{font-size:13px;font-weight:600}.build-cost{display:flex;gap:8px;margin-top:3px}.build-cost>span{display:flex;align-items:center;gap:3px;color:#c8d5c1;font-size:11px}.build-cost svg{width:17px;height:17px}#build-mode{margin:10px 3px 0;display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:10px;color:var(--muted)}#cancel-build{font-size:10px;white-space:nowrap;padding:4px 0 4px 6px}.selection-card{position:absolute;bottom:var(--hud-inset);left:var(--hud-inset);padding:12px;display:flex;align-items:center;gap:12px;min-width:195px}.selection-card>img{width:40px;height:40px;image-rendering:pixelated}.selection-card>div{display:flex;flex-direction:column;gap:4px}.selection-card strong{font-size:13px}.selection-card span,.selection-card small{font-size:10px;color:var(--muted)}.selection-card button{font-size:22px;padding:8px;margin-left:auto}.toast{position:absolute;left:50%;bottom:170px;transform:translate(-50%);padding:11px 18px;font-size:12px;max-width:90%;text-align:center}.battle-result{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(360px,90vw);padding:30px;text-align:center;box-shadow:0 0 0 100vmax #0e201977}.result-label{font-size:10px;color:var(--muted);letter-spacing:2px}.battle-result h2{font-size:25px;font-weight:600;margin:12px 0}.battle-result p{font-size:13px;color:var(--muted);line-height:1.7}.primary-button{background:#bed598;color:#20352a;border-radius:5px;padding:12px 20px;width:100%;margin-top:12px;font-weight:600}.primary-button:hover:not(:disabled){background:#d1e4b0}@media(max-width:760px){.toast{bottom:220px}}@media(max-width:450px){dl>div{grid-template-columns:1fr;gap:4px}}.task-menu{position:absolute;width:270px;height:270px;pointer-events:auto;z-index:4;border-radius:50%;background:radial-gradient(circle,#1b302aee 0 32%,#182c26d9 33% 67%,transparent 68%);filter:drop-shadow(0 6px 12px #0c1d1c66)}.radial-center{position:absolute;left:99px;top:109px;width:72px;height:52px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:9px;letter-spacing:1px;color:#b3c6b1}.radial-center small{font-size:10px;color:#e3eace;letter-spacing:0}.radial-choice{position:absolute;width:80px;height:80px;border-radius:50%;background:#263f33;border:1px solid #bed59855;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:11px}.radial-choice svg{width:27px;height:27px}.radial-build{left:95px;top:0;color:#d9e8bd}.radial-wood{left:0;top:95px;color:#dfbd8d;border-color:#d9af6855}.radial-stone{right:0;top:95px;color:#b7d6e4;border-color:#95bacb55}.radial-choice:hover:not(:disabled){background:#3c5944;transform:scale(1.06)}.base-menu{position:absolute;width:244px;z-index:4;padding:14px;pointer-events:auto}#archer-station-actions{display:flex;gap:4px}#archer-station-actions>button{flex:1;white-space:nowrap}.base-menu-heading{font-size:10px;letter-spacing:1px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);margin-bottom:6px}.base-menu-heading button{font-size:23px;padding:0 4px}.base-action{display:flex;gap:12px;align-items:center;text-align:left;padding:12px 8px;width:100%;border-top:1px solid var(--line)}.base-action>svg{width:25px;height:25px;color:#bce9d9}.base-action span{font-size:12px}.base-action small{display:flex;align-items:center;gap:4px;color:#9dd6d9;margin-top:5px}.base-action small svg{width:16px;height:16px}.selection-card.task-card{display:block;width:318px;max-height:50vh;overflow:auto;padding:14px}.task-card>.task-heading{flex-direction:row;display:flex;align-items:center;gap:9px}.task-heading>svg{width:22px;height:22px;color:var(--accent)}.task-heading button{padding:0 3px;font-size:22px;margin-left:auto}.task-card>.task-radius{flex-direction:row;display:flex;align-items:center;gap:5px;margin:14px 0 7px;color:var(--muted);font-size:11px;flex-wrap:wrap}.task-status{font-size:10px;color:var(--muted);margin:8px 0;line-height:1.6}.task-card>.task-meta{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;margin:6px 0}.task-meta>.task-radius{display:flex;gap:3px;color:var(--muted);font-size:10px;white-space:nowrap}.task-meta>.task-status{margin:0}@media(max-width:600px){.selection-card.task-card{max-height:43vh}}.storage-resource.full strong{color:#dbac75}#storage-return{color:#dbac75;font-size:10px}.storage-bonus{display:block;color:var(--muted);font-size:10px;margin-top:3px}.radial-choice svg{width:34px;height:34px}@media(max-width:600px){.selection-card.task-card{width:min(318px,calc(100vw - 24px))}}.task-card>.tower-summary{display:flex;flex-direction:row;align-items:center;gap:14px;padding:6px 4px 12px}.tower-summary img{width:64px;height:64px;object-fit:contain;image-rendering:pixelated}.tower-summary div{display:flex;flex-direction:column;gap:5px}.tower-summary strong{font-size:18px;color:#edf1df}.tower-summary small,.tower-summary span{font-size:12px;color:var(--muted)}.task-card>.tower-actions{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5px;margin:0 0 5px}.tower-actions>button{min-width:0;min-height:34px;margin:0;padding:5px;gap:4px;font-size:11px}.tower-actions>button>span{white-space:nowrap}.tower-actions>button>svg{width:16px;height:16px}.tower-actions>.tower-reload{display:flex;flex-direction:row;align-items:center;width:100%;color:#dce8b9;border:1px solid #b7c98a55;border-radius:6px;background:#b7c98a14}.tower-reload>svg{width:20px;height:20px;flex-shrink:0}.tower-reload small{display:flex;align-items:center;gap:2px;margin-left:auto;font-size:11px;white-space:nowrap}.tower-reload small svg{width:16px;height:16px}.tower-reload:hover:not(:disabled){background:#b7c98a30;border-color:#b7c98a99}.tower-reload:disabled{opacity:.5;cursor:default}.radial-repair{left:95px;bottom:0;color:#99d8b6;border-color:#87c9aa66}.task-card>.repair-cost{padding:0 0 5px;font-size:10px;color:var(--muted)}.repair-cost summary{cursor:pointer;padding:4px 0}.repair-rates{display:flex;flex-direction:column;gap:5px;margin-top:3px}.repair-cost span,.repair-cost b{display:flex;align-items:center;gap:5px}.repair-cost span{justify-content:space-between}.repair-cost b{color:#d7dfc7;font-weight:500;white-space:nowrap}.repair-cost svg{width:20px;height:20px;flex-shrink:0}.tower-control{display:flex;align-items:center;gap:8px;width:100%;margin:8px 0;padding:10px;border:1px solid var(--line);border-radius:5px;text-align:left;font-size:12px}.tower-control svg{width:20px;height:20px;flex-shrink:0;color:var(--accent)}.tower-control[aria-pressed=true]{border-color:#c8dda0;background:#a9c09422}.pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;pointer-events:auto;background:#07161366;cursor:default}.pause-menu{width:min(300px,calc(100vw - 32px));padding:24px;box-shadow:0 12px 48px #07161366}.pause-menu-heading{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px}.pause-menu-heading h2{font-size:24px;font-weight:600;margin:0}.pause-menu-heading svg{width:24px;height:24px;color:var(--accent)}.pause-menu-action{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:12px 16px;border:1px solid var(--line);border-radius:6px}.pause-menu-action+.pause-menu-action{margin-top:10px}.pause-menu-action svg{flex-shrink:0}.pause-menu-continue{color:var(--accent);background:#a9c09412;border-color:#c8dda066}.pause-message{font-size:12px;line-height:1.5;margin:16px 0 0;color:#e4b57f}.is-paused :is(.build-dock,.selection-card,.toast){visibility:hidden}.task-menu .radial-build{left:95px;top:0}.task-menu .radial-wood{left:3px;top:68px}.task-menu .radial-stone{left:187px;right:auto;top:68px}.task-menu .radial-grass{left:38px;top:179px;color:#bdd994}.task-menu .radial-repair{left:152px;top:179px}.main-menu{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#435d47,#132720 75%)}.menu-card{width:min(480px,92vw);padding:40px;text-align:center}.menu-crystal{display:block;font-size:72px;line-height:1.1;color:#b2f4e5;text-shadow:0 0 32px #5acaca66}.eyebrow{letter-spacing:3px;font-size:11px;color:#b1c7aa}.menu-card h1{font-size:42px;line-height:1.1;font-weight:600;margin:22px 0}.menu-card p,.pvp-lobby p{line-height:1.6;color:#b1c4b8}.main-menu a,.pvp-interface a{color:inherit;text-decoration:none}.menu-card a{display:block;border:1px solid #8caf8b55;border-radius:7px;padding:16px;margin:12px 0;font-size:17px}.primary{background:#c8dda0!important;color:#23372b!important;border-radius:6px;padding:12px 24px;font-weight:600}.menu-card small{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;opacity:.65;margin-top:6px}.menu-note{font-size:11px!important;color:#9eafa3!important;line-height:1.5}[aria-disabled=true]{opacity:.4;cursor:default}.pvp-interface{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100}.pvp-interface[data-stage=preparing],.pvp-interface[data-stage=lobby]{background:radial-gradient(ellipse at 50% 40%,#435d47,#132720 75%);pointer-events:auto}#app:is([data-pvp-stage=preparing],[data-pvp-stage=lobby]) :is(#game,#interface){visibility:hidden;pointer-events:none}.pvp-lobby{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(490px,92vw);padding:28px;text-align:center;max-height:calc(100dvh - 32px);overflow-y:auto;background:#192d27}.pvp-lobby h1{font-size:25px;font-weight:500}.pvp-lobby label{text-align:left;display:block;font-size:11px;color:#a9bcb0}.pvp-lobby input{display:block;margin-top:6px;width:100%;padding:10px;color:#dcebdd;background:#0e211b;border:1px solid #b4c9a944;border-radius:4px}.pvp-lobby-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.pvp-lobby-actions .primary-button{margin-top:0}.pvp-readiness{min-height:110px;padding:14px 12px;border:1px solid var(--line);border-radius:6px;background:#10261e}.pvp-readiness #pvp-status{margin:0;min-height:44px;font-weight:600;color:#d9e6ce}.pvp-readiness #pvp-ready-note{margin:6px 0 0;font-size:12px}.pvp-readiness.is-ready{border-color:#c8dda066}.pvp-readiness.is-ready #pvp-status{color:var(--accent)}.pvp-lobby #pvp-ready:disabled{opacity:1;background:#2c4938;color:#d2dfbd}.pvp-result{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(450px,90vw);text-align:center;padding:30px}.pvp-result h2{font-size:30px;color:#cee6a7}.pvp-result a{display:inline-block;background:#b5d19825;border:1px solid #b5d19844;padding:12px 20px;border-radius:5px;margin-top:15px}#pvp-incident{margin-top:20px;padding-top:16px;border-top:1px solid #b5d19844}#pvp-incident-id{display:block;margin:8px 0;font-size:15px;-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;color:#e0eab7}.pvp-report-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.pvp-report-actions button{border:1px solid var(--line);border-radius:5px;padding:8px 12px}.pvp-lobby,.pvp-result{pointer-events:auto}.pvp-lobby button{border:1px solid var(--line);border-radius:5px;padding:10px 18px}.pvp-lobby-actions{margin-bottom:15px}#wave-status.network-status{font-size:15px;line-height:1.4}@media(max-width:700px){.menu-card h1{font-size:34px}}.pvp-interface[data-stage=recovering]{pointer-events:auto;background:#09181099}.pvp-recovery{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,90vw);padding:26px;text-align:center;pointer-events:auto}.pvp-recovery button{padding:10px 18px;border:1px solid var(--line);border-radius:5px}.room-browser{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(ellipse at 50% 15%,#324d3d,#11241e 75%)}.room-browser-content{width:100%;max-width:900px;height:100%;min-height:0;margin:0 auto;display:flex;flex-direction:column;gap:20px;overflow:hidden;padding:max(28px,var(--safe-area-top, env(safe-area-inset-top))) max(28px,var(--safe-area-right, env(safe-area-inset-right))) max(28px,var(--safe-area-bottom, env(safe-area-inset-bottom))) max(28px,var(--safe-area-left, env(safe-area-inset-left)))}.room-browser-content>header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex:none}.room-browser a{text-decoration:none;color:inherit}.room-browser-actions{display:flex;align-items:stretch;gap:8px;min-width:0}.room-browser-actions>:is(a,button),.room-back{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 14px;font-size:13px;line-height:1.25}.room-browser-actions>:is(a,button)>svg,.room-back>svg{width:18px;height:18px;flex-shrink:0}.room-back{color:#bdcebf!important;padding:10px 0;flex-shrink:0}.room-link-action{color:#e4ecd9;border:1px solid #aac68a55;border-radius:6px;background:#73995e22}.room-heading{flex:none;margin:24px 0 12px}.room-heading h1{font-size:clamp(30px,4vw,44px);font-weight:500;margin:10px 0}.room-heading p{margin:0;color:#adc2b2;line-height:1.6}.room-list-region{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.room-list-heading{flex:none;display:flex;justify-content:space-between;color:#cfdfcf;border-bottom:1px solid #98b39a33;padding:0 0 12px;font-size:13px}#room-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#789871 transparent}#room-list:empty{display:none}.room-row{display:flex;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid #98b39a22}.room-emblem{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border:1px solid #a7c78a55;border-radius:12px;font-size:24px;color:#cfe1a6;background:#73995e15}.room-details{display:grid;gap:6px;min-width:0;flex:1}.room-details strong{font-size:16px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-details span{color:#b0c4ad;font-size:12px}.room-join{display:grid;place-items:center;flex-shrink:0;min-height:40px;border:1px solid #aac68a55;border-radius:6px;padding:10px 16px;background:#73995e22;font-size:13px}.room-join:hover:not([aria-disabled=true]){background:#73995e44}#room-list-status{flex:1 1 auto;display:grid;align-content:center;margin:0;padding:24px;text-align:center;color:#b0c4ad;line-height:1.6}#room-list-status.room-list-error{color:#e9c19e}.room-list-note{flex:none;margin:0}#app[data-landscape-frame=true]{inset:auto;top:50%;left:50%;width:var(--game-viewport-width);height:var(--game-viewport-height);transform:translate(-50%,-50%) rotate(var(--game-frame-rotation));transform-origin:center;container:game-frame / size;--safe-area-top: env(safe-area-inset-top);--safe-area-right: env(safe-area-inset-right);--safe-area-bottom: env(safe-area-inset-bottom);--safe-area-left: env(safe-area-inset-left)}#app[data-frame-rotation="90"]{--safe-area-top: env(safe-area-inset-right);--safe-area-right: env(safe-area-inset-bottom);--safe-area-bottom: env(safe-area-inset-left);--safe-area-left: env(safe-area-inset-top)}#app[data-frame-rotation="180"]{--safe-area-top: env(safe-area-inset-bottom);--safe-area-right: env(safe-area-inset-left);--safe-area-bottom: env(safe-area-inset-top);--safe-area-left: env(safe-area-inset-right)}#app[data-frame-rotation="270"]{--safe-area-top: env(safe-area-inset-left);--safe-area-right: env(safe-area-inset-top);--safe-area-bottom: env(safe-area-inset-right);--safe-area-left: env(safe-area-inset-bottom)}.mobile-rotate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 40%,#344e3e,#12271f 80%);text-align:center;touch-action:none;-webkit-user-select:none;user-select:none;outline:none}.mobile-rotate-symbol{position:relative;color:#c8dda0;margin-bottom:20px}.mobile-rotate-symbol>svg:first-child{width:72px;height:72px;transform:rotate(-25deg);stroke-width:1.2}.mobile-rotate-symbol>svg:last-child{position:absolute;right:-21px;top:-4px;width:29px;height:29px;stroke-width:1.5}.mobile-rotate h1{max-width:300px;margin:0 0 14px;font-size:25px;font-weight:500}.mobile-rotate p{max-width:270px;margin:0;color:#bdcebf;line-height:1.6}@media(any-pointer:coarse){.main-menu{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;overflow-y:auto;padding:max(10px,var(--safe-area-top, env(safe-area-inset-top))) max(12px,var(--safe-area-right, env(safe-area-inset-right))) max(10px,var(--safe-area-bottom, env(safe-area-inset-bottom))) max(12px,var(--safe-area-left, env(safe-area-inset-left)))}.menu-card{flex:none;margin:auto;width:min(500px,100%);padding:20px}.menu-card .menu-crystal{font-size:52px}.menu-card h1{font-size:32px;margin:16px 0}.menu-card a{min-height:44px;padding:12px}.room-browser-content{gap:10px;padding:max(12px,var(--safe-area-top, env(safe-area-inset-top))) max(24px,var(--safe-area-right, env(safe-area-inset-right))) max(12px,var(--safe-area-bottom, env(safe-area-inset-bottom))) max(24px,var(--safe-area-left, env(safe-area-inset-left)))}.room-browser-content>header{gap:10px}.room-browser-actions{gap:6px}.room-browser-actions>:is(a,button),.room-back{min-height:40px;padding:8px 10px;font-size:12px;gap:5px}.room-back{padding:8px 0}.room-browser-actions>:is(a,button)>svg,.room-back>svg{width:16px;height:16px}.room-heading{margin:0}.room-heading .eyebrow{font-size:9px;letter-spacing:2px}.room-heading h1{margin:4px 0;font-size:24px;line-height:1.15}.room-heading p{font-size:11px;line-height:1.4}.room-list-heading{padding-bottom:7px;font-size:11px}.room-row{gap:10px;padding:8px 0}.room-emblem{width:32px;height:32px;border-radius:8px;font-size:19px}.room-details{gap:3px}.room-details strong{font-size:13px}.room-details span{font-size:11px}.room-join{padding:8px 10px;font-size:12px}#room-list-status{padding:12px 18px;font-size:12px}.room-list-note{font-size:10px!important;line-height:1.35}}@container game-frame (max-height: 600px){.menu-card{width:min(920px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"crystal solo" "eyebrow pvp" "title note" "tag note";column-gap:26px;row-gap:4px;align-items:center;padding:12px}.menu-card>.menu-crystal{grid-area:crystal;font-size:46px}.menu-card>.eyebrow{grid-area:eyebrow;font-size:9px;margin:2px 0}.menu-card>h1{grid-area:title;font-size:clamp(24px,4vw,34px);margin:8px 0}.menu-card>p:not([class]){grid-area:tag;font-size:12px;margin:6px 0}.menu-card>a.primary{grid-area:solo;margin:0}.menu-card>a.secondary{grid-area:pvp;margin:6px 0 0}.menu-card>.menu-note{grid-area:note;margin:6px 0}}
