*{box-sizing:border-box}body{margin:0;background:#10191d;color:#e9e8dc;font-family:'Microsoft JhengHei',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:#253841;border:1px solid #577078;padding:12px 16px;min-height:44px}button:hover{background:#354e54;border-color:#d3c58a}button:focus-visible,a:focus-visible{outline:3px solid #f4c76d;outline-offset:3px}button:disabled{opacity:.4;cursor:default}header{max-width:1280px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:22px 0}.brand{font-weight:bold;letter-spacing:3px;color:#e7c98a;text-decoration:none;font-size:16px}.brand span{display:block;font-size:12px;letter-spacing:2px;color:#aab7b5;margin-top:5px}.top{display:flex;gap:24px;align-items:center}.edition{font-size:11px;letter-spacing:2px;color:#a3aeae}main{max-width:1280px;margin:auto}.world{height:510px;position:relative;overflow:hidden;border:1px solid #486063;background:#192929}#scene{position:absolute;width:1280px;height:720px;left:50%;top:50%;transform:translate(-50%,-50%);image-rendering:pixelated}.world-top{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;padding:18px 24px;background:linear-gradient(#0c191ee8,transparent);font-size:12px;letter-spacing:2px}.world-top b{font-size:24px;color:#f1dba6}.scene-caption{position:absolute;bottom:20px;left:24px;display:grid;gap:6px;text-shadow:2px 2px #102026}.live{font-size:10px;color:#e7c98a;letter-spacing:2px}.scene-caption strong{font-size:20px}.scene-caption small{font-size:11px;color:#bbc9c5}#intro{position:absolute;inset:0;background:linear-gradient(90deg,#0b171cf5,#10222da0 50%,transparent);padding:75px 48px}.eyebrow{font-size:11px;letter-spacing:3px;color:#e6c785}h1{font-size:46px;letter-spacing:5px;line-height:1.3;margin:17px 0}h1 span{display:block;font-size:16px;letter-spacing:2px;color:#d9d8c7;margin-top:15px}#intro p{line-height:1.8;color:#b7c4bf;font-size:14px}.primary{background:#e4c486;color:#16272a;border:2px solid #fff0bf;box-shadow:4px 4px #08171c;font-weight:bold}.primary:hover{background:#f1d59d;color:#102027}.fine{font-size:11px!important}nav{display:flex;background:#17282e;border:1px solid #486063;border-top:0}nav button{flex:1;border:0;border-right:1px solid #3a5055;background:transparent;font-size:14px}nav span{color:#9baead;font-size:11px;margin-left:10px}.game{margin:24px 0;border:2px solid #607a88;outline:1px solid #152332;outline-offset:-5px;background:linear-gradient(145deg,#202f4d,#17233a);padding:22px 28px;box-shadow:5px 5px #080f15}.chapter{display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px;color:#d9bf86;margin-bottom:20px}.dialogue{display:flex;gap:24px}.portrait{width:76px;flex-shrink:0;text-align:center}.portrait canvas{width:72px;height:96px;image-rendering:pixelated;background:#152538;border:1px solid #5d7086}.portrait span{display:block;font-size:12px;margin-top:8px;color:#d7c9a6}.words{flex:1;min-width:0}h2{font-size:24px;margin:0 0 10px;font-weight:500;letter-spacing:1px}p{line-height:1.85}#text{font-size:18px;white-space:pre-line;color:#d6dfdf;margin:0 0 16px}#choices{margin:20px 0 0 100px;display:grid;gap:8px}#choices button{text-align:left;background:#1c2c43;border:1px solid #546781;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:17px}#choices button:hover{background:#354964;border-color:#e4c486}#choices small{font-size:12px;color:#e4c486;white-space:nowrap}.footnote{font-size:11px;color:#8eaaa9;margin:18px 0 0;text-align:right}footer{padding:24px 0 36px;display:flex;justify-content:space-between;color:#78908f;letter-spacing:2px;font-size:10px}dialog{width:min(650px,92vw);max-height:85vh;background:#192b3d;color:#e3e8df;border:3px double #9cadba;padding:30px;box-shadow:8px 8px #08141c}dialog::backdrop{background:#071219cc}#close{float:right}.card{border:1px solid #53677b;padding:14px;margin:10px 0;background:#152437}.card h3{margin:0 0 8px;font-size:17px}.card p{margin:5px 0;font-size:15px}.tag{font-size:12px;color:#e7c98a}.data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.data-grid button{display:block;text-align:left;background:#15263a}.data-grid b{display:block;font-size:30px;color:#edcc8a}.data-grid small{font-size:12px}.selects{display:grid;gap:8px}.selects label{display:grid;grid-template-columns:90px 1fr;align-items:center;font-size:14px}select{background:#15283e;color:#eee;padding:10px;border:1px solid #687e94;font-size:15px;max-width:100%}.cards{display:flex;flex-wrap:wrap;gap:8px}.cards button{font-size:14px}.cards .selected{background:#d7bb81;color:#14232c}.result{color:#e5c78d;border-left:3px solid #e5c78d;padding-left:12px}.warning{color:#ffbf9c}
@media(max-width:700px){header{padding:16px}.edition{display:none}main{width:100%}.world{height:330px}#scene{width:1280px;height:720px}.world-top{padding:12px;font-size:10px;letter-spacing:0}.world-top b{font-size:20px}#intro{padding:60px 24px}h1{font-size:31px;margin:8px 0}h1 span{font-size:12px}#intro p{display:none}.scene-caption{left:14px;bottom:12px}.scene-caption small{display:none}nav button{font-size:12px;padding:10px 3px}nav span{display:none}.game{margin:12px 8px;padding:18px 14px}.dialogue{gap:12px}.portrait{width:45px}.portrait canvas{width:44px;height:59px}.portrait span{font-size:10px}h2{font-size:20px}#text{font-size:16px}#choices{margin-left:0}#choices button{font-size:16px}.data-grid{grid-template-columns:1fr}.data-grid button{display:flex;align-items:center;justify-content:space-between;gap:6px}.data-grid b{font-size:24px}.footnote{font-size:10px}footer{padding:20px 12px;line-height:1.8;letter-spacing:0;gap:20px}.selects label{grid-template-columns:1fr}.top{gap:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.endcard{padding:30px;margin:15px 0 25px;border:3px double #d5bd85;background:linear-gradient(135deg,#253c52,#142333);box-shadow:5px 5px #0c1925}.endcard h2{font-size:44px;color:#f0d49b;margin:20px 0}.endcard strong{font-size:22px;color:#e9debc}.endcard p{font-size:16px}#scene{top:45%}.world{height:460px}@media(max-width:700px){.world{height:320px}#scene{top:46%}.endcard{padding:20px}.endcard h2{font-size:32px}}

#choices small{white-space:normal;max-width:48%;line-height:1.6}#choices button>span{flex:1}@media(max-width:700px){#choices button{align-items:flex-start;flex-direction:column;gap:6px}#choices small{max-width:100%}}

.portrait canvas{height:72px;width:72px}#scene:focus-visible{outline:2px solid #e4c486;outline-offset:-4px}@media(max-width:700px){.portrait canvas{width:44px;height:44px}}

.brief-label{display:block;font-size:12px;margin:12px 0;color:#d3c395}.brief-label select{margin-left:10px}.scoreboard{border:1px solid #8a9caa;padding:20px;margin:20px 0}.scoreboard p{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.scoreboard meter{flex:1;min-width:70px;height:14px;accent-color:#dfbf83}.scoreboard small{color:#a6b9b5}.scoreboard strong{color:#e8cb8e}@media(max-width:700px){#intro{padding-top:48px}.brief-label select{font-size:12px;padding:7px}.brief-label{margin:8px 0}}

footer{gap:24px;letter-spacing:1px}footer strong{font-size:15px;color:#dbc48e}footer p{margin:7px 0;letter-spacing:0;line-height:1.7}footer a{color:#dec58a}footer a:hover{color:#fff1c6}@media(max-width:700px){footer{flex-direction:column;gap:10px;padding:20px 16px}footer strong{font-size:14px}}
