@font-face{font-family:Space Grotesk;src:url(/fonts/SpaceGrotesk-VariableFont_wght.woff2)format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-VariableFont_wdth_wght.woff2)format("woff2");font-weight:100 700;font-style:normal;font-stretch:85% 100%;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{--background:#f8f6f0;--foreground:#1b1913;--card:#fff;--primary:#ea5816;--primary-hover:#d24811;--primary-foreground:#1b1913;--secondary:#efebe0;--muted-foreground:#635c4d;--accent:#2b6cff;--success:#3a8f5b;--destructive:#c5412a;--border:#e2dccc;--input:#ccc4af;--ring:#ea5816;--tick:#ccc4af;--shadow-sm:0 1px 3px #1b191314, 0 1px 2px #1b19130a;--shadow-primary:0 6px 18px -4px #ea581666;--font-display:"Space Grotesk", system-ui, sans-serif;--font-sans:"IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;color:var(--foreground);background:var(--background);font-family:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--foreground);background:var(--background);font-feature-settings:"ss01", "cv05";-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button,label,select{touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in srgb, var(--primary) 18%, transparent)}a{color:inherit}h1,h2,h3,h4{font-family:var(--font-display);text-wrap:balance}p{text-wrap:pretty}a:focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 30%, transparent);outline-offset:3px;border-radius:2px}.page-shell,.landing{min-height:100vh}.page-shell{padding:24px 16px 48px}.narrow-shell{width:min(100%,720px);margin:0 auto}.brand-link{color:var(--foreground);font-family:var(--font-display);letter-spacing:-.02em;font-size:1.3rem;font-weight:700;text-decoration:none}.brand-link:hover{color:var(--primary)}.eyebrow,.question-number{color:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:.75rem;font-weight:500}.eyebrow:before,.question-number:before{color:var(--primary);content:"// "}.button{border:1px solid var(--primary);text-align:center;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;min-height:48px;padding:11px 18px;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .14s cubic-bezier(.2,.6,.2,1),border-color .14s cubic-bezier(.2,.6,.2,1),box-shadow .14s cubic-bezier(.2,.6,.2,1),transform .14s cubic-bezier(.2,.6,.2,1);display:inline-flex}.button-primary{color:var(--primary-foreground);background:var(--primary);box-shadow:var(--shadow-primary)}.button-secondary{color:var(--foreground);border-color:var(--input);background:0 0}.button-primary:hover{background:var(--primary-hover)}.button-secondary:hover{background:var(--secondary)}.button:active{transform:translateY(1px)}.button:focus-visible{outline:3px solid color-mix(in srgb, var(--ring) 30%, transparent);outline-offset:3px}.quiz-option:has(input:focus-visible){outline:3px solid color-mix(in srgb, var(--ring) 30%, transparent);outline-offset:3px}.button:disabled{border-color:var(--border);color:var(--muted-foreground);background:var(--secondary);box-shadow:none;cursor:not-allowed}.button-full{width:100%}.landing{background:var(--background);padding:18px 16px 40px}.landing-nav{justify-content:space-between;align-items:center;gap:16px;width:min(100%,1120px);margin:0 auto;display:flex}.nav-signup{color:var(--accent);font-family:var(--font-mono);text-align:right;font-size:.8rem;font-weight:500}.hero{align-content:center;gap:44px;width:min(100%,1120px);min-height:calc(100vh - 86px);margin:0 auto;padding:56px 0;display:grid}.hero h1,.quiz-header h1{color:var(--foreground);font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:0;font-size:clamp(2.35rem,11vw,4.6rem);font-weight:600;line-height:1.02}.hero-body{max-width:620px;color:var(--muted-foreground);margin:24px 0 0;font-size:1.08rem;line-height:1.7}.hero-actions{gap:12px;margin-top:30px;display:grid}.hero-note{color:var(--muted-foreground);margin:16px 0 0;font-size:.9rem}.hero-mark{width:190px;height:190px;color:var(--primary-foreground);background:var(--primary);box-shadow:18px 18px 0 var(--accent);text-align:center;border-radius:38% 62% 58% 42%/45% 42% 58% 55%;place-content:center;justify-self:center;display:grid;transform:rotate(4deg)}.hero-mark span{font-family:var(--font-display);font-size:5rem;font-weight:850;line-height:.85}.hero-mark small{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:10px;font-weight:700}.quiz-header{margin:48px 0 28px}.quiz-header h1{font-size:clamp(2rem,9vw,3.3rem)}.quiz-header>p:last-child{color:var(--muted-foreground);text-wrap:pretty;line-height:1.65}.quiz-profile-picker{gap:7px;max-width:360px;margin-top:22px;font-weight:600;display:grid}.quiz-profile-picker select{border:1px solid var(--input);min-height:48px;color:var(--foreground);background:var(--card);border-radius:4px;padding:10px 12px}.quiz-profile-picker select:focus-visible{border-color:var(--ring);outline:3px solid color-mix(in srgb, var(--ring) 30%, transparent);outline-offset:1px}.question-block{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm);border-radius:8px;margin-bottom:18px;padding:16px;position:relative}.question-block:before,.question-block:after{pointer-events:none;content:"";width:7px;height:7px;position:absolute}.question-block:before{border-top:1.5px solid var(--tick);border-left:1.5px solid var(--tick);top:-1px;left:-1px}.question-block:after{border-right:1.5px solid var(--tick);border-bottom:1.5px solid var(--tick);bottom:-1px;right:-1px}.quiz-question{border:0;min-width:0;margin:0;padding:0}.quiz-question legend{width:100%;color:var(--foreground);font-size:1.05rem;font-family:var(--font-display);text-wrap:pretty;overflow-wrap:anywhere;padding:0 0 14px;font-weight:600;line-height:1.45;display:block}.quiz-option{border:1px solid var(--border);color:var(--foreground);background:var(--card);overflow-wrap:anywhere;cursor:pointer;border-radius:4px;align-items:flex-start;gap:10px;margin-top:8px;padding:13px 12px;line-height:1.45;transition:background-color .14s cubic-bezier(.2,.6,.2,1),border-color .14s cubic-bezier(.2,.6,.2,1);display:flex}.quiz-option:hover{border-color:var(--input);background:color-mix(in srgb, var(--secondary) 45%, var(--card))}.quiz-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb, var(--primary) 9%, var(--card))}.quiz-option input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin:2px 0 0}.result-card,.status-card{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-sm);border-radius:8px}.result-card{text-align:center;margin-top:24px;padding:28px 20px}.result-score{color:var(--accent);font-family:var(--font-display);margin:2px 0;font-size:3.5rem;font-weight:850;line-height:1}.result-card .button{margin-top:14px}.status-card{margin:20vh 0 20px;padding:24px;line-height:1.6}.text-link{color:var(--accent);font-weight:700}.text-link:hover{text-decoration:underline}.auth-shell{width:min(100%,560px);margin:0 auto}.auth-card{background:#fff;border:1px solid #ccd7dc;border-radius:16px;margin-top:36px;padding:24px 18px;box-shadow:0 8px 22px #29688814}.auth-header h1,.auth-message h1{color:#173847;letter-spacing:-.045em;margin:0;font-size:clamp(2rem,9vw,3rem);line-height:1.05}.auth-header>p:last-child,.auth-message>p{color:#516872;line-height:1.6}.auth-form{gap:18px;margin-top:24px;display:grid}.auth-form label{gap:8px;font-weight:700;display:grid}.auth-form input,.auth-form select,.auth-form textarea{color:#173847;background:#fff;border:1px solid #aebfc7;border-radius:10px;width:100%;min-height:48px;padding:10px 12px}.auth-form textarea{resize:vertical;min-height:170px}.auth-form input:focus-visible,.auth-form select:focus-visible,.auth-form textarea:focus-visible{outline-offset:1px;border-color:#296888;outline:3px solid #29688838}.form-success{color:#17613b;margin:0;line-height:1.5}.admin-back-link{margin-top:24px;display:inline-block}.form-error{color:#a33b09;margin:0;line-height:1.5}.auth-alternative{color:#516872;text-align:center;margin:22px 0 0}.auth-message .text-link{margin-top:12px;display:inline-block}.dashboard-header{margin:48px 0 36px}.dashboard-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(2.2rem,10vw,3.6rem);line-height:1.05}.dashboard-header>p:last-child{color:#516872;line-height:1.65}.admin-shell{width:min(100%,1120px);margin:0 auto}.admin-actions{gap:10px;margin-top:24px;display:grid}.admin-grid{align-items:start;gap:24px;display:grid}.admin-grid .dashboard-section{margin-top:0}.table-scroll{background:#fff;border:1px solid #ccd7dc;border-radius:14px;overflow-x:auto;box-shadow:0 8px 22px #29688812}.results-table{border-collapse:collapse;text-align:left;width:100%}.results-table th,.results-table td{vertical-align:middle;white-space:nowrap;border-bottom:1px solid #e1e7ea;padding:14px}.results-table th{color:#516872;letter-spacing:.04em;text-transform:uppercase;background:#f5f8f9;font-size:.78rem}.results-table tbody tr:last-child td{border-bottom:0}.results-table td small{color:#61747d;margin-top:3px;display:block}.weak-topics{color:#fff;background:#296888;border-radius:14px;padding:20px;box-shadow:0 8px 22px #2968882e}.weak-topics h2,.weak-topics p{margin-top:0}.weak-topics p{line-height:1.55}.weak-topics ol,.worker-history ul{margin:18px 0 0;padding:0;list-style:none}.weak-topics li,.worker-history li{border-top:1px solid #ffffff40;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.weak-topics li span,.worker-history li span{gap:3px;display:grid}.weak-topics li small{color:#dcecf3}.worker-history{scroll-margin-top:16px}.worker-history li{border-top-color:#e1e7ea;flex-wrap:wrap}.worker-history time{color:#61747d;font-size:.85rem}.dashboard-section,.review-section{margin-top:36px}.dashboard-section h2,.review-section h2{margin-bottom:16px;font-size:1.35rem}.card-list,.review-list{gap:14px;display:grid}.dashboard-card,.empty-state,.review-item{background:#fff;border:1px solid #ccd7dc;border-radius:14px;padding:18px;box-shadow:0 8px 22px #29688812}.dashboard-card h3,.review-item h3{margin:0;line-height:1.4}.assignment-card{justify-content:space-between;align-items:center;gap:18px;display:flex}.assignment-copy{min-width:0}.assignment-copy>p{color:var(--muted-foreground,#516872);margin:6px 0 0;line-height:1.5}.assignment-meta{font-family:var(--font-mono,monospace);text-transform:uppercase;flex-wrap:wrap;gap:6px 14px;font-size:.75rem;display:flex}.profile-summary{gap:10px;margin-bottom:24px;display:grid}.profile-stat{border:1px solid var(--border,#ccd7dc);color:var(--foreground,#173847);background:var(--card,#fff);text-align:left;cursor:pointer;border-radius:8px;gap:4px;padding:14px;display:grid}.profile-stat:hover,.profile-stat.is-active{border-color:var(--primary,#e16119);background:color-mix(in srgb, var(--primary,#e16119) 8%, var(--card,#fff))}.profile-stat span{color:var(--muted-foreground,#516872);font-size:.82rem}.profile-filter{gap:6px;max-width:280px;margin-bottom:24px;font-weight:700;display:grid}.profile-filter select,.results-table select{border:1px solid var(--input,#aebfc7);min-height:40px;color:var(--foreground,#173847);background:var(--card,#fff);border-radius:4px;padding:7px 9px}.attempt-card{align-items:center;gap:12px;display:grid}.attempt-card time{color:#61747d;font-size:.85rem}.attempt-score{color:#296888;margin:0;font-size:1.8rem;font-weight:850}.result-badge{border-radius:999px;width:fit-content;padding:6px 10px;font-size:.8rem;font-weight:800;display:inline-flex}.result-badge.is-passed{color:#17613b;background:#dff4e7}.result-badge.is-failed{color:#8b2e1a;background:#fbe4df}.quiz-result .result-badge{margin:12px auto 0}.review-section{margin-bottom:24px}.review-item{border-left-width:5px}.review-item.is-correct{border-left-color:#238250}.review-item.is-incorrect{border-left-color:#c24b30}.review-answers{gap:12px;margin:18px 0;display:grid}.review-answers div{background:#f3f6f7;border-radius:9px;padding:10px 12px}.review-answers dt,.review-explanation h4{color:#516872;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.review-answers dd{margin:4px 0 0;font-weight:700}.review-explanation h4,.review-explanation p{margin:0}.review-explanation p{color:#405965;margin-top:6px;line-height:1.6}@media (width>=640px){.page-shell{padding:32px 24px 72px}.landing{padding:24px 32px 56px}.hero-actions{display:flex}.question-block{padding:22px}.auth-card{margin-top:48px;padding:36px}.attempt-card{grid-template-columns:minmax(0,1fr) auto auto}.admin-actions{display:flex}.review-answers{grid-template-columns:1fr 1fr}.profile-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=860px){.hero{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);align-items:center;gap:72px}.hero-mark{width:250px;height:250px}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.36fr)}}@media (prefers-reduced-motion:reduce){.button,.quiz-option{transition:none}}
