:root{--paper: #fbf7f2;--paper-2: #f3ede4;--paper-3: #e8dfd1;--ink: #1f1b2e;--ink-2: #4a4560;--ink-3: #827c99;--ink-4: #b8b2c9;--line: #ded5c4;--line-2: #eee5d5;--card: #ffffff;--plum: oklch(.52 .2 320);--plum-2: oklch(.42 .22 320);--plum-fg: #fff;--plum-tint: oklch(.94 .05 320);--q-mc: oklch(.7 .19 30);--q-mc-d: oklch(.5 .2 30);--q-mc-t: oklch(.94 .06 30);--q-tf: oklch(.72 .17 165);--q-tf-d: oklch(.48 .16 165);--q-tf-t: oklch(.94 .05 165);--q-oe: oklch(.68 .16 250);--q-oe-d: oklch(.45 .18 260);--q-oe-t: oklch(.94 .05 250);--q-sec: oklch(.75 .15 85);--q-sec-d:oklch(.55 .15 75);--q-sec-t:oklch(.95 .05 85);--q-img: oklch(.65 .14 310);--q-img-d:oklch(.45 .17 310);--q-img-t:oklch(.94 .05 310);--a1: oklch(.68 .2 25);--a2: oklch(.68 .18 250);--a3: oklch(.75 .17 95);--a4: oklch(.68 .18 155);--a5: oklch(.65 .18 320);--a6: oklch(.72 .16 200);--a7: oklch(.7 .17 50);--a8: oklch(.62 .18 285);--ok: oklch(.6 .18 155);--bad: oklch(.6 .22 25);--warn: oklch(.7 .16 75);--info: oklch(.55 .18 240);--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--shadow-xs: 0 1px 0 rgba(31,27,46,.04), 0 1px 2px rgba(31,27,46,.05);--shadow-sm: 0 2px 0 rgba(31,27,46,.05), 0 4px 10px -3px rgba(31,27,46,.08);--shadow-md: 0 3px 0 rgba(31,27,46,.06), 0 10px 24px -10px rgba(31,27,46,.18);--shadow-lg: 0 6px 0 rgba(31,27,46,.06), 0 30px 60px -20px rgba(31,27,46,.25);--pad-xs: 8px;--pad-sm: 12px;--pad-md: 16px;--pad-lg: 24px;--pad-xl: 32px;--font-sans: "Nunito", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--accent: var(--plum);--accent-d: var(--plum-2);--accent-tint: var(--plum-tint)}[data-accent=plum]{--accent: var(--plum);--accent-d: var(--plum-2);--accent-tint: var(--plum-tint)}[data-accent=cobalt]{--accent: oklch(.5 .19 255);--accent-d: oklch(.4 .2 255);--accent-tint: oklch(.94 .05 255)}[data-accent=fern]{--accent: oklch(.52 .17 155);--accent-d: oklch(.4 .17 155);--accent-tint: oklch(.94 .05 155)}[data-accent=persimmon]{--accent: oklch(.58 .2 30);--accent-d: oklch(.45 .2 30);--accent-tint: oklch(.94 .06 30)}[data-accent=ink]{--accent: #1f1b2e;--accent-d: #000;--accent-tint: #eee5d5}[data-radius=sharp]{--r-xs: 0;--r-sm: 2px;--r-md: 4px;--r-lg: 6px;--r-xl: 8px}[data-radius=soft]{--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px}[data-radius=round]{--r-xs: 10px;--r-sm: 16px;--r-md: 22px;--r-lg: 30px;--r-xl: 40px}[data-density=tight]{--pad-xs: 6px;--pad-sm: 8px;--pad-md: 12px;--pad-lg: 16px;--pad-xl: 22px}[data-density=cozy]{--pad-xs: 8px;--pad-sm: 12px;--pad-md: 16px;--pad-lg: 24px;--pad-xl: 32px}[data-density=airy]{--pad-xs: 10px;--pad-sm: 16px;--pad-md: 22px;--pad-lg: 32px;--pad-xl: 44px}[data-dark=true]{--paper: #17141f;--paper-2: #1e1a29;--paper-3: #2a2438;--ink: #f5f0e6;--ink-2: #c9c2d6;--ink-3: #8e87a0;--ink-4: #524b68;--line: #2f2940;--line-2: #221e2f;--card: #221e2f;--plum-tint: oklch(.3 .1 320)}html[data-shell-v2=true] body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-weight:600;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;letter-spacing:-.005em}.topbar{height:64px;padding:0 28px;border-bottom:1px solid var(--line);background:var(--paper);display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:40}.topbar .spacer{flex:1}.topbar .steps{display:flex;align-items:center;gap:2px;background:var(--paper-2);padding:4px;border-radius:999px;border:1px solid var(--line)}.tb-logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px;letter-spacing:-.02em;color:var(--ink)}.tb-logo .dot{width:30px;height:30px;border-radius:10px;background:var(--accent);color:var(--plum-fg);display:grid;place-items:center;font-size:15px;box-shadow:0 2px 0 var(--accent-d);transform:rotate(-6deg)}.crumbs{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-weight:700;font-size:13px}.crumbs b{color:var(--ink);font-weight:800}.crumbs a,.crumbs .crumb-link{color:inherit;text-decoration:none;cursor:pointer}.crumbs a:hover,.crumbs .crumb-link:hover{color:var(--ink)}.step{padding:6px 16px;border-radius:999px;font-size:13px;font-weight:800;color:var(--ink-3);display:flex;align-items:center;gap:8px}.step.active{background:var(--ink);color:var(--paper)}.step .num{width:20px;height:20px;border-radius:999px;background:var(--paper-3);color:var(--ink-2);display:grid;place-items:center;font-size:11px;font-weight:900}.step.active .num{background:var(--accent);color:var(--plum-fg)}.step.done .num{background:var(--ok);color:#fff}.tb-nav{display:inline-flex;align-items:center;gap:2px;background:var(--paper-2);padding:3px;border-radius:999px;border:1px solid var(--line)}.tb-nav .tb-nav-item{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:800;color:var(--ink-3);text-decoration:none;transition:background .15s,color .15s}.tb-nav .tb-nav-item:hover{color:var(--ink)}.tb-nav .tb-nav-item.active{background:var(--ink);color:var(--paper)}.tb-email{font-size:12px;font-weight:700;color:var(--ink-3);font-family:var(--font-mono)}.save-indicator{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink-3)}.save-indicator .dot{width:7px;height:7px;border-radius:999px;background:var(--ok);display:inline-block}.save-indicator.saving{color:var(--ink-3)}.save-indicator.saving .dot{background:var(--warn)}.save-indicator.saved{color:var(--ok)}.save-indicator.saved .dot{background:var(--ok)}.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:var(--r-md);font-weight:800;font-size:14px;transition:transform .08s,box-shadow .15s,background .15s;border:1px solid transparent;white-space:nowrap;cursor:pointer;background:transparent;color:inherit}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--plum-fg);box-shadow:0 3px 0 var(--accent-d)}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{box-shadow:0 1px 0 var(--accent-d)}.btn-ink{background:var(--ink);color:var(--paper);box-shadow:0 3px #0006}.btn-ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line)}.btn-ghost:hover{background:var(--paper-2);color:var(--ink)}.btn-soft{background:var(--paper-2);color:var(--ink);border:1px solid var(--line)}.btn-soft:hover{background:var(--paper-3)}.btn-sm{padding:6px 12px;font-size:13px;border-radius:var(--r-sm)}.btn-icon{width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-2);border:1px solid transparent;background:transparent;cursor:pointer;transition:background .15s,color .15s}.btn-icon:hover{background:var(--paper-2);color:var(--ink)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.input,.textarea,.select{width:100%;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:10px 14px;font-weight:600;color:var(--ink);font-family:inherit;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder,.textarea::placeholder{color:var(--ink-4);font-weight:600}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint);outline:none}.textarea{resize:vertical;min-height:70px;line-height:1.45}.input-lg{font-size:22px;font-weight:800;padding:14px 18px;letter-spacing:-.01em}.input-xl{font-size:32px;font-weight:900;letter-spacing:-.02em;padding:16px 0;border:none;background:transparent;border-bottom:2px dashed var(--line);border-radius:0}.input-xl:focus{border-color:var(--accent);box-shadow:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em}.chip .dot{width:6px;height:6px;border-radius:999px;background:currentColor}.chip-mc{background:var(--q-mc-t);color:var(--q-mc-d);border-color:transparent}.chip-tf{background:var(--q-tf-t);color:var(--q-tf-d);border-color:transparent}.chip-oe{background:var(--q-oe-t);color:var(--q-oe-d);border-color:transparent}.chip-sec{background:var(--q-sec-t);color:var(--q-sec-d);border-color:transparent}.chip-img{background:var(--q-img-t);color:var(--q-img-d);border-color:transparent}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs)}.seg{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:3px;gap:2px}.seg button{padding:6px 12px;border-radius:calc(var(--r-sm) - 2px);font-size:12px;font-weight:800;color:var(--ink-3);background:transparent;border:none;cursor:pointer}.seg button.on{background:var(--ink);color:var(--paper)}.toggle{width:40px;height:22px;border-radius:999px;background:var(--line);position:relative;transition:background .15s;flex-shrink:0;border:none;cursor:pointer;padding:0}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #0003}.toggle.on{background:var(--accent)}.toggle.on:after{transform:translate(18px)}.points-bar{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);padding:4px;border-radius:var(--r-sm)}.points-bar button{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--r-xs);color:var(--ink-3);background:transparent;border:none;cursor:pointer}.points-bar button:hover{background:var(--paper-2);color:var(--ink)}.points-bar input{width:50px;text-align:center;border:none;background:transparent;font-weight:900;font-family:var(--font-mono);color:var(--ink);outline:none}.alert-band{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-md);font-size:13px;font-weight:700;line-height:1.4}.alert-band.error{background:color-mix(in oklab,var(--bad) 12%,var(--card));border:1px solid color-mix(in oklab,var(--bad) 35%,transparent);color:var(--bad)}.alert-band.success{background:color-mix(in oklab,var(--ok) 14%,var(--card));border:1px solid color-mix(in oklab,var(--ok) 35%,transparent);color:var(--ok)}.chip-puzzle{background:var(--q-mc-t);color:var(--q-mc-d);border-color:transparent}.chip-quiz{background:var(--q-oe-t);color:var(--q-oe-d);border-color:transparent}.dash-wrap,.student-dashboard{max-width:1200px;margin:0 auto;padding:32px 36px}.dash-hero{background:var(--ink);color:var(--paper);border-radius:var(--r-xl);padding:32px 36px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;position:relative;overflow:hidden;margin-bottom:28px}.dash-hero:before{content:"";position:absolute;right:-40px;top:-40px;width:240px;height:240px;background:var(--accent);border-radius:50%;opacity:.6;filter:blur(2px)}.dash-hero:after{content:"";position:absolute;right:80px;bottom:-80px;width:180px;height:180px;background:var(--a3);border-radius:50%;opacity:.7}.dash-hero .inner{position:relative;z-index:1;max-width:620px}.dash-hero h1{margin:0 0 8px;font-size:44px;font-weight:900;letter-spacing:-.03em;line-height:1.05}.dash-hero p{margin:0;color:var(--ink-4);font-size:16px;max-width:460px;font-weight:600}.dash-hero__subtitle{min-height:2.8em}.dash-hero__line{display:block}.dash-hero__line:first-child{color:var(--ink-4)}.dash-hero__line:last-child{color:var(--ink-3);font-weight:500;font-size:14px;margin-top:2px}.dash-hero__not-me{margin-top:12px;padding:0;background:none;border:0;color:var(--ink-3);font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.dash-hero__not-me:hover{color:var(--ink-2)}.dash-hero__not-me:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.dash-hero__progress{position:relative;z-index:1;margin-top:18px;max-width:460px}.dash-hero__progress-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;gap:12px}.dash-hero__progress-caption{font-size:12px;font-weight:700;color:var(--paper);text-transform:uppercase;letter-spacing:.08em;opacity:.85}.dash-hero__progress-pct{font-size:22px;font-weight:900;letter-spacing:-.02em;background:linear-gradient(90deg,var(--accent),var(--a3),var(--accent));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:dash-hero-gradient 4s linear infinite}.dash-hero__progress-track{height:14px;background:color-mix(in oklab,var(--paper) 14%,transparent);border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #00000059,inset 0 -1px color-mix(in oklab,var(--paper) 10%,transparent)}.dash-hero__progress-fill{position:relative;height:100%;min-width:14px;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0%,var(--a3) 50%,var(--accent) 100%);background-size:200% 100%;box-shadow:0 0 12px color-mix(in oklab,var(--accent) 80%,transparent),0 0 24px color-mix(in oklab,var(--accent) 50%,transparent);transition:width .8s cubic-bezier(.22,1,.36,1);animation:dash-hero-pulse 2.2s ease-in-out infinite,dash-hero-gradient 4s linear infinite;overflow:hidden}.dash-hero__progress-shimmer{position:absolute;inset:0;background:linear-gradient(100deg,transparent 0%,transparent 35%,rgba(255,255,255,.55) 50%,transparent 65%,transparent 100%);background-size:220% 100%;animation:dash-hero-shimmer 2.4s linear infinite;pointer-events:none}@keyframes dash-hero-pulse{0%,to{box-shadow:0 0 12px color-mix(in oklab,var(--accent) 80%,transparent),0 0 24px color-mix(in oklab,var(--accent) 50%,transparent)}50%{box-shadow:0 0 20px color-mix(in oklab,var(--accent) 90%,transparent),0 0 40px color-mix(in oklab,var(--accent) 65%,transparent)}}@keyframes dash-hero-gradient{0%{background-position:0% 50%}to{background-position:200% 50%}}@keyframes dash-hero-shimmer{0%{background-position:-120% 0}to{background-position:220% 0}}@media(prefers-reduced-motion:reduce){.dash-hero__progress-fill,.dash-hero__progress-pct{animation:none}.dash-hero__progress-shimmer{display:none}}.dash-hero .cta{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.dash-hero .cta .btn-ghost{color:var(--paper);border-color:color-mix(in oklab,var(--paper) 25%,transparent)}.dash-hero .cta .btn-ghost:hover{background:color-mix(in oklab,var(--paper) 10%,transparent);color:var(--paper)}.dash-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.dash-filters>.dash-tabs{align-self:flex-start}.dash-filters-secondary{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.dash-filters-secondary .search{flex:1 1 auto;min-width:220px;position:relative}.dash-filters-secondary .search input{padding-left:38px;width:100%}.dash-filters-secondary .search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.dash-toolbar{display:flex;align-items:center;gap:16px;margin:24px 0 20px;flex-wrap:wrap}.dash-toolbar>.dash-tabs{flex:0 0 auto}.dash-toolbar>.dash-search{flex:1 1 240px;min-width:0}.dash-tabs{display:inline-flex;align-items:center;background:var(--paper-2);padding:4px;border-radius:999px;border:1px solid var(--line)}.dash-tabs button{padding:8px 18px;border-radius:999px;font-size:13px;font-weight:800;color:var(--ink-3);background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:color .12s,background .12s}.dash-tabs button:hover{color:var(--ink)}.dash-tabs button.on{background:var(--ink);color:var(--paper);box-shadow:0 2px #0003}.dash-tabs .count{font-family:var(--font-mono);font-size:11px;background:var(--paper-3);padding:1px 6px;border-radius:4px;font-weight:800}.dash-tabs button.on .count{background:#ffffff26;color:var(--paper)}.pill-select{display:inline-flex;align-items:center;gap:2px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:3px}.pill-select button{padding:6px 14px;border-radius:999px;font-size:12px;font-weight:800;color:var(--ink-3);background:transparent;border:none;cursor:pointer;white-space:nowrap}.pill-select button:hover{color:var(--ink)}.pill-select button.on{background:var(--ink);color:var(--paper)}.class-share{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 12px;background:var(--card);border:1px solid var(--line);border-radius:999px;cursor:pointer}.class-share:hover{border-color:var(--ink-4)}.class-share-icon{font-size:13px;line-height:1}.class-share-label{font-size:11px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.class-share-select{appearance:none;background:transparent;border:none;color:var(--ink);font-family:inherit;font-size:13px;font-weight:800;padding:4px 18px 4px 4px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);background-position:calc(100% - 8px) 50%,calc(100% - 4px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.class-share-select:focus{outline:none}.class-share-badge{font-family:var(--font-mono);font-size:11px;font-weight:800;color:var(--accent-d);background:var(--accent-tint);padding:2px 8px;border-radius:4px;letter-spacing:.02em}@media(max-width:640px){.dash-filters{gap:10px}.dash-tabs{width:100%;justify-content:stretch}.dash-tabs button{padding:6px 10px;font-size:12px;flex:1;justify-content:center;gap:6px}.dash-tabs button .count{font-size:10px;padding:1px 5px}.dash-tabs button[data-tab=all] .label{display:none}.dash-filters-secondary{justify-content:stretch;gap:10px}.dash-filters-secondary .search,.pill-select,.class-share{width:100%;max-width:none}.class-share{justify-content:space-between}.class-share-label{display:none}}.dash-continue{margin-bottom:28px}.dash-continue__title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;color:var(--ink);margin:0 0 12px}.dash-continue__count{font-size:12px;font-weight:500;color:var(--ink-3);background:var(--surface-2, rgba(255,255,255,.06));padding:2px 8px;border-radius:999px}.dash-continue__row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,320px);gap:16px;overflow-x:auto;overflow-y:visible;padding-bottom:6px;scroll-snap-type:x mandatory;scrollbar-width:thin}.dash-continue__row>*{scroll-snap-align:start}@media(max-width:640px){.dash-continue__row{grid-auto-columns:minmax(220px,80vw)}}.dash-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:960px){.dash-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.dash-grid{grid-template-columns:1fr}}.dash-grid--auto-flow{grid-auto-flow:dense}.quiz-card{background:var(--card);border-radius:var(--r-lg);border:1.5px solid var(--line);overflow:hidden;transition:border-color .15s,transform .15s,box-shadow .15s;cursor:pointer;display:flex;flex-direction:column;position:relative}.quiz-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--ink-4)}.quiz-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.quiz-card .thumb{aspect-ratio:16/9;background:var(--a, var(--paper-3));display:grid;place-items:center;color:#fff;font-size:64px;font-weight:900;letter-spacing:-.04em;position:relative;overflow:hidden}.quiz-card .thumb:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.25),transparent 60%);pointer-events:none}.quiz-card .thumb .emoji{font-size:56px;line-height:1}.quiz-card .thumb .puzzle-type-badges{position:absolute;top:8px;left:8px;z-index:1;display:inline-flex;flex-wrap:wrap;gap:4px;max-width:calc(100% - 60px)}.quiz-card .thumb .puzzle-type-badge{background:var(--ink);color:var(--paper);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:4px 8px;border-radius:999px;white-space:nowrap}.quiz-card .thumb .puzzle-type-badge--puzzle{background:color-mix(in oklab,var(--ink) 75%,var(--q-mc) 25%)}.quiz-card .thumb .puzzle-type-badge--quiz{background:color-mix(in oklab,var(--ink) 75%,var(--q-oe) 25%)}.quiz-card .thumb .puzzle-type-badge--attached{background:#ffffffeb;color:var(--ink);border:1px solid color-mix(in oklab,var(--ink) 30%,transparent)}.quiz-card .thumb .overflow-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:999px;background:#17141f66;color:#fff;display:grid;place-items:center;border:none;cursor:pointer;font-weight:900;font-size:18px;line-height:1;z-index:2}.quiz-card .thumb .overflow-btn:hover{background:#17141fa6}.quiz-card .thumb .cw-thumb-svg{position:absolute;inset:12%;width:76%;height:76%;z-index:1;pointer-events:none}.quiz-card .thumb.has-cw-thumb .emoji,.quiz-card .thumb.has-an-thumb .emoji,.quiz-card .thumb.has-ws-thumb .emoji,.quiz-card .thumb.has-quiz-thumb .emoji{font-size:22px;position:absolute;bottom:8px;right:10px;opacity:.92;z-index:2;text-shadow:0 1px 2px rgba(0,0,0,.18)}.quiz-card .thumb .quiz-thumb-pills{position:absolute;inset:12% 18%;display:flex;flex-direction:column;justify-content:center;gap:6px;z-index:1;pointer-events:none}.quiz-card .thumb .quiz-thumb-pill{background:color-mix(in oklab,var(--qc, var(--ink-3)) 18%,white);border:1.5px solid color-mix(in oklab,var(--qc, var(--ink-3)) 70%,transparent);color:var(--qcd, var(--ink));border-radius:999px;padding:4px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;box-shadow:0 1px 2px #00000014}.quiz-card .thumb .quiz-thumb-pill-label{font-size:clamp(8px,1.5vw,11px);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.quiz-card .thumb .quiz-thumb-pill-count{font-family:var(--font-mono);font-size:clamp(9px,1.7vw,12px);font-weight:800;font-variant-numeric:tabular-nums}.quiz-card .thumb .ws-thumb-grid{position:absolute;inset:14%;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:2px;z-index:1;pointer-events:none}.quiz-card .thumb .ws-thumb-cell{background:#ffffffe0;display:grid;place-items:center;font-family:var(--font-mono);font-size:clamp(7px,1.8vw,12px);font-weight:800;color:#000000b8;border-radius:3px;box-shadow:0 1px 2px #00000014}.quiz-card .thumb .ws-thumb-cell.is-found{background:#7be9a5;color:oklch(.3 .12 155);box-shadow:0 1px 2px #0000001f,inset 0 0 0 1px oklch(.55 .15 155)}.quiz-card .thumb .an-thumb-tiles{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;z-index:1;pointer-events:none;padding:0 14%}.quiz-card .thumb .an-thumb-tile{width:clamp(22px,11%,38px);aspect-ratio:1;display:grid;place-items:center;background:#fffffff0;color:#000000c7;font-family:var(--font-mono);font-size:clamp(11px,2.4vw,16px);font-weight:800;border-radius:6px;box-shadow:0 2px 4px #0000001f;transform:rotate(var(--rot, 0deg))}.quiz-card .body{padding:14px 16px}.quiz-card .title{font-weight:900;color:var(--ink);font-size:16px;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.quiz-card .meta{color:var(--ink-3);font-size:12px;font-weight:700;margin-top:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.quiz-card .meta .sep{width:3px;height:3px;border-radius:99px;background:currentColor;opacity:.4}.quiz-card .meta .status{color:var(--ok);font-weight:800}.quiz-card .meta .status.draft{color:var(--warn)}.quiz-card .submeta{color:var(--ink-4);font-size:11px;font-weight:600;margin-top:4px}.student-card{position:relative;overflow:hidden}.student-card .thumb{position:relative}.student-card .progress-banner{position:absolute;top:50%;left:-20%;width:140%;padding:7px 0;display:flex;align-items:center;justify-content:center;transform:translateY(-50%) rotate(-22deg);transform-origin:center center;pointer-events:none;z-index:3;overflow:hidden;background:var(--banner-bg, rgba(20, 18, 30, .45));backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border-top:1px solid var(--banner-border, rgba(255, 255, 255, .22));border-bottom:1px solid var(--banner-border, rgba(255, 255, 255, .22));box-shadow:0 6px 16px -8px #00000059,inset 0 0 0 1px #ffffff0d;font-weight:900;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55);white-space:nowrap}.student-card.is-completed .progress-banner{--banner-bg: color-mix(in srgb, var(--ok, #19a974) 55%, transparent);--banner-border: color-mix(in srgb, var(--ok, #19a974) 80%, white)}.student-card.is-completed .progress-banner:after{content:"";position:absolute;top:-30%;bottom:-30%;left:-40%;width:35%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);transform:skew(-18deg);animation:student-card-shine 3.2s ease-in-out infinite;animation-delay:.4s}@keyframes student-card-shine{0%{left:-45%;opacity:0}18%{opacity:1}62%{opacity:1}to{left:135%;opacity:0}}.student-card.is-submitted .progress-banner{--banner-bg: color-mix(in srgb, var(--info, #2a6df5) 55%, transparent);--banner-border: color-mix(in srgb, var(--info, #2a6df5) 75%, white)}.student-card.is-partial .progress-banner{--banner-bg: color-mix(in srgb, #e63946 88%, transparent);--banner-border: color-mix(in srgb, #e63946 88%, white);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:partial-banner-pulse 2.8s ease-in-out infinite}@keyframes partial-banner-pulse{0%,to{box-shadow:0 6px 16px -8px #00000059,inset 0 0 0 1px #ffffff0d,0 0 color-mix(in srgb,#e63946 55%,transparent)}50%{box-shadow:0 6px 16px -8px #00000059,inset 0 0 0 1px #ffffff0d,0 0 28px 8px color-mix(in srgb,#e63946 50%,transparent)}}.student-card.is-new .progress-banner{--banner-bg: color-mix(in srgb, #f5c95c 60%, transparent);--banner-border: color-mix(in srgb, #f5c95c 80%, white);color:#1a1408;text-shadow:0 1px 1px rgba(255,255,255,.35)}.student-card.is-graded .progress-banner{--banner-bg: color-mix(in srgb, #8b5cf6 58%, transparent);--banner-border: color-mix(in srgb, #8b5cf6 80%, white)}.student-card.is-graded .progress-banner:after{content:"";position:absolute;top:-30%;bottom:-30%;left:-40%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);transform:skew(-18deg);animation:student-card-shine 4.2s ease-in-out infinite;animation-delay:1.2s}.student-card.is-perfect .progress-banner{--banner-bg: color-mix(in srgb, #f4b62b 60%, transparent);--banner-border: color-mix(in srgb, #ffe07a 85%, transparent);color:#2a1f00;text-shadow:0 0 8px rgba(255,224,122,.7),0 1px 2px rgba(255,255,255,.55);box-shadow:0 8px 20px -8px #f4b62b8c,inset 0 0 0 1px #ffffff2e}.student-card.is-perfect .progress-banner:after{content:"";position:absolute;top:-30%;bottom:-30%;left:-40%;width:42%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.85) 50%,transparent 100%);transform:skew(-18deg);animation:student-card-shine 2.2s ease-in-out infinite}.student-card.is-fresh .progress-banner{display:none}.student-card.is-assigned .progress-banner{--banner-bg: color-mix(in srgb, #5b7a99 65%, transparent);--banner-border: color-mix(in srgb, #5b7a99 85%, white);color:#f5f7fa}@media(prefers-reduced-motion:reduce){.student-card.is-graded .progress-banner:after,.student-card.is-perfect .progress-banner:after{animation:none;display:none}.student-card.is-partial .progress-banner{animation:none}}.surprise-card{position:relative;overflow:hidden;cursor:pointer;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--ink-4));background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 18%,var(--paper)) 0%,var(--paper) 70%);transition:transform .12s,box-shadow .12s,border-color .12s}.surprise-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px -10px color-mix(in srgb,var(--accent) 40%,transparent);border-color:var(--accent)}.surprise-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.surprise-card__thumb{position:relative;aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 75%,#000),color-mix(in srgb,var(--accent) 55%,#000));overflow:hidden}.surprise-card__emoji{font-size:64px;line-height:1;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35));animation:surprise-emoji-spin 18s linear infinite;z-index:1}@keyframes surprise-emoji-spin{0%,92%,to{transform:rotate(0)}94%{transform:rotate(-18deg)}96%{transform:rotate(18deg)}98%{transform:rotate(-9deg)}}.surprise-card__bg{position:absolute;inset:0;z-index:0;pointer-events:none}.surprise-card__sparkle{position:absolute;color:#fff9;font-size:18px;animation:surprise-sparkle 3.6s ease-in-out infinite}.surprise-card__sparkle--a{top:18%;left:12%;animation-delay:0s}.surprise-card__sparkle--b{top:70%;left:78%;animation-delay:.9s;font-size:14px}.surprise-card__sparkle--c{top:35%;left:85%;animation-delay:1.8s;font-size:22px}.surprise-card__sparkle--d{top:78%;left:22%;animation-delay:2.7s}@keyframes surprise-sparkle{0%,to{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}.surprise-card__sash{position:absolute;top:50%;left:-20%;width:140%;padding:8px 0;text-align:center;transform:translateY(-50%) rotate(22deg);background:color-mix(in srgb,var(--accent) 55%,transparent);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);color:#fff;font-weight:900;font-size:18px;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.4);z-index:2;pointer-events:none}@media(prefers-reduced-motion:reduce){.surprise-card__emoji,.surprise-card__sparkle{animation:none}}.ws-submit-confirm{position:fixed;inset:0;background:color-mix(in srgb,var(--ink) 55%,transparent);display:grid;place-items:center;z-index:1000;animation:surprise-modal-fade .2s ease-out}.ws-submit-confirm__panel{background:var(--paper);border:1px solid var(--ink-4);border-radius:16px;padding:28px 32px;max-width:460px;width:calc(100% - 32px);box-shadow:0 24px 60px -16px #00000073;text-align:center;animation:surprise-modal-pop .3s ease-out}.ws-submit-confirm__icon{font-size:52px;line-height:1;margin-bottom:8px}.ws-submit-confirm__panel h3{margin:0 0 6px;font-size:22px;font-weight:900}.ws-submit-confirm__lead{margin:0 0 18px;font-size:14px;color:var(--ink-2)}.ws-submit-confirm__missing,.ws-submit-confirm__points{display:flex;align-items:center;gap:10px;margin:8px 0;padding:12px 16px;border-radius:12px;font-size:14px;text-align:left;color:var(--ink)}.ws-submit-confirm__missing{background:color-mix(in srgb,var(--warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent)}.ws-submit-confirm__points{background:color-mix(in srgb,var(--bad) 12%,transparent);border:1px solid color-mix(in srgb,var(--bad) 35%,transparent)}.ws-submit-confirm__missing-icon{font-size:20px;flex:0 0 auto}.ws-submit-confirm__points em{font-style:normal;font-size:12px;color:var(--ink-3);margin-left:4px}.ws-submit-confirm__actions{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap-reverse}.ws-submit-confirm__actions .btn{flex:1 1 140px}.puzzle-review-shell{min-height:100vh;background:var(--paper)}.puzzle-review-header{display:flex;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:20px 28px;border-bottom:1px solid var(--ink-4)}.puzzle-review-back{padding:8px 14px;border:1px solid var(--ink-4);background:var(--paper);border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink-2)}.puzzle-review-back:hover{border-color:var(--accent);color:var(--accent)}.puzzle-review-title{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.puzzle-review-title h1{margin:0;font-size:22px;font-weight:900;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.puzzle-review-badge{flex:0 0 auto;padding:4px 10px;background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok);border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.04em}.puzzle-review-badge.is-practice{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.puzzle-review-disclaimer{max-width:1100px;margin:12px auto 0;padding:10px 16px;background:color-mix(in srgb,var(--accent) 8%,var(--paper-2));border:1px dashed color-mix(in srgb,var(--accent) 35%,transparent);border-radius:10px;font-size:13px;color:var(--ink-2);text-align:center}.puzzle-review-actions{display:flex;gap:8px;flex:0 0 auto}.puzzle-review-main{max-width:1100px;margin:0 auto;padding:24px 28px 48px}.puzzle-review-loading,.puzzle-review-error{max-width:480px;margin:80px auto;padding:24px;text-align:center;color:var(--ink-2)}.puzzle-review-error p{margin:0 0 16px}.surprise-shell{min-height:100vh;background:radial-gradient(circle at 20% 10%,color-mix(in srgb,var(--accent) 14%,transparent) 0%,transparent 50%),radial-gradient(circle at 80% 90%,color-mix(in srgb,var(--accent) 10%,transparent) 0%,transparent 55%),var(--paper)}.surprise-header{display:flex;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:20px 28px;border-bottom:1px solid var(--ink-4)}.surprise-back{padding:8px 14px;border:1px solid var(--ink-4);background:var(--paper);border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;color:var(--ink-2)}.surprise-back:hover{border-color:var(--accent);color:var(--accent)}.surprise-title{display:flex;align-items:center;gap:10px;flex:1}.surprise-title h1{margin:0;font-size:22px;font-weight:900;letter-spacing:-.02em}.surprise-emoji{font-size:28px;line-height:1}.surprise-counter{font-size:13px;font-weight:700;color:var(--ink-3);white-space:nowrap}.surprise-main{max-width:1100px;margin:0 auto;padding:24px 28px 48px}.surprise-modal{position:fixed;inset:0;background:color-mix(in srgb,var(--ink) 55%,transparent);display:grid;place-items:center;z-index:1000;animation:surprise-modal-fade .2s ease-out}@keyframes surprise-modal-fade{0%{opacity:0}to{opacity:1}}.surprise-modal__panel{background:var(--paper);border:1px solid var(--ink-4);border-radius:16px;padding:32px 36px;max-width:460px;width:calc(100% - 32px);box-shadow:0 24px 60px -16px #00000073;text-align:center;animation:surprise-modal-pop .3s ease-out}@keyframes surprise-modal-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.surprise-modal__icon{font-size:56px;line-height:1;margin-bottom:12px}.surprise-modal__panel h2{margin:0 0 8px;font-size:22px;font-weight:900}.surprise-modal__lead{margin:0 0 4px;font-size:15px;color:var(--ink-2)}.surprise-modal__breakdown{margin:8px 0 0;font-size:13px;color:var(--ink-3)}.surprise-modal__note{margin:12px 0 0;font-size:12px;color:var(--ink-3);font-style:italic}.surprise-modal__actions{display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap}@media(prefers-reduced-motion:reduce){.student-card.is-completed .progress-banner:after{animation:none;display:none}}.student-card.is-submission .thumb{background-image:linear-gradient(var(--a, var(--paper-2)) 0 0),repeating-linear-gradient(0deg,transparent 0,transparent 22px,color-mix(in oklab,#fff 35%,transparent) 22px,color-mix(in oklab,#fff 35%,transparent) 23px)}.student-card.is-submission .thumb .emoji{font-size:64px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}.dash-search{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--paper-2);border:1px solid var(--ink-4);border-radius:999px;transition:border-color .12s}.dash-search:focus-within{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 25%,transparent);outline-offset:-1px}.dash-search__icon{font-size:14px;line-height:1;opacity:.7}.dash-search__input{flex:1;border:0;background:transparent;outline:0;font-size:14px;color:var(--ink)}.dash-search__input::placeholder{color:var(--ink-3)}.dash-search__clear{flex:0 0 auto;width:20px;height:20px;border:0;border-radius:50%;background:var(--ink-4);color:var(--ink);font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center}.dash-search__clear:hover{background:var(--ink-3)}.dash-partial-banner{display:flex;gap:12px;align-items:flex-start;margin:12px auto 16px;max-width:920px;padding:12px 16px;background:color-mix(in srgb,var(--warn) 12%,var(--paper-2));border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:10px;font-size:13px;line-height:1.45;color:var(--ink)}.session-expiry-banner{display:flex;gap:10px;align-items:center;margin:12px auto 0;max-width:920px;padding:10px 16px;background:color-mix(in srgb,var(--warn) 10%,var(--paper-2));border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:10px;font-size:13px;color:var(--ink)}.dash-partial-banner__icon{font-size:18px;line-height:1;flex:0 0 auto}.dash-partial-banner__body{flex:1;min-width:0}.dash-partial-banner__body strong{display:block;margin-bottom:4px;font-weight:700}.dash-partial-banner__body ul{margin:4px 0 6px;padding-left:18px}.dash-partial-banner__body li{margin:2px 0}.dash-partial-banner__hint{display:block;margin-top:6px;font-size:12px;color:var(--ink-3)}.dash-error{display:flex;gap:10px;align-items:center;margin:24px auto;max-width:520px;padding:16px 20px;background:color-mix(in srgb,var(--bad) 10%,var(--paper-2));border:1px solid color-mix(in srgb,var(--bad) 45%,transparent);border-radius:10px;font-size:14px;color:var(--ink)}.dash-error__icon{font-size:18px;line-height:1}.student-empty{margin:32px auto;padding:32px 20px;max-width:520px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg)}.student-empty__icon{font-size:56px;line-height:1;margin-bottom:4px}.student-empty__title{font-weight:800;font-size:17px;color:var(--ink)}.student-empty__hint{font-size:14px;color:var(--ink-3);max-width:380px}.student-empty__cta{margin-top:8px}.student-empty__cta .btn-primary{background:var(--accent);color:var(--plum-fg, #fff);border:none;padding:10px 18px;border-radius:999px;font-weight:800;cursor:pointer;font-size:14px;transition:transform 80ms ease,box-shadow .12s ease}.student-empty__cta .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in oklab,var(--accent) 30%,transparent)}.student-card.has-teacher-feedback .feedback-badge{position:absolute;top:10px;left:10px;z-index:4;padding:4px 9px;border-radius:999px;background:var(--warn, #f5a524);color:var(--ink, #1f1b2e);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 6px #0000002e;display:inline-flex;align-items:center;gap:4px;pointer-events:none}.quiz-card .overflow-menu{position:absolute;top:44px;right:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:4px;min-width:180px;z-index:10;display:flex;flex-direction:column}.quiz-card .overflow-menu button{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:none;cursor:pointer;text-align:left;font-size:13px;font-weight:700;color:var(--ink-2);border-radius:var(--r-xs)}.quiz-card .overflow-menu button:hover{background:var(--paper-2);color:var(--ink)}.quiz-card .overflow-menu button.danger{color:var(--bad)}.quiz-card .overflow-menu button.danger:hover{background:color-mix(in oklab,var(--bad) 10%,var(--card))}.quiz-card.new{border:2px dashed var(--line);background:transparent;display:grid;place-items:center;min-height:260px;color:var(--ink-3);font-weight:800;text-align:center;padding:24px}.quiz-card.new:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.quiz-card.new .plus{width:56px;height:56px;border-radius:999px;background:var(--paper-2);color:var(--accent);display:grid;place-items:center;margin:0 auto 12px}.quiz-card.new .title-lg{font-size:16px;font-weight:900;color:var(--ink)}.quiz-card.new:hover .title-lg{color:var(--accent)}.quiz-card.new .subtitle{font-size:12px;color:var(--ink-3);font-weight:600;margin-top:4px}.quiz-card.new-expanded{grid-column:span 2;min-height:260px;background:var(--accent-tint);border:1.5px solid color-mix(in oklab,var(--accent) 25%,transparent);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:14px;animation:new-expand .15s ease-out}@media(max-width:960px){.quiz-card.new-expanded{grid-column:span 2}}@media(max-width:640px){.quiz-card.new-expanded{grid-column:span 1}}@keyframes new-expand{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.new-mini-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.new-mini-grid{grid-template-columns:1fr}}.new-mini-tile{padding:20px;border-radius:var(--r-md);border:1.5px solid transparent;cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .15s,transform .1s,box-shadow .15s;text-align:left;background:transparent;font:inherit;color:inherit}.new-mini-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.new-mini-tile.puzzle{background:var(--q-mc-t);color:var(--q-mc-d);border-color:color-mix(in oklab,var(--q-mc-d) 22%,transparent)}.new-mini-tile.puzzle:hover{border-color:var(--q-mc-d)}.new-mini-tile.quiz{background:var(--q-oe-t);color:var(--q-oe-d);border-color:color-mix(in oklab,var(--q-oe-d) 22%,transparent)}.new-mini-tile.quiz:hover{border-color:var(--q-oe-d)}.new-mini-tile .ic{width:40px;height:40px;border-radius:var(--r-sm);display:grid;place-items:center;color:#fff}.new-mini-tile.puzzle .ic{background:var(--q-mc)}.new-mini-tile.quiz .ic{background:var(--q-oe)}.new-mini-tile .tt{font-size:15px;font-weight:900;color:var(--ink)}.new-mini-tile .ds{font-size:12px;font-weight:600;color:var(--ink-3)}.skeleton{background:linear-gradient(90deg,var(--paper-3) 0%,color-mix(in oklab,var(--ink-4) 30%,var(--paper-3)) 50%,var(--paper-3) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--r-md)}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.quiz-card.skeleton-card{cursor:default;background:var(--card);border:1.5px solid var(--line)}.quiz-card.skeleton-card:hover{transform:none;box-shadow:var(--shadow-xs);border-color:var(--line)}.quiz-card.skeleton-card .skeleton-thumb{aspect-ratio:16 / 9;border-radius:0}.quiz-card.skeleton-card .body{display:flex;flex-direction:column;gap:8px}.skeleton-line{height:12px;border-radius:6px}.modal-backdrop{position:fixed;inset:0;background:#17141f8c;backdrop-filter:blur(3px);z-index:80;display:grid;place-items:center;padding:20px;animation:modal-fade .15s ease-out}.modal-card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:min(480px,100%);padding:28px;animation:modal-pop .15s ease-out}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.header-img-slot{width:100%;aspect-ratio:4 / 5;display:flex}.header-img-slot>.media-slot{flex:1;margin:0;min-height:0}.header-img-slot>.media-slot.has-media{padding:6px}.header-img-slot>.media-slot.has-media img{max-height:100%;width:100%;object-fit:cover}.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}.tp-chip-trigger{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;margin-left:8px;border:1px solid var(--line);border-radius:999px;background:var(--paper-2);cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s}.tp-chip-trigger:hover{background:var(--card);border-color:var(--ink-4)}.tp-chip-trigger.is-active{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-d)}.tp-chip-trigger.is-active .tp-chip-name{color:var(--accent-d)}.tp-chip-chev{display:inline-flex;transition:transform .2s cubic-bezier(.4,0,.2,1);color:var(--ink-3)}.tp-chip-chev.rot{transform:rotate(180deg);color:var(--accent-d)}.tp-chip-trigger:hover{box-shadow:var(--shadow-xs)}.tp-chip-meta{display:flex;flex-direction:column;line-height:1.1;text-align:left}.tp-chip-name{font-size:12px;font-weight:800;color:var(--ink)}.tp-chip-school{font-size:10px;font-weight:700;color:var(--ink-3);margin-top:1px;letter-spacing:.04em}.tp-chip-trigger svg{color:var(--ink-3)}.tp-avatar-sm,.tp-avatar-lg{display:grid;place-items:center;border-radius:999px;color:#fff;font-weight:900;letter-spacing:-.02em;font-feature-settings:"ss01";box-shadow:0 2px #00000026,inset 0 0 0 2px #ffffff2e;flex-shrink:0}.tp-avatar-sm{width:30px;height:30px;font-size:12px}.tp-avatar-lg{width:64px;height:64px;font-size:22px;border-radius:18px;position:relative}.tp-avatar-edit{position:absolute;bottom:-4px;right:-4px;width:22px;height:22px;border-radius:999px;background:var(--ink);color:var(--paper);display:grid;place-items:center;border:2px solid var(--paper);cursor:pointer}.tp-avatar-edit:hover{background:var(--accent);color:var(--plum-fg)}.tp-drawer{width:min(640px,96vw)}.tp-head{padding:22px 24px 18px;background:var(--card);border-bottom:1px solid var(--line);flex-shrink:0}.tp-name{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tp-name:hover{color:var(--accent)}.tp-name svg{color:var(--ink-4)}.tp-name:hover svg{color:var(--accent)}.tp-name-edit{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--ink);background:transparent;border:none;border-bottom:2px dashed var(--accent);outline:none;font-family:inherit;padding:0 2px}.tp-fullname{font-size:13px;font-weight:700;color:var(--ink-3);margin-top:2px}.tp-meta{font-size:12px;font-weight:700;color:var(--ink-2)}.tp-meta.mono{font-family:var(--font-mono);font-size:11px}.tp-dot{width:3px;height:3px;background:var(--ink-4);border-radius:99px;display:inline-block}.tp-role-pill{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;background:var(--ink);color:var(--paper)}.tp-role-pill.role-coordenador{background:color-mix(in oklab,var(--q-oe-d) 90%,transparent);color:#fff}.tp-role-pill.role-titular{background:var(--paper-3);color:var(--ink)}.tp-role-pill.role-admin{background:var(--bad);color:#fff}.tp-lastlogin{margin-top:12px;font-size:11px;font-weight:700;color:var(--ink-3);display:flex;align-items:center;gap:6px}.tp-lastlogin .mono{font-family:var(--font-mono)}.tp-body{flex:1;overflow-y:auto;padding:0}.tp-section{border-bottom:1px solid var(--line-2);padding:22px 24px 24px}.tp-section:last-child{border-bottom:none}.tp-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.tp-section-icon{width:30px;height:30px;border-radius:9px;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-2);display:grid;place-items:center;flex-shrink:0}.tp-section-kicker{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3)}.tp-section-title{font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--ink);margin-top:2px}.tp-section-body{display:flex;flex-direction:column;gap:14px}.tp-field{display:flex;flex-direction:column;gap:6px}.tp-field>label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.tp-hint{font-size:11px;font-weight:600;color:var(--ink-3);line-height:1.4}.tp-chips{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--paper-2);border:1.5px solid var(--line);border-radius:var(--r-md);min-height:42px;align-items:center}.tp-chip{display:inline-flex;align-items:center;gap:5px;background:var(--card);border:1px solid var(--line);padding:4px 4px 4px 10px;border-radius:999px;font-size:12px;font-weight:700;color:var(--ink)}.tp-chip button{width:16px;height:16px;border-radius:99px;background:var(--paper-2);color:var(--ink-3);display:grid;place-items:center;cursor:pointer}.tp-chip button:hover{background:var(--bad);color:#fff}.tp-chip-add{font-size:11px;font-weight:800;color:var(--ink-3);background:transparent;border:1.5px dashed var(--line);border-radius:999px;padding:4px 10px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.tp-chip-add:hover{color:var(--accent);border-color:var(--accent)}.tp-chip-input{background:var(--card);border:1.5px solid var(--accent);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;outline:none;font-family:inherit;min-width:140px}.tp-toggle-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:border-color .12s,background .12s}.tp-toggle-row:hover{border-color:var(--ink-4)}.tp-toggle-meta{flex:1;min-width:0}.tp-toggle-label{font-size:13px;font-weight:800;color:var(--ink)}.tp-toggle-hint{font-size:11px;font-weight:600;color:var(--ink-3);margin-top:2px;line-height:1.4}.tp-toggle{width:38px;height:22px;border-radius:99px;background:var(--paper-3);border:1.5px solid var(--line);position:relative;flex-shrink:0;transition:background .15s,border-color .15s}.tp-toggle .knob{position:absolute;top:1px;left:1px;width:16px;height:16px;background:var(--card);border-radius:99px;box-shadow:0 1px 2px #0000004d;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.tp-toggle.on{background:var(--ink);border-color:var(--ink)}.tp-toggle.on .knob{transform:translate(16px);background:var(--paper)}.tp-toggle-group-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-top:4px}.tp-divider{height:1px;background:var(--line-2);margin:6px 0 2px}.tp-cred-list{display:flex;flex-direction:column;gap:4px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);padding:6px}.tp-cred-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 8px;border-bottom:1px dashed var(--line);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3)}.tp-cred-head>span{display:inline-flex;align-items:center;gap:6px}.tp-cred{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-sm)}.tp-cred:hover{background:var(--card)}.tp-cred.is-current{background:color-mix(in oklab,var(--ok) 6%,var(--paper-2))}.tp-cred-icon{width:28px;height:28px;border-radius:8px;background:var(--card);border:1px solid var(--line);color:var(--ink-2);display:grid;place-items:center;flex-shrink:0}.tp-cred-label{font-size:13px;font-weight:700;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.tp-cred-meta{font-size:10px;font-weight:600;color:var(--ink-3);margin-top:2px}.tp-current-pill{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--ok);color:#fff;padding:1px 6px;border-radius:99px}.tp-link{background:transparent;border:none;color:var(--accent);font-weight:800;font-size:12px;cursor:pointer;padding:4px 6px;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.tp-link:hover{background:var(--accent-tint)}.tp-link-danger{color:var(--bad)}.tp-link-danger:hover{background:color-mix(in oklab,var(--bad) 12%,transparent)}.tp-state-ok,.tp-state-warn{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:2px 8px;border-radius:99px}.tp-state-ok{background:color-mix(in oklab,var(--ok) 14%,transparent);color:var(--ok)}.tp-state-warn{background:var(--q-mc-t);color:var(--q-mc-d)}.tp-integration{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md)}.tp-int-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:900;font-size:16px;color:var(--ink);flex-shrink:0}.tp-int-name{font-size:13px;font-weight:800;color:var(--ink)}.tp-int-meta{font-size:11px;font-weight:600;color:var(--ink-3);margin-top:1px}.tp-danger-row{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md)}.tp-danger-row.danger{background:color-mix(in oklab,var(--bad) 7%,var(--paper-2));border-color:color-mix(in oklab,var(--bad) 30%,var(--line))}.tp-danger-label{font-size:13px;font-weight:800;color:var(--ink)}.tp-danger-row.danger .tp-danger-label{color:var(--bad)}.tp-danger-hint{font-size:11px;font-weight:600;color:var(--ink-3);margin-top:2px;line-height:1.4}.tp-foot{display:flex;align-items:center;gap:8px;padding:14px 22px;background:var(--card);border-top:1px solid var(--line);flex-shrink:0}.editor{display:grid;grid-template-columns:300px 1fr;gap:0;min-height:calc(100vh - 64px)}.editor-left{border-right:1px solid var(--line);background:var(--paper-2);padding:20px 16px;overflow-y:auto;position:sticky;top:64px;height:calc(100vh - 64px);display:flex;flex-direction:column;gap:10px}.editor-center{padding:28px 48px 80px;max-width:100%;overflow-x:hidden}.inv-head{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);padding:6px 10px 4px}.knobs h4{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:20px 0 8px}.knobs h4:first-child{margin-top:4px}.knob-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;gap:12px}.knob-row label{font-size:13px;font-weight:700;color:var(--ink-2)}.knob-row .value{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.opt-cfg{padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);display:flex;align-items:center;gap:10px;cursor:pointer;transition:background .15s,border-color .15s}.opt-cfg:hover{border-color:var(--ink-4)}.opt-cfg .chk{width:18px;height:18px;border-radius:5px;border:2px solid var(--line);display:grid;place-items:center;flex-shrink:0;transition:background .15s,border-color .15s}.opt-cfg.on .chk{background:var(--accent);border-color:var(--accent);color:#fff}.opt-cfg label{font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer;flex:1}.opt-cfg .desc{font-size:11px;color:var(--ink-3);font-weight:600;margin-top:2px}.preview-menu-wrap{position:relative;display:inline-block}.preview-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;z-index:50;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:0 10px 30px -8px color-mix(in oklab,var(--ink) 25%,transparent),0 4px 8px -2px color-mix(in oklab,var(--ink) 15%,transparent);padding:6px;display:flex;flex-direction:column;gap:2px;animation:preview-menu-pop .14s ease-out}@keyframes preview-menu-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.preview-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:transparent;border:0;border-radius:8px;font-family:inherit;font-size:13px;font-weight:700;color:var(--ink);text-align:left;cursor:pointer;transition:background .12s ease}.preview-menu-item:hover,.preview-menu-item:focus-visible{outline:none;background:var(--paper-2)}@media(prefers-reduced-motion:reduce){.preview-menu{animation:none}}.qlist{display:flex;flex-direction:column;gap:10px}.qrow{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);display:grid;grid-template-columns:44px 1fr auto;align-items:stretch;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s;position:relative}.qrow:hover{border-color:var(--ink-4);box-shadow:var(--shadow-sm)}.qrow.dragging{opacity:.4;transform:scale(.99)}.qrow.is-selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}.qrow-drop-spacer{height:56px;border-radius:var(--r-lg);border:2px dashed color-mix(in oklab,var(--accent) 55%,transparent);background:var(--accent-tint);display:grid;place-items:center;font-family:var(--font-mono);font-weight:800;font-size:13px;color:var(--accent-d);letter-spacing:-.01em;animation:qrow-drop-spacer-in .14s ease-out}@keyframes qrow-drop-spacer-in{0%{height:0;opacity:0;padding:0;border-width:0}to{height:56px;opacity:1}}.qlist-tail{height:32px;margin-top:-10px}.qrow-handle{background:var(--paper-2);border-right:1px solid var(--line);display:grid;place-items:center;cursor:grab;color:var(--ink-3);font-weight:900;font-size:13px;gap:2px;grid-template-rows:1fr auto 1fr;padding:12px 0}.qrow-handle:hover{background:var(--paper-3);color:var(--ink)}.qrow-handle:active{cursor:grabbing}.qrow-handle .num{font-family:var(--font-mono);font-size:13px;color:var(--ink-2)}.qrow-body{padding:14px 16px;display:flex;flex-direction:column;gap:6px;min-width:0}.qrow-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.qrow-title{font-size:15px;font-weight:800;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qrow-title .muted{color:var(--ink-4);font-weight:700}.qrow-preview{font-size:13px;color:var(--ink-3);font-weight:600;display:flex;gap:10px;flex-wrap:wrap}.qrow-preview .opt{padding:2px 8px;background:var(--paper-2);border-radius:6px;display:inline-flex;align-items:center;gap:5px}.qrow-preview .opt.correct{background:#c1fcd4;color:var(--ok)}.qrow-actions{display:flex;align-items:center;padding:8px 10px;gap:2px;border-left:1px solid var(--line);background:var(--paper-2)}.qrow.is-section{border-color:transparent;background:var(--q-sec-t)}.qrow.is-section .qrow-handle{background:color-mix(in oklab,var(--q-sec) 35%,transparent);color:var(--q-sec-d);border-color:transparent}.qrow.is-section .qrow-title{color:var(--q-sec-d)}.qrow.is-section .qrow-actions{background:transparent;border-color:color-mix(in oklab,var(--q-sec-d) 20%,transparent)}.qrow.is-image{background:var(--q-img-t);border-color:transparent}.qrow.is-image .qrow-handle{background:color-mix(in oklab,var(--q-img) 30%,transparent);color:var(--q-img-d);border-color:transparent}.qrow.is-image .qrow-title{color:var(--q-img-d)}.qrow.is-oe{background:color-mix(in oklab,var(--q-oe-t) 45%,var(--card));border-color:transparent}.qrow.is-oe .qrow-handle{background:color-mix(in oklab,var(--q-oe) 22%,transparent);color:var(--q-oe-d);border-color:transparent}.qrow.is-oe .qrow-actions{background:transparent;border-color:color-mix(in oklab,var(--q-oe-d) 18%,transparent)}.qrow.is-oe.is-selected{box-shadow:0 0 0 2px var(--q-oe-d)}.qrow.is-incomplete{background:color-mix(in oklab,var(--q-mc-t) 55%,var(--card));border-color:color-mix(in oklab,var(--q-mc-d) 35%,transparent)}.qrow.is-incomplete .qrow-handle{background:color-mix(in oklab,var(--q-mc) 22%,transparent);color:var(--q-mc-d);border-color:transparent}.qrow.is-incomplete .qrow-actions{background:transparent;border-color:color-mix(in oklab,var(--q-mc-d) 20%,transparent)}.qrow.is-incomplete.is-selected{box-shadow:0 0 0 2px var(--q-mc-d)}.warn-chip{background:var(--q-mc-d)!important;color:#fff!important;border:none!important;font-weight:800!important;display:inline-flex;align-items:center;gap:4px}.q-stage{max-width:860px;margin:0 auto}.q-stage .q-preamble{display:flex;align-items:center;gap:10px;margin-bottom:16px}.q-stage .q-preamble .kn{font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}.q-textbox{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-xl);padding:30px;min-height:140px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:28px;font-weight:800;letter-spacing:-.01em;color:var(--ink);box-shadow:var(--shadow-sm)}.q-textbox textarea{border:none;background:transparent;text-align:center;font-size:28px;font-weight:800;font-family:inherit;color:inherit;width:100%;resize:none;line-height:1.3;letter-spacing:-.01em;outline:none}.q-textbox textarea::placeholder{color:var(--ink-4)}.media-slot{margin:18px 0;border:2px dashed var(--line);border-radius:var(--r-lg);min-height:160px;display:grid;place-items:center;color:var(--ink-3);background:repeating-linear-gradient(45deg,color-mix(in oklab,var(--paper-2) 80%,transparent) 0 8px,var(--paper) 8px 16px);font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:border-color .12s,color .12s}.media-slot:hover{border-color:var(--accent);color:var(--accent)}.media-slot.has-media{border-style:solid;background:var(--paper-2);padding:14px;cursor:default}.media-slot.has-media img{max-width:100%;max-height:320px;border-radius:var(--r-md);display:block;margin:0 auto}.opt-list{display:flex;flex-direction:column;gap:8px}.opt-row{display:grid;grid-template-columns:28px 28px 1fr 32px;align-items:center;gap:12px;padding:12px 16px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);transition:border-color .12s,background .12s}.opt-row:hover{border-color:var(--ink-4)}.opt-row.correct{border-color:var(--q-mc-d);background:color-mix(in oklab,var(--q-mc-t) 70%,var(--card))}.opt-row.correct .opt-letter{color:var(--q-mc-d)}.opt-check{width:22px;height:22px;border:2px solid var(--ink-4);display:grid;place-items:center;color:#fff;background:transparent;transition:background .12s,border-color .12s;cursor:pointer;padding:0}.opt-check.single{border-radius:999px}.opt-check.multi{border-radius:6px}.opt-check.on{background:var(--q-mc-d);border-color:var(--q-mc-d)}.opt-check .dot-in{width:10px;height:10px;border-radius:999px;background:#fff}.opt-letter{font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--ink-3);text-align:right}.opt-txt{background:transparent;border:none;outline:none;font-family:inherit;font-size:15px;font-weight:600;color:var(--ink);width:100%;padding:4px 0}.opt-txt::placeholder{color:var(--ink-4);font-weight:500}.opt-del{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;color:var(--ink-4);background:transparent;opacity:0;transition:opacity .12s,color .12s,background .12s;cursor:pointer;border:none}.opt-row:hover .opt-del{opacity:1}.opt-del:hover{color:var(--bad);background:var(--paper-2)}.opt-add{border-radius:var(--r-md);border:1.5px dashed var(--line);background:transparent;color:var(--ink-3);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:8px;justify-content:flex-start;padding:12px 16px 12px 76px;transition:border-color .12s,color .12s,background .12s;cursor:pointer}.opt-add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.tf-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tf-card{border-radius:var(--r-xl);padding:32px 24px;min-height:140px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:24px;font-weight:900;color:#fff;position:relative;cursor:pointer;transition:transform .08s;border:none}.tf-card.t{background:var(--q-tf);box-shadow:0 4px 0 var(--q-tf-d)}.tf-card.f{background:var(--q-mc);box-shadow:0 4px 0 var(--q-mc-d)}.tf-card:hover{transform:translateY(-1px)}.tf-card .chk-inline{width:32px;height:32px;border-radius:99px;background:#ffffff40;border:2.5px solid rgba(255,255,255,.6);display:grid;place-items:center;color:transparent}.tf-card.selected .chk-inline{background:#fff;color:currentColor;border-color:#fff}.type-tile{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:10px 12px;display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center;transition:border-color .15s,transform .08s,box-shadow .15s;width:100%;text-align:left;cursor:pointer}.type-tile:hover{border-color:var(--ink-4);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.type-tile .ic{width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;color:#fff}.type-tile.mc .ic{background:var(--q-mc)}.type-tile.tf .ic{background:var(--q-tf)}.type-tile.oe .ic{background:var(--q-oe)}.type-tile.sec .ic{background:var(--q-sec)}.type-tile.img .ic{background:var(--q-img)}.type-tile .t{font-size:13px;font-weight:800;color:var(--ink)}.type-tile .s{font-size:11px;font-weight:600;color:var(--ink-3)}.mini-qlist{display:flex;flex-direction:column;gap:4px}.mini-q{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:6px 8px;border-radius:var(--r-sm);font-size:13px;color:var(--ink-2);font-weight:700;cursor:pointer;transition:background .15s,transform .12s,opacity .12s;border:none;background:transparent;text-align:left;width:100%;position:relative}.mini-q:hover{background:var(--paper-3);color:var(--ink)}.mini-q.active{background:var(--ink);color:var(--paper)}.mini-q.dragging{opacity:.4;transform:scale(.97);cursor:grabbing}.mini-q.drop-above:before,.mini-q.drop-below:after{content:"";position:absolute;left:4px;right:4px;height:3px;background:var(--accent);border-radius:999px;box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 30%,transparent);pointer-events:none}.mini-q.drop-above:before{top:-3px}.mini-q.drop-below:after{bottom:-3px}.mini-q .mn{font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.mini-q.active .mn{color:var(--paper);opacity:.7}.mini-q .tag{width:8px;height:8px;border-radius:999px}.mini-q .tag.mc{background:var(--q-mc)}.mini-q .tag.tf{background:var(--q-tf)}.mini-q .tag.oe{background:var(--q-oe)}.mini-q .tag.sec{background:var(--q-sec)}.mini-q .tag.img{background:var(--q-img)}.preview-stage{background:var(--ink);border-radius:var(--r-xl);overflow:hidden;aspect-ratio:16/9;position:relative;box-shadow:var(--shadow-lg);isolation:isolate}.preview-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,color-mix(in oklab,var(--accent) 40%,transparent),transparent 45%),radial-gradient(circle at 80% 80%,color-mix(in oklab,var(--a3) 40%,transparent),transparent 45%)}.preview-stage .pv-inner{position:absolute;inset:0;display:flex;flex-direction:column;padding:28px;gap:20px;color:#fff}.preview-stage .pv-top{display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:13px}.preview-stage .pv-question{background:#fffffffa;color:var(--ink);border-radius:var(--r-lg);padding:20px 28px;font-size:22px;font-weight:900;text-align:center;letter-spacing:-.01em}.preview-stage .pv-answers{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.drag-ghost{position:fixed;pointer-events:none;z-index:9999;background:var(--card);border:2px solid var(--accent);border-radius:var(--r-md);padding:10px 14px;font-weight:800;font-size:13px;box-shadow:var(--shadow-lg);transform:rotate(-2deg)}.attach-editor{display:flex;flex-direction:column;gap:12px;margin-top:6px}.attach-editor-empty{border:1.5px dashed var(--line);border-radius:12px;padding:16px 18px;background:color-mix(in oklab,var(--paper-2) 60%,transparent);color:var(--ink-3);font-size:13px;font-weight:600}.attach-editor-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.attach-row{display:grid;grid-template-columns:auto 56px 1fr 120px auto;gap:12px;align-items:center;padding:10px 12px;background:var(--card);border:1.5px solid var(--line);border-radius:12px;transition:border-color .15s ease}.attach-row:hover{border-color:color-mix(in oklab,var(--ink) 20%,var(--line))}.attach-row-handle{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink-3)}.attach-row-pos{font-size:11px;font-weight:800;font-family:var(--font-mono);color:var(--ink-2)}.attach-row-thumb{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--paper-2);border-radius:8px;overflow:hidden}.attach-thumb-emoji{font-size:26px;line-height:1}.attach-row-info{min-width:0}.attach-row-title{font-weight:700;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attach-row-meta{margin-top:4px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.attach-chip{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--paper-2);color:var(--ink-2);border:1px solid var(--line);display:inline-flex;align-items:center;gap:4px}.attach-chip.mono{font-family:var(--font-mono);letter-spacing:.04em}.attach-chip--type{background:color-mix(in oklab,var(--accent) 12%,var(--paper-2));border-color:color-mix(in oklab,var(--accent) 30%,var(--line))}.attach-chip--dim{opacity:.7}.attach-row-weight{display:flex;flex-direction:column;gap:3px}.attach-row-weight-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--ink-3)}.attach-row-weight-input{display:flex;align-items:center;gap:4px;background:var(--paper);border:1.5px solid var(--line);border-radius:8px;padding:4px 8px;font-family:var(--font-mono)}.attach-row-weight-input input{width:48px;border:0;background:transparent;font-family:inherit;font-size:14px;font-weight:700;color:var(--ink);text-align:right;outline:0}.attach-row-weight-input span{font-size:12px;color:var(--ink-3)}.attach-row-actions{display:flex;gap:4px}.attach-row-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer;font-weight:700;font-size:14px}.attach-row-icon-btn:hover{background:var(--paper-2);border-color:var(--line)}.attach-row-icon-btn:disabled{opacity:.35;cursor:not-allowed}.attach-row-icon-btn--danger{color:var(--bad)}.attach-row-icon-btn--danger:hover{background:color-mix(in oklab,var(--bad) 10%,var(--paper-2));border-color:color-mix(in oklab,var(--bad) 30%,var(--line))}.attach-editor-add{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1.5px dashed var(--line);background:transparent;color:var(--ink-2);font-size:13px;font-weight:800;cursor:pointer;transition:all .15s ease}.attach-editor-add:hover:not(:disabled){border-color:var(--ink-2);background:var(--paper-2)}.attach-editor-add:disabled{opacity:.5;cursor:not-allowed}.attach-editor-err{padding:10px 14px;border-radius:10px;background:color-mix(in oklab,var(--bad) 10%,var(--paper-2));border:1px solid color-mix(in oklab,var(--bad) 35%,var(--line));color:var(--bad);font-size:13px;font-weight:700}.attach-budget{margin-top:4px;display:flex;flex-direction:column;gap:6px}.attach-budget-bar{display:flex;width:100%;height:22px;border-radius:8px;overflow:hidden;border:1.5px solid var(--ink);background:var(--paper-2);box-shadow:0 2px color-mix(in oklab,var(--ink) 12%,transparent)}.attach-budget-bar.is-over{border-color:var(--bad)}.attach-budget-seg{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:var(--ink);overflow:hidden;white-space:nowrap;transition:width .18s ease}.attach-budget-seg--quiz{background:color-mix(in oklab,var(--ok) 35%,var(--paper-2));color:var(--ink)}.attach-budget-seg--puzzle{color:var(--ink);border-left:1.5px solid var(--ink)}.attach-budget-seg--over{background:var(--bad);color:#fff;border-left:1.5px solid var(--ink)}.attach-budget-legend{font-size:12px;color:var(--ink-3);font-weight:600}.attach-budget-warn{color:var(--bad);font-weight:800}.attach-budget-ok{color:var(--ink-3)}.attach-picker-backdrop{position:fixed;inset:0;background:color-mix(in oklab,var(--ink) 55%,transparent);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100;backdrop-filter:blur(2px)}.attach-picker{background:var(--paper);border:2px solid var(--ink);border-radius:18px;box-shadow:0 12px color-mix(in oklab,var(--ink) 14%,transparent),0 40px 80px -20px color-mix(in oklab,var(--ink) 35%,transparent);width:min(820px,96vw);max-height:86vh;display:flex;flex-direction:column;overflow:hidden}.attach-picker-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:2px solid var(--ink)}.attach-picker-head h3{margin:0;font-size:18px;font-weight:900;letter-spacing:-.01em}.attach-picker-search{padding:14px 20px;border-bottom:1.5px solid var(--line);display:flex;flex-direction:column;gap:10px}.attach-picker-search-input{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--paper-2);border:1.5px solid var(--line);border-radius:10px;color:var(--ink-3)}.attach-picker-search-input:focus-within{border-color:var(--ink-2);background:var(--paper)}.attach-picker-search-input input{flex:1;border:0;background:transparent;font-size:14px;font-weight:600;color:var(--ink);outline:0}.attach-picker-filters{display:flex;gap:6px;flex-wrap:wrap}.attach-picker-filter{padding:5px 11px;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink-2);font-size:12px;font-weight:700;cursor:pointer}.attach-picker-filter:hover{border-color:var(--ink-3);background:var(--paper-2)}.attach-picker-filter.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.attach-picker-results{flex:1;overflow-y:auto;padding:8px 14px 16px}.attach-picker-loading,.attach-picker-empty,.attach-picker-err{padding:32px 16px;text-align:center;color:var(--ink-3);font-weight:700;font-size:14px}.attach-picker-err{color:var(--bad)}.attach-picker-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.attach-picker-hint{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);padding:8px 6px 4px}.attach-picker-item-btn{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);text-align:left;cursor:pointer;transition:all .12s ease}.attach-picker-item-btn:hover:not(:disabled){border-color:var(--ink-2);background:var(--paper-2);transform:translateY(-1px)}.attach-picker-item-btn:disabled{opacity:.55;cursor:not-allowed}.attach-picker-item-thumb{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--paper-2);border-radius:8px;overflow:hidden}.attach-picker-item-info{min-width:0}.attach-picker-item-title{font-weight:800;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attach-picker-item-meta{margin-top:4px;display:flex;flex-wrap:wrap;gap:6px}.attach-picker-item-cta{color:var(--ink-3);font-weight:800}.attach-picker-item.is-used .attach-picker-item-btn{background:var(--paper-2)}@media(max-width:640px){.attach-row{grid-template-columns:1fr;gap:8px}.attach-row-handle{flex-direction:row}}.emoji-picker{position:relative;display:inline-block}.emoji-picker-trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 12px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);font-size:22px;cursor:pointer;transition:border-color .12s,background .12s;font-family:inherit}.emoji-picker-trigger:hover{border-color:var(--ink-4)}.emoji-picker-trigger.open{border-color:var(--accent);background:var(--accent-tint)}.emoji-picker-trigger svg{color:var(--ink-3)}.emoji-picker-current{line-height:1}.emoji-picker-popover{position:absolute;top:calc(100% + 6px);left:0;z-index:50;width:320px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:12px;display:flex;flex-direction:column;gap:10px;animation:emoji-pop-in .12s ease-out}@keyframes emoji-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.emoji-picker-search{font-size:13px}.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;max-height:220px;overflow-y:auto}.emoji-picker-cell{width:100%;aspect-ratio:1;background:transparent;border:1px solid transparent;border-radius:8px;font-size:20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background .1s,border-color .1s}.emoji-picker-cell:hover{background:var(--paper-2)}.emoji-picker-cell.selected{background:var(--accent-tint);border-color:var(--accent)}.emoji-picker-empty{grid-column:1 / -1;padding:20px;text-align:center;font-size:12px;color:var(--ink-3);font-weight:600}.section-card{padding:24px 28px}.section-card .section-head{margin-bottom:16px}.section-card .section-head h3{margin:0;font-size:18px;font-weight:900;letter-spacing:-.01em;color:var(--ink);display:inline-flex;align-items:baseline;gap:10px}.section-card .section-head .counter{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--ink-3);background:var(--paper-2);padding:2px 8px;border-radius:6px}.section-card .section-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-card .section-sub{margin:6px 0 0;font-size:13px;font-weight:600;color:var(--ink-3);line-height:1.45}.word-add-row{display:flex;gap:8px;margin-bottom:14px}.word-add-row .input{flex:1;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.word-pool{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.word-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 4px 5px 10px;background:var(--paper-2);border:1.5px solid var(--line);border-radius:999px;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--ink);letter-spacing:.02em;transition:border-color .12s,background .12s}.word-chip:hover{border-color:var(--ink-4)}.word-chip-x{background:transparent;border:none;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;color:var(--ink-3);cursor:pointer;padding:0;transition:background .12s,color .12s}.word-chip-x:hover{background:var(--bad);color:#fff}.empty-pool{padding:24px;text-align:center;background:var(--paper-2);border:1.5px dashed var(--line);border-radius:var(--r-md);font-size:13px;color:var(--ink-3);font-weight:600;margin-bottom:16px}.word-import-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.word-import-area{flex:1 1 100%;display:flex;flex-direction:column;gap:8px}.word-import-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}.import-stats{font-size:12px;font-weight:600;color:var(--ink-3);font-family:var(--font-mono)}.word-gen-area{flex:1 1 100%;display:flex;flex-direction:column;gap:12px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-md);animation:word-gen-in .16s ease-out}@keyframes word-gen-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.word-gen-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.word-gen-header h4{margin:0 0 4px;font-size:14px;font-weight:900;color:var(--ink);letter-spacing:-.01em}.word-gen-header p{margin:0;font-size:12px;color:var(--ink-3);font-weight:600;line-height:1.4}.word-gen-categories{display:flex;flex-wrap:wrap;gap:6px}.word-gen-cat{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--ink-2);background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;transition:border-color .12s,background .12s,color .12s,transform .08s;text-transform:lowercase;letter-spacing:.02em}.word-gen-cat:hover{border-color:var(--ink-4);transform:translateY(-1px)}.word-gen-cat.on{background:var(--accent);color:#fff;border-color:var(--accent)}.word-gen-footer{display:flex;justify-content:flex-end}.link-btn{background:transparent;border:none;padding:4px 8px;border-radius:6px;font-size:13px;font-weight:700;color:var(--ink-3);display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background .12s,color .12s}.link-btn:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.link-btn:disabled{opacity:.5;cursor:not-allowed}.link-btn-danger{color:var(--bad)}.link-btn-danger:hover:not(:disabled){background:color-mix(in oklab,var(--bad) 12%,var(--card));color:var(--bad)}.cross-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.cross-row{display:grid;grid-template-columns:minmax(140px,180px) 1fr;gap:12px;align-items:center;padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper-2);transition:border-color .12s,background .12s}.cross-row:hover{border-color:var(--ink-4)}.cross-row.on{background:var(--card);border-color:var(--accent)}.cross-row-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.cross-row-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.cross-row-word{font-family:var(--font-mono);font-size:13px;font-weight:800;color:var(--ink);letter-spacing:.04em}.cross-row .input{font-size:13px}.cross-row .input:disabled{background:transparent;border-color:transparent;color:var(--ink-4);cursor:not-allowed}.cw-preview-empty{margin-top:16px;padding:24px;text-align:center;background:var(--paper-2);border:1.5px dashed var(--line);border-radius:var(--r-md);font-size:13px;color:var(--ink-3);font-weight:600}.cw-preview-wrapper{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:10px}.cw-preview-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}.cw-preview-grid{display:grid;gap:0;background:var(--card);padding:4px;border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-xs)}.cw-preview-cell{position:relative;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line-2);font-family:var(--font-mono);font-size:14px;font-weight:800;color:var(--ink);letter-spacing:-.02em}.cw-preview-cell.empty{background:transparent;border:none}.cw-preview-cell.tutorial{background:var(--accent-tint);color:var(--accent-d)}.cw-preview-num{position:absolute;top:1px;left:2px;font-family:var(--font-mono);font-size:8px;font-weight:700;color:var(--ink-3);line-height:1}.cw-preview-letter{margin-top:2px}.cw-preview-grid{position:relative}.cw-drag-overlay{position:absolute;pointer-events:none;z-index:5}.cw-drag-handle{position:absolute;pointer-events:auto;border-radius:4px;border:2px solid transparent;background:transparent;transition:border-color .08s,background .08s,box-shadow .08s;user-select:none}.cw-drag-handle:not(.tutorial):hover{border-color:color-mix(in oklab,var(--accent) 60%,transparent);background:color-mix(in oklab,var(--accent) 8%,transparent)}.cw-drag-handle.dragging{z-index:10;box-shadow:var(--shadow-md)}.cw-drag-handle.dragging.valid{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 18%,transparent)}.cw-drag-handle.dragging.invalid{border-color:var(--bad);background:color-mix(in oklab,var(--bad) 18%,transparent)}.cw-drag-handle.tutorial{cursor:not-allowed}.cw-drag-indicator{position:absolute;top:1px;right:2px;font-size:10px;font-weight:800;color:var(--ink-3);opacity:0;transition:opacity .12s;pointer-events:none;line-height:1}.cw-drag-handle:not(.tutorial):hover .cw-drag-indicator{opacity:.9}.cw-drag-ghost-letters{position:absolute;inset:0;pointer-events:none}.cw-drag-ghost-letter{position:absolute;display:grid;place-items:center;font-family:var(--font-mono);font-size:14px;font-weight:800;color:var(--ink);background:color-mix(in oklab,var(--paper) 90%,transparent);border:1px solid var(--line-2);border-radius:2px;pointer-events:none}.cw-drag-handle.dragging.invalid .cw-drag-ghost-letter{color:var(--bad);border-color:var(--bad)}.cw-drag-handle.dragging.valid .cw-drag-ghost-letter{color:var(--ok);border-color:var(--ok)}.cw-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;flex-wrap:wrap}.cw-stage{min-height:calc(100vh - 64px);background:var(--paper);display:flex;flex-direction:column}.play-steps{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 16px;background:var(--paper-2);border-bottom:1px solid var(--line);font-family:inherit}.play-step{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 8px;border-radius:999px;background:var(--card);border:1.5px solid var(--line);font-size:13px;font-weight:700;color:var(--ink-3);transition:border-color .12s,background .12s,color .12s}.play-step.active{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-d)}.play-step.done{background:color-mix(in oklab,var(--ok) 15%,var(--card));border-color:color-mix(in oklab,var(--ok) 50%,var(--line));color:var(--ok)}.play-step.done.active{background:color-mix(in oklab,var(--ok) 25%,var(--card))}.play-step .num{width:22px;height:22px;border-radius:50%;background:var(--paper-2);color:var(--ink-3);font-family:var(--font-mono);font-size:11px;font-weight:800;display:grid;place-items:center}.play-step.active .num{background:var(--accent);color:#fff}.play-step.done .num{background:var(--ok);color:#fff}.play-step .icon{font-size:16px;line-height:1}button.play-step{font-family:inherit;cursor:pointer}.play-step.is-clickable:hover,.play-step.is-clickable:focus-visible{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px -6px color-mix(in oklab,var(--accent) 45%,transparent);outline:none}.play-step.is-clickable:active{transform:translateY(0)}@media(prefers-reduced-motion:reduce){.play-step.is-clickable:hover,.play-step.is-clickable:focus-visible{transform:none;box-shadow:none}}.play-step-sep{font-size:14px;color:var(--ink-4);font-weight:800;padding:0 4px}.cw-body{display:grid;grid-template-columns:1fr 380px;gap:0;flex:1;min-height:0}.cw-body--stacked{grid-template-columns:1fr;grid-template-rows:auto auto}.cw-body--stacked .cw-clues{border-left:none;border-top:1px solid var(--line);max-height:none}@media(max-width:900px){.cw-body{grid-template-columns:1fr!important;grid-template-rows:auto auto}.cw-clues{border-left:none!important;border-top:1px solid var(--line)}.cw-grid-pane{padding:16px 12px;overflow-x:auto}}.cw-grid-pane{display:flex;flex-direction:column;align-items:center;padding:32px;gap:16px;background:radial-gradient(circle at 20% 0%,color-mix(in oklab,var(--accent) 8%,transparent),transparent 50%),radial-gradient(circle at 80% 100%,color-mix(in oklab,var(--q-tf) 10%,transparent),transparent 55%),var(--paper)}.cw-grid-wrap{background:var(--card);border:2px solid var(--ink);border-radius:var(--r-lg);padding:14px;box-shadow:0 6px #1f1b2e1f,0 30px 60px -20px #1f1b2e40}.cw-grid{display:grid;grid-template-columns:repeat(var(--cols),44px);gap:3px}.cw-row{display:contents}.cw-cell{width:44px;height:44px;position:relative;background:#fff;border:1.5px solid var(--ink);border-radius:4px;display:grid;place-items:center;font-family:var(--font-mono);font-size:20px;font-weight:800;color:var(--ink);cursor:pointer;transition:background .35s ease,color .35s ease,transform .15s,box-shadow .25s;padding:0;outline:none;text-transform:uppercase}.cw-cell-block{background:var(--ink);border:1.5px solid var(--ink);border-radius:4px;cursor:default;transition:transform .2s}.cw-cell-block:hover{transform:rotate(2deg)}.cw-cell:hover{background:var(--paper-2)}.cw-cell-active{background:oklch(.95 .1 90)}.cw-cell-correct{background:#7be9a5;color:oklch(.3 .12 155);animation:cwWave .7s ease both}.cw-cell-revealed{background:oklch(.92 .08 80);color:oklch(.4 .14 70)}.cw-cell-revealed .cw-num{color:oklch(.5 .14 70)}.cw-cell-correct.cw-cell-revealed{background:#7be9a5;color:oklch(.3 .12 155)}.cw-cell-wrong{background:var(--q-mc-t);color:var(--q-mc-d);animation:cwWrongIn .45s ease both,cwWrongPulse 1.8s ease-in-out .45s infinite}.cw-cell-wrong .cw-num{color:var(--q-mc-d)}@keyframes cwWrongIn{0%{background:oklch(.95 .1 90);transform:scale(1)}40%{background:var(--q-mc);color:#fff;transform:scale(1.04)}to{background:var(--q-mc-t);color:var(--q-mc-d);transform:scale(1)}}@keyframes cwWrongPulse{0%,to{box-shadow:inset 0 0 0 0 transparent}50%{box-shadow:inset 0 0 0 2px color-mix(in oklab,var(--q-mc) 60%,transparent)}}.cw-cell-focus.cw-cell-wrong{box-shadow:0 0 0 3px var(--q-mc),0 4px 12px #00000026;animation:cwWrongIn .45s ease both}.cw-cell-focus{outline:none;transform:scale(1.08);z-index:2;box-shadow:0 0 0 3px var(--accent),0 4px 12px #00000026;background:oklch(.96 .12 90)}.cw-cell-tut{background:var(--accent-tint)}.cw-num{position:absolute;top:1px;left:3px;font-size:9px;font-weight:800;font-family:var(--font-mono);color:var(--ink-3);line-height:1}.cw-cell-correct .cw-num{color:oklch(.4 .12 155)}.cw-letter{line-height:1}.cw-letter-solution{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;color:oklch(.55 .18 240);opacity:.6;font-style:italic;pointer-events:none;user-select:none;line-height:1}.cw-cell{position:relative}@keyframes cwWave{0%{transform:translateY(0)}40%{transform:translateY(-20px)}to{transform:translateY(0)}}.cw-cell-focus.cw-cell-correct{animation:none}@keyframes cwPulse{0%,to{box-shadow:0 0 0 3px var(--accent),0 4px 12px #00000026}50%{box-shadow:0 0 0 5px var(--accent),0 4px 16px #0003}}.cw-cell-focus{animation:cwPulse 1.6s ease-in-out infinite}.cw-toolbar{display:flex;gap:8px;align-items:center;width:100%;max-width:720px;flex-wrap:wrap}.cw-toolbar .grow{flex:1}.cw-clues{border-left:1px solid var(--line);background:var(--card);overflow-y:auto;padding:20px 22px;display:flex;flex-direction:column;gap:18px}.cw-tut{background:var(--accent-tint);border:1.5px solid color-mix(in oklab,var(--accent) 30%,transparent);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.cw-tut-head{display:flex;align-items:center;gap:8px;font-size:12px}.cw-tut-body{font-size:12.5px;color:var(--ink-2);line-height:1.45;font-weight:600}.cw-clue-section{display:flex;flex-direction:column;gap:6px}.cw-clue-head{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);display:flex;align-items:center;gap:8px;padding:4px 4px 6px;border-bottom:1px solid var(--line)}.cw-clue-head-cnt{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:var(--paper-2);padding:2px 6px;border-radius:4px}.cw-clue-list{display:flex;flex-direction:column;gap:3px}.cw-clue{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;padding:8px 10px;border-radius:var(--r-sm);background:transparent;border:1.5px solid transparent;font-size:13.5px;font-weight:600;color:var(--ink-2);text-align:left;cursor:pointer;transition:background .15s,border-color .15s;width:100%;line-height:1.35;font-family:inherit}.cw-clue:hover{background:var(--paper-2)}.cw-clue.is-active{background:oklch(.95 .1 90);border-color:#d9a514}.cw-clue.is-done{color:oklch(.4 .12 155);text-decoration:line-through;text-decoration-color:oklch(.55 .15 155);text-decoration-thickness:1.5px;background:color-mix(in oklab,oklch(.85 .14 155) 30%,transparent)}.cw-clue.is-done.is-active{background:#7be9a5;border-color:oklch(.55 .15 155)}.cw-clue.is-wrong{background:var(--q-mc-t);border-color:color-mix(in oklab,var(--q-mc) 50%,transparent);color:var(--q-mc-d);animation:cwClueWrong 1.6s ease-in-out infinite}.cw-clue.is-wrong .cw-clue-num{background:var(--q-mc);color:#fff}.cw-clue.is-wrong.is-active{background:color-mix(in oklab,var(--q-mc) 25%,var(--card));border-color:var(--q-mc)}@keyframes cwClueWrong{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 2px color-mix(in oklab,var(--q-mc) 35%,transparent)}}.cw-clue-num{font-family:var(--font-mono);font-size:12px;font-weight:800;color:var(--ink-3);background:var(--paper-2);border-radius:5px;padding:2px 0;text-align:center}.cw-clue.is-active .cw-clue-num{background:var(--ink);color:var(--paper)}.cw-clue.is-done .cw-clue-num{background:oklch(.55 .15 155);color:#fff}.cw-clue-text{padding-top:2px}.cw-clue-len{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:var(--paper-2);padding:2px 6px;border-radius:4px;align-self:center}.cw-keyboard{position:fixed;bottom:16px;left:50%;transform:translate(-50%);background:var(--ink);padding:10px;border-radius:var(--r-md);display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-lg);z-index:50}.cw-kb-row{display:flex;gap:4px;justify-content:center}.cw-kb-key{width:34px;height:42px;border-radius:6px;background:var(--paper);color:var(--ink);font-family:var(--font-mono);font-weight:800;font-size:15px;border:none;cursor:pointer;transition:transform .08s,background .12s}.cw-kb-key.wide{width:60px}.cw-kb-key:hover{background:var(--accent-tint);color:var(--accent-d)}.cw-kb-key:active{transform:translateY(1px)}.cw-success{position:fixed;inset:0;background:#1f1b2e99;backdrop-filter:blur(6px);display:grid;place-items:center;z-index:250;animation:cwFade .3s ease}.cw-success-card{background:var(--card);border-radius:var(--r-xl);padding:40px 56px;text-align:center;border:2px solid var(--ink);box-shadow:0 12px #1f1b2e26,0 30px 60px -10px #0000004d;max-width:460px;animation:cwPop .5s cubic-bezier(.34,1.56,.64,1)}.cw-success-emoji{font-size:64px;margin-bottom:12px}.cw-success-card h2{margin:0 0 8px;font-size:32px;font-weight:900;letter-spacing:-.02em}.cw-success-card p{color:var(--ink-3);margin:0 0 20px;font-weight:700}@keyframes cwFade{0%{opacity:0}to{opacity:1}}@keyframes cwPop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.an-stage{min-height:calc(100vh - 64px);background:radial-gradient(circle at 30% 0%,color-mix(in oklab,var(--accent) 8%,transparent),transparent 50%),radial-gradient(circle at 70% 100%,color-mix(in oklab,var(--warn) 6%,transparent),transparent 55%),var(--paper);display:flex;flex-direction:column;user-select:none;-webkit-user-select:none;touch-action:none;position:relative}.an-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:32px 16px 80px;gap:18px}.an-progress{display:flex;align-items:baseline;gap:14px;font-family:var(--font-mono)}.an-word-pill{display:inline-block;background:var(--ink);color:var(--paper);padding:6px 16px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;line-height:1.4;align-self:center}.an-progress-num{font-size:24px;font-weight:900;color:var(--ink);letter-spacing:-.01em}.an-progress-label{font-size:12px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.an-card{background:var(--card);border:2px solid var(--ink);border-radius:var(--r-xl);padding:32px 36px;display:flex;flex-direction:column;align-items:center;gap:20px;box-shadow:0 6px color-mix(in oklab,var(--ink) 12%,transparent),0 30px 60px -20px color-mix(in oklab,var(--ink) 25%,transparent);max-width:720px;width:100%}.an-hint{background:var(--paper-2);border:1.5px solid var(--line);border-radius:16px;padding:14px 22px;max-width:540px;text-align:center;opacity:0;transform:translateY(-8px) scale(.96);transition:opacity .28s ease,transform .28s cubic-bezier(.34,1.56,.64,1)}.an-hint.show{opacity:1;transform:translateY(0) scale(1)}.an-hint-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-d);margin-bottom:4px}.an-hint-text{font-size:16px;font-weight:600;line-height:1.35;text-wrap:pretty;color:var(--ink)}.an-slots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:92vw}.an-slot{width:60px;height:72px;border:2px dashed color-mix(in oklab,var(--ink) 35%,transparent);border-radius:12px;background:color-mix(in oklab,var(--card) 60%,transparent);display:grid;place-items:center;position:relative;transition:border-color .18s ease,background .18s ease,transform .18s ease}.an-slot.filled{border-style:solid;border-color:var(--ink);background:transparent}.an-slot.wrong{border-color:var(--bad);background:color-mix(in oklab,var(--bad) 12%,transparent)}.an-slot.correct{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 18%,transparent);animation:an-wave-slot .72s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:var(--wave-delay, 0ms)}.an-slot.revealed{border-color:oklch(.72 .16 75);background:color-mix(in oklab,oklch(.72 .16 75) 10%,transparent)}@keyframes an-wave-slot{0%{background:color-mix(in oklab,var(--ok) 18%,transparent);transform:translateY(0) scale(1)}35%{background:color-mix(in oklab,var(--ok) 55%,transparent);transform:translateY(-22px) scale(1.06)}70%{background:color-mix(in oklab,var(--ok) 30%,transparent);transform:translateY(-4px) scale(1)}to{background:color-mix(in oklab,var(--ok) 18%,transparent);transform:translateY(0) scale(1)}}.an-slot.pulse:not(.filled):not(.correct):not(.wrong){animation:an-slot-pulse 1.6s ease-in-out infinite;border-color:color-mix(in oklab,var(--accent) 65%,transparent)}@keyframes an-slot-pulse{0%,to{box-shadow:0 0 color-mix(in oklab,var(--accent) 0%,transparent);border-color:color-mix(in oklab,var(--accent) 45%,transparent);background:color-mix(in oklab,var(--accent) 4%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab,var(--accent) 12%,transparent);border-color:color-mix(in oklab,var(--accent) 85%,transparent);background:color-mix(in oklab,var(--accent) 10%,transparent)}}.an-tile{width:56px;height:64px;border-radius:12px;background:var(--ink);color:var(--paper);font-family:var(--font-mono);font-size:28px;font-weight:700;display:grid;place-items:center;cursor:grab;box-shadow:0 4px #0006,inset 0 -3px #ffffff14;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease;position:relative;flex-shrink:0;animation:an-tile-drop .52s cubic-bezier(.5,1.6,.4,1) backwards;user-select:none}@keyframes an-tile-drop{0%{transform:translateY(-180px) rotate(-15deg);opacity:0}60%{transform:translateY(8px) rotate(2deg);opacity:1}80%{transform:translateY(-4px) rotate(-1deg)}to{transform:translateY(0) rotate(0)}}.an-tile:hover{transform:translateY(-3px) rotate(-2deg);box-shadow:0 7px #0006,inset 0 -3px #ffffff14}.an-tile:active{cursor:grabbing}.an-tile.in-slot{width:100%;height:100%;animation:an-tile-snap .28s cubic-bezier(.34,1.56,.64,1);box-shadow:0 3px #0000004d}@keyframes an-tile-snap{0%{transform:scale(.7)}60%{transform:scale(1.1)}to{transform:scale(1)}}.an-tile.in-slot.correct{background:linear-gradient(135deg,var(--ok) 0%,color-mix(in oklab,var(--ok) 75%,var(--ink)) 100%);color:#fff;box-shadow:0 4px color-mix(in oklab,var(--ok) 60%,var(--ink));animation:an-wave-tile .72s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:var(--wave-delay, 0ms)}@keyframes an-wave-tile{0%{transform:translateY(0) scale(1) rotate(0);box-shadow:0 4px color-mix(in oklab,var(--ok) 60%,var(--ink)),0 0 color-mix(in oklab,var(--ok) 60%,transparent)}35%{transform:translateY(-26px) scale(1.18) rotate(-4deg);box-shadow:0 12px color-mix(in oklab,var(--ok) 60%,var(--ink)),0 0 22px 6px color-mix(in oklab,var(--ok) 55%,transparent)}70%{transform:translateY(-6px) scale(1.02) rotate(2deg);box-shadow:0 6px color-mix(in oklab,var(--ok) 60%,var(--ink)),0 0 0 0 transparent}to{transform:translateY(0) scale(1) rotate(0);box-shadow:0 4px color-mix(in oklab,var(--ok) 60%,var(--ink)),0 0 0 0 transparent}}.an-tile.in-slot.wrong{background:var(--bad);color:#fff}.an-tile.in-slot.revealed{background:linear-gradient(135deg,#ffe89a,#f59e0b);color:var(--ink);box-shadow:0 4px #b45309,inset 0 0 0 1.5px #b4530959;cursor:default}.an-tile.in-slot.revealed:hover{transform:none}.an-tile.dragging-ghost{opacity:.18;transform:scale(.92)}.an-tile.dragging{cursor:grabbing;transform:scale(1.12) rotate(-3deg);box-shadow:0 14px 30px #00000059,0 4px #0000004d;animation:none}.an-tile.flying-source{visibility:hidden}.an-tile.flying{animation:an-tile-fly .28s cubic-bezier(.34,1.56,.64,1) forwards;box-shadow:0 18px 40px #1f1b2e59,0 0 0 1px #1f1b2e26}@keyframes an-tile-fly{0%{transform:translate(0) scale(1.15);opacity:1}60%{transform:translate(calc(var(--fly-dx) * .7),calc(var(--fly-dy) * .7 - 14px)) scale(1.08) rotate(-4deg)}to{transform:translate(var(--fly-dx),var(--fly-dy)) scale(.95);opacity:1}}.an-rack{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:18px 24px;background:color-mix(in oklab,var(--ink) 5%,transparent);border:2px dashed color-mix(in oklab,var(--ink) 25%,transparent);border-radius:18px;min-height:100px;min-width:320px;max-width:92vw;align-items:center}.an-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:4px}.an-hint-flash{position:fixed;transform:translate(-50%,-100%);font-size:28px;font-weight:800;color:var(--bad);letter-spacing:-.5px;text-shadow:0 2px 0 rgba(0,0,0,.08);pointer-events:none;z-index:1100;animation:an-hint-flash 1.05s cubic-bezier(.22,1,.36,1) forwards;font-family:var(--font-mono)}.an-hint-flash--wrong{font-size:24px}@keyframes an-hint-flash{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}18%{transform:translate(-50%,-120%) scale(1.25);opacity:1}60%{transform:translate(-50%,-180%) scale(1);opacity:1}to{transform:translate(-50%,-260%) scale(.85);opacity:0}}.an-slots[class*=shake-]:not(.shake-0),.an-rack[class*=shake-]:not(.shake-0){animation:an-shake .48s cubic-bezier(.36,.07,.19,.97)}@keyframes an-shake{0%,to{transform:translate(0)}10%{transform:translate(-12px) rotate(-1deg)}20%{transform:translate(12px) rotate(1deg)}30%{transform:translate(-10px) rotate(-1deg)}40%{transform:translate(10px) rotate(1deg)}50%{transform:translate(-7px)}60%{transform:translate(7px)}70%{transform:translate(-4px)}80%{transform:translate(4px)}90%{transform:translate(-2px)}}@media(max-width:720px){.an-stage{padding:20px 12px 48px;gap:14px}.an-card{padding:22px 18px;gap:16px}.an-tile{width:44px;height:52px;font-size:22px}.an-slot{width:48px;height:60px}.an-rack{padding:14px;gap:8px;min-width:unset}.an-hint{padding:10px 16px}.an-hint-text{font-size:14px}}@media(prefers-reduced-motion:reduce){.an-tile,.an-tile.in-slot,.an-tile.in-slot.correct,.an-tile.flying,.an-slot.correct,.an-slot.pulse:not(.filled):not(.correct):not(.wrong),.an-slots[class*=shake-],.an-rack[class*=shake-]{animation:none!important}.an-hint{transition:opacity .2s ease;transform:none}.an-tile:hover{transform:none}.an-hint-flash{animation:an-hint-flash-rm .9s ease forwards}@keyframes an-hint-flash-rm{0%{opacity:0;transform:translate(-50%,-120%)}20%{opacity:1}to{opacity:0;transform:translate(-50%,-180%)}}}.ws-stage{min-height:calc(100vh - 64px);background:radial-gradient(circle at 20% 0%,color-mix(in oklab,var(--accent) 8%,transparent),transparent 50%),radial-gradient(circle at 80% 100%,color-mix(in oklab,var(--q-tf) 10%,transparent),transparent 55%),var(--paper);display:flex;flex-direction:column}.ws-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:24px 16px 60px;gap:18px}.ws-dirs{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;margin-left:2px}.ws-dir{display:inline-block;font-size:16px;line-height:1;transform:translateY(1px)}.ws-progress{display:flex;align-items:baseline;gap:14px;font-family:var(--font-mono)}.ws-progress-num{font-size:24px;font-weight:900;color:var(--ink);letter-spacing:-.01em}.ws-progress-label{font-size:12px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.ws-layout{display:grid;grid-template-columns:auto 320px;gap:24px;align-items:start;max-width:100%}@media(max-width:900px){.ws-layout{grid-template-columns:1fr}}.ws-grid{--ws-tint: var(--accent);display:grid;grid-template-columns:repeat(var(--ws-cols),minmax(0,38px));gap:2px;background:radial-gradient(120% 80% at 0% 0%,color-mix(in oklab,var(--ws-tint) 18%,transparent) 0%,transparent 55%),radial-gradient(120% 80% at 100% 100%,color-mix(in oklab,var(--ws-tint) 14%,transparent) 0%,transparent 60%),linear-gradient(135deg,color-mix(in oklab,var(--ws-tint) 10%,var(--card)) 0%,var(--card) 55%,color-mix(in oklab,var(--ws-tint) 8%,var(--card)) 100%);border:2px solid var(--ink);border-radius:var(--r-lg);padding:10px;box-shadow:0 6px #1f1b2e1f,0 30px 60px -20px #1f1b2e40,inset 0 1px color-mix(in oklab,var(--ws-tint) 25%,transparent);user-select:none;-webkit-user-select:none}@media(max-width:600px){.ws-grid{grid-template-columns:repeat(var(--ws-cols),minmax(0,28px))}}.ws-cell{aspect-ratio:1;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line-2);border-radius:4px;font-family:var(--font-mono);font-size:26px;line-height:1;font-weight:800;color:var(--ink);text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s,transform .12s ease,box-shadow .15s;user-select:none;-webkit-user-select:none;touch-action:none}.ws-cell:hover:not(.locked){transform:scale(1.02)}.ws-cell:active:not(.locked){transform:scale(.98)}.ws-cell.active{background:oklch(.95 .1 90);border-color:#d9a514;color:oklch(.3 .15 85)}.ws-cell.start{transform:scale(1.05);box-shadow:0 0 0 2px var(--accent);animation:ws-start-pop .28s cubic-bezier(.34,1.56,.64,1)}@keyframes ws-start-pop{0%{transform:scale(1);box-shadow:0 0 color-mix(in oklab,var(--accent) 40%,transparent)}60%{transform:scale(1.08);box-shadow:0 0 0 6px color-mix(in oklab,var(--accent) 18%,transparent)}to{transform:scale(1.05);box-shadow:0 0 0 2px var(--accent)}}.ws-cell.locked{background:#7be9a5;color:oklch(.3 .12 155);border-color:oklch(.55 .15 155);cursor:default;animation:ws-found-flash .62s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:var(--ws-cell-delay, 0ms)}.ws-cell.solution{background:color-mix(in oklab,oklch(.55 .18 240) 24%,var(--paper));border-color:color-mix(in oklab,oklch(.55 .18 240) 55%,transparent);color:oklch(.4 .18 240)}@keyframes ws-found-flash{0%{background:var(--paper);color:var(--ink);border-color:var(--line-2);transform:scale(1);box-shadow:0 0 0 0 transparent}35%{background:oklch(.94 .2 145);color:oklch(.2 .18 145);border-color:oklch(.65 .22 145);transform:scale(1.22);box-shadow:0 0 0 4px #6bef758c,0 8px 18px -4px oklch(.55 .2 145 / .5);z-index:2}70%{background:#82f59e;color:oklch(.25 .14 150);border-color:oklch(.6 .18 150);transform:scale(.97);box-shadow:0 0 0 2px #40cc6d59}to{background:#7be9a5;color:oklch(.3 .12 155);border-color:oklch(.55 .15 155);transform:scale(1);box-shadow:0 0 0 0 transparent}}.ws-cell.locked.active{background:#42cb80}@media(max-width:600px){.ws-cell{font-size:20px}}.ws-words{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);padding:14px 16px;display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow-y:auto}.ws-words-head{margin:0;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);display:flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--line)}.ws-words-cnt{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);background:var(--paper-2);padding:2px 6px;border-radius:4px}.ws-words-preview{font-family:var(--font-mono);font-size:14px;font-weight:800;color:var(--accent-d);background:color-mix(in oklab,var(--accent) 10%,transparent);border:1px solid color-mix(in oklab,var(--accent) 35%,transparent);border-radius:8px;padding:6px 10px;letter-spacing:.06em;text-transform:uppercase;text-align:center;word-break:break-all;animation:ws-preview-pop .18s ease-out}@keyframes ws-preview-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ws-words-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:4px}.ws-word{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--ink-2);padding:4px 6px;border-radius:4px;letter-spacing:.02em;word-break:break-word}.ws-word.found{color:oklch(.4 .12 155);text-decoration:line-through;text-decoration-color:oklch(.55 .15 155);text-decoration-thickness:1.5px;background:color-mix(in oklab,oklch(.85 .14 155) 30%,transparent)}.ws-empty{padding:60px 30px;background:var(--paper-2);border-radius:var(--r-md);border:1.5px dashed var(--line);color:var(--ink-3);font-size:14px;font-weight:600}@media(prefers-reduced-motion:reduce){.ws-cell,.ws-cell:hover:not(.locked),.ws-cell:active:not(.locked),.ws-cell.start,.ws-cell.locked{animation:none!important}.ws-cell:hover:not(.locked),.ws-cell:active:not(.locked){transform:none}.ws-words-preview{animation:none}}.ws-toolbar{display:flex;gap:8px;align-items:center;width:100%;max-width:720px;flex-wrap:wrap;margin:8px auto 0}.ws-toolbar .grow{flex:1}.gp-bar{display:flex;align-items:center;gap:10px;flex:1 1 160px;min-width:120px}.gp-bar-label{font-size:12px;font-weight:700;color:color-mix(in oklab,var(--ink) 70%,transparent);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.gp-bar-track{position:relative;flex:1;height:10px;border-radius:999px;background:color-mix(in oklab,var(--line) 70%,transparent);overflow:hidden;box-shadow:inset 0 1px 2px #0000000f}.gp-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,color-mix(in oklab,var(--ok) 85%,white),var(--ok));box-shadow:0 0 0 1px color-mix(in oklab,var(--ok) 30%,transparent)}.gp-bar[data-tone=accent] .gp-bar-fill{background:linear-gradient(90deg,color-mix(in oklab,var(--accent) 85%,white),var(--accent));box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 30%,transparent)}.gp-bar-pulse{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--ok) 50%,white) 70%,rgba(255,255,255,.9) 100%);pointer-events:none;transform-origin:center}.gp-bar[data-tone=accent] .gp-bar-pulse{background:linear-gradient(90deg,transparent 0%,color-mix(in oklab,var(--accent) 50%,white) 70%,rgba(255,255,255,.9) 100%)}.gp-bar-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--ink);mix-blend-mode:plus-lighter;pointer-events:none}.gp-bar-count{font-family:var(--font-mono);font-size:13px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-block}.gp-bar.is-complete .gp-bar-fill{animation:gpBarShimmer 1.6s ease-in-out infinite}@keyframes gpBarShimmer{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}@media(prefers-reduced-motion:reduce){.gp-bar.is-complete .gp-bar-fill{animation:none}.gp-bar-pulse{display:none}}.step-transition-backdrop{position:fixed;inset:0;z-index:350;display:grid;place-items:center;background:color-mix(in oklab,var(--paper-2) 78%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer}.step-transition-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:36px 44px 28px;background:var(--card);border:1.5px solid var(--line);border-radius:20px;box-shadow:0 24px 64px -16px color-mix(in oklab,var(--ink) 22%,transparent),0 8px 24px -8px color-mix(in oklab,var(--ink) 16%,transparent);text-align:center;max-width:min(420px,88vw)}.step-transition-check{position:relative;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:color-mix(in oklab,var(--ok) 14%,var(--card));margin-bottom:4px;isolation:isolate}.step-transition-check:before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 color-mix(in oklab,var(--ok) 35%,transparent);animation:step-transition-glow .9s ease-out .05s 1 both;z-index:-1}@keyframes step-transition-glow{0%{box-shadow:0 0 color-mix(in oklab,var(--ok) 45%,transparent)}60%{box-shadow:0 0 0 18px color-mix(in oklab,var(--ok) 8%,transparent)}to{box-shadow:0 0 0 24px color-mix(in oklab,var(--ok) 0%,transparent)}}.step-transition-icon{font-size:36px;line-height:1;filter:saturate(1.1)}.step-transition-tick{position:absolute;bottom:-2px;right:-2px;width:26px;height:26px;border-radius:50%;background:var(--ok);color:#fff;font-size:14px;font-weight:900;display:grid;place-items:center;border:2.5px solid var(--card);box-shadow:0 2px 6px color-mix(in oklab,var(--ok) 40%,transparent)}.step-transition-title{margin:8px 0 0;font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.01em}.step-transition-stat{margin:0;font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--ink-3);letter-spacing:.01em}.step-transition-next{margin:12px 0 0;font-size:12px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--paper-2);border-radius:999px}@media(prefers-reduced-motion:reduce){.step-transition-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:color-mix(in oklab,var(--paper-2) 92%,transparent)}.step-transition-check:before{animation:none}}.play-spinner{width:36px;height:36px;margin:0 auto;border-radius:50%;border:3px solid color-mix(in oklab,var(--accent) 15%,var(--paper-2));border-top-color:var(--accent);animation:play-spinner-rot .8s linear infinite}@keyframes play-spinner-rot{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.play-spinner{animation:none}}.mode-card{padding:22px;text-align:center;cursor:pointer;background:var(--card);border:2px solid var(--line);border-radius:14px;transition:border-color .15s,transform .15s,box-shadow .15s;font-family:inherit;display:flex;flex-direction:column;align-items:center;gap:4px}.mode-card:hover,.mode-card:focus-visible{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px -8px color-mix(in oklab,var(--accent) 40%,transparent);outline:none}.mode-card-icon{font-size:44px;margin-bottom:4px;line-height:1}.mode-card-title{margin:0 0 4px;font-size:18px;font-weight:800;color:var(--ink)}.mode-card-desc{margin:0 0 10px;font-size:12px;color:var(--ink-3);line-height:1.4}.mode-card-count{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--accent-d);background:var(--accent-tint);padding:4px 10px;border-radius:999px}@media(prefers-reduced-motion:reduce){.mode-card{transition:border-color .15s}.mode-card:hover,.mode-card:focus-visible{transform:none;box-shadow:none}}@keyframes sparkle-ray{0%{opacity:0;transform:scaleY(.05)}35%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(1.15)}}@keyframes sparkle-core{0%{opacity:0;transform:scale(.5);transform-origin:50px 50px}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.6)}}.sparkle-flash svg line{transform-box:fill-box;transform-origin:center bottom}.sparkle-flash svg circle{transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:reduce){.sparkle-flash svg line{animation:none!important;opacity:0}.sparkle-flash svg circle{animation:sparkle-core-rm .32s ease-out forwards!important}}@keyframes sparkle-core-rm{0%{opacity:0}40%{opacity:1}to{opacity:0}}.result-pct{display:inline-block;will-change:transform}.result-pct.is-settled{animation:result-pct-pop .42s cubic-bezier(.34,1.56,.64,1) 1}@keyframes result-pct-pop{0%{transform:scale(1)}45%{transform:scale(1.14)}to{transform:scale(1)}}.result-pct.result-pct--perfect{background:linear-gradient(100deg,#b8860b,#f4b62b 22%,#ffe98a 42%,#fff,#ffe98a 58%,#f4b62b 78%,#b8860b);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:result-pct-pop .5s cubic-bezier(.34,1.56,.64,1) 1,result-pct-shimmer 1.9s linear infinite,result-pct-glow 1.7s ease-in-out infinite}@keyframes result-pct-shimmer{0%{background-position:200% 0}to{background-position:-60% 0}}@keyframes result-pct-glow{0%,to{filter:drop-shadow(0 0 6px rgba(244,182,43,.55)) drop-shadow(0 0 14px rgba(255,224,122,.35))}50%{filter:drop-shadow(0 0 16px rgba(244,182,43,.9)) drop-shadow(0 0 34px rgba(255,224,122,.6))}}.result-bounce-emoji{display:inline-block;transform-origin:50% 80%;animation:result-emoji-bounce 1.5s cubic-bezier(.28,.84,.42,1) 1 both;filter:drop-shadow(0 0 0 rgba(244,182,43,0))}@keyframes result-emoji-bounce{0%{transform:translateY(0) scale(.7) rotate(0);filter:drop-shadow(0 0 0 rgba(244,182,43,0))}18%{transform:translateY(-18px) scale(1.12) rotate(-8deg);filter:drop-shadow(0 0 14px rgba(244,182,43,.65))}36%{transform:translateY(0) scale(1) rotate(0)}52%{transform:translateY(-11px) scale(1.06) rotate(7deg);filter:drop-shadow(0 0 18px rgba(244,182,43,.7))}70%{transform:translateY(0) scale(1) rotate(0)}to{transform:translateY(0) scale(1) rotate(0);filter:drop-shadow(0 0 8px rgba(244,182,43,.35))}}.result-burst{position:absolute;top:50%;right:18px;width:0;height:0;pointer-events:none;z-index:2}.result-burst-emoji{position:absolute;left:0;top:0;font-size:17px;line-height:1;opacity:0;transform:translate(0) scale(.4);animation:result-burst-fly 1s cubic-bezier(.22,.7,.3,1) 1 both}@keyframes result-burst-fly{0%{opacity:0;transform:translate(0) scale(.4) rotate(0)}25%{opacity:1;transform:translate(calc(var(--bx) * .6),calc(var(--by) * .6)) scale(1.15) rotate(calc(var(--br) * .6))}to{opacity:0;transform:translate(var(--bx),calc(var(--by) - 14px)) scale(.85) rotate(var(--br))}}@media(prefers-reduced-motion:reduce){.result-pct.is-settled{animation:none}.result-bounce-emoji{animation:none;filter:none}.result-burst{display:none}.result-pct.result-pct--perfect{animation:none;background-position:50% 0;filter:drop-shadow(0 0 10px rgba(244,182,43,.6))}}.play-review-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;margin:0 auto 8px;background:var(--accent-tint);border:1.5px solid color-mix(in oklab,var(--accent) 35%,var(--line));border-radius:999px;color:var(--accent-d);font-size:13px;font-weight:700}.play-review-banner strong{font-weight:800}.play-cost-pill{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:color-mix(in oklab,var(--bad) 16%,transparent);color:var(--bad);font-size:11px;font-weight:700;letter-spacing:.2px}.play-game-header{display:flex;align-items:center;gap:18px;padding:18px 28px;border-bottom:2px solid var(--ink);background:var(--paper);flex-shrink:0}.play-game-header-left{display:flex;align-items:center;flex-shrink:0}.play-game-header-title{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.play-game-header-emoji{font-size:32px;width:56px;height:56px;border-radius:14px;background:var(--accent-tint);border:2px solid var(--ink);display:grid;place-items:center;box-shadow:4px 4px 0 var(--ink);flex-shrink:0}.play-game-header-t{font-weight:800;font-size:20px;line-height:1.1;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-game-header-s{font-size:12px;color:var(--ink-3);font-weight:600;margin-top:3px;text-transform:uppercase;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-game-header-stats{display:flex;gap:10px;flex-shrink:0}.play-game-header-stat{background:var(--card);border:2px solid var(--ink);border-radius:12px;padding:8px 14px;min-width:70px;text-align:center;box-shadow:3px 3px 0 var(--ink)}.play-game-header-stat-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}.play-game-header-stat-val{font-size:20px;font-weight:800;line-height:1.1;margin-top:2px;color:var(--ink)}.play-game-header-stat-val.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media(max-width:720px){.play-game-header{padding:12px 14px;gap:10px}.play-game-header-emoji{width:44px;height:44px;font-size:24px;box-shadow:3px 3px 0 var(--ink)}.play-game-header-t{font-size:16px}.play-game-header-s{font-size:11px}.play-game-header-stat{padding:6px 10px;min-width:56px}.play-game-header-stat-val{font-size:16px}.play-game-header-stat-lbl{font-size:9px}}@media(max-width:480px){.play-game-header{flex-wrap:wrap}.play-game-header-stats{width:100%;justify-content:flex-end}}.play-header{position:sticky;top:56px;z-index:30;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:color-mix(in oklab,var(--paper) 92%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid var(--line);flex-wrap:wrap}.play-header-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--card);border:1.5px solid var(--line);font-size:12px;font-weight:700;color:var(--ink-2);letter-spacing:.02em;line-height:1.4;white-space:nowrap;user-select:none}.play-header-pill-val{font-family:var(--font-mono);font-weight:800;color:var(--ink);letter-spacing:.02em}.play-header-pill--clock .play-header-pill-val{font-size:14px;letter-spacing:.04em;color:var(--ink)}.play-header-pill--student>span:first-child{font-size:14px}.play-header-pill--class .play-header-pill-val{text-transform:uppercase;letter-spacing:.06em;font-size:11px}.play-header-pill--sync{padding:6px 12px 6px 10px}.play-header-sync-dot{width:8px;height:8px;border-radius:50%;background:var(--ink-3)}.play-header-pill--sync.is-online .play-header-sync-dot{background:var(--ok);box-shadow:0 0 color-mix(in oklab,var(--ok) 50%,transparent);animation:play-header-online-pulse 2.4s ease-in-out infinite}.play-header-pill--sync.is-pending .play-header-sync-dot{background:var(--warn);animation:play-header-pending-pulse 1.2s ease-in-out infinite}.play-header-pill--sync.is-preview{border-style:dashed;padding-right:4px}.play-header-pill--sync.is-preview .play-header-sync-dot{background:var(--accent)}.play-header-pill--sync.is-preview .play-header-pill-val{color:var(--accent-d)}.play-header-pill-edit{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:4px;padding:0;border:1px solid color-mix(in oklab,var(--accent) 35%,transparent);background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent-d);border-radius:999px;cursor:pointer;font-family:inherit;appearance:none;-webkit-appearance:none;transition:background .15s ease,border-color .15s ease,transform .12s ease}.play-header-pill-edit:hover,.play-header-pill-edit:focus-visible{outline:none;border-color:var(--accent);background:color-mix(in oklab,var(--accent) 22%,transparent);transform:scale(1.08)}.play-header-pill-edit:active{transform:scale(.96)}@media(prefers-reduced-motion:reduce){.play-header-pill-edit:hover,.play-header-pill-edit:focus-visible,.play-header-pill-edit:active{transform:none}}.play-header-pill--action{cursor:pointer;border-color:var(--accent);color:var(--accent-d);background:color-mix(in oklab,var(--accent) 6%,var(--card));font-family:inherit;appearance:none;-webkit-appearance:none;transition:transform .12s ease,box-shadow .12s ease,background .15s ease}.play-header-pill--action .play-header-pill-val{color:var(--accent-d)}.play-header-pill--action:hover,.play-header-pill--action:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 4px 10px -3px color-mix(in oklab,var(--accent) 45%,transparent);background:color-mix(in oklab,var(--accent) 12%,var(--card))}.play-header-pill--action:active{transform:translateY(0);box-shadow:none}@media(prefers-reduced-motion:reduce){.play-header-pill--action:hover,.play-header-pill--action:focus-visible{transform:none}}@keyframes play-header-online-pulse{0%,to{box-shadow:0 0 color-mix(in oklab,var(--ok) 0%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in oklab,var(--ok) 18%,transparent)}}@keyframes play-header-pending-pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:600px){.play-header{padding:8px 10px;gap:6px}.play-header-pill{padding:5px 10px;font-size:11px}.play-header-pill--class .play-header-pill-val{font-size:10px}}@media(prefers-reduced-motion:reduce){.play-header-sync-dot,.play-header-pill--sync.is-online .play-header-sync-dot,.play-header-pill--sync.is-pending .play-header-sync-dot{animation:none!important;box-shadow:none!important}}.resume-modal{width:min(540px,100%)}.resume-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.resume-modal-title{margin:0;font-size:22px;font-weight:900;letter-spacing:-.01em;color:var(--ink)}.resume-modal-sub{margin:4px 0 0;color:var(--ink-3);font-size:13px;font-weight:600}.resume-modal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:480px){.resume-modal-grid{grid-template-columns:1fr}}.resume-modal-option{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 16px;background:var(--card);border:2px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;font-family:inherit}.resume-modal-option:hover,.resume-modal-option:focus-visible{outline:none;transform:translateY(-2px);box-shadow:0 6px 16px -8px color-mix(in oklab,var(--accent) 40%,transparent)}.resume-modal-option--continue{background:color-mix(in oklab,var(--ok) 7%,var(--card));border-color:color-mix(in oklab,var(--ok) 45%,white)}.resume-modal-option--continue:hover,.resume-modal-option--continue:focus-visible{border-color:var(--ok);background:color-mix(in oklab,var(--ok) 12%,var(--card));box-shadow:0 6px 16px -8px color-mix(in oklab,var(--ok) 45%,transparent)}.resume-modal-option--restart:hover,.resume-modal-option--restart:focus-visible{border-color:var(--accent)}.resume-modal-icon{font-size:36px;line-height:1}.resume-modal-option-title{font-size:15px;font-weight:800;color:var(--ink);margin-top:4px}.resume-modal-option-desc{font-size:12px;color:var(--ink-3);font-weight:600;line-height:1.35}@media(prefers-reduced-motion:reduce){.resume-modal-option:hover,.resume-modal-option:focus-visible{transform:none;box-shadow:none}}.play-header-pill--clickable{cursor:pointer;user-select:none;border:1px solid transparent;transition:border-color .15s,background .15s}.play-header-pill--clickable:hover,.play-header-pill--clickable:focus-visible{outline:none;border-color:color-mix(in oklab,var(--accent) 35%,transparent);background:color-mix(in oklab,var(--accent) 6%,var(--card))}.play-header-pill-chevron{margin-left:2px;font-size:10px;opacity:.6}.identity-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:min(280px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg, 0 10px 25px rgba(0, 0, 0, .12));padding:14px;text-align:left;cursor:default;animation:identity-pop .14s ease-out}@keyframes identity-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.identity-popover-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.identity-popover-avatar{font-size:28px;line-height:1}.identity-popover-name{font-size:15px;font-weight:800;color:var(--ink);line-height:1.2}.identity-popover-email{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);margin-top:2px;word-break:break-all}.identity-popover-meta{font-size:12px;color:var(--ink-3);font-weight:600;margin-bottom:10px}.identity-popover-divider{height:1px;background:var(--line);margin:10px -14px}.identity-popover-action{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;background:color-mix(in oklab,#ff7f6e 8%,var(--card));border:1.5px solid #ffb4a8;border-radius:10px;font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .1s,box-shadow .15s;text-align:left}.identity-popover-action:hover,.identity-popover-action:focus-visible{outline:none;border-color:#dc2626;background:#dc2626;color:#fff;box-shadow:0 4px 12px -4px color-mix(in oklab,#dc2626 50%,transparent)}.identity-popover-action:active{transform:scale(.985)}.identity-popover-action-title{font-size:13px;font-weight:800;color:#c2410c;display:inline-flex;align-items:center;gap:6px;transition:color .15s}.identity-popover-action-desc{font-size:11px;color:#b45309;font-weight:600;line-height:1.3;transition:color .15s}.identity-popover-action:hover .identity-popover-action-title,.identity-popover-action:focus-visible .identity-popover-action-title,.identity-popover-action:hover .identity-popover-action-desc,.identity-popover-action:focus-visible .identity-popover-action-desc{color:#fff}@media(prefers-reduced-motion:reduce){.identity-popover{animation:none}.identity-popover-action:active{transform:none}}.turmas-wrap{padding-bottom:80px}.turmas-hero{margin-bottom:22px}.turmas-hero:before{background:var(--accent);opacity:.55}.turmas-hero:after{background:var(--a4);opacity:.5}.turmas-wrap .dash-filters{flex-direction:row;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:nowrap}.turmas-wrap .dash-filters .search{position:relative;flex:0 1 240px;min-width:140px}.turmas-wrap .dash-filters .search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.turmas-wrap .dash-filters .search .input{padding:6px 10px 6px 32px;font-size:12px;height:32px;width:100%}.turmas-wrap .dash-filters .seg{padding:2px}.turmas-wrap .dash-filters .seg button{padding:4px 10px;font-size:11px;white-space:nowrap}.turmas-wrap .dash-filters .select{padding:6px 10px;font-size:12px;height:32px;width:auto;min-width:0}@media(max-width:820px){.turmas-wrap .dash-filters{flex-wrap:wrap}.turmas-wrap .dash-filters .search{flex:1 1 100%}}.turmas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:start}@media(max-width:1100px){.turmas-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.turmas-grid{grid-template-columns:1fr}}.turma-card{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:18px 18px 14px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;transition:border-color .15s,box-shadow .15s,transform .15s}.turma-card:hover{border-color:var(--ink-4);box-shadow:var(--shadow-sm)}.turma-card.is-inactive{opacity:.78;background:var(--paper-2)}.turma-stripe{position:absolute;top:0;left:0;right:0;height:5px;border-radius:var(--r-lg) var(--r-lg) 0 0}.turma-stripe.stripe-dashed{background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 14px)}.turma-head{display:flex;align-items:flex-start;gap:12px;margin-top:6px}.turma-emoji{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;font-size:24px;color:#fff;box-shadow:0 2px #1f1b2e14;flex-shrink:0}.turma-name{font-weight:900;font-size:22px;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.turma-year{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--ink-3);margin-top:4px;letter-spacing:.02em}.turma-status{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-left:auto;flex-shrink:0}.turma-status.on{background:#c1fcd4;color:var(--ok)}.turma-status.off{background:var(--paper-3);color:var(--ink-3)}.turma-domain{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--paper-2);border-radius:var(--r-sm);padding:8px 12px;font-size:12px}.turma-domain .lbl{color:var(--ink-3);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:10px}.turma-domain .mono{font-family:var(--font-mono);color:var(--ink);font-weight:700;font-size:12px}.turma-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.turma-stats .stat{background:var(--paper-2);border-radius:var(--r-sm);padding:10px 12px}.turma-stats .stat-num{font-size:24px;font-weight:900;letter-spacing:-.02em;color:var(--ink);line-height:1}.turma-stats .stat-lbl{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:11px;font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.turma-code{display:flex;flex-direction:column;gap:6px}.turma-code .lbl{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.turma-code .ticket{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px dashed var(--line);border-radius:var(--r-md);padding:8px 12px;background:repeating-linear-gradient(45deg,color-mix(in oklab,var(--paper-2) 80%,transparent) 0 8px,var(--paper) 8px 16px);position:relative}.turma-code .ticket:before,.turma-code .ticket:after{content:"";position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--card);border:1.5px dashed var(--line);transform:translateY(-50%)}.turma-code .ticket:before{left:-6px}.turma-code .ticket:after{right:-6px}.turma-code .ticket .mono{font-family:var(--font-mono);font-weight:800;font-size:14px;letter-spacing:.02em;color:var(--ink)}.turma-code .copy{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:var(--ink-3);padding:4px 8px;border-radius:var(--r-xs);background:var(--card);border:1px solid var(--line);transition:all .12s}.turma-code .copy:hover{color:var(--accent);border-color:var(--accent)}.turma-code .copy.ok{color:var(--ok);border-color:var(--ok);background:#d5f9e0}.turma-foot{display:flex;align-items:center;gap:6px;padding-top:4px;border-top:1px dashed var(--line);margin-top:2px}.link-ghost{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--ink-3);padding:4px 6px;border-radius:var(--r-xs);background:transparent;border:none;cursor:pointer}.link-ghost:hover{color:var(--accent);background:var(--accent-tint)}.link-danger{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--r-xs);color:var(--ink-3);background:transparent;border:none;cursor:pointer}.link-danger:hover{color:var(--bad);background:oklch(.95 .05 25)}.turma-card.add-tile{border:2px dashed var(--line);background:transparent;display:grid;place-items:center;min-height:280px;cursor:pointer;text-align:center}.turma-card.add-tile:hover{border-color:var(--accent);background:var(--accent-tint)}.turma-card.add-tile .plus-circle{width:56px;height:56px;border-radius:999px;background:var(--paper-2);color:var(--accent);display:grid;place-items:center;margin-bottom:12px;transition:transform .15s,background .15s}.turma-card.add-tile:hover .plus-circle{transform:rotate(90deg) scale(1.05);background:var(--card)}.turma-card.is-new{border:1.5px solid var(--accent);box-shadow:0 0 0 4px var(--accent-tint),var(--shadow-md)}.new-badge{width:28px;height:28px;border-radius:var(--r-sm);background:var(--accent);color:var(--plum-fg);display:grid;place-items:center;flex-shrink:0}.x-btn{width:26px;height:26px;display:grid;place-items:center;border-radius:var(--r-xs);color:var(--ink-3);background:transparent;border:none;cursor:pointer}.x-btn:hover{color:var(--ink);background:var(--paper-2)}.x-btn-corner{position:absolute;top:10px;right:10px;z-index:2;background:var(--card);border:1px solid var(--line)}.x-btn-corner:hover{background:var(--paper-2);border-color:var(--ink-4)}.turma-card.is-new .form-foot{display:flex;justify-content:space-between;align-items:center;margin:6px -18px -14px;padding:12px 18px;border-top:1px dashed var(--line);background:var(--paper)}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}.field-row{display:flex;align-items:center;gap:8px}.field-grid{display:grid;grid-template-columns:1fr 110px;gap:10px 12px}.field-grid .field-full{grid-column:1 / -1}.field-grid .field-narrow{min-width:0}.field-grid .field-narrow .finput{text-align:center;letter-spacing:.02em}@media(max-width:420px){.field-grid{grid-template-columns:1fr}.field-grid .field-full{grid-column:1}}.finput{flex:1;background:var(--paper-2);border:1.5px solid transparent;border-radius:var(--r-sm);padding:8px 12px;font-weight:700;font-size:14px;color:var(--ink);width:100%;transition:border-color .12s,background .12s;font-family:var(--font-sans)}.finput:focus{outline:none;border-color:var(--accent);background:var(--card)}.finput.mono{font-family:var(--font-mono);font-weight:600;font-size:13px}.code-input{letter-spacing:.04em}.field-hint{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--ink-3);margin-top:2px;line-height:1.3}.field-hint svg{color:var(--accent);flex-shrink:0}.fstatus{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px;border-radius:999px;white-space:nowrap;flex-shrink:0;min-width:28px;justify-content:center}.fstatus.idle{visibility:hidden}.fstatus.checking{background:var(--paper-2);color:var(--ink-3)}.fstatus.checking svg{animation:turmas-spin .8s linear infinite}.fstatus.ok{background:#c1fcd4;color:var(--ok)}.fstatus.busy{background:var(--q-mc-t);color:var(--q-mc-d)}@keyframes turmas-spin{to{transform:rotate(360deg)}}.turma-empty{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--ink-2)}.modal-bg{position:fixed;inset:0;background:#17141f8c;backdrop-filter:blur(6px);z-index:200;display:grid;place-items:center;animation:turmas-fadein .15s;padding:16px}@keyframes turmas-fadein{0%{opacity:0}}.modal{background:var(--card);border-radius:var(--r-xl);width:min(640px,92vw);max-height:86vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-body{padding:16px 22px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:10px}.modal-foot{display:flex;gap:8px;align-items:center;padding:14px 22px;border-top:1px solid var(--line);background:var(--paper-2)}.src-tile{padding:7px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-size:12px;font-weight:800;color:var(--ink-3);background:var(--paper-2);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.src-tile.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.src-tile .mono{font-family:var(--font-mono);font-size:11px}.json-area{font-family:var(--font-mono);font-size:12px;line-height:1.5;background:var(--paper-2);border:1.5px solid var(--line);border-radius:var(--r-md);padding:12px;min-height:220px;resize:vertical;color:var(--ink);font-weight:500;width:100%;white-space:pre-wrap;margin:0;box-sizing:border-box}.json-area:focus{outline:none;border-color:var(--accent);background:var(--card)}.json-err{display:flex;gap:8px;align-items:center;background:var(--q-mc-t);color:var(--q-mc-d);padding:10px 14px;border-radius:var(--r-md);font-size:13px;font-weight:700}.json-ok{display:flex;gap:10px;align-items:flex-start;background:#c1fcd4;color:var(--ok);padding:12px 14px;border-radius:var(--r-md);font-size:13px;font-weight:700}.json-ok .muted{color:color-mix(in oklab,var(--ok) 70%,var(--ink-3))}.emoji-pick{position:relative}.emoji-trigger{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 6px;border-radius:var(--r-sm);background:var(--paper-2);border:1.5px solid var(--line);color:var(--ink-3);transition:border-color .12s,background .12s;cursor:pointer}.emoji-trigger:hover{border-color:var(--accent);background:var(--card)}.emoji-trigger .emoji-glyph{font-size:18px;line-height:1}.emoji-pick-tile{flex-shrink:0}.emoji-tile-trigger{position:relative;cursor:pointer;border:none;padding:0;transition:transform .12s,box-shadow .12s}.emoji-tile-trigger:hover{transform:translateY(-1px);box-shadow:0 4px #1f1b2e1a}.emoji-tile-chev{position:absolute;bottom:-3px;right:-3px;width:16px;height:16px;display:grid;place-items:center;background:var(--card);color:var(--ink-2);border-radius:999px;border:1.5px solid var(--line)}.emoji-pop-bg{position:fixed;inset:0;z-index:60}.emoji-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:70;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:8px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;width:280px;max-height:240px;overflow-y:auto}.emoji-pop.emoji-pop-left{left:0;right:auto}.emoji-cell{width:30px;height:30px;display:grid;place-items:center;font-size:18px;border-radius:var(--r-xs);background:transparent;transition:background .1s,transform .08s;border:none;cursor:pointer}.emoji-cell:hover{background:var(--paper-2);transform:scale(1.15)}.emoji-cell.on{background:var(--accent-tint);box-shadow:inset 0 0 0 1.5px var(--accent)}.drawer-bg{position:fixed;inset:0;background:#17141f73;backdrop-filter:blur(4px);z-index:200;display:flex;justify-content:flex-end;animation:turmas-fadein .2s}.drawer{background:var(--paper);width:min(560px,96vw);height:100vh;display:flex;flex-direction:column;box-shadow:-20px 0 60px -10px #0000004d;animation:drawerIn .28s cubic-bezier(.2,.8,.2,1);border-left:1px solid var(--line)}@keyframes drawerIn{0%{transform:translate(100%)}}.drawer-head{position:relative;padding:18px 22px 14px;border-bottom:1px solid var(--line);background:var(--card)}.drawer-close{position:absolute;top:12px;right:12px;z-index:2}.drawer-title-row{display:flex;align-items:flex-start;gap:14px;padding-right:36px}.drawer-emoji{width:52px;height:52px;font-size:28px;flex-shrink:0}.drawer-title-main{flex:1;min-width:0}.drawer-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.drawer-name{font-size:26px;font-weight:900;letter-spacing:-.02em;line-height:1;color:var(--ink)}.drawer-meta{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.drawer-meta-item{font-size:11px;color:var(--ink-3)}.drawer-meta-dot{width:3px;height:3px;border-radius:99px;background:var(--ink-4);flex-shrink:0}.ticket-mini{font-size:11px;font-weight:800;background:var(--paper-2);border:1px dashed var(--line);padding:2px 8px;border-radius:4px;color:var(--ink)}.drawer-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}.dst{background:var(--paper-2);border-radius:var(--r-sm);padding:10px 12px;text-align:left}.dst-num{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--ink);line-height:1}.dst-lbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-top:4px}.drawer-actions{display:flex;align-items:center;gap:8px;padding:14px 22px;background:var(--card);border-bottom:1px solid var(--line)}.drawer-actions .search{position:relative;flex:1}.drawer-actions .search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.drawer-body{flex:1;overflow-y:auto;padding:8px 12px 24px}.stu-head{display:grid;grid-template-columns:36px 1fr 130px 60px 32px;gap:12px;padding:8px 12px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);position:sticky;top:0;background:var(--paper);z-index:1}.stu-row{display:grid;grid-template-columns:36px 1fr 130px 60px 32px;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-sm);transition:background .12s;position:relative}.stu-row:hover{background:var(--paper-2)}.stu-row.inactive{opacity:.55}.stu-row.inactive .stu-name{color:var(--ink-3)}.stu-avatar{width:36px;height:36px;border-radius:var(--r-sm);display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;letter-spacing:.02em}.stu-id{min-width:0}.stu-name{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stu-mail{font-size:11px;color:var(--ink-3);font-weight:600;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stu-progress{display:flex;flex-direction:column;gap:4px;min-width:0}.stu-bar{height:5px;background:var(--paper-3);border-radius:99px;overflow:hidden}.stu-bar .fill{height:100%;background:var(--accent);border-radius:99px;transition:width .25s;min-width:2px}.stu-row.inactive .stu-bar .fill{background:var(--ink-4)}.stu-bar-lbl{font-size:11px;color:var(--ink-3);font-weight:700}.stu-avg{color:var(--ink-2)}.stu-when{font-size:11px;font-weight:700;color:var(--ink-3);text-align:right;font-family:var(--font-mono)}.stu-actions{position:relative;display:grid;place-items:center}.stu-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:70;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:180px}.stu-menu button{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-xs);font-size:13px;font-weight:700;color:var(--ink-2);text-align:left;background:transparent;border:none;cursor:pointer}.stu-menu button:hover{background:var(--paper-2);color:var(--ink)}.stu-menu button.danger{color:var(--bad)}.stu-menu button.danger:hover{background:oklch(.95 .05 25)}.stu-empty{text-align:center;padding:60px 20px;color:var(--ink-2)}@media(max-width:560px){.drawer-stats{grid-template-columns:repeat(2,1fr)}.stu-head,.stu-row{grid-template-columns:32px 1fr 32px}.stu-head>:nth-child(3),.stu-head>:nth-child(4),.stu-row>.stu-progress,.stu-row>.stu-when{display:none}}.btn-success{background:var(--ok);color:var(--paper);border:1px solid var(--ok);box-shadow:0 1px color-mix(in oklab,var(--ok) 70%,black)}.btn-success:hover{filter:brightness(1.05)}.btn-success:active{box-shadow:0 1px color-mix(in oklab,var(--ok) 60%,black)}.btn-success:disabled{opacity:.55;cursor:not-allowed}.stu-toggle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}@media(max-width:520px){.stu-toggle-grid{grid-template-columns:repeat(2,1fr)}}.stu-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--r-sm);border:1.5px solid var(--line);background:var(--paper-2);color:var(--ink-2);cursor:pointer;transition:border-color .12s,background .12s,color .12s}.stu-toggle:hover{border-color:var(--ink-4);background:var(--card)}.stu-toggle.on{color:var(--ink);border-color:var(--accent);background:var(--accent-tint)}.stu-toggle.on.tone-ok{border-color:var(--ok);background:#c1fcd4}.stu-toggle.on.tone-warn{border-color:var(--warn);background:oklch(.95 .08 75)}.stu-toggle.on.tone-bad{border-color:var(--bad);background:oklch(.95 .05 25)}.stu-toggle.on.tone-a2{border-color:var(--a2);background:color-mix(in oklab,var(--a2) 16%,var(--card))}.stu-toggle-lbl{font-weight:800;font-size:12px;letter-spacing:.02em}.stu-toggle-pill{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:var(--paper-3);color:var(--ink-3)}.stu-toggle.on .stu-toggle-pill{background:var(--card);color:var(--ink)}.stu-add-grid{grid-template-columns:70px 110px 1fr}.stu-add-grid .field-full{grid-column:1 / -1}.stu-add-grid .stu-col-num .finput,.stu-add-grid .stu-col-proc .finput{text-align:center}@media(max-width:520px){.stu-add-grid{grid-template-columns:70px 1fr}.stu-add-grid .stu-col-name{grid-column:1 / -1}}.res-wrap{max-width:1240px;margin:0 auto;padding:28px 36px 96px}.res-head{display:flex;align-items:flex-end;gap:20px;margin-bottom:20px}.res-head h1{margin:0;font-size:38px;font-weight:900;letter-spacing:-.03em;line-height:1}.res-head .sub{color:var(--ink-3);font-weight:700;font-size:14px;margin-top:8px}.res-head .sub b{color:var(--ink);font-weight:800}.res-refresh{display:flex;align-items:center;gap:10px;margin-left:auto}.res-updated{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:var(--ink-3);font-family:var(--font-mono)}.res-updated .live{width:7px;height:7px;border-radius:99px;background:var(--ok);box-shadow:0 0 color-mix(in oklab,var(--ok) 60%,transparent)}.res-updated.is-refreshing .live{background:var(--warn);animation:resPulse 1s infinite}@keyframes resPulse{0%{box-shadow:0 0 color-mix(in oklab,var(--warn) 55%,transparent)}70%{box-shadow:0 0 0 6px transparent}to{box-shadow:0 0 0 0 transparent}}.res-auto{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--line);padding:5px 10px 5px 12px;border-radius:999px;cursor:pointer}.res-auto .toggle{width:32px;height:18px}.res-auto .toggle:after{width:14px;height:14px}.res-auto .toggle.on:after{transform:translate(14px)}.res-axis-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.res-tabs{display:flex;flex-wrap:wrap;gap:6px;padding:4px 2px 8px;margin:0 -2px 4px}.res-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);font-weight:800;font-size:13px;white-space:nowrap;transition:border-color .12s,background .12s,color .12s;flex-shrink:0;cursor:pointer}.res-tab:hover{border-color:var(--ink-4)}.res-tab.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.res-tab .em{font-size:15px;line-height:1}.res-tab .cnt{font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--paper-3);color:var(--ink-2);padding:1px 6px;border-radius:6px}.res-tab.on .cnt{background:#ffffff2e;color:var(--paper)}.res-tab .swatch{width:9px;height:9px;border-radius:3px}.res-filters{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:18px;display:flex;flex-direction:column;gap:12px}.res-frow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.res-search{position:relative;flex:1;min-width:200px}.res-search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink-3);pointer-events:none}.res-search input{width:100%;background:var(--paper-2);border:1.5px solid transparent;border-radius:var(--r-md);padding:9px 12px 9px 36px;font-weight:700;font-size:13px;color:var(--ink);transition:border-color .12s,background .12s}.res-search input::placeholder{color:var(--ink-4);font-weight:600}.res-search input:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 4px var(--accent-tint)}.res-search.sm{flex:0 1 230px}.res-combo{position:relative;flex:1;min-width:220px}.res-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:60;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.res-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;font-weight:700;color:var(--ink-2);text-align:left;cursor:pointer;background:transparent;border:none;width:100%}.res-opt:hover,.res-opt.hl{background:var(--paper-2);color:var(--ink)}.res-opt .dot{width:9px;height:9px;border-radius:3px;flex-shrink:0}.res-opt .meta{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--ink-3)}.res-opt.is-all{font-weight:800}.res-date{display:inline-flex;align-items:center;gap:2px;background:var(--paper-2);border:1.5px solid transparent;border-radius:var(--r-md);padding:4px 6px 4px 4px}.res-date .preset{font-size:12px;font-weight:800;color:var(--ink-3);padding:5px 10px;border-radius:var(--r-sm);background:transparent;border:none;cursor:pointer}.res-date .preset:hover{background:var(--card);color:var(--ink)}.res-date .preset.on{background:var(--ink);color:var(--paper)}.res-date input[type=date]{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:5px 8px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--ink)}.res-chips{display:inline-flex;gap:6px;flex-wrap:wrap}.res-fchip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);color:var(--ink-2);font-weight:800;font-size:12px;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.res-fchip:hover{border-color:var(--ink-4)}.res-fchip .dot{width:8px;height:8px;border-radius:99px}.res-fchip .n{font-family:var(--font-mono);font-size:11px;opacity:.7}.res-fchip.on{border-color:transparent;background:var(--accent-tint);color:var(--accent-d)}.res-fchip.on.tone-ok{background:color-mix(in oklab,var(--ok) 16%,var(--card));color:var(--ok)}.res-fchip.on.tone-warn{background:var(--q-sec-t);color:var(--q-sec-d)}.res-fchip.on.tone-grad{background:var(--q-oe-t);color:var(--q-oe-d)}.res-fchip.on.tone-bad{background:var(--q-mc-t);color:var(--q-mc-d)}.res-toggle-pill{display:inline-flex;align-items:center;gap:9px;padding:6px 12px 6px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--card);font-size:12px;font-weight:800;color:var(--ink-2);cursor:pointer}.res-toggle-pill .toggle{width:32px;height:18px}.res-toggle-pill .toggle:after{width:14px;height:14px}.res-toggle-pill .toggle.on:after{transform:translate(14px)}.res-fsep{width:1px;align-self:stretch;background:var(--line);margin:2px}.res-flabel{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);margin-right:-2px}.res-stats{display:grid;gap:12px;margin-bottom:22px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.res-stat{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:14px 16px;position:relative;overflow:hidden}.res-stat .lbl{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}.res-stat .num{font-size:30px;font-weight:900;letter-spacing:-.03em;color:var(--ink);line-height:1.05;margin-top:8px}.res-stat .num small{font-size:15px;font-weight:800;color:var(--ink-3)}.res-stat .foot{font-size:11px;font-weight:700;color:var(--ink-3);margin-top:4px}.res-distbar{display:flex;height:9px;border-radius:99px;overflow:hidden;margin-top:12px;background:var(--paper-2);gap:2px}.res-distbar span{display:block;min-width:2px}.res-distlegend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:9px;font-size:11px;font-weight:700;color:var(--ink-3)}.res-distlegend i{width:8px;height:8px;border-radius:3px;display:inline-block;margin-right:4px;vertical-align:middle}.res-group{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);margin-bottom:16px;overflow:hidden}.res-group-head{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}.res-gicon{width:42px;height:42px;border-radius:var(--r-md);display:grid;place-items:center;color:#fff;flex-shrink:0;box-shadow:0 2px #1f1b2e1a}.res-gicon.has-emoji{font-size:23px;line-height:1;color:var(--ink);border:1.5px solid var(--line);box-shadow:none}.res-gtitle{font-size:17px;font-weight:900;letter-spacing:-.01em;color:var(--ink)}.res-gmeta{display:flex;align-items:center;gap:8px;margin-top:3px;flex-wrap:wrap}.res-code{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--ink-2);background:var(--paper-2);border:1px dashed var(--line);padding:2px 8px;border-radius:6px}.res-copy{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:var(--ink-3);padding:3px 7px;border-radius:var(--r-xs);border:1px solid var(--line);background:var(--card);cursor:pointer}.res-copy:hover{color:var(--accent);border-color:var(--accent)}.res-copy.ok{color:var(--ok);border-color:var(--ok);background:color-mix(in oklab,var(--ok) 12%,var(--card))}.res-gcount{font-size:12px;font-weight:800;color:var(--ink-3)}.res-gavg{display:inline-flex;align-items:baseline;gap:4px;font-size:12px;font-weight:800;color:var(--ink-3)}.res-gavg b{font-size:16px;color:var(--ink)}.res-table{width:100%}.res-thead,.res-row{display:grid;align-items:center;gap:14px;padding:0 18px}.res-thead{height:36px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);border-bottom:1px solid var(--line-2);background:var(--paper-2)}.res-thead .sortable{cursor:pointer;display:inline-flex;align-items:center;gap:3px}.res-thead .sortable:hover{color:var(--ink-2)}.res-thead .sortable svg{opacity:.5}.res-row{min-height:56px;border-bottom:1px solid var(--line-2);transition:background .1s;position:relative}.res-row:last-child{border-bottom:none}.res-row:hover{background:var(--paper-2)}.res-row.is-deleted{opacity:.55}.res-row.is-deleted .res-stu-name{text-decoration:line-through}.res-row.is-inprog{background:color-mix(in oklab,var(--q-sec-t) 30%,transparent)}.res-row.is-inprog:hover{background:color-mix(in oklab,var(--q-sec-t) 45%,transparent)}.res-stu{display:flex;align-items:center;gap:11px;min-width:0}.res-avatar{width:34px;height:34px;border-radius:var(--r-sm);display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff;flex-shrink:0}.res-stu-id{min-width:0}.res-stu-name{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.res-stu-mail{font-size:11px;color:var(--ink-3);font-weight:600;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.res-edit-icon{color:var(--ink-4);opacity:0;transition:opacity .12s;flex-shrink:0}.res-row:hover .res-edit-icon{opacity:1}.res-inline-edit{background:var(--card);border:1.5px solid var(--accent);border-radius:var(--r-sm);padding:4px 8px;font-size:13px;font-weight:700;color:var(--ink);width:100%;outline:none}.res-pct{font-size:19px;font-weight:900;letter-spacing:-.02em;font-family:var(--font-mono)}.res-pct.band-exc{color:var(--ok)}.res-pct.band-good{color:oklch(.55 .15 200)}.res-pct.band-sat{color:var(--warn)}.res-pct.band-low{color:var(--bad)}.res-pct.empty{color:var(--ink-4);font-weight:800}.res-combined{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--q-oe-d);background:var(--q-oe-t);padding:1px 5px;border-radius:4px;margin-left:6px;vertical-align:middle}.res-words{display:flex;flex-direction:column;gap:4px;min-width:0}.res-words .lbl{font-size:12px;font-weight:800;color:var(--ink-2);font-family:var(--font-mono)}.res-wbar{height:5px;background:var(--paper-3);border-radius:99px;overflow:hidden}.res-wbar .fill{height:100%;background:var(--accent);border-radius:99px;min-width:2px}.res-meta-cell{font-size:12px;font-weight:700;color:var(--ink-3);font-family:var(--font-mono)}.res-state{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.res-state .d{width:6px;height:6px;border-radius:99px;background:currentColor;flex-shrink:0}.res-state.completed,.res-state.graded{background:color-mix(in oklab,var(--ok) 14%,var(--card));color:var(--ok)}.res-state.in_progress{background:var(--q-sec-t);color:var(--q-sec-d)}.res-state.grading{background:var(--q-oe-t);color:var(--q-oe-d)}.res-state.needs{background:var(--q-mc-t);color:var(--q-mc-d)}.res-act{position:relative;display:grid;place-items:center}.res-act-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-3);background:transparent;border:none;cursor:pointer}.res-act-btn:hover{background:var(--paper-3);color:var(--ink)}.res-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:80;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:6px;display:flex;flex-direction:column;gap:1px;min-width:210px}.res-menu .sec{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);padding:8px 10px 4px}.res-menu button{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--r-xs);font-size:13px;font-weight:700;color:var(--ink-2);text-align:left;background:transparent;border:none;cursor:pointer}.res-menu button:hover{background:var(--paper-2);color:var(--ink)}.res-menu button svg{color:var(--ink-3);flex-shrink:0}.res-menu button:hover svg{color:var(--ink)}.res-menu button.danger{color:var(--bad)}.res-menu button.danger:hover{background:color-mix(in oklab,var(--bad) 8%,transparent)}.res-menu button.danger svg{color:var(--bad)}.res-menu .divider{height:1px;background:var(--line-2);margin:4px 2px}.res-cc-pop{position:absolute;top:calc(100% + 4px);right:0;z-index:90;width:280px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:12px}.res-cc-pop h5{margin:0 0 4px;font-size:13px;font-weight:900}.res-cc-pop .hint{font-size:11px;font-weight:600;color:var(--ink-3);margin-bottom:10px;line-height:1.4}.res-cc-pop .hint b.mono{font-family:var(--font-mono)}.res-cc-list{display:flex;flex-direction:column;gap:2px;max-height:200px;overflow-y:auto}.res-cc-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;font-weight:800;color:var(--ink-2);text-align:left;cursor:pointer;background:transparent;border:none;width:100%}.res-cc-opt:hover{background:var(--paper-2);color:var(--ink)}.res-cc-opt.current{opacity:.5;pointer-events:none}.res-cc-opt.mismatch{opacity:.7}.res-cc-opt.mismatch .dom{color:var(--q-mc-d)}.res-cc-opt .em{font-size:16px}.res-cc-opt .dom{margin-left:auto;font-family:var(--font-mono);font-size:10px;color:var(--ink-4)}.res-cc-warn{display:flex;gap:7px;align-items:flex-start;background:var(--q-sec-t);color:var(--q-sec-d);border-radius:var(--r-sm);padding:8px 10px;font-size:11px;font-weight:700;line-height:1.35;margin-top:8px}.res-skel-group{background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-lg);padding:18px;margin-bottom:16px}.res-skel{background:linear-gradient(90deg,var(--paper-2) 25%,var(--paper-3) 50%,var(--paper-2) 75%);background-size:200% 100%;animation:resShimmer 1.3s infinite;border-radius:var(--r-sm)}@keyframes resShimmer{to{background-position:-200% 0}}.res-skel-group .row{display:flex;align-items:center}.res-skel-group .col{display:flex;flex-direction:column}.res-empty,.res-error{text-align:center;padding:70px 24px;background:var(--card);border:1.5px dashed var(--line);border-radius:var(--r-lg)}.res-empty .big,.res-error .big{font-size:38px;margin-bottom:10px}.res-empty h3,.res-error h3{margin:0 0 6px;font-size:18px;font-weight:900}.res-empty p,.res-error p{margin:0 auto 16px;color:var(--ink-3);font-size:14px;font-weight:600;max-width:420px}.res-error{border-color:color-mix(in oklab,var(--bad) 35%,var(--line));background:color-mix(in oklab,var(--bad) 5%,var(--card))}.res-more{display:flex;justify-content:center;padding:8px 0 24px}.qr-fx-wrap{position:relative}.qr-fx-card{position:relative;z-index:1}.qr-fx-shimmer{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:12px;z-index:2}.qr-fx-shimmer:after{content:"";position:absolute;top:-20%;bottom:-20%;width:45%;left:-60%;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.85) 50%,transparent 80%);filter:blur(2px);animation:qr-shimmer-sweep .9s ease-out forwards}@keyframes qr-shimmer-sweep{to{left:130%}}.qr-fx-rays{position:absolute;left:50%;top:50%;width:340px;height:340px;pointer-events:none;z-index:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(251,191,36,.55) 0deg 9deg,transparent 9deg 24deg);-webkit-mask-image:radial-gradient(circle,rgba(0,0,0,.9) 0%,transparent 70%);mask-image:radial-gradient(circle,rgba(0,0,0,.9) 0%,transparent 70%);animation:qr-rays 1.1s ease-out forwards}@keyframes qr-rays{0%{opacity:0;transform:translate(-50%,-50%) rotate(0) scale(.6)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(24deg) scale(1.15)}}@media(prefers-reduced-motion:reduce){.qr-fx-shimmer:after,.qr-fx-rays{animation:none;opacity:0}}.gfi-overlay{position:fixed;inset:0;z-index:400;background:color-mix(in oklab,var(--ink) 55%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;animation:gfiFade .22s ease}@keyframes gfiFade{0%{opacity:0}to{opacity:1}}.gfi-card{position:relative;background:var(--card);border:2px solid var(--ink);border-radius:var(--r-xl);box-shadow:0 10px #1f1b2e2e,0 40px 80px -10px #00000059;width:100%;max-width:680px;outline:none;overflow:hidden;animation:gfiPop .42s cubic-bezier(.34,1.56,.64,1);--gfi-accent: var(--accent);--gfi-accent-d: var(--accent-d);--gfi-accent-tint: var(--accent-tint)}@keyframes gfiPop{0%{transform:scale(.85) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.gfi-stripe{position:absolute;top:0;left:0;right:0;height:6px;background:var(--gfi-accent)}.gfi-close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-3);background:transparent;border:none;cursor:pointer;z-index:2}.gfi-close:hover{background:var(--paper-2);color:var(--ink)}.gfi-inner{padding:28px 30px 24px;max-height:calc(100vh - 80px);overflow-y:auto}.gfi-hero{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px;padding-right:28px}.gfi-logo{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:var(--gfi-accent-tint);border:2px solid var(--gfi-accent);color:var(--gfi-accent-d);font-family:var(--font-mono);font-weight:900;font-size:18px;letter-spacing:-.04em;flex-shrink:0}.gfi-kicker{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--gfi-accent-d);font-family:var(--font-mono);display:inline-flex;gap:4px;align-items:center;margin-bottom:4px}.gfi-kicker.ok{color:var(--q-tf-d)}.gfi-title{font-size:24px;font-weight:900;letter-spacing:-.02em;color:var(--ink);line-height:1.2;text-wrap:balance}.gfi-title-sm{font-size:20px}.gfi-sub{font-size:13.5px;font-weight:600;color:var(--ink-3);margin-top:4px;line-height:1.4;text-wrap:pretty}.gfi-label{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.gfi-url{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--paper-2);border:2px solid var(--line);border-radius:var(--r-md);transition:border-color .15s,background .15s}.gfi-url:focus-within{border-color:var(--gfi-accent);background:var(--paper)}.gfi-url.ok{border-color:var(--q-tf);background:var(--q-tf-t)}.gfi-url.err{border-color:var(--q-mc);background:var(--q-mc-t)}.gfi-url-icon{color:var(--ink-3);display:grid;place-items:center}.gfi-url.ok .gfi-url-icon{color:var(--q-tf-d)}.gfi-url.err .gfi-url-icon{color:var(--q-mc-d)}.gfi-url input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-mono);font-size:13.5px;font-weight:600;color:var(--ink);min-width:0}.gfi-url input::placeholder{color:var(--ink-4);font-weight:500}.gfi-url-tick{width:22px;height:22px;border-radius:99px;background:var(--q-tf);color:#fff;display:grid;place-items:center;flex-shrink:0}.gfi-row-err{display:flex;gap:8px;align-items:center;font-size:12.5px;font-weight:700;color:var(--q-mc-d);margin-top:8px}.gfi-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 22px}.gfi-tip{display:flex;gap:8px;align-items:flex-start;padding:12px;background:var(--paper-2);border-radius:var(--r-sm);border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink-2);line-height:1.4}.gfi-tip b{color:var(--ink);font-weight:800}.gfi-tip-num{width:20px;height:20px;border-radius:99px;background:var(--gfi-accent);color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:900;display:grid;place-items:center;flex-shrink:0}.gfi-loading{text-align:center;padding:28px 8px 12px}.gfi-load-spinner{width:80px;height:80px;margin:0 auto 18px;position:relative;display:grid;place-items:center}.gfi-load-spinner .ring{position:absolute;inset:0;border:3px solid var(--gfi-accent-tint);border-top-color:var(--gfi-accent);border-radius:99px;animation:gfiSpin .9s linear infinite}@keyframes gfiSpin{to{transform:rotate(360deg)}}.gfi-load-title{font-size:20px;font-weight:900;letter-spacing:-.01em;color:var(--ink);margin-bottom:14px}.gfi-load-list{display:inline-flex;flex-direction:column;gap:8px;margin:0 auto 16px;text-align:left}.gfi-load-step{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:700;color:var(--ink-4);transition:color .2s}.gfi-load-step.done{color:var(--ink-2)}.gfi-load-step.now{color:var(--ink)}.gfi-load-step .dot{width:18px;height:18px;border-radius:99px;background:var(--paper-2);border:1.5px solid var(--line);display:grid;place-items:center;color:#fff;flex-shrink:0}.gfi-load-step.done .dot{background:var(--q-tf);border-color:var(--q-tf)}.gfi-load-step.now .dot{background:var(--gfi-accent);border-color:var(--gfi-accent)}.gfi-load-step .pulse{width:8px;height:8px;border-radius:99px;background:#fff;animation:gfiPulse .9s ease-in-out infinite}@keyframes gfiPulse{0%,to{transform:scale(.6);opacity:.8}50%{transform:scale(1);opacity:1}}.gfi-load-url{font-family:var(--font-mono);font-size:11px;color:var(--ink-4);word-break:break-all;max-width:480px;margin:12px auto 0;padding:6px 10px;background:var(--paper-2);border-radius:var(--r-sm);border:1px solid var(--line)}.gfi-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:14px 8px;background:var(--paper-2);border:1.5px solid var(--line);border-radius:var(--r-md);margin-bottom:12px}.gfi-stat{text-align:center;padding:0 4px}.gfi-stat .val{font-family:var(--font-mono);font-size:22px;font-weight:900;color:var(--ink);line-height:1}.gfi-stat .lbl{margin-top:4px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.gfi-stat-divider{border-left:2px dashed var(--line)}.gfi-stats-note{font-size:11.5px;font-weight:600;color:var(--ink-3);line-height:1.4;margin:-6px 4px 12px;padding-left:6px;border-left:2px solid var(--line)}.gfi-stats-note b{font-weight:800;color:var(--ink-2)}.gfi-types{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.gfi-type-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;background:var(--paper-2);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--ink-2)}.gfi-type-pill .d{width:8px;height:8px;border-radius:99px;display:inline-block}.gfi-type-pill .d.mc{background:var(--q-mc)}.gfi-type-pill .d.tf{background:var(--q-tf)}.gfi-type-pill .d.oe{background:var(--q-oe)}.gfi-type-pill .d.oe-short{background:var(--q-tf)}.gfi-list-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-bottom:6px}.gfi-list-head .muted{font-weight:700;color:var(--ink-4)}.gfi-list-head.danger{color:var(--q-mc-d)}.gfi-ai-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:99px;background:var(--gfi-accent-tint);border:1px dashed var(--gfi-accent);color:var(--gfi-accent-d);font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:background .12s,border-color .12s,filter .12s;margin-left:auto}.gfi-ai-btn:hover:not(:disabled){filter:brightness(1.05);border-style:solid}.gfi-ai-btn:disabled{opacity:.6;cursor:progress}.gfi-ai-btn.busy svg{animation:gfiSpin 1.2s linear infinite;transform-origin:center}.gfi-master-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.gfi-master-toggle:disabled{cursor:not-allowed;opacity:.5}.gfi-master-toggle:hover:not(:disabled){color:var(--ink)}.gfi-check{width:18px;height:18px;flex-shrink:0;border-radius:5px;background:var(--paper);border:1.5px solid var(--line);display:grid;place-items:center;color:#fff;transition:background .12s,border-color .12s}.gfi-check.checked,.gfi-check.gfi-check-A{background:var(--q-tf);border-color:var(--q-tf)}.gfi-check.indeterminate{background:var(--paper-2);border-color:var(--gfi-accent)}.gfi-check.indeterminate:after{content:"";width:8px;height:2px;background:var(--gfi-accent);border-radius:1px}.gfi-check.gfi-check-C{background:var(--paper);border-color:var(--q-sec)}.gfi-check.gfi-check-C:after{content:"";width:6px;height:6px;border-radius:99px;background:var(--q-sec-d)}.gfi-check.gfi-check-B{background:var(--paper);border-color:var(--line)}.gfi-check.gfi-check-indeterminate{background:var(--paper-2);border-color:var(--gfi-accent)}.gfi-check.gfi-check-indeterminate:after{content:"";width:8px;height:2px;background:var(--gfi-accent);border-radius:1px}.gfi-section-cycle{background:var(--q-sec-t)}.gfi-section-cycle:hover{filter:brightness(.98)}.gfi-section-cycle.gfi-section-B,.gfi-section-cycle.gfi-section-C{opacity:.85}.gfi-section-cycle.gfi-section-B .gfi-row-tag,.gfi-section-cycle.gfi-section-C .gfi-row-tag{filter:grayscale(.5)}.gfi-row-drag{flex-shrink:0;width:18px;height:24px;display:grid;place-items:center;background:transparent;border:none;padding:0;color:var(--ink-4);cursor:grab;opacity:0;transition:opacity .12s,color .12s;touch-action:none}.gfi-row:hover .gfi-row-drag,.gfi-row-drag:focus-visible{opacity:1}.gfi-row-drag:hover{color:var(--ink-2)}.gfi-row-drag:active{cursor:grabbing}.gfi-row-dragging{background:var(--paper);box-shadow:0 8px 24px -8px #00000040;cursor:grabbing}.gfi-row-toggle{display:inline-flex;align-items:center;gap:10px;background:transparent;border:none;padding:0;cursor:pointer;color:inherit;font:inherit;flex-shrink:0}.gfi-row-toggle:focus-visible .gfi-check{outline:2px solid var(--gfi-accent);outline-offset:2px}.gfi-row-edit-btn{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);color:var(--ink-3);cursor:pointer;opacity:0;transition:opacity .12s,background .12s,color .12s,border-color .12s}.gfi-row:hover .gfi-row-edit-btn,.gfi-row-editing .gfi-row-edit-btn,.gfi-row-edit-btn:focus-visible{opacity:1}.gfi-row-edit-btn:hover{background:var(--paper-2);color:var(--ink);border-color:var(--line)}.gfi-row-edit-btn.done{width:auto;min-width:26px;padding:0 10px;background:var(--q-tf);border-color:var(--q-tf);color:#fff;font:inherit;font-size:11px;font-weight:900;letter-spacing:.06em;opacity:1}.gfi-row-edit-btn.done:hover{filter:brightness(1.05)}.gfi-row-editing{background:var(--paper);border-color:var(--gfi-accent);box-shadow:0 0 0 1px var(--gfi-accent),0 4px 12px -6px #00000026;align-items:flex-start}.gfi-row-editing .gfi-row-body{display:block;width:100%}.gfi-editor{display:flex;flex-direction:column;gap:8px;padding:4px 0}.gfi-editor-input,.gfi-editor-textarea,.gfi-editor-pts{width:100%;padding:6px 9px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--paper);font:inherit;font-size:13px;font-weight:600;color:var(--ink);outline:none}.gfi-editor-input:focus,.gfi-editor-textarea:focus,.gfi-editor-pts:focus{border-color:var(--gfi-accent)}.gfi-editor-textarea{font-weight:500;resize:vertical;min-height:36px}.gfi-editor-pts{width:64px;text-align:center;font-family:var(--font-mono);font-weight:800}.gfi-editor-row{display:flex;align-items:center;gap:8px}.gfi-editor-label{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.gfi-editor-label .muted{font-weight:600;text-transform:none;letter-spacing:0;color:var(--ink-4)}.gfi-editor-opts{display:flex;flex-direction:column;gap:4px}.gfi-editor-opt{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--paper-2);border:1.5px solid var(--line);border-radius:var(--r-sm);cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;color:var(--ink-2);text-align:left;transition:background .12s,border-color .12s}.gfi-editor-opt:hover{background:var(--paper);border-color:var(--gfi-accent)}.gfi-editor-opt.correct{background:var(--q-tf-t);border-color:var(--q-tf);color:var(--q-tf-d);font-weight:800}.gfi-editor-opt-mark{flex-shrink:0;width:16px;height:16px;border-radius:99px;border:1.5px solid var(--line);background:var(--paper);display:grid;place-items:center;color:#fff}.gfi-editor-opt-mark.on{background:var(--q-tf);border-color:var(--q-tf)}.gfi-editor-opt-text{flex:1;min-width:0}.gfi-uploader{display:flex;flex-direction:column;gap:4px}.gfi-uploader-row{display:flex;gap:10px;align-items:center}.gfi-uploader-preview{width:64px;height:64px;flex-shrink:0;border-radius:var(--r-sm);background:var(--paper-2);border:1.5px solid var(--line);overflow:hidden;display:grid;place-items:center;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}.gfi-uploader-preview img{width:100%;height:100%;object-fit:cover;display:block}.gfi-uploader-preview.placeholder{background:repeating-linear-gradient(45deg,var(--paper-2),var(--paper-2) 6px,var(--paper-3) 6px,var(--paper-3) 12px)}.gfi-uploader-preview.error{background:var(--q-mc-t);border-color:var(--q-mc);color:var(--q-mc-d)}.gfi-uploader-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.gfi-target{margin-top:14px}.gfi-target-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.gfi-target-seg{display:inline-flex;background:var(--paper-2);border:1.5px solid var(--line);border-radius:var(--r-md);padding:2px}.gfi-target-btn{background:transparent;border:none;padding:6px 12px;border-radius:var(--r-sm);font:inherit;font-size:12.5px;font-weight:700;color:var(--ink-3);cursor:pointer;transition:background .12s,color .12s}.gfi-target-btn:hover:not(:disabled){color:var(--ink)}.gfi-target-btn.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #1f1b2e14}.gfi-target-btn:disabled{opacity:.5;cursor:not-allowed}.gfi-target-select{flex:1;min-width:0;padding:7px 10px;background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-sm);font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);cursor:pointer;outline:none}.gfi-target-select:focus{border-color:var(--gfi-accent)}.gfi-list{display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto;padding:4px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md)}.gfi-list-skipped{background:color-mix(in oklab,var(--q-mc-t) 50%,var(--paper));border-color:color-mix(in oklab,var(--q-mc) 25%,var(--line))}.gfi-row{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:var(--r-sm);background:var(--paper);border:1px solid transparent}.gfi-row:hover{background:var(--paper-2)}.gfi-row-q{cursor:pointer;user-select:none}.gfi-row-q.off{opacity:.45}.gfi-row-q.off:hover{opacity:.7}.gfi-row-q.off .gfi-row-tag{filter:grayscale(1)}.gfi-row-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gfi-row-input:focus-visible+.gfi-check{outline:2px solid var(--gfi-accent);outline-offset:2px}.gfi-row-tag{flex-shrink:0;width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-family:var(--font-mono);font-size:11px;font-weight:900;color:#fff;background:var(--ink-3)}.gfi-row-tag.mc{background:var(--q-mc)}.gfi-row-tag.tf{background:var(--q-tf)}.gfi-row-tag.oe{background:var(--q-oe)}.gfi-row-tag.oe-short{background:var(--q-tf)}.gfi-row-tag.img{background:var(--q-img);color:var(--q-img-d)}.gfi-row-tag.sec{background:var(--q-sec);color:var(--q-sec-d);font-size:16px}.gfi-row-tag.skip{background:var(--q-mc)}.gfi-row-body{flex:1;min-width:0;display:block}.gfi-row-body-btn{background:transparent;border:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit}.gfi-row-body-btn:focus-visible{outline:2px solid var(--gfi-accent);outline-offset:2px;border-radius:var(--r-xs)}.gfi-row-body-btn:hover .t{color:var(--gfi-accent-d)}.gfi-row-pills{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.gfi-row-pill{display:inline-flex;align-items:center;gap:4px;max-width:160px;padding:2px 8px;background:var(--paper-2);border:1px solid var(--line);border-radius:99px;font:inherit;font-size:11px;font-weight:700;color:var(--ink-3);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.gfi-row-pill:hover{background:var(--paper);border-color:var(--gfi-accent);color:var(--ink-2)}.gfi-row-pill.correct{background:var(--q-tf-t);border-color:var(--q-tf);color:var(--q-tf-d)}.gfi-row-pill.correct:hover{filter:brightness(1.02);border-color:var(--q-tf-d)}.gfi-row-pill-mark{flex-shrink:0;width:12px;height:12px;border-radius:99px;background:var(--q-tf);color:#fff;display:grid;place-items:center}.gfi-row-pill-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gfi-row-img-hint{display:inline-flex;align-items:center;margin-left:6px;vertical-align:-1px;color:var(--ink-4);opacity:.7}.gfi-row-img-hint:hover{color:var(--ink-2);opacity:1}.gfi-row-body .t{display:-webkit-box;font-size:13.5px;font-weight:700;color:var(--ink);line-height:1.3;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical}.gfi-row-body .d{display:block;font-size:11.5px;font-weight:600;color:var(--ink-3);margin-top:2px;line-height:1.3}.gfi-row-body .d .mono{font-family:var(--font-mono);color:var(--ink-2)}.gfi-row-pts{flex-shrink:0;font-family:var(--font-mono);font-size:11px;font-weight:800;color:var(--ink-3);background:var(--paper-2);padding:3px 8px;border-radius:99px;border:1px solid var(--line)}.gfi-row-pts-editable{display:inline-flex;align-items:center;gap:0;padding:0;transition:border-color .12s,background .12s}.gfi-row-pts-editable:hover,.gfi-row-pts-editable:focus-within{background:var(--paper);border-color:var(--gfi-accent)}.gfi-pts-step{width:18px;height:22px;display:grid;place-items:center;background:transparent;border:none;font:inherit;font-size:13px;font-weight:900;color:var(--ink-3);cursor:pointer;padding:0;line-height:1;transition:color .12s,background .12s}.gfi-pts-step:hover:not(:disabled){color:var(--gfi-accent-d);background:var(--gfi-accent-tint)}.gfi-pts-step:first-child{border-radius:99px 0 0 99px}.gfi-pts-step:last-child{border-radius:0 99px 99px 0}.gfi-pts-step:disabled{opacity:.3;cursor:not-allowed}.gfi-pts-input{width:28px;text-align:center;background:transparent;border:none;outline:none;font:inherit;font-family:var(--font-mono);font-size:11px;font-weight:800;color:var(--ink-2);padding:0;-moz-appearance:textfield}.gfi-pts-input::-webkit-outer-spin-button,.gfi-pts-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gfi-pts-suffix{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--ink-4);padding-right:2px}.gfi-row-meta{flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--q-sec-d)}.gfi-row-sec{background:var(--q-sec-t)}.gfi-row-skip{opacity:.85}.gfi-row-skip .t{text-decoration:line-through;text-decoration-color:var(--q-mc);text-decoration-thickness:1.5px}.gfi-callout{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;margin-top:14px;border-radius:var(--r-sm);background:var(--gfi-accent-tint);border:1.5px solid color-mix(in oklab,var(--gfi-accent) 30%,transparent);color:var(--gfi-accent-d);font-size:12.5px;font-weight:600;line-height:1.45}.gfi-callout b{font-weight:800}.gfi-callout svg{flex-shrink:0;margin-top:1px}.gfi-callout-warn{background:var(--q-sec-t);border-color:color-mix(in oklab,var(--q-sec) 35%,transparent);color:var(--q-sec-d)}.gfi-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.gfi-actions-center{justify-content:center}.gfi-actions .btn{padding:9px 16px;display:inline-flex;align-items:center;gap:6px}.gfi-done{text-align:center;padding:6px 4px}.gfi-done-mark{width:76px;height:76px;margin:6px auto 4px;border-radius:22px;background:var(--q-tf-t);border:2px solid var(--q-tf);color:var(--q-tf-d);display:grid;place-items:center;box-shadow:0 4px color-mix(in oklab,var(--q-tf) 30%,transparent);transform:rotate(-4deg);animation:gfiDonePop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes gfiDonePop{0%{transform:scale(.6) rotate(-15deg);opacity:0}to{transform:scale(1) rotate(-4deg);opacity:1}}.gfi-done .gfi-title{margin-top:14px}.gfi-done .gfi-sub{margin-bottom:18px}@media(max-width:540px){.gfi-inner{padding:22px 20px 18px}.gfi-tips{grid-template-columns:1fr}.gfi-stats{grid-template-columns:repeat(3,1fr)}.gfi-actions{flex-direction:column-reverse}.gfi-actions .btn{width:100%;justify-content:center}}:root{--dlg-pop: cubic-bezier(.34, 1.56, .64, 1);--dlg-out: cubic-bezier(.22, 1, .36, 1);--dlg-t-in: .26s;--dlg-t-out: .18s}.toast-host{position:fixed;z-index:600;display:flex;flex-direction:column;gap:10px;padding:20px;pointer-events:none;max-width:100vw}.toast-host[data-pos=br]{right:0;bottom:0;align-items:flex-end}.toast-host[data-pos=bc]{left:0;right:0;bottom:0;align-items:center}.toast-host[data-pos=tr]{right:0;top:0;align-items:flex-end;flex-direction:column-reverse}.toast{pointer-events:auto;position:relative;overflow:hidden;width:min(360px,calc(100vw - 40px));min-width:220px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 15px;border-radius:var(--r-md);font-family:var(--font-sans);cursor:pointer;box-shadow:0 4px #00000029,0 18px 38px -14px #1f1b2e8c;animation:toastIn var(--dlg-t-in) var(--dlg-out);transform-origin:bottom right}.toast.toast-out{animation:toastOut var(--dlg-t-out) var(--dlg-out) forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}@keyframes toastOut{to{opacity:0;transform:translateY(8px) scale(.97)}}.toast-neutral{background:var(--ink);color:var(--paper)}.toast-success{background:var(--ok);color:#fff}.toast-error{background:var(--bad);color:#fff}.toast-warn{background:var(--warn);color:var(--ink)}.toast-ic{width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--r-xs);background:#fff3;color:inherit}.toast-warn .toast-ic{background:#1f1b2e24}.toast-msg{min-width:0}.toast-title{font-weight:800;font-size:13.5px;line-height:1.32;letter-spacing:-.005em;word-break:break-word}.toast-sub{display:block;font-weight:600;font-size:12px;line-height:1.35;opacity:.82;margin-top:2px}.toast-action{flex-shrink:0;font-family:var(--font-sans);font-weight:800;font-size:12.5px;padding:6px 12px;border-radius:var(--r-sm);border:1.5px solid currentColor;color:inherit;background:transparent;cursor:pointer;transition:background .12s;white-space:nowrap}.toast-action:hover{background:#ffffff2e}.toast-warn .toast-action:hover{background:#1f1b2e1a}.toast-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:currentColor;opacity:.4;transform-origin:left center;animation:toastBar linear forwards}@keyframes toastBar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.wfield-invalid,.input.invalid,.textarea.invalid,.select.invalid{border-color:var(--bad)!important;box-shadow:0 0 0 4px color-mix(in oklab,var(--bad) 16%,transparent);animation:fieldShake .32s var(--dlg-out)}.wfield-invalid:focus,.input.invalid:focus,.textarea.invalid:focus,.select.invalid:focus{border-color:var(--bad)!important;box-shadow:0 0 0 4px color-mix(in oklab,var(--bad) 22%,transparent)}@keyframes fieldShake{10%,90%{transform:translate(-1px)}30%,70%{transform:translate(2px)}50%{transform:translate(-3px)}}.field-msg{display:flex;align-items:center;gap:6px;margin-top:7px;color:var(--bad);font-size:12.5px;font-weight:800;letter-spacing:-.005em;animation:fieldMsgIn var(--dlg-t-out) var(--dlg-out)}@keyframes fieldMsgIn{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}.field-msg svg{flex-shrink:0}.mdl-overlay{position:fixed;inset:0;z-index:400;background:color-mix(in oklab,var(--ink) 55%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:24px;animation:mdlFade .22s ease}@keyframes mdlFade{0%{opacity:0}to{opacity:1}}.mdl-card{position:relative;background:var(--card);border:2px solid var(--ink);border-radius:var(--r-xl);box-shadow:0 10px #1f1b2e2e,0 40px 80px -10px #00000059;padding:32px 32px 28px;width:100%;outline:none;overflow:hidden;animation:mdlPop .42s var(--dlg-pop)}.mdl-size-sm{max-width:380px}.mdl-size-md{max-width:480px}.mdl-size-lg{max-width:640px}@keyframes mdlPop{0%{transform:scale(.85) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.mdl-stripe{position:absolute;top:0;left:0;right:0;height:6px;background:var(--mdl-accent, var(--accent))}.mdl-tone-info .mdl-card{--mdl-accent: var(--accent);--mdl-accent-tint: var(--accent-tint);--mdl-accent-d: var(--accent-d)}.mdl-tone-warn .mdl-card{--mdl-accent: var(--q-sec);--mdl-accent-tint: var(--q-sec-t);--mdl-accent-d: var(--q-sec-d)}.mdl-tone-danger .mdl-card{--mdl-accent: var(--q-mc);--mdl-accent-tint: var(--q-mc-t);--mdl-accent-d: var(--q-mc-d)}.mdl-tone-success .mdl-card{--mdl-accent: var(--q-tf);--mdl-accent-tint: var(--q-tf-t);--mdl-accent-d: var(--q-tf-d)}.mdl-close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r-sm);color:var(--ink-3);background:transparent;border:0;cursor:pointer;z-index:2}.mdl-close:hover{background:var(--paper-2);color:var(--ink)}.mdl-icon{width:76px;height:76px;margin:4px auto 16px;border-radius:22px;background:var(--mdl-accent-tint, var(--accent-tint));border:2px solid var(--mdl-accent, var(--accent));display:grid;place-items:center;color:var(--mdl-accent-d, var(--accent-d));box-shadow:0 4px color-mix(in oklab,var(--mdl-accent, var(--accent)) 30%,transparent);transform:rotate(-4deg);transition:transform .5s var(--dlg-pop)}.mdl-card:hover .mdl-icon{transform:rotate(0)}.mdl-icon-emoji{font-size:40px;line-height:1;transform:rotate(4deg)}.mdl-title-wrap{text-align:center;margin-bottom:12px}.mdl-kicker{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--mdl-accent-d, var(--accent-d));margin-bottom:6px;font-family:var(--font-mono)}.mdl-title{margin:0;font-size:26px;font-weight:900;letter-spacing:-.02em;color:var(--ink);line-height:1.15;text-wrap:balance}.mdl-body{text-align:center;color:var(--ink-2);font-size:14.5px;font-weight:600;line-height:1.5;margin-bottom:18px}.mdl-body p{margin:0 0 8px}.mdl-body p:last-child{margin-bottom:0}.mdl-body strong{color:var(--ink);font-weight:800}.mdl-actions{display:flex;gap:10px;margin-top:4px}.mdl-actions-end{justify-content:flex-end}.mdl-actions-center{justify-content:center}.mdl-actions .btn{padding:10px 18px}.btn-danger{background:linear-gradient(135deg,var(--q-mc),var(--bad));color:#fff;box-shadow:0 3px 0 var(--q-mc-d)}.btn-danger:hover{filter:brightness(1.04)}.btn-danger:active{box-shadow:0 1px 0 var(--q-mc-d)}.mdl-warnblock{display:flex;align-items:flex-start;gap:13px;text-align:left;padding:14px 16px;margin-bottom:18px;border-radius:var(--r-md);background:var(--q-mc-t);border:1.5px solid color-mix(in oklab,var(--q-mc) 38%,transparent)}.mdl-warnblock-ic{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:var(--r-sm);background:#ffffff9e;color:var(--q-mc-d)}.mdl-warnblock-body{flex:1;min-width:0}.mdl-warnblock-title{display:block;font-size:13.5px;font-weight:900;letter-spacing:-.01em;color:var(--q-mc-d);margin-bottom:3px;line-height:1.3}.mdl-warnblock-detail{display:block;font-size:12.5px;font-weight:600;line-height:1.46;color:color-mix(in oklab,var(--q-mc-d) 82%,var(--ink))}.mdl-warnblock-detail strong{font-weight:800}.mdl-warnblock-irrev{display:block;margin-top:5px;font-weight:800;color:var(--q-mc-d)}.mdl-actions-stack{flex-direction:column;align-items:stretch}.mdl-actions-stack .btn{width:100%;justify-content:center;padding:12px 18px}.mdl-choice{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.mdl-choice-label{font-weight:800;font-size:14px}.mdl-choice-desc{font-weight:600;font-size:11.5px;opacity:.8}.mdl-linkrow{display:flex;gap:8px;margin-bottom:18px}.mdl-linkrow input{flex:1;min-width:0;font-family:var(--font-mono);font-size:12.5px;font-weight:600;background:var(--paper-2);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:10px 12px}@media(max-width:540px){.mdl-card{padding:26px 22px 22px}.mdl-title{font-size:22px}.mdl-actions:not(.mdl-actions-stack){flex-direction:column-reverse}.mdl-actions:not(.mdl-actions-stack) .btn{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.toast,.toast.toast-out,.toast-bar,.mdl-overlay,.mdl-card,.mdl-icon,.wfield-invalid,.input.invalid,.field-msg{animation:none!important;transition:none!important}}.words-crt{--paper: #FAF7F2;--paper-2: #F2EBDF;--paper-3: #E8DFD1;--ink: #1F1B2E;--ink-2: #4A4560;--ink-3: #827C99;--card: #FFFFFF;--line: #1F1B2E;--gold: #F4B740;--gold-d: #C98A12;--mc: oklch(.7 .19 30);--mc-d: oklch(.5 .2 30);--mc-t: oklch(.94 .06 30);--tf: oklch(.72 .17 165);--tf-d: oklch(.46 .16 165);--tf-t: oklch(.94 .05 165);--oe: oklch(.68 .16 250);--oe-d: oklch(.45 .18 260);--oe-t: oklch(.94 .05 250);--found: oklch(.62 .17 150);--found-t: oklch(.88 .12 150);--a1: oklch(.68 .2 25);--a2: oklch(.66 .18 250);--a3: oklch(.75 .17 95);--a4: oklch(.66 .18 155);--font: "Nunito", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--accent: oklch(.52 .2 320);--accent-d: oklch(.4 .22 320);--accent-t: oklch(.94 .05 320);--sp: 1;position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.words-crt .screen{--screen-w: min(92vw, 880px);width:var(--screen-w);max-height:88vh;background:linear-gradient(145deg,#2b2f38,#15171c);border:1px solid #0a0c10;border-radius:24px;box-shadow:0 40px 80px -18px #0009,inset 0 2px 6px #ffffff0f;padding:16px;display:flex;flex-direction:column;position:relative;opacity:0;transform:scale(.92) translateY(16px);transition:opacity calc(.42s * var(--sp)) ease,transform calc(.42s * var(--sp)) cubic-bezier(.2,1.3,.4,1)}.words-crt .screen.in{opacity:1;transform:scale(1) translateY(0)}.words-crt .screen-wrap{animation:crtFloat var(--crt-float-dur, 9s) ease-in-out infinite;animation-play-state:var(--crt-float-play, running);transform-style:preserve-3d}@keyframes crtFloat{0%{transform:perspective(1600px) rotateX(4deg) rotateY(-3.5deg)}50%{transform:perspective(1600px) rotateX(1.5deg) rotateY(3.5deg)}to{transform:perspective(1600px) rotateX(4deg) rotateY(-3.5deg)}}.words-crt .screen:after{content:"";position:absolute;bottom:9px;right:16px;width:9px;height:9px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399}.words-crt .screen-marquee{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 8px 12px;color:#ffe9b8}.words-crt .screen-marquee .tag{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.words-crt .screen-marquee .blink{animation:crtBlink calc(.9s * var(--sp)) steps(2) infinite}@keyframes crtBlink{50%{opacity:.15}}.words-crt .screen-marquee .tag.is-link{pointer-events:auto;cursor:pointer;transition:color .15s,text-shadow .15s,transform .1s}.words-crt .screen-marquee .tag.is-link:hover{color:#ffe9b8;text-shadow:0 0 10px var(--gold),0 0 22px var(--gold)}.words-crt .screen-marquee .tag.is-link:active{transform:translateY(1px)}.words-crt .screen-dots{display:flex;gap:8px}.words-crt .screen-dots i{width:10px;height:10px;border-radius:999px;background:currentColor;opacity:.3;transition:opacity .25s,box-shadow .25s}.words-crt .screen-dots i:nth-child(1){color:#22c55e}.words-crt .screen-dots i:nth-child(2){color:#3b82f6}.words-crt .screen-dots i:nth-child(3){color:#f59e0b}.words-crt .screen-dots i:nth-child(4){color:#ec4899}.words-crt .screen-dots i.on{opacity:1;box-shadow:0 0 8px currentColor,0 0 2px currentColor;animation:crtDotTwinkle calc(1.6s * var(--sp)) ease-in-out infinite}@keyframes crtDotTwinkle{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.words-crt .screen-glass{position:relative;flex:1 1 auto;background-color:var(--crt-bg, #dcdad5);border:2px solid #0a0c10;border-radius:16px;overflow:hidden;min-height:clamp(340px,60vh,540px);box-shadow:inset 0 0 70px #00000038}.words-crt .screen-noise{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='120'%20height='120'%3E%3Cfilter%20id='g'%3E%3CfeTurbulence%20type='fractalNoise'%20baseFrequency='0.9'%20numOctaves='2'%20stitchTiles='stitch'/%3E%3CfeColorMatrix%20type='saturate'%20values='0'/%3E%3C/filter%3E%3Crect%20width='100%25'%20height='100%25'%20filter='url(%23g)'/%3E%3C/svg%3E");background-size:130px 130px;opacity:var(--crt-noise, .28)}.words-crt .screen-glass:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:30;background:linear-gradient(135deg,rgba(255,255,255,.22) 0%,transparent 42%),repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0 1px,transparent 1px 3px);opacity:var(--crt-scan, .9)}.words-crt .screen-glass:before{content:"";position:absolute;left:0;right:0;top:-15%;height:14%;z-index:31;pointer-events:none;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.22),transparent);animation:crtScan calc(3.2s * var(--sp)) linear infinite}@keyframes crtScan{0%{top:-15%}to{top:100%}}.words-crt .demo{position:absolute;inset:0;padding:clamp(14px,3.2vmin,26px);display:flex;flex-direction:column;opacity:0;transform:translate(40px);transition:opacity calc(.38s * var(--sp)) ease,transform calc(.38s * var(--sp)) cubic-bezier(.2,.9,.3,1)}.words-crt .demo.in{opacity:1;transform:translate(0)}.words-crt .demo.out{opacity:0;transform:translate(-40px);transition-duration:calc(.32s * var(--sp))}.words-crt .demo-head{display:flex;align-items:center;gap:10px;margin-bottom:clamp(8px,2vmin,16px)}.words-crt .demo-head .emo{width:clamp(30px,5vmin,42px);height:clamp(30px,5vmin,42px);border-radius:11px;border:2px solid var(--ink);display:grid;place-items:center;font-size:clamp(16px,3vmin,22px);box-shadow:3px 3px 0 var(--ink);flex-shrink:0}.words-crt .demo-head .tt{font-weight:900;font-size:clamp(14px,2.4vmin,19px);color:var(--ink);letter-spacing:-.01em;white-space:nowrap;line-height:1.1}.words-crt .demo-head>div:nth-child(2){min-width:0}.words-crt .demo-head .ss{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.words-crt .demo-head .prog{margin-left:auto;font-family:var(--mono);font-weight:700;font-size:13px;color:var(--ink-2);background:var(--card);border:2px solid var(--ink);border-radius:8px;padding:3px 9px;box-shadow:2px 2px 0 var(--ink)}.words-crt .scorepop{position:absolute;font-family:var(--font);font-weight:900;font-size:clamp(16px,3.4vmin,26px);color:var(--found);text-shadow:0 2px 0 rgba(0,0,0,.12);pointer-events:none;z-index:25;animation:crtScorePop calc(.9s * var(--sp)) cubic-bezier(.2,1,.3,1) forwards}@keyframes crtScorePop{0%{opacity:0;transform:translateY(8px) scale(.6)}25%{opacity:1;transform:translateY(-6px) scale(1.1)}to{opacity:0;transform:translateY(-46px) scale(1)}}.words-crt .stamp{position:absolute;inset:0;z-index:40;display:grid;place-items:center;pointer-events:none}.words-crt .stamp span{font-family:var(--font);font-weight:900;font-size:clamp(34px,9vmin,92px);letter-spacing:-.02em;transform:rotate(-9deg) scale(2.4);opacity:0;animation:crtStampIn calc(.56s * var(--sp)) cubic-bezier(.2,1.3,.3,1) forwards;color:transparent;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill}.words-crt .stamp.s-outline span{color:transparent;-webkit-text-stroke:clamp(2px,.5vmin,4px) var(--ink);text-shadow:4px 5px 0 rgba(31,27,46,.12)}.words-crt .stamp.s-solid span{color:var(--accent);-webkit-text-stroke:clamp(2px,.5vmin,4px) var(--ink);text-shadow:0 6px 0 var(--accent-d)}.words-crt .stamp.s-neon span{color:transparent;-webkit-text-stroke:clamp(2px,.45vmin,3.5px) var(--accent);text-shadow:0 0 8px var(--accent),0 0 22px var(--accent),0 0 40px var(--accent)}@keyframes crtStampIn{0%{opacity:0;transform:rotate(-9deg) scale(2.4)}55%{opacity:1;transform:rotate(-9deg) scale(.92)}70%{transform:rotate(-9deg) scale(1.05)}to{opacity:1;transform:rotate(-9deg) scale(1)}}.words-crt .burst-flash,.words-crt .burst-ring{position:absolute;left:50%;top:52%;width:64px;height:64px;margin:-32px;border-radius:50%;pointer-events:none;z-index:34;transform:scale(.2);opacity:.85;animation:crtBurstOut calc(.66s * var(--sp)) cubic-bezier(.2,.7,.3,1) forwards}.words-crt .burst-flash{background:radial-gradient(circle,var(--accent-t) 0%,color-mix(in oklch,var(--accent) 35%,transparent) 45%,transparent 72%)}.words-crt .burst-ring{border:4px solid var(--accent);background:transparent;animation-duration:calc(.72s * var(--sp))}@keyframes crtBurstOut{to{transform:scale(5.4);opacity:0}}.words-crt .confetti{position:absolute;left:50%;top:52%;width:11px;height:15px;border-radius:2px;pointer-events:none;z-index:35;will-change:transform,opacity}.words-crt .confetti.round{width:12px;height:12px;border-radius:50%}.words-crt .confetti.streamer{width:5px;height:21px;border-radius:3px}.words-crt .confetti.tri{width:0;height:0;background:transparent!important;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:13px solid currentColor;border-radius:0}.words-crt .ws-wrap{flex:1;display:grid;grid-template-columns:1fr clamp(96px,24%,150px);gap:clamp(10px,2.4vmin,20px);min-height:0}.words-crt .ws-grid{display:grid;gap:4px;background:var(--ink);border:2px solid var(--ink);border-radius:12px;padding:5px;aspect-ratio:1;align-self:center;height:min(100%,44vh);width:auto;max-width:100%;justify-self:center}.words-crt .ws-c{background:#fffdf8;border-radius:5px;display:grid;place-items:center;font-family:var(--mono);font-weight:700;font-size:clamp(11px,2.6vmin,22px);color:var(--ink);position:relative;transition:background .12s,color .12s,transform .12s}.words-crt .ws-c.trace{background:var(--gold);color:var(--ink);transform:scale(1.06);box-shadow:0 0 0 2px var(--gold-d) inset}.words-crt .ws-c.found{background:var(--found-t);color:var(--found);transform:scale(1)}.words-crt .ws-list{display:flex;flex-direction:column;gap:7px;align-self:start}.words-crt .ws-word{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-weight:700;font-size:clamp(11px,2vmin,14px);color:var(--ink-2)}.words-crt .ws-word .box{width:16px;height:16px;border:2px solid var(--ink);border-radius:5px;display:grid;place-items:center;color:#fff;flex-shrink:0;transition:background .2s}.words-crt .ws-word.done{color:var(--found)}.words-crt .ws-word.done .box{background:var(--found)}.words-crt .ws-word.done .lbl{text-decoration:line-through}.words-crt .cw-wrap{flex:1;display:flex;flex-direction:column;gap:clamp(8px,2vmin,14px);min-height:0;align-items:center}.words-crt .cw-wrap .cw-stage{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,2vmin,14px)}.words-crt .cw-grid{display:grid;gap:3px}.words-crt .cw-c{width:clamp(24px,4.8vmin,40px);height:clamp(24px,4.8vmin,40px);border:2px solid var(--ink);border-radius:6px;background:var(--card);display:grid;place-items:center;font-family:var(--font);font-weight:900;font-size:clamp(13px,3vmin,24px);color:var(--ink);position:relative;opacity:0;transform:scale(.3)}.words-crt .cw-c.show{opacity:1;transform:scale(1);transition:opacity .25s,transform .3s cubic-bezier(.2,1.4,.4,1)}.words-crt .cw-c.block{visibility:hidden}.words-crt .cw-c .num{position:absolute;top:1px;left:3px;font-family:var(--mono);font-weight:600;font-size:9px;color:var(--ink-3)}.words-crt .cw-c.active{box-shadow:0 0 0 3px var(--accent);z-index:2}.words-crt .cw-c.typed .ch{animation:crtPop calc(.28s * var(--sp)) cubic-bezier(.2,1.5,.4,1)}.words-crt .cw-c.correct{background:var(--found-t);color:var(--found);animation:crtFlip3d calc(.44s * var(--sp)) ease}.words-crt .cw-c.cross{box-shadow:0 0 0 3px var(--gold)}@keyframes crtPop{0%{transform:scale(0)}60%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes crtFlip3d{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.words-crt .cw-clue{display:flex;align-items:center;gap:9px;background:var(--card);border:2px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);padding:9px 14px;max-width:92%}.words-crt .cw-clue .pin{font-family:var(--mono);font-weight:700;font-size:12px;color:#fff;background:var(--accent);border:2px solid var(--ink);border-radius:7px;padding:2px 7px;flex-shrink:0}.words-crt .cw-clue .txt{font-weight:700;font-size:clamp(12px,2.2vmin,15px);color:var(--ink)}.words-crt .cw-clue .txt b{font-family:var(--mono);letter-spacing:.12em}.words-crt .cw-kb{display:flex;flex-direction:column;gap:clamp(3px,.9vmin,6px);align-items:center;padding:clamp(7px,1.6vmin,12px) clamp(8px,1.8vmin,14px) clamp(9px,2vmin,14px);background:var(--ink);border:2px solid var(--ink);border-radius:16px;box-shadow:0 5px #000,0 14px 24px -12px #0009;width:fit-content;max-width:100%;opacity:0;transform:translateY(40px);transition:opacity calc(.36s * var(--sp)) ease,transform calc(.36s * var(--sp)) cubic-bezier(.2,1.1,.4,1)}.words-crt .cw-kb.up{opacity:1;transform:translateY(0)}.words-crt .cw-kb .kb-row{display:flex;gap:clamp(3px,.9vmin,6px)}.words-crt .cw-key{width:clamp(20px,3.6vmin,30px);height:clamp(23px,4vmin,34px);display:grid;place-items:center;font-family:var(--font);font-weight:800;font-size:clamp(10px,2vmin,16px);color:var(--ink);background:linear-gradient(180deg,#fffdf8,#ece3d4);border:1.5px solid #000;border-radius:7px;box-shadow:0 2.5px #0000008c;position:relative}.words-crt .cw-key.wide{width:clamp(30px,6vmin,52px);font-size:clamp(11px,1.8vmin,13px)}.words-crt .cw-key.hit{color:#fff;background:var(--accent);box-shadow:0 0 #0000008c,0 0 12px var(--accent);transform:translateY(2px);transition:transform .06s,background .06s,box-shadow .06s}.words-crt .an-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,3.4vmin,30px);min-height:0;position:relative}.words-crt .an-clue{display:flex;align-items:center;gap:9px;background:var(--card);border:2px solid var(--ink);border-radius:14px;box-shadow:3px 3px 0 var(--ink);padding:8px 14px;max-width:92%}.words-crt .an-clue .pin{font-family:var(--mono);font-weight:700;font-size:11px;color:#fff;background:var(--oe);border:2px solid var(--ink);border-radius:7px;padding:2px 7px;flex-shrink:0}.words-crt .an-clue .txt{font-weight:700;font-size:clamp(12px,2.2vmin,15px);color:var(--ink)}.words-crt .an-slots,.words-crt .an-tray{display:flex;gap:clamp(5px,1.4vmin,12px);flex-wrap:nowrap;justify-content:center;align-items:center;height:clamp(40px,8vmin,66px)}.words-crt .an-slot{position:relative;flex-shrink:0;box-sizing:border-box;width:clamp(34px,7vmin,58px);height:clamp(40px,8vmin,66px);border:2px dashed var(--ink-3);border-radius:11px;background:#1f1b2e0a}.words-crt .an-slot.filled{border-color:transparent;background:transparent}.words-crt .tile{box-sizing:border-box;width:clamp(34px,7vmin,58px);height:clamp(40px,8vmin,66px);border:2px solid var(--ink);border-radius:11px;background:linear-gradient(180deg,#fff6e0,#fbe6af);box-shadow:0 4px 0 var(--gold-d);display:grid;place-items:center;font-family:var(--font);font-weight:900;font-size:clamp(17px,4vmin,30px);color:var(--ink);position:relative;will-change:transform}.words-crt .tile .pt{position:absolute;bottom:3px;right:5px;font-family:var(--mono);font-size:9px;font-weight:600;color:var(--gold-d)}.words-crt .tile.lift{box-shadow:0 12px 18px #1f1b2e4d;z-index:5}.words-crt .tile.wrong-wait{background:linear-gradient(180deg,var(--mc-t),var(--mc));border-color:var(--ink);box-shadow:0 4px 0 var(--mc-d)}.words-crt .tile.placed{background:linear-gradient(180deg,var(--found-t),var(--found));border-color:var(--ink);box-shadow:0 4px oklch(.46 .16 150)}.words-crt .tile.hint{animation:crtHintGlow calc(.9s * var(--sp)) ease-in-out infinite}@keyframes crtHintGlow{0%,to{box-shadow:0 4px 0 var(--gold-d)}50%{box-shadow:0 4px 0 var(--gold-d),0 0 0 4px var(--gold)}}.words-crt .tile.wrong{animation:crtShakeX calc(.42s * var(--sp))}@keyframes crtShakeX{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.words-crt .tile.wave{animation:crtWave calc(.52s * var(--sp)) ease}@keyframes crtWave{0%,to{transform:translateY(0)}40%{transform:translateY(-16px) rotate(-4deg)}}.words-crt .qz-wrap{flex:1;display:flex;flex-direction:column;gap:clamp(10px,2.4vmin,18px);min-height:0}.words-crt .qz-card{background:var(--card);border:2px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);padding:clamp(12px,3vmin,22px);text-align:center;font-weight:900;font-size:clamp(15px,3vmin,24px);color:var(--ink);position:relative;transform:perspective(600px) rotateX(-12deg);opacity:0}.words-crt .qz-card.in{animation:crtCardIn calc(.48s * var(--sp)) cubic-bezier(.2,1.2,.4,1) forwards}@keyframes crtCardIn{to{transform:perspective(600px) rotateX(0);opacity:1}}.words-crt .qz-timebar{height:8px;background:var(--paper-3);border:2px solid var(--ink);border-radius:999px;overflow:hidden}.words-crt .qz-timebar i{display:block;height:100%;width:100%;background:var(--accent);border-radius:999px;transform-origin:left}.words-crt .qz-timebar.run i{animation:crtTimeDown calc(4.2s * var(--sp)) linear forwards}@keyframes crtTimeDown{to{transform:scaleX(0)}}.words-crt .qz-opts{display:grid;grid-template-columns:1fr 1fr;gap:clamp(8px,1.8vmin,14px)}.words-crt .qz-opt{display:flex;align-items:center;gap:10px;padding:clamp(10px,2.2vmin,16px);border:2px solid var(--ink);border-radius:14px;font-weight:800;font-size:clamp(13px,2.4vmin,18px);color:#fff;box-shadow:0 4px 0 var(--ink);opacity:0;transform:translateY(14px);transition:transform .14s,box-shadow .14s}.words-crt .qz-opt.show{animation:crtOptIn calc(.36s * var(--sp)) cubic-bezier(.2,1.2,.4,1) forwards}@keyframes crtOptIn{to{opacity:1;transform:translateY(0)}}.words-crt .qz-opt .k{width:26px;height:26px;border-radius:7px;background:#ffffff47;border:2px solid rgba(255,255,255,.6);display:grid;place-items:center;font-family:var(--mono);flex-shrink:0}.words-crt .qz-opt.a1{background:var(--a1)}.words-crt .qz-opt.a2{background:var(--a2)}.words-crt .qz-opt.a3{background:var(--a3)}.words-crt .qz-opt.a4{background:var(--a4)}.words-crt .qz-opt.correct{animation:crtOptWin calc(.52s * var(--sp)) cubic-bezier(.2,1.3,.4,1);background:var(--found)}@keyframes crtOptWin{0%{transform:scale(1)}40%{transform:scale(1.09)}to{transform:scale(1.02)}}.words-crt .qz-opt.dim{opacity:.4;filter:grayscale(.4)}.words-crt .qz-foot{display:flex;align-items:center;justify-content:space-between}.words-crt .qz-score{font-family:var(--mono);font-weight:700;font-size:clamp(14px,2.6vmin,18px);color:var(--ink);background:var(--card);border:2px solid var(--ink);border-radius:9px;padding:4px 12px;box-shadow:2px 2px 0 var(--ink)}.words-crt .finger{position:absolute;left:0;top:0;z-index:50;width:54px;height:54px;pointer-events:none;transform:translate(-100px,-100px);will-change:transform;filter:drop-shadow(2px 4px 3px rgba(31,27,46,.3));opacity:0;transition:opacity calc(.26s * var(--sp)) ease}.words-crt .finger.show{opacity:1}.words-crt .finger svg{display:block;width:100%;height:100%;position:relative;z-index:1;transition:transform calc(.12s * var(--sp)) ease;transform-origin:14px 8px}.words-crt .finger .ripple{position:absolute;left:8px;top:8px;width:14px;height:14px;margin:-7px;border:3px solid var(--accent);border-radius:999px;transform:scale(.3);opacity:0}.words-crt .finger.tap .ripple{animation:crtRipple calc(.48s * var(--sp)) ease-out}@keyframes crtRipple{0%{transform:scale(.3);opacity:.9}to{transform:scale(3.2);opacity:0}}.words-crt .finger.press svg{transform:scale(.84)}.words-crt .crt-static{position:absolute;inset:0;z-index:36;pointer-events:none;background-size:140px 140px;mix-blend-mode:screen;opacity:0}.words-crt .crt-flash{position:absolute;inset:0;z-index:37;pointer-events:none;background:#eaf2ff;opacity:0}.words-crt .crt-darken{position:absolute;inset:0;z-index:36;pointer-events:none;background:#02030a;opacity:0}@media(max-width:560px){.words-crt .screen{padding:9px;border-radius:20px}.words-crt .ws-wrap{grid-template-columns:1fr}.words-crt .ws-list{flex-direction:row;flex-wrap:wrap;gap:6px 12px}.words-crt .qz-opts{grid-template-columns:1fr}}@font-face{font-family:Hanzel;src:url(/fonts/HanzelNormal.ttf) format("truetype");font-weight:400;font-display:block}@keyframes c6ShineSweep{0%{background-position:135% 0}to{background-position:-175% 0}}/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-violet-600:oklch(54.1% .281 293.009);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-200:oklch(90.2% .063 306.703);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--drop-shadow-lg:0 4px 4px #00000026;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-50:var(--color-purple-50);--color-primary-100:var(--color-purple-100);--color-primary-200:var(--color-purple-200);--color-primary-300:var(--color-purple-300);--color-primary-400:var(--color-purple-400);--color-primary-500:var(--color-purple-500);--color-primary-600:var(--color-purple-600);--color-primary-700:var(--color-purple-700);--color-primary-800:var(--color-purple-800);--color-primary-900:var(--color-purple-900);--color-secondary-50:var(--color-blue-50);--color-secondary-100:var(--color-blue-100);--color-secondary-200:var(--color-blue-200);--color-secondary-500:var(--color-blue-500);--color-secondary-600:var(--color-blue-600);--color-secondary-700:var(--color-blue-700);--color-secondary-900:var(--color-blue-900);--color-success-50:var(--color-green-50);--color-success-100:var(--color-green-100);--color-success-500:var(--color-green-500);--color-success-600:var(--color-green-600);--color-success-700:var(--color-green-700);--color-success-800:var(--color-green-800);--color-warning-50:var(--color-amber-50);--color-warning-100:var(--color-amber-100);--color-warning-500:var(--color-amber-500);--color-warning-600:var(--color-amber-600);--color-warning-700:var(--color-amber-700);--color-warning-800:var(--color-amber-800);--color-error-50:var(--color-red-50);--color-error-100:var(--color-red-100);--color-error-500:var(--color-red-500);--color-error-600:var(--color-red-600);--color-error-700:var(--color-red-700);--color-error-800:var(--color-red-800);--animate-shimmer:shimmer 2s ease-in-out infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-1\.5{inset:calc(var(--spacing)*-1.5)}.-inset-2{inset:calc(var(--spacing)*-2)}.inset-0{inset:calc(var(--spacing)*0)}.inset-2{inset:calc(var(--spacing)*2)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-6{top:calc(var(--spacing)*6)}.top-8{top:calc(var(--spacing)*8)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-0\.5{right:calc(var(--spacing)*.5)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.-bottom-8{bottom:calc(var(--spacing)*-8)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.left-6{left:calc(var(--spacing)*6)}.-z-10{z-index:-10}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[100\]{z-index:100}.z-\[2000\]{z-index:2000}.z-\[2100\]{z-index:2100}.z-\[2200\]{z-index:2200}.z-\[9999\]{z-index:9999}.z-\[99999\]{z-index:99999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.-mt-1{margin-top:calc(var(--spacing)*-1)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.mr-0\.5{margin-right:calc(var(--spacing)*.5)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-\[5px\]{margin-right:5px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-6\.5{margin-left:calc(var(--spacing)*6.5)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-0{height:calc(var(--spacing)*0)}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-full{height:100%}.h-px{height:1px}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-52{max-height:calc(var(--spacing)*52)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[500px\]{max-height:500px}.max-h-\[600px\]{max-height:600px}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[44px\]{min-height:44px}.min-h-\[50vh\]{min-height:50vh}.min-h-\[60px\]{min-height:60px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[120px\]{min-height:120px}.min-h-\[300px\]{min-height:300px}.min-h-\[500px\]{min-height:500px}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-48{width:calc(var(--spacing)*48)}.w-60{width:calc(var(--spacing)*60)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-\[calc\(100\%\+3rem\)\]{width:calc(100% + 3rem)}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[90vw\]{max-width:90vw}.max-w-\[120px\]{max-width:120px}.max-w-\[160px\]{max-width:160px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[1\.5rem\]{min-width:1.5rem}.min-w-\[120px\]{min-width:120px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.flex-1{flex:1}.flex-\[2\]{flex:2}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\/4{--tw-translate-x: -25% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/3{--tw-translate-x:calc(1/3*100%);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-1\/2{--tw-translate-y: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.resize-y{resize:vertical}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.\[appearance\:textfield\]{appearance:textfield}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-warning-100>:not(:last-child)){border-color:var(--color-warning-100)}.self-center{align-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-b-2xl{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-4{border-top-style:var(--tw-border-style);border-top-width:4px}.border-t-\[6px\]{border-top-style:var(--tw-border-style);border-top-width:6px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-r-\[6px\]{border-right-style:var(--tw-border-style);border-right-width:6px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-l-\[6px\]{border-left-style:var(--tw-border-style);border-left-width:6px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-error-100{border-color:var(--color-error-100)}.border-error-500{border-color:var(--color-error-500)}.border-error-800{border-color:var(--color-error-800)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/50{border-color:#e5e7eb80}@supports (color:color-mix(in lab,red,red)){.border-gray-200\/50{border-color:color-mix(in oklab,var(--color-gray-200)50%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-600{border-color:var(--color-gray-600)}.border-primary-100{border-color:var(--color-primary-100)}.border-primary-200{border-color:var(--color-primary-200)}.border-primary-300{border-color:var(--color-primary-300)}.border-primary-400{border-color:var(--color-primary-400)}.border-primary-500{border-color:var(--color-primary-500)}.border-primary-600{border-color:var(--color-primary-600)}.border-secondary-100{border-color:var(--color-secondary-100)}.border-secondary-200{border-color:var(--color-secondary-200)}.border-secondary-500{border-color:var(--color-secondary-500)}.border-secondary-600{border-color:var(--color-secondary-600)}.border-success-100{border-color:var(--color-success-100)}.border-success-500{border-color:var(--color-success-500)}.border-transparent{border-color:#0000}.border-warning-100{border-color:var(--color-warning-100)}.border-warning-500{border-color:var(--color-warning-500)}.border-warning-600{border-color:var(--color-warning-600)}.border-warning-700{border-color:var(--color-warning-700)}.border-white{border-color:var(--color-white)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.border-white\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\/40{border-color:color-mix(in oklab,var(--color-white)40%,transparent)}}.border-t-gray-200{border-top-color:var(--color-gray-200)}.border-t-gray-900{border-top-color:var(--color-gray-900)}.border-t-transparent{border-top-color:#0000}.border-b-gray-900{border-bottom-color:var(--color-gray-900)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-black{background-color:var(--color-black)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-error-50{background-color:var(--color-error-50)}.bg-error-100{background-color:var(--color-error-100)}.bg-error-500{background-color:var(--color-error-500)}.bg-error-600{background-color:var(--color-error-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-50\/80{background-color:#f9fafbcc}@supports (color:color-mix(in lab,red,red)){.bg-gray-50\/80{background-color:color-mix(in oklab,var(--color-gray-50)80%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-50\/50{background-color:#faf5ff80}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\/50{background-color:color-mix(in oklab,var(--color-primary-50)50%,transparent)}}.bg-primary-100{background-color:var(--color-primary-100)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-primary-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-primary-500\/20{background-color:color-mix(in oklab,var(--color-primary-500)20%,transparent)}}.bg-primary-600{background-color:var(--color-primary-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-secondary-50{background-color:var(--color-secondary-50)}.bg-secondary-100{background-color:var(--color-secondary-100)}.bg-secondary-100\/90{background-color:#dbeafee6}@supports (color:color-mix(in lab,red,red)){.bg-secondary-100\/90{background-color:color-mix(in oklab,var(--color-secondary-100)90%,transparent)}}.bg-secondary-200{background-color:var(--color-secondary-200)}.bg-secondary-500{background-color:var(--color-secondary-500)}.bg-secondary-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-secondary-500\/20{background-color:color-mix(in oklab,var(--color-secondary-500)20%,transparent)}}.bg-secondary-600{background-color:var(--color-secondary-600)}.bg-success-50{background-color:var(--color-success-50)}.bg-success-50\/50{background-color:#f0fdf480}@supports (color:color-mix(in lab,red,red)){.bg-success-50\/50{background-color:color-mix(in oklab,var(--color-success-50)50%,transparent)}}.bg-success-100{background-color:var(--color-success-100)}.bg-success-500{background-color:var(--color-success-500)}.bg-success-600{background-color:var(--color-success-600)}.bg-transparent{background-color:#0000}.bg-violet-600{background-color:var(--color-violet-600)}.bg-warning-50{background-color:var(--color-warning-50)}.bg-warning-100{background-color:var(--color-warning-100)}.bg-warning-100\/50{background-color:#fef3c680}@supports (color:color-mix(in lab,red,red)){.bg-warning-100\/50{background-color:color-mix(in oklab,var(--color-warning-100)50%,transparent)}}.bg-warning-500{background-color:var(--color-warning-500)}.bg-warning-600{background-color:var(--color-warning-600)}.bg-warning-800{background-color:var(--color-warning-800)}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.bg-white\/25{background-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-white\/30{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-error-500{--tw-gradient-from:var(--color-error-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-400{--tw-gradient-from:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-50{--tw-gradient-from:var(--color-primary-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-100{--tw-gradient-from:var(--color-primary-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-500{--tw-gradient-from:var(--color-primary-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-600{--tw-gradient-from:var(--color-primary-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-secondary-50{--tw-gradient-from:var(--color-secondary-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-secondary-500{--tw-gradient-from:var(--color-secondary-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-secondary-600{--tw-gradient-from:var(--color-secondary-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-success-50{--tw-gradient-from:var(--color-success-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-success-500{--tw-gradient-from:var(--color-success-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-primary-900{--tw-gradient-via:var(--color-primary-900);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-secondary-50{--tw-gradient-via:var(--color-secondary-50);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-secondary-500{--tw-gradient-via:var(--color-secondary-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-success-600{--tw-gradient-via:var(--color-success-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-warning-500{--tw-gradient-via:var(--color-warning-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white{--tw-gradient-via:var(--color-white);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/20{--tw-gradient-via:#fff3}@supports (color:color-mix(in lab,red,red)){.via-white\/20{--tw-gradient-via:color-mix(in oklab,var(--color-white)20%,transparent)}}.via-white\/20{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-white\/30{--tw-gradient-via:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.via-white\/30{--tw-gradient-via:color-mix(in oklab,var(--color-white)30%,transparent)}}.via-white\/30{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-error-500{--tw-gradient-to:var(--color-error-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-error-600{--tw-gradient-to:var(--color-error-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-500{--tw-gradient-to:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-primary-50{--tw-gradient-to:var(--color-primary-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-primary-500{--tw-gradient-to:var(--color-primary-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-primary-600{--tw-gradient-to:var(--color-primary-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary-50{--tw-gradient-to:var(--color-secondary-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary-100{--tw-gradient-to:var(--color-secondary-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary-500{--tw-gradient-to:var(--color-secondary-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary-600{--tw-gradient-to:var(--color-secondary-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-secondary-900{--tw-gradient-to:var(--color-secondary-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-success-500{--tw-gradient-to:var(--color-success-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-success-600{--tw-gradient-to:var(--color-success-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-warning-500{--tw-gradient-to:var(--color-warning-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-1\.5{padding-top:calc(var(--spacing)*1.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-12{padding-right:calc(var(--spacing)*12)}.pr-36{padding-right:calc(var(--spacing)*36)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-12{padding-bottom:calc(var(--spacing)*12)}.pb-20{padding-bottom:calc(var(--spacing)*20)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-6{padding-left:calc(var(--spacing)*6)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13\.5px\]{font-size:13.5px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-error-500{color:var(--color-error-500)}.text-error-600{color:var(--color-error-600)}.text-error-700{color:var(--color-error-700)}.text-error-800{color:var(--color-error-800)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-700{color:var(--color-green-700)}.text-primary-100{color:var(--color-primary-100)}.text-primary-200{color:var(--color-primary-200)}.text-primary-400{color:var(--color-primary-400)}.text-primary-500{color:var(--color-primary-500)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-primary-800{color:var(--color-primary-800)}.text-primary-900{color:var(--color-primary-900)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-secondary-500{color:var(--color-secondary-500)}.text-secondary-600{color:var(--color-secondary-600)}.text-secondary-700{color:var(--color-secondary-700)}.text-secondary-900{color:var(--color-secondary-900)}.text-success-500{color:var(--color-success-500)}.text-success-600{color:var(--color-success-600)}.text-success-700{color:var(--color-success-700)}.text-success-800{color:var(--color-success-800)}.text-transparent{color:#0000}.text-violet-600{color:var(--color-violet-600)}.text-warning-500{color:var(--color-warning-500)}.text-warning-600{color:var(--color-warning-600)}.text-warning-700{color:var(--color-warning-700)}.text-warning-800{color:var(--color-warning-800)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-white\/95{color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.text-white\/95{color:color-mix(in oklab,var(--color-white)95%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.accent-primary-500{accent-color:var(--color-primary-500)}.accent-warning-600{accent-color:var(--color-warning-600)}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-3{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-warning-500\/30{--tw-shadow-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.shadow-warning-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-warning-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-primary-200{--tw-ring-color:var(--color-primary-200)}.ring-primary-300{--tw-ring-color:var(--color-primary-300)}.ring-primary-400{--tw-ring-color:var(--color-primary-400)}.ring-white\/20{--tw-ring-color:#fff3}@supports (color:color-mix(in lab,red,red)){.ring-white\/20{--tw-ring-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-lg{--tw-blur:blur(var(--blur-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-xl{--tw-blur:blur(var(--blur-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow-lg{--tw-drop-shadow-size:drop-shadow(0 4px 4px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:text-secondary-600:is(:where(.group):hover *){color:var(--color-secondary-600)}.group-hover\:opacity-60:is(:where(.group):hover *){opacity:.6}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/student\:opacity-70:is(:where(.group\/student):hover *){opacity:.7}}.placeholder\:text-gray-100::placeholder{color:var(--color-gray-100)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing)*0)}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:border-primary-200:hover{border-color:var(--color-primary-200)}.hover\:border-primary-300:hover{border-color:var(--color-primary-300)}.hover\:border-primary-400:hover{border-color:var(--color-primary-400)}.hover\:border-secondary-200:hover{border-color:var(--color-secondary-200)}.hover\:border-success-500:hover{border-color:var(--color-success-500)}.hover\:bg-black\/60:hover{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.hover\:bg-black\/60:hover{background-color:color-mix(in oklab,var(--color-black)60%,transparent)}}.hover\:bg-error-100:hover{background-color:var(--color-error-100)}.hover\:bg-error-500:hover{background-color:var(--color-error-500)}.hover\:bg-error-600:hover{background-color:var(--color-error-600)}.hover\:bg-error-700:hover{background-color:var(--color-error-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-gray-600:hover{background-color:var(--color-gray-600)}.hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-primary-50:hover{background-color:var(--color-primary-50)}.hover\:bg-primary-50\/30:hover{background-color:#faf5ff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary-50\/30:hover{background-color:color-mix(in oklab,var(--color-primary-50)30%,transparent)}}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\:bg-primary-500:hover{background-color:var(--color-primary-500)}.hover\:bg-primary-700:hover{background-color:var(--color-primary-700)}.hover\:bg-secondary-50:hover{background-color:var(--color-secondary-50)}.hover\:bg-secondary-50\/30:hover{background-color:#eff6ff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary-50\/30:hover{background-color:color-mix(in oklab,var(--color-secondary-50)30%,transparent)}}.hover\:bg-secondary-100:hover{background-color:var(--color-secondary-100)}.hover\:bg-secondary-500:hover{background-color:var(--color-secondary-500)}.hover\:bg-secondary-600:hover{background-color:var(--color-secondary-600)}.hover\:bg-secondary-700:hover{background-color:var(--color-secondary-700)}.hover\:bg-success-50:hover{background-color:var(--color-success-50)}.hover\:bg-success-100:hover{background-color:var(--color-success-100)}.hover\:bg-success-600:hover{background-color:var(--color-success-600)}.hover\:bg-success-700:hover{background-color:var(--color-success-700)}.hover\:bg-warning-50:hover{background-color:var(--color-warning-50)}.hover\:bg-warning-100:hover{background-color:var(--color-warning-100)}.hover\:bg-warning-500:hover{background-color:var(--color-warning-500)}.hover\:bg-warning-600:hover{background-color:var(--color-warning-600)}.hover\:bg-warning-700:hover{background-color:var(--color-warning-700)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:bg-white\/50:hover{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/50:hover{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.hover\:from-error-600:hover{--tw-gradient-from:var(--color-error-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-primary-600:hover{--tw-gradient-from:var(--color-primary-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-primary-700:hover{--tw-gradient-from:var(--color-primary-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-success-600:hover{--tw-gradient-from:var(--color-success-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:via-error-700:hover{--tw-gradient-via:var(--color-error-700);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.hover\:to-error-600:hover{--tw-gradient-to:var(--color-error-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-error-700:hover{--tw-gradient-to:var(--color-error-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-secondary-600:hover{--tw-gradient-to:var(--color-secondary-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-secondary-700:hover{--tw-gradient-to:var(--color-secondary-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-success-700:hover{--tw-gradient-to:var(--color-success-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-error-600:hover{color:var(--color-error-600)}.hover\:text-error-700:hover{color:var(--color-error-700)}.hover\:text-error-800:hover{color:var(--color-error-800)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:text-primary-800:hover{color:var(--color-primary-800)}.hover\:text-primary-900:hover{color:var(--color-primary-900)}.hover\:text-secondary-500:hover{color:var(--color-secondary-500)}.hover\:text-secondary-600:hover{color:var(--color-secondary-600)}.hover\:text-secondary-700:hover{color:var(--color-secondary-700)}.hover\:text-secondary-900:hover{color:var(--color-secondary-900)}.hover\:text-success-800:hover{color:var(--color-success-800)}.hover\:text-warning-800:hover{color:var(--color-warning-800)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:\!opacity-100:hover{opacity:1!important}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:ring-2:hover{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:ring-primary-300:hover{--tw-ring-color:var(--color-primary-300)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\:border-error-500:focus{border-color:var(--color-error-500)}.focus\:border-error-600:focus{border-color:var(--color-error-600)}.focus\:border-primary-500:focus{border-color:var(--color-primary-500)}.focus\:border-primary-600:focus{border-color:var(--color-primary-600)}.focus\:border-secondary-500:focus{border-color:var(--color-secondary-500)}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary-200:focus{--tw-ring-color:var(--color-primary-200)}.focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.focus\:ring-secondary-200:focus{--tw-ring-color:var(--color-secondary-200)}.focus\:ring-secondary-500:focus{--tw-ring-color:var(--color-secondary-500)}.focus\:ring-success-500:focus{--tw-ring-color:var(--color-success-500)}.focus\:ring-warning-500:focus{--tw-ring-color:var(--color-warning-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-error-500:focus-visible{--tw-ring-color:var(--color-error-500)}.focus-visible\:ring-gray-300:focus-visible{--tw-ring-color:var(--color-gray-300)}.focus-visible\:ring-primary-200:focus-visible{--tw-ring-color:var(--color-primary-200)}.focus-visible\:ring-secondary-200:focus-visible{--tw-ring-color:var(--color-secondary-200)}.focus-visible\:ring-success-500:focus-visible{--tw-ring-color:var(--color-success-500)}.focus-visible\:ring-warning-500:focus-visible{--tw-ring-color:var(--color-warning-500)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:scale-100:disabled{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:bg-gray-50:disabled{background-color:var(--color-gray-50)}.disabled\:bg-gray-100:disabled{background-color:var(--color-gray-100)}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:bg-primary-300:disabled{background-color:var(--color-primary-300)}.disabled\:bg-primary-800:disabled{background-color:var(--color-primary-800)}.disabled\:from-gray-300:disabled{--tw-gradient-from:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.disabled\:to-gray-300:disabled{--tw-gradient-to:var(--color-gray-300);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.disabled\:text-gray-400:disabled{color:var(--color-gray-400)}.disabled\:text-gray-500:disabled{color:var(--color-gray-500)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-70:disabled{opacity:.7}@media(min-width:40rem){.sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.sm\:mb-6{margin-bottom:calc(var(--spacing)*6)}.sm\:ml-8{margin-left:calc(var(--spacing)*8)}.sm\:inline{display:inline}.sm\:h-4{height:calc(var(--spacing)*4)}.sm\:h-5{height:calc(var(--spacing)*5)}.sm\:h-6{height:calc(var(--spacing)*6)}.sm\:h-8{height:calc(var(--spacing)*8)}.sm\:h-14{height:calc(var(--spacing)*14)}.sm\:h-16{height:calc(var(--spacing)*16)}.sm\:h-20{height:calc(var(--spacing)*20)}.sm\:w-6{width:calc(var(--spacing)*6)}.sm\:w-8{width:calc(var(--spacing)*8)}.sm\:w-14{width:calc(var(--spacing)*14)}.sm\:w-16{width:calc(var(--spacing)*16)}.sm\:w-20{width:calc(var(--spacing)*20)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-2{gap:calc(var(--spacing)*2)}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:gap-4{gap:calc(var(--spacing)*4)}:where(.sm\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.sm\:rounded-2xl{border-radius:var(--radius-2xl)}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:p-8{padding:calc(var(--spacing)*8)}.sm\:px-3{padding-inline:calc(var(--spacing)*3)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:py-16{padding-block:calc(var(--spacing)*16)}.sm\:pt-4{padding-top:calc(var(--spacing)*4)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.sm\:ring-4{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-8xl{font-size:var(--text-8xl);line-height:var(--tw-leading,var(--text-8xl--line-height))}}@media(min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button{appearance:none}.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{appearance:none}.\[\&\:hover\>\.error-tooltip\]\:visible:hover>.error-tooltip{visibility:visible}.\[\&\:hover\>\.error-tooltip\]\:opacity-100:hover>.error-tooltip{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.shimmer-bar{animation:var(--animate-shimmer);background:linear-gradient(90deg,#0000,#ffffff59,#0000)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}
