:root{--ink:#101818;--bone:#e8deca;--gold:#c8a762;--sage:#8caaa1;--rust:#c37854;--line:#d7c59924;color-scheme:dark;font-family:Georgia,'Times New Roman',serif;background:var(--ink);color:var(--bone)}*{box-sizing:border-box}body{margin:0;height:100dvh;min-height:620px;display:flex;flex-direction:column;overflow:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}.mast{height:76px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 32px;background:#111918}.brand{font-size:19px;letter-spacing:3px}.brand span{display:block;font:8px monospace;letter-spacing:3px;color:var(--sage);margin-top:6px}.edition,.micro,.kicker,.quiet,.icon-button,.command-bar,.stamp,.fine,footer,kbd,.primary,.secondary,.touch-actions,.stick small{font-family:'Courier New',monospace}.edition{font-size:10px;letter-spacing:2px;color:var(--sage)}.edition i{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:8px}.edition span{color:#8b8b78}.quiet,.icon-button{background:none;border:1px solid var(--line);color:var(--bone);font-size:10px;padding:10px 13px;letter-spacing:1px}.quiet:hover,.icon-button:hover{background:#d7c59910}.quiet span{color:var(--gold)}.shell{display:grid;grid-template-columns:265px 1fr;flex:1;min-height:0;max-width:1920px;width:100%;margin:auto}.dossier{padding:34px 28px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:linear-gradient(160deg,#17201d,#101816)}.kicker{font-size:9px;letter-spacing:2px;color:var(--gold);line-height:1.7}.kicker span{float:right;color:#8b9180}h1{font-size:38px;font-weight:400;line-height:1.04;letter-spacing:-1px;margin:24px 0 18px}em{font-weight:400;color:var(--gold)}.intro{font-size:15px;line-height:1.6;color:#a9ada0;margin:0}.rule{height:1px;background:var(--line);margin:25px 0 18px}.micro{font-size:9px;letter-spacing:1.8px;color:var(--sage)}#seals{list-style:none;margin:15px 0 10px;padding:0;display:grid;gap:15px}#seals li{display:flex;gap:15px;align-items:center;opacity:.45}#seals b{display:grid;place-items:center;border:1px solid #80745e;width:32px;height:32px;font-size:11px;font-weight:normal;border-radius:50%}#seals span{font-size:15px}#seals small{display:block;font:8px monospace;letter-spacing:1px;margin-top:5px;color:var(--sage)}#seals .active{opacity:1}#seals .active b{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 4px #c8a7620b}#seals .done{opacity:.8}#seals .done b{background:#354b40;color:#c3dec9;border-color:#738b72}.dossier-bottom{margin-top:auto;padding-top:18px}.dossier-bottom p{font-size:15px;line-height:1.5;margin:10px 0 18px}.dossier-bottom p span{font:10px monospace;color:var(--sage)}.stamp{font-size:8px;letter-spacing:1px;border:1px solid var(--line);padding:7px}.arena-wrap{min-width:0;display:flex;flex-direction:column;background:#111c1d}.hud{height:69px;flex-shrink:0;display:flex;align-items:center;gap:24px;padding:0 22px;border-bottom:1px solid var(--line);background:#172120}.vital{width:190px}.vital .micro{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.9px}.vital b{color:var(--bone);font-weight:normal}.meter{height:5px;background:#39423a;margin-top:10px}.meter i{display:block;width:100%;height:100%;background:var(--gold);transition:width .15s}.hud-trial{margin-left:auto;text-align:right;display:flex;align-items:center;gap:15px}#trialName{font-size:8px;max-width:180px;line-height:1.6}#time{font:18px monospace;color:var(--bone)}.hud-buttons{display:flex;gap:7px}.icon-button{font-size:17px;min-width:35px;padding:6px}.viewport{flex:1;position:relative;overflow:hidden;min-height:0;background:#172728}.viewport canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.viewport:after{content:'';pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px #030c0c55}#scene-label{pointer-events:none;position:absolute;top:22px;left:24px;font:8px monospace;letter-spacing:2px;color:#c5c5a580}#scene-label small{display:block;font-size:7px;letter-spacing:1px;margin-top:6px}#toast{position:absolute;left:50%;transform:translateX(-50%);top:55px;max-width:85%;text-align:center;font:10px monospace;letter-spacing:1.2px;color:#eee1be;padding:8px 13px;background:#0d1917d9;border-left:2px solid var(--gold);pointer-events:none;opacity:0;transition:opacity .2s}#toast.show{opacity:1}.command-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:77px;padding:15px 22px;border-top:1px solid var(--line);background:#172120}.command-bar p{font-size:11px;line-height:1.5;color:#d0cfbb;margin:8px 0 0}.abilities{display:flex;gap:18px;white-space:nowrap;font-size:10px;color:var(--gold)}.abilities b{display:block;font-size:8px;font-weight:normal;margin-top:7px;color:var(--sage)}footer{flex-shrink:0;height:34px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;font-size:8px;letter-spacing:1px;border-top:1px solid var(--line);color:#9b9d8d}footer i{padding:0 8px;color:var(--gold)}.muted{color:#68746b}.overlay{position:absolute;inset:0;display:flex;align-items:center;padding:28px 6%;background:linear-gradient(90deg,#0a1518e8 0%,#0a1518c8 45%,#0a151822 100%);z-index:3}.intro-card{max-width:430px}.intro-card h2,dialog h2{font-size:64px;font-weight:normal;line-height:.95;letter-spacing:-2px;margin:23px 0}.intro-card p{max-width:355px;font-size:15px;color:#c2c9bc;line-height:1.7}.primary,.secondary{display:block;border:1px solid var(--gold);padding:16px 23px;font-size:11px;letter-spacing:1.6px;width:100%;max-width:355px;text-align:left}.primary{background:var(--gold);color:#102321;margin-top:24px}.primary:hover{background:#dfc286}.secondary{background:transparent;color:var(--gold);margin-top:10px}.fine{font-size:9px!important;line-height:1.7!important;color:#8f9d94!important}.intro-card .fine{margin-top:15px}#quickControls{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:18px;max-width:360px;font:9px monospace;color:#a8b5a8}kbd{font-size:10px;color:var(--bone);padding:3px 5px;border:1px solid var(--line);border-bottom:2px solid #8e8d7170;margin-right:3px}.stick,.touch-actions{display:none}.touch-mode .stick{display:block;position:absolute;bottom:20px;left:22px;width:105px;height:105px;border:1px solid #d3c29177;border-radius:50%;background:#1727278c;touch-action:none;z-index:2}.stick span{width:42px;height:42px;position:absolute;top:31px;left:31px;border-radius:50%;border:1px solid #d3c291a0;background:#a98c4748;pointer-events:none}.stick small{position:absolute;top:112px;width:100%;text-align:center;font-size:8px;color:#c4c7af;letter-spacing:2px}.touch-mode .touch-actions{display:flex;position:absolute;bottom:25px;right:16px;gap:7px;z-index:2;align-items:flex-end}.touch-actions button{border:1px solid #d3c29180;background:#152421dc;border-radius:50%;width:58px;height:58px;font-size:9px;color:var(--bone);touch-action:none;user-select:none}.touch-actions button[data-action=spin]{width:72px;height:72px;color:var(--gold);border-color:var(--gold);margin-bottom:26px}.touch-actions small{display:block;font-size:7px;color:var(--sage);margin-top:5px}.touch-actions button:active{background:#c8a76280}.intro-open .stick,.intro-open .touch-actions{display:none}dialog{border:1px solid #8e7b4f;background:#14221e;color:var(--bone);padding:30px;width:min(530px,92vw);max-height:90dvh;overflow:auto}dialog::backdrop{background:#020c0de5}dialog h2{font-size:42px}dialog p{font-size:14px;line-height:1.9;color:#bdc7b8}dialog label{display:block;font:12px monospace;margin:14px 0;color:#c1cbbf}input{accent-color:var(--gold)}.close{position:absolute;right:15px;top:10px;border:0;background:none;color:var(--bone);font-size:27px}.reduced-motion *{transition:none!important}.arena-wrap:fullscreen{background:var(--ink);width:100vw;height:100dvh}.arena-wrap:fullscreen .viewport{min-height:0}.test-indicator{font:10px monospace;color:var(--sage)}
@media(min-height:920px){.dossier{padding-top:50px}h1{font-size:43px}#seals{gap:22px}.rule{margin-top:38px}}
.intro-card{max-height:100%;overflow-y:auto;padding-bottom:6px}
#combatStatus{display:block;color:var(--gold);font:9px monospace;line-height:1.5;margin-top:5px}.new-moves{border-top:1px solid var(--line);margin-top:20px;padding-top:6px}.new-moves p{font-size:12px;line-height:1.7}#musicVolume{width:100%;min-height:26px}
@media(max-width:1100px){.shell{grid-template-columns:215px 1fr}.dossier{padding:26px 21px}h1{font-size:33px}.hud{gap:12px;padding:0 14px}.vital{width:130px}.hud-trial{gap:10px}#trialName{display:none}.abilities{gap:10px}.abilities span{font-size:8px}.brand{font-size:15px}.mast{padding:0 22px}}
@media(max-width:760px){body{min-height:480px}.mast{height:55px;padding:0 15px}.brand{font-size:13px;letter-spacing:2px}.brand span{font-size:6px;letter-spacing:2px}.edition{font-size:8px;letter-spacing:1px}.edition span{display:none}#help{font-size:8px;padding:8px}.shell{display:flex}.dossier{display:none}.arena-wrap{width:100%}.hud{height:56px;padding:0 13px;gap:10px}.vital{width:125px}.hud-trial{margin-left:auto}#time{font-size:15px}.hud-buttons{gap:5px}#sound{font-size:8px;padding:8px}.icon-button{font-size:15px;min-width:28px}.command-bar{min-height:71px;padding:12px 15px}.command-bar .micro{font-size:8px}.command-bar p{font-size:10px;margin-top:5px}.abilities{display:none}.overlay{padding:25px;background:#0a1518db}.intro-card h2{font-size:54px}.intro-card p{font-size:13px}.intro-card .fine{font-size:8px!important}footer{height:26px;padding:0 14px;font-size:7px}footer span:last-child{display:none}#scene-label{top:14px;left:15px;font-size:7px}#toast{top:43px;font-size:9px;padding:7px;max-width:90%;width:max-content}.touch-mode .command-bar{min-height:66px}}
@media(max-height:620px) and (orientation:landscape){body{min-height:0}.mast{height:39px}.dossier{display:none}.shell{display:flex}.arena-wrap{width:100%}.hud{height:43px}.command-bar{min-height:42px;padding:6px 16px}.command-bar p{margin:4px 0;font-size:9px}.command-bar .micro{display:none}footer{height:19px}.intro-card h2{font-size:36px;margin:8px 0}.intro-card p{font-size:11px;margin:5px 0}.primary{margin-top:10px;padding:11px}#quickControls{gap:7px;margin-top:10px}.intro-card{max-width:420px}.overlay{padding:12px 5%}.intro-card .fine{margin-bottom:0}.touch-mode .stick{bottom:16px;width:85px;height:85px}.stick span{top:21px;left:21px}.stick small{top:88px}.touch-mode .touch-actions{bottom:12px}.touch-actions button{width:48px;height:48px}.touch-actions button[data-action=spin]{width:58px;height:58px;margin-bottom:10px}#scene-label{top:10px}}
