:root{color-scheme:dark;--bg:#0b121b;--panel:#141f2b;--line:#304152;--text:#eef2f3;--muted:#a6b6c6;--accent:#e2b879;--blue:#98cce1;--good:#a9dcc1}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 system-ui,-apple-system,"Noto Sans TC",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{min-height:46px;border:1px solid var(--line);border-radius:6px;background:#1b2a38;color:var(--text);padding:10px 16px;cursor:pointer;text-align:left}button:hover{background:#263a4b;border-color:#6c889b}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;min-height:48px;padding:10px 12px;background:#0c1520;border:1px solid #46566a;color:var(--text);border-radius:5px}input[type=radio],input[type=checkbox]{width:21px;height:21px;accent-color:var(--accent);flex-shrink:0}label{display:block;margin:14px 0 8px}label small{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,"Noto Serif TC",serif;letter-spacing:.06em}h1{font-size:clamp(24px,3.4vw,40px);line-height:1.5}h2{font-size:26px;line-height:1.5}h3{font-size:18px;color:var(--accent)}a{color:var(--blue)}[hidden]{display:none!important}.masthead{height:84px;border-bottom:1px solid var(--line);padding:12px 5%;display:flex;align-items:center;justify-content:space-between;background:#0c141dec}.brand{color:var(--text);font-family:Georgia,serif;font-size:23px;text-decoration:none;letter-spacing:.17em}.brand span{display:block;font:9px/1.6 system-ui;letter-spacing:.24em;color:var(--muted)}.case-tag{font-size:12px;color:var(--accent);border:1px solid #635640;padding:5px 10px}.entry{max-width:1400px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr}.entry-art{min-height:850px;background:linear-gradient(180deg,#08121e1a,#09111bb8),url('/assets/media-room.png') center/cover;position:relative}.entry-shade{position:absolute;left:9%;right:7%;bottom:11%}.entry-shade h1{font-size:clamp(30px,4.2vw,58px);text-shadow:0 2px 15px #000}.entry-shade p{color:#d3dfe6}.entry-copy{padding:44px clamp(24px,4vw,64px)}.eyebrow{text-transform:uppercase;color:var(--accent);font-size:11px;letter-spacing:.16em;margin-bottom:9px}.entry-copy h2{font-size:34px}.entry-copy>p{color:#c2ced9}details{background:#121e29;border:1px solid var(--line);padding:10px 14px;border-radius:6px;margin:18px 0}summary{min-height:44px;display:list-item;align-content:center;cursor:pointer}details p{margin:10px 0;color:var(--muted)}fieldset{border:0;padding:0;margin:15px 0}.radio,.check{display:flex;gap:12px;align-items:center;min-height:48px;padding:10px 12px;background:#15212d;border:1px solid var(--line);border-radius:5px;margin:7px 0}.primary{background:var(--accent);color:#19202a;border-color:var(--accent);font-weight:700;width:100%;display:flex;justify-content:space-between}.primary:hover{background:#f1cb92;color:#101b25}.secondary{width:100%;margin-top:10px}.muted{color:var(--muted);font-size:13px}.text-link{display:inline-block;min-height:44px;padding:10px 0}.quiet{background:transparent;font-size:13px}.chapter-bar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:26px}.chapter-bar h1{font-size:25px;margin-bottom:0}.chapter-bar .eyebrow{margin:0}.objective{color:#b9c9d7;margin:12px 0 20px;max-width:800px}#game{max-width:1250px;padding:0 32px 110px;margin:auto}.scene-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px;scrollbar-width:thin}.scene-tabs button{white-space:nowrap;background:transparent;font-size:14px;border-color:transparent}.scene-tabs button.active{border-color:#8b7454;background:#302c26;color:#f4d29c}.scene-tabs button:disabled{border-bottom:1px dashed var(--line)}.scene-panel{border:1px solid var(--line);border-radius:10px;overflow:hidden}.scene-art{position:relative;height:clamp(310px,46vw,540px);background:radial-gradient(ellipse at 60% 25%,#2d4352,#111e2b 65%,#08101a);overflow:hidden}.scene-art>img{height:100%;width:100%;object-fit:cover;display:block}.scene-vignette{position:absolute;inset:0;background:linear-gradient(0deg,#080f19e8,transparent 58%,#08121a20);pointer-events:none}.scene-caption{position:absolute;left:28px;bottom:18px;pointer-events:none}.scene-caption h2{font-size:30px;margin:0}.scene-caption>p:last-child{font-size:11px;color:#c0cbd1;margin:3px 0}.hotspots{position:absolute;inset:0}.hotspot{position:absolute;padding:6px 13px;border-radius:30px;background:#0d1a26e8;border:1px solid #e3bd7c;box-shadow:0 0 0 5px #0b14274d;font-size:13px;color:#ffe2ad;min-width:46px;max-width:42%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotspot:nth-child(1){left:12%;top:22%}.hotspot:nth-child(2){left:53%;top:39%}.hotspot:nth-child(3){left:17%;top:51%}.hotspot:nth-child(4){left:58%;top:12%}.hotspot:nth-child(5){left:52%;top:62%}.scene-bottom{padding:22px 26px;background:#131e29}.scene-bottom .eyebrow span{color:#849caf;font-size:10px;letter-spacing:0}.evidence-buttons{display:flex;gap:10px;flex-wrap:wrap}.evidence-buttons button{font-size:14px;flex:1 1 220px;display:flex;gap:12px;align-items:center}.evidence-buttons b{font-size:12px;color:var(--accent);font-weight:400}.below-scene{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;padding:12px 0}.game-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;gap:14px;background:#101b27f5;border-top:1px solid #3c4a57;padding:10px 16px max(10px,env(safe-area-inset-bottom));backdrop-filter:blur(14px)}.game-nav button{min-width:110px;text-align:center;background:transparent;border:0;color:#bacbd9;font-size:20px}.game-nav button span{font-size:14px;padding-left:8px}.game-nav .nav-focus{background:#323028;color:#f0cb93}.game-nav b{font-size:10px;margin-left:6px;border-radius:20px;background:#314458;padding:2px 6px}dialog{width:min(760px,calc(100% - 28px));max-height:90dvh;margin:auto;padding:0;border:1px solid #4d6173;border-radius:10px;background:#101b27;color:var(--text);overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#020813c9;backdrop-filter:blur(5px)}.dialog-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:12px 22px;background:#101b27fa;border-bottom:1px solid var(--line)}.dialog-top .eyebrow{margin:0}.dialog-top button{min-width:46px;text-align:center;background:transparent}#modal-content{padding:24px 28px 32px}#modal-content h2{font-size:25px}.doc-entry{padding:20px;border-left:2px solid #6d91a6;background:#172532;margin:16px 0;white-space:pre-line}.doc-entry h3{margin-bottom:8px}.doc-entry p{margin-bottom:0}.evidence-photo{width:100%;max-height:260px;object-fit:cover;border-radius:6px}.pending{padding:20px;border:1px dashed #405970;color:var(--muted);font-size:13px}.source{font-size:12px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:15px}.doc-id{color:var(--accent);font:12px monospace}.list-grid{display:grid;gap:10px}.list-grid button{width:100%}.checklist{max-height:240px;overflow:auto;border:1px solid var(--line);padding:8px;border-radius:5px}.check{font-size:14px}.check span{display:block}.check small{font:11px monospace;color:var(--accent);display:block}.puzzle-section{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.puzzle-section h3{margin-bottom:6px}.form-feedback{padding:14px 16px;border-left:3px solid var(--accent);background:#29291f;color:#f0d6a8;margin:16px 0;white-space:pre-line}.form-feedback.success{border-color:#9bd4b5;background:#183129;color:#c3ecd5}.toast{position:fixed;top:90px;left:50%;transform:translateX(-50%);max-width:min(90%,600px);padding:12px 20px;background:#283e4d;border:1px solid #7c9dac;border-radius:6px;z-index:20;box-shadow:0 8px 30px #0008}.teacher-alert{padding:12px 16px;border-left:3px solid var(--accent);background:#29271f;margin:16px 0}.person{border:1px solid var(--line);border-radius:6px;padding:20px;margin-bottom:18px}.person h3{margin-bottom:4px}.person .muted{margin-bottom:12px}.person button{margin:6px 8px 0 0}.transcript{border-left:2px solid var(--accent);padding:12px 18px;background:#162735;margin:14px 0}.badge{font-size:11px;color:var(--good)}.report{border:1px solid #7d704f;background:#171f29;padding:26px;margin-top:24px}.report li{margin:16px 0}.protect-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.protect-grid button.done{border-color:#78bfa2;color:#b5e9cc}.teacher-main{max-width:1050px;margin:35px auto;padding:0 28px 60px}.teacher-intro{max-width:600px}.teacher-code{font:42px monospace;letter-spacing:.15em;color:var(--accent)}.teacher-row{display:grid;grid-template-columns:1fr 1fr auto;gap:15px;align-items:center;border:1px solid var(--line);padding:18px;margin:12px 0;border-radius:6px}.teacher-row p{margin:0}.teacher-tools{display:flex;gap:12px;margin:20px 0;flex-wrap:wrap}footer{padding:30px;text-align:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.inline-choices{display:flex;flex-wrap:wrap;gap:8px}.inline-choices button{flex:1 1 160px}.cap-input{font:13px monospace!important}.timeline{display:flex;gap:12px;align-items:center}.timeline label{flex:1}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px}.comparison .doc-entry{padding:14px;font-size:14px}.danger-note{color:#edc2a5}body.modal-open{overflow:hidden}@media(max-width:800px){.entry{display:block}.entry-art{min-height:340px;height:43vw}.entry-shade{bottom:8%}.entry-shade h1{font-size:32px}.entry-shade>p:last-child{display:none}.entry-copy{padding:30px 26px}.masthead{height:74px;padding:10px 24px}.brand{font-size:20px}.case-tag{font-size:10px}#game{padding:0 20px 105px}.scene-tabs{margin:0 -5px}.scene-caption{left:20px;bottom:15px}.scene-caption h2{font-size:25px}.scene-bottom{padding:18px}.game-nav{gap:3px;padding:8px 8px max(8px,env(safe-area-inset-bottom))}.game-nav button{min-width:0;flex:1;padding:6px 3px;min-height:54px;font-size:19px}.game-nav button span{display:block;font-size:11px;padding:0}.game-nav b{display:none}.below-scene{display:block}.below-scene p{margin:0}.chapter-bar h1{font-size:22px}.chapter-bar{align-items:flex-start}.chapter-bar button{white-space:nowrap;padding:8px}.hotspot{font-size:11px;max-width:44%}.teacher-row{grid-template-columns:1fr}.comparison{grid-template-columns:1fr}#modal-content{padding:20px}.protect-grid{grid-template-columns:1fr}.scene-art{height:350px}.scene-caption>p:last-child{max-width:310px}.entry-copy h2{font-size:30px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}
