@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--background:#f6f8fb;--foreground:#172033;--muted:#5b6675;--surface:#fff;--surface-subtle:#f8fafc;--line:#1720331f;--accent:#2364aa;--accent-strong:#174a7c;--accent-soft:#2364aa1f;--success:#2f6b42;--error:#b42318;--shadow:0 20px 52px #1520301a}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);font-family:var(--font-geist-sans),sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(#f8fafc 0%,#eef3f7 100%)}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}.review-prototype-shell{background:#edf1f5;min-height:100vh;padding:24px 24px 120px}.prototype-frame{background:#fff;border:1px solid #cfd7e2;border-radius:16px;width:min(1500px,100%);margin:0 auto;overflow:hidden;box-shadow:0 18px 50px #1720331f}.one-page-header{border-bottom:1px solid #dbe1e8;justify-content:space-between;align-items:flex-end;gap:20px;padding:20px 24px;display:flex}.one-page-header h1{margin:5px 0 3px;font-size:clamp(1.5rem,2.5vw,2.1rem)}.one-page-header p{color:#667085}.source-summary{background:#f8fafc;border:1px solid #dbe1e8;border-radius:9px;gap:3px;min-width:210px;padding:10px 12px;display:grid}.source-summary span{color:#667085;text-transform:uppercase;font-size:.72rem;font-weight:800}.one-page-workspace{grid-template-columns:minmax(520px,1fr) 320px;min-height:720px;display:grid}.one-page-preview-area{background:#e8edf3;padding:18px}.preview-stage-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.preview-stage-heading>div{gap:3px;display:grid}.preview-stage-heading span{color:#667085;font-size:.8rem}.preview-stage-heading button{font:inherit;cursor:pointer;background:#fff;border:1px solid #c8d0dc;border-radius:8px;padding:8px 12px;font-weight:750}.preview-stage-heading button:disabled{opacity:.4}.one-page-sheet{aspect-ratio:8.5/11;background:#fff;width:min(100%,610px);margin:0 auto;padding:26px;box-shadow:0 5px 24px #1720332e}.worksheet-sheet-title{color:#475467;border-bottom:1px solid #cfd7e2;justify-content:space-between;height:32px;font-family:Georgia,serif;font-size:.8rem;display:flex}.worksheet-sheet-title span{color:#172033;font-weight:800}.worksheet-slot-grid{gap:12px;height:calc(100% - 32px);padding-top:14px;display:grid}.slots-2 .worksheet-slot-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:1fr}.slots-4 .worksheet-slot-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr)}.slots-6 .worksheet-slot-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr)}.slots-8 .worksheet-slot-grid{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(2,1fr)}.worksheet-slot{color:#172033;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe1e8;border-radius:5px;grid-template-rows:minmax(42px,36%) 1fr;min-width:0;display:grid;position:relative;overflow:hidden}.worksheet-slot.selected{outline-offset:1px;outline:3px solid #175cd3}.prompt-crop{background-image:linear-gradient(#ffffff0f,#ffffff0f),url(/fixtures/pershan-problem-set-example.png);background-repeat:no-repeat;background-size:260%;border-bottom:1px solid #eef1f5;display:block;position:relative;overflow:hidden}.prompt-crop strong{z-index:2;background:#ffffffe6;padding:2px 4px;font-family:Georgia,serif;position:absolute;top:6px;left:7px}.crop-0{background-position:0 4%}.crop-1{background-position:100% 23%}.crop-2{background-position:0 48%}.crop-3{background-position:100% 72%}.student-workspace{color:#98a2b3;padding:8px;font-size:.62rem;font-style:italic}.slot-check{z-index:3;color:#8a4b08;background:#fff0d5;border-radius:99px;padding:4px 6px;font-size:.63rem;font-weight:850;position:absolute;top:5px;right:5px}.empty-slot{color:#667085;text-align:center;background:#fbfcfd;border-style:dashed;align-content:center;place-items:center;gap:5px;font-size:.75rem}.empty-slot>span{font-size:1.25rem}.one-page-sidebar{border-left:1px solid #dbe1e8;align-content:start;gap:14px;padding:18px;display:grid}.selection-summary{grid-template-columns:1fr 1fr;gap:8px;display:grid}.selection-summary span{color:#667085;background:#f4f6f8;border-radius:9px;gap:2px;padding:12px;font-size:.75rem;display:grid}.selection-summary strong{color:#172033;font-size:1.4rem}.change-problems-button,.selected-problem-card button,.download-worksheet-button{color:#172033;min-height:43px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c8d0dc;border-radius:8px;padding:9px 12px;font-weight:800}.change-problems-button{color:#175cd3;border-color:#175cd3}.selected-problem-card{border:1px solid #dbe1e8;border-radius:10px;gap:10px;padding:14px;display:grid}.selected-problem-card h2{font-size:1.2rem}.selected-problem-card button:last-child{color:#b42318;border-color:#f1c3bf}.one-page-promise{color:#667085;font-size:.8rem;line-height:1.5}.download-worksheet-button{color:#fff;background:#175cd3;border-color:#175cd3;margin-top:2px}.one-page-status{color:#475467;background:#f8fafc;border-top:1px solid #dbe1e8;padding:10px 18px;font-size:.8rem}.prototype-header,.prototype-footer,.canvas-toolbar,.rail-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.prototype-header{border-bottom:1px solid #dbe1e8;padding:20px 24px}.prototype-header h1{margin:5px 0 3px;font-size:clamp(1.4rem,2.5vw,2rem)}.prototype-header p,.canvas-hint,.inspector-note{color:#667085}.prototype-kicker{color:#175cd3;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:850}.prototype-history,.canvas-toolbar>div,.focus-actions{gap:8px;display:flex}.prototype-history button,.canvas-toolbar button,.rail-title button,.inspector-actions button,.segmented button,.focus-actions button,.preview-button,.focus-arrow{color:#172033;min-height:40px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cfd7e2;border-radius:8px;padding:8px 12px;font-weight:750}.prototype-history button:disabled{opacity:.4;cursor:default}.prototype-three-pane{grid-template-columns:230px minmax(400px,1fr) 290px;min-height:650px;display:grid}.quick-check-layout{grid-template-columns:220px minmax(420px,1fr) 330px}.quick-check-queue{background:#f8fafc;border-right:1px solid #dbe1e8;flex-direction:column;display:flex}.quick-check-heading{justify-content:space-between;align-items:center;padding:18px 14px;display:flex}.quick-check-heading>strong{color:#fff;background:#175cd3;border-radius:99px;place-items:center;width:28px;height:28px;display:grid}.quick-check-queue>button:not(.advanced-review-link){text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e6eaf0;grid-template-columns:28px 1fr;align-items:center;gap:10px;width:100%;padding:14px;display:grid}.quick-check-queue>button:not(.advanced-review-link)>span:first-child{background:#e6ebf2;border-radius:99px;place-items:center;width:26px;height:26px;font-size:.75rem;font-weight:850;display:grid}.quick-check-queue>button:not(.advanced-review-link)>span:last-child{gap:3px;display:grid}.quick-check-queue>button:not(.advanced-review-link) small{color:#667085}.quick-check-queue>button.active{background:#eaf2ff;box-shadow:inset 3px 0 #175cd3}.advanced-review-link{color:#475467;font:inherit;cursor:pointer;background:0 0;border:0;margin:auto 14px 16px;padding:10px;font-size:.82rem;font-weight:750;text-decoration:underline}.start-over-link{color:#667085;font:inherit;cursor:pointer;background:0 0;border:0;margin:-14px 14px 16px;font-size:.78rem}.variant-a .prototype-history button:last-child,.variant-a .prototype-history button:disabled{display:none}.checks-complete{color:#287a45;margin:8px 14px;font-weight:800}.prototype-item-rail{background:#f8fafc;border-right:1px solid #dbe1e8}.rail-title{padding:14px}.prototype-item-rail>button{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #e6eaf0;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:3px 7px;width:100%;padding:12px;display:grid}.prototype-item-rail>button small{color:#667085;grid-column:2}.prototype-item-rail>button>span:last-child{background:#e6ebf2;border-radius:99px;grid-area:1/3/3;place-items:center;width:25px;height:25px;font-size:.75rem;display:grid}.prototype-item-rail>button.active{background:#eaf2ff;box-shadow:inset 3px 0 #175cd3}.drag-grip{color:#98a2b3}.prototype-source{background:#e8edf3;min-width:0;padding:14px}.canvas-toolbar{margin-bottom:12px}.canvas-toolbar button{min-height:32px;padding:3px 10px}.prototype-paper{aspect-ratio:8.5/11;background:#fff;width:min(100%,620px);margin:0 auto;position:relative;overflow:hidden;box-shadow:0 4px 20px #17203329}.prototype-paper img{object-fit:cover;opacity:.72;width:100%;height:100%}.prototype-box{cursor:pointer;background:#175cd314;border:2px solid #175cd3;padding:0;position:absolute}.prototype-box span{color:#fff;background:#175cd3;padding:2px 6px;font-size:.68rem;font-weight:850;position:absolute;top:-1px;left:-1px}.prototype-box.selected{background:#d92d2014;border:3px solid #d92d20;box-shadow:0 0 0 3px #ffffffe6}.prototype-box.selected span{background:#d92d20}.prototype-box.excluded{background:#6670851f;border-style:dashed;border-color:#667085}.prototype-box.header{background:#7f56d91a;border-color:#7f56d9}.canvas-hint{text-align:center;margin-top:10px;font-size:.82rem}.prototype-inspector{border-left:1px solid #dbe1e8;align-content:start;gap:18px;padding:18px;display:grid}.quick-check-panel{border-left:1px solid #dbe1e8;align-content:start;gap:16px;padding:22px;display:grid}.quick-check-panel h2{font-size:1.45rem;line-height:1.25}.quick-check-panel>p{color:#667085;line-height:1.5}.quick-answer-list{gap:10px;display:grid}.quick-answer-list button{color:#172033;min-height:72px;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #b9c3d0;border-radius:10px;gap:5px;padding:13px;display:grid}.quick-answer-list button:hover{border-color:#175cd3;box-shadow:0 0 0 2px #dbeafe}.quick-answer-list button span{color:#667085;font-size:.8rem;line-height:1.35}.not-sure-button{color:#475467;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:8px 0;font-size:.82rem;text-decoration:underline}.check-done{align-content:center;justify-items:start}.done-mark{color:#287a45;background:#dcfae6;border-radius:99px;place-items:center;width:48px;height:48px;font-size:1.5rem;font-weight:900;display:grid}.prototype-inspector h2{margin-top:5px;font-size:1.3rem}.prototype-inspector label{gap:6px;font-size:.82rem;font-weight:800;display:grid}.prototype-inspector input{width:100%;min-height:42px;font:inherit;border:1px solid #b9c3d0;border-radius:8px;padding:8px 10px}.prototype-warning{color:#8a4b08;background:#fff3e0;border-radius:8px;margin-top:8px;padding:9px;font-size:.85rem;font-weight:750}.prototype-ready{color:#287a45;margin-top:8px;font-size:.85rem;font-weight:750}.segmented{grid-template-columns:1fr 1fr;display:grid}.segmented button{border-radius:0}.segmented button:first-child{border-radius:8px 0 0 8px}.segmented button:last-child{border-radius:0 8px 8px 0}.segmented button.active,.inspector-actions button.active{color:#fff;background:#172033}.inspector-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.inspector-actions button{min-width:0}.inspector-note{font-size:.8rem;line-height:1.45}.prototype-footer{background:#fffffff5;border-top:1px solid #dbe1e8;padding:14px 20px;position:sticky;bottom:0}.prototype-footer>div:first-child{gap:3px;display:grid}.prototype-footer span{color:#667085;font-size:.82rem}.prototype-footer em{color:#b54708;font-size:.78rem;font-weight:800}.mini-preview{gap:5px;margin-left:auto;display:flex}.mini-preview span{color:#172033;background:#fff;border:1px solid #b9c3d0;place-items:center;width:28px;height:36px;font-weight:800;display:grid}.preview-button{color:#fff;background:#175cd3;border-color:#175cd3}.triage-layout{grid-template-columns:300px 1fr;min-height:650px;display:grid}.triage-queue{background:#f8fafc;border-right:1px solid #dbe1e8;padding:20px}.triage-queue>button{text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe1e8;border-radius:9px;gap:4px;width:100%;margin-top:10px;padding:14px;display:grid}.triage-queue>button.active{border-color:#175cd3;box-shadow:0 0 0 2px #dbeafe}.triage-queue>button span{color:#667085;font-size:.82rem}.queue-complete{color:#287a45;margin-top:18px;font-weight:800}.triage-stage{grid-template-columns:minmax(420px,1fr) 290px;display:grid}.all-items-drawer{border-top:1px solid #dbe1e8}.all-items-drawer summary{cursor:pointer;padding:14px 20px;font-weight:800}.all-items-drawer .prototype-item-rail{border:0;grid-template-columns:repeat(4,1fr);display:grid}.focus-progress{background:#e4e9f0;height:5px}.focus-progress span{background:#175cd3;height:100%;transition:width .2s;display:block}.focus-layout{background:#e8edf3;grid-template-columns:54px minmax(0,1fr) 54px 310px;align-items:center;min-height:650px;display:grid}.focus-source{align-self:stretch}.focus-source .prototype-source{height:100%}.focus-arrow{border-radius:99px;margin:8px;font-size:1.3rem}.focus-layout .prototype-inspector{background:#fff;align-self:stretch}.focus-actions{border-top:1px solid #dbe1e8;justify-content:center;padding:14px}.focus-actions button:first-child{color:#fff;background:#175cd3}.prototype-switcher{z-index:30;color:#fff;background:#172033;border-radius:999px;align-items:center;gap:12px;padding:8px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 12px 40px #00000059}.prototype-switcher button{color:#172033;width:38px;height:38px;font:inherit;cursor:pointer;background:#fff;border:0;border-radius:99px;place-items:center;display:grid}.prototype-state{z-index:20;color:#fff;background:#101828;border-radius:8px;width:230px;font-size:.75rem;position:fixed;bottom:18px;right:18px}.prototype-state summary{cursor:pointer;padding:10px;font-weight:800}.prototype-state pre{max-height:260px;padding:0 10px 10px;overflow:auto}@media (max-width:900px){.review-prototype-shell{padding:0 0 110px}.prototype-frame{border-radius:0}.prototype-header{align-items:flex-start;padding:14px}.prototype-header p{display:none}.prototype-three-pane{grid-template-columns:1fr}.prototype-item-rail,.quick-check-queue{display:none}.quick-check-panel{z-index:5;background:#fff;border-top:1px solid #dbe1e8;border-left:0;position:sticky;bottom:0;box-shadow:0 -10px 30px #1720331f}.prototype-source{min-height:540px}.prototype-inspector{z-index:5;background:#fff;border-top:1px solid #dbe1e8;border-left:0;grid-template-columns:1fr 1fr;position:sticky;bottom:0;box-shadow:0 -10px 30px #1720331f}.inspector-actions{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.inspector-note{display:none}.triage-layout,.triage-stage{grid-template-columns:1fr}.triage-queue{border-right:0}.focus-layout{grid-template-columns:42px minmax(0,1fr) 42px}.focus-layout .prototype-inspector{grid-column:1/-1;position:sticky}.prototype-footer{padding:10px}.prototype-state{display:none}.one-page-workspace{grid-template-columns:1fr}.one-page-sidebar{border-top:1px solid #dbe1e8;border-left:0}}@media (max-width:560px){.prototype-header{display:grid}.prototype-history{justify-content:flex-end}.prototype-inspector{grid-template-columns:1fr}.inspector-actions{grid-column:auto;grid-template-columns:1fr 1fr}.prototype-source{min-height:400px;padding:8px}.prototype-footer>div:first-child span,.mini-preview{display:none}.prototype-switcher strong{font-size:.74rem}.one-page-header{padding:14px;display:grid}.source-summary{min-width:0}.one-page-preview-area{padding:10px}.one-page-sheet{padding:14px}.worksheet-slot-grid{gap:6px;padding-top:8px}.worksheet-slot{grid-template-rows:minmax(30px,36%) 1fr}.student-workspace{padding:4px;font-size:.52rem}.slot-check{font-size:.54rem}}.app-shell{min-height:100vh;padding:24px 20px 48px}.panel{width:min(1480px,100%);margin:0 auto}.app-workspace{gap:16px;display:grid}.app-header{grid-template-columns:minmax(0,1fr) minmax(360px,480px);align-items:end;gap:24px;display:grid}.app-header h1{letter-spacing:0;max-width:760px;margin-top:10px;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.05}.app-header p{max-width:640px;color:var(--muted);margin-top:10px;font-size:1rem;line-height:1.6}.eyebrow{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:.78rem;font-weight:800;display:inline-flex}.workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.workflow-step{border:1px solid var(--line);background:#ffffffb3;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px;min-width:0;padding:10px;display:grid}.workflow-step span{width:28px;height:28px;color:var(--muted);background:#17203314;border-radius:999px;grid-row:span 2;place-items:center;font-size:.82rem;font-weight:800;display:inline-grid}.workflow-step strong,.workflow-step small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workflow-step strong{font-size:.92rem}.workflow-step small{color:var(--muted);font-size:.78rem;font-weight:700}.workflow-step.active{background:var(--accent-soft);border-color:#2364aa5c}.workflow-step.active span,.workflow-step.complete span{background:var(--accent);color:#fff}.workflow-step.complete{background:#2f6b4214;border-color:#2f6b4247}.source-bar{grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.upload-layout{grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);align-items:start;gap:16px;display:grid}.workspace-column{gap:16px;min-width:0;display:grid}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.control-card,.debug-panel,.review-panel,.status-card,.pdf-preview-panel{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.workflow-control-stack{gap:10px;min-width:0;display:grid}.workflow-control-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.control-card{justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:14px;display:flex}.control-card-copy{gap:6px;min-width:0;display:grid}.control-card h2{font-size:1.08rem;line-height:1.25}.helper-text,.meta-text,.empty-workspace p{color:var(--muted);line-height:1.55}.file-pill,.status-pill{border-radius:999px;align-items:center;gap:8px;max-width:100%;padding:7px 10px;font-size:.86rem;font-weight:700;display:inline-flex}.file-pill{overflow-wrap:anywhere;background:#1720330f}.status-pill{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;align-self:start}.status-pill.complete{color:var(--success);background:#2f6b421f}.status-pill.failed{color:var(--error);background:#b423181f}.error-text{color:var(--error);margin-top:10px;line-height:1.5}.controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button,.button-secondary,.button-danger{appearance:none;min-height:42px;font:inherit;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;padding:10px 14px;font-weight:800;transition:transform .16s,opacity .16s,box-shadow .16s;display:inline-flex}.button{background:var(--accent);color:#fff;box-shadow:0 10px 22px #2364aa38}.button-secondary{color:var(--foreground);background:#17203312}.button-danger{background:var(--error);color:#fff;box-shadow:0 10px 22px #b4231838}.button-secondary.active{background:var(--foreground);color:#fff}.button:hover,.button-secondary:hover,.button-danger:hover{transform:translateY(-1px)}.button:disabled,.button-secondary:disabled,.button-danger:disabled{opacity:.5;cursor:not-allowed;transform:none}.debug-panel,.review-panel,.status-card{padding:14px}.review-canvas-panel{min-height:520px}.debug-header,.output-title,.preview-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.debug-header{margin-bottom:12px}.debug-header h3,.output-title h3{font-size:1.04rem}.debug-canvas{width:100%;aspect-ratio:calc(var(--image-width)/var(--image-height));touch-action:none;background:#fff;border:1px solid #1720331a;border-radius:6px;position:relative;overflow:hidden}.debug-canvas.drawing{cursor:crosshair}.debug-canvas img{object-fit:fill;width:100%;height:100%;display:block}.source-preview,.empty-workspace{background:var(--surface-subtle);border:1px solid #1720331a;border-radius:6px;min-height:520px;display:grid}.source-preview{place-items:start center;max-height:70vh;overflow:auto}.source-preview img{width:min(100%,920px);height:auto;display:block}.empty-workspace{text-align:center;place-content:center;padding:24px}.empty-workspace h3{margin-bottom:6px;font-size:1.08rem}.overlay-rect{box-sizing:border-box;cursor:move;pointer-events:auto;background:#ffffff0a;border:2px solid;border-radius:6px;position:absolute}.overlay-rect span{color:#fff;border-radius:5px;padding:2px 6px;font-size:.78rem;font-weight:800;position:absolute;top:-1px;left:-1px}.overlay-rect.region{border-color:#2364aaf2;box-shadow:inset 0 0 0 1px #2364aa26}.overlay-rect.region span{background:#2364aaf2}.overlay-rect.anchor{pointer-events:none;border-color:#b42318cc}.overlay-rect.content{pointer-events:none;border-color:#2f6b42e6}.overlay-rect.header{pointer-events:none;border-color:#845812f2}.overlay-rect.column{pointer-events:none;background:#5b66750a;border-color:#5b66755c}.overlay-rect.rejected{pointer-events:none;background:#b423180f;border-color:#b4231880}.overlay-rect.muted{opacity:.62;background:#5b667512;border-color:#5b667573}.overlay-rect.draw{pointer-events:none;background:#2f6b4214;border-color:#2f6b42f2}.overlay-rect.selected{border-width:3px;box-shadow:0 0 0 3px #ffffffe6}.resize-handle{background:var(--accent);cursor:nwse-resize;border:2px solid #fff;border-radius:999px;width:15px;height:15px;padding:0;position:absolute;bottom:-7px;right:-7px}.review-list{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.review-row{background:var(--surface-subtle);min-width:0;color:var(--foreground);font:inherit;cursor:pointer;text-align:left;border:1px solid #1720331a;border-radius:8px;grid-template-columns:auto minmax(44px,1fr) auto;align-items:center;gap:8px;padding:9px;font-weight:800;display:grid}.review-row.selected{border-color:#2364aab8;box-shadow:inset 0 0 0 1px #2364aa3d}.label-input{width:100%;min-width:0;color:var(--foreground);font:inherit;background:#fff;border:1px solid #17203324;border-radius:6px;padding:6px 7px;font-weight:800}.label-preview{min-width:34px;color:var(--accent-strong);background:#2364aa1a;border-radius:999px;justify-content:center;padding:4px 7px;font-size:.82rem;display:inline-flex}.status-card{align-content:start;gap:12px;display:grid;position:sticky;top:16px}.handout-actions,.status-grid{gap:8px;display:grid}.status-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.item-card{background:var(--surface-subtle);border:1px solid #17203314;border-radius:8px;min-width:0;padding:10px}.item-card h4{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem;font-weight:800}.item-card p{color:var(--foreground);overflow-wrap:anywhere;margin-top:6px;line-height:1.45}.pdf-preview-panel{box-shadow:none;background:var(--surface-subtle);gap:10px;padding:10px;display:grid}.preview-header{align-items:center}.preview-header h4{font-size:.95rem}.preview-header span{color:var(--muted);font-size:.82rem;font-weight:800}.pdf-preview-scroll{gap:14px;max-height:min(72vh,760px);padding:2px 8px 8px 2px;display:grid;overflow:auto}.preview-page{background:#fff;border:1px solid #17203329;width:100%;position:relative;overflow:hidden;box-shadow:0 12px 28px #1520301f}.preview-placement,.preview-answer-area,.preview-problem-layer{position:absolute}.preview-problem-layer{pointer-events:none;inset:0}.preview-prompt-placement,.preview-section-header{overflow:hidden}.preview-answer-area{background:#ffffff59;border:1px dashed #1720332e}.prompt-preview-stack,.source-crop{width:100%;height:100%;position:relative;overflow:hidden}.prompt-preview-row{position:absolute;overflow:hidden}.source-crop img{object-fit:fill;-webkit-user-select:none;user-select:none;pointer-events:none;max-width:none;display:block;position:absolute}.modal-backdrop{z-index:20;background:#0f172a6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.sample-modal{background:var(--surface);border:1px solid #17203329;border-radius:8px;gap:16px;width:min(920px,100%);max-height:min(760px,100vh - 40px);display:grid;overflow:hidden;box-shadow:0 28px 80px #0f172a3d}.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 18px 0;display:flex}.modal-header h2{margin-bottom:4px;font-size:1.25rem;line-height:1.25}.sample-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:0 18px 18px;display:grid;overflow:auto}.sample-option{background:var(--surface-subtle);min-width:0;color:var(--foreground);font:inherit;cursor:pointer;text-align:left;border:1px solid #1720331f;border-radius:8px;gap:10px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.sample-option:hover{border-color:#2364aa70;transform:translateY(-1px);box-shadow:0 12px 28px #1520301f}.sample-thumbnail{aspect-ratio:4/3;background:#fff;border-bottom:1px solid #1720331a;border-radius:8px 8px 0 0;width:100%;display:block;overflow:hidden}.sample-thumbnail img{object-fit:contain;width:100%;height:100%;display:block}.sample-copy{gap:4px;padding:0 12px 12px;display:grid}.sample-copy strong{font-size:.98rem}.sample-copy span{color:var(--muted);font-size:.86rem;line-height:1.45}@media (max-width:1100px){.app-header,.upload-layout{grid-template-columns:1fr}.status-card{position:static}}@media (max-width:760px){.app-shell{padding:16px 12px 40px}.app-header{gap:14px}.app-header h1{font-size:clamp(2rem,12vw,3rem)}.workflow-steps,.source-bar,.workflow-control-grid,.status-grid.compact{grid-template-columns:1fr}.control-card{display:grid}.controls{justify-content:stretch}.button,.button-danger,.button-secondary,.controls label{width:100%}.review-canvas-panel,.source-preview,.empty-workspace{min-height:360px}.modal-backdrop{padding:12px}.modal-header{display:grid}.sample-modal{max-height:calc(100vh - 24px)}}
