.advent{--ink:#2a1235;--muted:#6b4a80;--line:#ebd6c1;--card:#fff9f2;--cream:#fcf0e3;--red:#d21919;--red-deep:#a81212;--red-soft:#fbebeb;--lilac:#e6d6ee;--peach:#fbe3d6;--lime:#c8ff4d;--lime-soft:#eeffc2;--green:#3f8a6a;--f-head:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--f-serif:"Instrument Serif", Georgia, serif;--f-mono:"DM Mono", ui-monospace, monospace;color:var(--ink);line-height:1.55}.advent button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.advent em.accent,.advent h1 em,.advent h2 em{font-family:var(--f-serif);color:var(--red);letter-spacing:0;font-style:italic;font-weight:400}.advent .mono{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.advent .wrap{max-width:1160px;margin:0 auto;padding:0 24px}.advent .pill-btn{border-radius:999px;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex}.advent .pill-btn:hover{transform:translateY(-1px)}.advent .pill-btn.red{background:var(--red);color:#fff}.advent .pill-btn.red:hover{background:var(--red-deep)}.advent .pill-btn[disabled]{opacity:.6;cursor:wait}.advent .hero{padding-top:56px;padding-bottom:20px;position:relative}.advent .tag{background:var(--red);color:#fff;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;display:inline-block}.advent .hero h1{letter-spacing:-.035em;max-width:900px;margin:18px 0;font-size:clamp(44px,7.4vw,92px);font-weight:800;line-height:.95}.advent .hero p.lede{max-width:620px;font-size:clamp(17px,1.6vw,20px)}.advent .sticker{background:var(--lime);text-align:center;width:176px;height:176px;font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:50%;place-items:center;padding:14px;font-size:14px;font-weight:500;line-height:1.4;display:grid;position:absolute;top:32px;right:24px;transform:rotate(12deg);box-shadow:0 8px 24px #2a12351f}.advent .chips{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.advent .chip{border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.advent .dot{border-radius:50%;width:9px;height:9px;display:inline-block}.advent .progress{flex-wrap:wrap;align-items:center;gap:14px;margin-top:28px;display:flex}.advent .bar{background:var(--line);border-radius:999px;flex:1;min-width:200px;max-width:420px;height:10px;overflow:hidden}.advent .bar i{background:var(--red);border-radius:999px;height:100%;transition:width .6s;display:block}.advent .progress .mono{color:var(--muted)}.advent .how{grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 0;display:grid}.advent .how>div{background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:20px}.advent .how .mono{color:var(--red)}.advent .how h3{margin:8px 0 6px;font-size:20px}.advent .how p{color:var(--muted);font-size:15px}.advent .board{color:#fff9f2;background:radial-gradient(120% 80% at 50% 0,#e02a22 0%,#c41616 55%,#a81212 100%);border-radius:28px;margin:34px 0 20px;padding:64px 28px 28px;position:relative}.advent .board .snow{border-radius:inherit;pointer-events:none;z-index:1;position:absolute;inset:0;overflow:hidden}.advent .board .snow:before,.advent .board .snow:after{content:"";pointer-events:none;opacity:.55;background-image:radial-gradient(2px 2px at 20px 30px,#fff 50%,#0000 51%),radial-gradient(2.5px 2.5px at 90px 120px,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 160px 60px,#fff 50%,#0000 51%),radial-gradient(2px 2px at 230px 170px,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 300px 90px,#fff 50%,#0000 51%);background-size:320px 200px;animation:14s linear infinite adv-snow;position:absolute;inset:-200px 0 0}.advent .board .snow:after{opacity:.35;background-size:260px 240px;animation-duration:22s;transform:translate(40px)}@keyframes adv-snow{0%{background-position:0 0}to{background-position:40px 400px}}.advent .garland{z-index:1;height:60px;position:absolute;top:0;left:0;right:0}.advent .garland svg{width:100%;height:60px;display:block}.advent .garland .bulb{animation:2.4s ease-in-out infinite adv-twinkle}.advent .garland .bulb:nth-child(3n){animation-delay:.8s}.advent .garland .bulb:nth-child(3n+1){animation-delay:1.6s}@keyframes adv-twinkle{0%,to{opacity:1}50%{opacity:.35}}.advent .board-head,.advent .grid{z-index:2;position:relative}.advent .board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.advent .board-head h2{font-size:30px}.advent .board-head h2 em{color:var(--lime)}.advent .board-head .mono{color:#ffe3d6}.advent .grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense;gap:22px 16px;display:grid}.advent .door{perspective:900px;border-radius:16px;align-self:stretch;position:relative}.advent .door:before{content:"";padding-top:112%;display:block}.advent .door.big{grid-column:span 2}.advent .door.big:before{padding-top:0}.advent .door .inside{color:#fff9f2;background:#7a0d0d;border-radius:16px;flex-direction:column;justify-content:flex-end;padding:14px;display:flex;position:absolute;inset:0;overflow:hidden}.advent .door .inside .mono{color:var(--lime);font-size:10px}.advent .door .inside b{font-family:var(--f-head);margin-top:4px;font-size:15px;font-weight:700;line-height:1.15}.advent .door.big .inside b,.advent .door.wide .inside b{font-size:24px}.advent .door .front{transform-origin:0;backface-visibility:hidden;cursor:pointer;text-align:left;border:1.5px solid #2a123524;border-radius:16px;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:12px 14px;transition:transform .55s cubic-bezier(.3,.7,.3,1),box-shadow .3s;display:flex;position:absolute;inset:0}.advent .door .front:before{content:"";z-index:3;background:#fff;border-radius:12px 12px 16px 16px;height:14px;position:absolute;top:-7px;left:8px;right:8px;box-shadow:inset 0 -3px #e6edf2}.advent .door .num{color:var(--ink);font-family:var(--f-head);letter-spacing:-.03em;z-index:2;margin-top:4px;font-size:clamp(18px,2.2vw,26px);font-weight:800;line-height:1;position:relative}.advent .door.big .num,.advent .door.wide .num{font-size:clamp(34px,4.4vw,60px)}.advent .door .art{z-index:1;place-items:center;transition:transform .3s;display:grid;position:absolute;inset:16% 10% 20%}.advent .door .art svg,.advent .lesson-art svg,.advent .gate-art svg{width:100%;height:100%;overflow:visible}.advent .door .front:hover .art{transform:scale(1.06)rotate(-2deg)}.advent .door .knob{z-index:2;background:#e9b949;border-radius:50%;width:7px;height:7px;position:absolute;top:52%;right:9px;box-shadow:0 0 0 1.5px #2a123559}.advent .door .meta{z-index:2;justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:relative}.advent .door .meta .mono{background:var(--red);color:#fff;border-radius:999px;flex:none;padding:3px 8px;font-size:10px}.advent .door .peek{overflow-wrap:anywhere;min-width:0;font-family:var(--f-serif);color:var(--red);font-size:15px;font-style:italic;line-height:1.1}.advent .door.big .peek,.advent .door.wide .peek{font-size:clamp(17px,1.8vw,22px)}.advent .door:not(.big):not(.wide) .peek{display:none}.advent .door .front:hover,.advent .door .front:focus-visible{outline:none;transform:rotateY(-24deg);box-shadow:8px 10px 20px #2a123533}.advent .door.done .front{transform:rotateY(-58deg);box-shadow:10px 10px 22px #2a123533}.advent .door.done .front:hover{transform:rotateY(-64deg)}.advent .door .check{background:var(--lime);width:24px;height:24px;color:var(--ink);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:none;position:absolute;top:10px;right:10px}.advent .door.done .check{display:grid}.advent .door.today{box-shadow:0 0 0 3px var(--lime), 0 0 28px #c8ff4d99}.advent .door.today .meta .mono{background:var(--lime);color:var(--ink)}.advent .door.wide{grid-column:1/-1}.advent .door.wide:before{padding-top:33.333%}.advent .door.big .front,.advent .door.wide .front{padding:16px 20px}.advent .door.big .art,.advent .door.wide .art{inset:14% 8% 16%}.advent .door .lock{z-index:2;color:var(--red);font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;background:#fff9f2;border-radius:999px;padding:3px 7px;font-size:9.5px;position:absolute;top:10px;right:10px}.advent .signup{color:#fff9f2;background:#2f6b4f;border-radius:28px;grid-template-columns:1.2fr 1fr;align-items:center;gap:32px;margin:20px 0 64px;padding:40px;display:grid;position:relative;overflow:hidden}.advent .signup:after{content:"";background:#ffffff14;border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-60px}.advent .signup h2 em{color:#ffb8ae}.advent .mc-form{color:var(--ink)}.advent .signup>div{z-index:1;position:relative}.advent .mc-tag{background:var(--red);color:#fff;font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;margin-bottom:14px;padding:5px 12px;font-size:11px;display:inline-block}.advent .signup h2{font-size:clamp(32px,4vw,48px);line-height:1}.advent .signup p{max-width:520px;margin-top:12px;font-size:16.5px}.advent .mc-points{flex-wrap:wrap;gap:8px;margin-top:16px;padding:0;list-style:none;display:flex}.advent .mc-points li{background:#ffffff24;border-radius:999px;padding:5px 12px;font-size:13.5px;font-weight:500}.advent .mc-form{background:var(--card);border-radius:22px;padding:24px;box-shadow:0 10px 30px #2a12351f}.advent .mc-form>.mono{color:var(--red);margin-bottom:12px;display:block}.advent .mc-form form,.advent .gate-card form{flex-direction:column;gap:10px;display:flex}.advent input[type=email]{border:1.5px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:999px;padding:14px 18px;font-size:15px}.advent input[type=email]:focus{border-color:var(--red);outline:none}.advent .consent{text-align:left;color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;margin:4px 4px 6px;font-size:13.5px;display:flex}.advent .consent input{accent-color:var(--red);flex:none;width:16px;height:16px;margin-top:3px}.advent .signup .pill-btn,.advent .gate-card .pill-btn{justify-content:center;width:100%;padding:14px;font-size:15px}.advent .err{color:var(--red);min-height:18px;font-size:13.5px}.advent .hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.advent .lesson-top{border-bottom:1.5px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:22px 0;display:flex}.advent .lesson-top a,.advent .lesson-top .mono{color:var(--muted);text-decoration:none}.advent .lesson-top a:hover{color:var(--ink)}.advent .l-hero{grid-template-columns:1fr 1.05fr;align-items:center;gap:40px;padding:44px 0 36px;display:grid}.advent .l-hero .eyebrow{color:var(--red)}.advent .l-title{align-items:center;gap:20px;margin:14px 0 12px;display:flex}.advent .l-title h1{letter-spacing:-.04em;margin:0;font-size:clamp(44px,6.4vw,84px);line-height:.92}.advent .lesson-art{border:1.5px solid #2a12351f;border-radius:24px;flex:none;place-items:center;width:110px;height:110px;padding:12px;display:grid}.advent .l-hero .promise{font-family:var(--f-serif);font-size:clamp(22px,2.4vw,28px);font-style:italic;line-height:1.2}.advent .plain{border-left:3px solid var(--red);margin-top:22px;padding:4px 0 4px 18px}.advent .plain .mono{color:var(--red);font-size:11px}.advent .plain p{margin-top:6px;font-size:17px}.advent .viz{--viz-bg:#2b2723;--coral:#ff7a6b;background:var(--viz-bg);color:#fcf9f3;border-radius:26px;min-height:340px;padding:24px 24px 48px;position:relative;overflow:hidden}.advent .viz>*{position:relative}.advent .viz>.mono{color:#ff9c8f;font-size:11px}.advent .viz:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff12 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0}.advent .viz .foot{font-family:var(--f-mono);letter-spacing:.08em;opacity:.65;text-transform:uppercase;justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:18px;left:24px;right:24px}.advent .llm-text{font-family:var(--f-head);margin:22px 0;font-size:24px;line-height:1.3}.advent .llm-text .next{color:var(--lime);border-bottom:2px solid var(--lime);transition:opacity .3s}.advent .cand{grid-template-columns:84px 1fr 44px;align-items:center;gap:10px;margin:10px 0;font-size:15px;display:grid}.advent .cand .track{background:#ffffff14;border-radius:999px;height:12px;overflow:hidden}.advent .cand .track i{background:var(--coral);border-radius:999px;width:0;height:100%;transition:width .9s cubic-bezier(.3,.7,.3,1);display:block}.advent .cand.top .track i{background:var(--lime)}.advent .cand.top span:first-child{font-weight:700}.advent .cand .pct{font-family:var(--f-mono);opacity:.8;text-align:right;font-size:12px}.advent .tok-input{width:100%;font:inherit;color:#fff;background:#ffffff14;border:1.5px solid #ffffff2e;border-radius:14px;margin-top:16px;padding:12px 14px;font-size:16px}.advent .tok-input:focus{border-color:var(--lime);outline:none}.advent .toks{flex-wrap:wrap;align-content:flex-start;gap:8px;min-height:80px;margin:18px 0 14px;display:flex}.advent .tok{font-family:var(--f-mono);color:#2b2723;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 9px 4px;font-size:15px;animation:.35s both adv-pop;display:flex}.advent .tok small{opacity:.65;font-size:9.5px}.advent .tok.c0{background:var(--coral)}.advent .tok.c1{background:var(--lime)}.advent .tok.c2{background:#e8d4f0}.advent .tok.c3{background:#ffd1b3}@keyframes adv-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.advent .tok-count{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;gap:18px;font-size:12px;display:flex}.advent .tok-count b{color:var(--lime);font-size:20px;font-family:var(--f-head);letter-spacing:0;margin-right:4px}.advent .ctx-stage{height:250px;margin-top:16px;position:relative;overflow:hidden}.advent .ctx-frame{border:2px dashed var(--lime);z-index:2;pointer-events:none;border-radius:18px;height:168px;position:absolute;bottom:0;left:0;right:0}.advent .ctx-frame span{background:var(--viz-bg);color:var(--lime);font-family:var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:0 8px;font-size:10.5px;position:absolute;top:-11px;right:16px}.advent .ctx-out{font-family:var(--f-mono);letter-spacing:.1em;color:#fff6;text-transform:uppercase;font-size:10.5px;position:absolute;top:0;left:0}.advent .ctx-list{flex-direction:column;gap:8px;display:flex;position:absolute;bottom:12px;left:14px;right:14px}.advent .bub{border-radius:14px;max-width:78%;padding:8px 12px;font-size:14px;line-height:1.3;transition:opacity .6s,filter .6s}.advent .bub.me{background:var(--coral);color:#2b2723;border-bottom-right-radius:4px;align-self:flex-end}.advent .bub.ai{background:#ffffff1f;border-bottom-left-radius:4px;align-self:flex-start}.advent .bub.note{color:var(--lime);font-family:var(--f-mono);text-align:center;background:0 0;border:1.5px dashed #c8ff4d99;border-radius:999px;align-self:center;max-width:92%;font-size:12px}.advent .bub.gone{opacity:.25;filter:blur(1px)}.advent .bub.in{animation:.4s both adv-pop}.advent .chat-stage{flex-direction:column;gap:10px;min-height:230px;margin-top:20px;display:flex}.advent .ctx-meter{font-family:var(--f-mono);letter-spacing:.08em;opacity:.75;text-transform:uppercase;justify-content:space-between;margin-top:12px;font-size:11px;display:flex}.advent .cards2{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.advent .panel{border:1.5px solid #2a123514;border-radius:24px;padding:28px}.advent .panel.peach{background:var(--peach)}.advent .panel.lav{background:var(--lilac)}.advent .panel.white{background:var(--card);border-color:var(--line)}.advent .panel.lime{background:var(--lime-soft);border-color:#d6f08a}.advent .panel>.mono,.advent .panel .row .mono{color:var(--red);font-size:11px}.advent .panel h2{margin:6px 0 16px;font-size:30px;line-height:1.05}.advent .section{margin-bottom:16px}.advent .steps{flex-direction:column;padding:0;list-style:none;display:flex}.advent .steps li{border-top:1.5px solid #2a12351a;align-items:flex-start;gap:14px;padding:14px 0;display:flex}.advent .steps li:first-child{border-top:0}.advent .steps .n{background:var(--red);color:#fff;width:30px;height:30px;font-family:var(--f-mono);border-radius:50%;flex:none;place-items:center;font-size:12px;display:grid}.advent .picture p{font-size:16.5px}.advent .uses{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.advent .use{background:var(--cream);border:1.5px solid var(--line);border-radius:18px;padding:18px}.advent .use .chip{font-size:11px;font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 10px}.advent .use h3{margin:12px 0 6px;font-size:18px;line-height:1.2}.advent .use p{color:var(--muted);font-size:15px}.advent .tryit pre{white-space:pre-wrap;font-family:var(--f-mono);background:#fff;border:1.5px dashed #a9cf3f;border-radius:16px;margin-top:14px;padding:18px;font-size:13.5px;line-height:1.6}.advent .tryit .row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.advent .copy{background:var(--red);color:#fff;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:700}.advent .copy:hover{background:var(--red-deep)}.advent .quiz .q{border-top:1.5px solid var(--line);padding:18px 0}.advent .quiz .q:first-of-type{border-top:0}.advent .quiz .q h3{margin-bottom:12px;font-size:19px}.advent .opts{flex-direction:column;gap:8px;display:flex}.advent .opt{text-align:left;border:1.5px solid var(--line);background:var(--cream);border-radius:14px;padding:12px 16px;font-size:15px;transition:all .15s}.advent .opt:hover:not([disabled]){border-color:var(--red)}.advent .opt.right{border-color:var(--green);background:#e3f3ea}.advent .opt.wrong{background:var(--red-soft);border-color:var(--red)}.advent .opt[disabled]{cursor:default}.advent .why{color:var(--muted);margin-top:10px;font-size:14.5px}.advent .score{font-family:var(--f-head);margin-top:16px;font-size:20px}.advent .pager{grid-template-columns:1fr 1fr;gap:14px;margin:30px 0 64px;display:grid}.advent .pager>*{text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:18px;padding:18px 22px;text-decoration:none;transition:all .15s;display:block}.advent .pager>a:hover,.advent .pager>button:hover{border-color:var(--red)}.advent .pager .off{opacity:.45}.advent .pager .next{text-align:right}.advent .pager .mono{color:var(--red)}.advent .pager b{font-family:var(--f-head);margin-top:4px;font-size:20px;display:block}.advent .gate{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:60;background:#2a12358c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.advent .gate-card{background:var(--cream);text-align:center;border-radius:28px;width:100%;max-width:460px;padding:34px 30px 28px;position:relative;box-shadow:0 30px 60px #00000040}.advent .gate-art{background:var(--lime-soft);border:1.5px solid #2a12351f;border-radius:24px;width:96px;height:96px;margin:-82px auto 10px;padding:10px;display:block}.advent .gate-card>.mono{color:var(--red)}.advent .gate-card h2{margin-top:8px;font-size:30px;line-height:1.02}.advent .gate-card p{color:var(--muted);margin:10px 0 18px;font-size:15.5px}.advent .gate-close{color:var(--muted);font-size:26px;line-height:1;position:absolute;top:12px;right:16px}.advent .sign-off{font-family:var(--f-serif);margin-top:14px;font-size:18px;font-style:italic}.advent .toast{background:var(--ink);color:#fff;z-index:70;border-radius:999px;padding:12px 18px;font-size:14px;animation:.25s both adv-toast;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}@keyframes adv-toast{0%{opacity:0;transform:translate(-50%,30px)}}.advent .door.shake .front{animation:.4s adv-shake}@keyframes adv-shake{20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@media (width<=900px){.advent .grid{grid-template-columns:repeat(4,1fr)}.advent .l-hero,.advent .cards2,.advent .signup,.advent .uses,.advent .how{grid-template-columns:1fr}.advent .sticker{display:none}}@media (width<=560px){.advent .wrap{padding-left:16px;padding-right:16px}.advent .hero{padding-top:32px}.advent .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.advent .door .art{top:22%;bottom:20%}.advent .door.big{grid-column:1/-1}.advent .door.big:before,.advent .door.wide:before{padding-top:71.4%}.advent .door.big .front,.advent .door.wide .front{padding:14px 16px}.advent .door.big .art,.advent .door.wide .art{top:16%;bottom:20%}.advent .door.big .num,.advent .door.wide .num{font-size:40px}.advent .door.big .peek,.advent .door.wide .peek{font-size:18px}.advent .door.big .inside b{font-size:20px}.advent .board{border-radius:22px;padding:56px 20px 20px}.advent .pager{grid-template-columns:1fr}.advent .panel{padding:22px}.advent .signup{padding:26px}.advent .lesson-art{border-radius:18px;width:76px;height:76px}}@media (prefers-reduced-motion:reduce){.advent *,.advent :before,.advent :after{transition:none!important;animation:none!important}}.advent .gate-card p.confirm-step{background:var(--lime-soft);color:var(--ink);border:1.5px solid #d6f08a;border-radius:14px;padding:10px 14px;font-size:14.5px}.advent .hero h1 .edition{color:#fff9f2;letter-spacing:-.01em;background:#2f6b4f;border-radius:999px;align-items:center;gap:.3em;width:fit-content;margin-top:.22em;padding:.16em .5em .2em;font-size:.42em;line-height:1.1;display:flex;transform:rotate(-1.5deg)}.advent .gate-card p.returning-note{margin:2px 4px 0;font-size:13px}.advent .door .art svg{width:100%;height:100%;position:absolute;inset:0}
