:root{--bg: #f2f4f9;--card-bg: #ffffff;--ink: #171a2b;--ink-dim: #7a8099;--accent-blue: #3b6fef;--accent-green: #2fae6b;--accent-red: #e5484d;--shadow: 0 10px 24px -12px rgba(23, 26, 43, .18), 0 2px 6px rgba(23, 26, 43, .06);--shadow-sm: 0 4px 10px -4px rgba(23, 26, 43, .16)}*{box-sizing:border-box}html,body{height:100%;overscroll-behavior-y:none}body{margin:0;background:var(--bg);font-family:IBM Plex Sans,ui-sans-serif,system-ui,sans-serif}.page{min-height:100vh;min-height:100dvh;width:100%;background:var(--bg);color:var(--ink);padding-inline:16px;padding-block:20px 32px;display:flex;justify-content:center}.app{width:100%;max-width:440px;display:flex;flex-direction:column;gap:18px}.brand-row{display:flex;align-items:center;justify-content:space-between}.back-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;align-self:flex-start;background:none;padding:6px 2px;color:var(--ink-dim);font-family:IBM Plex Sans,sans-serif;font-weight:600;font-size:14px}.games-link-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;text-decoration:none;padding:9px 16px;border-radius:999px;background:var(--card-bg);box-shadow:var(--shadow-sm);color:var(--ink-dim);font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:600;font-size:14px;display:flex;align-items:center;justify-content:center}.logo{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:700;font-size:26px;margin:0;letter-spacing:-.01em}.logo .ink{color:var(--ink)}.logo .pop-blue{color:var(--accent-blue)}.logo .pop-red{color:var(--accent-red)}.logo .pop-green{color:var(--accent-green)}.screen-title{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:700;font-size:clamp(20px,6vw,24px);text-align:center;margin:0;text-wrap:balance}.screen-sub{font-size:14px;color:var(--ink-dim);text-align:center;margin:-8px 0 0}.deck-list{display:flex;flex-direction:column;gap:10px}.deck-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:16px;padding:14px 16px;background:var(--card-bg);box-shadow:var(--shadow-sm);text-align:left}.deck-card:active{transform:scale(.98)}.deck-card-text{display:flex;flex-direction:column;gap:2px;overflow:hidden}.deck-card-title{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:700;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.deck-card-sub{font-size:12px;color:var(--ink-dim)}.deck-card-delete{flex:none;font-size:16px;padding:4px 6px;border-radius:8px;opacity:.6}.deck-card-delete:hover{opacity:1;background:#0000000d}.error-text{font-size:13px;color:var(--accent-red);text-align:center;margin:-4px 0 0;font-weight:600}.capture-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;padding:40px 20px;border-radius:24px;background:var(--card-bg);box-shadow:var(--shadow);font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:700;font-size:18px;color:var(--ink);border:2px dashed #cfd5e6}.capture-btn:active{transform:scale(.98)}.or-divider{display:flex;align-items:center;gap:10px;color:var(--ink-dim);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:#dde1ee}.paste-textarea{width:100%;border:none;border-radius:18px;box-shadow:var(--shadow-sm);background:var(--card-bg);padding:14px 16px;font-family:IBM Plex Sans,sans-serif;font-size:14px;color:var(--ink);resize:vertical}.paste-textarea:focus{outline:2px solid var(--accent-blue);outline-offset:1px}.pill-btn-primary:disabled{opacity:.5;cursor:not-allowed}.photo-preview-wrap{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.photo-preview{display:block;width:100%;max-height:55vh;object-fit:cover}.progress-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.progress-dots{display:flex;align-items:center;width:100%;max-width:260px}.progress-dot{flex:none;width:10px;height:10px;border-radius:50%;background:#d7dceb}.progress-dot-filled{background:var(--accent-blue)}.progress-line{flex:1;height:2px;background:#d7dceb}.progress-line-filled{background:var(--accent-blue)}.progress-count{font-size:12px;color:var(--ink-dim);font-variant-numeric:tabular-nums}.options-grid{display:grid;grid-template-columns:1fr;gap:12px}.option-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;min-height:56px;padding:14px 18px;border-radius:16px;box-shadow:var(--shadow-sm);background:var(--card-bg);font-family:IBM Plex Sans,sans-serif;font-weight:600;font-size:15px;text-align:left;color:var(--ink);transition:transform .06s ease,opacity .2s ease}.option-btn:active{transform:scale(.98)}.option-correct{background:var(--accent-green);color:#fff}.option-incorrect{background:var(--accent-red);color:#fff}.option-faded{opacity:.5}.explanation-text{font-size:13px;color:var(--ink-dim);text-align:center;margin:-4px 0 0}.feedback-actions{display:flex;gap:10px}.pill-btn-secondary,.pill-btn-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;flex:none;padding:13px;border-radius:999px;font-family:IBM Plex Sans,sans-serif;font-weight:700;font-size:14px}.feedback-actions .pill-btn-secondary,.feedback-actions .pill-btn-primary{flex:1}.pill-btn-secondary{background:#e8ebf3;color:var(--ink)}.pill-btn-primary{background:var(--accent-blue);color:#fff}.complete-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding-block:20px}.complete-emoji{font-size:48px}.results-header{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding-block:12px 4px}.results-score-ring{display:flex;align-items:baseline;gap:4px;margin-top:4px}.results-score-number{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:700;font-size:44px;color:var(--ink)}.results-score-total{font-family:Fredoka,ui-rounded,system-ui,sans-serif;font-weight:600;font-size:20px;color:var(--ink-dim)}.review-list{display:flex;flex-direction:column;gap:10px}.review-item{display:flex;align-items:flex-start;gap:12px;border-radius:16px;padding:14px 16px;background:var(--card-bg);box-shadow:var(--shadow-sm);border-left:4px solid transparent}.review-correct{border-left-color:var(--accent-green)}.review-incorrect{border-left-color:var(--accent-red)}.review-icon{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}.review-correct .review-icon{background:var(--accent-green)}.review-incorrect .review-icon{background:var(--accent-red)}.review-text{display:flex;flex-direction:column;gap:3px}.review-question{margin:0;font-size:14px;font-weight:600;color:var(--ink);line-height:1.35}.review-your-answer{margin:0;font-size:13px;color:var(--accent-red)}.spinner{width:40px;height:40px;border-radius:50%;border:4px solid #d7dceb;border-top-color:var(--accent-blue);animation:spin .8s linear infinite;margin-bottom:4px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.capture-btn,.option-btn{transition:none}.spinner{animation-duration:1.6s}}
