:root{--bg:#0e0d14;--panel:#181724;--panel2:#211f31;--line:#2e2b42;--ink:#eceaf5;--dim:#9a95b8;--gold:#f5c451;--red:#e5484d;--green:#3dd68c;--violet:#8b5cf6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:radial-gradient(1100px 500px at 50% -10%, #241f3d 0%, transparent 60%), var(--bg);color:var(--ink);min-height:100vh;margin:0;font:16px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.shell{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;padding:24px;display:flex}.card{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:18px;width:100%;max-width:440px;padding:28px;box-shadow:0 24px 60px #00000073}.card.wide{max-width:660px}.logo{letter-spacing:.14em;margin:0 0 6px;font-size:34px;font-weight:800}.logo span{color:var(--gold)}.tag{color:var(--dim);margin:0 0 22px}h2,h3{margin:0 0 8px}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:11px;transition:transform 60ms,background .15s,border-color .15s}button:disabled{opacity:.5;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}.big{background:var(--gold);color:#2a1d00;border:none;width:100%;padding:16px;font-size:17px;font-weight:700}.big:hover:not(:disabled){background:#ffd469}.alt{background:var(--panel2);color:var(--ink);border-color:var(--line);padding:12px 16px}.alt:hover:not(:disabled){border-color:var(--violet)}.ghost{color:var(--dim);background:0 0;border:none;padding:8px;text-decoration:underline}.linkish{color:var(--ink);background:0 0;border:none;padding:0;font-weight:600}.or{color:var(--dim);margin:18px 0;font-size:13px;position:relative}.or:before{content:"";background:var(--line);height:1px;position:absolute;inset:50% 0 auto}.or span{background:var(--panel);padding:0 10px;position:relative}.row{gap:10px;display:flex}.row>.alt{flex:1}.join{flex:1;gap:8px;display:flex}.join input,.rename input{background:var(--panel2);min-width:0;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:11px;flex:1;padding:12px}.join input{text-align:center;letter-spacing:.22em;text-transform:uppercase;font-weight:700}input:focus{outline:2px solid var(--violet);outline-offset:-1px}.who{background:var(--panel2);border-radius:11px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;padding:10px 12px;font-size:14px;display:flex}.record{color:var(--dim);font-variant-numeric:tabular-nums}.rename{flex:1;gap:6px;display:flex}.rename button{background:var(--violet);color:#fff;border:none;padding:8px 12px}.code{letter-spacing:.34em;text-indent:.34em;width:100%;color:var(--gold);background:var(--panel2);border:1px dashed var(--line);margin:12px 0 6px;padding:18px;font-family:ui-monospace,monospace;font-size:38px;font-weight:800;display:block}.notice{color:var(--dim);min-height:20px;margin:8px 0 0;font-size:14px}.err{color:var(--red)}.queued{flex-direction:column;align-items:center;gap:10px;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--gold);border-radius:50%;width:26px;height:26px;margin:16px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.scorebar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;display:flex}.side{text-align:left;flex-direction:column;min-width:96px;display:flex}.side.right{text-align:right}.side span{color:var(--dim);font-size:12px}.side b{font-variant-numeric:tabular-nums;font-size:26px}.mid{color:var(--dim);flex-direction:column;font-size:13px;display:flex}.timer{background:var(--panel2);border-radius:99px;height:6px;overflow:hidden}.timer .fill{background:var(--violet);height:100%;transition:width .1s linear}.timer .fill.low{background:var(--red)}.secs{color:var(--dim);font-variant-numeric:tabular-nums;margin:6px 0 14px;font-size:13px}.secs.low{color:var(--red);font-weight:700}.kind{text-transform:uppercase;letter-spacing:.13em;color:var(--dim);margin:0 0 8px;font-size:12px}.prompt{margin:0 0 22px;font-size:22px;font-weight:650;line-height:1.35}.choices{gap:10px;display:grid}.choice{text-align:left;background:var(--panel2);color:var(--ink);border:1px solid var(--line);padding:14px 16px;line-height:1.4}.choice:hover:not(:disabled){border-color:var(--violet);background:#2a2740}.choice.right{border-color:var(--green);background:#3dd68c24}.choice.wrong{border-color:var(--red);background:#e5484d24}.choice.dim{opacity:.45}.feedback{margin:16px 0 0;font-weight:700}.feedback.good{color:var(--green)}.feedback.bad{color:var(--red)}.waiting{color:var(--dim);font-weight:400}.verdict{margin:6px 0;font-size:38px}.verdict.win{color:var(--green)}.verdict.lose{color:var(--red)}.verdict.draw{color:var(--gold)}.final{font-variant-numeric:tabular-nums;margin:0 0 24px;font-size:30px;font-weight:800}.final span{color:var(--dim);margin:0 8px}.review{text-align:left;gap:10px;margin:0 0 22px;padding:0;list-style:none;display:grid}.review li{background:var(--panel2);border:1px solid var(--line);border-radius:11px;gap:3px;padding:12px 14px;display:grid}.review b{color:var(--gold)}.review span{color:var(--dim);font-size:14px}.review a{color:var(--violet);justify-self:start;font-size:12px;text-decoration:none}.setup{text-align:left}.setup ol{color:var(--dim);padding-left:20px;line-height:2}.setup code{background:var(--panel2);color:var(--ink);border-radius:5px;padding:2px 6px}.attrib{color:var(--dim);text-align:center;max-width:440px;font-size:12px}.attrib a{color:var(--dim)}@media (width<=520px){.row{flex-direction:column}.prompt{font-size:19px}.code{font-size:28px}}.nav{justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:660px;display:flex}.brand{letter-spacing:.12em;font-size:14px;font-weight:800}.brand span{color:var(--gold)}.navlink,.studylink{color:var(--violet);font-size:14px;text-decoration:none}.navlink:hover,.studylink:hover{text-decoration:underline}.studylink{margin-top:18px;display:block}.studytitle{margin:0 0 4px;font-size:26px}.segmented{background:var(--panel2);border:1px solid var(--line);border-radius:11px;gap:3px;padding:3px;display:inline-flex}.segmented button{color:var(--dim);background:0 0;border:none;border-radius:8px;padding:7px 12px;font-size:13px}.segmented button.on{background:var(--violet);color:#fff;font-weight:600}.big-seg{margin-bottom:10px}.big-seg button{padding:9px 22px;font-size:15px}.levels{margin-bottom:20px}.studybar{color:var(--dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:13px;display:flex}.tally b{font-variant-numeric:tabular-nums}.tally .good{color:var(--green)}.tally .bad{color:var(--red)}.deckbar{background:var(--panel2);border-radius:99px;height:4px;margin-bottom:20px;overflow:hidden}.deckbar div{background:var(--gold);height:100%;transition:width .25s}.flashcard{background:var(--panel2);border:1px solid var(--line);width:100%;min-height:210px;color:var(--ink);text-align:center;border-radius:14px;padding:26px;display:block}.flashcard:hover{border-color:var(--violet)}.flashcard .face{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.flashcard .front{font-size:23px;font-weight:650;line-height:1.35}.flashcard .back{color:var(--gold);border-top:1px solid var(--line);width:100%;padding-top:14px;font-size:17px;line-height:1.45;animation:.18s ease-out reveal}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1}}.flashcard .hint{color:var(--dim);font-size:12px}.grade{margin-top:14px}.grade button{flex:1}.good-btn:hover:not(:disabled){border-color:var(--green)}.bad-btn:hover:not(:disabled){border-color:var(--red)}kbd{font:inherit;opacity:.55;border:1px solid var(--line);border-radius:4px;margin-left:6px;padding:0 4px;font-size:11px}.source{color:var(--violet);margin-top:16px;font-size:13px;text-decoration:none;display:inline-block}.source:hover{text-decoration:underline}.afterword{justify-items:center;gap:12px;margin-top:18px;display:grid}.afterword .big{width:100%}.done{justify-items:center;gap:14px;display:grid}.review li.missed{border-color:#e5484d80}.lifetime{border-top:1px solid var(--line);color:var(--dim);margin:22px 0 0;padding-top:16px;font-size:13px}.shell.study{justify-content:flex-start;gap:22px;padding-top:32px}.hero{text-align:center;max-width:660px}.hero h1{letter-spacing:-.02em;margin:0 0 8px;font-size:clamp(28px,6vw,42px)}.hero p{color:var(--dim);margin:0;font-size:15px}.hero b{color:var(--ink);font-variant-numeric:tabular-nums}.controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.controls .levels{margin-bottom:0}.tropeart{opacity:.85;pointer-events:none;border-radius:13px 13px 0 0;height:96px;position:absolute;inset:0 0 auto;overflow:hidden}.tropeart:after{content:"";background:linear-gradient(to bottom, transparent 35%, var(--panel2) 100%);position:absolute;inset:0}.flashcard{padding-top:78px;position:relative;overflow:hidden}.flashcard .face{z-index:1;position:relative}.pitch{grid-template-columns:1fr 1fr;gap:14px;width:100%;max-width:660px;display:grid}.pitch>div{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:16px 18px}.pitch h3{margin:0 0 5px;font-size:14px}.pitch p{color:var(--dim);margin:0;font-size:13px;line-height:1.5}.pitch a{color:var(--violet);text-decoration:none}.pitch a:hover{text-decoration:underline}@media (width<=560px){.pitch{grid-template-columns:1fr}.controls{flex-direction:column;align-items:stretch}.controls .segmented{justify-content:center}}.wide-btn{white-space:nowrap;width:100%;margin-bottom:10px;display:block}.join{gap:8px;display:flex}.join input{flex:1;min-width:0}.join button{white-space:nowrap}.shell.landing{justify-content:center;gap:26px}.logo-lg{margin:0 0 10px;font-size:clamp(30px,7vw,46px)}.choices-grid{grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:720px;display:grid}.choice-card{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;padding:26px 24px 22px;text-decoration:none;transition:border-color .15s,transform .12s,background .15s;display:flex}.choice-card:hover{border-color:var(--gold);background:#1d1b2b;transform:translateY(-3px)}.choice-card.duel:hover{border-color:var(--violet)}.choice-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);font-size:11px}.choice-card h2{margin:0;font-size:25px}.choice-card p{color:var(--dim);flex:1;margin:0;font-size:14px;line-height:1.55}.choice-go{color:var(--gold);margin-top:10px;font-size:14px;font-weight:650}.choice-card.duel .choice-go{color:var(--violet)}.lifetime.standalone{text-align:center;border:none;margin:0;padding:0}.lifetime.standalone b{color:var(--ink);font-variant-numeric:tabular-nums}a.brand{color:var(--ink);text-decoration:none}@media (width<=600px){.choices-grid{grid-template-columns:1fr}}.decksize{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.decksize>span{color:var(--dim);font-size:13px}.projector{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.shell{z-index:1;position:relative}.projector .beam{clip-path:polygon(47.5% 0%,52.5% 0%,100% 100%,0% 100%);filter:blur(26px);mix-blend-mode:screen;background:linear-gradient(#fae4a833 0%,#f3d5911a 30%,#e8c47d0a 60%,#0000 85%);width:150vw;height:165vh;animation:6s ease-in-out infinite beam-flicker;position:absolute;top:-24vh;left:50%;transform:translate(-50%)}@keyframes beam-flicker{0%,to{opacity:1}17%{opacity:.93}22%{opacity:1}41%{opacity:.88}44%{opacity:.98}63%{opacity:.95}78%{opacity:1}81%{opacity:.91}}.projector .dust{opacity:.5;background-image:radial-gradient(1.5px 1.5px at 22% 18%,#fceec58c,#0000),radial-gradient(1.5px 1.5px at 61% 34%,#fceec566,#0000),radial-gradient(2px 2px at 44% 62%,#fceec559,#0000),radial-gradient(1.5px 1.5px at 73% 77%,#fceec573,#0000),radial-gradient(1px 1px at 34% 88%,#fceec580,#0000);animation:34s linear infinite dust-drift;position:absolute;inset:-10% 0 0}.projector .dust.two{opacity:.3;background-image:radial-gradient(1px 1px at 12% 44%,#fcf1cf80,#0000),radial-gradient(2px 2px at 82% 22%,#fcf1cf59,#0000),radial-gradient(1px 1px at 55% 71%,#fcf1cf73,#0000);animation:52s linear infinite reverse dust-drift}@keyframes dust-drift{0%{transform:translate(0,0)}to{transform:translate(-3vw,12vh)}}.projector .grain{opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.7s steps(4,end) infinite grain-shift;position:absolute;inset:-60%}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(2%,2%)}to{transform:translate(0)}}.projector .vignette{background:radial-gradient(80% 70% at 50% 42%,#0000 42%,#06050cb8 100%);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.projector .beam,.projector .dust,.projector .grain{animation:none}}.flashcard .back-short{color:var(--gold);font-size:17px;line-height:1.45;display:block}.flashcard .back-long{color:var(--dim);text-align:left;max-height:220px;margin-top:12px;font-size:13.5px;line-height:1.6;display:block;overflow-y:auto}.review .long{color:var(--dim);opacity:.85;margin-top:4px;font-size:12.5px;line-height:1.55}
