:root{--gold:#d6a845;--gold2:#f1cc74;--text:#efe2be;--muted:#aa9870;--green:#85c84f;--red:#c96753;--line:#71501f;--panel:#0b0a07f2}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:#050605;color:var(--text);font-family:Georgia,"Times New Roman",serif}
body{background:radial-gradient(circle at 50% 0,#20160c 0,#080705 38%,#040504 84%);overflow-x:hidden}
button{font:inherit;touch-action:manipulation}
.app{width:min(100%,920px);margin:auto;padding:max(6px,env(safe-area-inset-top)) 7px max(8px,env(safe-area-inset-bottom))}
.frame{border:1px solid var(--gold);border-radius:15px;background:linear-gradient(#120e09fa,#070705fc);box-shadow:0 0 0 2px #2a1d0b inset;overflow:hidden}
.page{display:none}.page.active{display:block}
.legendsHeader{min-height:102px;display:grid;grid-template-columns:82px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--line)}
.unionLogo{width:80px;height:80px;object-fit:contain;border-radius:50%}
.legendsBrand{text-align:center}.legendsBrand b{display:block;color:var(--gold2);font-size:29px;letter-spacing:1.5px}.legendsBrand span{display:block;color:var(--gold);font:700 11px Arial,sans-serif;letter-spacing:2.2px;margin-top:3px}
.entryLink{color:#8ea17b;font:700 9px Arial,sans-serif;white-space:nowrap}
.stripViewport{overflow-x:auto;-webkit-overflow-scrolling:touch;background:#020302}
.stripCanvas{position:relative;width:max(1420px,100%);line-height:0}
.stripImage{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.hit{position:absolute;top:0;bottom:0;width:16.666666%;border:0;background:transparent;cursor:pointer}
.hit:active,.hit:focus-visible{outline:2px solid var(--gold2);outline-offset:-3px;background:#d6a84513}

.runtimeHeader{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;padding:7px;border-bottom:1px solid var(--line)}
.iconBtn{height:42px;border:1px solid var(--gold);border-radius:9px;background:#151008;color:var(--gold2);font-size:26px}
.runtimeBrand{text-align:center}.runtimeBrand b{display:block;color:var(--gold2);font-size:18px;letter-spacing:.5px}.runtimeBrand span{color:var(--gold);font:700 8px Arial,sans-serif}
.linkStatus{font:700 8px Arial,sans-serif;color:var(--green);white-space:nowrap}
.runtimeContent{padding:7px}
.hero{position:relative;width:100%;aspect-ratio:4/3;border:1px solid var(--gold);border-radius:11px;overflow:hidden;background:#080705}
.hero img{width:100%;height:100%;object-fit:contain;display:block;background:#050504}
.heroTag{position:absolute;left:7px;top:7px;background:#000b;border:1px solid var(--gold);border-radius:99px;padding:4px 8px;color:var(--gold2);font:bold 10px Arial,sans-serif}
.stateStrip{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:5px}
.stateMini{height:30px;border:1px solid #5c431b;border-radius:6px;background:#100d08;color:#bea45e;font:700 7px Arial,sans-serif}
.stateMini.active{border-color:var(--gold2);color:#ffe29a;box-shadow:0 0 8px #8b5d19}
.panel{margin-top:7px;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:7px}
.panel h2{margin:0 0 5px;text-align:center;color:var(--gold2);font-size:15px}
.feedback{font-size:12px;line-height:1.35;min-height:34px}
.signature{text-align:right;color:var(--gold);font-style:italic;font-size:13px;margin-top:2px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.metric{border:1px solid #4d3717;border-radius:7px;background:#080704;padding:5px 2px;text-align:center}
.metric small{display:block;color:var(--gold);font:7px Arial,sans-serif}
.metric strong{display:block;margin-top:3px;font:10px Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modeLine{margin-top:5px;text-align:center;color:#d8c18d;font:10px Arial,sans-serif}
.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.ctrl{min-height:42px;padding:4px;border:1px solid var(--gold);border-radius:8px;background:#151008;color:var(--gold2);font-weight:700;font-size:9px}
.ctrl.start{background:#203b18;color:#dff1bd}.ctrl.stop{background:#3a1711;color:#ffc0b3}.ctrl.character{color:#ead28e}.ctrl.mode.active{box-shadow:0 0 0 1px #d6a845 inset;background:#241b0c}.ctrl.madness{color:#efc987}
.events{max-height:160px;overflow:auto;font:10px Arial,sans-serif}.evt{display:grid;grid-template-columns:44px 1fr;gap:5px;padding:4px 0;border-top:1px solid #70501f88}.evt:first-child{border-top:0}.evt time{color:#938872}.evt div{color:#ddc58e}.empty{color:#6f6b5d;text-align:center;padding:14px}
@media (orientation:landscape) and (min-width:700px){
 body{overflow-y:auto}.app{width:100%;max-width:1000px;padding:4px 7px}.runtimeContent{display:grid;grid-template-columns:52% 48%;gap:7px}.panel{margin-top:0;margin-bottom:6px}.controls{grid-template-columns:repeat(3,1fr)}.events{max-height:120px}.stripCanvas{width:max(100%,1080px)}
}
@media (max-width:560px){
 .legendsHeader{grid-template-columns:68px 1fr;min-height:86px}.unionLogo{width:66px;height:66px}.entryLink{grid-column:1/-1;text-align:center;margin-top:-3px}.legendsBrand b{font-size:25px}.runtimeHeader{grid-template-columns:42px 1fr}.linkStatus{grid-column:1/-1;text-align:center;margin-top:-3px}.stripCanvas{width:1420px}
}