.practice-app{z-index:1;min-height:100vh;position:relative}.practice-page,.result-page{max-width:1120px;margin:auto;padding:8rem 1.5rem 5rem}.practice-hero{justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;display:flex}.practice-hero .label,.result-hero>.label{color:var(--rose)}.practice-hero em{color:var(--rose);font-style:italic}.library-head-actions{align-items:center;gap:.65rem;display:flex}.admin-create-test{white-space:nowrap}.practice-hero p{color:var(--ink-mid);max-width:50ch;line-height:1.7}.library-stat{text-align:center;border-radius:18px;flex-direction:column;padding:1rem 1.5rem;display:flex}.library-stat b{color:var(--rose);font-size:2rem}.library-stat span{font-size:.65rem}.tabs{border-bottom:1px solid var(--line);gap:1.5rem;display:flex}.tabs button{font:600 .72rem var(--font-sans);color:var(--ink-lo);background:0 0;border:0;border-bottom:2px solid #0000;padding:.8rem 0}.tabs button.active{color:var(--rose);border-color:var(--rose)}.filter-row{gap:.5rem;margin:1.5rem 0;display:flex}.filter-row .chip{cursor:pointer;text-transform:capitalize}.filter-row .selected{background:var(--rose);color:#fff}.test-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.test-card{overflow:hidden}.test-cover{height:190px;position:relative}.test-cover img{-o-object-fit:cover;object-fit:cover}.test-cover .chip{background:#faf7f4eb;position:absolute;top:1rem;left:1rem}.test-body{padding:1.25rem}.test-meta{color:var(--ink-lo);align-items:center;gap:.6rem;font-size:.65rem;display:flex}.test-body h2{margin:.8rem 0 .3rem;font-size:1.5rem}.test-body>p{color:var(--ink-mid);font-size:.78rem}.test-actions{gap:.5rem;margin-top:1rem;display:flex}.source-note{color:var(--ink-mid);margin-top:1rem;padding:1rem 1.2rem;font-size:.72rem}.source-note p{margin:.3rem 0;line-height:1.6}.history{margin-top:1.5rem;overflow:hidden}.history-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:1rem 1.2rem;display:flex}.history-head h2{margin:0}.history-row{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto 60px;align-items:center;gap:1rem;padding:1rem 1.2rem;display:grid}.history-row>div{flex-direction:column;display:flex}.history-row span{color:var(--ink-lo);font-size:.65rem}.history-row>strong,.history-row>b{color:var(--rose);font-size:1.4rem}.runner{z-index:2;background:var(--cream);min-height:100vh;padding-top:70px;position:relative}.runner-bar{z-index:900;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#faf7f4f0;align-items:center;gap:1rem;height:70px;padding:.6rem 1.2rem;display:flex;position:fixed;top:0;left:0;right:0}.runner-title{flex-direction:column;flex:1;min-width:0;display:flex}.runner-title b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.runner-title small{color:var(--ink-lo)}.timer{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.55rem .75rem;font-weight:500}.timer.danger{color:var(--err);animation:1s infinite timer-pulse}@keyframes timer-pulse{50%{background:#c0503f1a}}.runner-progress{background:var(--line-soft);z-index:901;height:3px;position:fixed;top:68px;left:0;right:0}.runner-progress i{background:var(--rose);height:100%;transition:all .3s;display:block}.runner-grid{grid-template-columns:1fr 1fr;height:calc(100vh - 70px);display:grid}.source-pane,.questions-pane{padding:2rem;overflow:auto}.source-pane{border-right:1px solid var(--line);background:#fff}.passage-head{border-bottom:1px solid var(--line-soft);padding-bottom:1rem}.passage-head .label{color:var(--rose)}.passage-head h1{margin:.4rem 0;font-size:1.7rem}.passage{color:#332929;font-family:Georgia,serif;font-size:1rem;line-height:1.85}.passage p{margin:0 0 1.2rem}.instructions{border-left:3px solid var(--rose);background:#c0637a14;padding:.8rem;font-size:.78rem;line-height:1.6}.question{margin-bottom:.8rem;padding:1.1rem;transition:all .2s}.question-group{color:var(--rose);margin:-.2rem 0 .8rem}.question-text{gap:.7rem;display:flex}.question-text>b{background:var(--parchment);border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.7rem;display:grid}.question-text p{margin:.25rem 0 .8rem;font-size:.86rem;line-height:1.6}.gap-answer{width:calc(100% - 2.35rem);margin-left:2.35rem}.option-list{flex-direction:column;gap:.4rem;margin-left:2.35rem;display:flex}.option-list label{border:1px solid var(--line-soft);cursor:pointer;border-radius:10px;gap:.55rem;padding:.65rem .75rem;font-size:.78rem;display:flex}.option-list label.picked{border-color:var(--rose);background:#c0637a0f}.option-list input{accent-color:var(--rose)}.q-correct{border-color:#4e8c6a80}.q-wrong{border-color:#c0503f73}.instant{margin:.7rem 0 0 2.35rem;font-size:.7rem}.instant.ok{color:var(--ok)}.instant.bad{color:var(--err)}.audio-bar{z-index:20;background:var(--ink);color:#fff;align-items:center;gap:1rem;padding:.55rem 1rem;display:flex;position:sticky;top:70px}.audio-bar audio{flex:1;height:34px}.audio-bar .input{color:#fff;background:#ffffff1f;width:250px;padding:.5rem}.audio-empty{color:#ffffffb3;flex:1;font-size:.68rem}.listening-placeholder{text-align:center;height:100%;color:var(--ink-mid);flex-direction:column;justify-content:center;align-items:center;display:flex}.listening-placeholder>div{font-size:4rem}.listening-placeholder small{max-width:45ch;line-height:1.6}.pane-toggle{display:none}.runner.has-passage-switcher{padding-top:142px}.has-passage-switcher .runner-grid{height:calc(100vh - 142px)}.pass-switch{z-index:899;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#faf7f4f5;gap:.5rem;height:71px;padding:.55rem 1.2rem;display:flex;position:fixed;top:71px;left:0;right:0;overflow-x:auto}.pass-pill{border:1px solid var(--line-soft);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1rem;min-width:0;padding:.45rem .65rem;transition:all .18s;display:flex}.pass-pill .pt{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.72rem;font-weight:700;overflow:hidden}.pass-pill .pc{font:500 .62rem var(--font-mono);color:var(--ink-lo)}.pass-pill.active{background:linear-gradient(135deg,var(--rose),var(--blush-deep));box-shadow:var(--shadow-sm);border-color:#0000}.pass-pill.active .pt,.pass-pill.active .pc{color:#fff}.pass-pill.done{border-color:var(--ok)}.pass-pill.done:not(.active) .pc{color:var(--ok)}.pass-pill:not(.active):hover{border-color:var(--rose)}.pass-title-short{display:none}.result-page{max-width:920px}.result-hero{text-align:center}.result-hero h1{font-size:2.2rem}.result-summary{justify-content:center;align-items:center;gap:3rem;margin:2rem 0;display:flex}.result-summary>div{flex-direction:column;align-items:center;display:flex}.result-summary strong{font-size:1.4rem}.result-summary span{color:var(--ink-lo);font-size:.65rem}.result-summary-metrics{gap:1rem}.result-summary-metrics>div{background:var(--glass-b);border:1px solid var(--rim);min-width:130px;box-shadow:var(--shadow-sm);border-radius:18px;padding:1rem 1.25rem}.result-summary-metrics strong{font-size:1.75rem}.band-orb{background:linear-gradient(145deg,var(--blush),var(--rose));color:#fff;width:150px;height:150px;box-shadow:var(--shadow-lg);border-radius:50%;padding-top:30px}.band-orb b{font-size:4rem;line-height:1}.band-orb span{color:#fff}.result-actions{justify-content:center;gap:.6rem;display:flex}.breakdown{margin:2rem 0;padding:1.3rem}.breakdown h2,.review>h2,.transcript>h2{margin-top:0}.score-row{grid-template-columns:130px 1fr 45px;align-items:center;gap:.8rem;margin:.8rem 0;font-size:.75rem;display:grid}.score-row i{background:var(--line-soft);border-radius:10px;height:6px}.score-row i b{background:var(--ok);border-radius:10px;height:100%;display:block}.review-item{border-left:4px solid var(--ok);margin-bottom:.65rem;padding:1rem}.review-item.wrong{border-left-color:var(--err)}.review-title{gap:.7rem;display:flex}.review-title>p{flex:1;margin:0;font-size:.84rem;line-height:1.6}.review-title>span{color:var(--ok)}.wrong .review-title>span{color:var(--err)}.review-answer{gap:1.5rem;margin:.7rem 0 0 2.1rem;font-size:.7rem;display:flex}.review-shared-prompt{background:var(--parchment);border-radius:10px;margin:.8rem 0;padding:.75rem;font-size:.78rem;line-height:1.6}.review-slot-list{border:1px solid var(--line-soft);border-radius:12px;margin-top:.8rem;overflow:hidden}.review-slot-row{grid-template-columns:34px 1fr 1fr 24px;align-items:center;gap:.75rem;padding:.7rem .8rem;font-size:.7rem;display:grid}.review-slot-row+.review-slot-row{border-top:1px solid var(--line-soft)}.review-slot-row>i{text-align:center;color:var(--err);font-style:normal}.review-slot-row.correct>i{color:var(--ok)}.review-slot-row.unanswered>i{color:var(--ink-lo)}.explain{background:var(--parchment);border-radius:8px;margin:.7rem 0 0 2.1rem;padding:.65rem;font-size:.72rem;line-height:1.6}.transcript{margin-top:1.5rem;padding:1.5rem}.transcript>div{color:var(--ink-mid);font-size:.78rem;line-height:1.7}@media (max-width:768px){.practice-page,.result-page{padding:7rem 1rem 3rem}.practice-hero{align-items:flex-start}.test-grid{grid-template-columns:1fr}.runner-bar{gap:.45rem;padding:.5rem}.runner-title small{display:none}.runner-grid{height:calc(100vh - 114px);display:block}.source-pane,.questions-pane{border:0;height:100%;padding:1rem}.pane-toggle{background:var(--parchment);height:44px;display:flex}.pane-toggle button{font:600 .68rem var(--font-sans);background:0 0;border:0;flex:1}.pane-toggle button.active{color:var(--rose);border-bottom:2px solid var(--rose)}.pane-source .questions-pane,.pane-questions .source-pane{display:none}.audio-bar{flex-wrap:wrap;top:70px}.audio-bar .input{width:100%}.result-summary{gap:1rem}.result-summary-metrics{gap:.6rem}.result-summary-metrics>div{flex:1;min-width:0;padding:.85rem .45rem}.result-summary-metrics strong{font-size:1.2rem}.band-orb{width:120px;height:120px}.band-orb b{font-size:3rem}.review-answer{flex-direction:column;gap:.3rem}.review-slot-row{grid-template-columns:30px 1fr 24px}.review-slot-row>span{grid-column:2}.review-slot-row>i{grid-area:1/3/3}.history-row{grid-template-columns:1fr auto}.history-row>span{display:none}.runner.has-passage-switcher{padding-top:136px}.has-passage-switcher .runner-grid{height:calc(100vh - 180px)}.pass-switch{gap:.35rem;height:65px;padding:.45rem .5rem}.pass-pill{flex:0 0 calc(33.3333% - .233333rem);padding:.35rem .25rem}.pass-title-full{display:none}.pass-title-short{display:block}.pass-pill .pc{font-size:.58rem}.library-head-actions{flex-direction:column;align-items:flex-end}}@media (max-width:860px){.skill-grid{grid-template-columns:1fr}}@media (max-width:768px){.skill-row{justify-content:flex-end}.writing-task,.writing-responses{grid-template-columns:1fr}.writing-workspace{padding:90px .75rem 2rem}.writing-editor textarea{min-height:300px}}@media (max-width:768px){.runner.has-passage-switcher{padding-top:136px}.has-passage-switcher .runner-grid{height:calc(100vh - 180px)}.pass-switch{gap:.35rem;height:65px;padding:.45rem .5rem}.pass-pill{flex:0 0 calc(33.3333% - .233333rem);padding:.35rem .25rem}.pass-title-full{display:none}.pass-title-short{display:block}.pass-pill .pc{font-size:.58rem}.library-head-actions{flex-direction:column;align-items:flex-end}}.volume-library .lib-head{margin-bottom:30px}.volume-library .stat-chip{box-shadow:var(--shadow-sm)}.vol-group{margin-bottom:34px}.vol-head{align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.vol-head .tag{font:italic 1.5rem var(--font-serif);color:var(--ink);margin:0}.vol-head .tag b{color:var(--rose);font-style:normal;font-weight:400}.vol-head .count{color:var(--ink-lo);font-size:.72rem}.vol-head .rule{background:var(--line-soft);flex:1;height:1px}.volume-library .test-card{padding:20px 22px;transition:border-color .2s,transform .2s}.volume-library .test-card:hover{border-color:var(--rim-hot);transform:translateY(-3px)}.volume-library .test-body{padding:0}.volume-library .meta-row{margin-bottom:10px}.volume-library .test-body h2{margin:0 0 4px;font-size:1.28rem}.volume-library .sub{color:var(--ink-mid);margin:0 0 16px;font-size:.78rem}.volume-library .btn-view{border-radius:100px}.passage-section+.passage-section,.runner-question-section+.runner-question-section{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.5rem}.passage-section>h2,.runner-question-section>h2{font-size:1.25rem}.group-instructions{margin:.2rem 0 1rem}.shared-prompt{white-space:pre-wrap;font-size:.86rem;line-height:2.3}.shared-control{vertical-align:middle;white-space:nowrap;align-items:center;gap:.3rem;margin:.15rem .25rem;display:inline-flex}.shared-control>b{background:var(--parchment);border-radius:50%;place-items:center;width:25px;height:25px;font-size:.65rem;display:grid}.shared-control>.input{width:160px;padding:.45rem .55rem;display:inline-block}.shared-control>select.input{width:min(310px,50vw)}.shared-fallback{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.shared-feedback-list{gap:.6rem;margin-top:1rem;display:grid}.runner-preview-overlay{z-index:2000;background:var(--cream);position:fixed;inset:0;overflow:auto}.skill-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.history-link{color:var(--rose);border:1px solid var(--rim);background:var(--glass-b);border-radius:100px;align-items:center;gap:7px;padding:9px 16px;font-size:.8rem;font-weight:700;text-decoration:none;display:inline-flex}.skill-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.skill-card{--wash:#c0637a29;min-height:0;color:var(--ink);padding:26px 24px 24px;text-decoration:none;transition:transform .25s,box-shadow .25s,border-color .25s;display:block;position:relative;overflow:hidden}.skill-card:before{content:"";opacity:.5;background:radial-gradient(circle at 100% 0%,var(--wash) 0%,transparent 60%);position:absolute;inset:0}.skill-card>*{z-index:1;position:relative}.skill-card.reading{--wash:#c0637a29}.skill-card.writing{--wash:#b07a5a29}.skill-card.listening{--wash:#d98da029}.skill-card:hover{box-shadow:var(--shadow-lg);border-color:var(--rim-hot);transform:translateY(-6px)}.skill-count{font:600 .72rem var(--font-mono);color:var(--ink-mid);background:var(--parchment);border-radius:100px;align-items:baseline;gap:5px;margin-bottom:16px;padding:4px 10px;display:inline-flex}.skill-count b{color:var(--rose);font-size:.82rem}.skill-count.soon{color:var(--copper);background:#b07a5a1f}.skill-icon{background:linear-gradient(135deg,var(--wash),var(--cream));border:1px solid var(--rim);border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:16px;font-size:1.5rem;display:flex}.skill-card h2{margin:0 0 6px;font-size:1.55rem;font-weight:400}.skill-card p{color:var(--ink-mid);margin:0 0 18px;font-size:.86rem;line-height:1.5}.skill-go{color:var(--rose);align-items:center;gap:6px;font-size:.8rem;font-weight:700;display:inline-flex}.skill-go svg{transition:transform .2s}.skill-card:hover .skill-go svg{transform:translate(4px)}.feedback{border-radius:var(--r-md);border-left:3px solid var(--err);margin:14px 0 0 2.35rem;padding:14px 16px 16px}.feedback.wrong{background:var(--err-tint)}.feedback.right{background:var(--ok-tint);border-left-color:var(--ok)}.fb-top{align-items:center;gap:8px;margin-bottom:8px;font-size:.82rem;font-weight:700;display:flex}.fb-top.wrong{color:var(--err)}.fb-top.right{color:var(--ok)}.fb-answer{color:var(--ink-mid);margin-bottom:10px;font-size:.82rem}.fb-answer b{font-family:var(--font-mono);color:var(--ink);font-weight:600}.fb-explain-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-lo);margin-bottom:4px;font-size:.64rem;font-weight:700}.fb-explain{color:var(--ink-mid);font-size:.86rem;line-height:1.55}.shared-feedback-list .feedback{margin-left:0}.q-num.right{background:var(--ok-tint);color:var(--ok)}.q-num.wrong{background:var(--err-tint);color:var(--err)}.option-list label.picked-wrong{border-color:var(--err);background:var(--err-tint);color:var(--err);font-weight:600}.option-list label.picked-right{border-color:var(--ok);background:var(--ok-tint);color:var(--ok);font-weight:600}.library-footer{gap:.5rem;margin-top:2rem;display:flex}.test-intro{max-width:850px}.intro-facts{color:var(--ink-mid);gap:1rem;margin:1.2rem 0;display:flex}.writing-preview{margin:1.2rem 0;padding:1.2rem}.writing-preview p{flex-direction:column;line-height:1.6;display:flex}.writing-workspace{max-width:1200px;margin:auto;padding:100px 1.5rem 3rem}.writing-task{grid-template-columns:1fr 1.2fr;gap:1.5rem;margin-bottom:1rem;padding:1.5rem;display:grid}.writing-prompt p{white-space:pre-wrap;line-height:1.7}.writing-chart{min-height:260px;margin:1rem 0;position:relative}.writing-chart img{-o-object-fit:contain;object-fit:contain}.writing-editor textarea{border:1px solid var(--line);width:100%;min-height:380px;font:1rem/1.7 var(--font-sans);resize:vertical;border-radius:12px;padding:1rem}.word-count{margin-top:.5rem;font-size:.72rem}.word-count.short{color:var(--err)}.word-count.ok{color:var(--ok)}.pending-result{max-width:550px;margin:2rem auto;padding:2rem}.pending-result>span{font-size:2.5rem}.writing-result .band-orb{flex-direction:column;justify-content:center;align-items:center;margin:2rem auto;display:flex}.writing-score{border-bottom:1px solid var(--line-soft);justify-content:space-between;padding:.7rem;display:flex}.writing-responses{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.writing-responses article{padding:1.5rem}.writing-responses p{white-space:pre-wrap;line-height:1.7}@media (max-width:860px){.skill-grid{grid-template-columns:1fr}}@media (max-width:768px){.skill-row{justify-content:flex-end}.writing-task,.writing-responses{grid-template-columns:1fr}.writing-workspace{padding:90px .75rem 2rem}.writing-editor textarea{min-height:300px}}[data-theme=dark] .runner-bar,[data-theme=dark] .pass-switch{background:#120d10f0}[data-theme=dark] .timer,[data-theme=dark] .source-pane{background:var(--surface)}[data-theme=dark] .passage{color:var(--ink)}[data-theme=dark] .test-cover .chip{background:var(--glass-b)}[data-theme=dark] .option-list label.picked{background:#f2789a1f}[data-theme=dark] .pass-pill{background:var(--surface);border-color:var(--line);color:var(--ink)}[data-theme=dark] .pass-pill .pc{color:var(--ink-mid)}[data-theme=dark] .pass-pill.done:not(.active) .pc{color:var(--ok)}[data-theme=dark] .pass-pill:not(.active):hover{background:color-mix(in srgb,var(--surface) 80%,var(--rose));border-color:var(--rim-hot)}[data-theme=dark] .pass-pill.active{background:linear-gradient(135deg,var(--rose),var(--blush-deep));color:#fff;border-color:#0000}.matching-heading{padding:20px 22px}.heading-bank{flex-wrap:wrap;gap:9px;margin:0 0 18px;display:flex}.heading-chip{border:1.5px solid var(--rim);background:var(--glass-b);color:var(--ink);font:600 .78rem/1.35 var(--font-sans);text-align:left;cursor:pointer;border-radius:100px;padding:9px 15px;transition:transform .15s,border-color .15s,opacity .15s,background .15s}.heading-chip:not(.used):hover{border-color:var(--rim-hot);transform:translateY(-1px)}.heading-chip:focus-visible,.heading-anchor:focus-visible,.matching-table-scroll:focus-visible{outline-offset:2px;outline:3px solid #c0637a40}.heading-chip.selected{background:linear-gradient(135deg,var(--rose),var(--blush-deep));color:#fff;box-shadow:var(--shadow-sm);border-color:#0000}.heading-chip.used{opacity:.38;cursor:not-allowed;text-decoration:line-through}.heading-inline-hint{color:var(--ink-mid);margin:0;font-size:.76rem;line-height:1.55}.heading-place-list{flex-direction:column;gap:9px;display:flex}.heading-anchor{border:1.5px dashed var(--rim-hot);border-radius:var(--r-sm);min-width:min(100%,290px);color:var(--ink-mid);font:600 .78rem/1.4 var(--font-sans);text-align:left;cursor:pointer;white-space:normal;background:#c0637a0d;align-items:center;gap:9px;margin:10px 0;padding:9px 14px;display:inline-flex}.heading-anchor.compact{width:100%;margin:0;display:flex}.heading-anchor.active{border-color:var(--rose);box-shadow:0 0 0 3px #c0637a24}.heading-anchor.filled{border-style:solid;border-color:var(--ok);background:var(--ok-tint);color:var(--ink)}.heading-number{background:var(--parchment);min-width:25px;height:25px;color:var(--rose);border-radius:100px;flex:none;justify-content:center;align-items:center;padding:0 6px;font-size:.65rem;display:inline-flex}.passage-with-headings{white-space:pre-wrap}.passage-with-headings .heading-anchor{font-family:var(--font-sans);line-height:1.4}.matching-table{padding:20px 22px}.matching-table-scroll{border:1px solid var(--line-soft);border-radius:var(--r-md);max-width:100%;overflow-x:auto}table.match-grid{border-collapse:separate;border-spacing:0;width:100%;min-width:560px;font-size:.8rem}table.match-grid th{background:var(--rose);color:#fff;text-align:center;padding:10px 8px;font-weight:700}table.match-grid th.statement-column{background:var(--glass-b);min-width:300px}table.match-grid td,table.match-grid th.match-statement{border-bottom:1px solid var(--line-soft);padding:12px 8px}table.match-grid th.match-statement{z-index:1;background:var(--glass-b);min-width:300px;color:var(--ink);text-align:left;font-weight:600;position:sticky;left:0}table.match-grid th.match-statement .heading-number{margin-right:8px}table.match-grid td{text-align:center;background:var(--glass-b)}table.match-grid tr:nth-child(2n) td,table.match-grid tr:nth-child(2n) th.match-statement{background:color-mix(in srgb,var(--glass-b) 97%,var(--rose) 3%)}table.match-grid input[type=radio]{width:17px;height:17px;accent-color:var(--rose);cursor:pointer}.matching-select-group{padding:20px 22px}.matching-select-list{gap:10px;display:grid}.matching-select-row{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--glass-b);grid-template-columns:minmax(0,1fr) minmax(190px,280px);align-items:center;gap:14px;padding:12px 14px;display:grid}.matching-select-label{min-width:0;color:var(--ink);align-items:flex-start;gap:9px;font-size:.88rem;line-height:1.5;display:flex}.matching-select-label>.mono{color:var(--rose);flex:none}.matching-select-row>.input{width:100%;min-width:0}.matching-dnd-group{gap:16px;padding:20px 22px;display:grid}.matching-dnd-bank{background:var(--glass-b);border:1px solid var(--line-soft);border-radius:var(--r-md);flex-wrap:wrap;gap:8px;padding:12px 14px;display:flex}.matching-dnd-chip{background:var(--surface);border:1.5px solid var(--line-soft);border-radius:var(--r-pill);color:var(--ink);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:7px 14px 7px 10px;font-size:.86rem;font-weight:500;transition:border-color .15s,box-shadow .15s,background .15s;display:inline-flex}.matching-dnd-chip:hover{border-color:var(--rose);box-shadow:0 2px 8px color-mix(in srgb,var(--rose) 20%,transparent)}.matching-dnd-chip.chip-selected{background:color-mix(in srgb,var(--rose) 12%,var(--surface));border-color:var(--rose);box-shadow:0 0 0 2px color-mix(in srgb,var(--rose) 25%,transparent)}.matching-dnd-chip.chip-ghost{opacity:.4;pointer-events:none}.chip-overlay{cursor:grabbing;opacity:.95;box-shadow:0 8px 24px color-mix(in srgb,var(--rose) 30%,transparent)!important}.chip-letter{background:var(--rose);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:.72rem;font-weight:700;display:inline-flex}.matching-dnd-targets{gap:8px;display:grid}.matching-dnd-target{border:1.5px dashed var(--line-soft);border-radius:var(--r-sm);background:var(--glass-b);cursor:pointer;grid-template-columns:2rem minmax(0,1fr) minmax(160px,auto);align-items:center;gap:12px;min-height:48px;padding:11px 14px;transition:border-color .15s,background .15s;display:grid}.matching-dnd-target:hover,.matching-dnd-target.target-ready{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 5%,var(--glass-b))}.matching-dnd-target.drop-over{border-color:var(--rose);background:color-mix(in srgb,var(--rose) 10%,var(--glass-b));box-shadow:0 0 0 2px color-mix(in srgb,var(--rose) 30%,transparent);border-style:solid}.matching-dnd-target.target-filled{border-style:solid;border-color:color-mix(in srgb,var(--rose) 60%,var(--line-soft))}.matching-dnd-target.target-readonly{cursor:default;border-style:solid}.matching-dnd-target.target-correct{border-color:var(--ok)}.matching-dnd-target.target-wrong{border-color:var(--rose)}.target-number{color:var(--rose);font-size:.85rem;font-weight:700;line-height:1}.target-question{color:var(--ink);font-size:.87rem;line-height:1.45}.target-answer{color:var(--ink-soft);font-size:.86rem;font-weight:500}.target-answer .answer-letter{background:var(--rose);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-right:4px;font-size:.72rem;font-weight:700;display:inline-flex}.target-placeholder{color:var(--ink-muted);font-size:.83rem;font-style:italic;font-weight:400}.answer-clear{cursor:pointer;color:var(--ink-muted);border-radius:var(--r-sm);background:0 0;border:none;margin-left:8px;padding:2px 4px;font-size:.9rem;line-height:1;transition:color .15s}.answer-clear:hover{color:var(--rose)}[data-theme=dark] .matching-dnd-chip,[data-theme=dark] .matching-dnd-bank,[data-theme=dark] .matching-dnd-target{background:var(--surface)}[data-theme=dark] .matching-dnd-chip.chip-selected{background:color-mix(in srgb,var(--rose) 20%,var(--surface))}@media (max-width:768px){.matching-dnd-group{padding:16px}.matching-dnd-target{grid-template-rows:auto auto;grid-template-columns:1.8rem 1fr}.target-answer{grid-column:1/-1;padding-left:2rem}.matching-heading,.matching-table,.matching-select-group{padding:16px}.heading-chip{width:100%}.heading-anchor{min-width:100%}.matching-select-row{grid-template-columns:1fr;gap:9px}.matching-select-row>.input{min-height:44px}table.match-grid th.statement-column,table.match-grid th.match-statement{min-width:230px;max-width:230px}}.skill-card:hover .book-turning-page,.skill-card:focus-visible .book-turning-page{animation:.58s cubic-bezier(.22,1,.36,1) both skill-page-turn}.skill-card:hover .book-cover-left,.skill-card:focus-visible .book-cover-left{animation:.52s ease-out both skill-book-open}.skill-card:hover .pen,.skill-card:focus-visible .pen{animation:.54s cubic-bezier(.22,1,.36,1) both skill-pen-write}.skill-card:hover .ink-stroke,.skill-card:focus-visible .ink-stroke{animation:.48s ease-out 90ms both skill-ink-draw}.skill-card:hover .ink-dot,.skill-card:focus-visible .ink-dot{opacity:1;transition:opacity .18s .2s}.skill-card:hover .headphones,.skill-card:focus-visible .headphones{animation:.52s ease-in-out both skill-headphone-breathe}.skill-card:hover .wave-one,.skill-card:focus-visible .wave-one{animation:.54s ease-in-out both skill-wave-pulse}.skill-card:hover .wave-two,.skill-card:focus-visible .wave-two{animation:.54s ease-in-out 70ms both skill-wave-pulse}.skill-card:hover .wave-three,.skill-card:focus-visible .wave-three{animation:.5s ease-in-out .12s both skill-wave-pulse}@media (max-width:768px){.runner{padding-top:calc(64px + env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom)}.runner-bar{height:calc(64px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 7px max(8px,env(safe-area-inset-left));gap:6px}.runner-bar .btn{min-height:40px;padding:.5rem .65rem;font-size:.64rem}.runner-title{min-width:0}.runner-title b{font-size:.78rem}.timer{padding:.48rem .5rem;font-size:.72rem}.runner-progress{top:calc(62px + env(safe-area-inset-top))}.runner-grid{height:calc(100vh - 108px - env(safe-area-inset-top));min-height:420px}.source-pane,.questions-pane{padding:1rem max(1rem,env(safe-area-inset-right)) calc(1rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.pane-toggle{top:calc(64px + env(safe-area-inset-top));z-index:860;height:48px;position:sticky}.pane-toggle button{min-height:48px;font-size:.72rem}.runner.has-passage-switcher{padding-top:calc(126px + env(safe-area-inset-top))}.has-passage-switcher .runner-grid{height:calc(100vh - 170px - env(safe-area-inset-top))}.pass-switch{top:calc(64px + env(safe-area-inset-top));height:62px;padding:.4rem max(.5rem,env(safe-area-inset-right)) .4rem max(.5rem,env(safe-area-inset-left))}.audio-bar{top:calc(64px + env(safe-area-inset-top));padding:.55rem max(1rem,env(safe-area-inset-right));gap:.5rem}.audio-bar audio{width:100%;min-width:0}.option-list label{align-items:center;min-height:44px}.shared-control>.input,.shared-control>select.input{max-width:calc(100vw - 112px)}.matching-table-scroll{margin-inline:-2px}.runner-preview-overlay{padding-bottom:env(safe-area-inset-bottom)}.practice-hero{margin-bottom:1.5rem;display:block}.library-head-actions{align-items:flex-start;margin-top:1rem}.library-stat{padding:.7rem 1rem}.volume-library .test-card{padding:16px}.volume-library .btn-view{justify-content:center;width:100%}.test-actions{flex-direction:column}.test-actions .btn{justify-content:center;width:100%}.filter-row{margin:1rem 0;padding-bottom:4px;overflow-x:auto}.filter-row .input{min-width:160px}.history-row{gap:.6rem;padding:1rem}.history-row>div{min-width:0}.history-row b{overflow-wrap:anywhere}.result-page{padding-top:6.5rem}.result-actions{flex-direction:column}.result-actions .btn{justify-content:center;width:100%}.review-answer,.explain,.feedback{margin-left:0}.score-row{grid-template-columns:minmax(72px,.8fr) 1fr 38px}.writing-runner .runner-bar{position:fixed}.writing-task{padding:1rem}.writing-editor textarea{padding:.85rem}.intro-facts{flex-direction:column;gap:.35rem}.test-intro .test-actions{align-items:stretch}}.library-progress{margin:1.15rem 0 1rem}.vocabulary-passage{position:relative}.save-vocabulary-action{z-index:5;float:right;border:1px solid var(--rim-hot);background:var(--ink);color:var(--cream);font:700 .7rem var(--font-sans);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:100px;margin:8px 0;padding:.55rem .8rem;position:sticky;bottom:12px}.save-vocabulary-action:focus-visible{outline-offset:2px;outline:3px solid #c0637a59}.vocabulary-page{max-width:820px;margin:0 auto;padding:8rem 1.5rem 5rem}.vocabulary-hero{margin-bottom:1.5rem}.vocabulary-hero .label{color:var(--rose)}.vocabulary-hero h1{margin:.35rem 0}.vocabulary-hero p{color:var(--ink-mid)}.vocabulary-search{width:100%;padding:.85rem 1rem}.vocabulary-filters{gap:.5rem;margin:1rem 0 1.25rem;display:flex}.vocabulary-filters button{border:1px solid var(--line);background:var(--glass-b);min-height:40px;color:var(--ink-mid);font:600 .72rem var(--font-sans);cursor:pointer;border-radius:100px;padding:.45rem .85rem}.vocabulary-filters button.active{border-color:var(--rose);background:var(--rose);color:#fff}.vocabulary-list{gap:.8rem;display:grid}.vocabulary-card{padding:1.1rem}.vocabulary-card>header{justify-content:space-between;gap:1rem;display:flex}.vocabulary-card h2{margin:0;font-size:1.5rem}.vocabulary-card header p{color:var(--ink-lo);margin:.35rem 0 0;font-size:.72rem}.vocabulary-card header>span{background:var(--parchment);height:max-content;color:var(--ink-mid);border-radius:100px;padding:.3rem .55rem;font-size:.65rem}.vocabulary-card.learned{border-color:var(--ok)}.vocabulary-card.learned header>span{background:var(--ok-tint);color:var(--ok)}.vocabulary-notes{gap:.45rem;margin:1rem 0;display:grid}.vocabulary-notes p{color:var(--ink-mid);grid-template-columns:78px 1fr;gap:.5rem;margin:0;font-size:.8rem;display:grid}.vocabulary-notes b{color:var(--ink)}.vocabulary-card blockquote{border-left:2px solid var(--rose);background:var(--parchment);color:var(--ink-mid);margin:.8rem 0;padding:.7rem .85rem;font-size:.75rem;line-height:1.55}.vocabulary-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.vocabulary-delete{color:var(--err)!important}.vocabulary-editor{gap:.75rem;margin-top:1rem;display:grid}.vocabulary-editor label{gap:.3rem;font-size:.75rem;font-weight:700;display:grid}.vocabulary-editor textarea{resize:vertical;min-height:76px}.vocabulary-empty{text-align:center;padding:2.5rem 1.25rem}.vocabulary-empty>span{color:var(--rose);font-size:2rem}.vocabulary-empty h2{margin:.5rem 0}.vocabulary-empty p{max-width:32ch;color:var(--ink-mid);margin:0 auto 1rem}.continue-practice+.skill-row{margin-top:14px}.continue-practice+.skill-row .history-link{color:var(--ink-mid);background:0 0;border:0;border-radius:0;padding:6px 0;font-size:.76rem;font-weight:600}.continue-practice+.skill-row .history-link:hover{color:var(--rose);text-underline-offset:3px;text-decoration:underline}@media (max-width:768px){.library-progress+.btn{width:100%;min-height:48px}.continue-practice+.skill-row{justify-content:flex-start;margin-top:14px;margin-bottom:24px}.continue-practice+.skill-row .history-link{min-height:36px;padding:6px 0}.vocabulary-page{padding:calc(6.5rem + env(safe-area-inset-top)) 1rem calc(6rem + env(safe-area-inset-bottom))}.vocabulary-card{padding:1rem}.vocabulary-actions .btn{min-height:42px}.save-vocabulary-action{min-height:40px;bottom:18px}.vocabulary-notes p{grid-template-columns:70px 1fr}}.study-tools-root{position:relative}.study-tools-header{border-bottom:1px solid var(--line-soft);justify-content:flex-end;align-items:center;min-height:44px;margin:0 0 12px;padding-bottom:10px;display:flex}.study-tools-control{justify-content:flex-end;align-items:center;gap:7px;display:flex}.study-tools-control button,.study-tools-control a{border:1px solid var(--rim);background:var(--surface);min-height:36px;color:var(--ink-mid);font:700 .68rem/1.35 var(--font-sans);cursor:pointer;border-radius:100px;align-items:center;gap:5px;padding:7px 11px;text-decoration:none;display:inline-flex}.study-tools-control button{color:var(--rose);border-color:var(--rim-hot)}.study-tools-control small{color:var(--ink-lo);margin-left:2px}.reading-note-markers{gap:5px;margin:8px 0;display:flex}.reading-note-markers button{border:1px solid var(--rim-hot);background:var(--cream);width:25px;height:25px;color:var(--copper);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;font-size:.62rem}.reading-selection-toolbar{z-index:8;border:1px solid var(--rim-hot);background:var(--ink);width:max-content;max-width:100%;box-shadow:var(--shadow-md);border-radius:100px;align-items:center;gap:6px;margin:10px 0 0 auto;padding:5px;display:flex;position:sticky;bottom:12px}.reading-selection-toolbar button{min-height:40px;color:var(--cream);font:700 .68rem var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:100px;justify-content:center;align-items:center;gap:5px;padding:.5rem .75rem;display:inline-flex}.reading-selection-toolbar button:first-child{background:#ecb5464d}.reading-selection-toolbar button:disabled{opacity:.65;cursor:wait}.reading-selection-toolbar span{background:var(--err);color:#fff;border-radius:8px;width:max-content;max-width:min(280px,85vw);padding:7px 9px;font-size:.68rem;position:absolute;bottom:calc(100% + 7px);right:0}.reading-selection-toolbar .highlight-unavailable{min-height:40px;color:var(--cream);background:#ffffff1f;align-items:center;padding:.45rem .7rem;line-height:1.35;display:inline-flex;position:static}.reading-note-editor{z-index:1100;border:1px solid var(--rim-hot);background:var(--surface);width:min(370px,100vw - 32px);box-shadow:var(--shadow-lg);border-radius:18px;padding:16px;position:fixed;bottom:26px;right:28px}.reading-note-editor header,.reading-notes-panel header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reading-note-editor header b{max-width:270px;font-size:.8rem;line-height:1.35;display:block}.reading-note-editor label{color:var(--ink-mid);gap:6px;margin:14px 0 10px;font-size:.7rem;font-weight:700;display:grid}.reading-note-editor textarea{resize:vertical;border:1px solid var(--line);background:var(--glass-b);min-height:116px;color:var(--ink);font:.85rem/1.5 var(--font-sans);border-radius:10px;padding:.7rem}.reading-note-editor footer{grid-template-columns:auto 1fr auto auto;align-items:center;gap:6px;display:grid}.study-tools-error{color:var(--err);margin:0 0 8px;font-size:.7rem}.note-delete{color:var(--err)!important}.reading-notes-layer{z-index:1090;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#261b1952;position:fixed;inset:0}.reading-notes-panel{border:1px solid var(--rim-hot);background:var(--surface);width:min(385px,100vw - 32px);max-height:calc(100vh - 140px);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;padding:18px;display:flex;position:absolute;top:100px;right:24px}.reading-notes-panel h2{margin:.15rem 0 0;font-size:1.55rem}.reading-notes-list{gap:7px;margin:14px -5px;padding:0 5px;display:grid;overflow:auto}.reading-notes-list button{border:1px solid var(--line-soft);background:var(--glass-b);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;gap:4px;padding:10px;display:grid}.reading-notes-list button:hover{border-color:var(--rim-hot)}.reading-notes-list b{font-size:.76rem}.reading-notes-list span,.reading-notes-empty{color:var(--ink-mid);font-size:.72rem;line-height:1.5}.reading-notes-panel footer{margin-top:auto}.icon-btn{border:1px solid var(--line);background:var(--glass-b);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:50%;font-size:1.25rem;line-height:1}@media (max-width:768px){.study-tools-header{justify-content:flex-start;margin-bottom:10px}.study-tools-control{justify-content:flex-start;width:100%}.study-tools-control a{display:none}.study-tools-control button{min-height:42px}.reading-selection-toolbar{bottom:calc(14px + env(safe-area-inset-bottom));margin-right:0}.reading-selection-toolbar button{min-height:44px;padding:.55rem .75rem}.reading-selection-toolbar .highlight-unavailable{max-width:190px;min-height:44px}.reading-note-editor{width:100%;padding:18px max(16px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-radius:20px 20px 0 0;bottom:0;right:0}.reading-notes-panel{width:100%;max-height:min(72vh,560px);padding:18px max(16px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-radius:20px 20px 0 0;top:auto;bottom:0;right:0}}[data-theme=dark] .study-tools-control button,[data-theme=dark] .study-tools-control a,[data-theme=dark] .reading-note-marker,[data-theme=dark] .reading-note-editor,[data-theme=dark] .reading-notes-panel{background:var(--surface)}.source-pane{position:relative}.dictionary-layer{z-index:1700;pointer-events:auto;background:#261b1938;position:fixed;inset:0}.dictionary-card{z-index:1701;border:1px solid var(--rim-hot);background:linear-gradient(145deg,var(--surface),var(--glass-b));width:min(390px,100% - 32px);max-height:calc(100% - 36px);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;padding:18px;display:flex;position:absolute;bottom:18px;right:18px;overflow:auto}.dictionary-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.dictionary-card h2{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:2rem}.dictionary-card header p{color:var(--copper);margin:.2rem 0 0;font-size:.78rem}.dictionary-header-actions{gap:6px;display:flex}.dictionary-body{gap:14px;margin:17px 0;display:grid}.dictionary-body section{gap:5px;display:grid}.dictionary-body p{color:var(--ink-mid);margin:0;font-size:.86rem;line-height:1.58}.dictionary-body blockquote{border-left:2px solid var(--rose);background:var(--parchment);color:var(--ink-mid);margin:0;padding:9px 11px;font-size:.76rem;line-height:1.55}.dictionary-loading,.dictionary-empty{color:var(--ink-mid);align-items:center;gap:8px;margin:20px 0;font-size:.8rem;line-height:1.5;display:flex}.dictionary-empty{flex-wrap:wrap}.dictionary-empty p{margin:0}.dictionary-card footer{border-top:1px solid var(--line-soft);justify-content:space-between;gap:8px;margin-top:auto;padding-top:14px;display:flex}.dictionary-card footer .btn{min-height:40px}.dictionary-card .icon-btn{min-width:32px;min-height:32px}.dictionary-card .study-tools-error{margin-top:9px}.reading-selection-toolbar button:last-of-type{background:#c0637a38}[data-theme=dark] .dictionary-card{background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface) 88%,var(--rose)))}[data-theme=dark] .dictionary-body blockquote{background:color-mix(in srgb,var(--surface) 84%,var(--rose))}@media (max-width:900px){.dictionary-card{width:min(390px,100% - 32px);bottom:18px;right:50%;transform:translate(50%)}}@media (max-width:768px){.reading-selection-toolbar{justify-content:stretch;gap:3px;width:100%;max-width:100%;padding:4px}.reading-selection-toolbar button{flex:1;min-width:0;padding:.5rem .35rem;font-size:.62rem}.dictionary-card{z-index:1701;width:100%;max-height:min(72dvh,620px);padding:18px max(16px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border-radius:20px 20px 0 0;position:fixed;bottom:0;right:0;transform:none}.dictionary-card footer{bottom:calc(-18px - env(safe-area-inset-bottom));padding:12px 0 calc(18px + env(safe-area-inset-bottom));background:var(--surface);position:sticky}.dictionary-card footer .btn{min-height:44px}.dictionary-card .icon-btn{min-width:44px;min-height:44px}}.dictionary-context{border:1px solid color-mix(in srgb,var(--rose,#c9827b) 35%,transparent);background:color-mix(in srgb,var(--blush,#f8e6e1) 72%,transparent);border-radius:14px;margin:16px 0;padding:14px}.dictionary-context strong{margin-top:7px;font-size:1.05rem;display:block}.dictionary-context p{margin:8px 0 0}.dictionary-context-unavailable{color:var(--muted,#796d67)}.dictionary-loading{align-items:center;gap:8px;display:flex}.vocabulary-compact-list{gap:10px;display:grid}.vocabulary-row{text-align:left;border:1px solid var(--line,#57352529);background:var(--paper,#fffaf5);min-height:76px;color:inherit;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.vocabulary-row span{gap:3px;min-width:0;display:grid}.vocabulary-row b{font-size:1.2rem}.vocabulary-row small,.vocabulary-row em{text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#796d67);font-style:normal;overflow:hidden}.vocabulary-row i{color:var(--rose,#c9827b);font-size:1.65rem}.vocabulary-row.learned{border-color:color-mix(in srgb,var(--copper,#a66f48) 50%,transparent)}.vocabulary-detail-layer{z-index:1700;background:#1c110c61;justify-content:flex-end;display:flex;position:fixed;inset:0}.vocabulary-detail{background:var(--paper,#fffaf5);width:min(520px,100%);height:100%;color:var(--ink,#2d1b13);flex-direction:column;display:flex;box-shadow:-14px 0 45px #1c110c33}.vocabulary-detail>header,.vocabulary-detail>footer{border-bottom:1px solid var(--line,#57352529);align-items:start;gap:10px;padding:20px;display:flex}.vocabulary-detail>header h2{margin:4px 0}.vocabulary-detail>header p{color:var(--muted,#796d67);margin:0}.vocabulary-detail>header>div{flex:1}.vocabulary-detail-content{padding:20px;overflow:auto}.vocabulary-detail-content>section{margin-bottom:20px}.vocabulary-detail-content blockquote{border-left:2px solid var(--rose,#c9827b);margin:8px 0;padding-left:12px}.vocabulary-detail footer{border-top:1px solid var(--line,#57352529);border-bottom:0;align-items:center;margin-top:auto}.vocabulary-detail footer span{flex:1}@media (max-width:768px){.vocabulary-detail-layer{align-items:flex-end}.vocabulary-detail{width:100%;height:min(84dvh,720px);padding-bottom:env(safe-area-inset-bottom);border-radius:22px 22px 0 0}}.reading-mode-tabs{border:1px solid var(--line);background:var(--parchment);box-shadow:var(--shadow-sm);border-radius:999px;gap:4px;margin:0 0 14px;padding:4px;display:inline-flex}.reading-mode-tabs button{min-height:42px;color:var(--ink-mid);font:700 .76rem var(--font-sans);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:8px 18px;transition:background .18s,color .18s,box-shadow .18s}.reading-mode-tabs button.active{background:var(--rose-solid);color:#fff;box-shadow:var(--shadow-sm)}.reading-mode-tabs button:focus-visible,.catalog-search:focus-within{outline:3px solid color-mix(in srgb,var(--rose) 35%,transparent);outline-offset:3px}.catalog-search-wrap{align-items:center;gap:12px;margin:0 0 30px;display:flex}.catalog-search{border:1px solid var(--line);background:var(--surface);width:min(680px,100%);min-height:48px;box-shadow:var(--shadow-sm);border-radius:16px;align-items:center;gap:10px;padding:0 12px;transition:border-color .18s,box-shadow .18s;display:flex}.catalog-search:focus-within{border-color:var(--rim-hot);box-shadow:var(--shadow-md)}.catalog-search svg{fill:none;width:20px;height:20px;stroke:var(--rose);stroke-width:1.8px;stroke-linecap:round;flex:0 0 20px}.catalog-search input{min-width:0;height:46px;color:var(--ink);font:500 .86rem var(--font-sans);background:0 0;border:0;outline:0;flex:1;padding:0}.catalog-search input::placeholder{color:var(--ink-lo)}.catalog-search input::-webkit-search-cancel-button{display:none}.catalog-search button{background:var(--parchment);width:32px;height:32px;color:var(--ink-mid);cursor:pointer;border:0;border-radius:50%;flex:0 0 32px;place-items:center;font-size:1.15rem;display:grid}.catalog-search button:focus-visible{outline:2px solid var(--rose);outline-offset:2px}.catalog-result-count{white-space:nowrap;color:var(--ink-lo);font-size:.72rem}.catalog-format-badge{border:1px solid color-mix(in srgb,var(--rose) 28%,var(--line));background:color-mix(in srgb,var(--rose) 9%,var(--surface));color:var(--rose);font:800 .58rem var(--font-sans);letter-spacing:.09em;border-radius:999px;margin:0 0 8px;padding:4px 8px;display:inline-flex}.catalog-format-badge.single{border-color:color-mix(in srgb,var(--copper) 32%,var(--line));background:color-mix(in srgb,var(--copper) 10%,var(--surface));color:var(--copper)}.catalog-empty{text-align:center;justify-items:center;gap:8px;max-width:680px;margin:8px 0 30px;padding:34px 24px;display:grid}.catalog-empty>span{color:var(--rose);font-size:1.45rem}.catalog-empty h2{font:400 1.55rem var(--font-serif);margin:0}.catalog-empty p{max-width:48ch;color:var(--ink-mid);margin:0;font-size:.82rem;line-height:1.6}@media (max-width:768px){.reading-mode-tabs{width:100%;display:flex}.reading-mode-tabs button{flex:1;min-width:0;padding:8px 10px}.catalog-search-wrap{flex-direction:column;align-items:stretch;gap:7px;margin-bottom:24px}.catalog-search{width:100%;min-height:48px}.catalog-result-count{padding-left:3px}.catalog-empty{max-width:none;padding:28px 18px}}@media (max-width:430px){.reading-mode-tabs button{font-size:.7rem}.catalog-search input{font-size:.8rem}.catalog-search{padding:0 10px}}.source-rich-html{white-space:normal}.source-rich-html>:first-child{margin-top:0}.source-rich-html>:last-child{margin-bottom:0}.source-rich-html p,.source-rich-html li{font-size:.86rem;line-height:1.75}.source-rich-html figure{max-width:100%;margin:1rem 0;overflow:auto}.source-rich-html table{border-collapse:collapse;width:100%;margin:.8rem 0;font-size:.8rem}.source-rich-html td,.source-rich-html th{border:1px solid var(--line);vertical-align:top;padding:.55rem}.source-rich-html img{border-radius:var(--r-sm);max-width:100%;height:auto;margin:.8rem auto;display:block}.source-gap-token{border-bottom:1px dashed var(--rose);min-width:6.5rem;color:var(--rose);font:600 .72rem var(--font-mono);text-align:center;margin:.12rem .2rem;padding:.08rem .35rem;display:inline-block}.question-rich-html{margin:-.15rem 0 .8rem 2.35rem}.source-question-group>.question-group{margin:.2rem 0 .8rem}.multi-gap-controls{gap:.55rem;margin:.7rem 0 0 2.35rem;display:grid}.multi-gap-controls label{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.55rem;font-size:.75rem;display:grid}.multi-gap-controls b{background:var(--parchment);text-align:center;min-width:2.3rem;color:var(--rose);border-radius:100px;padding:.35rem .45rem}.runner-listening{--listening-bg:#f8f6f4;--listening-surface:#fff;--listening-surface-alt:#f4eeea;--listening-border:#e7dad5;--listening-text:#201a18;--listening-muted:#6f655f;--listening-primary:#c76d87;--listening-primary-hover:#b85e78;--listening-primary-soft:#f5e2e8;background:var(--listening-bg);min-height:100dvh;color:var(--listening-text)}.runner-listening .runner-bar{background:color-mix(in srgb,var(--listening-surface) 96%,transparent);border-color:var(--listening-border);box-shadow:0 1px 12px #3f2a260d}.runner-listening .runner-title b{color:var(--listening-text);font-size:.9rem}.runner-listening .runner-title small{color:var(--listening-muted);font-size:.67rem}.runner-listening .runner-bar>.btn-ghost{border-color:var(--listening-border);color:var(--listening-muted);background:var(--listening-surface)}.runner-listening .runner-bar>.btn-primary{background:var(--listening-primary);box-shadow:0 5px 14px #b85e7833}.runner-listening .runner-bar>.btn-primary:hover{background:var(--listening-primary-hover)}.runner-listening .timer{border-color:var(--listening-border);background:var(--listening-surface);color:var(--listening-text);font-size:.78rem}.runner-listening .runner-progress{background:var(--listening-border)}.runner-listening .runner-progress i{background:var(--listening-primary)}.runner-listening .audio-bar{z-index:850;border-bottom:1px solid var(--listening-border);background:var(--listening-surface);min-height:64px;color:var(--listening-text);padding:.62rem clamp(1rem,3vw,2rem);top:70px;box-shadow:0 8px 22px #3f2a260e}.audio-identity{min-width:152px;color:var(--listening-text);align-items:center;gap:.65rem;display:flex}.audio-identity>span:first-child{background:var(--listening-primary-soft);width:34px;height:34px;color:var(--listening-primary);border-radius:50%;place-items:center;font-size:.72rem;display:grid}.audio-identity>span:last-child{flex-direction:column;gap:2px;display:flex}.audio-identity b{font-size:.75rem;line-height:1.1}.audio-identity small{color:var(--listening-muted);font-size:.61rem}.audio-controls{flex:1;align-items:center;gap:.8rem;min-width:0;display:flex}.runner-listening .audio-controls .input{border-color:var(--listening-border);background:var(--listening-surface-alt);width:min(210px,24vw);min-width:130px;color:var(--listening-text);padding:.52rem .7rem}.runner-listening .audio-controls audio{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex:1;width:100%;min-width:220px;height:38px;display:block}.runner-listening .audio-empty{color:var(--listening-muted)}.listening-exam-layout{background:var(--listening-bg);grid-template-columns:270px minmax(0,1fr);align-items:start;min-height:calc(100dvh - 134px);display:grid}.listening-sidebar{border-right:1px solid var(--listening-border);background:var(--listening-surface);align-self:start;height:calc(100dvh - 134px);padding:1.4rem 1rem 1.5rem;position:sticky;top:134px;overflow:auto}.listening-sidebar-head{justify-content:space-between;align-items:center;gap:.75rem;padding:0 .25rem .75rem;display:flex}.listening-sidebar-head>div{flex-direction:column;gap:.32rem;display:flex}.listening-sidebar-head strong{color:var(--listening-text);font-size:.95rem}.listening-eyebrow{color:var(--listening-primary);letter-spacing:.13em;text-transform:uppercase;font-size:.59rem;font-weight:750}.listening-sidebar-close{background:var(--listening-surface-alt);width:38px;height:38px;color:var(--listening-text);cursor:pointer;border:0;border-radius:50%;font-size:1.4rem;display:none}.listening-sidebar-progress{background:var(--listening-surface-alt);border-radius:999px;height:6px;margin:0 .25rem 1.1rem;overflow:hidden}.listening-sidebar-progress i{border-radius:inherit;background:var(--listening-primary);height:100%;transition:width .2s;display:block}.listening-part-navigation{gap:.45rem;display:grid}.listening-nav-part{border:1px solid #0000;border-radius:14px;padding:.35rem}.listening-nav-part:has(.listening-part-button.active){border-color:var(--listening-border);background:var(--listening-surface-alt)}.listening-part-button{width:100%;color:var(--listening-text);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem;display:flex}.listening-part-button>span{flex-direction:column;gap:2px;min-width:0;display:flex}.listening-part-button small{color:var(--listening-primary);letter-spacing:.08em;text-transform:uppercase;font-size:.58rem;font-weight:750}.listening-part-button b{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.listening-part-button em{background:var(--listening-surface);color:var(--listening-muted);font:600 .58rem var(--font-mono);border-radius:999px;flex:none;padding:.25rem .42rem;font-style:normal}.listening-question-navigation{grid-template-columns:repeat(5,minmax(0,1fr));gap:.34rem;padding:.32rem .55rem .58rem;display:grid}.listening-question-navigation button{aspect-ratio:1;border:1px solid var(--listening-border);background:var(--listening-surface);min-width:0;color:var(--listening-muted);font:650 .63rem var(--font-mono);cursor:pointer;border-radius:8px;transition:border-color .15s,background .15s,color .15s,transform .15s}.listening-question-navigation button:hover{border-color:var(--listening-primary);color:var(--listening-primary);transform:translateY(-1px)}.listening-question-navigation button.answered{border-color:color-mix(in srgb,var(--listening-primary) 46%,var(--listening-border));background:var(--listening-primary-soft);color:var(--listening-primary)}.listening-transcript-note{border-top:1px solid var(--listening-border);color:var(--listening-muted);align-items:flex-start;gap:.45rem;margin:1rem .25rem 0;padding-top:1rem;font-size:.67rem;line-height:1.45;display:flex}.listening-transcript-note span{color:var(--listening-primary)}.listening-question-workspace{min-width:0;padding:clamp(1.5rem,4vw,3.4rem) clamp(1rem,4vw,4rem) 5rem}.listening-content-head{justify-content:space-between;align-items:flex-end;gap:1.5rem;width:min(100%,980px);margin:0 auto 1.6rem;padding:0 .15rem;display:flex}.listening-content-head h1{color:var(--listening-text);letter-spacing:-.025em;margin:.35rem 0 0;font-size:clamp(2rem,4vw,3rem);font-weight:400}.listening-answer-count{border:1px solid var(--listening-border);background:var(--listening-surface);color:var(--listening-muted);border-radius:999px;flex:none;padding:.55rem .8rem;font-size:.67rem}.listening-answer-count b{color:var(--listening-primary);font-size:.77rem}.listening-question-flow{gap:2.25rem;width:min(100%,980px);margin:auto;display:grid}.listening-part-section{scroll-margin-top:154px}.runner-listening .runner-question-section{gap:.9rem;display:grid}.runner-listening .runner-question-section+.runner-question-section{border:0;margin:0;padding:0}.runner-listening .runner-question-section>h2{border-bottom:1px solid var(--listening-border);color:var(--listening-text);margin:0 0 .25rem;padding-bottom:.75rem;font-size:1.45rem;font-weight:500}.runner-listening .runner-question-section>.instructions{margin:0 0 .25rem}.runner-listening .instructions{border-left:3px solid var(--listening-primary);background:var(--listening-primary-soft);color:var(--listening-muted);border-radius:0 10px 10px 0;font-size:.78rem}.runner-listening .card,.runner-listening .question{border-color:var(--listening-border);background:var(--listening-surface);box-shadow:0 8px 26px #4c312b0e}.runner-listening .question{border-radius:18px;margin:0;padding:clamp(1rem,2.6vw,1.45rem)}.runner-listening .source-question-group{border:1px solid var(--listening-border);background:var(--listening-surface);border-radius:18px;gap:.75rem;padding:clamp(1rem,2.6vw,1.45rem);display:grid;box-shadow:0 8px 26px #4c312b0e}.runner-listening .source-question-group>.question{background:var(--listening-surface-alt);box-shadow:none;border-radius:12px;padding:.8rem}.runner-listening .question-group{color:var(--listening-primary);letter-spacing:.13em;margin:0 0 .8rem;font-size:.63rem}.runner-listening .question-text{align-items:flex-start;gap:.85rem}.runner-listening .question-text>b,.runner-listening .shared-control>b{background:var(--listening-primary-soft);color:var(--listening-primary)}.runner-listening .question-text p{color:var(--listening-text);margin:.16rem 0 .9rem;font-size:.95rem;line-height:1.62}.runner-listening .question-rich-html{color:var(--listening-text)}.runner-listening .option-list{gap:.55rem}.runner-listening .option-list label{border-color:var(--listening-border);background:var(--listening-surface-alt);min-height:46px;color:var(--listening-text);border-radius:12px;align-items:center;padding:.72rem .82rem;font-size:.82rem;line-height:1.45}.runner-listening .option-list label:hover{border-color:color-mix(in srgb,var(--listening-primary) 55%,var(--listening-border));background:color-mix(in srgb,var(--listening-primary-soft) 58%,var(--listening-surface))}.runner-listening .option-list label.picked{border-color:var(--listening-primary);background:var(--listening-primary-soft)}.runner-listening .option-list input{width:17px;height:17px;accent-color:var(--listening-primary)}.runner-listening .input{border-color:var(--listening-border);background:var(--listening-surface-alt);color:var(--listening-text)}.runner-listening .input:focus{border-color:var(--listening-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--listening-primary) 15%,transparent)}.runner-listening .gap-answer{min-height:46px;font-size:.88rem}.runner-listening .multi-gap-controls{gap:.7rem}.runner-listening .multi-gap-controls label{border:1px solid var(--listening-border);background:var(--listening-surface-alt);border-radius:12px;padding:.55rem}.runner-listening .multi-gap-controls b{background:var(--listening-primary-soft);color:var(--listening-primary)}.runner-listening .shared-prompt{color:var(--listening-text);font-size:.9rem;line-height:2}.runner-listening .shared-fallback{border-top:1px solid var(--listening-border);gap:.65rem;padding-top:.8rem}.runner-listening .shared-control{scroll-margin-top:154px}.runner-listening .matching-select-list{gap:.65rem}.runner-listening .matching-select-row{border-color:var(--listening-border);background:var(--listening-surface-alt);grid-template-columns:minmax(0,1fr) minmax(190px,285px);gap:1rem;padding:.8rem .9rem;scroll-margin-top:154px}.runner-listening .matching-select-label{font-size:.88rem;line-height:1.5}.runner-listening .matching-select-label>.mono{color:var(--listening-primary)}.runner-listening .matching-select-row>.input{background:var(--listening-surface);min-height:43px}.runner-listening [id^=q-]{scroll-margin-top:154px}.listening-nav-toggle,.listening-nav-scrim{display:none}[data-theme=dark] .runner-listening{--listening-bg:#151217;--listening-surface:#1d1820;--listening-surface-alt:#261f29;--listening-border:#3a303b;--listening-text:#f6f1f4;--listening-muted:#b7adb4;--listening-primary:#e08aa5;--listening-primary-hover:#ea9ab2;--listening-primary-soft:#e08aa529}[data-theme=dark] .runner-listening .runner-bar{background:color-mix(in srgb,var(--listening-bg) 95%,transparent);box-shadow:0 1px 14px #00000047}[data-theme=dark] .runner-listening .audio-bar{background:var(--listening-surface);box-shadow:0 9px 24px #00000042}[data-theme=dark] .runner-listening .audio-controls audio{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dark] .runner-listening .card,[data-theme=dark] .runner-listening .question,[data-theme=dark] .runner-listening .source-question-group{box-shadow:0 10px 28px #0000002e}@media (max-width:1024px){.listening-exam-layout{grid-template-columns:228px minmax(0,1fr)}.listening-sidebar{padding-inline:.72rem}.listening-question-navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.listening-question-workspace{padding-inline:1.5rem}}@media (max-width:768px){.runner-listening{padding-top:calc(64px + env(safe-area-inset-top))}.runner-listening .runner-bar{gap:.42rem}.runner-listening .runner-title b{font-size:.72rem}.runner-listening .runner-bar>.btn{padding:.45rem .55rem}.runner-listening .audio-bar{top:calc(64px + env(safe-area-inset-top));min-height:64px;padding:.5rem max(.7rem,env(safe-area-inset-right)) .5rem max(.7rem,env(safe-area-inset-left));flex-wrap:nowrap}.audio-identity{min-width:auto}.audio-identity>span:last-child{display:none}.audio-controls{grid-template-columns:minmax(92px,120px) minmax(0,1fr);gap:.45rem;display:grid}.runner-listening .audio-controls .input{width:100%;min-width:0;padding:.45rem .55rem;font-size:.7rem}.runner-listening .audio-controls audio{width:100%;min-width:0;height:38px}.runner-listening .audio-controls audio:only-child{grid-column:1/-1}.listening-exam-layout{min-height:calc(100dvh - 128px - env(safe-area-inset-top));display:block}.listening-nav-toggle{z-index:810;top:calc(128px + env(safe-area-inset-top));width:100%;min-height:44px;padding:.55rem max(1rem,env(safe-area-inset-right)) .55rem max(1rem,env(safe-area-inset-left));border:0;border-bottom:1px solid var(--listening-border);background:color-mix(in srgb,var(--listening-surface) 96%,transparent);color:var(--listening-text);font:700 .7rem var(--font-sans);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;align-items:center;gap:.45rem;display:flex;position:sticky}.listening-nav-toggle>span{color:var(--listening-primary);font-size:1rem}.listening-nav-toggle>b{background:var(--listening-primary-soft);color:var(--listening-primary);border-radius:999px;margin-left:auto;padding:.28rem .5rem;font-size:.61rem}.listening-nav-scrim{z-index:875;inset:calc(128px + env(safe-area-inset-top)) 0 0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1912166b;border:0;display:block;position:fixed}.listening-sidebar{z-index:880;top:calc(128px + env(safe-area-inset-top));width:min(88vw,330px);height:auto;padding:1.1rem max(1rem,env(safe-area-inset-left)) calc(1.5rem + env(safe-area-inset-bottom));border-right-color:var(--listening-border);transition:transform .22s;position:fixed;bottom:0;left:0;transform:translate(-105%);box-shadow:18px 0 46px #1912162e}.listening-sidebar.open{transform:translate(0)}.listening-sidebar-close{place-items:center;display:grid}.listening-question-navigation{grid-template-columns:repeat(5,minmax(0,1fr))}.listening-question-workspace{padding:1.35rem max(1rem,env(safe-area-inset-right)) calc(4rem + env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.listening-content-head{align-items:flex-start;margin-bottom:1.15rem}.listening-content-head h1{font-size:2rem}.listening-answer-count{padding:.45rem .62rem;font-size:.6rem}.listening-question-flow{gap:1.65rem}.listening-part-section,.runner-listening [id^=q-]{scroll-margin-top:184px}.runner-listening .runner-question-section{gap:.72rem}.runner-listening .runner-question-section>h2{font-size:1.28rem}.runner-listening .question,.runner-listening .source-question-group{border-radius:15px;padding:1rem}.runner-listening .question-text p{font-size:.9rem}.runner-listening .option-list,.runner-listening .gap-answer,.runner-listening .multi-gap-controls{width:100%;margin-left:0}.runner-listening .question-rich-html{margin-left:0}.runner-listening .option-list label{min-height:48px;font-size:.8rem}.runner-listening .matching-select-row{grid-template-columns:1fr;gap:.62rem;padding:.8rem}.runner-listening .matching-select-row>.input{min-height:46px}.runner-listening .shared-control{max-width:100%;margin:.25rem 0}.runner-listening .shared-control>.input,.runner-listening .shared-control>select.input{max-width:calc(100vw - 95px)}}@media (max-width:430px){.runner-listening .runner-title small{display:none}.runner-listening .timer{font-size:.67rem}.runner-listening .runner-bar>.btn{font-size:.6rem}.audio-identity{display:none}.audio-controls{grid-template-columns:minmax(88px,105px) minmax(0,1fr)}.listening-content-head{gap:.6rem}.listening-answer-count{text-align:center;border-radius:12px;max-width:96px;line-height:1.3}}.writing-ai-section{gap:1.5rem;margin-top:2.5rem;display:grid}.writing-ai-hero{text-align:center;padding:2.5rem 1.5rem}.writing-ai-hero .label{color:var(--rose);margin-bottom:.8rem;display:inline-block}.ai-band-orb{flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;margin:1rem auto 1.25rem;display:flex}.ai-disclaimer{color:var(--ink-mid);max-width:52ch;margin:0 auto;font-size:.76rem;font-style:italic;line-height:1.55}.ai-criteria-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}@media (max-width:768px){.ai-criteria-grid{grid-template-columns:1fr}}.ai-criterion-card{flex-direction:column;gap:.8rem;padding:1.5rem;display:flex}.ai-criterion-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:baseline;padding-bottom:.6rem;display:flex}.ai-criterion-header h3{margin:0;font-size:1.15rem}.ai-criterion-score{color:var(--rose);font-size:1.6rem;font-family:var(--font-mono)}.ai-criterion-justification{color:var(--ink-mid);margin:0;font-size:.86rem;line-height:1.65}.ai-evidence-box{background:var(--parchment);border-left:2px solid var(--line);border-radius:10px;padding:.75rem 1rem;font-size:.78rem}.ai-evidence-box ul{margin:.4rem 0 0;padding-left:1.2rem}.ai-evidence-title{color:var(--ink);font-weight:700}.ai-why-not-higher{border-left:3px solid var(--rose);background:#c0637a0f;border-radius:10px;padding:.75rem 1rem}.ai-why-not-higher strong{text-transform:uppercase;letter-spacing:.05em;color:var(--rose);margin-bottom:.25rem;font-size:.72rem;display:block}.ai-why-not-higher p{color:var(--ink);margin:0;font-size:.82rem;line-height:1.55}.ai-examiner-card{padding:1.8rem}.ai-examiner-summary-text{color:var(--ink);margin-bottom:1.2rem;font-size:.92rem;line-height:1.7}.ai-strengths-limiters-grid{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (max-width:600px){.ai-strengths-limiters-grid{grid-template-columns:1fr}}.ai-strengths-box h4{color:var(--ok);margin:0 0 .5rem;font-size:.88rem}.ai-limiters-box h4{color:var(--rose);margin:0 0 .5rem;font-size:.88rem}.ai-strengths-box ul,.ai-limiters-box ul{color:var(--ink-mid);margin:0;padding-left:1.2rem;font-size:.84rem;line-height:1.6}.ai-task-specific-card{padding:1.8rem}.ai-badge-row{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.ai-chip-ok{background:var(--ok-tint);color:var(--ok);border-radius:100px;padding:.25rem .65rem;font-size:.75rem;font-weight:600}.ai-chip-warn{background:var(--err-tint);color:var(--err);border-radius:100px;padding:.25rem .65rem;font-size:.75rem;font-weight:600}.ai-factual-box{margin-top:1rem}.ai-factual-list{gap:.75rem;margin-top:.5rem;display:grid}.ai-factual-item{background:var(--parchment);border-radius:10px;gap:.75rem;padding:.75rem;display:flex}.ai-severity-badge{text-transform:uppercase;border-radius:6px;height:max-content;padding:.2rem .45rem;font-size:.62rem;font-weight:700}.severity-minor{color:var(--ok);background:#4e8c6a26}.severity-moderate{color:var(--copper,#b07a5a);background:#d98da033}.severity-major{background:var(--err-tint);color:var(--err)}.ai-errors-card{padding:1.8rem}.ai-errors-list{gap:1rem;margin-top:1rem;display:grid}.ai-error-row{background:var(--parchment);border:1px solid var(--line-soft);border-radius:12px;padding:1rem}.ai-error-badges{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem;display:flex}.ai-diff-pair{flex-direction:column;gap:.35rem;margin-bottom:.5rem;font-size:.88rem;display:flex}.ai-original-text{color:var(--err);background:#c0503f14;border-radius:4px;padding:.2rem .4rem;text-decoration:line-through}.ai-correction-text{color:var(--ok);background:#4e8c6a1a;border-radius:4px;padding:.2rem .4rem;font-weight:600;text-decoration:none}.ai-error-explain{color:var(--ink-mid);margin:0;font-size:.8rem;line-height:1.5}.ai-patterns-card{padding:1.8rem}.ai-patterns-list{gap:.85rem;margin-top:1rem;display:grid}.ai-pattern-item{background:var(--parchment);border-radius:10px;padding:.85rem}.ai-pattern-header{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.ai-priority-badge{text-transform:uppercase;font-size:.65rem;font-weight:700}.priority-high{color:var(--err)}.priority-medium{color:var(--copper,#b07a5a)}.priority-low{color:var(--ink-mid)}.ai-pattern-examples{flex-wrap:wrap;gap:.4rem;margin-top:.4rem;display:flex}.ai-pattern-examples code{background:var(--surface);border:1px solid var(--line-soft);border-radius:4px;padding:.15rem .4rem;font-size:.75rem}.ai-actions-card{padding:1.8rem}.ai-action-list{gap:.75rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.ai-action-item{background:var(--parchment);border-radius:10px;align-items:flex-start;gap:.8rem;padding:.85rem;display:flex}.ai-action-num{background:var(--rose);color:#fff;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:700;display:grid}.ai-action-item strong{color:var(--ink);margin-bottom:.2rem;font-size:.88rem;display:block}.ai-action-item p{color:var(--ink-mid);margin:0;font-size:.8rem}.ai-corrected-card{padding:1.8rem}.ai-corrected-desc{color:var(--ink-lo);margin-bottom:1rem;font-size:.8rem}.ai-corrected-text{color:var(--ink);background:var(--parchment);border-left:3px solid var(--rose);border-radius:12px;padding:1.25rem 1.5rem;font-family:Georgia,serif;font-size:.96rem;line-height:1.85}.ai-corrected-text p{margin:0 0 1rem}.ai-corrected-text p:last-child{margin-bottom:0}.writing-ai-loading{text-align:center;max-width:600px;margin:2rem auto;padding:3.5rem 1.5rem}.ai-loading-pulse{border:3px solid var(--line-soft);border-top-color:var(--rose);border-radius:50%;width:48px;height:48px;margin:0 auto 1.5rem;animation:1s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-loading-desc{color:var(--ink-mid);margin-top:.5rem;font-size:.85rem}.writing-ai-failed{text-align:center;max-width:550px;margin:2rem auto;padding:2.5rem 1.5rem}.ai-status-icon{margin-bottom:.8rem;font-size:2.5rem;display:block}.teacher-grading-card{border-left:4px solid var(--copper,#b07a5a);margin:2rem 0;padding:1.8rem}.reading-inline-prompt{white-space:pre-wrap;overflow-wrap:break-word;font-size:.9rem;line-height:2}.reading-inline-prompt .reading-inline-control{white-space:normal;max-width:100%}.reading-inline-control>.input{min-width:0;max-width:calc(100% - 32px);min-height:44px}.reading-inline-control>b{flex-shrink:0}.reading-inline-control>.input:focus-visible{outline:2px solid var(--rose);outline-offset:2px}.reading-inline-prompt table{table-layout:fixed;width:100%}.reading-inline-prompt td,.reading-inline-prompt th{overflow-wrap:anywhere}.reading-matching{min-width:0;container:reading-matching/inline-size}.reading-matching .matching-table-scroll{border:0;margin:0;overflow:auto visible}.reading-matching table.match-grid{width:100%;min-width:0;display:block}.reading-matching table.match-grid thead{display:none}.reading-matching table.match-grid tbody{flex-direction:column;gap:12px;width:100%;display:flex}.reading-matching table.match-grid tr{border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:10px 6px;padding:12px 10px;display:flex}.reading-matching table.match-grid th.match-statement{border:0;border-bottom:1px dashed var(--line-soft);z-index:auto;width:100%;min-width:0;max-width:100%;color:var(--ink);text-align:left;box-sizing:border-box;overflow-wrap:anywhere;background:0 0;align-items:flex-start;gap:10px;margin-bottom:2px;padding:0 0 10px;font-weight:500;display:flex;position:static}.reading-matching table.match-grid th.match-statement .heading-number{flex-shrink:0;margin-top:2px}.reading-matching table.match-grid td{background:0 0;border:0;flex:1 1 0;min-width:36px;max-width:54px;padding:0;display:inline-flex}.reading-match-choice{border-radius:var(--r-sm);border:1.5px solid var(--line-soft);background:var(--glass-b);width:100%;height:44px;min-height:44px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;justify-content:center;align-items:center;padding:0;font-size:.9rem;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .1s;display:inline-flex;position:relative}.reading-match-choice:hover{border-color:var(--rim-hot);background:color-mix(in srgb,var(--surface) 88%,var(--rose));transform:translateY(-1px)}.reading-match-choice:active{transform:translateY(0)}.reading-match-choice.selected{background:linear-gradient(135deg,var(--rose),var(--blush-deep));color:#fff;box-shadow:var(--shadow-sm);border-color:#0000;font-weight:700}.reading-match-choice:has(:checked){background:linear-gradient(135deg,var(--rose),var(--blush-deep));color:#fff;box-shadow:var(--shadow-sm);border-color:#0000;font-weight:700}.reading-match-choice:focus-within{outline:2px solid var(--rose);outline-offset:2px}.reading-match-choice:has(:focus-visible){outline:2px solid var(--rose);outline-offset:2px}.reading-matching table.match-grid input[type=radio]{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0}.reading-match-choice>span{pointer-events:none;width:100%;height:100%;font-family:var(--font-sans);justify-content:center;align-items:center;line-height:1;display:inline-flex}@container reading-matching (min-width:600px){.reading-matching-matrix table.match-grid{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;display:table}.reading-matching-matrix table.match-grid thead{display:table-header-group}.reading-matching-matrix table.match-grid tbody{display:table-row-group}.reading-matching-matrix table.match-grid tr{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:table-row}.reading-matching-matrix table.match-grid thead th{border-bottom:1.5px solid var(--line-soft);color:var(--ink-mid);font-family:var(--font-mono),monospace;letter-spacing:.05em;text-align:center;vertical-align:middle;background:0 0;padding:10px 0;font-size:.84rem;font-weight:700}.reading-matching-matrix table.match-grid thead th.statement-column{border-bottom:1.5px solid var(--line-soft);background:0 0;width:auto;min-width:280px;padding:0}.reading-matching-matrix table.match-grid thead th:not(.statement-column){width:clamp(44px,6vw,56px);min-width:44px;max-width:56px}.reading-matching-matrix table.match-grid th.match-statement{border:0;border-bottom:1px solid var(--line-soft);z-index:auto;width:auto;min-width:280px;max-width:none;color:var(--ink);text-align:left;vertical-align:middle;box-sizing:border-box;background:0 0;margin:0;padding:12px 14px 12px 0;font-weight:500;display:table-cell;position:static}.reading-matching-matrix table.match-grid th.match-statement .heading-number{vertical-align:middle;margin:0 10px 0 0;display:inline-flex}.reading-matching-matrix table.match-grid td{border:0;border-bottom:1px solid var(--line-soft);text-align:center;vertical-align:middle;background:0 0;width:clamp(44px,6vw,56px);min-width:44px;max-width:56px;padding:8px 0;display:table-cell}.reading-matching-matrix table.match-grid tr:nth-child(2n) td,.reading-matching-matrix table.match-grid tr:nth-child(2n) th.match-statement{background:0 0}.reading-matching-matrix table.match-grid tr:last-child th.match-statement,.reading-matching-matrix table.match-grid tr:last-child td{border-bottom:0}.reading-matching-matrix table.match-grid tbody tr:hover td,.reading-matching-matrix table.match-grid tbody tr:hover th.match-statement{background:color-mix(in srgb,var(--surface) 97%,var(--rose) 3%)}.reading-matching-matrix .reading-match-choice{border-radius:var(--r-sm);border:1.5px solid var(--line-soft);background:var(--glass-b);width:40px;min-width:40px;height:40px;min-height:40px;margin:auto;display:inline-flex;transform:none}.reading-matching-matrix .reading-match-choice:hover{border-color:var(--rim-hot);background:color-mix(in srgb,var(--surface) 90%,var(--rose));transform:none}.reading-matching-matrix .reading-match-choice.selected{background:color-mix(in srgb,var(--rose) 14%,var(--surface));border-color:var(--rose);box-shadow:0 0 0 1px var(--rose);color:var(--ink)}.reading-matching-matrix .reading-match-choice:has(:checked){background:color-mix(in srgb,var(--rose) 14%,var(--surface));border-color:var(--rose);box-shadow:0 0 0 1px var(--rose);color:var(--ink)}.reading-matching-matrix .reading-match-choice>span{display:none}.reading-matching-matrix table.match-grid input[type=radio]{opacity:1;width:18px;height:18px;accent-color:var(--rose);cursor:pointer;margin:0;position:static}}
