:root{font-family:Helvetica Neue,Arial,sans-serif;color:var(--text, #161648);background:var(--bg, #ffffff);line-height:1.6;font-weight:400;color-scheme:light}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg, #ffffff)}button,input,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}code{font-family:SF Mono,Consolas,monospace}.app-shell{--bg: #ffffff;--bg-glow: rgba(137, 171, 198, .16);--surface: #ffffff;--surface-strong: #f0e7d6;--text: #161648;--muted: #505075;--accent: #89abc6;--accent-strong: #e41c00;--accent-soft: rgba(137, 171, 198, .16);--border: #dee2e6;position:relative;display:flex;flex-direction:column;min-height:100vh;overflow:hidden;background:radial-gradient(circle at top left,var(--bg-glow),transparent 32%),linear-gradient(180deg,#fff,#f8f8f8 56%,#f0e7d6);color:var(--text)}.app-shell__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.68) 0%,transparent 32%),radial-gradient(circle at 82% 18%,rgba(240,231,214,.55),transparent 24%);pointer-events:none}.app{position:relative;z-index:1;flex:1;width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:24px 0 48px}.site-footer{position:relative;z-index:1;margin-top:auto;background:#161648;color:#ffffffd1}.site-footer__inner{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:40px 0 36px;display:grid;justify-items:center;gap:16px;text-align:center}.site-footer__logo{width:min(100%,260px);height:auto}.site-footer__caption{width:100%;margin:0;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);color:#fff;display:grid;gap:8px;font-family:Helvetica Neue,Arial,sans-serif;font-size:1rem;font-weight:400;letter-spacing:0;text-transform:none}.site-footer__link{color:#ffd36a;text-decoration:underline;text-underline-offset:.16em}.site-footer__link:hover,.site-footer__link:focus-visible{color:#fff1bd}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:14px 18px;border:1px solid var(--border);border-radius:10px;background:#fffffff5;box-shadow:0 2px 10px #00000014}.topbar__brand{display:grid;gap:6px;max-width:760px}.topbar__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px}.topbar h1{margin:0;font-size:clamp(1.9rem,5vw,2.85rem);line-height:1.03;letter-spacing:-.03em;font-weight:700}.topbar__subtitle{margin:0;max-width:68ch;color:var(--muted);font-size:.98rem}h2,h3,h4{margin:0;font-weight:700;color:var(--text)}.eyebrow{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-strong)}.muted{color:var(--muted)}.panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;box-shadow:0 5px 15px #00000014}.centered-panel,.hero-panel,.stacked-panel,.session-header,.results-summary,.panel{padding:24px}.centered-panel{text-align:center}.landing-grid,.results-layout{display:grid;gap:20px}.hero-panel{display:grid;gap:18px;color:#fff;background:linear-gradient(#161648c2,#161648c2),linear-gradient(135deg,#89abc6,#161648);border-color:#ffffff29}.hero-panel h2,.hero-panel .eyebrow,.hero-copy{color:#fff}.hero-copy{margin:0;max-width:62ch;color:#ffffffe0;font-size:1.05rem}.selection-card strong,.results-stage-row strong{display:block}.stacked-panel{display:grid;gap:18px}.step-header{display:flex;gap:14px;align-items:center}.step-header h3,.results-header h3,.match-header h3{margin:4px 0 0}.step-index,.question-card__index,.option-card__letter,.selection-card__count,.session-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;font-weight:700}.step-index{width:40px;height:40px;background:var(--accent-soft);color:var(--text)}.selection-grid{display:grid;gap:14px}.selection-card{text-align:left;border:1px solid var(--border);border-radius:10px;background:#fff;padding:18px;display:grid;gap:8px;color:inherit;transition:transform .14s ease,border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.selection-card:hover:not(:disabled),.option-card:hover,.symbol-option:hover,.match-chip:hover,.primary-button:hover,.ghost-button:hover{transform:translateY(-1px)}.selection-card.is-active,.option-card.is-selected,.symbol-option.is-selected,.match-chip.is-selected{border-color:var(--accent);background:#f8fbfd;box-shadow:0 0 0 2px #89abc62e}.selection-card:disabled{opacity:.58;cursor:not-allowed}.selection-card__count,.session-chip{width:fit-content;min-width:0;min-height:0;padding:6px 10px;background:var(--accent-soft);color:var(--text);font-size:.78rem;white-space:nowrap}.option-card__letter,.question-card__index{width:38px;min-width:38px;height:38px;padding:6px 10px;background:var(--accent-soft);color:var(--text);font-size:.78rem}.mode-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.start-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:6px}.primary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;border-radius:5px;border:1px solid transparent;min-height:48px;padding:0 20px;font-weight:700;text-decoration:none;transition:transform .14s ease,opacity .14s ease,background-color .14s ease,color .14s ease,border-color .14s ease}.primary-button{background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--text)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.ghost-button{background:#fff;border-color:var(--border);color:var(--text)}.ghost-button:hover{border-color:var(--accent);color:var(--accent)}.session-layout{display:grid;gap:18px}.session-header{display:grid;gap:16px}.session-header__meta,.results-header,.match-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.session-header__description{margin:0}.progress-block{display:grid;gap:8px}.progress-block__label{display:flex;justify-content:space-between;gap:12px;font-size:.94rem;color:var(--muted)}.progress-track{height:10px;border-radius:5px;background:#e9ecef;overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.question-grid,.match-grid,.error-list{display:grid;gap:18px}.question-card{display:grid;gap:16px}.question-card__header{display:flex;gap:12px;align-items:center}.symbol-frame{display:grid;place-items:center;background:#fff;border-radius:10px;border:1px solid var(--border);padding:16px;min-height:112px}.symbol-frame img{max-height:90px;object-fit:contain}.large-frame{min-height:156px}.large-frame img{max-height:120px}.small-frame{width:76px;min-height:76px;padding:10px}.small-frame img{max-height:52px}.prompt-name{padding:16px 18px;border-radius:10px;background:var(--surface-strong);border:1px solid var(--border);font-weight:700}.options-list,.symbol-options-grid,.results-stage-list{display:grid;gap:12px}.option-card,.symbol-option,.match-chip{border:1px solid var(--border);background:#fff;border-radius:10px;color:inherit;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.option-card{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;align-items:center;padding:14px 16px;text-align:left}.option-card__label{display:block;line-height:1.35}.symbol-options-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.symbol-option{padding:12px;display:grid;gap:12px;text-align:center}.text-answer{display:grid;gap:8px;font-weight:600}.text-answer input,.match-mobile-select select{width:100%;min-height:52px;border-radius:5px;border:1px solid var(--border);padding:0 16px;background:#fff;color:var(--text)}.match-layout{display:grid;gap:18px}.match-name-bank{display:flex;flex-wrap:wrap;gap:10px}.match-chip{padding:12px 14px;display:grid;gap:4px;text-align:left}.match-chip small{color:var(--muted)}.match-card{display:grid;gap:14px}.match-mobile-select{display:none;gap:6px;font-weight:600}.match-slot{min-height:58px;border-radius:10px;border:1px dashed var(--border);display:grid;place-items:center;text-align:center;padding:12px;color:var(--muted)}.match-slot.is-filled,.match-card.is-filled .match-slot{border-style:solid;color:var(--text);background:var(--surface-strong)}.session-footer{position:sticky;bottom:16px;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 20px;border:1px solid var(--border);background:#fffffff5;border-radius:10px;box-shadow:0 5px 15px #00000014}.results-summary{display:grid;gap:18px}.score-ring{width:clamp(180px,62vw,220px);height:clamp(180px,62vw,220px);max-width:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:14px;background:conic-gradient(var(--accent) 0deg var(--score-angle, 0deg),#e9ecef var(--score-angle, 0deg) 360deg);border:1px solid var(--border);margin:0 auto}.score-ring__inner{width:100%;height:100%;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px}.score-ring__inner strong{font-size:2rem;line-height:1;margin:0}.score-ring__inner span{color:var(--muted);font-size:.95rem;margin:0}.results-actions{display:flex;flex-wrap:wrap;gap:12px}.results-stage-row,.answer-pair{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.results-stage-row{padding:12px 0;border-bottom:1px solid var(--border)}.results-stage-row:last-child{border-bottom:none}.results-stage-row span,.answer-pair span{display:block;color:var(--muted);font-size:.9rem}.error-card{display:grid;gap:14px;padding:18px;border-radius:10px;background:#fff;border:1px solid var(--border)}.error-card__prompt{display:flex;gap:14px;align-items:center}.empty-state{min-height:160px;display:grid;place-items:center;text-align:center;border-radius:10px;background:#ffffffc7;border:1px dashed var(--border)}.correct-answer{color:#356449}.wrong-answer{color:#a23b3b}@media (min-width: 880px){.landing-grid{grid-template-columns:1.1fr 1fr;align-items:start}.landing-grid>:first-child{grid-column:1 / -1}.question-grid,.match-grid,.error-list{grid-template-columns:repeat(2,minmax(0,1fr))}.results-layout{grid-template-columns:320px minmax(0,1fr);align-items:start}.results-layout>:last-child{grid-column:1 / -1}}@media (max-width: 760px){.app{width:min(100vw - 20px,1180px);padding-top:16px;padding-bottom:24px}.topbar,.topbar__actions,.session-header__meta,.results-header,.match-header,.start-bar,.session-footer,.answer-pair{flex-direction:column;align-items:stretch}.panel,.centered-panel,.hero-panel,.stacked-panel,.session-header,.results-summary{padding:18px}.symbol-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.match-name-bank{display:none}.match-mobile-select{display:grid}.session-footer{bottom:8px}.site-footer__inner{width:min(100vw - 20px,1180px);padding:32px 0 28px;gap:14px}.site-footer__logo{width:min(100%,220px)}.site-footer__caption{font-size:1rem}}
