.play-root.lesson{height:100svh;min-height:0}.lesson-top{border:1px solid var(--border);background:#00000080;border-radius:14px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:8px;width:calc(100% - 16px);max-width:760px;margin:8px auto 0;padding:6px 10px 6px 6px;display:grid}.lt-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.lt-kicker{letter-spacing:.12em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;color:var(--gold);font-size:10.5px;font-weight:700;overflow:hidden}.lt-step{font-family:var(--font-display);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.lesson-dots{gap:1px;margin:0;padding:0;list-style:none;display:flex}.lesson-dots button{background:0 0;border:0;width:16px;height:22px;padding:0;display:block;position:relative}.lesson-dots button:after{content:"";background:#fff3;border-radius:99px;width:8px;height:8px;transition:width .25s,background .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lesson-dots button.open{cursor:pointer}.lesson-dots button.open:after{background:#fac775a6}.lesson-dots button.on{width:24px}.lesson-dots button.on:after{background:var(--gold);width:18px}.auntie-row{grid-template-columns:clamp(78px,22vw,124px) 1fr;align-items:end;gap:12px;width:calc(100% - 16px);max-width:760px;margin:10px auto 0;display:grid}.auntie-frame{aspect-ratio:1;border:3px solid var(--gold);background:#341a66;border-radius:50%;animation:.25s ease-out frame-in;overflow:hidden;box-shadow:0 6px 18px #00000080}.auntie-frame.mood-cheer{box-shadow:0 0 0 4px #fac77559,0 6px 18px #00000080}@keyframes frame-in{0%{transform:scale(.96)}}.a-bubble{color:#2a1a0c;background:#fffaf0;border-radius:16px;flex-direction:column;justify-content:space-between;min-height:104px;padding:10px 12px 8px 14px;display:flex;position:relative;box-shadow:0 8px 22px #00000073}.a-bubble:before{content:"";background:#fffaf0;border-radius:3px;width:16px;height:16px;position:absolute;bottom:26px;left:-7px;transform:rotate(45deg)}.a-bubble-text{font-size:clamp(14.5px,3.9vw,17px);font-weight:500;line-height:1.38;position:relative}.caret{vertical-align:-2px;background:#2a1a0c;width:2px;height:1em;margin-left:2px;animation:.7s step-end infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.a-bubble-foot{justify-content:flex-end;align-items:center;gap:8px;min-height:34px;margin-top:4px;display:flex}.a-bubble-next{background:var(--gold);color:#241400;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:7px 16px;font-size:15px;font-weight:700;animation:.3s ease-out pop-in,2.4s ease-in-out 4s infinite nudge;box-shadow:0 3px #a86a10}.a-bubble-next:active{transform:translateY(2px);box-shadow:0 1px #a86a10}@keyframes nudge{0%,80%,to{transform:translate(0)}88%{transform:translate(4px)}94%{transform:translate(-2px)}}.your-move{color:#8a4b05;letter-spacing:.1em;text-transform:uppercase;background:#fde7c2;border-radius:99px;margin-right:auto;padding:3px 9px;font-size:11px;font-weight:700;animation:.3s ease-out pop-in}@keyframes pop-in{0%{opacity:0;transform:scale(.7)}}.auntie{width:100%;height:100%;display:block}.auntie .a-head,.auntie .a-body{transform-box:view-box;transform-origin:128px 200px}.auntie .a-head{animation:3.4s ease-in-out infinite a-bob}@keyframes a-bob{50%{transform:rotate(-2.5deg)translateY(1px)}}.auntie[data-talking] .a-head{animation:.9s ease-in-out infinite a-chat}@keyframes a-chat{30%{transform:rotate(1.6deg)translateY(-1.5px)}70%{transform:rotate(-1.6deg)}}.auntie[data-mood=tsk] .a-head{animation:.9s ease-in-out a-shake}@keyframes a-shake{20%{transform:rotate(-7deg)}40%{transform:rotate(6deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}.auntie[data-mood=think] .a-head{animation:.6s ease-out forwards a-tilt}@keyframes a-tilt{to{transform:rotate(-7deg)}}.auntie[data-mood=cheer] .a-head,.auntie[data-mood=cheer] .a-body{animation:.5s ease-in-out 3 a-hop}@keyframes a-hop{50%{transform:translateY(-10px)}}.auntie .a-brows,.auntie .a-brow-r{transform-box:fill-box;transform-origin:50%;transition:transform .25s}.auntie[data-mood=tsk] .a-brows{transform:translateY(-6px)}.auntie[data-mood=think] .a-brow-r{transform:translateY(-7px)rotate(-8deg)}.auntie .a-ear{transform-box:fill-box;transform-origin:50% 0;animation:3.4s ease-in-out infinite a-ear}@keyframes a-ear{50%{transform:rotate(8deg)}}.auntie .a-glint{animation:5s ease-in-out infinite a-glint}@keyframes a-glint{0%,78%,to{opacity:0}86%{opacity:.9}}.auntie .a-mouth{opacity:0}.auntie .a-mouth.mid{opacity:1}.auntie[data-mood=cheer] .a-mouth.mid,.auntie[data-mood=tsk] .a-mouth.mid{opacity:0}.auntie[data-mood=cheer] .a-mouth.open,.auntie[data-mood=tsk] .a-mouth.purse{opacity:1}.auntie[data-talking] .a-mouth.purse{opacity:0}.auntie[data-talking] .a-mouth.open{animation:.3s step-end infinite a-talk-open}.auntie[data-talking] .a-mouth.mid{animation:.3s step-end infinite a-talk-mid}@keyframes a-talk-open{0%{opacity:1}50%{opacity:0}}@keyframes a-talk-mid{0%{opacity:0}50%{opacity:1}}.auntie .a-sparkles path{opacity:0;transform-box:fill-box;transform-origin:50%}.auntie[data-mood=cheer] .a-sparkles path{animation:1.1s ease-in-out 2 a-spark}.auntie[data-mood=cheer] .a-sparkles path:nth-child(2){animation-delay:.2s}.auntie[data-mood=cheer] .a-sparkles path:nth-child(3){animation-delay:.4s}@keyframes a-spark{0%,to{opacity:0;transform:scale(.3)rotate(0)}50%{opacity:1;transform:scale(1.15)rotate(45deg)}}.lesson .table-wrap{width:min(94vw,48svh,600px)}@media (min-width:768px){.auntie-row{margin-top:12px}.lesson .table-wrap{width:min(70vw,50svh,620px)}}.lesson .seat-name{color:#fff}.seat.ask{cursor:pointer;pointer-events:auto}.seat.ask .avatar{border-color:var(--gold);animation:1.2s ease-in-out infinite seat-pulse}.seat.spot .avatar{box-shadow:0 0 0 4px var(--gold-light), 0 0 24px 8px #fac77599}.seat.shake .avatar{animation:.45s ease-in-out shake}.chip.pop{animation:.35s cubic-bezier(.2,1.6,.4,1) pop-in}.trick.spot:after{content:"";aspect-ratio:1;border:3px dashed #fac775d9;border-radius:50%;width:46%;animation:1.4s ease-in-out infinite ring;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ring{50%{transform:translate(-50%,-50%)scale(1.07)}}.pointer{z-index:8;pointer-events:none;width:26px;height:26px;position:absolute}.pointer:before{content:"";border-right:6px solid var(--gold-light);border-bottom:6px solid var(--gold-light);filter:drop-shadow(0 2px 3px #000000b3);border-radius:3px;position:absolute;inset:3px}.pointer.at-n{animation:.9s ease-in-out infinite bob-up;top:25%;left:50%}.pointer.at-n:before{transform:rotate(-135deg)}@keyframes bob-up{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,-8px)}}.pointer.at-hand{margin:0 auto -8px;animation:.9s ease-in-out infinite bob-down;display:block;position:relative}.pointer.at-hand:before{transform:rotate(45deg)}@keyframes bob-down{50%{transform:translateY(6px)}}.lesson-links,.lesson-flow{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.lesson-links line{stroke-width:1.5px;stroke-dasharray:3 2.2;stroke-linecap:round;animation:1.2s linear infinite dash}.ll-us{stroke:var(--team)}.ll-them{stroke:var(--rival)}@keyframes dash{to{stroke-dashoffset:-5.2px}}.ll-label{transform-box:view-box;transform-origin:50px 50px;animation:.4s ease-out pop-in}.ll-pill{stroke-width:.5px}.ll-pill.us{fill:#04342cf0;stroke:var(--team)}.ll-pill.them{fill:#4a1b0cf0;stroke:var(--rival)}.lesson-links text,.lesson-flow text{fill:#fff;font-family:var(--font-display);letter-spacing:.02em;text-anchor:middle;font-size:4.6px;font-weight:700}.lesson-flow circle{fill:none;stroke:var(--gold-light);stroke-width:1.3px;stroke-dasharray:2 3}.lesson-flow path{fill:none;stroke:var(--gold-light);stroke-width:1.8px;stroke-linecap:round}.lf-spin{transform-box:view-box;transform-origin:50px 50px;animation:5s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.lesson-flow text{text-transform:uppercase;paint-order:stroke;stroke:#000000b3;stroke-width:1.2px;font-size:5px}.deal-flight{z-index:4;pointer-events:none;position:absolute;inset:0}.deal-card{opacity:0;width:11%;animation:none;animation-delay:calc(var(--i) * 70ms);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.deal-card .card-back{filter:drop-shadow(0 2px 4px #00000080);width:100%;height:auto;display:block}.deal-card.to-w{animation-name:fly-w}.deal-card.to-n{animation-name:fly-n}.deal-card.to-e{animation-name:fly-e}@keyframes fly-w{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-380%,-50%)rotate(-90deg)}}@keyframes fly-n{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-330%)rotate(180deg)}}@keyframes fly-e{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(280%,-50%)rotate(90deg)}}.lesson .hcard{position:relative}.lesson .hcard:not(:disabled){cursor:pointer}.lesson .hcard.dealt{animation:.5s cubic-bezier(.2,.9,.3,1.15) backwards deal-in;animation-delay:calc(var(--i) * 55ms)}@keyframes deal-in{0%{opacity:0;transform:translateY(-42vh)rotate(-20deg)scale(.5)}}.lesson .hcard.glow{transform:translateY(-14px)}.lesson .hcard.glow .pc{animation:1.3s ease-in-out infinite card-glow}@keyframes card-glow{0%,to{box-shadow:0 0 0 3px var(--gold-light), 0 0 10px 2px #fac7758c}50%{box-shadow:0 0 0 3px var(--gold-light), 0 0 22px 8px #fac775d9}}.lesson .hcard.wiggle{animation:.7s ease-in-out infinite wiggle}@keyframes wiggle{0%,to{transform:translateY(-14px)rotate(0)}25%{transform:translateY(-18px)rotate(-5deg)}75%{transform:translateY(-18px)rotate(5deg)}}.lesson .hcard.shake{animation:.45s ease-in-out shake}@keyframes shake{20%{transform:translate(-9px)rotate(-3deg)}40%{transform:translate(8px)rotate(3deg)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.lesson .hcard.picked{transform:translateY(-12px)}.lesson .hcard.picked .pc{box-shadow:0 0 0 3px var(--gold), 0 0 14px 3px #ef9f2799}.lesson .hcard.aunt .pc{box-shadow:0 0 0 3px #a98ce6,0 0 16px 4px #a98ce6b3}.lesson .hcard.picked.aunt .pc{box-shadow:0 0 0 3px var(--gold), 0 0 0 6px #a98ce6, 0 0 16px 4px #a98ce699}.mark{border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:800;animation:.35s cubic-bezier(.2,1.6,.4,1) pop-in;display:grid;position:absolute;left:-5px;box-shadow:0 2px 5px #00000080}.mark.you{background:var(--gold);color:#241400;top:-10px}.mark.aunt{color:#fff;background:#7d4fc4;top:16px}.count-bar{z-index:3;justify-content:center;align-items:center;gap:12px;margin:0 auto 12px;font-size:13.5px;font-weight:600;display:flex;position:relative}.count-bar b{min-width:1.1em;font-family:var(--font-display);color:var(--gold-light);font-size:21px;animation:.3s cubic-bezier(.2,1.6,.4,1) pop-in;display:inline-block}.cb-aunt b{color:#c9b3f5}.cb-done{background:var(--gold);color:#241400;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;border-radius:99px;padding:6px 18px;font-size:15px;font-weight:700;box-shadow:0 3px #a86a10}.lesson-sheet,.lesson-quiz{z-index:7;text-align:center;background:#021a33f5;border:1px solid #ef9f278c;border-radius:16px;width:min(94%,420px);padding:12px 12px 14px;animation:.3s ease-out banner-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 40px #0000008c}.sheet-title{font-family:var(--font-display);letter-spacing:.03em;text-transform:uppercase;font-size:18px;font-weight:700}.sheet-books{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:4px;margin:10px 0 8px;display:grid}.sb{aspect-ratio:5/7;border-radius:4px;position:relative}.sb.in-bid{outline-offset:1px;outline:2px dashed #fac775b3}.sb.in-bid.miss{background:#f0786e24;outline-color:#f0786ee6}.sb .card-back{width:100%;height:100%;animation:.35s cubic-bezier(.2,1.4,.4,1) backwards book-in;animation-delay:calc(var(--i) * .17s);display:block}.sb em{color:var(--gold-light);text-transform:uppercase;animation:.3s backwards pop-in;animation-delay:calc(var(--i) * .17s + .2s);font-size:9.5px;font-style:normal;font-weight:700;position:absolute;bottom:-16px;left:50%;transform:translate(-50%)}@keyframes book-in{0%{opacity:0;transform:translateY(-30px)scale(.6)}}.sheet-lines{opacity:0;min-height:40px;margin-top:16px;font-size:14px;transition:opacity .3s}.sheet-lines.in{opacity:1}.sheet-lines b{color:var(--gold-light)}.sheet-lines .bad{color:#ffb4a8}.sheet-line{color:var(--muted);font-size:13px}.sheet-total{font-family:var(--font-display);opacity:0;font-size:40px;font-weight:700;line-height:1.1;transition:opacity .3s,transform .45s cubic-bezier(.2,1.6,.4,1);transform:scale(.6)}.sheet-total.in{opacity:1;transform:none}.sheet-total.good{color:var(--team)}.sheet-total.bad{color:#ff8f7d}.bag-row{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;margin:12px 0 6px;display:grid}.bag svg{fill:#c99a5b;stroke:#6b4a1f;stroke-width:1.2px;width:100%;height:auto;animation:.35s cubic-bezier(.2,1.4,.4,1) backwards book-in;animation-delay:calc(var(--i) * .15s);display:block}.nil-pair{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.nil-card{border-radius:12px;flex-direction:column;gap:2px;padding:12px 8px;animation:.4s backwards book-in;display:flex}.nil-card.good{border:1px solid var(--team);background:#5dcaa524}.nil-card.bad{background:#f0786e1f;border:1px solid #f0786e;animation-delay:.5s}.nil-books{color:var(--muted);font-size:13px}.nil-pts{font-family:var(--font-display);font-size:30px;font-weight:700}.nil-card.good .nil-pts{color:var(--team)}.nil-card.bad .nil-pts{color:#ff8f7d}.lesson-quiz{width:min(92%,400px);padding:14px}.lq-q{font-size:15.5px;font-weight:700;line-height:1.35}.lq-opts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.lq-opts button{color:var(--fg);font-family:var(--font-display);background:#ffffff12;border:2px solid #fff3;border-radius:12px;padding:14px 4px;font-size:24px;font-weight:700;transition:border-color .15s}.lq-opts button:not(:disabled):hover{border-color:var(--gold-light)}.lq-opts .right{border-color:var(--team);color:#bff0de;background:#5dcaa533;animation:.4s cubic-bezier(.2,1.6,.4,1) pop-in}.lq-opts .wrong{background:#f0786e26;border-color:#f0786e;animation:.45s shake}.lq-opts .off{opacity:.4}.confetti{z-index:9;pointer-events:none;position:absolute;inset:0;overflow:hidden}.overlay>.confetti{position:fixed}.confetti i{border-radius:2px;animation:linear forwards confetti-fall;position:absolute;top:-14px}@keyframes confetti-fall{to{transform:translateY(110vh) rotate(calc(var(--spin) * 720deg))}}.overlay.grad{z-index:25}.grad-card{z-index:10;margin-top:64px;padding-top:0;position:relative}.grad-auntie{border:3px solid var(--gold);background:#341a66;border-radius:50%;width:104px;height:104px;margin:-56px auto 6px;overflow:hidden;box-shadow:0 8px 20px #00000080}.grad-line{min-height:2.8em;color:var(--muted);margin:4px 0 12px;font-size:14.5px}.grad-badge{text-align:left;background:#ef9f2714;border:1px solid #ef9f2759;border-radius:14px;align-items:center;gap:14px;margin-bottom:14px;padding:12px;display:flex}.grad-badge>:first-child{flex:none;animation:.9s cubic-bezier(.2,1.5,.4,1) .3s backwards medal-in}@keyframes medal-in{0%{opacity:0;transform:scale(0)rotate(-200deg)}}.gb-name{font-family:var(--font-display);text-transform:uppercase;color:var(--gold-light);font-size:20px;font-weight:700}.gb-how{color:var(--muted);font-size:13px}.gb-how a{color:var(--gold-light);text-decoration:underline}.grad-card .summary-btn{display:block}.grad-sub{color:var(--muted);margin-top:6px;font-size:12.5px}.grad-row{flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:14px;font-size:14px;display:flex}.grad-row a,.grad-row button{color:var(--gold-light);text-underline-offset:3px;font-weight:600;text-decoration:underline}@media (prefers-reduced-motion:reduce){.auntie *,.lesson .hcard,.lesson .hcard .pc,.deal-card,.pointer,.lesson-links line,.lf-spin,.confetti,.a-bubble-next,.trick.spot:after,.seat.ask .avatar{animation:none!important}.deal-flight{display:none}}
