@font-face{font-family:"Fusion Pixel 12px Prop zh-Hans";src:url(/Q3/fonts/fusion-pixel-12px-zh-hans.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--u:3px;--bg:#10121d;--ink:#181425;--night:#262b44;--dusk:#3a4466;--slate:#5a6988;--steel:#8b9bb4;--silver:#c0cbdc;--white:#fff;--cyan:#2ce8f5;--blue:#0099db;--amber:#feae34;--yellow:#fee761;--copper:#d77643;--red:#e43b44;--salmon:#f6757a;--font:"Fusion Pixel 12px Prop zh-Hans", "Songti SC", "STSong", sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;margin:0}body{color:var(--white);font-family:var(--font);font-synthesis:none;-webkit-font-smoothing:none;font-size:18px;line-height:1.6;overflow:hidden}#root{overflow:auto}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--ink)}::-webkit-scrollbar-thumb{background:var(--slate);border:var(--u) solid var(--ink)}::-webkit-scrollbar-thumb:hover{background:var(--steel)}::-webkit-scrollbar-corner{background:var(--ink)}@supports not selector(::-webkit-scrollbar){*{scrollbar-color:var(--slate) var(--ink)}}button,a,input{border-radius:0;font-family:inherit}button{font-size:inherit;line-height:inherit}::selection{background:var(--cyan);color:var(--ink)}:focus-visible{outline:var(--u) solid var(--cyan);outline-offset:2px}.frame,.ledger,.chapter{border:calc(var(--u) * 5) solid transparent;border-image:var(--frame-win) 5 fill / calc(var(--u) * 5) / 0 stretch;background:0 0}.topbar{z-index:5;background:var(--night);box-shadow:0 var(--u) 0 var(--dusk), 0 calc(var(--u) * 2) 0 var(--ink);justify-content:space-between;align-items:center;gap:16px;padding:8px 18px 10px;display:flex;position:relative}.brand{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--yellow);text-shadow:2px 2px 0 var(--ink);align-items:center;gap:12px;margin:0;font-size:24px;font-weight:400;line-height:1.5;display:flex;overflow:hidden}.brand:before{content:"";background:var(--icon-q) center / 24px 24px no-repeat;flex:none;width:24px;height:24px}.nav{flex-wrap:wrap;justify-content:flex-end;gap:4px 6px;display:flex}.text-btn{color:var(--silver);cursor:pointer;background:0 0;border:0;padding:2px 8px;text-decoration:none}.text-btn:hover{color:var(--yellow);box-shadow:inset 0 calc(var(--u) * -1) 0 var(--yellow)}.icon-btn{background:var(--icon-sound) center / 24px 24px no-repeat;cursor:pointer;border:0;flex:none;width:36px;height:30px;padding:0}.icon-btn.is-off{background-image:var(--icon-mute)}.icon-btn:hover{box-shadow:inset 0 calc(var(--u) * -1) 0 var(--yellow)}.text-btn.lang{color:var(--cyan)}.btn{--b:2px;appearance:none;border:calc(var(--b) * 4) solid transparent;border-image:var(--frame-btn) 4 fill / calc(var(--b) * 4) / 0 stretch;color:var(--white);cursor:pointer;white-space:nowrap;filter:drop-shadow(0 var(--b) 0 var(--ink));background:0 0;padding:1px 8px 3px}.btn:hover{border-image-source:var(--frame-btn-hover)}.btn:active{border-image-source:var(--frame-btn-down);transform:translateY(var(--b));filter:none}.btn.primary{border-image-source:var(--frame-primary);color:var(--ink)}.btn.primary:hover{border-image-source:var(--frame-primary-hover)}.btn.primary:active{border-image-source:var(--frame-primary-down)}.btn.danger{color:var(--salmon);filter:none;border:0;border-image:;padding:0}.btn.danger:hover{color:var(--white);box-shadow:inset 0 calc(var(--u) * -1) 0 var(--red)}.btn.danger:active{transform:none}.home{background:var(--bg) var(--stars);min-height:100%}.chapters{max-width:780px;margin:0 auto;padding:18px 24px 64px}.home-title{text-align:center;color:var(--yellow);text-shadow:3px 3px 0 var(--copper), 6px 6px 0 var(--ink);margin:30px 0 34px;font-size:36px;font-weight:400;line-height:1.4}.chapter{color:inherit;filter:drop-shadow(var(--u) var(--u) 0 var(--ink));margin:0 0 24px;padding:4px 12px 8px;text-decoration:none;display:block;position:relative}.chapter:hover,.chapter:focus-visible{border-image-source:var(--frame-gold);transform:translate(calc(var(--u) * -1), calc(var(--u) * -1));filter:drop-shadow(calc(var(--u) * 2) calc(var(--u) * 2) 0 var(--ink));outline:none}.chapter:before{content:"▶";color:var(--yellow);text-shadow:2px 2px 0 var(--ink);visibility:hidden;font-size:24px;line-height:1.5;position:absolute;top:6px;left:-48px}.chapter:hover:before,.chapter:focus-visible:before{visibility:visible}.chapter-index{background:var(--cyan);color:var(--ink);box-shadow:0 0 0 2px var(--ink);padding:0 6px;font-size:12px;line-height:1.5;display:inline-block}.chapter h2{color:var(--white);text-shadow:2px 2px 0 var(--ink);margin:6px 0 10px;font-size:24px;font-weight:400;line-height:1.5}.chapter:hover h2,.chapter:focus-visible h2{color:var(--yellow)}.vignette{box-sizing:content-box;float:right;border:8px solid #0000;border-image:var(--frame-chip) 4 / 8px / 0 stretch;width:176px;height:112px;image-rendering:pixelated;image-rendering:crisp-edges;margin:2px 0 10px 18px}.story p{color:var(--silver);margin:0 0 .6em}.story .gap{height:.6em}.enter{border:8px solid #0000;border-image:var(--frame-primary) 4 fill / 8px / 0 stretch;color:var(--ink);filter:drop-shadow(0 2px 0 var(--ink));margin-top:4px;padding:0 8px 2px;display:inline-block}.chapter:hover .enter,.chapter:focus-visible .enter{border-image-source:var(--frame-primary-hover)}.enter:after{content:" ▶"}.sim{background:var(--bg) var(--stars);flex-direction:column;min-height:100%;display:flex}.sim-body{flex-direction:column;gap:18px;padding:18px 12px 24px;display:flex}.sim-main{flex-direction:column;gap:18px;min-width:0;display:flex}.stage-wrap{aspect-ratio:16/10;border:calc(var(--u) * 5) solid transparent;border-image:var(--frame-stage) 5 / calc(var(--u) * 5) / 0 stretch;background:var(--ink);max-height:64vh;position:relative}.pixel-wrap{position:absolute;inset:0;overflow:hidden}.pixel-canvas{image-rendering:pixelated;image-rendering:crisp-edges;touch-action:manipulation;position:absolute}.stage-fallback{text-align:center;color:var(--silver);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.dialogue{filter:drop-shadow(var(--u) var(--u) 0 var(--ink));padding:2px 6px 0;position:relative}.dialogue.is-win{border-image-source:var(--frame-gold)}.dialogue.is-lose{border-image-source:var(--frame-red)}.pips{color:var(--slate);flex-wrap:wrap;justify-content:flex-end;gap:4px;margin:0 0 6px;font-size:12px;line-height:1.5;display:flex}.pips span{padding:0 6px}.pips span+span:before{content:"▸";color:var(--dusk);margin:0 8px 0 -6px}.pips .done{color:var(--steel)}.pips .on{background:var(--cyan);color:var(--ink);box-shadow:0 0 0 2px var(--ink)}.pips .on:before{color:var(--ink)}.dialogue-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.portrait{box-sizing:content-box;border:8px solid #0000;border-image:var(--frame-chip) 4 / 8px / 0 stretch;width:96px;height:96px;image-rendering:pixelated;image-rendering:crisp-edges;flex:none}.dialogue-copy{flex:1;min-width:120px}.speaker{border:8px solid #0000;border-image:var(--frame-cyan) 5 fill / 10px / 0 stretch;color:var(--cyan);padding:0 6px;font-size:12px;line-height:1.5;position:absolute;top:-27px;left:120px}.line{min-height:1.6em;color:var(--white);margin:0}.caret:before{content:"▼";color:var(--cyan);margin-left:6px;font-size:12px;font-style:normal}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.ledger{padding:2px 10px 12px}.ledger h2,.modal h2{color:var(--yellow);text-shadow:2px 2px 0 var(--ink);margin:0 0 6px;font-size:24px;font-weight:400;line-height:1.5}.ledger h3{color:var(--silver);margin:18px 0 6px;font-size:18px;font-weight:400}.stat{margin:10px 0 16px}.stat-label{color:var(--silver)}.stat-value{color:var(--white);text-shadow:2px 2px 0 var(--ink);font-size:24px;line-height:1.5}.stat-value span,.stat-rate{color:var(--steel);text-shadow:none;font-size:18px}.stat-rate{margin-left:8px}.bar{background:var(--dusk);height:15px;box-shadow:inset 0 var(--u) 0 var(--night), 0 0 0 var(--u) var(--ink);margin-top:4px;position:relative}.bar i{background:var(--cyan);width:0;height:100%;box-shadow:inset 0 var(--u) 0 #b6f7fb, inset 0 calc(var(--u) * -1) 0 var(--blue);display:block}.bar-1 i{background:var(--amber);box-shadow:inset 0 var(--u) 0 var(--yellow), inset 0 calc(var(--u) * -1) 0 var(--copper)}.bar:after{content:"";background:repeating-linear-gradient(90deg, transparent 0 calc(10% - 3px), var(--ink) calc(10% - 3px) 10%);position:absolute;inset:0}.confirm{color:var(--silver);flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px;display:flex}.history{margin:0;padding:0;list-style:none}.history li{border-top:var(--u) solid var(--dusk);padding:6px 0 6px 18px;position:relative}.history li:before{content:"";background:var(--cyan);width:9px;height:9px;box-shadow:0 0 0 2px var(--ink);position:absolute;top:16px;left:0}.history li.pick-1:before{background:var(--amber)}.history .h-title{color:var(--white)}.history .h-title .won{color:var(--yellow)}.history .h-detail,.empty{color:var(--steel)}.scrim{z-index:30;background:#10121dd1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{width:min(700px,100%);max-height:min(80vh,760px);filter:drop-shadow(calc(var(--u) * 2) calc(var(--u) * 2) 0 var(--ink));padding:2px 12px 12px;overflow:auto}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px;display:flex}@media (width>=901px){.sim{height:100%;overflow:hidden}.sim-body{flex:1;grid-template-columns:minmax(0,1fr) 300px;min-height:0;padding:18px;display:grid}.sim-main{min-height:0}.stage-wrap{aspect-ratio:auto;flex:1;min-height:0;max-height:none}.ledger{min-height:0;overflow:auto}.dialogue-row{flex-wrap:nowrap}.dialogue-copy{flex-direction:column;justify-content:center;min-height:6.4em;display:flex}}@media (width<=600px){.topbar{flex-wrap:wrap;gap:2px 8px;padding:8px 10px 10px}.topbar .nav{margin-left:auto}.brand{gap:8px;font-size:18px}.nav{flex-wrap:nowrap;gap:0}.text-btn{white-space:nowrap;padding:2px 5px}.chapters{padding:12px 12px 48px}.chapter:before{display:none}.vignette{float:none;margin:4px auto 12px;display:block}.icon-btn{width:30px}.home-title{text-shadow:2px 2px 0 var(--copper), 4px 4px 0 var(--ink);font-size:24px}.portrait{width:64px;height:64px}.speaker{left:4px}}@media (prefers-reduced-motion:no-preference){.caret:before{animation:.8s step-end infinite blink}.chapter:hover:before,.chapter:focus-visible:before{animation:.6s step-end infinite nudge}}@keyframes blink{50%{opacity:0}}@keyframes nudge{50%{transform:translate(6px)}}
