@font-face{font-family:Inter;src:url('./InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1e2c3b;background:#f4f7fa;font-synthesis:none;--blue:#23629a;--ink:#1e2c3b;--muted:#657386;--line:#e3e9ef;--surface:#fff;--green:#16714c;--red:#af3841;--amber:#956918}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #83bce8;outline-offset:3px}button{border:0}a{color:var(--blue)}button svg,.icon svg{width:22px;height:22px;display:block;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}button .icon{display:flex}.boot{min-height:90vh;display:grid;align-content:center;justify-items:center}.boot img{width:64px}.boot p{color:var(--muted)}.shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100dvh}.sidebar{background:#fff;border-right:1px solid var(--line);position:sticky;top:0;height:100dvh;padding:25px 17px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--ink);font-size:18px;font-weight:750}.brand img{width:42px;height:42px}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:5px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{background:none;display:flex;align-items:center;gap:13px;padding:14px 13px;border-radius:11px;text-align:left;color:#5b6b7d}.nav button.active{background:#eaf2fa;color:var(--blue);font-weight:650}.nav button:hover{background:#f0f5f9}.nav .icon{color:var(--blue)}.side-foot{margin-top:auto;padding:16px;background:#f7f9fc;border-radius:12px;font-size:12px;line-height:1.6;color:var(--muted)}.main{min-width:0}.topbar{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 35px;background:#fff;border-bottom:1px solid var(--line)}.topbar h1{font-size:22px;margin:0;letter-spacing:-.4px}.topbar p{font-size:12px;color:var(--muted);margin:6px 0 0}.account{display:flex;align-items:center;gap:10px;font-size:13px}.avatar{height:39px;width:39px;display:grid;place-items:center;border-radius:50%;background:#eaf2fa;color:var(--blue);font-weight:700}.mobile-brand{display:none}.content{max-width:1180px;margin:auto;padding:27px 35px 45px}.dev-banner{display:flex;gap:9px;align-items:center;background:#fff9e8;border:1px solid #f3e6bb;color:#79612b;border-radius:10px;font-size:12px;padding:12px 15px;margin-bottom:24px;line-height:1.5}.dev-banner .icon{flex:none}.page-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px}.page-intro h2{font-size:25px;letter-spacing:-.6px;margin:0 0 8px}.page-intro p{font-size:14px;color:var(--muted);margin:0;line-height:1.55}.primary,.secondary,.text-btn,.danger{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:43px;padding:11px 17px;border-radius:10px;font-size:13px;font-weight:650;text-decoration:none;white-space:normal}.primary{background:var(--blue);color:white}.primary:hover{background:#194e7e}.secondary{background:#edf3f8;color:var(--blue)}.text-btn{background:none;color:var(--muted);padding:8px}.danger{background:#fff0f1;color:var(--red)}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:27px}.stat{background:#fff;border:1px solid var(--line);padding:20px;border-radius:14px;display:flex;align-items:center;gap:14px}.stat .icon,.tile-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;flex:none;background:#e9f2fa;color:var(--blue)}.stat:nth-child(2) .icon{background:#eeecff;color:#7262bd}.stat:nth-child(3) .icon{background:#e9f5ef;color:var(--green)}.stat:nth-child(4) .icon{background:#fff5df;color:var(--amber)}.stat strong{display:block;font-size:25px;font-weight:750}.stat small{color:var(--muted);font-size:12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:24px;margin-bottom:20px;min-width:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panel h3{margin:0;font-size:17px}.panel-header small,.hint{font-size:12px;color:var(--muted);line-height:1.6}.assessment-list{display:flex;flex-direction:column}.assessment-row,.script-row{display:flex;align-items:center;gap:15px;text-decoration:none;color:var(--ink);background:none;width:100%;text-align:left;padding:17px 0;border-bottom:1px solid var(--line)}.assessment-row:last-child,.script-row:last-child{border-bottom:0}.row-copy{flex:1;min-width:0}.row-copy strong{font-size:15px;display:block;margin-bottom:7px}.row-copy small{display:block;color:var(--muted);font-size:12px;line-height:1.5}.row-copy .meta{margin-top:5px}.row-arrow{color:#9aa6b4}.badge{font-size:11px;border-radius:6px;padding:5px 8px;display:inline-block;line-height:1.5;background:#eef3f7;color:#5c6d7e;white-space:normal}.badge.green{background:#e8f6ef;color:var(--green)}.badge.amber{background:#fff5dc;color:var(--amber)}.badge.red{background:#fff0f1;color:var(--red)}.empty{display:grid;place-items:center;padding:45px 15px;text-align:center}.empty .tile-icon{height:60px;width:60px;margin-bottom:15px}.empty h3{margin:0 0 10px}.empty p{font-size:13px;color:var(--muted);line-height:1.65;max-width:390px;margin:0 0 20px}.flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.flow{padding:17px;border-radius:12px;background:#f7f9fc;font-size:12px;color:var(--muted);line-height:1.7}.flow strong{display:block;color:var(--ink);font-size:14px;margin:10px 0 7px}.flow .number{height:28px;width:28px;border-radius:50%;display:grid;place-items:center;background:#e5eef7;color:var(--blue);font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #dbe3eb;background:#fff;border-radius:9px;color:var(--ink);padding:12px;font-size:14px;min-height:43px}.field textarea{resize:vertical;min-height:80px}.field small{font-weight:400;color:var(--muted);font-size:12px;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #c9dfee;border-color:#7eadd2}.key-settings{display:flex;gap:15px;align-items:end;flex-wrap:wrap;padding:15px;background:#f7f9fc;border-radius:11px;margin:22px 0}.key-settings .field{max-width:200px}.key-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.key-cell{border:1px solid var(--line);padding:12px;border-radius:9px;display:flex;gap:10px;align-items:center}.key-cell strong{font-size:13px;color:var(--muted);width:25px;flex:none}.key-cell select,.key-cell input{min-width:0;border:1px solid #dbe3eb;border-radius:7px;background:white;padding:8px;font-size:13px;width:67px;flex:1}.check{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.65;color:#526378;margin:18px 0}.check input{height:18px;width:18px;flex:none;accent-color:var(--blue);margin-top:2px}.error{border-radius:9px;color:var(--red);background:#fff0f1;padding:12px;font-size:13px;line-height:1.5;margin-bottom:16px}.auth-page{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr}.auth-story{background:#173d60;padding:10vw 8vw;color:#fff;display:flex;flex-direction:column;justify-content:center}.auth-story .brand{color:#fff;margin-bottom:70px}.auth-story h1{font-size:42px;line-height:1.2;letter-spacing:-1px;margin:0 0 22px}.auth-story p{line-height:1.8;color:#c4d8e9;font-size:15px}.auth-story .pill{display:inline-block;align-self:flex-start;background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;padding:8px 13px;color:#d2e5f4;font-size:12px;margin-top:25px}.auth-form{padding:50px 10vw;display:flex;flex-direction:column;justify-content:center;max-width:700px}.auth-form h2{font-size:29px;letter-spacing:-.7px;margin:0 0 9px}.auth-form>p{font-size:14px;color:var(--muted);margin-bottom:29px;line-height:1.6}.auth-form .field{margin-bottom:18px}.auth-switch{margin-top:20px;text-align:center;font-size:13px;color:var(--muted)}.auth-switch button{padding:5px;background:none;color:var(--blue);font-weight:600}.auth-form .dev-banner{margin-top:26px}.back{display:inline-flex;align-items:center;gap:7px;background:none;color:var(--blue);padding:0;margin:0 0 22px;font-size:13px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:22px;align-items:start}.key-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:17px 0}.key-summary span{font-size:12px;padding:7px;border-radius:6px;background:#f2f5f8;color:#526379;text-align:center}.key-summary b{color:var(--blue);margin-left:5px}.steps{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}.step{display:flex;gap:7px;align-items:center;font-size:12px;padding:8px 12px;border-radius:8px;background:#eef2f6;color:var(--muted)}.step.active{background:#e6f0f9;color:var(--blue);font-weight:650}.step.complete{background:#e9f6ef;color:var(--green)}.capture-label{border:2px dashed #d7e2ed;border-radius:12px;padding:35px 20px;display:grid;place-items:center;text-align:center;gap:14px;margin:18px 0;cursor:pointer;background:#fbfdff}.capture-label input{max-width:100%;font-size:13px}.capture-label .tile-icon{width:54px;height:54px}.capture-label p{font-size:13px;line-height:1.6;color:var(--muted);margin:0}.alignment-wrap{background:#e9eef3;border-radius:12px;padding:12px;overflow:hidden}.alignment-canvas{max-width:100%;height:auto;display:block;margin:auto;touch-action:manipulation;cursor:crosshair}.corner-control{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:16px 0}.corner-control .badge{font-weight:600}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:20px;align-items:start}.review-grid .sheet-panel{position:sticky;top:20px}.sheet-image{width:100%;height:auto;display:block;border-radius:8px;border:1px solid var(--line)}.review-toolbar{display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px}.review-row{display:grid;grid-template-columns:35px minmax(0,1fr) 120px;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.review-row .number{font-weight:700;font-size:13px}.review-row p{font-size:11px;line-height:1.5;color:var(--muted);margin:4px 0 0}.review-row strong{font-size:13px;font-weight:600}.review-row select{min-width:0;padding:9px;border:1px solid #dce4ec;border-radius:8px;background:#fff;font-size:13px}.review-row.flagged .number{color:var(--amber)}.review-row.flagged{background:#fffaf0;margin:0 -9px;padding-left:9px;padding-right:9px;border-radius:5px}.score-hero{display:flex;align-items:center;gap:18px;background:#ecf6f0;border-radius:13px;padding:23px;margin-bottom:21px}.score-hero .tile-icon{background:#d5eedf;color:var(--green)}.score-hero strong{font-size:32px;display:block;color:var(--green)}.score-hero small{font-size:12px;color:#53705e;display:block;margin-top:7px}.result-table{width:100%;border-collapse:collapse;font-size:12px}.result-table th{color:var(--muted);font-size:11px;font-weight:600;text-align:left;padding:11px 7px;border-bottom:1px solid var(--line)}.result-table td{padding:11px 7px;border-bottom:1px solid var(--line)}.subscription-card{max-width:620px}.subscription-card .tile-icon{background:#eeecfb;color:#705bba}.subscription-card h3{font-size:22px;margin:17px 0 12px}.subscription-card p{font-size:14px;color:var(--muted);line-height:1.8}.feature-list{list-style:none;padding:0;margin:22px 0}.feature-list li{display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.6;padding:8px 0}.feature-list .icon{color:var(--green)}.setting-row{padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.setting-row:last-child{border-bottom:0}.setting-row strong{font-size:14px;display:block}.setting-row small{font-size:12px;color:var(--muted);display:block;margin-top:6px;line-height:1.6}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(90vw,550px);padding:13px 19px;border-radius:10px;background:#20364b;color:#fff;z-index:40;box-shadow:0 6px 26px #0002;font-size:13px;text-align:center}dialog{border:1px solid var(--line);border-radius:15px;padding:25px;width:min(92vw,730px);max-height:88dvh;color:var(--ink)}dialog::backdrop{background:#182c456b}dialog h2{font-size:20px;margin:0 0 17px}dialog .sheet-preview{max-width:100%;max-height:65vh;display:block;margin:auto;border:1px solid var(--line)}dialog .actions{margin-top:20px;justify-content:flex-end}.busy{display:flex;gap:9px;align-items:center;font-size:13px;color:var(--muted);padding:18px}.spinner{width:16px;height:16px;border:2px solid #d5e4ef;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}
@media(max-width:1050px){.shell{grid-template-columns:210px minmax(0,1fr)}.content{padding:25px}.topbar{padding:0 25px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.key-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{grid-template-columns:1fr}.auth-form{padding:40px 6vw}.review-grid{grid-template-columns:1fr}.review-grid .sheet-panel{position:static}.sheet-image{max-height:550px;object-fit:contain}.auth-story h1{font-size:34px}}
@media(max-width:680px){.shell{display:block}.sidebar{padding:0;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:20;height:auto;border:0;border-top:1px solid var(--line);display:block;padding-bottom:env(safe-area-inset-bottom)}.sidebar>.brand,.side-foot{display:none}.nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:8px 3px 5px}.nav button{padding:6px 2px;display:flex;flex-direction:column;gap:5px;font-size:10px;min-height:49px;text-align:center;border-radius:7px}.nav button svg{width:22px;height:22px}.topbar{padding:15px 18px;height:auto;min-height:78px;padding-top:calc(13px + env(safe-area-inset-top))}.topbar h1{font-size:19px}.topbar p{font-size:11px;line-height:1.4}.account .name{display:none}.avatar{height:36px;width:36px}.mobile-brand{display:block;width:32px;margin-right:10px}.topbar-title{display:flex;align-items:center}.content{padding:20px 16px calc(95px + env(safe-area-inset-bottom))}.dev-banner{font-size:11px;margin-bottom:22px;padding:10px 12px}.page-intro{align-items:flex-start;margin-bottom:22px;flex-wrap:wrap}.page-intro h2{font-size:23px}.page-intro p{font-size:13px}.stats{gap:10px;margin-bottom:20px}.stat{padding:14px 11px;gap:11px;border-radius:12px}.stat strong{font-size:23px}.stat small{font-size:11px}.stat .icon{width:37px;height:37px;border-radius:10px}.panel{padding:18px;border-radius:12px}.panel h3{font-size:16px}.panel-header{gap:10px;margin-bottom:13px}.panel-header .text-btn{font-size:11px}.assessment-row,.script-row{gap:12px;padding:16px 0}.row-copy strong{font-size:14px}.row-copy small{font-size:11px}.tile-icon{width:39px;height:39px;border-radius:10px}.flow-grid{grid-template-columns:1fr;gap:10px}.flow{padding:14px;display:grid;grid-template-columns:28px 1fr;gap:10px}.flow strong{margin:0 0 4px}.flow p{margin:0;grid-column:2}.flow .number{grid-row:1/3}.form-grid{grid-template-columns:1fr}.key-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.key-cell{padding:9px;gap:5px}.key-cell strong{width:20px;font-size:12px}.key-cell input,.key-cell select{padding:7px;min-width:43px;width:48px;font-size:12px}.key-settings{padding:13px;gap:10px}.key-settings .field{max-width:130px}.auth-page{display:flex;flex-direction:column;min-height:100dvh}.auth-story{padding:28px 23px 30px}.auth-story .brand{margin-bottom:26px}.auth-story h1{font-size:30px;margin-bottom:12px;max-width:380px}.auth-story p{font-size:13px;margin:0;line-height:1.7}.auth-story .pill{margin-top:17px;font-size:11px}.auth-form{padding:29px 23px}.auth-form h2{font-size:25px}.auth-form>p{font-size:13px;margin-bottom:23px}.auth-form .dev-banner{margin-bottom:0}.key-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.review-row{grid-template-columns:25px minmax(0,1fr) 106px;gap:7px}.review-row p{font-size:10px}.review-row select{font-size:12px;padding:8px}.review-grid{gap:0}.result-table td,.result-table th{padding:10px 4px;font-size:11px}.score-hero{padding:19px;gap:13px}.score-hero strong{font-size:29px}.toast{bottom:85px;font-size:12px}.steps{gap:6px}.step{font-size:10px;padding:7px 8px}.primary,.secondary,.text-btn{font-size:12px;padding:10px 13px}.alignment-wrap{padding:5px}.subscription-card h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none}}
fieldset{border:0;padding:0;margin:22px 0;min-width:0}
.rubric-question,.transcript-question,.essay-question{margin:22px 0;padding-top:19px;border-top:1px solid var(--line);min-width:0}
.rubric-question>.field,.transcript-question>.field,.rubric-criterion>.field{margin:16px 0}
.rubric-criterion{padding:17px;background:#f7f9fc;border:1px solid var(--line);border-radius:11px;margin:18px 0}
.rubric-criterion .panel-header strong{font-size:14px;overflow-wrap:anywhere}
.rubric-descriptors,.reading-evidence{margin:16px 0;font-size:12px;line-height:1.65}
.rubric-descriptors summary,.reading-evidence summary{cursor:pointer;color:var(--blue);font-weight:600;padding:7px 0}
.rubric-descriptors dl{margin:11px 0}.rubric-descriptors dt{font-weight:650;color:var(--ink);margin-top:12px}.rubric-descriptors dd{margin:5px 0;color:#526378;white-space:pre-wrap;overflow-wrap:anywhere}
.transcript{font:inherit;font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;background:#f6f8fa;border-radius:8px;padding:13px;margin:12px 0;color:#344659;max-width:100%}
.small-label{display:block;font-size:12px;margin-top:16px;color:var(--muted)}
.question-prompt{font-size:14px;font-weight:600;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.notice{border-radius:9px;background:#fff8e8;color:#79612b;padding:12px 14px;margin:16px 0;font-size:12px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}
.criterion-score{display:block;color:var(--blue);font-size:21px;margin:12px 0}.feedback-reason{font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.evidence{border-left:3px solid #9dbfdb;margin:12px 0;padding:7px 12px;font-size:12px;line-height:1.7;color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere}
.action-pending{display:grid;justify-items:center;text-align:center;padding:45px 24px}.action-pending h2{font-size:22px;margin:20px 0 8px}.action-pending .hint{max-width:520px}.action-pending .actions{justify-content:center}.crop-preview{margin:17px auto;max-height:600px;object-fit:contain;background:#eef3f7}.export-actions{margin:0 0 24px}
[hidden]{display:none!important}.capture-actions{margin:22px 0}.capture-preview{margin:18px 0;text-align:center}.capture-preview img{display:block;max-width:100%;max-height:55vh;object-fit:contain;margin:auto;border-radius:12px}.scanner{padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;background:#101d2a;color:white;border-radius:0}.scanner::backdrop{background:#101d2a}.scanner-shell{height:100%;display:flex;flex-direction:column}.scanner header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:#152a3d}.scanner header strong{display:block;font-size:18px}.scanner header small{display:block;font-size:12px;color:#c4d4e2;margin-top:6px}.scanner-close{background:#294155;color:white;width:42px;height:42px;border-radius:50%;font-size:28px;flex:none}.scanner-stage{position:relative;min-height:160px;flex:1;display:grid;place-items:center;overflow:hidden;background:#07121c}.scanner-stage video,.scanner-photo{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.scanner-guide{position:absolute;width:82%;height:80%;border:2px dashed #bdd8e9;border-radius:14px;pointer-events:none;box-shadow:0 0 0 1200px #09152130}.scanner-guide span{position:absolute;bottom:12px;left:10px;right:10px;text-align:center;padding:7px;background:#152a3dcc;border-radius:7px;font-size:11px}.scanner-message{padding:10px 18px;text-align:center;color:#d4e5f1;font-size:12px;line-height:1.5;min-height:40px}.scanner footer{padding:12px 20px 20px;background:#152a3d}.scanner footer p{font-size:11px;color:#c4d4e2;text-align:center;line-height:1.5;margin:14px 0 0}.scanner-live,.scanner-review{display:flex;align-items:center;justify-content:center;gap:18px}.scanner-flash,.scanner-switch{padding:10px;background:#294155;border-radius:9px;color:white;font-size:12px;max-width:105px}.scanner-shutter{width:76px;height:76px;border:3px solid #e6f2ff;border-radius:50%;background:transparent;padding:5px;flex:none}.scanner-shutter span{display:block;width:100%;height:100%;border-radius:50%;background:white}.scanner-review button{min-width:120px}#ai-setup .field{margin:16px 0}#ai-setup .form-grid{gap:14px}
@media(max-width:680px){.rubric-criterion{padding:13px}.rubric-question,.transcript-question,.essay-question{padding-top:14px}.transcript{font-size:12px;padding:11px}.action-pending{padding:30px 18px}.action-pending h2{font-size:19px}.setting-row .actions{gap:6px}.setting-row .actions button{padding:8px 10px}}
