@font-face{font-family:Pixel;src:url('assets/studio-pixel.ttf')}*{box-sizing:border-box}html,body{margin:0;background:#080f21;color:#fff0c9;font:14px ui-monospace,Consolas,monospace;height:100%;overscroll-behavior:none}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button,a{-webkit-tap-highlight-color:transparent}button{min-height:44px;border:2px solid #4c6396;border-radius:0;background:#17294c;color:#fff0c9;font:11px Pixel,monospace;padding:8px 10px;cursor:pointer;box-shadow:2px 2px #030a18;touch-action:manipulation}button:active{transform:translate(1px,1px);box-shadow:none}button:focus-visible,a:focus-visible{outline:3px solid #ffd36e;outline-offset:2px}button:disabled{opacity:.38;cursor:default}.primary{background:#60ddce;color:#10172d;border-color:#b9fff0}.end{background:#ffd36e;color:#10172d;border-color:#fff0c9;width:100%}[hidden]{display:none!important}#app{max-width:1080px;margin:auto;height:var(--vh,100dvh);min-height:260px;display:flex;flex-direction:column;border-left:1px solid #243556;border-right:1px solid #243556;background:#10172d}header{height:52px;flex:none;padding:3px 8px;display:flex;align-items:center;justify-content:space-between;background:#101b34;border-bottom:2px solid #2456a8}header a{min-height:44px;display:flex;align-items:center;gap:10px;color:#60ddce;text-decoration:none;font:22px Pixel}header a span{font-size:11px;color:#fff0c9}nav{display:flex;gap:5px}nav button{padding:5px;min-width:44px;font:12px ui-monospace,monospace}#title{overflow:auto;flex:1;min-height:0}.hero{position:relative;background:#0a1024;overflow:hidden}.hero canvas{display:block;width:100%;height:auto;image-rendering:pixelated;max-height:46dvh;object-fit:cover}.scene-label{position:absolute;bottom:8px;left:8px;padding:5px;background:#10172de8;font-size:10px;color:#60ddce}.intro{padding:14px 18px;text-align:center;max-width:600px;margin:auto}.eyebrow{font:9px Pixel;color:#60ddce;line-height:1.6;margin:0}h1{font:25px Pixel;margin:12px 0;line-height:1.4}.intro p{line-height:1.5}.title-actions{display:grid;gap:8px}.small{font-size:11px;line-height:1.45}footer{text-align:center;padding:14px 10px;font-size:10px;line-height:1.8;color:#9eafd2}footer b{color:#fff0c9}#play{flex:1;min-height:0;display:flex;flex-direction:column;padding:6px 8px;gap:5px}#stats{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;flex:none}#stats div{background:#17294c;border:1px solid #324a78;text-align:center;padding:5px 1px;font-size:10px}#stats b{display:block;color:#ffd36e;font-size:14px;line-height:1.4}.ticker{font-size:10px;line-height:1.3;padding:4px 2px;color:#60ddce;flex:none}.play-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(196px,1fr) auto;min-height:0;flex:1;gap:7px}.map-area{min-height:0;display:flex;flex-direction:column;align-items:center;gap:4px}.legend{display:flex;justify-content:space-between;width:100%;max-width:420px;font-size:9px}.you{color:#60ddce}.eye{color:#f96d64}.crown{color:#bb85e8}#board{width:min(100%,360px);flex:1;max-height:330px;min-height:180px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(44px,1fr));gap:4px}#board button{padding:3px;min-width:0;min-height:44px;font:12px ui-monospace,monospace;position:relative;background:#1b2945;border-color:#405374;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}#board button em{font-style:normal;font-size:9px;color:#a8b6d1;position:absolute;top:3px;left:4px}#board button strong{font-size:15px;margin-top:7px}#board button small{font-size:9px}#board .owner0{background:#164c51;border-color:#60ddce;color:#9cfff0}#board .owner1{background:#642d39;border-color:#f96d64;color:#ffb4a5}#board .owner2{background:#493361;border-color:#bb85e8;color:#e0b4ff}#board .spot{box-shadow:inset 0 0 0 2px #ffd36e66}#board .offline{background:repeating-linear-gradient(45deg,#11192a,#11192a 5px,#25304a 5px,#25304a 9px)}#board .selected{outline:3px solid #fff0c9;outline-offset:0;z-index:1}.map-caption{font-size:8px;color:#a8b6d1;line-height:12px}aside{min-width:0;display:flex;flex-direction:column;gap:5px}#selection{min-height:38px;font-size:11px;line-height:1.5}#selection b{color:#ffd36e}#selection span{color:#a8b6d1}.actions{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:5px}.actions button{font-size:9px;padding:6px 2px}#network{margin:0;color:#60ddce}#notice{font-size:10px;margin:0;min-height:13px;color:#ffd36e}.log{flex:none;font-size:10px;line-height:1.5;color:#a8b6d1;max-height:30px;overflow:hidden;border-top:1px solid #324a78;padding-top:4px}dialog{background:#101b34;color:#fff0c9;border:3px solid #60ddce;padding:18px;width:min(94vw,520px);max-height:calc(var(--vh,100dvh) - 24px);overflow:auto;box-shadow:8px 8px #030a18}dialog::backdrop{background:#050b1ccc}dialog h2{font:18px Pixel;line-height:1.5;color:#ffd36e}dialog p,dialog li{font-size:12px;line-height:1.6}dialog ul{padding-left:18px}#modal-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}#modal-actions button{flex:1;min-width:120px}body.expanded{position:fixed;inset:0;z-index:9999}body.expanded #app{max-width:none;width:100%}@media(min-width:700px) and (min-height:550px){#title{display:grid;grid-template-columns:1.15fr 1fr;align-content:center}.hero canvas{max-height:none;height:100%;object-fit:cover}.intro{padding:30px}footer{grid-column:1/-1}.play-layout{grid-template-columns:1.25fr 1fr;grid-template-rows:1fr;align-items:center;padding:10px 30px}#board{width:100%;min-height:300px;max-height:440px}aside{gap:15px}.actions{grid-template-columns:1fr}.actions button{font-size:12px}#selection{font-size:15px}.log{max-height:50px}}@media(max-height:480px) and (min-width:500px){header{height:46px}header a{font-size:18px}#play{padding:4px 8px;gap:2px}#stats{position:absolute;top:48px;right:8px;width:calc(50% - 18px)}#stats div{padding:1px;font-size:8px}#stats b{font-size:12px}.ticker{width:49%;font-size:9px}.play-layout{grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:14px;align-items:stretch}.map-area{padding-bottom:0}#board{width:100%;max-width:330px;min-height:176px;max-height:none;gap:3px}#board button{min-height:40px}#selection{min-height:34px}.legend{font-size:8px}.map-caption{font-size:7px}aside{padding-top:22px;gap:4px}.actions{grid-template-columns:1.3fr 1fr 1fr}.actions button{font-size:8px;min-height:44px}#network{font-size:9px}#notice{font-size:9px}.end{min-height:44px}.log{max-height:16px;font-size:9px}.hero{float:left;width:45%;height:100%}.hero canvas{height:100%;max-height:none;object-fit:cover}.intro{margin-left:45%;padding:8px 12px}h1{font-size:17px;margin:6px 0}.intro>p{font-size:10px;margin:5px 0}.title-actions{display:flex;flex-wrap:wrap;gap:5px}.title-actions button{flex:1;font-size:9px;padding:6px}.eyebrow{font-size:7px!important}footer{font-size:8px;padding:4px;margin-left:45%}.scene-label{font-size:7px}}@media(max-width:350px) and (min-height:481px){h1{font-size:20px}.intro{padding:10px 14px}.intro p{font-size:12px}#play{padding:5px 6px;gap:3px}.actions button{font-size:8px}.play-layout{gap:5px}#selection{font-size:10px;min-height:34px}#network{font-size:10px}.legend{font-size:8px}}
@media(max-height:330px) and (min-width:500px){.map-caption{display:none}#board{min-height:185px}.ticker{padding:2px 0}.play-layout{gap:12px}}
#app{height:calc(var(--vh,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom))}dialog{position:fixed;inset:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);width:min(calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px),520px);max-height:calc(var(--vh,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}
#app{position:relative}
@media(max-height:330px) and (min-width:500px){.log{position:absolute;right:8px;bottom:4px;width:calc(50% - 18px);max-height:20px;font-size:8px;line-height:1.3}#notice{display:none}}

.menu-tagline{font:italic 22px/1.4 Georgia,serif;color:#60ddce;margin:10px 0 18px}

.program-choice{display:block;width:100%;margin:10px 0;text-align:left}.program-receipt{border:1px solid #60ddce;padding:10px;line-height:1.8}
