@font-face{font-family:GeistSans;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:GeistSans,GeistSans Fallback}.__variable_8adcd2{--font-geist-sans:"GeistSans","GeistSans Fallback"}@font-face{font-family:GeistMono;src:url(/_next/static/media/723e11e5093b8e80.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_46451f{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_46451f{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}:root{color-scheme:light;--paper:#fcfcfb;--paper-soft:#f4f4f2;--paper-warm:#edede9;--white:#ffffff;--ink:#131312;--ink-soft:#3c3c39;--ink-faint:#63635e;--rule:#131312;--rule-faint:rgba(19,19,18,0.16);--rule-ghost:rgba(19,19,18,0.07);--accent:#1b2fbe;--accent-soft:#14239a;--accent-tint:rgba(27,47,190,0.06);--accent-on-ink:#8494fa;--good:#145c46;--good-tint:rgba(20,92,70,0.07);--bad:#b3261e;--bad-tint:rgba(179,38,30,0.06);--warn:#92610f;--warn-tint:rgba(146,97,15,0.08);--ease:cubic-bezier(0.25,0.6,0.3,1);--ease-out:cubic-bezier(0.16,1,0.3,1);--t-fast:150ms;--t-base:200ms;--font-sans:var(--font-geist-sans),system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,SFMono-Regular,Menlo,monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:15px;line-height:1.6;font-feature-settings:"ss01","cv01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;caret-color:var(--accent);accent-color:var(--accent)}::selection{background:var(--accent);color:var(--paper)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--rule-faint) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--rule-faint);border:3px solid var(--paper)}::-webkit-scrollbar-track{background:transparent}a{color:inherit;text-decoration:none}a.link{color:var(--accent);background-image:linear-gradient(var(--accent),var(--accent));background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .25s var(--ease)}a.link:hover{background-size:100% 2px}h1,h2,h3{margin:0;font-weight:600;text-wrap:balance}h1{font-size:28px;line-height:1.12;letter-spacing:-.015em}h2{font-size:21px;line-height:1.2;letter-spacing:-.008em}h3{font-size:15px;line-height:1.35;letter-spacing:-.004em}p{margin:0}kbd{font-size:10.5px;padding:1px 5px;border:1px solid var(--rule-faint);color:var(--ink-faint);line-height:1.4}.mono,kbd{font-family:var(--font-mono)}.mono{font-feature-settings:"tnum" 1,"zero" 1,"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--ink-soft)}.faint{color:var(--ink-faint)}.small{font-size:13px}.xs{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--rule)}.nav__in{max-width:1280px;margin:0 auto;padding:0 32px;height:60px;display:flex;align-items:stretch;gap:28px}.nav__brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.nav__mark{display:grid;place-items:center;width:28px;height:28px;background:var(--ink);color:var(--paper);font-size:11px;font-weight:700;letter-spacing:-.02em;transition:background var(--t-base) var(--ease)}.nav__brand:hover .nav__mark{background:var(--accent)}.nav__title{display:flex;flex-direction:column;line-height:1.15}.nav__title b{font-size:13px;font-weight:600;letter-spacing:-.01em}.nav__title span{font-size:10px;color:var(--ink-faint)}.nav__links{display:flex;align-items:center;gap:2px}.nav__link{padding:6px 10px;font-size:13.5px;color:var(--ink-faint);white-space:nowrap;transition:color var(--t-fast);background-image:linear-gradient(var(--accent),var(--accent));background-size:0 2px;background-position:10px 100%;background-repeat:no-repeat}.nav__link:hover{color:var(--ink)}.nav__link[aria-current=page]{color:var(--ink);font-weight:500;background-size:calc(100% - 20px) 2px}.tabs{display:flex;align-items:stretch;margin-left:auto;align-self:center;height:36px;border:1px solid var(--rule-faint)}.tab{display:inline-flex;align-items:center;gap:7px;padding:0 13px;border-left:1px solid var(--rule-faint);white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--ink);line-height:1;transition:background var(--t-fast),color var(--t-fast)}.tab:first-child{border-left:0}.tab--lvl{padding:0 10px;color:var(--ink-faint);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;cursor:default}.tab--lvl,a.tab:hover{background:var(--paper-soft)}.tab__n{font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--accent)}a.tab[aria-current=page]{background:var(--ink);color:var(--paper)}a.tab[aria-current=page] .tab__n{color:var(--accent-on-ink)}.tab:focus-visible{outline-offset:-2px}.banner{max-width:1280px;margin:16px auto 0;padding:10px 14px;font-size:13.5px;line-height:1.5;border:1px solid var(--rule-faint);background:var(--white)}.banner--danger{border-color:var(--bad);color:var(--bad);background:var(--bad-tint)}.banner strong{font-weight:600}.backups{list-style:none;margin:10px 0 0;padding:0;font-size:12.5px}.backups li{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-top:1px solid var(--rule-faint)}.gate{min-height:calc(100dvh - 60px);display:grid;place-items:center;padding:32px 16px}.gate__card{width:min(100%,380px);padding:28px 28px 30px;background:var(--white);border:1px solid var(--rule-faint);border-top:2px solid var(--rule)}.gate__form{display:grid;grid-gap:12px;gap:12px;margin-top:20px}.gate__input{font-size:28px;letter-spacing:.35em;text-align:center;height:60px;padding:0 0 0 .35em}.gate__error{font-size:13px;color:var(--bad)}.main{max-width:1280px;margin:0 auto;padding:36px 32px 80px}.main,.page{min-width:0}.page{animation:reveal-up .35s var(--ease-out) both}@keyframes reveal-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.page__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid var(--rule)}.page__head--flat{border-bottom:0;padding-bottom:0;margin-bottom:24px}.page__head .meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:8px;color:var(--ink-soft);font-size:13px}.page__head .meta .mono{font-size:12.5px}.crumb{display:inline-flex;align-items:center;gap:6px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-family:var(--font-mono);color:var(--ink-faint);margin-bottom:14px}.crumb a:hover{color:var(--accent)}.section{margin-top:44px}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--rule)}.section__head h2{font-size:15px;letter-spacing:-.004em}.cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-gap:40px;gap:40px;align-items:start}.cols>*{min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;height:36px;border:1px solid var(--rule);background:transparent;color:var(--ink);font:inherit;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;line-height:1;cursor:pointer;white-space:nowrap;transition:background-color var(--t-base) var(--ease),color var(--t-base) var(--ease),border-color var(--t-base) var(--ease)}.btn:hover{background:var(--ink);color:var(--paper)}.btn:hover kbd{border-color:rgba(252,252,251,.35);color:var(--paper)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn:disabled:hover{background:transparent;color:var(--ink)}.btn--primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn--primary kbd{border-color:rgba(252,252,251,.35);color:var(--paper)}.btn--primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:disabled:hover{background:var(--ink);color:var(--paper)}.btn--lg{height:44px;padding:0 20px;font-size:12.5px}.btn--ghost{border-color:transparent;color:var(--ink-faint)}.btn--ghost:hover{background:var(--rule-ghost);color:var(--ink)}.btn--danger:hover{background:var(--bad);border-color:var(--bad);color:#fff}.btn--icon{padding:0;width:30px;height:30px}.btn.is-busy{position:relative;color:transparent}.btn.is-busy kbd{visibility:hidden}.btn.is-busy:after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid var(--paper);border-color:var(--paper) transparent var(--paper) transparent;animation:spin .8s linear infinite}.btn:not(.btn--primary).is-busy:after{border-color:var(--ink) transparent var(--ink) transparent}@keyframes spin{to{transform:rotate(1turn)}}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-faint)}.input,.select,.textarea{width:100%;font:inherit;font-size:14px;color:var(--ink);background:var(--white);border:1px solid var(--rule-faint);border-radius:0;padding:8px 10px;min-height:36px;transition:border-color var(--t-fast)}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--ink)}.textarea{resize:vertical;min-height:96px;line-height:1.55}.form-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:end}.form-actions{display:flex;gap:12px;align-items:center;margin-top:12px;flex-wrap:wrap}details.panel{border:1px solid var(--rule-faint);background:var(--white)}details.panel>summary{cursor:pointer;padding:9px 14px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);list-style:none;display:flex;align-items:center;gap:8px;transition:color var(--t-fast)}details.panel>summary:hover{color:var(--ink)}details.panel>summary::-webkit-details-marker{display:none}details.panel>summary:before{content:"";width:6px;height:6px;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(-45deg);transition:transform var(--t-fast);margin-right:2px}details.panel[open]>summary{border-bottom:1px solid var(--rule-faint)}details.panel[open]>summary:before{transform:rotate(45deg)}details.panel>.panel__body{padding:14px}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;line-height:1.3;border:1px solid var(--rule-faint);color:var(--ink-faint);white-space:nowrap}.tag--question{color:var(--ink);border-color:var(--ink)}.tag--participation{color:var(--ink-soft);border-color:var(--rule-faint)}.tag--remark{color:var(--ink-faint);border-style:dashed}.tag--present{color:var(--good);border-color:transparent;background:var(--good-tint)}.tag--absent{color:var(--bad);background:var(--bad-tint)}.tag--absent,.tag--late{border-color:transparent}.tag--late{color:var(--warn);background:var(--warn-tint)}.stamp{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--good);line-height:1.4}.stamp--absent{color:var(--bad)}.stamp--late{color:var(--warn)}.stamp.is-fresh{animation:reveal-up var(--t-base) var(--ease-out)}.fiche{position:relative;display:block;background:var(--white);border:1px solid var(--rule-faint);padding:14px 16px 12px;transition:border-color var(--t-base) var(--ease),background-color var(--t-base) var(--ease),color var(--t-base) var(--ease)}.fiche--link:hover{border-color:var(--ink)}.fiche__name{font-weight:600;font-size:15px;line-height:1.25;letter-spacing:-.005em;overflow-wrap:anywhere}.fiche__line{display:flex;align-items:center;gap:8px;margin-top:8px;min-height:16px;font-size:12px;color:var(--ink-faint)}.fiche__line .stamp{margin-left:auto}.dots{font-family:var(--font-mono);font-size:11px;color:var(--accent)}.deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));grid-gap:1px;gap:1px;padding:1px;background:var(--white);border:1px solid var(--rule-faint)}.deck .fiche{border:0;outline:1px solid var(--rule-faint)}.deck .fiche:focus-visible{outline:2px solid var(--accent);position:relative;z-index:1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));grid-gap:1px;gap:1px;padding:1px;border:1px solid var(--rule-faint)}.cell,.grid{background:var(--white)}.cell{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:92px;padding:12px 12px 10px 14px;outline:1px solid var(--rule-faint);transition:background-color var(--t-base) var(--ease),color var(--t-base) var(--ease)}.cell.is-current{background:var(--accent);color:#fff;z-index:1}.cell.is-absent{background:var(--paper-soft);color:var(--ink-faint)}.cell.is-absent .cell__name{text-decoration:line-through;text-decoration-thickness:1px}.cell__name{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;text-align:left;font:inherit;font-weight:600;font-size:15px;line-height:1.25;letter-spacing:-.005em;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;overflow-wrap:anywhere}.cell__name:hover{color:var(--accent)}.cell.is-current .cell__name:hover{color:#fff}.cell__name .dots{flex-shrink:0}.cell.is-current .dots{color:var(--accent-on-ink)}.att{display:inline-flex;border:1px solid var(--rule-faint);align-self:flex-start}.att button{width:28px;height:24px;border:0;background:transparent;color:var(--ink-faint);font-family:var(--font-mono);font-size:11px;font-weight:600;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.att button+button{border-left:1px solid var(--rule-faint)}.att button:hover{background:var(--rule-ghost);color:var(--ink)}.att .att__p[aria-pressed=true]{background:var(--good);color:#fff}.att .att__r[aria-pressed=true]{background:var(--warn);color:#fff}.att .att__a[aria-pressed=true]{background:var(--bad);color:#fff}.cell.is-current .att{border-color:rgba(255,255,255,.35)}.cell.is-current .att button{color:rgba(255,255,255,.75)}.cell.is-current .att button+button{border-left-color:rgba(255,255,255,.35)}.cell.is-current .att button:hover{background:rgba(255,255,255,.15);color:#fff}.cell.is-current .att button[aria-pressed=true]{color:#fff}.cell.is-current .att .att__p[aria-pressed=true]{background:var(--paper);color:var(--good)}.cell.is-current .att .att__r[aria-pressed=true]{background:var(--paper);color:var(--warn)}.cell.is-current .att .att__a[aria-pressed=true]{background:var(--paper);color:var(--bad)}.select--inline{width:auto;min-height:32px;height:32px;padding:0 28px 0 10px;font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft);background-color:transparent;border-color:var(--rule);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 15px) 12px,calc(100% - 10px) 12px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.select--inline:disabled{opacity:.4;cursor:not-allowed}.switch,.theme-pick{display:inline-flex;align-items:center}.switch{gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch__track{position:relative;width:34px;height:18px;border:1px solid var(--rule);background:transparent;transition:background var(--t-base) var(--ease)}.switch__knob{position:absolute;top:2px;left:2px;width:12px;height:12px;transition:transform var(--t-base) var(--ease),background var(--t-base)}.switch input:checked+.switch__track,.switch__knob{background:var(--ink)}.switch input:checked+.switch__track .switch__knob{transform:translateX(16px);background:var(--paper)}.switch input:focus-visible+.switch__track{outline:2px solid var(--accent);outline-offset:2px}.switch__label{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-soft)}.composer{display:grid;grid-gap:10px;gap:10px;padding:14px 16px 16px;border:1px solid var(--rule-faint);border-top:2px solid var(--rule);background:var(--white);transition:border-color var(--t-base)}.composer.is-armed{border-top-color:var(--accent)}.composer__who{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;min-height:22px;font-size:13.5px}.composer__name{font-size:17px;font-weight:600;letter-spacing:-.008em}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font:inherit;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;padding:5px 10px;border:1px solid var(--rule-faint);background:transparent;color:var(--ink-faint);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--t-fast)}.chip:hover:not(:disabled){color:var(--ink);border-color:var(--ink)}.chip:disabled{opacity:.45;cursor:not-allowed}.chip:has(input:checked),.chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip:disabled[aria-pressed=true]{background:transparent;color:var(--ink-faint);border-color:var(--rule-faint)}.chip input{position:absolute;opacity:0;width:0;height:0}.composer__row{display:flex;gap:8px;align-items:stretch}.composer__row .textarea{min-height:44px;flex:1 1;padding:9px 10px}.composer__row .btn{align-self:flex-end}.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.toolbar__stat{font-size:13px;color:var(--ink-faint)}.toolbar__stat b{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.toolbar__spacer{flex:1 1}.draw{--d-bg:var(--accent);--d-fg:#fff;--d-card:var(--paper);--d-card-fg:var(--ink);position:fixed;inset:0;z-index:100;background:var(--d-bg);color:var(--d-fg);display:grid;place-items:center;overflow:hidden;animation:draw-in .35s var(--ease-out);padding:24px}@keyframes draw-in{0%{opacity:0}to{opacity:1}}.draw__cloud{position:absolute;inset:0;pointer-events:none;font-size:clamp(14px,2vw,26px);font-weight:600;letter-spacing:-.01em}.draw__cloud span{position:absolute;white-space:nowrap;opacity:.32;transform:rotate(var(--rot));animation:drift ease-in-out infinite alternate;transition:opacity .6s}.draw.is-done .draw__cloud span{opacity:.14}@keyframes drift{0%{translate:0 -14px}to{translate:0 14px}}.draw__stage{position:relative;z-index:2;text-align:center;max-width:min(96vw,1400px)}.draw__label{font-family:var(--font-mono);font-size:clamp(12px,1.4vw,18px);text-transform:uppercase;letter-spacing:.22em;opacity:.8;margin-bottom:clamp(16px,3vh,36px)}.draw__card{display:inline-block;background:var(--d-card);color:var(--d-card-fg);padding:clamp(18px,3vw,44px) clamp(28px,5vw,96px);animation:shuffle .13s var(--ease-out);box-shadow:0 30px 60px -20px rgba(0,0,0,.45)}@keyframes shuffle{0%{transform:translateY(14px) rotate(-1.5deg);opacity:.6}to{transform:none;opacity:1}}.draw__card.is-winner{animation:pop .7s cubic-bezier(.2,1.5,.4,1)}@keyframes pop{0%{transform:scale(.72) rotate(-3deg)}60%{transform:scale(1.06) rotate(1deg)}to{transform:none}}.draw__name{display:block;font-size:clamp(40px,8.5vw,150px);font-weight:700;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}.draw__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:clamp(20px,4vh,44px);animation:reveal-up .4s var(--ease-out) .35s both}.btn--paper{background:var(--d-card);color:var(--d-card-fg);border-color:var(--d-card)}.btn--paper kbd{border-color:currentColor;color:inherit;opacity:.6}.btn--paper:hover{background:var(--d-fg);color:var(--d-bg);border-color:var(--d-fg)}.btn--paper-ghost{background:transparent;color:var(--d-fg);border-color:color-mix(in srgb,var(--d-fg) 55%,transparent)}.btn--paper-ghost kbd{border-color:color-mix(in srgb,var(--d-fg) 45%,transparent);color:var(--d-fg)}.btn--paper-ghost:hover{background:var(--d-card);color:var(--d-card-fg);border-color:var(--d-card)}.draw--terminal{--d-bg:#0b0f0c;--d-fg:#39ff88;--d-card:#0b0f0c;--d-card-fg:#39ff88;font-family:var(--font-mono);background-image:repeating-linear-gradient(180deg,transparent 0 3px,rgba(0,0,0,.18) 3px 4px)}.draw--terminal .draw__cloud{font-family:var(--font-mono);font-weight:400;font-size:clamp(11px,1.15vw,15px);white-space:pre}.draw--terminal .draw__cloud span{transform:none;opacity:.38}.draw--terminal.is-done .draw__cloud span{opacity:.16}.draw--terminal .draw__label{opacity:.85;letter-spacing:.04em;text-transform:none;font-size:clamp(12px,1.3vw,17px);max-width:90vw;margin-left:auto;margin-right:auto}.draw--terminal .draw__label:before{content:"$ ";opacity:.6}.draw--terminal .draw__card{border:1px solid rgba(57,255,136,.55);box-shadow:0 0 0 1px rgba(57,255,136,.12),0 0 48px rgba(57,255,136,.18);text-shadow:0 0 18px rgba(57,255,136,.55)}.draw--terminal .draw__name{display:inline;font-family:var(--font-mono);font-weight:600;letter-spacing:-.02em}.draw--terminal .draw__cursor{display:inline-block;width:.55em;height:1em;margin-left:.15em;vertical-align:-.12em;background:var(--d-fg);animation:blink .9s steps(1) infinite;font-size:clamp(40px,8.5vw,150px)}@keyframes blink{50%{opacity:0}}.draw--terminal .draw__card.is-winner{animation:pop .5s var(--ease-out)}.draw--terminal .btn{font-family:var(--font-mono);text-transform:none;letter-spacing:.02em}.draw :focus-visible{outline-color:var(--d-fg)}.draw--graffiti{--d-bg:#141414;--d-fg:#ffe600;--d-card:#ffe600;--d-card-fg:#141414;background-image:radial-gradient(ellipse at 20% 80%,rgba(255,45,149,.35),transparent 45%),radial-gradient(ellipse at 80% 15%,rgba(0,229,255,.3),transparent 45%)}.draw--graffiti .draw__cloud{font-weight:900;font-size:clamp(18px,2.6vw,38px);text-transform:uppercase;letter-spacing:-.03em}.draw--graffiti .draw__cloud span{opacity:.7;text-shadow:3px 3px 0 #000}.draw--graffiti .draw__cloud span:nth-child(5n+1){color:#ff2d95}.draw--graffiti .draw__cloud span:nth-child(5n+2){color:#00e5ff}.draw--graffiti .draw__cloud span:nth-child(5n+3){color:#7cff00}.draw--graffiti .draw__cloud span:nth-child(5n+4){color:#ffe600}.draw--graffiti .draw__cloud span:nth-child(5n){color:#ff7a00}.draw--graffiti.is-done .draw__cloud span{opacity:.35}.draw--graffiti .draw__label{display:inline-block;font-family:var(--font-sans);font-weight:900;font-size:clamp(18px,2.6vw,36px);letter-spacing:-.02em;text-transform:uppercase;opacity:1;color:#fff;background:#141414;padding:4px 14px;text-shadow:3px 3px 0 #ff2d95;transform:rotate(-2deg)}.draw--graffiti .draw__card{transform:rotate(-3deg);border:4px solid #141414;box-shadow:12px 12px 0 #141414,12px 12px 0 4px #fff}.draw--graffiti .draw__card.is-winner{animation:pop-tilt .7s cubic-bezier(.2,1.5,.4,1)}@keyframes pop-tilt{0%{transform:scale(.6) rotate(8deg)}60%{transform:scale(1.08) rotate(-5deg)}to{transform:rotate(-3deg)}}.draw--graffiti .draw__name{font-weight:900;text-transform:uppercase;letter-spacing:-.04em;-webkit-text-stroke:2px #141414;paint-order:stroke fill}.draw--graffiti .draw__actions{transform:rotate(-1deg)}.draw--graffiti .btn{font-weight:800;border-width:3px}.draw--graffiti .btn--paper{box-shadow:5px 5px 0 #fff}.draw--graffiti .confetti i{border-radius:50%}.confetti{position:absolute;inset:0;pointer-events:none;z-index:1}.confetti i{position:absolute;left:50%;top:50%;display:block;animation:burst 1.6s cubic-bezier(.15,.75,.35,1) both}@keyframes burst{0%{transform:translate(0) rotate(0deg);opacity:1}55%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:1}to{transform:translate(calc(var(--dx) * 1.15),calc(var(--dy) + var(--fall))) rotate(calc(var(--rot) * 1.4));opacity:0}}.feed{display:flex;flex-direction:column}.feed__item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-gap:10px;gap:10px;padding:10px 0;border-top:1px solid var(--rule-faint);align-items:start}.feed__item:first-child{border-top:0}.feed__time{font-size:12px;color:var(--ink-faint);padding-top:3px}.feed__who{font-weight:600;font-size:13.5px}.feed__who a:hover{color:var(--accent)}.feed__text{margin-top:3px;font-size:13.5px;color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.feed__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.feed__del{opacity:0;transition:opacity var(--t-fast)}.feed__item:focus-within .feed__del,.feed__item:hover .feed__del{opacity:1}.empty{padding:18px 20px;border:1px dashed var(--rule-faint);color:var(--ink-soft);font-size:13.5px;line-height:1.55}.empty strong{color:var(--ink);font-weight:600}.rows{display:flex;flex-direction:column}.row{display:grid;align-items:center;grid-gap:16px;gap:16px;padding:11px 0;border-bottom:1px solid var(--rule-faint);transition:background var(--t-fast)}.row:hover{background:var(--paper-soft);box-shadow:-12px 0 0 var(--paper-soft),12px 0 0 var(--paper-soft)}.row--session{grid-template-columns:104px minmax(0,1fr) 56px 20px}.row__date{white-space:nowrap}.row--session.is-past{color:var(--ink-faint)}.row--session.is-past .row__title{color:var(--ink-soft);font-weight:400}.row--session.is-today .row__date{color:var(--accent);font-weight:500}.row--class{grid-template-columns:110px minmax(0,1fr) auto auto 20px}.row__date{font-size:13px}.row__title{font-weight:500;font-size:14px;letter-spacing:-.004em}.row__sub{font-size:12px;margin-top:1px}.row__arrow,.row__sub{color:var(--ink-faint)}.row__arrow{justify-self:end;transition:transform .3s var(--ease),color var(--t-fast)}.row:hover .row__arrow{color:var(--accent);transform:translateX(2px)}.rows h3{margin:28px 0 4px;font-size:15px;font-weight:600;letter-spacing:-.004em;color:var(--ink);padding-bottom:8px;border-bottom:2px solid var(--rule)}.rows h3:first-child{margin-top:0}.today{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:center;padding:26px 28px 24px;border-top:2px solid var(--rule);border-left:0;border-right:0;border-bottom:1px solid var(--rule-faint);background:transparent}.section__head+.today{border-top:0;padding-top:18px}.today__title{margin-top:0;font-size:38px;font-weight:600;letter-spacing:-.022em;line-height:1.06}.today__meta{margin-top:12px;display:flex;gap:8px 18px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--ink-soft)}.history{display:flex;flex-direction:column;gap:24px}.history__group h3{display:flex;align-items:baseline;gap:10px;font-size:15px;font-weight:600;letter-spacing:-.004em;margin-bottom:2px;padding-bottom:8px;border-bottom:2px solid var(--rule)}.history__group h3 a:hover{color:var(--accent)}.inline-stats{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-soft)}.inline-stats b{color:var(--ink);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:1000px){.cols{grid-template-columns:minmax(0,1fr);gap:32px}.main{padding:28px 24px 64px}.nav__in{padding:0 24px;gap:18px}.nav__title span{display:none}.tab{padding:0 11px}}@media (max-width:760px){.nav__in{padding:0 16px;height:auto;flex-wrap:wrap;gap:0 16px}.nav__brand{height:52px}.nav__links{height:52px;margin-left:auto}.tabs{order:3;width:100%;height:44px;margin:0;border:0;border-top:1px solid var(--rule-faint);overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}.tabs::-webkit-scrollbar{display:none}.tab{padding:0 13px}.tab:first-child{padding-left:0}.tab--lvl:first-child{padding-left:0;background:transparent}.main{padding:16px 16px 48px}h1{font-size:24px}.page__head{gap:10px 24px;padding-bottom:14px;margin-bottom:20px}.page__head>details.panel{border:0;background:transparent;width:100%}.page__head>details.panel>summary{padding:0;color:var(--ink-faint)}.page__head>details.panel[open]>summary{border-bottom:0;margin-bottom:8px}.page__head>details.panel>.panel__body{padding:14px;border:1px solid var(--rule-faint);background:var(--white)}.row--session{grid-template-columns:92px minmax(0,1fr) 20px}.row--session .row__room{display:none}.row--class{grid-template-columns:minmax(0,1fr) auto 20px}.row--class .row__code,.row--class .row__next{display:none}.today{grid-template-columns:1fr;padding:22px 0 20px}.today__title{font-size:28px}.deck,.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cell{min-height:84px;padding:10px 10px 8px 12px}.draw{padding:16px}.draw__actions .btn{width:100%}.feed__item{grid-template-columns:40px minmax(0,1fr) auto}.row:hover{box-shadow:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important}}