/* Exact practice surface ported from the retained prototype. */
.reservation-preview :where(#practice-view) h1{font-size:54px;letter-spacing:.06em;line-height:1.2;margin-top:15px;font-family:"Songti SC","STSong",serif}
.reservation-preview :where(#practice-view) h1 span{font-family:-apple-system,"PingFang SC",sans-serif;display:block;font-size:15px;font-weight:400;line-height:1.8;letter-spacing:.03em;margin-top:14px}
.reservation-preview .secondary,.practice-dialog .secondary{background:#eceee8;color:var(--ink);padding:10px 18px}
.reservation-preview .mini-tabs{display:flex;flex-shrink:0;border-top:1px solid var(--line);background:var(--paper)}
.reservation-preview .mini-tabs a{flex:1;text-align:center;text-decoration:none;padding:12px 4px;font-size:13px;color:var(--muted)}
.reservation-preview .mini-tabs a[aria-current]{font-weight:650;color:var(--green);background:#eff3e8}
.practice-dialog{--ink:#202321;--muted:#626760;--line:#dedfd8;--green:#285940;font:15px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;border:1px solid var(--line);border-radius:15px;width:min(440px,calc(100% - 32px));max-width:min(356px,calc(100vw - 24px));max-height:calc(100dvh - 150px);padding:0;color:var(--ink)}
.practice-dialog::backdrop{background:#151c195c}.practice-dialog .dialog-body{padding:26px}.practice-dialog h2{font-size:23px;margin:12px 0}.practice-dialog p{font-size:13px;margin:0}.practice-dialog button{font:inherit;cursor:pointer;border:0;border-radius:8px;min-height:46px}.practice-dialog .dialog-actions{display:flex;gap:10px;margin-top:22px}.practice-dialog .dialog-actions button{flex:1;font-size:13px;padding:12px 8px}.practice-dialog .primary{background:var(--green);color:white;padding:13px 20px;font-weight:550}.practice-dialog .section-title{display:flex;justify-content:space-between;align-items:center}.practice-dialog .bw-again{background:transparent;color:var(--muted);font-size:13px;width:100%;margin-bottom:16px}
.reservation-preview .bw-screen{padding:20px 20px 0;background:var(--paper);min-height:100%}.reservation-preview .bw-screen h1{font-family:inherit;font-size:27px;letter-spacing:0;line-height:1.4}.reservation-preview .bw-screen h2{font-size:17px}.reservation-preview .bw-screen p{line-height:1.8}.reservation-preview .bw-hero{padding:10px 0 24px;border-bottom:1px solid var(--ink)}.reservation-preview .bw-hero>p{font-size:11px;letter-spacing:.08em;color:var(--muted)}.reservation-preview .bw-hero h1{font-family:"Songti SC",serif;font-size:40px;margin:12px 0 24px}.reservation-preview .bw-hero h1 span{font-size:13px;margin-top:8px;letter-spacing:0}.reservation-preview .bw-summary{display:flex;align-items:center;gap:20px;font-size:12px}.reservation-preview .bw-summary b{font-size:22px;font-weight:500}.reservation-preview .bw-summary a{margin-left:auto;text-decoration:none;font-size:12px}.reservation-preview .bw-section-title{display:flex;justify-content:space-between;align-items:center;margin:26px 0 12px}.reservation-preview .bw-section-title span{font-size:11px;color:var(--muted)}.reservation-preview .bw-paper-list{border-top:1px solid var(--line)}.reservation-preview .bw-paper{display:flex;width:100%;align-items:center;gap:15px;padding:20px 0;text-align:left;background:transparent;border-bottom:1px solid var(--line);border-radius:0}.reservation-preview .bw-paper-no{font:26px/1.2 Georgia,serif;color:#798374;width:32px}.reservation-preview .bw-paper div{flex:1}.reservation-preview .bw-paper h3{font-size:16px}.reservation-preview .bw-paper p{font-size:11px;color:var(--muted);margin:4px 0}.reservation-preview .bw-paper small{font-size:11px;color:var(--green)}.reservation-preview .bw-paper.locked small{color:var(--muted)}.reservation-preview .bw-paper.locked{opacity:.75}.reservation-preview .bw-black{background:#252b26;color:#f7f7ed;padding:24px;border-radius:8px;margin-bottom:26px}.reservation-preview .bw-black>span{font-size:9px;letter-spacing:.16em;color:#b1bea5}.reservation-preview .bw-black h3{font-size:28px;font-family:"Songti SC",serif;margin:12px 0}.reservation-preview .bw-black p{font-size:12px}.reservation-preview .bw-black small{display:block;margin-top:22px;color:#c6ceb9;font-size:11px}.reservation-preview .bw-resume{display:flex;align-items:center;justify-content:space-between;width:100%;background:#eaf0df;padding:16px;text-align:left;margin-top:20px;font-size:11px;color:#285940}.reservation-preview .bw-resume strong{display:block;font-size:12px;margin-top:4px}.reservation-preview .bw-page-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 20px;border-bottom:1px solid var(--line);font-size:12px}.reservation-preview .bw-page-head a{text-decoration:none}.reservation-preview .bw-page-head>span{color:var(--muted);font-size:11px}.reservation-preview .bw-intro{padding-top:26px}.reservation-preview .bw-kicker{font-size:10px;letter-spacing:.12em;color:var(--muted)}.reservation-preview .bw-intro>p{color:var(--muted);font-size:13px}.reservation-preview .bw-intro h1{margin-bottom:8px}.reservation-preview .bw-intro dl{margin:28px 0}.reservation-preview .bw-intro dl>div{display:flex;justify-content:space-between;font-size:13px;padding:12px 0;border-bottom:1px solid var(--line)}.reservation-preview .bw-intro dd{margin:0;color:var(--muted)}.reservation-preview .bw-note{background:#eff1e9;padding:18px;border-radius:7px;margin:20px 0}.reservation-preview .bw-note p{font-size:13px;color:#4e5948;margin-top:10px}.reservation-preview .bw-note p:first-child{margin-top:0}.reservation-preview .bw-actions{position:sticky;bottom:0;display:flex;gap:10px;padding:14px 0;background:var(--paper);border-top:1px solid var(--line);margin-top:24px;z-index:1}.reservation-preview .bw-actions button{flex:1;font-size:14px;min-height:48px}.reservation-preview .bw-actions button:disabled{cursor:default}.reservation-preview .bw-question-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 0;color:var(--muted);font-size:12px}.reservation-preview .bw-text-button{background:transparent;color:var(--green);font-size:12px;padding:0;min-height:36px}.reservation-preview .bw-screen progress{width:100%;height:3px;accent-color:var(--green);margin:0 0 20px}.reservation-preview .bw-screen .bw-question{font-size:18px;line-height:1.85;font-weight:550;margin:0 0 22px;overflow-wrap:anywhere}.reservation-preview .bw-options{display:grid;gap:12px}.reservation-preview .bw-option{display:flex;align-items:start;gap:13px;width:100%;border:1px solid var(--line);padding:15px;background:white;font-size:15px;line-height:1.7;text-align:left;border-radius:7px}.reservation-preview .bw-option>b{border:1px solid #a9b29f;border-radius:50%;width:26px;height:26px;text-align:center;font-size:13px;font-weight:500;flex-shrink:0}.reservation-preview .bw-option.selected,.reservation-preview .bw-option.right{background:#eaf1e0;border-color:#4e7441}.reservation-preview .bw-option.selected>b,.reservation-preview .bw-option.right>b{background:#285940;color:white;border-color:#285940}.reservation-preview .bw-save{font-size:11px;color:var(--muted);margin:20px 0}.reservation-preview .bw-material{border-left:3px solid #acb99b;padding:0 0 0 15px}.reservation-preview .bw-material h2{font-size:13px;color:var(--muted);margin-bottom:12px}.reservation-preview .bw-material p{font-size:16px;margin-bottom:14px}.reservation-preview .bw-paper-hint{font-size:12px!important;color:var(--muted);padding:16px;background:#eff1e9;border-radius:5px;margin:20px 0}.reservation-preview .bw-subquestion{padding:24px 0;border-top:1px solid var(--line)}.reservation-preview .bw-subquestion h2{font-size:13px;color:var(--muted);margin-bottom:12px}.reservation-preview .bw-subquestion>p{font-size:16px}.reservation-preview .bw-title{margin:24px 0 12px!important;font-size:23px!important}.reservation-preview .bw-muted{font-size:13px;color:var(--muted)}.reservation-preview .bw-card{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:24px 0}.reservation-preview .bw-card button{display:grid;gap:4px;padding:10px 0;border:1px solid var(--line);background:white;font-size:15px}.reservation-preview .bw-card small{font-size:10px;font-weight:400}.reservation-preview .bw-card .done,.reservation-preview .bw-card .correct{background:#e8efdf;color:#285940;border-color:#a8bc96}.reservation-preview .bw-card .wrong{background:#f7e9e3;color:#8c4937;border-color:#dcb9a9}.reservation-preview .bw-card .bw-paper-state,.reservation-preview .bw-card .subjective{background:#eeece3;color:#69644d}.reservation-preview .bw-result{text-align:center;padding:30px 0 20px}.reservation-preview .bw-result>p{font-size:12px;color:var(--muted)}.reservation-preview .bw-result h1{font-size:60px;margin:12px 0 4px;color:#285940;font-weight:500}.reservation-preview .bw-result h1 small{font-size:20px;color:var(--muted)}.reservation-preview .bw-counts{display:flex;justify-content:space-around;margin-top:25px}.reservation-preview .bw-counts span{display:grid;font-size:12px;color:var(--muted)}.reservation-preview .bw-counts b{font-size:25px;color:var(--ink);font-weight:500}.reservation-preview .bw-again{display:block;background:transparent;width:100%;font-size:13px;color:var(--muted);margin-bottom:16px}.reservation-preview .bw-comparison{display:flex;justify-content:space-between;gap:12px;font-size:12px;background:#eef1e8;padding:16px;margin:20px 0}.reservation-preview .bw-comparison b{display:block;font-size:16px;margin-top:5px}.reservation-preview .bw-analysis{padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.reservation-preview .bw-analysis p{font-size:15px;white-space:pre-wrap;margin:12px 0}.reservation-preview .bw-analysis h3{font-size:14px;color:#285940}.reservation-preview .bw-analysis small{font-size:12px;color:var(--muted)}.reservation-preview .bw-history{display:flex;justify-content:space-between;align-items:center;gap:12px;text-decoration:none;padding:22px 0;border-bottom:1px solid var(--line);font-size:13px}.reservation-preview .bw-history small{display:block;margin-top:7px;color:var(--muted);font-size:11px}.reservation-preview .bw-top-actions{display:flex;gap:12px;align-items:center}.reservation-preview .bw-top-actions #submit-now{font-weight:650}.reservation-preview .bw-video{border-top:1px solid var(--line);padding:22px 0;margin-top:20px}.reservation-preview .bw-video p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;margin:12px 0}.reservation-preview .bw-video small{color:var(--muted);font-size:11px}.reservation-preview .bw-offline{padding:24px 0;border-top:1px solid var(--line);display:grid;gap:12px}.reservation-preview .bw-offline h2{font-size:18px}.reservation-preview .bw-offline p{font-size:13px;color:#53624e;line-height:1.8}.reservation-preview .bw-offline small{font-size:11px;line-height:1.7}.reservation-preview .bw-offline .bw-text-button{text-align:center;font-size:13px;padding:12px 4px}#bw-download-dialog .bw-muted{margin:16px 0;line-height:1.8}#paper-download-status{margin:16px 0;font-size:12px}#bw-download-dialog .wide{width:100%}.reservation-preview .bw-sheet-intro{padding:22px 0}.reservation-preview .bw-sheet-intro h1{font-size:26px!important;margin:0 0 12px}.reservation-preview .bw-sheet-intro p{font-size:12px;line-height:1.8;color:#58634f}.reservation-preview .bw-sheet-section{font-size:16px;margin:20px 0 4px;padding-bottom:12px;border-bottom:1px solid var(--line)}.reservation-preview .bw-sheet-row{padding:18px 0;border-bottom:1px solid #e3e6dc}.reservation-preview .bw-sheet-row>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.reservation-preview .bw-sheet-row h3{font-size:14px;font-weight:550}.reservation-preview .bw-sheet-row span{font-size:11px;color:#65715f}.reservation-preview .bw-sheet-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.reservation-preview .bw-sheet-options button{border:1px solid #bec9b4;background:#fff;color:#344732;border-radius:8px;min-height:44px;font-size:15px}.reservation-preview .bw-sheet-options button[aria-pressed=true]{background:#285940;color:#fff;border-color:#285940}.reservation-preview .bw-sheet-footer{position:sticky;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:12px 0 4px;margin-top:24px;z-index:1}.reservation-preview .bw-sheet-footer p{font-size:11px;color:#50614b;margin-bottom:8px;text-align:center}.reservation-preview .bw-sheet-footer button{width:100%}.reservation-preview .bw-white{background:#fffef9;color:#252b26;padding:24px;border:1px solid #d3d8cc;border-radius:8px;margin-bottom:26px}.reservation-preview .bw-series-en{font-size:9px;letter-spacing:.16em;color:#52664d}.reservation-preview .bw-white .bw-series-name{font-size:28px;font-family:"Songti SC",serif;margin:12px 0}.reservation-preview .bw-series-desc{font-size:12px;line-height:1.8}.reservation-preview .bw-white .bw-paper-list{margin-top:22px;border-top:1px solid #d3d8cc}.reservation-preview .bw-white .bw-paper{gap:10px;padding:18px 0;min-width:0}.reservation-preview .bw-white .bw-paper:last-child{border-bottom:0;padding-bottom:0}.reservation-preview .bw-white .bw-paper-no{font-size:22px;width:26px;flex-shrink:0}.reservation-preview .bw-white .bw-paper div{min-width:0}.reservation-preview .bw-white .bw-paper h3{font-size:15px}.reservation-preview .bw-white .bw-paper p{line-height:1.7;overflow-wrap:anywhere}.reservation-preview .bw-white .bw-paper.locked{opacity:1}/* Neutralize management-button and focus defaults inside the prototype surface. */
.reservation-preview #practice-view button{justify-content:normal}
.reservation-preview #practice-view h1:focus,.reservation-preview #practice-view h2:focus{outline:none}
.reservation-preview #practice-view button:focus-visible,.reservation-preview #practice-view a:focus-visible{outline:3px solid #507b13;outline-offset:4px}
.reservation-preview .mini-tabs{gap:0}
.reservation-preview button.bw-black{width:100%;text-align:left}
.reservation-preview #practice-view button.bw-paper,.reservation-preview #practice-view button.bw-option{color:#000}.reservation-preview #practice-view .bw-actions button{align-items:normal}
