*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}h1,h2,h3,p{margin-top:0}img{max-width:100%}:root{--bg:#f5f6f0;--surface:#fff;--soft:#edf1e9;--ink:#24352b;--muted:#6e7b71;--line:#dce4d7;--accent:#23664f;--accent-bg:#e1eddf;--on-accent:#fff;--hero:#e7eedb;--good:#26734b;--good-bg:#e2f2e6;--bad:#ae4141;--bad-bg:#fce8e5;--partial:#996615;--partial-bg:#fff1cc;--flag:#d7af28;--zoom:1;color-scheme:light}:root[data-palette=ocean]{--accent:#276779;--accent-bg:#e1eff1;--hero:#e1eced}:root[data-palette=clay]{--accent:#91513e;--accent-bg:#f4e6dd;--hero:#f1e4d8}:root[data-theme=dark]{--bg:#131d18;--surface:#1c2a22;--soft:#25352b;--ink:#e6eee5;--muted:#abb9ac;--line:#364a3a;--accent:#b2d5a7;--accent-bg:#304932;--on-accent:#1c3120;--hero:#2a402b;--good:#a0dfb1;--good-bg:#254a32;--bad:#f3aaa0;--bad-bg:#4a2f2c;--partial:#edd18b;--partial-bg:#4b3e26;color-scheme:dark}:root[data-theme=dark][data-palette=ocean]{--accent:#a4d0da;--accent-bg:#29434a;--hero:#253e44}:root[data-theme=dark][data-palette=clay]{--accent:#dfb49e;--accent-bg:#48372e;--hero:#403329}:root[data-theme=paper]{--bg:#f4efe4;--surface:#fcf8ef;--soft:#ece6d8;--ink:#322d24;--muted:#756c5c;--line:#d9cfbb;--accent:#565f49;--accent-bg:#e4e4d4;--hero:#e9e4d1}:root[data-theme=paper][data-palette=ocean]{--accent:#415f64;--accent-bg:#e1e6dd;--hero:#e0e7dc}:root[data-theme=paper][data-palette=clay]{--accent:#82553d;--accent-bg:#ecdfcf;--hero:#eee0ca}body{font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg);color:var(--ink)}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:10px 14px;font-weight:600;font-size:12px;text-decoration:none;line-height:1.4}button:hover,.button:hover{border-color:var(--accent);background:var(--soft)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent);filter:brightness(.94)}.ghost{background:transparent;border-color:transparent}.danger{color:var(--bad)}input,select,textarea{border:1px solid var(--line);border-radius:9px;padding:11px 12px;background:var(--surface);color:var(--ink);min-width:0}input[type=checkbox]{accent-color:var(--accent);width:17px;height:17px}textarea{width:100%;resize:vertical;font-size:13px}h1,h2{line-height:1.13;letter-spacing:-.04em}h1{font-size:42px}h2{font-size:25px}h3{font-size:15px;line-height:1.4}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.row{display:flex;align-items:center;gap:12px}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.spacer{flex:1}.tag{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:650;border-radius:6px;background:var(--soft);color:var(--muted)}.tag.accent{background:var(--accent-bg);color:var(--accent)}.ico{width:17px;height:17px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-button{width:36px;height:36px;padding:8px}.selected-control{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.hidden{display:none!important}.masthead{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 36px;background:var(--surface)}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:700;letter-spacing:-1px;line-height:1.1}.brand>span>small{display:block;font-size:7px;font-weight:600;letter-spacing:.16em;margin-top:6px;color:var(--muted)}.course-name{font-size:12px;letter-spacing:0;font-weight:550;border-left:1px solid var(--line);padding-left:22px;margin-left:15px;line-height:1.45}.brand .course-name small{font-size:10px;letter-spacing:0;font-weight:400;margin-top:1px}.header-actions{display:flex;gap:8px}.header-actions button{background:transparent;border-color:transparent}.skip{position:fixed;top:-80px;left:10px;z-index:100;background:var(--surface);padding:12px}.skip:focus{top:8px}#main{max-width:1240px;margin:auto;padding:42px 36px 32px}.loading{min-height:65vh;display:grid;place-content:center;text-align:center}.loading>span{font-size:36px;color:var(--accent)}.loading p{color:var(--muted);font-size:13px;margin-top:16px}.setup-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}.intro{padding-top:18px}.intro h1{font-size:54px;max-width:410px;margin-bottom:24px}.intro>p{font-size:14px;color:var(--muted);max-width:360px;margin-bottom:26px}.intro-art{background:var(--hero);border:1px solid var(--line);border-radius:18px;padding:28px;position:relative;overflow:hidden;min-height:155px;display:flex;flex-direction:column;justify-content:center;margin-bottom:22px}.intro-art strong{font-size:44px;letter-spacing:-2px;font-weight:500;line-height:1.1;z-index:1}.intro-art small{font-size:11px;color:var(--muted);margin-top:8px;z-index:1}.circles{position:absolute;right:-10px;top:20px;width:170px;height:170px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:50%}.circles:before,.circles:after{content:'';position:absolute;inset:20px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:50%}.circles:after{inset:40px}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.quick-actions button{font-size:11px}.card{background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:26px}.card h2{margin-bottom:6px}.card>p{color:var(--muted);font-size:12px;margin-bottom:22px}.form-label,label.field{font-size:12px;font-weight:650;display:block;margin-bottom:9px}.field input{display:block;width:100%;margin-top:8px;font-weight:450}.field-row{display:flex;gap:14px}.field-row>*{flex:1}.form-section{margin-bottom:22px}.segmented{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--soft);width:fit-content;gap:3px}.segmented button{border:0;background:transparent;padding:8px 15px}.segmented button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px #142b1110}.presets{display:flex;gap:7px;margin-top:9px}.presets button{font-size:10px;padding:5px 10px;font-weight:500}.checkbox-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:500;margin-bottom:10px}.setup-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:22px}.notice{padding:14px 16px;border:1px solid var(--line);border-radius:11px;background:var(--soft);font-size:12px;margin-bottom:20px;line-height:1.8}.resume-card{background:var(--hero);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:22px}.resume-card h3{margin-bottom:4px}.resume-card p{font-size:12px;color:var(--muted);margin-bottom:15px}.footer{border-top:1px solid var(--line);margin-top:30px;padding-top:18px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:15px}.footer button{font-size:10px;border:0;background:none;padding:0;color:var(--accent)}.recent{margin-top:24px}.recent button{display:flex;width:100%;justify-content:space-between;text-align:left;margin:8px 0;font-size:11px}.recent button small{color:var(--muted)}body.in-session #main{max-width:1600px;padding:18px 26px 22px;height:calc(100dvh - 82px);display:flex;flex-direction:column;min-height:460px}.session-bar{display:flex;gap:9px;align-items:center;margin-bottom:16px;flex-shrink:0}.session-name{margin-right:auto}.session-name strong{display:block;font-size:13px}.session-name small{font-size:10px;color:var(--muted)}.timer{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:8px 11px;display:flex;gap:7px;align-items:center;font-size:12px;font-variant-numeric:tabular-nums}.zoom{display:flex;align-items:center}.zoom button{height:32px;padding:5px 9px;border-radius:0}.zoom button:first-child{border-radius:7px 0 0 7px}.zoom button:last-child{border-radius:0 7px 7px 0}.zoom span{height:32px;font-size:10px;padding:7px 5px;border-block:1px solid var(--line);background:var(--surface)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;min-height:0;flex:1}.question-panel{display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}.question-scroll{flex:1;min-height:0;overflow:auto;scrollbar-gutter:stable;padding:28px 32px;overscroll-behavior:contain}.question-top{display:flex;align-items:center;gap:7px;margin-bottom:24px}.question-title{font-size:calc(21px * var(--zoom));line-height:1.7;font-weight:550;letter-spacing:-.015em;margin-bottom:26px}.options{display:flex;flex-direction:column;gap:11px}.option{padding:14px 16px;display:flex;align-items:flex-start;justify-content:flex-start;gap:13px;text-align:left;font-size:calc(14px * var(--zoom));line-height:1.65;font-weight:450;width:100%;border-radius:11px}.option .letter{min-width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;font-size:11px;font-weight:700;line-height:1}.option.chosen{background:var(--accent-bg);border-color:var(--accent)}.option.chosen .letter{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.option.correct{background:var(--good-bg);border-color:var(--good)}.option.wrong{background:var(--bad-bg);border-color:var(--bad)}.option.correct .letter{color:var(--good);border-color:var(--good);background:transparent}.option.wrong .letter{color:var(--bad);border-color:var(--bad);background:transparent}.selection-label{font-size:10px;font-weight:700;display:block;margin-top:3px}.option.correct .selection-label{color:var(--good)}.option.wrong .selection-label{color:var(--bad)}.confidence{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-top:20px;margin-top:24px;border-top:1px solid var(--line)}.confidence>span{color:var(--muted);font-size:11px;margin-right:5px}.confidence button{border-radius:22px;padding:7px 12px;font-size:10px}.feedback{padding:20px;border-radius:12px;background:var(--soft);margin-top:24px}.feedback.correct{background:var(--good-bg)}.feedback.incorrect{background:var(--bad-bg)}.feedback.partial{background:var(--partial-bg)}.feedback h3{margin-bottom:12px}.feedback p{font-size:calc(13px * var(--zoom));line-height:1.85;margin-bottom:12px}.feedback .source{font-size:10px;color:var(--muted);margin-top:16px}.feedback details{margin-top:12px;font-size:11px}.feedback summary{cursor:pointer;color:var(--muted)}.notes{margin-top:22px}.notes summary{cursor:pointer;color:var(--muted);font-size:11px}.notes textarea{margin-top:10px;min-height:85px}.question-bottom{flex-shrink:0;display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:14px 20px max(14px,env(safe-area-inset-bottom));background:var(--surface)}.question-bottom button{font-size:11px}.question-bottom .position{font-size:10px;color:var(--muted)}.workspace-map{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:19px;overflow:auto;min-height:0}.map-heading{margin-bottom:14px}.map-heading h3{margin-bottom:3px}.map-heading p{margin:0;font-size:10px;color:var(--muted)}.map-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0}.map-cell{padding:0;aspect-ratio:1;font-size:10px;border-radius:7px;position:relative;min-height:32px}.map-cell.current{outline:2px solid var(--accent);outline-offset:2px;font-weight:750}.map-cell.answered,.map-cell.correct{background:var(--good-bg);border-color:var(--good);color:var(--good)}.map-cell.unanswered{background:var(--surface);border:1px dashed var(--bad);color:var(--bad)}.exam .map-cell.unanswered,.map-cell.incorrect{background:var(--bad-bg);border:1px solid var(--bad);color:var(--bad)}.map-cell.partial{background:var(--partial-bg);border-color:var(--partial);color:var(--partial)}.map-cell.selected{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.map-cell.flagged:after{content:'';position:absolute;right:-3px;top:-4px;width:9px;height:9px;background:var(--flag);border:1px solid var(--surface);border-radius:2px}.map-pager{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);gap:4px}.map-pager button{padding:5px;width:26px;height:26px}.map-legend{display:grid;grid-template-columns:1fr 1fr;font-size:9px;gap:8px;color:var(--muted)}.map-legend>span{display:flex;gap:5px;align-items:center}.map-legend i{width:8px;height:8px;border-radius:2px;background:var(--soft);border:1px solid var(--line)}.map-legend i.green{background:var(--good-bg);border-color:var(--good)}.map-legend i.red{background:var(--bad-bg);border-color:var(--bad)}.map-legend i.blank{background:var(--surface);border-color:var(--bad);border-style:dashed}.map-legend i.amber{background:var(--partial-bg);border-color:var(--partial)}.map-legend i.yellow{background:var(--flag)}.map-legend i.accent{background:var(--accent-bg);border-color:var(--accent)}.map-legend i.current{outline:1px solid var(--accent);outline-offset:2px}.map-footer{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}.map-footer p{font-size:10px;color:var(--muted);margin-bottom:12px}.map-footer button{width:100%}.jump{display:flex;gap:7px;margin-top:12px;align-items:center}.jump label{font-size:10px;color:var(--muted)}.jump input{padding:7px;width:68px;font-size:11px}.jump button{padding:7px}.mobile-map{display:none}.saved-on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.flag-on{background:var(--partial-bg);border-color:var(--flag);color:var(--partial)}body.focus .course-name,body.focus .masthead .brand,body.focus .masthead #back-recall{display:none}body.focus .masthead{height:56px;justify-content:flex-end}body.focus.in-session #main{height:calc(100dvh - 56px)}.results-hero{border:1px solid var(--line);border-radius:18px;background:var(--hero);padding:30px;display:flex;gap:32px;align-items:center;margin-bottom:22px}.result-score{font-size:52px;line-height:1.1;letter-spacing:-2px}.result-score small{font-size:24px;color:var(--muted)}.results-hero h1{font-size:28px;margin-bottom:9px}.results-hero p{font-size:12px;color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.stat small{font-size:10px;color:var(--muted)}.stat strong{display:block;font-size:26px;font-weight:600;letter-spacing:-1px}.results-list{margin-top:26px}.results-item{border:1px solid var(--line);border-radius:12px;padding:17px 20px;background:var(--surface);margin-bottom:10px}.results-item summary{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:12px}.status-correct{color:var(--good);background:var(--good-bg)}.status-incorrect,.status-unanswered{color:var(--bad);background:var(--bad-bg)}.status-partial{color:var(--partial);background:var(--partial-bg)}.result-detail{padding-top:20px}.result-detail .question-title{font-size:18px}.result-detail .option{font-size:13px;cursor:default}.result-detail .feedback p{font-size:13px}.pagination{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:20px}.review-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.review-filter label{font-size:12px;color:var(--muted)}.review-filter select{font-size:12px}dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:17px;box-shadow:0 25px 90px #071b1840;padding:27px;width:min(92vw,530px);max-height:88dvh}dialog::backdrop{background:#0d2119b3;backdrop-filter:blur(4px)}dialog h2{font-size:24px;margin-bottom:15px;padding-right:30px}dialog p{font-size:12px;color:var(--muted);line-height:1.85}.dialog-close{position:absolute;right:14px;top:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.viewer{width:min(94vw,1100px)}.viewer .question-title{margin-top:25px;font-size:calc(25px * var(--zoom))}.viewer .option{font-size:calc(18px * var(--zoom))}.pref-row{padding:16px 0;border-bottom:1px solid var(--line)}.pref-row strong{font-size:12px}.pref-row p{font-size:11px;margin:4px 0 10px}.saved-list{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.divider{height:1px;background:var(--line);margin:20px 0}.storage-message{padding:13px 24px;background:var(--partial-bg);color:var(--partial);font-size:12px;border-bottom:1px solid var(--flag)}#toasts{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:100;max-width:calc(100vw - 32px);display:flex;flex-direction:column;gap:8px}.toast{padding:12px 17px;background:var(--ink);color:var(--surface);border:1px solid var(--line);border-radius:10px;font-size:12px;box-shadow:0 4px 20px #001b1515}.toast.error{background:var(--bad-bg);color:var(--bad)}.mobile-only{display:none}.source-note{font-size:11px;color:var(--muted);line-height:1.85}.loading-small{padding:40px 20px;text-align:center;color:var(--muted);font-size:13px}.error-box{border:1px solid var(--bad);background:var(--bad-bg);border-radius:12px;padding:24px}.error-box h3{color:var(--bad)}
@media(min-width:1500px){.setup-layout{gap:70px}.intro h1{font-size:62px}.question-scroll{padding:34px 44px}.workspace{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:1000px){.setup-layout{gap:28px}.intro h1{font-size:45px}.masthead{padding-inline:25px}#main{padding-inline:25px}.workspace{grid-template-columns:minmax(0,1fr) 230px;gap:13px}.question-scroll{padding:24px}.workspace-map{padding:15px}.map-grid{gap:6px}.question-title{font-size:calc(19px * var(--zoom))}.desktop-text{display:none}.session-bar .zoom{margin-left:0}.question-bottom{padding-inline:16px}}
@media(max-width:760px){.masthead{height:70px;padding:0 18px}.course-name{display:none}.header-actions{gap:3px}.header-actions button,.header-actions .button{font-size:10px;padding:8px 10px}.brand{font-size:23px}.brand img{width:31px;height:31px}.brand>span>small{font-size:6px}.setup-layout{grid-template-columns:1fr;gap:24px}.intro{padding-top:0}.intro h1{font-size:44px;max-width:none;margin-bottom:16px}.intro>p{max-width:none;margin-bottom:22px}.intro-art{min-height:125px;margin-bottom:18px}.intro-art strong{font-size:37px}.intro .quick-actions{margin-top:12px}.intro .setup-note{display:none}#main{padding:26px 20px}.footer{flex-direction:column;gap:5px}.card{padding:22px}body.in-session #main{height:calc(100dvh - 70px);padding:13px;min-height:430px}.workspace{grid-template-columns:1fr}.workspace-map{display:none}.mobile-map{display:inline-flex}.session-bar{gap:6px;margin-bottom:12px}.session-bar button{font-size:11px;padding:8px}.session-name strong{font-size:12px}.session-name small{font-size:9px}.session-bar .fullscreen{display:none}.timer{font-size:10px;padding:8px;gap:5px}.timer .ico{width:14px;height:14px}.question-top{margin-bottom:20px;gap:5px}.question-top .icon-button{width:34px;height:34px}.question-bottom{padding:12px 14px max(12px,env(safe-area-inset-bottom));gap:7px}.question-scroll{padding:22px}.question-title{font-size:calc(18px * var(--zoom))}.option{font-size:calc(14px * var(--zoom))}.map-mobile-content{padding-top:15px}.map-mobile-content .map-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.map-mobile-content .map-cell{min-height:39px}.map-mobile-content .map-heading p{font-size:11px}.map-mobile-content .map-legend{font-size:10px}.map-mobile-content .map-footer{margin-top:18px}.results-hero{padding:26px;gap:25px}.results-hero h1{font-size:25px}.result-score{font-size:45px}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:23px}.results-item{padding:15px}.viewer .question-title{font-size:calc(21px * var(--zoom))}.viewer .option{font-size:calc(16px * var(--zoom))}}
@media(max-width:440px){.masthead{padding-inline:14px}.brand{gap:7px;font-size:21px}.header-actions #tools{font-size:0;padding:8px}.header-actions #tools:after{content:'⋯';font-size:19px;line-height:1}.header-actions #back-recall{font-size:10px;padding:8px}.header-actions #theme{padding:8px 5px;font-size:10px}#main{padding:24px 16px}.intro h1{font-size:39px;max-width:320px}.intro-art{padding:23px}.intro-art strong{font-size:35px}.circles{right:-25px}.card{padding:22px 18px}.field-row{gap:10px}.form-section{margin-bottom:20px}.session-name{max-width:135px}.session-name small{font-size:8px}.session-name strong{font-size:11px}.session-bar .exit-text,.session-bar .focus-text,.session-bar .map-text{display:none}.session-bar button{padding:7px}.session-bar .session-exit{width:34px;height:34px}.timer{padding:7px;font-size:10px}.session-bar{gap:5px}.question-scroll{padding:20px 16px}.question-top .source-tag{display:none}.question-title{font-size:calc(17px * var(--zoom));margin-bottom:22px}.option{gap:10px;padding:12px}.option .letter{min-width:25px;height:25px;font-size:10px}.question-bottom{padding-inline:10px;gap:5px}.question-bottom button{font-size:10px;padding:10px}.question-bottom .position{display:none}.confidence>span{flex-basis:100%;margin-bottom:3px}.confidence button{font-size:10px}.results-hero{display:block;padding:24px}.results-hero>div:first-child{margin-bottom:20px}.stats{grid-template-columns:repeat(2,1fr)}.results-item summary{font-size:11px;gap:7px}.results-item summary .tag{font-size:9px}.results-item summary .source-tag{display:none}dialog{padding:24px 21px}.dialog-actions{flex-wrap:wrap}.dialog-actions button{flex:1}.saved-list{grid-template-columns:repeat(4,1fr)}.mobile-only{display:inline-flex}.source-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Fixed 50-question set library */
.sets-intro{margin-bottom:28px}.sets-intro h1{font-size:39px;margin-bottom:14px}.sets-intro>p{font-size:13px;max-width:700px;margin-bottom:0}.sets-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:32px}.set-library{min-width:0}.set-library-heading{margin-bottom:18px}.set-library-heading h2{margin-bottom:7px;font-size:25px}.set-session-card{position:sticky;top:24px}.set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.set-tile{padding:16px 14px;min-height:122px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;text-align:left;background:var(--surface);border-radius:12px;font-size:13px}.set-tile strong{font-size:14px;font-weight:650}.set-tile .ico{width:14px;height:14px}.set-tile.active-set{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent)}.set-range{font-size:11px;color:var(--muted)}.set-status{font-size:9px;color:var(--muted);margin-top:1px}.set-meter{width:100%;height:3px;border-radius:5px;overflow:hidden;background:var(--line);margin:7px 0 2px}.set-meter i{display:block;height:100%;background:var(--accent)}input[readonly]{background:var(--soft);color:var(--muted)}
@media(min-width:1450px){.sets-layout{gap:44px}.set-grid{gap:13px}.set-tile{padding:19px 16px}.sets-intro h1{font-size:44px}}
@media(max-width:1000px){.sets-layout{grid-template-columns:minmax(0,1fr) minmax(310px,.9fr);gap:23px}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sets-intro h1{font-size:34px}.set-tile{min-height:110px}}
@media(max-width:760px){.sets-layout{grid-template-columns:1fr;gap:28px}.set-session-card{position:static;order:0}.set-library{order:1}.set-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sets-intro h1{font-size:33px;max-width:500px}.set-tile{padding:14px 11px;min-height:111px}.set-tile strong{font-size:12px}.set-range{font-size:10px}.set-status{font-size:9px}}
@media(max-width:380px){.set-grid{gap:8px}.set-tile{padding:12px 9px}.set-tile strong{font-size:11px}.set-status{font-size:8px}}
@media(min-width:761px){.set-session-card{max-height:calc(100dvh - 48px);overflow:auto;scrollbar-gutter:stable}}

/* Dedicated Recall Extra workspace. */
:root{--bg:#f7f8f5;--surface:#fff;--soft:#f0f3ee;--ink:#20332d;--muted:#6b7971;--line:#e0e7df;--accent:#245d45;--accent-bg:#e6efdf;--hero:#ecf1e4;--rail:#163c2e;--lime:#d9edaa}
:root[data-palette=ocean]{--accent:#246576;--accent-bg:#e1eef0;--hero:#e5eff0;--rail:#163c47;--lime:#c0e7e9}
:root[data-palette=clay]{--accent:#975440;--accent-bg:#f6e9e1;--hero:#f4ece2;--rail:#553c31;--lime:#efd6b4}
:root[data-theme=dark]{--bg:#14201b;--surface:#1d2b24;--soft:#26362c;--ink:#e6eee6;--muted:#afbcaf;--line:#37483c;--accent:#c2dda9;--accent-bg:#344b37;--hero:#2b402e;--rail:#102b20}
:root[data-theme=dark][data-palette=ocean]{--accent:#add5df;--accent-bg:#2d4850;--hero:#2b4148;--rail:#112e36}
:root[data-theme=dark][data-palette=clay]{--accent:#e6b89f;--accent-bg:#4a382e;--hero:#44372a;--rail:#35251f}
:root[data-theme=paper]{--bg:#f3eee2;--surface:#fcf8ee;--soft:#eee8da;--ink:#36372c;--muted:#746f60;--line:#ddd5c2;--accent:#556044;--accent-bg:#e6e5d4;--hero:#e9e8d7;--rail:#363d2d}
button,.button{min-height:40px;font-size:12px}.masthead{height:76px;padding:0 max(30px,calc((100vw - 1240px)/2));gap:18px}.brand{font-size:27px;font-weight:680}.brand img{background:var(--soft);padding:5px;border-radius:10px;width:34px;height:34px}.brand>span>small{font-size:6px;letter-spacing:.15em}.course-name{font-size:11px;padding-left:20px;margin-left:13px}.brand .course-name small{font-size:9px}.header-actions #back-recall{border:0;background:var(--soft);color:var(--accent);font-size:10px}.header-actions #theme,.header-actions #tools{font-size:10px}.header-actions button:hover{background:var(--soft)}#main{max-width:1240px;padding:30px 30px 34px}.practice-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:35px;align-items:center;padding:32px 38px;background:var(--rail);color:#f1f4e9;border-radius:18px;margin-bottom:30px;position:relative;overflow:hidden}.practice-hero .eyebrow{color:#c2d0bd;font-size:8px;letter-spacing:.16em;margin-bottom:15px}.practice-hero h1{font-size:53px;font-weight:550;line-height:1.02;letter-spacing:-.05em;margin-bottom:18px}.practice-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--lime)}.practice-hero p{font-size:11px;line-height:1.8;color:#c4d1c3;margin:0 0 19px}.practice-hero-tags{display:flex;gap:7px;flex-wrap:wrap}.practice-hero-tags span{font-size:8px;border:1px solid #ffffff26;border-radius:20px;padding:4px 9px;color:#cdd9c9}.practice-overview{padding:22px 25px;border:1px solid #ffffff29;border-radius:13px;background:#ffffff05}.practice-overview .eyebrow{font-size:7px;display:block;margin-bottom:17px}.practice-overview>strong{font-size:49px;line-height:1;letter-spacing:-.06em;font-weight:500}.practice-overview>strong>span{font-size:22px;color:#acbea6;letter-spacing:-.03em}.practice-overview>p{font-size:10px;margin:7px 0 18px}.overview-track{height:4px;background:#ffffff1b;overflow:hidden;border-radius:4px;margin-bottom:11px}.overview-track i{height:100%;display:block;background:var(--lime)}.practice-overview .row{font-size:8px;color:#d6dfd0}.practice-overview>small{font-size:7px;color:#aabd9f;display:block;margin-top:18px}.sets-layout{grid-template-columns:minmax(0,1.45fr) minmax(340px,.85fr);gap:30px;align-items:start}.set-library-heading{margin-bottom:16px}.set-library-heading h2{font-size:23px;letter-spacing:-.04em}.set-library-heading p{font-size:10px}.set-library-heading>.tag{font-size:9px}.quick-actions{margin-bottom:18px!important;gap:8px}.quick-actions button{font-size:10px;padding:8px 12px;background:var(--surface);border-radius:8px}.quick-actions button .ico{width:14px}.quick-actions .tag{font-size:8px;padding:2px 5px}.set-filters{display:flex;align-items:end;gap:10px;margin-bottom:16px}.set-search{flex:1;min-width:0}.set-search>label,.set-status-filter{font-size:10px;font-weight:600}.set-search input{width:100%;display:block;margin-top:6px;font-size:11px;min-height:42px;padding:10px 12px}.set-status-filter{width:145px}.set-status-filter select{display:block;width:100%;margin-top:6px;font-size:11px;min-height:42px}.set-results-heading{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);margin-bottom:10px}.set-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.set-tile{background:var(--surface);min-height:132px;padding:17px 15px;gap:10px;border-radius:11px}.set-tile strong{font-size:14px;letter-spacing:-.02em}.set-tile .set-range{font-size:9px}.set-tile .set-status{font-size:8px;font-weight:450}.set-tile-arrow{display:flex;color:var(--muted)}.set-tile .ico{width:13px;height:13px}.set-tile:hover{background:var(--surface);border-color:var(--accent);box-shadow:0 4px 12px #1a3a2007}.set-tile.active-set{background:var(--accent-bg);box-shadow:0 0 0 1px var(--accent)}.set-meter{margin:7px 0 0;height:3px}.set-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:10px;color:var(--muted)}.set-pagination button{font-size:10px;padding:7px 12px;min-height:35px}.set-pagination .ico{width:13px}.sets-empty{border:1px dashed var(--line);border-radius:11px;text-align:center;padding:30px 15px;color:var(--muted)}.sets-empty h3{color:var(--ink)}.sets-empty p{font-size:11px}.set-session-card{padding:25px;top:24px;border-radius:15px;border-top:3px solid var(--accent);box-shadow:0 5px 24px #163a2104}.set-session-card>.eyebrow{font-size:8px;margin-bottom:10px}.set-session-card>h2{font-size:29px;margin-bottom:7px}.set-session-card>p{font-size:11px;margin-bottom:23px}.set-session-card .form-section{margin-bottom:21px}.set-session-card .form-label,.field{font-size:11px}.set-session-card select{font-size:11px}.set-session-card .notice{font-size:10px;padding:12px 14px;line-height:1.8}.set-session-card .notice button{font-size:10px;min-height:28px}.set-session-card .field input{font-size:12px}.set-session-card .checkbox-label{font-size:11px}.set-session-card .source-note{font-size:9px}.set-session-card button.primary{padding:12px;font-size:12px}.set-session-card .segmented{width:100%;padding:4px;background:var(--soft)}.set-session-card .segmented button{flex:1;font-size:11px;min-height:32px}.set-session-card .segmented button.active{background:var(--surface);box-shadow:0 1px 4px #163a2112}.footer{font-size:9px;margin-top:28px}.footer button{font-size:9px;min-height:32px}.resume-card{border-color:var(--accent);background:var(--accent-bg);padding:18px 23px}.resume-card h3{font-size:15px}.resume-card p{font-size:11px}.resume-card button{font-size:11px}.recent .eyebrow{font-size:8px}.recent>button{padding:13px 14px;border-radius:10px}.recent>button small{font-size:9px}.recent>button>span:last-child{display:flex;gap:8px;align-items:center;white-space:nowrap}body.in-session #main{height:calc(100dvh - 76px);padding:20px 24px}.question-panel,.workspace-map{box-shadow:0 4px 20px #163a2103}.question-scroll{padding:27px 31px}.question-title{font-size:calc(21px * var(--zoom));line-height:1.7}.option{font-size:calc(14px * var(--zoom));padding:15px 17px}.session-bar .session-name small{font-size:10px}.question-bottom{padding:14px 20px}.question-bottom button{font-size:11px}.map-cell{min-height:34px}.results-hero{background:var(--hero);padding:30px}.result-score{color:var(--accent)}.results-item{box-shadow:0 2px 12px #163a2103}dialog{box-shadow:0 22px 90px #0b241a30}dialog::backdrop{background:#10231b99;backdrop-filter:blur(3px)}
@media(min-width:1450px){.practice-hero{padding:38px 44px}.practice-hero h1{font-size:58px}.set-grid{gap:12px}.sets-layout{gap:34px}}
@media(max-width:1050px){.sets-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);gap:24px}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-hero{grid-template-columns:1fr 250px;padding:30px;gap:24px}.practice-hero h1{font-size:48px}.set-library-heading h2{font-size:21px}.set-library-heading>.tag{display:none}.set-session-card{padding:23px}.set-tile{min-height:125px}}
@media(max-width:760px){.masthead{height:68px;padding:0 20px}.brand{font-size:24px}.course-name{display:none}.header-actions{gap:3px}.header-actions #tools{font-size:9px;padding:8px}.header-actions #theme{font-size:9px;padding:8px}.header-actions #back-recall{font-size:9px;padding:9px 10px}#main{padding:24px 20px}.practice-hero{grid-template-columns:1fr 210px;padding:27px;gap:22px;margin-bottom:25px}.practice-hero h1{font-size:43px}.practice-hero p{font-size:10px}.practice-hero .eyebrow{font-size:7px}.practice-overview{padding:20px}.practice-overview>strong{font-size:42px}.practice-overview .eyebrow{font-size:6px}.practice-overview .row{font-size:7px}.sets-layout{grid-template-columns:1fr;gap:28px}.set-session-card{position:static;order:0;max-height:none;overflow:visible}.set-library{order:1}.set-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.set-library-heading>.tag{display:inline-flex}.set-tile{padding:16px 13px;min-height:125px}.set-tile strong{font-size:13px}.set-tile .set-status{font-size:8px}.set-session-card .form-section{margin-bottom:19px}.set-session-card>.eyebrow{font-size:8px}.set-session-card .form-label,.set-session-card .checkbox-label,.set-session-card .field{font-size:11px}.set-session-card .field input{font-size:13px}body.in-session #main{height:calc(100dvh - 68px);padding:14px 14px 0}.session-bar{gap:6px}.question-scroll{padding:23px}.question-title{font-size:calc(19px * var(--zoom))}.footer{font-size:8px}.set-search input,.set-status-filter select{font-size:12px}}
@media(max-width:520px){.masthead{height:64px;padding:0 16px;gap:8px}.brand{font-size:22px;gap:8px}.brand img{width:30px;height:30px}.brand>span>small{font-size:5px}.header-actions #tools{font-size:0;min-width:32px;padding:8px}.header-actions #tools:after{content:'⚙';font-size:16px}.header-actions #theme{font-size:9px;min-width:32px;padding:7px}.header-actions #back-recall{font-size:8px;min-height:34px;padding:7px 8px}#main{padding:20px 16px 27px}.practice-hero{display:block;padding:25px;border-radius:14px;margin-bottom:23px}.practice-hero .eyebrow{font-size:7px;letter-spacing:.13em}.practice-hero h1{font-size:47px;margin-bottom:17px}.practice-hero p{font-size:10px}.practice-hero-tags span{font-size:7px}.practice-overview{padding:16px 18px;margin-top:24px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 12px}.practice-overview .eyebrow{grid-column:1/-1;font-size:6px;margin-bottom:11px}.practice-overview>strong{font-size:32px;grid-column:1;grid-row:2}.practice-overview>strong>span{font-size:17px}.practice-overview>p{font-size:8px;grid-column:1;grid-row:3;margin:4px 0 0}.overview-track{grid-column:2;grid-row:2;margin-bottom:0}.practice-overview .row{grid-column:2;grid-row:3;font-size:7px;gap:3px;margin-top:7px}.practice-overview>small{grid-column:1/-1;font-size:7px;margin-top:12px}.sets-layout{gap:28px}.set-session-card{padding:23px 21px;border-radius:12px}.set-session-card>h2{font-size:27px}.set-session-card>p{font-size:10px}.set-session-card .notice{font-size:10px}.set-session-card .source-note{font-size:9px}.set-session-card .form-section p{font-size:10px!important}.set-session-card .field-row{gap:12px}.set-library-heading{gap:8px}.set-library-heading h2{font-size:22px}.set-library-heading p{font-size:9px}.set-library-heading>.tag{font-size:8px}.set-filters{gap:9px;align-items:end}.set-status-filter{width:122px;flex-shrink:0;font-size:9px}.set-search>label{font-size:9px}.set-search input{font-size:10px;padding:10px}.set-status-filter select{font-size:10px;padding:10px 7px}.set-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.set-tile{min-height:123px;padding:17px 14px}.set-tile strong{font-size:14px}.set-tile .set-range{font-size:9px}.set-tile .set-status{font-size:8px}.set-results-heading{font-size:8px}.set-results-heading>span:last-child{font-size:7px}.set-pagination{font-size:9px}.set-pagination button{font-size:9px;padding:8px 10px}.quick-actions button{font-size:10px;gap:6px}.resume-card{padding:17px}.resume-card .primary{width:100%}.session-bar .session-name{min-width:0}.session-name small{font-size:8px!important;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.session-name strong{font-size:11px}.session-bar .timer{font-size:10px;padding:8px}.session-bar .timer .ico{width:13px}.question-scroll{padding:19px}.question-top{flex-wrap:wrap;gap:5px}.question-top .tag{font-size:8px}.question-title{font-size:calc(18px * var(--zoom))}.option{font-size:calc(13px * var(--zoom));padding:13px;gap:10px}.option .letter{width:25px;min-width:25px;height:25px}.question-bottom{padding:12px 10px max(12px,env(safe-area-inset-bottom));gap:6px;flex-wrap:wrap}.question-bottom button{font-size:10px;padding:10px}.question-bottom .position{font-size:8px}body.in-session #main{height:calc(100dvh - 64px);padding:12px 10px 0}.question-panel{border-radius:12px}.results-hero{padding:23px;gap:22px}.results-hero h1{font-size:25px}.result-score{font-size:44px}.footer{flex-direction:column;gap:7px}.footer button{align-self:flex-start}.pref-row .row{gap:7px}.header-actions{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
