@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff")}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff")}@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2)format("woff2"),url(/assets/roboto-latin-500-normal-fsTFPL3E.woff)format("woff")}:root{--paper:#f7f9fb;--grid:#d6ebff;--sheet:#f2f2f3;--ink:#1d2d3d;--ink-2:#33475a;--muted:#4d6377;--muted-2:#7d93a6;--link:#2c455d;--hairline:#cfdde9;--hairline-2:#b9c9d8;--field:#14202b;--field-card:#1d2d3d;--field-hairline:#2a3f52;--ice:#b5d9fd;--on-field:#f5f5f8;--on-field-muted:#c8d5e0;--danger:#a8503a;--danger-line:#e0c8bd;--danger-wash:#f7ece8;--hover-wash:#e7edf3;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Barlow,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;min-height:100%}body{background-color:var(--paper);background-image:repeating-linear-gradient(0deg, transparent 0 21px, var(--grid) 21px 22px), repeating-linear-gradient(90deg, transparent 0 21px, var(--grid) 21px 22px);min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}button,select,input{font:inherit}button:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--link);outline-offset:3px}.app-shell{width:100%;max-width:480px;min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));background-color:var(--paper);background-image:repeating-linear-gradient(0deg, transparent 0 21px, var(--grid) 21px 22px), repeating-linear-gradient(90deg, transparent 0 21px, var(--grid) 21px 22px);margin:0 auto}.dark-screen{color:var(--on-field);background:var(--field)}h1,h2,h3,.wordmark,.summary-count strong{letter-spacing:-.01em;font-family:Barlow Semi Condensed,Arial Narrow,ui-sans-serif,system-ui,sans-serif;font-weight:700}h1{margin:10px 0 18px;font-size:clamp(36px,10vw,40px);line-height:1.02}h2{font-size:26px;line-height:1.12}p{font-size:16px;line-height:1.5}.brand-mark,.header-mark,.preparing-mark,.waiting-mark,.correct-mark,.series-scale-check{flex:none;display:block}.brand-tile{width:124px;height:124px;color:var(--ink);background-color:var(--sheet);background-image:repeating-linear-gradient(0deg, transparent 0 14px, var(--grid) 14px 15px), repeating-linear-gradient(90deg, transparent 0 14px, var(--grid) 14px 15px);border-radius:29px;place-items:center;display:grid}.brand-tile .brand-mark{width:78px;height:78px}.header-mark{width:26px;height:26px;color:var(--link)}.dark-screen .header-mark{color:var(--ice)}.login-screen{padding-top:max(32px, env(safe-area-inset-top));padding-bottom:max(32px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;display:flex}.wordmark{letter-spacing:-.02em;margin-top:24px;margin-bottom:10px;font-size:46px}.lead{max-width:330px;color:var(--on-field-muted);margin:0 0 34px;font-size:18px;line-height:1.5}.button-google{color:#3c4043;background:#fff;border-color:#dadce0;border-radius:4px;min-height:48px;font-family:Roboto,Arial,sans-serif;font-size:15px;font-weight:500}.login-error{border-color:var(--field-hairline);color:var(--on-field);background:var(--field-card);margin:0 0 18px}.page-header{margin-bottom:28px}.branded-header{align-items:center;gap:12px;display:flex}.branded-header h1{margin:2px 0 0}.compact-header{min-height:44px;margin-bottom:24px}.eyebrow,.technical-label{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.eyebrow{color:var(--link)}.technical-label{color:var(--muted);letter-spacing:.16em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.dark-screen .eyebrow,.dark-screen .technical-label{color:var(--ice)}.muted,.form-note,.advance-note{color:var(--muted)}.stack{gap:10px;display:grid}.selection-screen,.active-screen,.summary-screen{flex-direction:column;display:flex}.selection-form{gap:20px}.grade-field,.rating{min-width:0;margin:0}.grade-field{border:0;padding:0}.grade-field legend,.field>span{margin-bottom:9px;font-size:16px;font-weight:600}.grade-field legend{padding:0}.grade-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.grade-option{cursor:pointer;place-items:center;min-width:0;min-height:52px;display:grid;position:relative}.grade-option input{opacity:0;width:100%;height:100%;margin:0;position:absolute}.grade-option span{border:1px solid var(--hairline-2);background:var(--paper);border-radius:16px;place-items:center;width:100%;min-height:52px;font-size:18px;font-weight:600;display:grid}.grade-option input:checked+span{border-color:var(--ink);color:var(--on-field);background:var(--ink)}.grade-option input:focus-visible+span{outline:3px solid var(--link);outline-offset:3px}.grade-field:disabled .grade-option{cursor:not-allowed;opacity:.55}.field{font-size:16px;display:grid}select{border:1px solid var(--hairline-2);width:100%;min-height:52px;color:var(--ink);background:var(--paper);border-radius:16px;padding:0 44px 0 16px}.button{text-align:center;cursor:pointer;border:1.5px solid #0000;border-radius:16px;justify-content:center;align-items:center;width:100%;min-height:48px;padding:11px 18px;font-weight:600;line-height:1.35;display:inline-flex}.button:disabled,.button[aria-disabled=true]{color:var(--muted-2);cursor:not-allowed;background:#c6d4e0;border-color:#c6d4e0}.button-primary{min-height:52px;color:var(--on-field);background:var(--ink)}.button-secondary{border-color:var(--hairline-2);color:var(--ink);background:var(--paper)}.button-danger{border-color:var(--danger);color:var(--danger);background:0 0}.button-quiet{width:auto;min-width:44px;min-height:44px;color:var(--link);text-underline-offset:3px;background:0 0;border:0;border-radius:0;padding:8px 0;text-decoration:underline}.dark-screen .button-quiet{color:var(--on-field-muted)}.form-note{text-align:center;margin:-3px 0 0;font-size:14px}.account-bar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:32px;font-size:14px;display:flex}.account-name{overflow-wrap:anywhere;min-width:0}.dark-screen .account-bar{color:var(--on-field-muted)}.error,.empty-state,.danger-notice,.neutral-notice,.sheet-card{border:1px solid var(--hairline);background:var(--sheet);overflow-wrap:anywhere;border-radius:16px;padding:16px 18px}.error,.empty-state{margin:0 0 18px}.error,.danger-notice{border-color:var(--danger-line)}.error{color:var(--danger)}.empty-state{color:var(--ink-2)}.utility-screen .header-mark{margin-bottom:24px}.status{text-align:center;margin-top:30vh}.series-card{border:1px solid var(--hairline);background:var(--sheet);border-radius:16px;padding:18px}.series-card h1{overflow-wrap:anywhere;margin:8px 0;font-size:32px}.series-meta{color:var(--muted);margin:0 0 20px}.active-actions,.restart-actions{margin-top:20px}.restart-card h1{margin-top:0}.restart-card p{color:var(--ink-2);margin-bottom:0}.series-scale{gap:5px;width:100%;display:flex}.series-scale-cell{border:1px solid var(--hairline-2);min-width:0;height:24px;color:var(--on-field);background:0 0;flex:1 1 0;place-items:center;display:grid;position:relative}.series-card .series-scale-cell{height:34px}.series-scale-cell-complete{border-color:var(--ink);background:var(--ink)}.series-scale-cell-current{border:2px solid var(--ink)}.series-scale-check{width:19px;height:19px}.series-scale-summary .series-scale-cell{border-color:var(--field-hairline);height:42px}.series-scale-cell-full{background:var(--ice)}.series-scale-cell-partial{background:linear-gradient(to top, var(--ice) 0 50%, transparent 50%)}.series-scale-cell-none{background:0 0}.series-scale-cell-technical{color:var(--on-field-muted);background:0 0;border-style:dashed}.series-scale-legend{color:var(--on-field-muted);gap:8px;margin:16px 0 24px;padding:0;font-size:14px;list-style:none;display:grid}.series-scale-legend li{align-items:center;gap:9px;display:flex}.legend-swatch{border:1px solid var(--field-hairline);flex:none;place-items:center;width:25px;height:16px;font-size:12px;display:grid}.task-screen{padding-top:0}.task-bar{z-index:2;padding:calc(12px + env(safe-area-inset-top)) 20px 14px;border-bottom:1px solid var(--hairline);background:#f7f9fbf7;margin:0 -20px 22px;position:sticky;top:0}.task-bar-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:12px;display:grid}.task-position{margin:0;font-family:Barlow Semi Condensed,Arial Narrow,ui-sans-serif,system-ui,sans-serif;font-size:24px;font-weight:700;line-height:1}.task-condition-toggle{min-width:44px;min-height:44px;color:var(--link);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.condition-sheet{background:var(--sheet);border-radius:16px;margin-bottom:22px;padding:18px}.condition-sheet h1{margin:4px 0 12px;font-size:28px}.condition{border-top:1px solid var(--hairline-2);border-bottom:1px solid var(--hairline-2);overflow-wrap:anywhere;white-space:pre-wrap;max-width:100%;margin:0;padding:14px 0;font-size:18px;line-height:1.55;overflow-x:auto}.file-input{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-input:focus-visible+.button{outline:3px solid var(--link);outline-offset:3px}.photo-actions{margin-top:20px}.preparing{text-align:center;align-content:center;place-items:center;min-height:300px;display:grid}.preparing-mark{width:76px;height:76px;color:var(--link);margin-bottom:18px}.preparing h1{margin-bottom:6px;font-size:32px}.preparing>p:last-child{color:var(--muted);margin:0;font-size:14px}.preparation-error .error{background:0 0;border:0;padding:0}.danger-notice h1,.neutral-notice h1,.photo-preview h1,.waiting h1{font-size:30px}.reject-notice h1,.neutral-notice h1{margin-top:8px}.reject-notice>p:not(.technical-label):not(.eyebrow),.neutral-notice>p:not(.technical-label){color:var(--ink-2)}.photo-frame{aspect-ratio:3/4;border:1px solid var(--hairline);background:var(--field);border-radius:16px;width:100%;position:relative;overflow:hidden}.photo-frame img{object-fit:contain;width:100%;height:100%;display:block}.photo-preview .photo-frame{margin:16px 0 20px}.preview-actions{gap:12px}.preview-actions .photo-actions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.preview-actions .photo-actions .button{min-width:0;padding-left:10px;padding-right:10px}.back-to-task{justify-self:start}.waiting{gap:18px;display:grid}.waiting-photo{max-height:52vh}.scan-line{background:var(--ice);height:2px;position:absolute;top:18%;left:0;right:0;box-shadow:0 0 14px 4px #b5d9fda6}.waiting-sheet{border:1px solid var(--hairline);background-color:var(--paper);background-image:repeating-linear-gradient(0deg, transparent 0 21px, var(--grid) 21px 22px), repeating-linear-gradient(90deg, transparent 0 21px, var(--grid) 21px 22px);text-align:center;border-radius:16px;align-content:center;place-items:center;min-height:230px;padding:22px 18px;display:grid}.waiting-mark{width:64px;height:64px;color:var(--link);margin-bottom:14px}.waiting-sheet h1{margin:8px 0 4px}.waiting-sheet p:last-child{color:var(--ink-2);margin:0}.connection-status{border:1px solid var(--hairline);color:var(--ink-2);background:var(--sheet);border-radius:16px;margin:0;padding:13px 16px}.analysis-result{gap:14px;display:grid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.result-label{border:1px solid var(--hairline);background:var(--paper);border-radius:16px;align-items:center;gap:10px;min-height:58px;padding:13px 16px;font-size:20px;font-weight:600;line-height:1.28;display:flex}.result-mark{flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.result-mark .correct-mark{width:26px;height:26px;color:var(--ink)}.answer-correct{border-color:#b9d4ea}.answer-incorrect{border-color:var(--danger-line);color:var(--danger)}.solution-steps,.findings,.rating{margin-top:8px}.solution-steps{background:var(--sheet);border-radius:16px;padding:18px}.solution-steps p,.finding-card p{overflow-wrap:anywhere;white-space:pre-wrap}.solution-steps h2,.findings h2{margin:0 0 16px;font-size:26px}.solution-steps p{color:var(--ink-2);margin-bottom:0}.findings-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.finding-card{border:1px solid var(--hairline);background:var(--paper);border-radius:16px;padding:18px}.finding-card h3{align-items:center;gap:10px;margin:0 0 14px;font-size:21px;display:flex}.finding-card h3 span{border:1.5px solid var(--hairline-2);flex:0 0 34px;place-items:center;width:34px;height:34px;font-family:Barlow,ui-sans-serif,system-ui,sans-serif;font-size:16px;display:grid}.finding-card p{margin:9px 0 0}.finding-card strong{color:var(--muted);font-size:14px;font-weight:600}.rating{border:1px solid var(--hairline);background:var(--paper);border-radius:16px;gap:16px;padding:18px;display:grid}.rating legend{padding:0 7px;font-family:Barlow Semi Condensed,Arial Narrow,ui-sans-serif,system-ui,sans-serif;font-size:22px;font-weight:700}.rating-zero,.rating-understanding{gap:8px;display:grid}.rating-zero p,.rating-understanding p{margin:0}.rating-option{cursor:pointer;align-items:center;gap:8px;min-width:44px;min-height:44px;font-weight:600;display:inline-flex}.rating-option input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin:0}.rating-disagree{width:100%}.rating-scale{grid-template-columns:repeat(5,minmax(44px,1fr));gap:4px;display:grid}.rating-scale .rating-option{justify-content:center}.rating-saved{font-weight:600}.advance-button{margin-top:8px}.advance-note{text-align:center;margin:-6px 0 0;font-size:14px}.table-wrap{max-width:100%}table{table-layout:fixed;border-collapse:collapse;background:0 0;width:100%}th,td{border-bottom:1px solid var(--field-hairline);overflow-wrap:anywhere;text-align:left;padding:12px 7px;font-size:14px}thead th{color:var(--on-field-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:600}tbody th{color:var(--ice)}td .correct-mark{width:18px;height:18px;color:var(--ice);vertical-align:middle;margin-right:5px;display:inline-block}.summary-header{margin-bottom:24px}.summary-header .header-mark{margin-bottom:18px}.summary-header h1{margin-bottom:0}.summary-count{grid-template-columns:auto 1fr;align-items:end;column-gap:9px;margin-bottom:24px;display:grid}.summary-count strong{color:var(--ice);letter-spacing:-.02em;font-size:54px;line-height:.9}.summary-count>span{color:var(--on-field-muted);font-size:20px}.summary-count p{color:var(--on-field-muted);grid-column:1/-1;margin:8px 0 0;font-size:14px}.technical-failure-count{color:var(--on-field-muted);margin:18px 0 22px;font-size:14px}.summary-screen>.button-primary{color:var(--field);background:var(--ice)}.preview-toolbar{border:2px dashed var(--hairline-2);background:var(--paper);border-radius:16px;gap:12px;width:min(100% - 40px,440px);margin:16px auto 0;padding:16px;display:grid}.preview-toolbar label{gap:8px;font-weight:600;display:grid}@media (hover:hover){.button-primary:hover:not(:disabled){background:var(--field)}.button-secondary:hover:not(:disabled),.grade-option:hover span{background:var(--hover-wash)}.button-danger:hover:not(:disabled){background:var(--danger-wash)}.button-google:hover:not(:disabled){background:#f8f9fa}}@media (prefers-reduced-motion:no-preference){.button{transition:background-color .12s,color .12s,transform .12s}.button:active:not(:disabled){transform:translateY(1px)}.preparing .step-draw path,.waiting .step-draw path{stroke-dasharray:130;animation:3s ease-in-out infinite mpStepDraw}.waiting .scan-line{animation:2.8s ease-in-out infinite mpScan}}@media (prefers-reduced-motion:reduce){.preparing .step-draw path,.waiting .step-draw path{stroke-dasharray:none}.waiting .scan-line{top:50%}}@keyframes mpStepDraw{0%,to{stroke-dashoffset:100px}50%{stroke-dashoffset:4px}}@keyframes mpScan{0%,to{top:16%}50%{top:84%}}
