:root{--paper:#f8f8f6;--ink:#21344c;--blue:#2f4a6d;--muted:#555d68;--line:#c9d2dc;--wash:#e3e9f0;--danger:#8a3a40;--green:#376446;font-family:"Noto Sans CJK SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.7}*{box-sizing:border-box}body{margin:0}button,select,input,audio{font:inherit}button,select{border:1px solid var(--line);border-radius:6px;padding:8px 13px;background:#fff;color:var(--ink)}button{cursor:pointer}button:hover{background:var(--wash)}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #7f5118;outline-offset:3px}a{color:var(--blue);text-underline-offset:4px}::selection{background:#ccd9e7}input{accent-color:var(--blue)}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 32px;border-bottom:1px solid var(--line);background:#fff}.brand{font-weight:700;text-decoration:none;font-size:20px;white-space:nowrap}.brand span{display:block;font-size:13px;color:var(--muted);font-weight:400}nav{display:flex;flex-wrap:wrap;gap:8px}nav button{border-color:transparent;background:transparent}nav .selected,.primary{background:var(--blue);color:#fff}.primary:hover,nav .selected:hover{background:var(--ink)}main{max-width:1700px;margin:auto;padding:26px 32px}.topline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}h1{font-size:28px;line-height:1.35;margin:0 0 9px;font-weight:650}h2{font-size:23px;line-height:1.45;margin:0 0 16px}h3{font-size:16px;margin:26px 0 7px;color:var(--blue)}p{margin:0 0 16px}.topline p{color:var(--muted);margin:0}.timebox{text-align:right;min-width:100px}.timebox strong{font-size:30px;font-variant-numeric:tabular-nums;display:block;line-height:1.2}.timebox span{font-size:13px;color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start}#stage{background:var(--ink);position:relative;line-height:0}#slide{width:100%;display:block;aspect-ratio:16/9;object-fit:contain}#stage:fullscreen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}#stage:fullscreen #slide{width:100%;height:100%;object-fit:contain}#stageclock{position:absolute;top:12px;right:16px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:4px;line-height:1.4;font-variant-numeric:tabular-nums;font-size:24px}#stagecue{position:absolute;bottom:16px;left:5%;width:90%;background:#fff;color:var(--ink);padding:12px 18px;line-height:1.5;font-size:21px;border:1px solid var(--line)}.slidebar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:18px}.slidebar label{font-size:13px;color:var(--muted)}#page{min-width:80px;max-width:210px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.actions label{font-size:14px}audio{width:100%;margin-bottom:12px}aside{border-top:3px solid var(--blue);padding-top:15px}aside .pagekind{font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);margin-bottom:10px}.cue{font-weight:600;color:var(--blue);font-size:18px}.script{font-size:18px;line-height:1.95}.muted,.keyboard{font-size:13px;color:var(--muted);margin-top:12px}.keyboard{margin-bottom:0}#status{margin-top:12px;color:var(--danger);font-size:14px}details{border-top:1px solid var(--line);padding:13px 0}summary{cursor:pointer;font-weight:600}details p{margin:12px 0 0}.mastered{display:block;margin-top:20px}.reading{max-width:900px;margin:5px auto 40px}.reading h2{margin-top:38px;margin-bottom:14px}.lead{font-size:21px;line-height:1.8}.reading p,.reading li{max-width:75ch}table{width:100%;border-collapse:collapse;margin:18px 0;font-size:15px}th,td{text-align:left;vertical-align:top;padding:12px 10px;border-bottom:1px solid var(--line)}th{background:var(--wash);font-weight:600}ol,ul{padding-left:24px}li{margin-bottom:12px}.source{padding:16px 0;border-bottom:1px solid var(--line)}.source p{font-size:14px;margin:6px 0 0;color:var(--muted)}.cuerow{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.cuerow span{font-variant-numeric:tabular-nums;color:var(--muted)}footer{padding:18px 32px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.danger{color:var(--danger)!important}.good{color:var(--green)}#result{margin-top:24px;padding-top:18px;border-top:2px solid var(--blue)}#recordings a{display:inline-block;margin:12px 15px 12px 0}[hidden]{display:none!important}body[data-mode=rehearse] .workspace{grid-template-columns:1fr}body[data-mode=rehearse] #notes{display:none}body[data-mode=rehearse] .stage-column{max-width:1150px;margin:auto;width:100%}body[data-mode=rehearse] #stageclock{display:block}body[data-mode=rehearse] .topline{max-width:1150px;margin:0 auto 24px}@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 430px}}@media(max-width:1000px){header{align-items:flex-start;flex-direction:column;gap:12px}.workspace{grid-template-columns:1fr}aside{max-width:75ch}main{padding:22px}.topline{align-items:flex-start}h1{font-size:25px}}@media(max-width:540px){header{padding:16px}main{padding:18px 14px}nav{gap:3px}nav button{padding:7px 9px;font-size:14px}.brand span{display:inline;margin-left:12px}.timebox strong{font-size:24px}.timebox{min-width:76px}.topline p{font-size:14px}.slidebar{gap:6px}.slidebar button{padding:7px 9px}#page{max-width:135px}#fullscreen{font-size:14px}h1{font-size:22px}.script{font-size:17px}th,td{padding:9px 6px;font-size:13px}footer{padding:16px;flex-direction:column}#stagecue{font-size:14px}#stageclock{font-size:18px}}@media print{header,footer,button,audio,.slidebar,.keyboard,.timebox{display:none}main{padding:0}.workspace{display:block}aside{border:0}.reading{max-width:none}a{color:inherit}.source{break-inside:avoid}}

.script{white-space:pre-line}.anchorline{font-size:14px;color:var(--muted);margin:0 0 20px}#bridgepanel{border-top:1px solid var(--line);margin-top:24px}
