.recall-app{background:radial-gradient(ellipse 900px 500px at 50% -10%, #e0a23d33, transparent 60%), linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bot) 100%);color:var(--ink);box-sizing:border-box;flex:1;justify-content:center;width:100%;min-height:100%;padding:32px 18px 64px;font-family:Public Sans,sans-serif;transition:background .2s,color .2s;display:flex}.recall-app *,.recall-app :before,.recall-app :after{box-sizing:border-box}.recall-app .app{width:100%;max-width:620px}.recall-app header.top{text-align:center;margin-bottom:28px}.recall-app .top-bar-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.recall-app .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:11px}.recall-app h1.wordmark{letter-spacing:.01em;color:var(--ink);margin:0 0 6px;font-family:Newsreader,serif;font-size:38px;font-weight:600}.recall-app .sub{color:var(--ink-soft);max-width:420px;margin:0 auto;font-size:13.5px;line-height:1.5}.recall-app .progress{flex-wrap:wrap;justify-content:center;gap:6px;margin:26px 0 22px;display:flex}.recall-app .dot{background:var(--line);border-radius:50%;width:9px;height:9px;transition:background .25s,box-shadow .25s,transform .25s}.recall-app .dot.done{background:var(--good)}.recall-app .dot.current{background:var(--accent);box-shadow:0 0 0 4px rgba(var(--shadow-color), .14);transform:scale(1.25)}.recall-app .dot.wrong{background:var(--bad)}.recall-app .card-wrap{position:relative}.recall-app .glow{background:radial-gradient(ellipse at 50% 20%, rgba(var(--shadow-color), .06), transparent 65%);pointer-events:none;filter:blur(4px);position:absolute;inset:-30px}.recall-app .card{background:var(--card);color:var(--ink);border-radius:var(--radius);box-shadow:0 30px 60px -30px rgba(var(--shadow-color), .28);padding:34px 30px 28px;position:relative}.recall-app .cat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);align-items:center;gap:8px;margin-bottom:14px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.recall-app .cat-label:before{content:"";background:var(--accent-deep);border-radius:50%;width:6px;height:6px;display:inline-block}.recall-app .prompt{color:var(--ink);margin:0 0 20px;font-family:Newsreader,serif;font-size:23px;font-style:italic;font-weight:500;line-height:1.38}.recall-app .study-list{background:var(--sky-bot);text-align:center;letter-spacing:.02em;color:var(--ink);border-radius:12px;margin-bottom:20px;padding:20px;font-family:Newsreader,serif;font-size:22px;font-style:italic;font-weight:500;line-height:1.6}.recall-app .study-hint{color:var(--ink-soft);text-align:center;margin-bottom:18px;font-size:13px}.recall-app .self-rate-answer{background:var(--sky-bot);text-align:center;color:var(--ink);border-radius:12px;margin-bottom:20px;padding:18px;font-family:Newsreader,serif;font-size:20px;font-style:italic;font-weight:500}.recall-app .self-rate-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:6px;display:flex}.recall-app .prompt-sub{color:var(--ink-soft);margin:-8px 0 16px;font-size:13px}.recall-app .options{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px;display:grid}.recall-app .options.stacked{grid-template-columns:1fr}.recall-app button.opt{text-align:left;border:1.5px solid var(--line);background:var(--card-alt);color:var(--ink);cursor:pointer;border-radius:10px;padding:14px 16px;font-family:Public Sans,sans-serif;font-size:15px;font-weight:500;transition:border-color .15s,background .15s,transform .1s}.recall-app button.opt:hover:not(:disabled){border-color:var(--accent)}.recall-app button.opt:active:not(:disabled){transform:scale(.99)}.recall-app button.opt:disabled{cursor:default}.recall-app button.opt.correct{border-color:var(--good);color:var(--ink);background:#6b8f7129}.recall-app button.opt.incorrect{border-color:var(--bad);color:var(--ink);background:#b75c4b24}.recall-app .feedback{border-radius:10px;margin-top:14px;padding:12px 14px;font-size:13.5px;line-height:1.5}.recall-app .feedback.right{color:var(--ink);background:#6b8f7129}.recall-app .feedback.wrong{color:var(--ink);background:#b75c4b24}.recall-app .btn-row{justify-content:space-between;align-items:center;margin-top:22px;display:flex}.recall-app .q-count{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:12px}.recall-app button.primary{background:linear-gradient(180deg, var(--accent), var(--accent-deep));color:#3a2405;cursor:pointer;box-shadow:0 10px 20px -10px rgba(var(--shadow-color), .4);border:none;border-radius:999px;padding:12px 22px;font-family:Public Sans,sans-serif;font-size:14px;font-weight:700;transition:filter .15s,transform .1s,box-shadow .15s}.recall-app button.primary:hover:not(:disabled){box-shadow:0 14px 24px -10px rgba(var(--shadow-color), .5);transform:translateY(-1px)}.recall-app button.primary:active:not(:disabled){transform:scale(.98)}.recall-app button.primary:disabled{opacity:.4;cursor:default}.recall-app button.ghost{background:var(--card-alt);color:var(--ink-soft);border:1.5px solid var(--line);cursor:pointer;border-radius:999px;padding:11px 20px;font-family:Public Sans,sans-serif;font-size:14px;font-weight:600}.recall-app button.ghost:hover{border-color:var(--accent-deep);color:var(--accent-deep)}.recall-app .panel{background:var(--card);color:var(--ink);border-radius:var(--radius);text-align:center;box-shadow:0 30px 60px -30px rgba(var(--shadow-color), .28);padding:34px 30px}.recall-app .panel h2{color:var(--ink);margin:0 0 10px;font-family:Newsreader,serif;font-size:26px;font-style:italic;font-weight:500}.recall-app .panel p{color:var(--ink-soft);margin:0 0 22px;font-size:14.5px;line-height:1.6}.recall-app .diff-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:22px;display:flex}.recall-app .diff-pill{letter-spacing:.04em;border:1.5px solid var(--line);background:var(--card-alt);color:var(--ink);cursor:pointer;border-radius:999px;padding:9px 16px;font-family:IBM Plex Mono,monospace;font-size:12px}.recall-app .diff-pill.active{background:linear-gradient(180deg, var(--accent), var(--accent-deep));border-color:var(--accent-deep);color:#3a2405;font-weight:600}.recall-app .score-big{color:var(--ink);margin:4px 0 2px;font-family:Newsreader,serif;font-size:56px;font-style:italic;font-weight:600}.recall-app .score-sub{color:var(--ink-soft);margin-bottom:24px;font-size:13px}.recall-app .breakdown{text-align:left;margin-bottom:26px}.recall-app .bd-row{align-items:center;gap:10px;margin-bottom:9px;display:flex}.recall-app .bd-label{width:130px;color:var(--ink-soft);flex-shrink:0;font-size:12.5px}.recall-app .bd-bar-track{background:var(--line);border-radius:99px;flex:1;height:7px;overflow:hidden}.recall-app .bd-bar-fill{background:var(--good);border-radius:99px;height:100%}.recall-app .bd-frac{color:var(--ink-soft);text-align:right;width:34px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.recall-app .ask-diff{color:var(--ink);margin-bottom:12px;font-size:14px;font-weight:600}.recall-app .end-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.recall-app .progress-summary{color:var(--ink-soft);background:var(--card-alt);border:1px solid var(--line);text-align:left;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.5}.recall-app .focus-note{color:var(--accent-deep);text-align:left;margin-bottom:18px;font-size:12.5px;line-height:1.5}.recall-app .focus-note b{color:var(--accent-deep)}.recall-app .history-panel{text-align:left;margin-top:26px}.recall-app .history-toggle{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0;font-family:IBM Plex Mono,monospace;font-size:11.5px;text-decoration:underline}.recall-app .history-list{margin-top:12px}.recall-app .history-row{color:var(--ink-soft);border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;justify-content:space-between;align-items:center;width:100%;padding:7px 0;font-family:inherit;font-size:12.5px;display:flex}.recall-app .history-row:hover{color:var(--ink)}.recall-app .history-row .chev{color:var(--ink-soft);margin-left:6px;font-size:10px;transition:transform .15s;display:inline-block}.recall-app .history-row[aria-expanded=true] .chev{transform:rotate(90deg)}.recall-app .history-detail{border-bottom:1px solid var(--line);padding:4px 0 10px 4px}.recall-app .history-detail .bd-row:last-child{margin-bottom:0}.recall-app .history-score-wrap{align-items:center;gap:8px;display:inline-flex}.recall-app .history-score-bar{background:var(--line);vertical-align:middle;border-radius:99px;width:54px;height:6px;display:inline-block;overflow:hidden}.recall-app .history-score-bar-fill{background:var(--good);border-radius:99px;height:100%;display:block}.recall-app .history-clear{color:var(--bad);cursor:pointer;background:0 0;border:none;margin-top:12px;padding:0;font-family:IBM Plex Mono,monospace;font-size:11px;text-decoration:underline}.auth-line{color:var(--ink-soft);text-align:center;margin-top:12px;font-size:12.5px}.auth-linklike{font-family:inherit;font-size:inherit;color:var(--accent-deep);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.auth-linklike:hover{color:var(--accent)}.auth-line-stack{flex-direction:column;align-items:center;gap:6px;display:flex}.auth-oauth-btn{align-items:center;gap:6px;display:inline-flex}.auth-form{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.auth-form input[type=email]{border:1.5px solid var(--line);background:var(--card-alt);color:var(--ink);border-radius:999px;min-width:200px;padding:9px 12px;font-family:Public Sans,sans-serif;font-size:13px}.auth-form input[type=email]::placeholder{color:var(--ink-soft)}.auth-form input[type=email]:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.auth-error{color:var(--bad);text-align:center;width:100%;font-size:12px}.recall-app footer.note{text-align:center;color:var(--ink-soft);margin-top:26px;font-size:11.5px;line-height:1.6}.recall-app button.opt:focus-visible,.recall-app button.primary:focus-visible,.recall-app button.ghost:focus-visible,.recall-app .diff-pill:focus-visible,.recall-app .history-row:focus-visible,.recall-app .history-toggle:focus-visible,.recall-app .history-clear:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}
