:root{--ivory:#eee5cc;--muted:#a7aa94;--gold:#c9ad70;--line:#8a775049;--crystal:#c4c6ee;--panel:#1c2118;--dock:174px;--serif:Georgia,'Batang',serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#151a11;color:var(--ivory);font-family:'Malgun Gothic',system-ui,sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #f3d899;outline-offset:4px}svg{width:24px;height:24px;display:inline-block;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}#world{position:fixed;inset:0;touch-action:none;cursor:grab}#world:active{cursor:grabbing}.game-ui{position:fixed;z-index:4}body[data-mode=title] .game-ui,body[data-mode=title] #pausedLabel{display:none}body[data-mode=playing] #titleScreen{display:none}[hidden]{display:none!important}.overline,.eyebrow,.dock-label,.dock-section-label{font-size:10px;letter-spacing:.12em;color:var(--muted)}.overline{color:var(--gold);letter-spacing:.26em}.emblem{border:1px solid var(--gold);color:var(--gold);width:41px;height:44px;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%)}
#loading{position:fixed;inset:0;background:#14190f;z-index:50;display:flex;align-items:center;justify-content:center;gap:14px;color:#bfc3a7;font-size:13px}.loading-ring{width:23px;height:23px;border:1px solid #4d5741;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
#titleScreen{position:fixed;inset:0;z-index:10;text-align:center}.title-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,#0c190c40,#0a120bc9 75%),linear-gradient(0deg,#091009c9,transparent 50%,#101a0d88);backdrop-filter:blur(1px)}.title-crest{position:absolute;top:9%;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:15px;font:11px Georgia,serif;letter-spacing:.3em;color:#d1bc87}.title-crest svg{width:40px;height:40px}.title-copy{position:absolute;bottom:calc(50% + 66px);width:100%}.title-copy h1{font:normal clamp(36px,5.5vw,82px) var(--serif);letter-spacing:.06em;margin:19px 0;color:#f4e6be;text-shadow:0 3px 28px #0008}.title-copy p{font-size:13px;font-weight:400;letter-spacing:.1em;color:#b7bea8;margin:0}.start-button{display:flex;align-items:center;justify-content:center;gap:30px;border:1px solid #b69860;background:linear-gradient(110deg,#4c4b2dd9,#747044cc,#4c4b2dd9);box-shadow:inset 0 0 0 4px #1a211880,0 8px 40px #0006;height:64px;min-width:292px;font:600 18px var(--serif);letter-spacing:.1em;color:#f6e7c3;transition:.2s}.start-button:hover{background:#8b794acc;box-shadow:0 0 28px #e4c37222}.diamond{font-size:8px;color:#ceb77e}#startBtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.title-settings{position:absolute;top:calc(50% + 57px);left:50%;transform:translateX(-50%);background:none;border:0;display:flex;align-items:center;gap:10px;color:#b6bca6;font-size:13px;padding:12px 30px}.title-settings svg{width:17px;height:17px}.title-settings:hover{color:#f1dfb3}.title-footer{position:absolute;bottom:35px;width:100%;display:flex;align-items:center;justify-content:center;gap:30px;color:#8b9681;font-size:10px;letter-spacing:.1em}.title-footer button{color:inherit;background:none;border:0;font-size:10px}
.hud{top:16px;left:22px;right:22px;height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.hud>*{pointer-events:auto}.identity,.treasury,.top-actions{display:flex;align-items:center;gap:16px}.identity{background:linear-gradient(90deg,#171e15eb,#171e15cc);border:1px solid var(--line);padding:11px 18px;min-height:64px;box-shadow:0 5px 20px #10180d40}.eyebrow{font-size:9px;letter-spacing:.14em;display:block;margin-bottom:4px}.identity strong{font:600 17px var(--serif)}.hud-divider{height:30px;width:1px;background:var(--line);margin:0 8px}.castle-health{width:140px}.castle-health>div:first-child{display:flex;justify-content:space-between;font-size:10px;color:#aab497;margin-bottom:8px}.castle-health b{font-size:10px;font-weight:500;color:#d8ddc8}.bar{height:4px;background:#0e150d;border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;width:100%;background:#93ab71;transition:width .1s}.treasury{background:#192016ed;border:1px solid var(--line);padding:11px 24px;gap:30px;box-shadow:0 5px 20px #10180d40}.resource-count{display:flex;align-items:center;gap:10px;min-width:90px}.resource-count svg{width:33px;height:33px}.resource-count small{display:block;font-size:9px;letter-spacing:.08em;color:#a2aa94}.resource-count strong{font:600 22px Georgia,serif;display:block;margin-top:1px;font-variant-numeric:tabular-nums}.gold-count strong{color:#e7c576}.crystal-count strong{color:#c2c9fa}.top-actions{gap:7px}.top-actions button,.camera-tools button{width:41px;height:41px;border:1px solid var(--line);background:#1d2519df;display:grid;place-items:center;color:#c7c8b3}.top-actions svg{width:21px;height:21px}.top-actions button:hover,.camera-tools button:hover{background:#485039}
.location{top:113px;left:28px;display:flex;gap:13px;align-items:center;pointer-events:none;text-shadow:0 2px 10px #000}.location small{font:9px Georgia,serif;letter-spacing:.18em;color:#b9c2a7}.location h2{font:normal 23px var(--serif);margin:5px 0;color:#e9e6cb}.tiny-line{height:45px;width:2px;background:linear-gradient(#c2b47e,transparent)}.potion-tray{top:115px;right:25px;display:flex;flex-direction:column;gap:10px;align-items:center}.potion-button{position:relative;width:86px;height:104px;border:1px solid #92825b88;background:linear-gradient(135deg,#313a26ef,#182018ed);box-shadow:inset 0 0 0 3px #11170f77,0 5px 15px #0003;display:flex;flex-direction:column;align-items:center;padding:2px 5px 6px}.potion-button img{height:64px;width:64px;object-fit:contain;filter:drop-shadow(0 0 8px #cba65740)}.potion-sigil{position:absolute;left:33px;top:25px;font-size:25px;color:#fff2ad;text-shadow:0 0 5px #271300}.ice .potion-sigil{left:30px;top:29px;font-size:19px;color:white;text-shadow:0 0 5px #083047}.potion-name{font-size:10px;margin-top:1px}.potion-cost{font:11px Georgia;color:var(--crystal);margin-top:3px}.potion-button:hover:not(:disabled){border-color:#e4c77f;background:#485337ef}.potion-button:disabled{opacity:.65}.potion-help{color:#b5bba6;font-size:9px;text-shadow:0 1px 4px #000}.cooldown{position:absolute;inset:0;background:#0e171bd4;display:none;align-items:center;justify-content:center;font:30px Georgia;color:#ddd8b2}.cooldown.active{display:flex}.world-hint{bottom:calc(var(--dock) + 18px);left:50%;transform:translateX(-50%);background:#162014bb;border:1px solid #82936440;padding:8px 17px;border-radius:2px;font-size:11px;color:#c0c8ab;pointer-events:none;max-width:70%;text-align:center}.camera-tools{left:24px;bottom:calc(var(--dock) + 17px);display:flex;gap:4px}.camera-tools button{height:30px;width:30px;font-size:18px}.mine-counter{top:112px;right:25px;padding:16px 22px;background:#181b13df;border:1px solid var(--line);display:none;gap:14px;align-items:center}.mine-counter svg{width:32px;height:32px;color:#d1b87e}.mine-counter small{display:block;font-size:10px;color:#b5b497}.mine-counter b{display:block;font:27px Georgia;color:#f1dab1;margin:3px 0}.mine-counter em{font:12px sans-serif;color:#a6aa96}.mine-counter span:last-child{font-size:10px;color:#8e9b7e}body[data-scene=mine] .mine-counter{display:flex}body[data-scene=mine] .potion-tray{display:none}.battle-notice{right:24px;top:225px;background:#4b3629d9;border:1px solid #b18d5366;padding:10px 14px;font-size:11px;color:#edc99c}.battle-notice span{display:block;margin-top:5px;font-size:10px}.scene-nav{display:flex;flex-direction:column;justify-content:center;gap:6px;flex:0 0 116px}.scene-nav button{display:flex;gap:10px;align-items:center;padding:12px 11px;background:transparent;border:1px solid transparent;text-align:left;color:#9ca68b}.scene-nav button.active{color:#e0c794;border-color:#99835570;background:linear-gradient(90deg,#6d674032,#0000)}.scene-nav button svg{width:22px;height:22px}.scene-nav button span{font:15px var(--serif)}.scene-nav small{display:block;font:8px Georgia,serif;letter-spacing:.08em;margin-top:4px;color:#808c74}
.command-dock{bottom:0;left:0;width:100%;height:var(--dock);background:linear-gradient(#22281eef,#141b13fa);border-top:1px solid #b29a5d91;box-shadow:0 -8px 45px #131d126b,inset 0 4px 0 #151c16,inset 0 5px 0 #71694838;backdrop-filter:blur(12px);display:flex;align-items:stretch;gap:0;padding:16px 21px 13px}.command-dock>section{padding:0 16px;border-left:1px solid #8c895331;min-width:0}.castle-panel{flex:0 0 213px;display:flex;align-items:center;gap:3px}.castle-panel canvas{width:78px;height:96px;object-fit:contain;flex-shrink:0}.castle-panel h3{font:18px var(--serif);margin:8px 0 10px}.castle-panel h3 span{font:12px Georgia;color:#b8c0a7;margin-left:5px}.castle-panel small{display:block;color:#99a68a;font-size:9px;margin-top:7px;white-space:nowrap}.mini-button,.primary-small{border:1px solid #83784e88;background:linear-gradient(#3c452e,#293221);color:#d9cdac;font-size:11px;padding:8px 10px;white-space:nowrap}.mini-button span,.primary-small span{color:#c3c6f2;padding-left:10px}.mini-button:hover:not(:disabled),.primary-small:hover:not(:disabled){border-color:#d8c78d;background:#4d543b}.dock-section-label{display:flex;justify-content:space-between;margin-bottom:8px;letter-spacing:.06em}.dock-section-label span{font-size:9px;color:#7e8b73;letter-spacing:0}.build-panel{flex:1 1 450px}.tower-cards{display:flex;gap:7px;height:106px}.tower-card{position:relative;flex:1;min-width:0;border:1px solid #8e8c5b3b;background:#1a2419;padding:0 3px 6px;text-align:center;color:#b1baa1;overflow:hidden}.tower-card.active{border-color:#c7b16b;background:radial-gradient(ellipse at center,#4c5034,#202b1c)}.tower-card:disabled{opacity:.35}.tower-card canvas{width:100%;height:64px;display:block;object-fit:contain}.tower-card b{display:block;font-size:10px;white-space:nowrap;font-weight:400}.tower-card small{font:11px Georgia;color:#cdbb80;display:block;margin-top:4px}.tower-card .lock{position:absolute;top:4px;right:4px;font-size:8px;color:#b9baa4}.selection-panel{flex:0 0 229px;display:flex;flex-direction:column;justify-content:center}.selection-panel h3{font:15px var(--serif);margin:5px 0;color:#e4d5af}.selection-panel p{font-size:10px;line-height:1.55;margin:0 0 8px;color:#9ea68f;min-height:16px}.selection-panel small{font-size:9px;line-height:1.5;color:#94a181;display:block;margin-top:6px}.selection-panel .mini-button{width:max-content;max-width:100%}.wave-panel{flex:0 0 184px;display:flex;flex-direction:column;justify-content:center;gap:9px}.wave-panel .dock-label{display:flex;align-items:center;justify-content:space-between;letter-spacing:0;font-size:10px}.wave-panel b{font:12px Georgia;color:#b3b7a2}.wave-progress{height:3px;background:#11190f}.wave-progress i{display:block;height:100%;background:#d2b575;width:0}.wave-button{background:linear-gradient(#9d8750,#65582e);border:1px solid #bba165;color:#f3e4b8;font-size:12px;font-weight:bold;padding:11px 5px;white-space:nowrap}.wave-panel small{font-size:9px;color:#939c83;line-height:1.5;min-height:26px}.mine-panel{flex:1;display:flex;align-items:center;gap:18px}.mine-panel>img{height:130px;width:115px;object-fit:contain;filter:drop-shadow(0 4px 4px #0008)}.mine-panel h3{font:20px var(--serif);margin:5px 0 8px}.mine-panel p{font-size:11px;color:#a4ad94;line-height:1.5;margin:0 0 10px}.mine-panel b{font-weight:500;color:#d7c894}.hire-info{flex:1}.primary-small{background:linear-gradient(#78673a,#4f4526);font-size:12px;border-color:#b59b5c}.primary-small span{color:#f0d392}.mine-yield{min-width:110px;display:flex;flex-direction:column;gap:6px;padding-left:15px;border-left:1px solid var(--line)}.mine-yield small{font-size:10px;color:#adb597}.mine-yield b{font:24px Georgia;color:#dbc795}.mine-yield span{font-size:10px;color:#adb597}.mine-yield .bar{width:120px}.mine-yield .bar i{background:#cfac59}
#toast{position:fixed;z-index:32;top:94px;left:50%;transform:translate(-50%,-10px);background:#1e281bed;border:1px solid #8b8052;color:#e4d7b2;padding:11px 20px;font-size:12px;opacity:0;transition:.2s;pointer-events:none;max-width:80%;text-align:center;line-height:1.6;box-shadow:0 5px 20px #0004}#toast.show{transform:translate(-50%,0);opacity:1}#pausedLabel{position:fixed;top:42%;left:50%;transform:translate(-50%,-50%);background:#182015df;padding:25px 45px;border:1px solid #8b8052;color:#e7d6ab;z-index:6;font:24px var(--serif)}#sceneTransition{position:fixed;inset:0;z-index:8;background:#0c120c;pointer-events:none;opacity:0;transition:opacity .22s}#sceneTransition.fade{opacity:1}#sceneTransition.slide{opacity:.96;animation:slideCover .3s ease}@keyframes slideCover{from{transform:translateX(-100%)}to{transform:translateX(0)}}
dialog{color:var(--ivory);background:linear-gradient(125deg,#283020,#172017);border:1px solid #938052;padding:0;box-shadow:0 25px 100px #000a;max-height:90dvh;width:min(490px,calc(100vw - 28px));z-index:40}dialog::backdrop{background:#0b110cc2;backdrop-filter:blur(5px)}.dialog-head{padding:24px 27px 19px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.dialog-head h2{font:28px var(--serif);margin:7px 0 0}.close-dialog{border:0;background:transparent;color:#b8bca4;font-size:28px;line-height:1;width:34px;height:34px}.settings-content{padding:8px 27px 18px;max-height:calc(90dvh - 170px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#68714b #1b2519}.settings-content h3{font:16px var(--serif);color:#d8c490;border-bottom:1px solid #8a775039;padding-bottom:10px;margin:20px 0 13px}.slider-label{display:block;margin-bottom:17px}.slider-label>span{display:flex;justify-content:space-between;color:#c6ceb8;font-size:12px}.slider-label output{color:#9baf81;font-size:11px}.slider-label input{width:100%;margin:13px 0 0;accent-color:#a8af73;height:4px}.toggle-row,.select-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#c6ceb8;margin:16px 0;gap:10px}.toggle-row small{display:block;font-size:10px;color:#8f9c80;margin-top:4px}.toggle-row input{width:17px;height:17px;accent-color:#a4ad71}.select-row select{background:#151f13;border:1px solid #68714b;color:#c6ceb8;padding:7px;font-size:11px;max-width:56%}.fullscreen{width:100%;margin-top:7px}.settings-note{font-size:10px;line-height:1.6;color:#849379;margin:12px 0 0}.dialog-footer{display:flex;justify-content:space-between;padding:15px 27px;border-top:1px solid var(--line);align-items:center}.text-button{font-size:11px;border:0;background:none;color:#b2b69f}.credits-content p{color:#b2bca5;font-size:12px;line-height:1.9}.credits-links{display:flex;gap:18px}.credits-links a{color:#d7c38c}.ending-dialog{text-align:center;padding:36px 40px;width:min(460px,92vw)}.ending-emblem svg{width:65px;height:65px;color:#c1ac72;margin-bottom:18px}.ending-dialog h2{font:28px var(--serif);margin:17px 0}.ending-dialog p{font-size:12px;line-height:1.9;white-space:pre-line;color:#b2bfa1}.ending-dialog .start-button{position:static;transform:none;min-width:0;width:100%;height:52px;margin-top:25px;font-size:15px}
@media(max-width:1250px){.command-dock{padding:13px 12px}.command-dock>section{padding:0 10px}.castle-panel{flex-basis:169px}.castle-panel canvas{width:50px;height:80px}.scene-nav{flex-basis:95px}.scene-nav button{padding:11px 6px;gap:7px}.selection-panel{flex-basis:184px}.wave-panel{flex-basis:145px}.tower-cards{gap:4px}.tower-card b{font-size:9px}.identity{gap:10px;padding:10px 13px}.hud-divider{margin:0 4px}.castle-health{width:115px}.treasury{padding:11px 16px;gap:20px}}
@media(max-width:1000px){:root{--dock:208px}.command-dock{display:grid;grid-template-columns:90px 165px 1fr 155px;grid-template-rows:1fr 65px;padding:12px}.scene-nav{grid-column:1;grid-row:1/3}.castle-panel{grid-column:2;grid-row:1/3}.build-panel{grid-column:3;grid-row:1}.tower-cards{height:85px}.tower-card canvas{height:46px}.selection-panel{grid-column:3;grid-row:2;display:grid;grid-template-columns:1fr auto;column-gap:12px;padding-top:9px!important}.selection-panel .dock-label{display:none}.selection-panel h3{margin:0;font-size:13px}.selection-panel p{margin:0;font-size:9px;grid-column:1}.selection-panel .mini-button{grid-column:2;grid-row:1/3;font-size:10px}.selection-panel small{display:none}.wave-panel{grid-column:4;grid-row:1/3}.mine-panel{grid-column:3;grid-row:1/3}.mine-panel>img{display:none}.mine-yield{display:none}.hud{top:10px;left:12px;right:12px;gap:10px}.identity strong{font-size:14px}.identity .emblem{width:32px;height:37px}.treasury{gap:13px;padding:10px 13px}.resource-count{min-width:68px;gap:5px}.resource-count strong{font-size:19px}.resource-count svg{width:28px;height:28px}.hud-divider{display:none}.castle-health{width:92px}.hud .eyebrow{font-size:8px}.location{top:98px;left:20px}.location h2{font-size:19px}.potion-tray{right:16px;top:100px}.potion-button{width:68px;height:84px}.potion-button img{width:46px;height:46px}.potion-sigil{left:25px;top:17px;font-size:21px}.ice .potion-sigil{left:22px;top:20px;font-size:17px}.potion-name{font-size:9px}.potion-help{font-size:8px}.top-actions{gap:4px}.top-actions button{width:33px;height:36px}.world-hint{font-size:10px;bottom:calc(var(--dock) + 12px);max-width:56%}.camera-tools{left:12px;bottom:calc(var(--dock) + 12px)}}
@media(max-width:700px){:root{--dock:232px}.hud{height:auto;align-items:flex-start;gap:6px}.identity{padding:8px;gap:7px;min-height:53px}.identity .emblem{width:26px;height:29px}.identity .emblem svg{width:18px}.identity strong{font-size:12px}.identity .eyebrow{font-size:7px}.castle-health{display:none}.treasury{padding:7px 9px;gap:10px}.resource-count{min-width:44px;gap:3px}.resource-count svg{width:22px;height:22px}.resource-count strong{font-size:17px}.resource-count small{font-size:7px}.top-actions{flex-direction:column}.top-actions button{width:30px;height:27px;font-size:12px}.top-actions svg{width:16px}.location{top:84px;left:15px}.location h2{font-size:17px}.location small{font-size:7px}.tiny-line{height:32px}.command-dock{grid-template-columns:66px 1fr 100px;grid-template-rows:111px 90px;gap:7px 0;padding:13px 8px 12px}.scene-nav{grid-column:1;grid-row:1/3}.scene-nav button{padding:12px 4px;flex-direction:column;gap:4px;align-items:center;text-align:center}.scene-nav button span{font-size:13px}.scene-nav small{display:none}.scene-nav button svg{width:21px;height:21px}.castle-panel{grid-column:3;grid-row:2;flex-direction:column;gap:0;text-align:center;align-items:stretch}.castle-panel canvas{display:none}.castle-panel h3{font-size:13px;margin:4px 0 6px}.castle-panel h3 span{font-size:11px}.castle-panel small{font-size:8px;margin:4px 0}.castle-panel .dock-label{display:none}.castle-panel .mini-button{padding:7px 5px;font-size:9px;width:100%}.castle-panel .mini-button span{padding-left:3px}.build-panel{grid-column:2/4;grid-row:1}.tower-cards{height:88px;gap:3px}.dock-section-label{font-size:9px;margin-bottom:6px}.tower-card b{font-size:8px}.tower-card small{font-size:10px}.tower-card canvas{height:48px}.selection-panel{grid-column:2;grid-row:2;display:flex;align-items:flex-start;gap:4px;justify-content:center;padding:3px 9px!important}.selection-panel h3{font-size:12px}.selection-panel p{font-size:8px}.selection-panel .mini-button{font-size:9px;padding:7px}.wave-panel{position:fixed;right:12px;bottom:calc(var(--dock) + 14px);width:140px;border:1px solid var(--line)!important;background:#1b2418ed;padding:9px!important;gap:7px}.wave-panel small{display:none}.wave-panel .dock-label{font-size:9px}.wave-button{font-size:10px;padding:9px 5px}.potion-tray{top:95px;right:10px;gap:7px}.potion-button{width:61px;height:78px}.potion-help{display:none}.potion-sigil{left:21px}.ice .potion-sigil{left:18px}.mine-panel{grid-column:2/4;grid-row:1;gap:0}.mine-panel h3{font-size:16px;margin:3px 0}.mine-panel p{font-size:9px;margin-bottom:7px}.mine-panel .primary-small{font-size:10px;padding:7px 9px}.mine-panel+.wave-panel{}.world-hint{bottom:calc(var(--dock) + 105px);font-size:9px;padding:7px 9px;width:65%;max-width:65%;left:12px;transform:none;text-align:left}.mine-counter{top:90px;right:10px;padding:12px;gap:8px}.mine-counter svg{width:22px}.mine-counter b{font-size:22px}.mine-counter small,.mine-counter span:last-child{font-size:8px}.battle-notice{top:190px;right:10px;font-size:9px;padding:8px}.title-crest{top:9%;font-size:8px;gap:10px}.title-copy{bottom:calc(50% + 67px)}.title-copy .overline{font-size:9px}.title-copy h1{font-size:37px;margin:15px 0}.title-copy p{font-size:10px;letter-spacing:0}.start-button{min-width:255px;font-size:17px;height:58px}.title-footer{bottom:24px;flex-direction:column;gap:14px;font-size:9px}.settings-content{padding:5px 22px 15px}.dialog-head{padding:22px}.dialog-footer{padding:15px 22px}}
@media(max-height:620px) and (min-width:700px){:root{--dock:144px}.command-dock{height:144px;display:flex;padding:10px 12px}.tower-cards{height:90px}.selection-panel{display:flex}.selection-panel small{display:none}.location{top:83px}.title-crest{top:5%}.title-copy h1{font-size:44px;margin:10px 0}.title-copy p{font-size:10px}.title-copy{bottom:calc(50% + 46px)}.start-button{height:50px}.title-settings{top:calc(50% + 35px)}.title-footer{bottom:15px}}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{transition:none!important;animation:none!important}

/* The battlefield occupies roughly seven tenths of the viewport. */
:root{--dock:30dvh}
.command-dock{height:var(--dock);padding-top:22px;padding-bottom:20px}
.tower-cards{height:calc(var(--dock) - 78px)}
.tower-card canvas{height:58%;max-height:126px}
.top-actions #speedBtn{font:700 15px Georgia,serif;color:#e7d19d;min-width:45px}
.top-actions #speedBtn[aria-pressed=true]{background:#77663e;border-color:#e3c27a;color:#fff2c9}
.miner-roster{margin-top:13px;max-width:310px;color:#b6bca6}
.miner-roster span{display:flex;justify-content:space-between;font-size:11px;margin-bottom:7px}
.miner-roster b{color:#f0d597;font:13px Georgia,serif}
.miner-roster .bar{height:7px;background:#0e150d;border:1px solid #97825867}
.miner-roster .bar i{width:16.67%;background:linear-gradient(90deg,#907438,#e0b75c)}
.mine-panel>img{height:min(21dvh,190px);width:min(15dvh,145px)}
@media(max-width:1000px){.command-dock{grid-template-rows:minmax(0,1fr) 75px}.tower-cards{height:min(15dvh,125px)}.tower-card canvas{height:55%}}
@media(max-width:700px){.command-dock{grid-template-rows:minmax(0,1fr) minmax(86px,1fr);padding-top:10px;padding-bottom:10px}.tower-cards{height:min(12dvh,105px)}.tower-card canvas{height:52%}.miner-roster{margin-top:7px}.miner-roster span{font-size:9px;margin-bottom:5px}.top-actions #speedBtn{font-size:11px;min-width:30px}}
@media(max-height:620px) and (min-width:700px){.command-dock{height:var(--dock);padding-top:8px;padding-bottom:8px}.tower-cards{height:calc(var(--dock) - 35px)}}

/* Compact command deck, with castle actions on the battlefield itself. */
:root{--dock:24dvh}
.command-dock{height:var(--dock);padding-top:15px;padding-bottom:13px}
.tower-cards{height:calc(var(--dock) - 48px)}
.tower-card canvas{max-height:105px}
.selection-panel{flex-basis:270px}
.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.selection-heading h3{min-width:0}
.tower-info-button{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border:1px solid #d5bb78;border-radius:50%;background:#4b492f;color:#f7e5ad;font:bold 14px Georgia,serif}
.tower-info-button:hover{background:#716036}
.tower-menu{z-index:16;min-width:174px;display:flex;flex-direction:column;gap:7px;padding:12px;background:#20291d;border:1px solid #d0b477;box-shadow:0 10px 30px #0009}
.tower-menu strong{font:14px var(--serif);color:#ead9ae}
.tower-menu button{padding:7px 9px;border:1px solid #84744c;background:#414d32;font-size:11px;text-align:left}
.tower-menu button:hover{background:#5c6844}
.tower-menu #towerSell{color:#f7d698}
.castle-dialog-body,.tower-info-body{padding:22px 27px 25px}
.castle-dialog-level{font:22px var(--serif);color:#e8cf91;margin-bottom:18px}
.castle-dialog-health span{display:flex;justify-content:space-between;font-size:12px;color:#bdc7aa;margin-bottom:9px}
.castle-dialog-health b{color:#e5d6a9;font-weight:500}
.castle-dialog-health .bar{height:8px}
.castle-bonuses{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}
.castle-bonuses span{padding:10px 11px;border:1px solid #6b704d;background:#2b3425;color:#aebc9e;font-size:11px}
.castle-bonuses b{display:block;margin-top:4px;color:#efd592;font:18px var(--serif)}
.castle-dialog-body p{font-size:11px;color:#adb89e;margin:19px 0}
.castle-dialog-body .primary-small{width:100%;padding:12px}
.castle-dialog-body small,.tower-info-body small{display:block;color:#89997f;font-size:10px;margin-top:14px}
.tower-info-body p{color:#c3cdb5;font-size:12px;line-height:1.8}
.tower-info-body h3{font:16px var(--serif);color:#e1c889;margin:22px 0 5px}
.potion-button{width:66px;height:80px;padding-bottom:4px}
.potion-button img{width:47px;height:47px}
.potion-sigil{left:24px;top:18px;font-size:20px}
.ice .potion-sigil{left:22px;top:20px;font-size:16px}
.potion-name{font-size:9px}.potion-cost{font-size:9px;margin-top:1px}
@media(max-width:1000px){.command-dock{grid-template-columns:90px minmax(0,1fr) 180px;grid-template-rows:minmax(0,1fr) 65px}.scene-nav{grid-column:1;grid-row:1/3}.build-panel{grid-column:2;grid-row:1}.selection-panel{grid-column:2;grid-row:2}.mine-panel{grid-column:2;grid-row:1/3}.wave-panel{grid-column:3;grid-row:1/3}.tower-cards{height:min(12dvh,100px)}}
@media(max-width:700px){.command-dock{grid-template-columns:66px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 72px;padding:9px 8px}.build-panel{grid-column:2;grid-row:1}.selection-panel{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:3px 9px!important}.selection-heading{width:100%}.selection-panel .mini-button{grid-column:auto;grid-row:auto}.selection-panel p{font-size:9px}.mine-panel{grid-column:2;grid-row:1/3;align-items:center}.mine-panel p{margin:7px 0}.tower-cards{height:min(11dvh,89px)}.tower-card canvas{height:50%}.wave-panel{grid-column:auto;grid-row:auto}.potion-button{width:50px;height:63px}.potion-button img{width:34px;height:34px}.potion-sigil{left:18px;top:12px;font-size:16px}.ice .potion-sigil{left:17px;top:15px;font-size:13px}.potion-name{font-size:7px}.potion-cost{font-size:8px}.potion-tray{gap:6px}}
@media(max-height:620px) and (min-width:700px){.command-dock{height:var(--dock);padding-top:7px;padding-bottom:7px}.tower-cards{height:calc(var(--dock) - 23px)}}
.title-logo{position:absolute;top:clamp(16px,3vh,34px);left:clamp(16px,3vw,44px);width:clamp(96px,12vw,166px);pointer-events:none;filter:drop-shadow(0 3px 6px #0008)}
.title-logo img{display:block;width:100%;height:auto}
.title-copy{bottom:calc(50% + 72px);padding:0 18px}
.title-copy h1{font-size:clamp(48px,9vw,128px);line-height:1.1;margin:12px 0 22px;letter-spacing:.035em;white-space:nowrap;color:#f5e4b7;text-shadow:0 5px 30px #000a}
@media(max-width:700px){.title-logo{width:100px;top:18px;left:18px}.title-copy h1{font-size:clamp(48px,11vw,76px);margin:10px 0 18px}.title-copy{bottom:calc(50% + 65px)}}
@media(max-height:620px){.title-crest{display:none}.title-logo{width:104px;top:12px;left:18px}.title-copy{bottom:calc(50% + 47px)}.title-copy h1{font-size:clamp(42px,8vw,72px);margin:6px 0 12px}.title-copy p{font-size:10px}}
.creator-link{color:#d2c08e;text-decoration:none;font-size:11px;letter-spacing:0}
.creator-link:hover{text-decoration:underline}
.editor-preview-banner{position:fixed;top:96px;left:50%;transform:translateX(-50%);z-index:35;max-width:calc(100% - 24px);padding:8px 14px;border:1px solid #c9b16b;background:#172417ee;color:#e8d7a2;font:11px "Malgun Gothic",sans-serif;text-align:center}
.editor-preview-banner a{color:#fff;text-underline-offset:3px}
.hud .emblem{background:#25291c;padding:0}
.hud .emblem:hover{background:#4a4c2d}

body[data-scene=mine]{--dock:32dvh}
.treasury{width:352px;flex-direction:column;align-items:stretch;gap:7px;padding:9px 18px}
.treasury-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.treasury-top .resource-count{min-width:112px}
.population-line{display:flex;align-items:center;gap:10px;color:#b9c5a7;font-size:10px;white-space:nowrap}
.population-line b{color:#ddc991;font-weight:600}
.population-line .bar{flex:1;min-width:42px;height:6px;background:#0e150d}
.population-line .bar i{width:0;background:linear-gradient(90deg,#7a9d62,#c9c07b)}
.wave-actions{display:flex;gap:4px}
.wave-actions .wave-button{min-width:0;flex:1;padding:9px 2px;font-size:10px}
.wave-actions .secondary-wave{background:linear-gradient(#796f54,#4a4932);border-color:#948a68}
#toast.crystal-toast{font-size:11px;padding:9px 17px}
.mine-panel .hire-info{min-width:200px}
.wood-info{display:flex;align-items:center;gap:12px;flex:1;min-width:220px;padding-left:15px;border-left:1px solid var(--line)}
.wood-portrait{position:relative;flex:0 0 70px;width:70px;height:100px;filter:drop-shadow(0 4px 5px #0008)}
.wood-portrait::before{content:"";position:absolute;left:0;top:0;width:61px;height:100px;background:url('assets/woodcutter.png') no-repeat -312px 0;background-size:542px 454px}
.wood-portrait::after{content:"";position:absolute;left:-7px;top:22px;width:43px;height:68px;background:url('assets/woodcutter-axe.png') center/contain no-repeat;transform:rotate(18deg);transform-origin:55% 77%}
.wood-info h3{font:20px var(--serif);margin:5px 0 8px}
.wood-info p{font-size:11px;color:#a4ad94;line-height:1.5;margin:0 0 10px}
.wood-roster{font-size:10px;color:#b8c4a8;margin-top:10px}
.wood-roster b{float:right;color:#e8d198;font:13px Georgia,serif}
.wood-roster .bar{clear:both;height:6px;margin-top:7px;background:#0e150d}
.wood-roster .bar i{width:0;background:linear-gradient(90deg,#849f67,#d2bb6f)}
@media(max-width:1000px){.treasury{width:255px;padding:7px 10px;gap:5px}.treasury-top .resource-count{min-width:80px}.wood-portrait{display:none}.mine-panel .hire-info{min-width:0}.wood-info{min-width:0}.wave-actions .wave-button{font-size:9px}}
@media(max-width:700px){.treasury{width:174px;min-width:0;padding:5px 7px;gap:4px}.treasury-top{gap:5px}.treasury-top .resource-count{min-width:0;gap:3px}.treasury-top .resource-count svg{width:18px;height:18px}.treasury-top .resource-count strong{font-size:15px}.population-line{gap:4px;font-size:7px}.population-line .bar{min-width:20px;height:4px}.mine-panel{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:0}.mine-panel .hire-info,.wood-info{padding:2px 0;min-width:0}.wood-info{border-left:0;border-top:1px solid var(--line);display:block}.wood-info h3{font-size:15px;margin:3px 0}.wood-info p{font-size:8px;margin:2px 0 5px}.wood-info .primary-small{font-size:9px;padding:6px 7px}.wood-roster{margin-top:5px;font-size:9px}.wood-roster .bar{margin-top:4px}.wave-actions .wave-button{font-size:8px;padding:7px 1px}}

.match-button{position:absolute;top:calc(50% + 50px);left:50%;transform:translateX(-50%);width:min(340px,80vw);padding:14px 22px;border:1px solid #9d8554;background:#172018ed;color:#e8d5a6;font-size:22px;cursor:pointer}.match-button small{display:block;font-size:11px;letter-spacing:2px;margin-top:5px}.title-settings{top:calc(50% + 140px)!important}.rivals{right:18px;top:110px;width:218px;z-index:10;background:#171d16ed;border:1px solid #a58d5666;padding:9px;color:#eee2bd}.rivals button{width:100%;background:#253023;color:inherit;border:1px solid #8d7e5066;padding:7px;cursor:pointer}.rival-card{margin-top:5px;display:grid;grid-template-columns:1fr auto;gap:3px;font-size:12px}.rival-card small{grid-column:1/-1;font-size:10px;color:#c8c0a5}.rival-card .bar{grid-column:1/-1;height:3px}.rival-card.active{border-color:#e2c36f}.rivals>small{display:block;margin-top:6px;font-size:10px;color:#b4c4a0}.rivals.collapsed #rivalCards{display:none}.army-shortcut{bottom:calc(30vh + 35px);left:22px;z-index:10;background:#20291de8;border:1px solid #c3a965;color:#f2dfac;padding:12px 20px;cursor:pointer}.settings-content label{display:block;margin:14px 0}.settings-content input:not([type=checkbox]):not([type=range]),.settings-content select{max-width:100%;padding:9px;background:#20251e;color:#f4e7c7;border:1px solid #796b49}.settings-content>button{margin:5px 5px 5px 0}.settings-content>small{display:block;line-height:1.7;margin-top:12px}#lobbySlots{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:20px 0}#lobbySlots span{padding:14px 4px;border:1px solid #796b49;text-align:center;font-size:12px}.spectate-dialog{width:min(1000px,96vw);max-width:1000px}.spectate-dialog canvas{width:100%;height:auto;display:block}.spectate-dialog p{padding:0 20px 16px;color:#dacba7}#networkState.offline{color:#ffb29a}body[data-multiplayer=true] .potion-tray{right:255px}body[data-multiplayer=true] .location{display:none}
@media(max-width:700px){.rivals{top:112px;right:8px;width:154px;padding:6px}.rival-card{font-size:10px}.army-shortcut{bottom:calc(30vh + 38px);left:10px;padding:8px;font-size:12px}.match-button{font-size:18px;padding:10px;top:calc(50% + 45px)}.title-settings{top:calc(50% + 118px)!important}body[data-multiplayer=true] .potion-tray{right:173px}}
@media(max-height:620px){.match-button{top:calc(50% + 38px);padding:8px;font-size:17px}.title-settings{top:auto!important;bottom:44px!important;left:auto!important;right:20px!important;transform:none!important}.title-footer{bottom:10px}.rivals{top:90px}}

#lobbyNotice{min-height:1.5em;font-size:12px;color:#c5d6ac}.match-rules{padding:12px;border:1px solid #71613e;margin:12px 0;font-size:12px;line-height:1.8}.match-rules summary{cursor:pointer;color:#ddc795}.match-rules p{margin-bottom:0}

#playModes{position:absolute;top:54%;left:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:1fr 1fr;gap:12px;width:min(600px,88vw)}#playModes #startBtn,#playModes .match-button{position:static;transform:none;width:100%;min-width:0;height:84px;margin:0;padding:12px 10px;font:500 21px var(--serif);display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:center;letter-spacing:.04em}#playModes small{display:block;font:11px 'Malgun Gothic',sans-serif;color:#c9c5a9;letter-spacing:.02em;margin:0}.title-copy{bottom:calc(50% + 110px)}.title-settings{top:calc(54% + 110px)!important}.invite-code{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0}.invite-code strong{font:600 clamp(21px,5vw,30px) monospace;letter-spacing:.13em;color:#f1ce7e}#friendCodePanel{padding:14px;border:1px solid #a08b52;background:#39402b55}#friendCodePanel p{font-size:12px;margin-bottom:0}#roomCodeInput{text-transform:uppercase;font-family:monospace;letter-spacing:.12em}
@media(max-width:700px){#playModes{gap:9px}#playModes #startBtn,#playModes .match-button{height:74px;font-size:18px}.title-copy{bottom:calc(50% + 100px)}.title-settings{top:calc(54% + 92px)!important}}
@media(max-height:620px){#playModes{top:57%;gap:8px}#playModes #startBtn,#playModes .match-button{height:62px;font-size:17px;gap:4px}#playModes small{font-size:10px}.title-copy{bottom:calc(50% + 80px)}.title-copy h1{font-size:clamp(38px,7vw,65px);margin:5px 0 9px}.title-settings{top:calc(57% + 78px)!important;bottom:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;padding:8px}.title-footer{bottom:10px;gap:8px}.title-crest{display:none}}

/* Reforged start screen */
#playModes{gap:14px}#playModes #startBtn,#playModes .match-button{position:relative;overflow:hidden;border:1px solid #bda36e66;box-shadow:inset 0 0 0 4px #19201699,0 12px 30px #0003;background:linear-gradient(135deg,#303a2ce8,#152016ed);transition:transform .18s,border-color .18s,background .18s}#playModes #startBtn{background:linear-gradient(135deg,#6e603ac9,#343c27f2);border-color:#d3b576}#playModes button::before{position:absolute;left:17px;top:11px;font:32px Georgia;color:#d3b57640;content:'♜'}#playModes #matchBtn::before{content:'⚔'}#playModes #createRoomBtn::before{content:'⚑'}#playModes #codeRoomBtn::before{content:'⌘'}#playModes button::after{content:'›';position:absolute;right:15px;color:#d3b57677;font-size:26px}#playModes button:hover{transform:translateY(-3px);border-color:#e3c785;background:linear-gradient(135deg,#4a5035ee,#233023ee)}#playModes small{color:#c7c6ac}.title-copy p{color:#ddd0ac;letter-spacing:.12em}.title-footer{opacity:.65}.management-shortcuts{bottom:calc(30vh + 32px);left:20px;display:flex;gap:8px}.management-shortcuts .army-shortcut{position:static;padding:11px 16px}.research-card{padding:13px;margin:12px 0;border:1px solid #88764b66;background:#30372566}.research-card h3{margin-top:0}.research-card p{font-size:12px;line-height:1.7}.research-card .bar{margin-top:12px}.attack img{filter:hue-rotate(80deg) saturate(1.5)}.attack .potion-sigil{font-size:17px}.castle-dialog-body #repairCastle{margin:10px 0}.castle-dialog-body>button{display:block;width:100%}#feedbackMessage{width:100%;padding:12px;background:#192217;color:#efe3c7;border:1px solid #8a7750;resize:vertical;font:14px 'Malgun Gothic',sans-serif}.debuff-status{color:#e6abbd;font-size:11px;padding:3px 0}
@media(max-width:700px){#playModes button::before{font-size:23px;left:8px;top:8px}#playModes button::after{right:8px;font-size:20px}.management-shortcuts{left:8px;gap:5px}.management-shortcuts .army-shortcut{font-size:11px;padding:9px}}

#playModes #startBtn,#playModes .match-button{inset:auto;transform:none}#playModes button::before{top:auto;bottom:8px;color:#d3b57626;font-size:25px}#playModes button:hover{transform:translateY(-3px)}

.wave-panel.initial-wave small{display:block;font-size:9px;line-height:1.4;white-space:normal}

/* Compact construction picker, shared by both facilities. */
.management-shortcuts{z-index:10;align-items:flex-end}.construction-menu{display:flex;gap:8px;position:absolute;left:0;bottom:calc(100% + 10px);padding:10px;background:linear-gradient(140deg,#30382af5,#172016f5);border:1px solid #b8a16b;box-shadow:0 8px 28px #0008}
.construction-menu .army-shortcut{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:92px;padding:10px 12px;background:#20291d}.construction-menu small{font-size:10px;color:#c9b98c}.construction-menu button:hover{background:#414b30;border-color:#f2d58e}#constructionBtn[aria-expanded=true]{background:#505738;border-color:#e4cb8a}
@media(max-width:700px){.construction-menu{gap:6px;padding:7px}.construction-menu .army-shortcut{min-width:80px}}

/* The construction tab follows the terrain scene transition. */
.management-shortcuts{z-index:7;opacity:1;transform:translate(0,0);transition:opacity .22s ease,transform .22s ease}
.management-shortcuts[data-transition=slide]{transition-duration:.3s}.management-shortcuts.scene-leaving{opacity:0;pointer-events:none;transform:translateY(6px)}.management-shortcuts.scene-leaving[data-transition=slide]{transform:translateX(-26px)}
.management-shortcuts #constructionBtn{position:relative;inset:auto;display:flex;align-items:center;gap:18px;min-width:106px;padding:12px 18px;border:1px solid #b5a275;border-left:3px solid #d4bb78;border-radius:2px;background:linear-gradient(110deg,#363e2ef2,#1b241bf2);box-shadow:inset 0 1px #dfd3aa20,0 3px 12px #0004;font-weight:600;letter-spacing:.12em}
#constructionBtn::after{content:'';width:7px;height:7px;border-top:1.5px solid #e1cf9f;border-left:1.5px solid #e1cf9f;transform:translateY(2px) rotate(45deg);transition:transform .2s}#constructionBtn[aria-expanded=true]::after{transform:translateY(-2px) rotate(225deg)}
.construction-menu{gap:0;padding:5px;min-width:180px}.construction-menu .army-shortcut{min-width:88px;gap:4px;padding:12px 16px;border:0;background:transparent}.construction-menu .army-shortcut+button{border-left:1px solid #b5a27544}.construction-menu button:hover{background:#485137}.construction-menu span{font-size:13px;font-weight:600}
@media(max-width:700px){.management-shortcuts #constructionBtn{min-width:90px;gap:15px;padding:10px 13px}.construction-menu span{font-size:12px}.construction-menu .army-shortcut{padding:11px}}

/* Feedback release: village, facilities, readable lobbies and chronicle. */
.error-toast{color:#ffd6ce!important;border-color:#ca6454!important;background:#4b2422f2!important}
body[data-scene=town] .potion-tray,body[data-scene=town] #worldHint,body[data-scene=town] #selectionPanel,body[data-scene=town] #buildPanel{display:none!important}
body[data-scene=town] .command-dock{grid-template-columns:1fr auto;background:linear-gradient(0deg,#141d15f5,#233023ed)}
body[data-scene=town] .scene-nav{width:min(700px,65vw)}.scene-nav{min-width:0}.scene-nav button{min-width:0}
.facility-dialog{width:min(650px,94vw);border-radius:18px;border-color:#b99a5e;background:radial-gradient(ellipse at top right,#46544055,transparent 65%),#19251f}
.facility-dialog .dialog-head{padding:26px 30px;background:linear-gradient(120deg,#a7854140,#17231c)}.facility-dialog .settings-content{padding:24px 30px;gap:18px}
.facility-dialog .research-card{border-radius:12px;padding:18px;background:linear-gradient(110deg,#364535aa,#1b2720);border:1px solid #b49c5b44}.facility-dialog .research-card h3{color:#f0d28f}
#armyCount{font-size:26px;color:#f1d79f;padding:20px;border:1px solid #ac945c55;border-radius:12px;background:#3b492d55}
#matchDialog{width:min(620px,94vw);border-radius:22px;background:radial-gradient(ellipse at top,#42543a,#17241d 70%);border-color:#ae955d}
#matchDialog .dialog-head{padding:28px;text-align:center;justify-content:center;border:0}#lobbySlots{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}#lobbySlots span{min-height:80px;display:grid;place-items:center;border-radius:12px;border:1px solid #bca76855;background:#52634633;overflow-wrap:anywhere;font-size:12px}#lobbySlots span:not(:empty){color:#ead8a5}
#lobbyIntro,.match-rules,#matchDialog label:has(#playerName){display:none}#lobbyNotice{font-size:12px;color:#c2c9b9}.mine-panel p,.potion-help,.dock-section-label span,#towerAbility{display:none}
.title-library{position:absolute;bottom:8%;left:5%;display:flex;gap:14px;z-index:3}.title-library button{display:grid;gap:6px;justify-items:center;background:#15241bd9;border:1px solid #bda26388;border-radius:12px;padding:14px 20px;color:#ead5a6}.title-library button>span{font-size:30px}
.profile-launch{position:absolute;top:6%;right:5%;display:flex;align-items:center;gap:12px;background:#16231bd9;border:1px solid #bca66e77;border-radius:32px;padding:10px 20px;color:#f0d7a0}#profileBadge{font-size:30px}.title-logo{pointer-events:none}
.chronicle-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;padding:0;background:radial-gradient(ellipse at top,#3e5037,#101e18 70%);color:#f0e6d1}.chronicle-dialog::backdrop{background:#0b120e}.chronicle-wrap{max-width:1100px;margin:auto;padding:40px 30px 70px}.chronicle-dialog .dialog-head{padding:0 0 30px;border-color:#a38d5c55}.chronicle-dialog h2{font-size:clamp(28px,5vw,50px)}
.medal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:22px;padding-top:24px}.medal-card{text-align:center;padding:24px 12px;border:1px solid #a9904c55;border-radius:18px;background:#ffffff06}.medal{position:relative;display:grid;place-items:center;margin:0 auto 16px;width:94px;height:94px;border:6px double #e8c668;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffedac,#c99a37 55%,#7a531b);color:#5b3c15;font-size:32px;box-shadow:0 5px 18px #0005}.medal-card.locked .medal{opacity:.85}.medal-check{position:absolute;right:-8px;bottom:-4px;border-radius:50%;background:#42764c;color:white;font-size:22px;width:30px;height:30px}.medal-card p{font-size:12px;color:#b8c2b2}.medal-card h3{font-size:16px}.rank-table{width:100%;border-collapse:collapse;margin-top:20px}.rank-table th,.rank-table td{padding:16px 12px;border-bottom:1px solid #b9ab7940;text-align:left}.rank-table td:first-child{color:#edce7d;font-size:24px}.rank-avatar{font-size:25px;margin-right:10px}.rank-table tr:nth-child(-n+3){background:#d3b26a0b}.rank-table caption{text-align:left;padding:14px;color:#becbb8;font-size:13px}
.profile-options{display:flex;gap:12px;flex-wrap:wrap;padding:16px 0}.profile-options button{font-size:32px;padding:14px;border:1px solid #b9a16a55;background:#26382c;border-radius:16px}.profile-options button[aria-pressed=true]{outline:3px solid #e4c473}.guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;margin-top:25px}.guide-grid article{padding:24px;border-radius:18px;background:#ffffff08;border:1px solid #b6a26b44}.guide-grid p{line-height:1.85;color:#ccd2c5}.chronicle-dialog input{width:min(400px,100%);padding:14px;font-size:20px;background:#13241a;color:#f4dfac;border:1px solid #b29d61;border-radius:10px}
#attackFlight{position:fixed;inset:0;pointer-events:none;z-index:25;overflow:hidden} .potion-flight{position:absolute;left:12%;top:66%;width:65px;filter:drop-shadow(0 0 20px #b78bef);animation:potionFlight 1.1s ease-in forwards}.potion-impact{position:absolute;left:50%;top:25%;padding:18px 28px;border-radius:18px;background:#361b4de8;color:#ead8ff;animation:attackLabel 2.2s forwards;font-size:19px}
@keyframes potionFlight{0%{transform:translate(0,0) rotate(-35deg);opacity:1}50%{transform:translate(30vw,-45vh) rotate(200deg)}95%{opacity:1}100%{transform:translate(60vw,-30vh) rotate(400deg);opacity:0}}@keyframes attackLabel{0%{opacity:0;transform:translateY(-10px)}20%,75%{opacity:1;transform:translateY(0)}100%{opacity:0}}
@media(max-width:700px){.title-library{left:4%;bottom:3%;gap:8px}.title-library button{padding:8px 12px;font-size:11px}.title-library button>span{font-size:23px}.profile-launch{top:3%;padding:7px 12px;font-size:12px}.chronicle-wrap{padding:24px 16px}.medal-grid{grid-template-columns:repeat(2,1fr);gap:12px}.rank-table th,.rank-table td{padding:12px 6px}.scene-nav small{display:none}.title-footer{bottom:1%}}
body[data-scene=town]{--dock:70px}body[data-scene=town] #commandDock{height:70px;display:flex;padding:8px 16px}body[data-scene=town] .scene-nav{width:100%;flex:1;flex-direction:row;justify-content:center;gap:12px}body[data-scene=town] .scene-nav button{flex:1;max-width:220px;flex-direction:row;justify-content:center}body[data-scene=town] #wavePanel{display:none!important}body[data-scene=town] .management-shortcuts{bottom:88px}
@media(max-width:700px){.scene-nav{gap:1px}.scene-nav button{flex-direction:row;gap:3px;padding:6px 2px;min-height:28px}.scene-nav button svg{width:15px;height:15px}.scene-nav button span{font-size:10px}.scene-nav button#townTab{justify-content:center}}
.title-library svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:1.8}
.account-launch{position:absolute;right:5%;top:13%;padding:10px 18px;color:#e5d5a1;border:1px solid #b6a26b66;background:#12251cbd;border-radius:28px;font-size:13px}.account-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}#accountDialog p{line-height:1.8;max-width:800px}#accountDialog a{color:#efd388}#googleSignIn{margin:20px 0;min-height:44px}#accountStatus{padding:16px;background:#ffffff09;border:1px solid #ad9c5d44;border-radius:12px}.legacy-record{display:block;color:#d0b891;font-size:12px;margin-top:6px}@media(max-width:700px){.account-launch{right:4%;top:11%;font-size:11px;padding:7px 10px}.account-actions{flex-direction:column}.account-actions button{width:100%}}
