:root{--bg:#160c22;--ink:#10091c;--purple:#a960e3;--light:#dda6ff;--cream:#fff4d2;--lime:#d8ff63;--border:#9568bb;--font:'DotGothic16',monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--font);font-size:16px;line-height:1.7;background-image:linear-gradient(#a65edb0d 1px,transparent 1px),linear-gradient(90deg,#a65edb0d 1px,transparent 1px);background-size:32px 32px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:5px}button:hover{color:var(--lime)}[hidden]{display:none!important}.skip{position:fixed;top:-80px;z-index:100;background:var(--lime);color:var(--ink);padding:12px}.skip:focus{top:0}.topbar{max-width:1500px;padding:22px 4%;margin:auto;display:flex;align-items:center;gap:30px}.wordmark{font-size:25px;line-height:1.2;white-space:nowrap}.wordmark span{display:block;font:10px monospace;letter-spacing:2px;color:var(--light);margin-top:7px}.topbar nav{display:flex;gap:24px;margin-left:auto;font-size:14px}.nav-listen{color:var(--lime)}.settings{display:flex;gap:7px}.settings button{border:1px solid #785592;padding:7px 10px;font-size:12px;white-space:nowrap}.arcade{max-width:1440px;padding:5px 4% 0;margin:auto}.machine-top,.machine-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;color:#b498c8;padding:12px 2px;letter-spacing:1px}.machine-top{font-family:monospace}.led{display:inline-block;width:7px;height:7px;background:var(--lime);margin-right:8px;box-shadow:0 0 10px #d8ff6366}.game-frame{border:4px solid #ba8cda;box-shadow:0 0 0 4px #301c44,0 0 0 8px #77558e,0 18px 0 #0c0713;background:#211032}.hud{display:flex;justify-content:space-between;align-items:center;padding:13px 30px;background:#1b102a;border-bottom:3px solid #7b4a9e;gap:20px}.hud>div{display:flex;flex-direction:column}.hud>div:last-child{text-align:right}.hud span{font-size:12px;color:#b899ce}.hud strong{font-size:19px;font-weight:400;letter-spacing:2px}.hud small{font-size:14px;margin-left:10px;color:var(--lime)}.hud b{font-weight:400}.hud-mid{text-align:center}.stage{height:550px;position:relative;overflow:hidden;background:#4a2863}.town{position:absolute;inset:0;background:#492866 url('assets/town.png') center 61%/cover no-repeat;image-rendering:pixelated;transition:filter .6s;filter:brightness(.58)}.stars{position:absolute;inset:20px 5% auto;display:flex;justify-content:space-between;color:#ffebc8;font-size:25px;pointer-events:none}.stars span{animation:twinkle 2.8s steps(2,end) infinite}.stars span:nth-child(2){animation-delay:1s}.title-screen{position:absolute;inset:0;text-align:center;padding-top:22px;isolation:isolate;background:linear-gradient(#38165022,#34184133 60%,#26123b44)}.title-kicker{font-size:16px;color:#f0d0ff;letter-spacing:4px;position:relative;z-index:3}h1{font-weight:400;margin:9px 0 0;line-height:1.08;letter-spacing:5px;position:relative;z-index:3;filter:drop-shadow(5px 7px 0 #2a0d42)}h1>span{display:block;font-size:clamp(60px,6.8vw,94px);text-shadow:-3px -3px 0 #fff4d2,3px -3px 0 #fff4d2,-3px 3px 0 #fff4d2,3px 3px 0 #fff4d2;color:#cc88f4}h1>span:nth-child(2){color:var(--cream);font-size:clamp(57px,6.2vw,87px);text-shadow:3px 3px 0 #914cc2}.title-mark{font-size:19px;vertical-align:top;display:inline-block;margin-top:10px;margin-left:8px;text-shadow:none}.subtitle{position:relative;z-index:3;font-size:20px;margin-top:8px;letter-spacing:6px;text-shadow:2px 2px #251037}.subtitle em{font-style:normal;color:var(--lime)}.hero-host{background-image:url('assets/hosts.png');background-size:200% 100%;position:absolute;z-index:2;width:285px;height:310px;bottom:0;image-rendering:pixelated;animation:bob 2s steps(2,end) infinite}.hero-host.isabu{left:1%;background-position:left center}.hero-host.daiki{right:1%;background-position:right center;animation-delay:.8s}.speech{position:absolute;right:3%;top:37%;z-index:4;font-size:16px;background:var(--light);border:3px solid #fff5db;color:#261035;box-shadow:5px 5px 0 #321440;padding:7px 13px;transform:rotate(5deg);animation:bob 3s steps(3) infinite}.start-menu{position:relative;margin:25px auto 0;width:max-content;max-width:100%;z-index:5}.start-button{background:var(--lime);color:#231333;padding:12px 24px;box-shadow:4px 4px 0 #281333,0 0 0 3px #f1ffc4;font-size:20px;transition:transform .12s}.start-button:hover{color:#231333;background:#e9ffad;transform:translateY(-3px)}.start-button span{display:inline-block;animation:blink 1.2s steps(2,end) infinite;padding-right:8px}.listen-now{display:block;font-size:14px;background:#261334df;margin:15px auto 0;padding:4px 10px}.start-menu p{font:12px monospace;letter-spacing:3px;color:#edcfff;margin:16px 0 0}.start-menu p span{display:block;font:12px var(--font);letter-spacing:1px;margin-top:7px}.scanlines{pointer-events:none;position:absolute;inset:0;z-index:6;opacity:.09;background:repeating-linear-gradient(transparent 0px,transparent 3px,#130820 3px,#130820 4px)}.command-panel{display:flex;align-items:center;padding:20px 26px;min-height:130px;background:#231334;border-top:3px solid #bc90dc;position:relative;gap:20px}.speaker{background:#57336f;border:2px solid var(--border);width:76px;height:76px;flex-shrink:0;overflow:hidden}.portrait-sprite{width:100%;height:100%;background:url('assets/hosts.png') no-repeat;background-size:200% 100%;image-rendering:pixelated}.isabu{background-position:left center}.daiki{background-position:right center}.command-text{flex:1;min-width:0}.command-text>span{color:var(--light);font-size:13px}.command-text p{margin:5px 0 0;line-height:1.75;font-size:17px}.command-caret{align-self:end;color:var(--light)}.blink{animation:blink 1.5s steps(2,end) infinite}.game-controls{display:flex;align-items:center;gap:9px}.game-controls button{height:45px;min-width:44px;background:#372149;border:2px solid #ab84c7;box-shadow:3px 3px #11081c;padding:5px 12px}.game-controls .action-button{background:var(--light);color:#251036}.action-button small{border:1px solid;padding:0 3px;margin-left:8px;font:12px monospace}.machine-bottom{padding-top:20px;letter-spacing:0}.machine-bottom button{font-size:12px}.below{max-width:1300px;margin:65px auto 50px;padding:0 4%;display:grid;grid-template-columns:1.2fr 1fr;gap:70px}.section-label{font:12px monospace;letter-spacing:2px;color:var(--light)}.quest-intro h2{font-size:23px;font-weight:400;margin:12px 0 25px}.quest-intro ol{list-style:none;padding:0;margin:0}.quest-intro li{display:flex;gap:18px;align-items:center;padding:14px 0;border-top:1px dashed #614773}.quest-intro li b{font:21px monospace;color:var(--light)}.quest-intro li span{font-size:16px}.quest-intro small{display:block;font-size:13px;color:#b298c1;margin-top:3px}.notice-board{border:2px solid #6f4d8d;background:#241333;box-shadow:5px 5px 0 #0c0713;padding:28px 32px;position:relative}.notice-board>span{position:absolute;top:-15px;left:20px;background:var(--bg);color:var(--light);padding:0 10px;font-size:14px}.notice-board p{font-size:25px;line-height:1.65;margin:0 0 16px}.notice-board div{font-size:14px;color:#cbb4dc}.notice-board button{margin-top:20px;text-align:left;padding:10px 0 0;border-top:1px solid #674881;color:var(--lime);font-size:15px}footer{max-width:1440px;margin:auto;border-top:1px solid #4b335f;padding:24px 4%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#bda2ce}footer button{font-size:12px}.map{position:absolute;inset:0}.playing .town{filter:brightness(.9)}.map-heading{position:absolute;top:20px;left:0;right:0;text-align:center;text-shadow:2px 2px #21102f}.map-heading>span{font:12px monospace;letter-spacing:4px;color:var(--lime)}.map-heading h2{font-size:33px;letter-spacing:4px;font-weight:400;margin:0}.map-heading p{font-size:14px;margin:3px 0}.places{position:absolute;inset:0}.place{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:9px;color:white;min-width:135px;z-index:8}.place-label{background:#21102fe8;border:2px solid #bc8ae0;padding:6px 10px;font-size:14px;white-space:nowrap;box-shadow:3px 3px #180b23}.marker{width:52px;height:52px;border:3px solid #2d163e;background:#d1a2ef;box-shadow:3px 3px 0 #2d163e,inset 3px 3px #fff2d7;font:26px var(--font);color:#2d163e;display:grid;place-items:center;transition:transform .2s}.selected .marker{background:var(--lime);transform:translateY(-8px);animation:marker 1s steps(2,end) infinite}.selected .place-label{border-color:var(--lime);color:var(--lime)}.visited{font-size:12px;background:#22102dd9;color:#e1c3f6;padding:1px 7px}.place.done .visited{color:var(--lime)}.player-token{position:absolute;bottom:42px;left:13%;transform:translateX(-50%);width:65px;transition:left .5s steps(10);text-align:center;pointer-events:none;z-index:7}.player-token>span{font:11px monospace;letter-spacing:2px;color:var(--lime);text-shadow:1px 1px #110917}.token-face{margin-top:5px;width:65px;height:68px;background:url('assets/hosts.png') left center/200% 100%;image-rendering:pixelated;filter:drop-shadow(3px 4px 0 #211032);animation:bob .7s steps(2,end) infinite}.map-footer{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:12px;color:#fff4d2;text-shadow:1px 2px #160b25;background:#190a2b91}.toast{position:absolute;z-index:12;top:45%;left:50%;transform:translate(-50%,-50%);width:max-content;max-width:90%;background:var(--lime);color:var(--ink);padding:18px 30px;border:4px solid var(--cream);box-shadow:6px 6px #190b27;text-align:center;font-size:18px}dialog{width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:0;background:#231235;color:var(--cream);border:3px solid var(--cream);box-shadow:0 0 0 5px #68338f,10px 10px 0 #0d0518;font-family:var(--font)}dialog::backdrop{background:#0d051acd;backdrop-filter:blur(3px)}.window-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 22px;background:#a760d9;color:#1e0c2d;border-bottom:3px solid var(--cream)}.window-bar span{font-size:14px;letter-spacing:2px}.window-bar button{font-size:27px;line-height:1;padding:0 5px}.window-content{padding:28px 35px}.window-content h2{font-size:32px;font-weight:400;line-height:1.5;margin:0 0 22px;color:var(--light)}.window-content p{font-size:16px;line-height:1.9}.window-content .big-line{font-size:22px;color:var(--lime)}.window-content .small{font-size:12px;color:#bca1cc}.window-bottom{padding:15px 25px;border-top:1px solid #76558c;display:flex;justify-content:space-between;align-items:center;gap:20px}.window-bottom>span{font-size:13px;color:var(--lime)}.window-bottom button{background:#654081;border:1px solid #d5acf0;padding:8px 17px;font-size:14px}.text-box{border:2px solid #946bad;padding:17px 22px;margin-top:22px;background:#190d29}.text-box p{margin:0}.text-box>span{display:block;color:var(--light);font-size:13px;margin-bottom:6px}.character-choice{display:flex;gap:14px;margin-bottom:25px}.character-choice button{flex:1;border:2px solid #9065a9;background:#352046;padding:10px;display:flex;align-items:center;gap:12px}.character-choice button[aria-pressed=true]{border-color:var(--lime);color:var(--lime)}.choice-portrait{height:70px;width:64px;flex-shrink:0;background-image:url('assets/hosts.png');background-size:200% 100%;image-rendering:pixelated}.host-description{display:grid;grid-template-columns:150px 1fr;gap:25px}.host-description .portrait-sprite{height:160px}.host-description h3{font-size:27px;font-weight:400;margin:0}.host-description p{margin:10px 0;font-size:15px}.x-link{display:inline-block;color:var(--lime);font-size:14px;text-decoration:underline;text-underline-offset:5px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stat-box{border:2px solid #9167ad;padding:20px;background:#311944}.stat-box>span{font-size:13px}.stat-box strong{display:block;font:40px var(--font);color:var(--lime);margin:10px 0}.stat-box p{font-size:13px;margin:0}.channels{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.channels a{display:block;border:2px solid #b883d8;background:#39204b;padding:18px;transition:transform .1s,background .1s}.channels a:hover{background:var(--light);color:var(--ink);transform:translate(-2px,-2px);box-shadow:4px 4px var(--cream)}.channels strong{font-size:21px;display:flex;justify-content:space-between;font-weight:400}.channels small{font-size:12px;display:block;margin-top:8px}.fallback{padding:30px}.paused *,.paused *:before,.paused *:after{animation:none!important;transition:none!important}@keyframes bob{50%{transform:translateY(-6px)}}@keyframes blink{50%{opacity:.35}}@keyframes twinkle{50%{opacity:.3}}@keyframes marker{50%{transform:translateY(-13px)}}@media(min-width:1500px){.stage{height:600px}.hero-host{width:320px;height:345px}.title-screen{padding-top:34px}.start-menu{margin-top:32px}}@media(max-width:1100px){.topbar{gap:20px}.topbar nav{gap:10px}.topbar nav button{font-size:12px}.settings button{padding:5px 8px}.settings span{display:none}.hero-host{width:230px;height:265px}.speech{right:2%;top:39%;font-size:14px}.title-kicker{font-size:14px}.stage{height:515px}.place{min-width:115px}.place-label{font-size:12px;padding:5px 7px}.command-text p{font-size:16px}.below{gap:35px}.notice-board p{font-size:23px}}@media(max-width:700px){.topbar{padding:19px 5%;gap:12px}.wordmark{font-size:21px}.wordmark span{font-size:8px;letter-spacing:1px}.topbar nav{display:none}.settings{margin-left:auto}.settings button{font-size:17px;min-width:36px;height:36px}.arcade{padding:0 4%}.machine-top{font-size:9px;letter-spacing:0;padding:9px 0}.machine-top>span:last-child{display:none}.game-frame{border-width:3px;box-shadow:0 0 0 3px #301c44,0 0 0 5px #77558e,0 12px #0c0713}.hud{padding:10px 12px;gap:6px}.hud strong{font-size:14px;letter-spacing:0}.hud span{font-size:10px}.hud small{font-size:11px;margin-left:5px}.hud-mid{display:none!important}.stage{height:515px}.town{background-size:auto 100%;background-position:center bottom}.title-screen{padding-top:25px}.title-kicker{font-size:12px;letter-spacing:1px}h1{margin-top:18px;letter-spacing:3px}h1>span{font-size:62px;text-shadow:-2px -2px #fff4d2,2px -2px #fff4d2,-2px 2px #fff4d2,2px 2px #fff4d2}h1>span:nth-child(2){font-size:59px}.title-mark{font-size:12px;margin-left:4px}.subtitle{font-size:15px;letter-spacing:2px;margin-top:13px}.hero-host{width:140px;height:155px;bottom:0}.hero-host.isabu{left:1%}.hero-host.daiki{right:1%}.speech{top:auto;bottom:130px;right:14px;font-size:12px;padding:4px 8px;border-width:2px}.start-menu{margin-top:29px}.start-button{font-size:16px;padding:10px 15px}.listen-now{font-size:12px;margin-top:13px}.start-menu p{font-size:10px;letter-spacing:2px;margin-top:14px}.start-menu p span{font-size:10px;letter-spacing:0}.command-panel{padding:14px 13px;gap:12px;min-height:117px;flex-wrap:wrap}.speaker{width:49px;height:54px}.command-text>span{font-size:12px}.command-text p{font-size:14px;line-height:1.8}.command-caret{display:none}.machine-bottom{font-size:10px;gap:8px;align-items:start}.machine-bottom span:first-child{max-width:220px}.machine-bottom button{font-size:11px;padding:0}.machine-bottom #title-hint{font-size:10px;white-space:nowrap}.below{grid-template-columns:1fr;gap:40px;margin:42px auto;padding:0 6%}.quest-intro h2{font-size:21px}.notice-board{padding:26px}.notice-board p{font-size:24px}footer{padding:22px 6%;flex-wrap:wrap;font-size:11px}footer>span:nth-child(2){display:none}.map-heading{top:22px}.map-heading h2{font-size:25px;letter-spacing:2px}.map-heading p{font-size:12px;padding:0 10px}.places{inset:140px 15px 90px;display:grid;grid-template-columns:1fr 1fr;gap:22px 12px}.place{position:relative;left:auto;top:auto;transform:none;min-width:0;gap:6px;background:#301a417a;border:1px solid #c089e96b;padding:8px 0}.place-label{font-size:11px;padding:5px 3px;white-space:normal;border-width:1px;width:95%}.marker{height:39px;width:43px;font-size:21px}.selected .marker{animation:none;transform:none}.selected{background:#7f4798a3;border-color:var(--lime)}.visited{font-size:10px}.player-token{bottom:25px;width:42px}.token-face{width:42px;height:45px}.player-token>span{font-size:9px}.map-footer{font-size:10px;bottom:1px}.game-controls{margin-left:auto;gap:10px;width:100%;justify-content:flex-end;border-top:1px solid #543269;padding-top:11px}.game-controls button{height:42px}.window-content{padding:22px}.window-content h2{font-size:26px}.window-content p{font-size:15px}.window-content .big-line{font-size:19px}.window-bar{padding:9px 17px}.window-bar span{font-size:12px}.window-bottom{padding:14px;gap:8px}.window-bottom button{font-size:12px;padding:8px 11px}.window-bottom>span{font-size:11px}.character-choice{gap:10px}.character-choice button{font-size:14px;gap:8px;padding:8px}.choice-portrait{height:48px;width:42px}.host-description{grid-template-columns:85px 1fr;gap:17px}.host-description .portrait-sprite{height:99px}.host-description h3{font-size:23px}.host-description p{font-size:14px}.stats-grid{gap:10px}.stat-box{padding:13px}.stat-box strong{font-size:30px}.stat-box>span{font-size:11px}.channels{grid-template-columns:1fr}.channels a{padding:15px}.channels strong{font-size:20px}.text-box{padding:14px}.toast{font-size:15px;padding:16px}.hud #progress-dots{display:none}}@media(max-width:360px){h1>span{font-size:53px}h1>span:nth-child(2){font-size:52px}.start-button{font-size:14px}.title-kicker{font-size:11px}.wordmark{font-size:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep the supplied character art at its original aspect ratio. */
.hero-host{width:230px;height:460px;bottom:-82px}.portrait-sprite,.choice-portrait,.token-face{background-size:200% auto;background-position:left 35%}.portrait-sprite.daiki,.choice-portrait.daiki{background-position:right 35%}
@media(min-width:1500px){.hero-host{width:255px;height:510px;bottom:-90px}}
@media(max-width:1100px){.hero-host{width:190px;height:380px;bottom:-65px}}
@media(max-width:700px){.hero-host{width:125px;height:250px;bottom:-58px}}
/* Keep both exit controls reachable while long conversations scroll. */
dialog[open]{display:flex;flex-direction:column;overflow:hidden}.window-bar,.window-bottom{flex-shrink:0}.window-content{overflow-y:auto;min-height:0;overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}

/* Simplified program navigation and fixed release schedule. */
.hud{justify-content:center;text-align:center}.hud strong{font-size:16px;letter-spacing:1px}.title-screen{padding-top:35px}.subtitle{font-size:20px;letter-spacing:2px;line-height:1.65;margin:18px auto 0;max-width:90%}.start-menu{margin-top:25px}.start-button{font-size:18px}.machine-bottom{justify-content:flex-end;min-height:44px}footer{justify-content:center;margin-top:18px}.window-bottom{justify-content:flex-end}
@media(max-width:700px){.topbar{flex-wrap:wrap;padding-bottom:22px}.topbar nav{display:flex;order:3;width:100%;justify-content:center;margin:2px 0 0;gap:28px}.topbar nav button{font-size:14px}.hud strong{font-size:14px;letter-spacing:0}.title-screen{padding-top:15px}.subtitle{font-size:16px;letter-spacing:1px;margin-top:18px}.start-button{font-size:14px;padding:12px 10px}.start-button span{padding-right:2px}.speech{bottom:130px}.places{top:105px}.start-menu{margin-top:24px}}
