*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{--navy: #0f172a;--navy-lift: #16203a;--navy-sunk: #0b1120;--line: #25314f;--text: #f5f1ea;--text-dim: #9aa7bd;--cyan: #22d3ee;--cyan-deep: #0e7490;--hot: #ff7a2f;--bad: #f4557a;--radius: 14px;--radius-sm: 10px;--gap: .75rem;font-family:Inter,SF Pro Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-synthesis-weight:none;color-scheme:dark}body{min-height:100dvh;background-color:var(--navy);color:var(--text);letter-spacing:-.011em;overscroll-behavior-y:none}h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.1}.shell{display:flex;flex-direction:column;min-height:100dvh;max-width:34rem;margin-inline:auto}.shell__bar{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;gap:var(--gap);padding:.875rem 1rem .75rem;background-color:color-mix(in srgb,var(--navy) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.wordmark{font-size:1.0625rem;font-weight:800;letter-spacing:-.04em;text-transform:none}.wordmark__accent{color:var(--cyan)}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:2px;padding:3px;background-color:var(--navy-sunk);border:1px solid var(--line);border-radius:var(--radius-sm)}.segmented__item{padding:.4rem .25rem;border-radius:7px;color:var(--text-dim);font-size:.8125rem;font-weight:700;text-align:center;text-decoration:none;transition:background-color .12s ease,color .12s ease}.segmented__item--active{background-color:var(--cyan);color:var(--navy)}.page{display:flex;flex-direction:column;gap:1.25rem;flex:1;padding:1rem 1rem 2.5rem}.section-title{font-size:1.375rem}.section-title--sub{font-size:1.0625rem}.hint{color:var(--text-dim);font-size:.8125rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.55rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:var(--navy-lift);color:var(--text);font-size:.875rem;font-weight:700;text-decoration:none;cursor:pointer;transition:transform 90ms ease,background-color .12s ease,border-color .12s ease}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--cyan{background-color:var(--cyan);border-color:var(--cyan);color:var(--navy)}.btn--ghost{background-color:transparent;color:var(--text-dim)}.btn--ghost:hover:not(:disabled){color:var(--text);border-color:var(--cyan-deep)}.btn--danger{background-color:transparent;border-color:color-mix(in srgb,var(--bad) 50%,transparent);color:var(--bad)}.btn--small{padding:.35rem .6rem;font-size:.75rem}.btn--block{width:100%}.btn--start{width:100%;padding:.95rem 1rem;background-image:linear-gradient(135deg,var(--cyan),#38e2f5);border-color:transparent;border-radius:var(--radius);color:var(--navy);font-size:1.0625rem;font-weight:800;letter-spacing:-.02em;box-shadow:0 8px 24px -12px color-mix(in srgb,var(--cyan) 80%,transparent)}.hero{display:flex;flex-direction:column;gap:var(--gap)}.tally{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;padding:0;list-style:none}.tally--wide{grid-template-columns:repeat(2,1fr)}.tally__item{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.6rem .4rem;background-color:var(--navy-lift);border:1px solid var(--line);border-radius:var(--radius-sm)}.tally__value{font-size:1.375rem;font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.tally__item--hot .tally__value{color:var(--hot)}.tally__label{color:var(--text-dim);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.field{display:flex;flex-direction:column;gap:.25rem}.field__label{color:var(--text-dim);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.input{width:100%;padding:.55rem .7rem;background-color:var(--navy-sunk);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);font-size:.9375rem}.input::placeholder{color:color-mix(in srgb,var(--text-dim) 70%,transparent)}.input:focus-visible{outline:2px solid var(--cyan);outline-offset:1px}.input--answer{padding:.75rem .8rem;font-size:1.0625rem;font-weight:600}.toggle{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;background-color:var(--navy-lift);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:.875rem;font-weight:700}.toggle input{width:1.1rem;height:1.1rem;accent-color:var(--cyan)}.toggle__note{display:block;color:var(--text-dim);font-size:.75rem;font-weight:500}.choices{display:flex;flex-direction:column;gap:.5rem;padding:0;border:0}.choice{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.6rem;padding:.7rem .8rem;background-color:var(--navy-lift);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.choice--active{border-color:var(--cyan);background-color:color-mix(in srgb,var(--cyan) 10%,var(--navy-lift))}.choice input{accent-color:var(--cyan);grid-row:span 2}.choice__label{font-size:.9375rem;font-weight:800;letter-spacing:-.02em}.choice__blurb{grid-column:2;color:var(--text-dim);font-size:.75rem}.deck-list,.cards,.history{display:flex;flex-direction:column;gap:.5rem;padding:0;list-style:none}.deck{display:flex;flex-direction:column;gap:.75rem;padding:.8rem;background-color:var(--navy-lift);border:1px solid var(--line);border-radius:var(--radius)}.deck__head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.deck__name{font-size:1rem}.deck__counts{display:flex;gap:.5rem;color:var(--text-dim);font-size:.75rem;font-weight:600}.deck__last{color:var(--hot)}.deck__actions{display:flex;gap:.375rem;flex-shrink:0}.deck__editor{display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.cards__item{padding:.55rem .65rem;background-color:var(--navy-sunk);border:1px solid var(--line);border-radius:var(--radius-sm)}.cards__view{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cards__edit{display:flex;flex-direction:column;gap:.375rem}.cards__text{min-width:0}.cards__prompt{font-size:.875rem;font-weight:700}.cards__answer{color:var(--text-dim);font-size:.8125rem}.cards__row-actions{display:flex;gap:.25rem;flex-shrink:0}.cards__new{display:flex;flex-direction:column;gap:.5rem}.deck__danger{display:flex;gap:.375rem}.deck__delete{align-self:flex-start}.new-deck{display:flex;flex-direction:column;gap:.5rem;padding:.8rem;border:1px dashed var(--line);border-radius:var(--radius)}.round{gap:.875rem}.round__bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.round__position{color:var(--text-dim);font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums}.round__score{display:flex;align-items:baseline;gap:.4rem}.round__score-value{font-size:1.125rem;font-weight:800;font-variant-numeric:tabular-nums}.round__streak{color:var(--hot);font-size:.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.timer{height:4px;background-color:var(--navy-sunk);border-radius:999px;overflow:hidden}.timer__fill{height:100%;background-image:linear-gradient(90deg,var(--cyan),var(--hot));border-radius:999px;transition:width 1s linear}.qcard{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1rem;min-height:9.5rem;background-color:var(--navy-lift);border:1px solid var(--line);border-radius:var(--radius);animation:slide-in .22s cubic-bezier(.2,.8,.3,1)}.qcard--correct{border-color:var(--hot);animation:glow .62s ease-out}.qcard--wrong{border-color:var(--bad);animation:shake .32s cubic-bezier(.36,.07,.19,.97)}.qcard__deck{color:var(--text-dim);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.qcard__flip{color:var(--cyan)}.qcard__prompt{font-size:1.375rem}.qcard__reveal{display:flex;flex-direction:column;gap:.1rem;margin-top:auto;color:var(--text);font-size:1rem;font-weight:700}.qcard__reveal-label{color:var(--bad);font-size:.6875rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.qcard__nice{margin-top:auto;color:var(--hot);font-size:.875rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.round__form,.round__after{display:flex;flex-direction:column;gap:.5rem;align-items:stretch}.round__after .btn--small{align-self:center}.summary{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1rem;background-color:var(--navy-lift);border:1px solid var(--line);border-radius:var(--radius);text-align:center;animation:slide-in .24s cubic-bezier(.2,.8,.3,1)}.summary__title{font-size:1.125rem}.summary__score{color:var(--hot);font-size:3.25rem;font-weight:800;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}.summary__of{color:var(--text-dim);font-size:1.5rem}.summary__percent{color:var(--text-dim);font-size:.875rem;font-weight:700}.summary .tally{grid-template-columns:repeat(2,1fr)}.summary__links{display:flex;gap:.5rem}.summary__links .btn{flex:1}.history__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem;background-color:var(--navy-lift);border:1px solid var(--line);border-radius:var(--radius-sm)}.history__deck{font-size:.875rem;font-weight:700}.history__when{color:var(--text-dim);font-size:.75rem}.history__score{font-size:1.0625rem;font-weight:800;font-variant-numeric:tabular-nums}.history__of{color:var(--text-dim);font-size:.8125rem}@keyframes slide-in{0%{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:none}}@keyframes shake{10%,90%{transform:translate3d(-2px,0,0)}30%,70%{transform:translate3d(4px,0,0)}50%{transform:translate3d(-6px,0,0)}}@keyframes glow{0%{box-shadow:0 0 color-mix(in srgb,var(--hot) 55%,transparent)}40%{box-shadow:0 0 26px 3px color-mix(in srgb,var(--hot) 45%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--hot) 0%,transparent)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
