html,body{height:100%;margin:0}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--slate:#1e2a28;--slate-deep:#15201e;--chalk:#f3efe4;--chalk-dim:#b7b09f;--dust:#c8b48a;--ink-line:#f3efe424;--accent:#7ec8b0;--warn:#e0b36a;--danger:#e08a7a;--border:#f3efe424;font-family:Sora,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--slate-deep);height:100%;color:var(--chalk);touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;overflow:hidden}.app{grid-template-rows:1fr;height:100%;min-height:0;display:grid;position:relative}.stage{background:radial-gradient(1200px 700px at 20% 10%,#7ec8b012,#0000 55%),radial-gradient(900px 600px at 90% 80%,#c8b48a0f,#0000 50%),linear-gradient(#243330 0%,#1a2624 55%,#15201e 100%);height:100%;min-height:0;position:relative;overflow:hidden}.stage:before{content:"";pointer-events:none;opacity:.22;mix-blend-mode:soft-light;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:absolute;inset:0}.board-wrap{z-index:1;position:absolute;inset:0}.board-wrap.hidden-for-solve{visibility:hidden;pointer-events:none}.board{touch-action:none;cursor:crosshair;background:0 0;width:100%;height:100%;display:block}.board-header{z-index:8;pointer-events:none;flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex;position:absolute;top:18px;left:78px;right:16px}.board-header>*{pointer-events:auto}.board-brand{pointer-events:none;flex-wrap:wrap;align-items:baseline;gap:12px;display:flex;position:static}.board-brand>*{pointer-events:auto}.board-header-utils{flex:none;align-items:center;gap:10px;display:flex}.zoom-dock-mobile{display:none}.chrome-mobile-only{display:none!important}.board-brand-mark{letter-spacing:-.02em;color:var(--chalk);text-shadow:0 2px 18px #00000059;font-family:Fraunces,Georgia,serif;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600}.board-brand-img{object-fit:contain;filter:drop-shadow(0 2px 10px #00000059);-webkit-user-select:none;user-select:none;pointer-events:none;width:auto;max-width:min(220px,42vw);height:clamp(28px,3.2vw,40px);display:block}.board-brand-img-full{display:block}.board-brand:has(.board-brand-img-full) .board-brand-mark{display:none}.board-brand-img-small{display:none}.board-brand-icon{color:var(--chalk);flex-shrink:0;line-height:0;display:none}.board-brand-svg{filter:drop-shadow(0 2px 10px #00000059);display:block}.pace-pill{color:var(--dust);opacity:.9;font-family:Caveat,cursive;font-size:1.25rem;animation:.45s both pace-in}.user-pill{color:var(--accent);opacity:.85;font-family:Caveat,cursive;font-size:1.2rem}.user-menu-anchor{display:inline-flex;position:relative}.user-pill-btn{appearance:none;cursor:pointer;font:inherit;line-height:inherit;background:0 0;border:none;padding:0}.user-pill-btn:hover,.user-pill-btn[aria-expanded=true]{opacity:1;color:var(--chalk)}.user-menu-popover{border:1px solid var(--border);z-index:12;background:#0e1412f5;border-radius:12px;min-width:148px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000073}.user-menu-item{appearance:none;width:100%;color:var(--chalk);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 10px;font-size:.9rem;display:block}.user-menu-item:hover{color:var(--accent);background:#7ec8b01f}.board-watermark{right:max(14px, env(safe-area-inset-right,0px));bottom:max(8px, env(safe-area-inset-bottom,0px));z-index:2;letter-spacing:.05em;text-transform:uppercase;color:var(--chalk-dim);opacity:.32;pointer-events:none;margin:0;font-size:.62rem;position:fixed}.board-watermark a{pointer-events:auto;color:inherit;text-decoration:none}.board-watermark a:hover{opacity:1;color:var(--dust)}.contact-panel-body{border-top:none;margin-top:0;padding-top:0}.contact-panel-lead{color:var(--chalk-dim);margin:0 0 14px;font-size:.95rem;line-height:1.45}.contact-panel-details{gap:12px;margin:0;display:grid}.contact-panel-details dt{letter-spacing:.06em;text-transform:uppercase;color:var(--dust);margin:0 0 2px;font-size:.75rem}.contact-panel-details dd{color:var(--chalk);margin:0;font-size:1rem}.contact-email{border:1px solid var(--border);-webkit-user-select:all;user-select:all;background:#ffffff0d;border-radius:8px;padding:4px 8px;font-family:ui-monospace,Cascadia Code,monospace;font-size:.92rem;display:inline-block}.contact-panel-details a{color:var(--accent);text-decoration:none}.contact-panel-details a:hover{text-decoration:underline}.contact-panel-note{margin-top:14px;margin-bottom:0}@keyframes pace-in{0%{opacity:0;transform:translateY(6px)}to{opacity:.9;transform:none}}.board-whisper{z-index:8;max-width:min(520px,70vw);color:var(--chalk-dim);pointer-events:none;margin:0;font-family:Caveat,cursive;font-size:1.35rem;animation:.5s both whisper-in;position:absolute;bottom:18px;left:78px}.board-whisper .katex,.board-whisper .katex *{color:inherit;font-family:KaTeX_Main,Times New Roman,serif!important}.board-whisper-above-problem{bottom:78px}.challenge-problem-strip{z-index:8;pointer-events:none;background:#0c1210e0;border:1px solid #7ec8b047;border-radius:14px;align-items:baseline;gap:10px;max-width:min(560px,100% - 110px);padding:8px 14px;animation:.45s both whisper-in;display:flex;position:absolute;bottom:18px;left:78px;box-shadow:0 10px 28px #00000059}.challenge-problem-scene{bottom:86px}.challenge-problem-kicker{letter-spacing:.08em;text-transform:uppercase;color:#7ec8b0e6;flex:none;font-family:Sora,sans-serif;font-size:.68rem}.challenge-problem-math{color:var(--chalk);min-width:0;margin:0;font-family:Caveat,cursive;font-size:1.35rem;line-height:1.35}.challenge-problem-math .katex,.challenge-problem-math .katex *{color:inherit;font-size:1.15em;font-family:KaTeX_Main,Times New Roman,serif!important}.challenge-problem-math.math-fallback{letter-spacing:.01em;font-family:Sora,system-ui,sans-serif;font-size:1.05rem}.board-whisper-bar{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:8px;max-width:min(560px,100% - 110px);display:flex}.whisper-btn{appearance:none;border:1px solid var(--border);color:var(--chalk-dim);cursor:pointer;background:#f3efe414;border-radius:999px;padding:4px 12px;font-family:Sora,sans-serif;font-size:.75rem}.whisper-btn-go{color:var(--warn);border-color:#e0b36a8c}.whisper-btn:hover{border-color:var(--accent);color:var(--accent)}.rail-btn-3d.has-hint{box-shadow:0 0 0 2px #e0b36a73}.board-whisper-scene{max-width:min(720px,100% - 110px);bottom:86px}.scene-motion-bar{z-index:9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);scrollbar-width:none;background:#0f1614b8;border:1px solid #d7e59a47;border-radius:18px;flex-wrap:nowrap;align-items:center;gap:6px;padding:8px 10px;display:flex;position:absolute;bottom:14px;left:78px;right:18px;overflow-x:auto}.scene-motion-bar::-webkit-scrollbar{display:none}.scene-motion-btn{appearance:none;border:1px solid var(--border);color:var(--chalk-dim);cursor:pointer;letter-spacing:.02em;white-space:nowrap;background:#f3efe40f;border-radius:999px;flex:none;padding:7px 12px;font-family:Sora,sans-serif;font-size:.72rem}.scene-motion-btn:hover{color:#e8f3b8;border-color:#d7e59a8c}.scene-motion-btn.active,.scene-motion-btn.armed{color:#eef6c4;background:#d7e59a2e;border-color:#d7e59ab3}.scene-motion-btn.scene-motion-go{color:var(--warn);border-color:#e0b36a8c}.scene-motion-btn.scene-motion-stop{color:var(--danger);border-color:#e08a7a8c}.scene-motion-btn.scene-motion-icon{border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.scene-motion-btn.scene-motion-icon svg{display:block}.scene-motion-btn.scene-motion-clear{color:var(--chalk-dim)}.scene-motion-btn.scene-motion-clear:hover{color:var(--danger);border-color:#e08a7a73}.scene-motion-gap{flex:1 0 8px;min-width:8px}.ink-rail{z-index:8;border:1px solid var(--ink-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f161473;border-radius:999px;flex-direction:column;gap:8px;padding:10px 8px;display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.rail-gap{height:10px}.rail-btn{appearance:none;color:var(--chalk);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:46px;height:46px;transition:color .2s,background .2s,transform .2s;display:grid;position:relative}.rail-btn:hover{color:var(--chalk);background:#f3efe40f}.rail-btn.active{color:var(--slate-deep);background:var(--accent);transform:scale(1.06)}.mode3d-pill{color:#9fd6ff;background:#6ec6ff2e;border-color:#6ec6ff59}.scene-pill{color:#d7e59a;background:#c4d66e2e;border-color:#c4d66e66}.challenge-pill{color:#9fd9c4;background:#7ec8b029;border-color:#7ec8b066}.challenge-pill.solved{color:#c8f0df;background:#7ec8b047;animation:1.4s ease-out both challenge-pill-cheer}@keyframes challenge-pill-cheer{0%{transform:scale(.92);box-shadow:0 0 #7ec8b073}40%{transform:scale(1.06);box-shadow:0 0 0 10px #7ec8b000}to{transform:scale(1);box-shadow:0 0 #7ec8b000}}.rail-btn-3d{color:#7eb8d4}.rail-btn-3d.active{color:#061018;background:linear-gradient(145deg,#8fd4f0,#5aa8c8);box-shadow:0 0 16px #64c8f059}.rail-btn-scene{color:#c5d87a}.rail-btn-scene .rail-scene{display:block}.rail-btn-scene.active{color:#12180a;background:linear-gradient(145deg,#e4f0a8,#b7c86a);box-shadow:0 0 16px #c8dc644d}.rail-btn-3d .rail-cube{display:block}.rail-btn-3d.is-settle:after,.rail-btn-3d.is-thinking:after{content:"";pointer-events:none;border:1.5px solid #8cdcff8c;border-radius:50%;animation:1.2s ease-out infinite holo-btn-pulse;position:absolute;inset:-4px}.rail-btn-3d.is-thinking:after{border-color:#a0ebffd9;animation-duration:.7s}@keyframes holo-btn-pulse{0%{opacity:.9;transform:scale(.92)}to{opacity:0;transform:scale(1.35)}}.holo-wait{z-index:14;pointer-events:none;color:#9fd6ff;filter:drop-shadow(0 0 12px #50bef059);width:88px;height:88px;position:absolute;bottom:28px;right:28px}.holo-wait-ring,.holo-wait-ring-2{border:1.5px solid #78d2ff59;border-radius:50%;animation:2.4s linear infinite holo-orbit;position:absolute;inset:0}.holo-wait-ring-2{border-color:#78d2ff38;animation-duration:1.6s;animation-direction:reverse;inset:10px}.holo-wait-core{place-items:center;animation:2s ease-in-out infinite holo-float;display:grid;position:absolute;inset:0}.holo-wait-scan{background:linear-gradient(90deg,#0000,#a0ebffd9,#0000);border-radius:2px;height:2px;animation:1.4s ease-in-out infinite holo-scan;position:absolute;top:20%;left:14px;right:14px}.holo-wait-settle .holo-wait-ring{animation:2s linear forwards holo-settle-ring}.holo-wait-thinking .holo-wait-core{animation:2.8s linear infinite holo-spin-soft}.holo-wait-thinking .holo-wait-scan{animation-duration:.85s}@keyframes holo-orbit{to{transform:rotate(360deg)}}@keyframes holo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes holo-scan{0%{opacity:.2;top:18%}50%{opacity:1}to{opacity:.2;top:72%}}@keyframes holo-settle-ring{0%{opacity:.2;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes holo-spin-soft{to{transform:rotateY(360deg)}}.rail-glyph{font-size:1.1rem;line-height:1}.rail-icon{display:block}.rail-label{white-space:nowrap;letter-spacing:.08em;text-transform:uppercase;opacity:0;pointer-events:none;color:var(--chalk-dim);font-size:.72rem;transition:opacity .2s,transform .2s;position:absolute;left:54px;transform:translate(-4px)}.rail-btn:hover .rail-label,.rail-btn:focus-visible .rail-label{opacity:1;transform:none}.board-top-chrome{z-index:12;pointer-events:none;flex-flow:wrap;flex:none;justify-content:flex-end;align-items:center;gap:10px;max-width:calc(100vw - 32px);margin-left:auto;display:flex;position:static}.board-top-chrome>*{pointer-events:auto}.corner-marks{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.mark-btn.input-mode-btn{letter-spacing:.04em;text-transform:uppercase;width:auto;min-width:72px;color:var(--chalk-dim);border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:.72rem;display:inline-flex}.mark-btn.input-mode-btn .input-mode-glyph{place-items:center;line-height:0;display:grid}.mark-btn.input-mode-btn .input-mode-icon{width:15px;height:15px;display:block}.mark-btn.input-mode-btn .input-mode-label{font-weight:650}.mark-btn.input-mode-btn.is-active{color:#9fd6c8;background:#9fd6c81a;border-color:#9fd6c859}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.zoom-dock{border:1px solid var(--ink-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f161473;border-radius:999px;flex-shrink:0;align-items:center;gap:2px;padding:4px;display:flex}.zoom-btn{appearance:none;color:var(--chalk-dim);cursor:pointer;background:0 0;border:0;border-radius:50%;min-width:36px;height:36px;font-family:inherit;font-size:1.15rem;line-height:1;transition:color .2s,background .2s}.zoom-btn:hover:not(:disabled){color:var(--chalk);background:#f3efe40f}.zoom-btn:disabled{opacity:.4;cursor:default}.zoom-btn.zoom-fit{letter-spacing:.02em;min-width:52px;color:var(--chalk);border-radius:999px;font-size:.78rem}.rail-btn-photo{color:#c9b896}.rail-btn-photo .rail-photo{display:block}.mark-btn{appearance:none;color:var(--chalk-dim);cursor:pointer;background:#0e141259;border:1px solid #0000;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.05rem;transition:color .2s,border-color .2s,background .2s;display:inline-grid}.mark-icon{pointer-events:none;display:block}.zoom-btn .mark-icon{width:16px;height:16px}.mark-btn:hover{color:var(--chalk);border-color:var(--ink-line);background:#00000059}.selection-orb{z-index:9;pointer-events:auto;width:56px;height:56px;position:absolute}.orb-core{appearance:none;cursor:grab;touch-action:none;z-index:2;width:56px;height:56px;color:var(--slate-deep);background:radial-gradient(circle at 30% 25%,#f7f1df,#d9c49a 70%);border:0;border-radius:50%;transition:transform .25s;position:relative;box-shadow:0 10px 28px #00000059,inset 0 1px #ffffff59}.selection-orb.is-dragging .orb-core{cursor:grabbing;transition:transform 80ms;transform:scale(1.04)}.selection-orb.is-dragging .orb-core:hover{transform:scale(1.04)}.selection-orb.is-dragging .orb-gear{animation:none}.orb-core:hover{transform:scale(1.05)}.orb-gear{place-items:center;animation:8s linear infinite gear-idle;display:grid}.selection-orb.is-open .orb-gear{animation:1.1s both gear-spin}@keyframes gear-idle{to{transform:rotate(360deg)}}@keyframes gear-spin{0%{transform:rotate(0)scale(.9)}to{transform:rotate(180deg)scale(1)}}.orb-pulse{pointer-events:none;border:1px solid #d9c49a8c;border-radius:50%;animation:2.2s ease-out infinite pulse-ring;position:absolute;inset:-6px}@keyframes pulse-ring{0%{opacity:.7;transform:scale(.92)}to{opacity:0;transform:scale(1.35)}}.orb-petal{appearance:none;width:68px;height:68px;color:var(--chalk);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .28s ease var(--delay,0s), transform .35s cubic-bezier(.2, .9, .2, 1.1) var(--delay,0s);z-index:1;background:#121c1aeb;border:1px solid #f3efe42e;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:-34px 0 0 -34px;padding:4px;display:flex;position:absolute;top:50%;left:50%;transform:translate(0)scale(.4)}.selection-orb.is-open .orb-petal{opacity:1;transform:translate(var(--tx), var(--ty)) scale(1);pointer-events:auto}.orb-petal:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.orb-petal.active{border-color:var(--accent);color:var(--accent);background:#7ec8b033}.orb-petal.accent-challenge,.orb-sheet-btn.accent-challenge{color:#9fd9c4;border-color:#7ec8b073}.orb-petal.accent-check,.orb-sheet-btn.accent-check{color:#d7e59a;border-color:#c4d66e80}.selection-orb.is-challenge .orb-core{color:#9fd9c4;box-shadow:0 0 0 1px #7ec8b059}.orb-petal:disabled{opacity:.35;cursor:not-allowed}.orb-petal-label{font-family:Caveat,cursive;font-size:1.2rem;line-height:1}.orb-petal-job{letter-spacing:.04em;text-transform:uppercase;opacity:.72;text-align:center;max-width:58px;font-family:"Source Sans 3",system-ui,sans-serif;font-size:.58rem;line-height:1.1}.orb-legend{width:max-content;max-width:min(280px,70vw);color:var(--chalk-dim);text-align:center;pointer-events:none;z-index:2;opacity:0;background:#0a100ed1;border:1px solid #f3efe41f;border-radius:999px;margin:0;padding:6px 10px;font-family:Caveat,cursive;font-size:1.05rem;line-height:1.25;animation:.35s .15s both whisper-in;position:absolute;top:118px;left:50%;transform:translate(-50%)}.selection-orb.is-open .orb-legend{opacity:1}.challenge-frame-flash{z-index:8;pointer-events:none;box-sizing:border-box;border-radius:16px;place-items:center;animation:1.55s cubic-bezier(.2,.85,.25,1) both challenge-flash;display:grid;position:absolute;overflow:visible}.challenge-frame-flash.is-ok{background:#7ec8b01a;border:2px solid #7ec8b0f2;box-shadow:0 0 0 1px #7ec8b040,0 0 32px #7ec8b066}.challenge-frame-flash.is-off{background:#e0b36a14;border:2px solid #e0b36af2;box-shadow:0 0 0 1px #e0b36a33,0 0 28px #e0b36a52}.challenge-frame-flash.is-unclear{background:#f3efe40a;border:2px dashed #b7b09fd9}.challenge-frame-flash.is-solved{background:#7ec8b024;animation:2.2s cubic-bezier(.2,.85,.25,1) both challenge-flash-solved;box-shadow:0 0 0 1px #7ec8b066,0 0 56px #7ec8b08c}.challenge-flash-burst{pointer-events:none;background:radial-gradient(circle,#7ec8b059 0%,#0000 68%);border-radius:50%;animation:1.1s ease-out both challenge-burst;position:absolute;inset:-12%}.challenge-frame-flash.is-off .challenge-flash-burst{background:radial-gradient(circle,#e0b36a52 0%,#0000 68%)}.challenge-flash-ring{pointer-events:none;border:2px solid #a8e4cca6;border-radius:22px;animation:1.4s ease-out both challenge-ring-out;position:absolute;inset:-18%}.challenge-flash-spark{pointer-events:none;background:#c8f0df;border-radius:50%;animation:.85s cubic-bezier(.2,.9,.3,1) both challenge-spark;position:absolute;transform:translate(-50%,-50%)scale(0);box-shadow:0 0 8px #7ec8b0b3}.challenge-flash-spark.is-solved{background:#e8fff4;animation-duration:1.15s}.challenge-flash-check{z-index:2;color:#9fd9c4;filter:drop-shadow(0 2px 10px #00000059);animation:.7s cubic-bezier(.2,1.15,.3,1) both challenge-check-pop;position:absolute;top:10%;left:50%;transform:translate(-50%)}.challenge-flash-check.is-solved{color:#d4f5e6;animation-duration:.9s;top:6%}.challenge-check-ring{stroke-dasharray:120;stroke-dashoffset:120px;opacity:.85;animation:.55s ease-out 80ms both challenge-check-draw}.challenge-check-path{stroke-dasharray:48;stroke-dashoffset:48px;animation:.45s ease-out .28s both challenge-check-draw}.challenge-flash-stamp{z-index:1;color:#c8f0df;text-shadow:0 2px 12px #00000073;letter-spacing:.02em;margin-top:1.6rem;font-size:clamp(1.4rem,3vw,2.1rem);animation:.7s cubic-bezier(.2,1.2,.3,1) both challenge-stamp;position:relative}.challenge-frame-flash.is-solved .challenge-flash-stamp{color:#e8fff4;margin-top:2.2rem;font-size:clamp(1.7rem,3.6vw,2.5rem);animation:.9s cubic-bezier(.2,1.15,.3,1) both challenge-stamp-solved}.challenge-flash-stamp.is-warn{color:#f0d2a0;margin-top:0}.board-solved-cheer{z-index:7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.board-solved-wash{background:radial-gradient(70% 55% at 50% 42%,#7ec8b038 0%,#7ec8b00f 45%,#0000 72%);animation:2.1s ease-out both board-solved-wash;position:absolute;inset:0}.board-solved-pulse{border:1.5px solid #a8e4cc73;border-radius:50%;width:min(72vw,520px);height:min(52vh,360px);animation:1.6s ease-out both board-solved-pulse;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.board-solved-speck{left:var(--sx);top:var(--sy);width:5px;height:5px;animation:board-solved-speck 1.5s cubic-bezier(.2, .85, .25, 1) var(--delay) both;background:#c8f0df;border-radius:50%;margin:-2px;position:absolute;box-shadow:0 0 10px #7ec8b08c}@keyframes challenge-flash{0%{opacity:0;transform:scale(.94)}16%{opacity:1;transform:scale(1)}72%{opacity:1}to{opacity:0}}@keyframes challenge-flash-solved{0%{opacity:0;transform:scale(.9)}12%{opacity:1;transform:scale(1.02)}22%{transform:scale(1)}78%{opacity:1}to{opacity:0}}@keyframes challenge-burst{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.35)}}@keyframes challenge-ring-out{0%{opacity:.85;transform:scale(.92)}to{opacity:0;transform:scale(1.28)}}@keyframes challenge-spark{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}35%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}to{opacity:0;transform:translate(-50%,calc(-50% - 18px))scale(.35)}}@keyframes challenge-check-pop{0%{opacity:0;transform:translate(-50%)scale(.55)}55%{opacity:1;transform:translate(-50%)scale(1.08)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes challenge-check-draw{to{stroke-dashoffset:0}}@keyframes challenge-stamp{0%{opacity:0;transform:scale(1.45)rotate(-8deg)}55%{opacity:1;transform:scale(.96)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes challenge-stamp-solved{0%{opacity:0;transform:scale(1.6)rotate(-10deg)}45%{opacity:1;transform:scale(.94)rotate(3deg)}70%{transform:scale(1.04)rotate(-1deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes board-solved-wash{0%{opacity:0}18%{opacity:1}70%{opacity:.85}to{opacity:0}}@keyframes board-solved-pulse{0%{opacity:.7;transform:translate(-50%,-50%)scale(.55)}to{opacity:0;transform:translate(-50%,-50%)scale(1.35)}}@keyframes board-solved-speck{0%{opacity:0;transform:translateY(8px)scale(.3)}30%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(var(--drift,-24px)) scale(.4)}}.challenge-sheet{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.challenge-ruled{pointer-events:none;width:2400px;height:3200px;position:absolute;top:0;left:0}.challenge-rule-line{background:#f3efe41a;height:1px;position:absolute;left:72px;right:48px}.challenge-margin-rule{background:#e08c7a47;width:1px;position:absolute;top:-400px;bottom:-400px;left:56px}.challenge-margin-mark{place-items:center;width:28px;height:28px;animation:.55s cubic-bezier(.2,1.1,.3,1) both challenge-mark-in;display:grid;position:absolute}.challenge-margin-mark.is-live{animation:.55s cubic-bezier(.2,1.1,.3,1) both challenge-mark-in,1.2s ease-out challenge-mark-pulse}@keyframes challenge-mark-in{0%{opacity:0;transform:scale(.5)rotate(-20deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes challenge-mark-pulse{0%{filter:drop-shadow(0 0 #7ec8b000)}40%{filter:drop-shadow(0 0 10px #7ec8b0b3)}to{filter:drop-shadow(0 0 #7ec8b000)}}.challenge-seal{z-index:9;pointer-events:auto;appearance:none;cursor:pointer;background:0 0;border:0;place-items:center;width:56px;height:56px;animation:.45s cubic-bezier(.2,1.1,.3,1) both challenge-seal-in;display:grid;position:absolute}.challenge-seal-ring{border:1.5px solid #7ec8b08c;border-radius:50%;animation:1.8s ease-in-out infinite challenge-seal-ring;position:absolute;inset:4px}.challenge-seal-core{z-index:1;color:#9fd9c4;background:linear-gradient(145deg,#283834eb,#121c1af2);border:1px solid #7ec8b08c;border-radius:50%;place-items:center;width:36px;height:36px;font-size:1rem;transition:transform .2s,background .2s;display:grid;position:relative;box-shadow:0 6px 18px #00000059}.challenge-seal:hover .challenge-seal-core,.challenge-seal:focus-visible .challenge-seal-core{background:linear-gradient(145deg,#374e46f2,#182420fa);transform:scale(1.08)}.challenge-seal.is-busy .challenge-seal-core{opacity:.7}.challenge-seal.is-cheer .challenge-seal-core{color:#c8f0df;border-color:#7ec8b0e6;box-shadow:0 0 20px #7ec8b073}.challenge-seal.is-warn .challenge-seal-core{color:#f0d2a0;border-color:#e0b36ad9}.challenge-seal-label{color:#9fd9c4;white-space:nowrap;text-shadow:0 1px 6px #00000080;margin-top:2px;font-size:.95rem;position:absolute;top:100%;left:50%;transform:translate(-50%)}@keyframes challenge-seal-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes challenge-seal-ring{0%,to{opacity:.85;transform:scale(1)}50%{opacity:.35;transform:scale(1.12)}}.math-layer{pointer-events:none;z-index:2;position:absolute;inset:0}.math-chip{color:#fff;background:#0c1210e0;border:1px solid #7ec8b066;border-radius:12px;align-items:center;padding:8px 14px;display:flex;position:absolute;box-shadow:0 8px 24px #00000059}.math-chip-inner,.math-chip-inner .katex{color:#fff;font-size:1.3rem}.math-chip-inner.math-fallback,.math-fallback{word-break:break-word;font-size:1.05rem;color:#fff!important}.katex-error{color:inherit!important;background:0 0!important;border-bottom:none!important;text-decoration:none!important}.graph-overlay{border:1px solid var(--border);z-index:11;pointer-events:auto;background:#0e1412f0;border-radius:16px;width:min(680px,100% - 32px);padding:10px;position:absolute;top:64px;right:16px;box-shadow:0 16px 40px #0006}.holo-overlay{background:linear-gradient(160deg,#08121af5,#060c12f7);border:1px solid #50bee647;box-shadow:0 16px 40px #00000073,0 0 24px #3cb4e61f,inset 0 0 30px #288cb40f}.holo-canvas{border:1px solid #46b4dc2e;box-shadow:inset 0 0 40px #28a0c814}.shape-overlay .shape-dims{color:var(--chalk-dim);font-size:.92em}.shape-caption{color:var(--chalk-dim);margin:8px 6px 2px;font-size:1.05rem}.holo-overlay .shape-caption{color:#96d2ebc7}.sim-overlay{border:1px solid #e0b36a47}.sim-offer{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#0f1614d1;border:1px solid #e0b36a66;border-radius:999px;align-items:center;gap:8px;max-width:min(420px,100% - 110px);padding:6px 8px 6px 14px;animation:.4s both pace-in;display:flex;position:absolute;box-shadow:0 8px 24px #00000059}.sim-offer-dock{inset:auto auto 18px 78px}.sim-offer-label{color:var(--dust);white-space:nowrap;font-family:Caveat,cursive;font-size:1.28rem}.sim-offer-go,.sim-offer-no{appearance:none;border:1px solid var(--border);color:var(--chalk);cursor:pointer;background:#f3efe414;border-radius:999px;font-family:Sora,sans-serif;font-size:.78rem}.sim-offer-go{color:var(--warn);border-color:#e0b36a8c;padding:5px 12px}.sim-offer-no{min-width:0;height:auto;color:var(--chalk-dim);padding:5px 10px}.sim-offer-go:hover,.sim-offer-no:hover{border-color:var(--accent);color:var(--accent)}.shape-canvas-interactive{cursor:grab;touch-action:none;border-radius:12px}.shape-canvas-interactive:active{cursor:grabbing}.graph-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.graph-header button{appearance:none;border:1px solid var(--border);color:var(--chalk);cursor:pointer;z-index:1;background:#f3efe414;border-radius:999px;flex-shrink:0;min-width:36px;min-height:36px;padding:6px 14px;position:relative}.graph-header button:hover{border-color:var(--accent);color:var(--accent)}.graph-close{font-size:1rem;line-height:1}.graph-title,.graph-title .katex{color:#fff;font-size:1.05rem}.graph-canvas{background:#101816;border-radius:10px;width:100%;height:auto}.toast{z-index:12;border:1px solid var(--border);pointer-events:auto;border-radius:999px;align-items:flex-start;gap:12px;max-width:min(560px,100% - 24px);padding:12px 14px;font-size:.92rem;line-height:1.35;animation:.35s both toast-in;display:flex;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000059}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.toast span{flex:1}.toast button{appearance:none;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0}.toast-info{color:#d7efe6;background:#1e302cf2}.toast-ok{color:#c8f0d8;background:#1c342af2}.toast-warn{color:#ffe2a8;background:#342a16f2}.toast-error{color:#ffc9c9;background:#341c1af2}.stage-solve{z-index:1;grid-template-columns:1fr;gap:0;display:grid}.stage-solve.with-figure{grid-template-columns:1fr minmax(280px,42%)}.stage-solve .board-wrap.hidden-for-solve{display:none}.solution-panel{z-index:5;pointer-events:auto;background:#121816f0;border:1px solid #c8b48a47;border-radius:16px;flex-direction:column;width:min(420px,100% - 32px);max-height:calc(100% - 32px);padding:0;display:flex;position:absolute;top:16px;left:16px;overflow:hidden;box-shadow:0 14px 40px #0006}.solution-expanded{z-index:4;background:radial-gradient(800px 400px at 10% 0,#7ec8b014,#0000 50%),linear-gradient(165deg,#1c2825 0%,#141c1a 60%,#1a2218 100%);border:none;border-right:1px solid #c8b48a33;border-radius:0;grid-column:1;width:auto;height:100%;max-height:none;padding:0;position:relative;top:auto;left:auto}.stage-solve.with-figure .graph-overlay{border:none;border-left:1px solid var(--border);width:auto;height:100%;max-height:none;box-shadow:none;z-index:4;border-radius:0;flex-direction:column;grid-column:2;margin:0;display:flex;position:relative;top:auto;right:auto}.stage-solve.with-figure .graph-canvas{flex:1;min-height:0;max-height:calc(100% - 48px);width:100%!important;height:auto!important}.solution-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;margin:0;padding:22px 28px 12px;display:flex}.solution-header-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.solution-scroll{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:8px 28px 24px;overflow:hidden auto}.solution-title{color:var(--dust);letter-spacing:.02em;font-family:Fraunces,Georgia,serif;font-size:.95rem}.ghost-exit{appearance:none;color:var(--chalk-dim);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-family:Caveat,cursive;font-size:1.35rem}.ghost-exit:hover,.ghost-exit.on{color:var(--accent)}.figure-toggle{color:var(--chalk-dim)}.figure-toggle.on{color:var(--accent)}.solution-header .solution-math{color:#ffe7b0;margin-top:8px}.solution-expanded .solution-math{font-size:1.85rem}.solution-expanded .solution-math .katex{font-size:1.35em}.solution-busy{color:#cde7ff;font-size:1.6rem}.solution-steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.solution-expanded .solution-steps{gap:16px;margin-top:8px}.solution-step{background:#ffffff08;border-radius:12px;align-items:baseline;gap:10px;padding:10px 12px;display:flex}.solution-op{align-items:flex-start;gap:12px;min-height:36px;margin:-2px 0;padding:4px 12px 6px 18px;list-style:none;display:flex}.solution-op.just-unveiled{animation:.45s both unveil-write}.op-body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}.solution-whisper{color:#f0e6cdf0;letter-spacing:.005em;max-width:34rem;margin:0;padding:2px 4px;font-size:.92rem;font-weight:400;line-height:1.55}.solution-expanded .solution-whisper{font-size:1rem}.solution-op.just-unveiled .solution-whisper{animation:.5s both whisper-in}.voice-toggle.on{color:var(--dust);border-color:#c8b48a73}.solution-plan{background:#c8b48a12;border:1px dashed #c8b48a66;border-radius:12px;flex-direction:column;gap:2px;padding:10px 14px;list-style:none;display:flex}.solution-plan.just-unveiled{animation:.45s both unveil-write}.plan-kicker{letter-spacing:.12em;text-transform:uppercase;color:#c8b48abf;font-size:.95rem}.plan-body{color:#f2e6c8;margin:0;font-size:.98rem;font-weight:500;line-height:1.55}.solution-panel.match-mode .solution-problem-plain{color:var(--chalk-dim);margin:6px 0 0;font-size:1rem;line-height:1.45}.solution-panel.match-mode .solution-plan{margin:0 0 12px;list-style:none}.solution-match-final{color:var(--chalk-dim);background:#ffffff0a;border-radius:10px;margin:12px 0 0;padding:8px 12px;font-size:.92rem}.match-panel{margin:8px 0 4px}.match-busy{color:var(--chalk-dim);margin:0}.match-grid-wrap{padding:8px 4px 12px;position:relative}.match-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.match-line{fill:none;stroke:#e0b36ab8;stroke-width:2.5px;stroke-linecap:round}.match-columns{z-index:1;grid-template-columns:1fr 1fr;gap:28px;display:grid;position:relative}.match-col-label{letter-spacing:.08em;text-transform:uppercase;color:#c8b48aa6;margin:0 0 8px;font-size:.78rem}.match-items{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.match-chip{color:var(--chalk);text-align:center;background:#101613b8;border:1px solid #ffffff24;border-radius:12px;padding:12px 16px;font-size:1.15rem;line-height:1.2;display:block}.match-chip-left{letter-spacing:.04em;font-size:1.35rem;font-weight:600}.match-chip-right.linked{border-color:#e0b36a8c;box-shadow:0 0 0 1px #e0b36a26}@media (width<=520px){.match-columns{gap:10px}.match-chip{padding:10px 12px;font-size:1rem}.match-chip-left{font-size:1.1rem}.solution-panel.young-learner.match-mode{width:min(100%,100% - 16px)}.solution-panel.young-learner .match-chip{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-height:52px;padding:10px 12px;font-size:1rem}.solution-panel.young-learner .match-picture{font-size:28px}}.solution-expanded .plan-body{font-size:1.08rem}.solution-math .katex [style*=e0b36a]{text-shadow:0 0 14px #e0b36a8c,0 0 3px #e0b36a66;font-weight:600}.solution-step.just-unveiled .katex [style*=e0b36a]{animation:1.1s both gold-flash}@keyframes gold-flash{0%{text-shadow:0 0 22px #e0b36af2,0 0 6px #e0b36acc}to{text-shadow:0 0 14px #e0b36a8c,0 0 3px #e0b36a66}}.solution-recap{border-top:1px dashed #c8b48a40;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;padding-top:10px;display:flex}.recap-label{color:#c8b48acc;font-size:1.1rem}.solution-math.recap-chip{background:#c8b48a1a;border:1px solid #c8b48a40;border-radius:999px;padding:2px 10px;font-size:.95rem}.solution-math.recap-chip .katex{color:var(--dust);font-size:.95em}.move-counter{text-align:center;letter-spacing:.03em;color:#cde7ffd9;margin:0 0 4px;font-size:.82rem}.diff-legend{color:#e0b36ad9}.op-rail{width:1.6rem;color:var(--dust);flex-direction:column;flex-shrink:0;align-items:center;padding-top:2px;display:flex}.solution-expanded .op-rail{width:2.2rem}.op-rail-line{background:linear-gradient(#c8b48a26,#c8b48aa6);border-radius:2px;width:2px;height:18px}.solution-op.just-unveiled .op-rail-line{transform-origin:top;animation:.4s both rail-grow}@keyframes rail-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.op-rail-mark{opacity:.95;text-shadow:0 0 10px #c8b48a66;font-size:1.15rem;line-height:1}.solution-math.op-math{color:var(--dust);background:#c8b48a1f;border:1px solid #c8b48a47;border-radius:999px;padding:4px 12px;font-size:1.2rem}.solution-math.op-math .katex{color:var(--dust);font-size:1.05em}.solution-expanded .solution-math.op-math{font-size:1.35rem}.dust-tick.op-tick{opacity:.55;border-radius:2px;width:6px;height:6px}.dust-tick.op-tick.lit{background:var(--dust);opacity:1}.solution-step.just-unveiled{animation:.55s both unveil-write}@keyframes unveil-write{0%{opacity:0;filter:blur(4px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}.step-num{min-width:1.6rem;color:var(--dust);font-size:1.35rem}.solution-expanded .step-num{min-width:2.2rem;font-size:1.8rem}.solution-math{color:#fff;font-size:1.45rem;line-height:1.25}.solution-math .solution-inline-math{vertical-align:middle;margin:0 .1em;display:inline-block}.solution-math .katex{color:#fff;font-size:1.15em}.solution-math.strong .katex,.solution-final .solution-math{color:#b7f5c8}.solution-final{border-top:1px dashed #c8b48a59;margin-top:12px;padding-top:10px}.solution-engine{color:var(--chalk-dim);margin-top:10px;font-size:.78rem}.handwriting{font-family:Caveat,Segoe Script,cursive}.tutor-text{font-family:Sora,Segoe UI,system-ui,sans-serif}.usage-panel{-webkit-user-select:text;user-select:text;touch-action:pan-y;-webkit-overflow-scrolling:touch;width:min(860px,94vw);max-width:860px}.usage-table-wrap,.usage-table,.usage-table th,.usage-table td{-webkit-user-select:text;user-select:text}.usage-header-actions{gap:8px;display:flex}.usage-error{color:#ff9d8f;font-size:.85rem}.usage-totals{flex-wrap:wrap;gap:10px;display:flex}.usage-total-card{background:#ffffff08;border:1px solid #f3efe424;border-radius:12px;flex-direction:column;gap:2px;min-width:7rem;padding:10px 16px;display:flex}.usage-total-label{letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim);font-family:Sora,sans-serif;font-size:.68rem}.usage-total-card strong{font-family:Sora,sans-serif;font-size:1.15rem}.usage-total-card.usage-cost strong,td.usage-cost{color:#b7f5c8}.usage-kinds{flex-wrap:wrap;gap:6px;display:flex}.usage-kind-chip{color:var(--dust);background:#c8b48a14;border:1px solid #c8b48a40;border-radius:999px;padding:4px 12px;font-size:.75rem}.usage-table-wrap{touch-action:pan-y;-webkit-overflow-scrolling:touch;max-height:46vh;overflow:auto}.usage-table{border-collapse:collapse;width:100%;font-size:.78rem}.usage-table th,.usage-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #f3efe414;padding:6px 10px}.usage-table th{color:var(--chalk-dim);letter-spacing:.04em;text-transform:uppercase;background:#181c20fa;font-size:.7rem;font-weight:500;position:sticky;top:0}.usage-table th.num,.usage-table td.num{text-align:right}.usage-model{color:#a0dcebe6}.usage-note{color:var(--chalk-dim);margin:8px 0 0;font-size:.72rem}.vizlab-overlay{flex-direction:column;max-width:740px;display:flex}.vizlab-header-actions{align-items:center;gap:8px;display:flex}.vizlab-play.on{color:#67e8f9;border-color:#67e8f980}.vizlab-controls{flex-direction:column;gap:8px;max-height:240px;padding:10px 14px 14px;display:flex;overflow-y:auto}.vizlab-expr{align-items:center;gap:10px;display:flex}.vizlab-expr span{letter-spacing:.04em;color:#a0dcebd9;min-width:5.4rem;font-size:.72rem}.vizlab-expr input{color:#cfeef7;background:#0a1216b3;border:1px solid #67e8f940;border-radius:8px;flex:1;padding:6px 10px;font-family:JetBrains Mono,Cascadia Code,monospace;font-size:.85rem}.vizlab-expr input:focus{border-color:#67e8f999;outline:none}.vizlab-slider{align-items:center;gap:10px;display:flex}.vizlab-slider span{color:#c8b48ae6;min-width:5.4rem;font-size:.72rem}.vizlab-slider input[type=range]{accent-color:#67e8f9;flex:1}.vizlab-presets{gap:6px;margin-top:2px;display:flex}.vizlab-group{color:var(--chalk-dim);letter-spacing:.05em;cursor:pointer;background:0 0;border:1px solid #f3efe42e;border-radius:999px;padding:4px 12px;font-family:Sora,sans-serif;font-size:.72rem}.vizlab-group.on{color:#67e8f9;border-color:#67e8f980}.vizlab-preset-list{flex-wrap:wrap;gap:6px;display:flex}.vizlab-preset{color:#bfe9f4;cursor:pointer;background:#67e8f90f;border:1px solid #67e8f933;border-radius:8px;padding:5px 12px;font-family:Sora,sans-serif;font-size:.78rem}.vizlab-preset:hover{background:#67e8f924}.vizlab-error{color:#ff9d8f;margin:2px 0 0;font-size:.78rem}.vizlab-formulas{flex-wrap:wrap;gap:6px;display:flex}.vizlab-formula{color:#f0e6cdeb;background:#c8b48a14;border:1px solid #c8b48a4d;border-radius:999px;padding:5px 12px;font-size:.78rem}.vizlab-formula strong{color:#b7f5c8;font-weight:600}.vizlab-notes{color:#f0e6cdd9;margin:2px 0 0;font-size:.78rem}.vizlab-hint{letter-spacing:.03em;color:#d2e1eb73;margin:0;font-size:.68rem}.unveil-stage{z-index:2;background:linear-gradient(#0a0e0c33,#0a0e0ceb);border-top:1px solid #c8b48a2e;flex-shrink:0;justify-items:center;gap:10px;padding:14px 28px 20px;display:grid;position:relative;bottom:auto;left:auto;right:auto}.unveil-veil{text-align:center;color:var(--chalk-dim);margin:0 0 4px;font-size:1.7rem}.dust-trail{gap:8px;margin-bottom:4px;display:flex}.dust-tick{background:#f3efe426;border-radius:999px;width:18px;height:4px;transition:background .25s,transform .25s}.dust-tick.lit{background:var(--dust);transform:scaleY(1.4)}.chalk-unveil{appearance:none;cursor:pointer;width:min(280px,80vw);height:64px;color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0);border:0;border-radius:999px;justify-content:center;align-items:center;gap:12px;transition:transform .15s,filter .2s;display:flex;box-shadow:0 12px 28px #00000059}.chalk-unveil:hover:not(:disabled){transform:translateY(-2px)scale(1.02)}.chalk-unveil:active:not(:disabled){transform:translateY(1px)scale(.98)}.chalk-unveil:disabled,.chalk-unveil.done{filter:grayscale(.35);opacity:.7;cursor:default}.chalk-stick{background:linear-gradient(90deg,#fff8e8,#e8d7b0 60%,#cbb48a);border-radius:4px;width:42px;height:12px;transform:rotate(-12deg);box-shadow:inset 0 0 0 1px #00000014}.chalk-caption{font-size:1.55rem;line-height:1}.pace-voice-chip{appearance:none;color:var(--chalk-dim);cursor:pointer;background:#f3efe40f;border:1px solid #c8b48a59;border-radius:999px;padding:8px 14px;font-family:Caveat,cursive;font-size:1.2rem}.pace-voice-chip.on{color:var(--dust);background:#c8b48a24;border-color:#c8b48a8c}.veil-reset{appearance:none;color:var(--chalk-dim);cursor:pointer;background:0 0;border:0;font-family:Caveat,cursive;font-size:1.2rem}.veil-reset:disabled{opacity:.35;cursor:default}.tool-btn{appearance:none;border:1px solid var(--border);color:var(--chalk);cursor:pointer;background:#ffffff0a;border-radius:10px;min-height:40px;padding:8px 12px;font-size:.92rem}.tool-btn.primary{background:#7ec8b033;border-color:#7ec8b073}.tool-btn:disabled{opacity:.55;cursor:not-allowed}.settings-backdrop{z-index:20;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.settings-panel{border:1px solid var(--border);background:#1a2422;border-radius:18px;width:min(560px,100%);max-height:min(90vh,720px);padding:16px;overflow:auto;box-shadow:0 20px 50px #00000080}.settings-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.settings-header h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.35rem}.settings-section{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.settings-section.dimmed{opacity:.45}.settings-section h3{margin:0 0 6px;font-size:1rem}.settings-help{color:var(--chalk-dim);margin:0 0 10px;font-size:.88rem;line-height:1.4}.provider-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}.provider-btn{appearance:none;text-align:left;border:1px solid var(--border);color:var(--chalk);cursor:pointer;background:#ffffff08;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.provider-btn strong{font-size:.95rem}.provider-btn span{color:var(--chalk-dim);font-size:.8rem}.provider-btn.active{border-color:var(--accent);background:#7ec8b01f}.settings-field{flex-direction:column;gap:6px;margin-bottom:12px;font-size:.9rem;display:flex}.settings-field input,.settings-field select{appearance:none;border:1px solid var(--border);color:var(--chalk);background:#101816;border-radius:8px;padding:10px 12px;font-size:.95rem}.key-row{gap:8px;display:flex}.key-row input{flex:1;min-width:0}.settings-actions{align-items:center;gap:12px;margin-top:16px;display:flex}.settings-saved{color:#9be7b5;font-size:.88rem}.param-panel{border:1px solid var(--border);z-index:6;background:#0e1412eb;border-radius:12px;flex-direction:column;gap:8px;min-width:200px;padding:12px;display:flex;position:absolute;bottom:56px;left:78px}.param{flex-direction:column;gap:4px;font-size:.9rem;display:flex}.param input{width:100%}@media (width<=720px){:root{--mobile-safe-bottom:env(safe-area-inset-bottom,0px);--mobile-rail-h:54px;--mobile-scene-h:46px;--mobile-dock-pad:6px;--mobile-rail-bottom:calc(var(--mobile-safe-bottom) + var(--mobile-dock-pad));--mobile-scene-bottom:calc(var(--mobile-rail-bottom) + var(--mobile-rail-h) + 8px);--mobile-whisper-bottom:calc(var(--mobile-rail-bottom) + var(--mobile-rail-h) + 10px);--mobile-whisper-scene-bottom:calc(var(--mobile-scene-bottom) + var(--mobile-scene-h) + 10px);--mobile-figure-bottom:calc(var(--mobile-rail-bottom) + var(--mobile-rail-h) + 8px)}.board-header{top:max(10px, env(safe-area-inset-top,0px));z-index:11;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:8px;display:flex;left:10px;right:10px}.board-brand{flex:none;align-items:center;gap:6px;min-width:0}.board-brand-mark,.board-brand-img-full{display:none}.board-brand-img-small{max-width:120px;height:30px;display:block}.board-brand-icon{display:block}.board-brand:has(.board-brand-img-small) .board-brand-icon{display:none}.board-brand-svg{width:30px;height:30px}.pace-pill,.user-pill{font-size:.95rem}.chrome-desktop-only{display:none!important}.chrome-mobile-only{display:inline-flex!important}.board-header-utils.chrome-desktop-only{display:none!important}.board-top-chrome{z-index:13;flex-wrap:nowrap;flex:auto;justify-content:flex-end;align-items:center;gap:5px;min-width:0;max-width:none;margin-left:0}.credit-chip-compact{flex-shrink:0;gap:4px;padding:5px 9px 5px 7px}.credit-chip-compact .credit-label,.credit-chip-compact .credit-topup{display:none}.credit-chip-compact .credit-value{font-size:.9rem}.corner-marks-mobile{flex-shrink:0;align-items:center;gap:3px;display:inline-flex!important}.board-more-btn{width:34px;height:34px;position:relative}.zoom-btn{min-width:30px;height:30px}.zoom-btn.zoom-fit{min-width:40px;font-size:.68rem}.zoom-dock{flex-shrink:0;padding:2px}.mark-btn{width:34px;height:34px;font-size:.9rem}.sim-offer-dock{left:12px;right:12px;bottom:var(--mobile-whisper-bottom);max-width:none}.ink-rail{top:auto;left:50%;bottom:var(--mobile-rail-bottom);scrollbar-width:none;z-index:16;border-radius:999px;flex-direction:row;justify-content:flex-start;gap:6px;width:min(100vw - 16px,520px);max-width:calc(100vw - 16px);padding:8px 10px;overflow:auto hidden;transform:translate(-50%)}.ink-rail::-webkit-scrollbar{display:none}.rail-btn{flex:none;width:44px;height:44px}.rail-label,.rail-gap{display:none}.board-whisper{left:12px;right:12px;bottom:var(--mobile-whisper-bottom);z-index:13;max-width:none;font-size:1.02rem;line-height:1.2}.board-whisper-above-problem{bottom:calc(var(--mobile-whisper-bottom) + 52px)}.challenge-problem-strip{left:12px;right:12px;bottom:var(--mobile-whisper-bottom);z-index:13;max-width:none}.challenge-problem-scene,.scene-studio .board-whisper,.board-whisper-scene{bottom:var(--mobile-whisper-scene-bottom)}.scene-motion-bar{left:12px;right:12px;bottom:var(--mobile-scene-bottom);z-index:15;gap:5px;padding:7px 8px}.scene-motion-btn.scene-motion-icon{width:34px;height:34px}.selection-orb.is-mobile{width:52px;height:52px}.selection-orb.is-mobile.is-open{z-index:17}.orb-core{width:52px;height:52px}.orb-petal{width:62px;height:62px;margin:-31px 0 0 -31px}.orb-petal-label{font-size:1.08rem}.orb-petal-job{max-width:54px;font-size:.54rem}.orb-legend{max-width:min(250px,72vw);font-size:.98rem;top:auto;bottom:calc(100% + 8px)}.selection-orb.is-mobile .orb-legend{display:none}.orb-mobile-sheet{z-index:4;background:#0e1412f7;border:1px solid #f3efe429;border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;min-width:min(240px,100vw - 24px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 12px 28px #0000006b}.orb-mobile-sheet.above{top:auto;bottom:calc(100% + 8px)}.orb-sheet-btn{appearance:none;color:var(--chalk);cursor:pointer;background:#f3efe40f;border:1px solid #f3efe429;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:6px 8px;display:flex}.orb-sheet-btn.active{border-color:var(--accent);color:var(--accent);background:#7ec8b033}.orb-sheet-btn:disabled{opacity:.35;cursor:not-allowed}.stage.board-figure-open .graph-overlay{z-index:12;flex-direction:column;width:auto;max-height:min(34vh,240px);margin:0;display:flex;position:fixed;inset:52px 10px auto}.stage.board-figure-open .graph-overlay .graph-canvas{aspect-ratio:16/10;max-height:min(24vh,180px);width:100%!important;height:auto!important}.stage.board-figure-open .shape-caption{margin:4px 4px 0;font-size:.92rem}.holo-wait{right:12px;bottom:var(--mobile-figure-bottom);width:64px;height:64px}.graph-overlay{border-radius:12px;width:calc(100% - 20px);padding:8px;top:56px;right:10px}.provider-toggle,.stage-solve,.stage-solve.with-figure{grid-template-columns:1fr}.stage-solve.with-figure{grid-template-rows:1fr minmax(220px,40%)}.stage-solve.with-figure .graph-overlay{border-left:none;border-top:1px solid var(--border);grid-area:2/1}.solution-expanded{border-right:none;grid-area:1/1}.solution-header{flex-wrap:wrap;padding:16px 16px 10px}.solution-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;width:100%}.ghost-exit{font-size:1.15rem}.pace-voice-chip{padding:10px 16px;font-size:1.28rem}.unveil-stage{padding:10px 14px calc(14px + env(safe-area-inset-bottom,0px));gap:8px}.solution-scroll{padding:6px 14px 16px}.chalk-unveil{width:min(240px,86vw);height:56px}.chalk-caption{font-size:1.32rem}}@media (width<=520px){.board-whisper{font-size:.95rem}.board-more-btn{width:34px;height:34px}.mark-btn.input-mode-btn{min-width:40px;padding:0 8px}.mark-btn.input-mode-btn .input-mode-label{display:none}.scene-motion-bar{border-radius:14px;left:8px;right:8px}.scene-motion-btn.scene-motion-icon{width:34px;height:34px}.scene-motion-btn{padding:6px 9px;font-size:.66rem}.corner-marks{gap:3px}.mark-btn{width:34px;height:34px}.toast{border-radius:14px;padding:10px 12px;font-size:.84rem;top:10px}.graph-title,.graph-title .katex{font-size:.95rem}}.login-screen{height:100%;min-height:0;padding:max(20px, env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) max(20px, env(safe-area-inset-bottom,0px)) max(20px, env(safe-area-inset-left,0px));box-sizing:border-box;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;background:radial-gradient(900px 500px at 20% 15%,#7ec8b01a,#0000 55%),radial-gradient(700px 480px at 85% 80%,#c8b48a14,#0000 50%),linear-gradient(165deg,#243330 0%,#15201e 100%);align-content:safe center;place-items:safe center;display:grid;position:relative;overflow:auto}.login-screen input,.login-screen select,.login-screen textarea{-webkit-user-select:text;user-select:text;touch-action:manipulation}.login-grain{pointer-events:none;opacity:.2;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");position:absolute;inset:0}.login-card{z-index:1;box-sizing:border-box;background:#0e1412eb;border:1px solid #f3efe424;border-radius:22px;flex-direction:column;gap:14px;width:min(420px,100%);max-width:100%;max-height:none;padding:32px 28px 28px;display:flex;position:relative;overflow:visible;box-shadow:0 24px 60px #0006}.login-card-head{z-index:2;background:0 0;flex-direction:column;flex:none;gap:10px;min-width:0;padding:0;display:flex;position:relative}.login-card-body{box-sizing:border-box;flex-direction:column;flex:auto;gap:14px;min-width:0;min-height:0;padding:0;display:flex;overflow:visible}.login-card.shake{animation:.4s login-shake}@keyframes login-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.login-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--dust);margin:0;padding-top:0;font-size:.75rem;line-height:1.6}.login-brand-footer{z-index:1;text-align:center;color:var(--chalk-dim);opacity:.8;margin:0;padding:14px 20px 6px;font-size:.78rem;line-height:1.5;position:relative}.login-brand-footer a{color:var(--dust);text-decoration:none}.login-brand-footer a:hover{color:var(--accent);text-decoration:underline}.landing-screen{background:#0d1412;grid-template:1fr/1fr;place-content:stretch;place-items:stretch stretch;height:100%;min-height:100%;padding:0;display:grid;position:relative;overflow:hidden}.landing-atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.landing-room{transform-origin:50% 60%;position:absolute;inset:-8% -5% -12%;transform:perspective(1400px)rotateX(8deg)rotateY(-6deg)scale(1.08)}.landing-wall{background:radial-gradient(80% 55% at 60% 35%,#7ec8b012,#0000 60%),radial-gradient(50% 40% at 20% 70%,#c8b48a0f,#0000 55%),repeating-linear-gradient(0deg,#0000,#0000 47px,#f3efe404 48px),linear-gradient(165deg,#243330 0%,#15201e 48%,#0f1614 100%);border:14px solid #1a1210;position:absolute;inset:0 0 14%;box-shadow:inset 0 0 80px #00000059,0 30px 80px #00000073}.landing-ledge{background:linear-gradient(#3a2a22 0%,#241812 55%,#1a120e 100%);height:4.5%;position:absolute;bottom:8%;left:-2%;right:-2%;transform:skew(-2deg);box-shadow:0 10px 24px #0006}.landing-dust{position:absolute;inset:0}.landing-mote{opacity:0;background:#f4efe359;border-radius:50%;width:3px;height:3px;animation:14s linear infinite landing-mote-drift;position:absolute}.mote-1{animation-delay:0s;top:70%;left:12%}.mote-2{width:2px;height:2px;animation-delay:1.2s;top:55%;left:28%}.mote-3{animation-delay:2.4s;top:78%;left:44%}.mote-4{width:2px;height:2px;animation-delay:.6s;top:48%;left:61%}.mote-5{animation-delay:3.1s;top:66%;left:73%}.mote-6{animation-delay:4s;top:40%;left:18%}.mote-7{width:2px;height:2px;animation-delay:1.8s;top:58%;left:86%}.mote-8{animation-delay:5.2s;top:82%;left:35%}.mote-9{animation-delay:2.9s;top:36%;left:52%}.mote-10{width:2px;height:2px;animation-delay:6.4s;top:62%;left:8%}.mote-11{animation-delay:3.7s;top:74%;left:67%}.mote-12{animation-delay:7.1s;top:42%;left:91%}.mote-13{animation-delay:4.5s;top:88%;left:23%}.mote-14{width:2px;height:2px;animation-delay:.9s;top:60%;left:49%}.mote-15{animation-delay:5.8s;top:84%;left:78%}.mote-16{animation-delay:8s;top:30%;left:15%}.mote-17{width:2px;height:2px;animation-delay:2.1s;top:22%;left:58%}.mote-18{animation-delay:6.8s;top:28%;left:82%}@keyframes landing-mote-drift{0%{opacity:0;transform:translate(0,0)}12%{opacity:.55}70%{opacity:.25}to{opacity:0;transform:translate(18px,-120px)}}.landing-ghost{color:#f3efe40b;letter-spacing:-.04em;white-space:nowrap;-webkit-user-select:none;user-select:none;margin:0;font-size:clamp(5rem,18vw,14rem);line-height:.85;position:absolute;bottom:18%;right:-4%;transform:rotate(-8deg)}.landing-frame{--landing-frame-w:min(1180px, calc(100% - 2rem));--landing-frame-h:min(760px, calc(100% - 1.25rem));z-index:1;width:var(--landing-frame-w);height:var(--landing-frame-h);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);container:landing-frame/inline-size}.landing-stage{z-index:1;pointer-events:none;place-items:stretch stretch;display:grid;position:absolute;inset:0}.landing-slate{pointer-events:auto;background:radial-gradient(700px 360px at 30% 20%,#7ec8b014,#0000 60%),linear-gradient(160deg,#1a2623 0%,#121a18 100%);border:1px solid #f3efe414;border-radius:4px 18px 10px 22px/18px 6px 20px 8px;width:min(52%,560px);height:min(58%,400px);margin:0;position:absolute;top:12%;right:2%;overflow:hidden;transform:perspective(1200px)rotateY(-9deg)rotateX(3deg);box-shadow:0 24px 60px #00000059,inset 0 0 40px #00000040}.landing-stage.accent-frame .landing-slate{border-color:#7ec8b047}.landing-stage.accent-solve .landing-slate{border-color:#c8b48a47}.landing-stage.accent-practice .landing-slate{border-color:#78c8dc47}.landing-erase{pointer-events:none;z-index:3;background:linear-gradient(100deg,#0000 0%,#121a18eb 45%,#0000 90%);animation:.7s both landing-erase-sweep;position:absolute;inset:0;transform:translate(-120%)}@keyframes landing-erase-sweep{0%{transform:translate(-120%)}45%{transform:translate(0%)}to{opacity:0;transform:translate(120%)}}.landing-demo{opacity:0;pointer-events:none;z-index:1;place-items:center;padding:28px;transition:opacity .35s;display:grid;position:absolute;inset:0}.landing-demo.is-active{opacity:1}.demo-board{place-items:center;width:100%;min-height:180px;display:grid;position:relative}.demo-board-split{grid-template-columns:1.15fr .9fr;align-items:center;gap:18px;width:100%;display:grid}.demo-board-main{place-items:center;min-height:140px;display:grid;position:relative}.demo-chalk{color:var(--chalk);letter-spacing:.02em;text-shadow:0 2px #0003;font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,4.2cqi,3.2rem)}.demo-handwriting-trail{opacity:0;background:linear-gradient(90deg,#0000,#f3efe459,#0000);height:2px;position:absolute;bottom:22%;left:18%;right:18%}.landing-demo-write.is-active .demo-eq{animation:1.2s both demo-write-in}.landing-demo-write.is-active .demo-handwriting-trail{animation:1.2s both demo-trail}.landing-demo-frame.is-active .demo-frame{animation:.7s .12s both demo-frame-in}.landing-demo-frame.is-active .demo-orb{animation:.5s .5s both demo-orb-in}.landing-demo-solve.is-active .demo-steps li{animation:.45s both demo-step-in}.landing-demo-solve.is-active .demo-steps li:nth-child(2){animation-delay:.18s}.landing-demo-solve.is-active .demo-steps li:nth-child(3){animation-delay:.36s}.landing-demo-practice.is-active .demo-practice{animation:.5s both demo-step-in}.demo-frame{border:2px dashed #7ec8b0d9;border-radius:12px;position:absolute;inset:16% 10%}.demo-frame.is-static{opacity:.7}.demo-orb{background:radial-gradient(circle at 35% 30%,#f4efe3,#c8b48a 55%,#7ec8b0);border-radius:50%;width:30px;height:30px;position:absolute;top:8%;right:6%;box-shadow:0 6px 16px #00000059}.demo-steps{color:var(--chalk);background:#080c0b73;border:1px solid #f3efe41a;border-radius:12px;margin:0;padding:14px 16px 14px 32px;font-size:1rem;line-height:1.55;list-style:decimal}.demo-practice{background:#080c0b73;border:1px solid #78c8dc38;border-radius:12px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.demo-practice-label{letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim);font-size:.72rem}.demo-practice-hidden{color:var(--chalk);letter-spacing:.18em;font-family:Fraunces,Georgia,serif;font-size:1.5rem}.demo-practice-hint{color:var(--chalk-dim);font-size:.82rem}@keyframes demo-write-in{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes demo-trail{0%{opacity:0;transform:scaleX(.2)}40%{opacity:.7}to{opacity:0;transform:scaleX(1)}}@keyframes demo-frame-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes demo-orb-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes demo-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.landing-ui{z-index:2;box-sizing:border-box;pointer-events:none;height:auto;min-height:0;padding:max(20px, env(safe-area-inset-top,0px)) max(22px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(22px, env(safe-area-inset-left,0px));display:grid;position:absolute;inset:0}.landing-ui>*{pointer-events:auto}.landing-screen.has-demos .landing-ui{grid-template:"tip tip""spine cast"1fr/auto minmax(0,1fr);gap:8px 28px}.landing-screen.has-demos .login-viewport-tip{grid-area:tip;display:none}.landing-spine{display:none}.landing-screen.has-demos .landing-spine{writing-mode:vertical-rl;letter-spacing:.42em;text-transform:uppercase;color:#c8b48a8c;-webkit-user-select:none;user-select:none;flex-direction:column;grid-area:spine;justify-content:center;gap:1.1rem;font-family:Fraunces,Georgia,serif;font-size:.78rem;display:flex;transform:rotate(180deg)}.landing-screen.has-demos .landing-cast{flex-direction:column;grid-area:cast;place-self:start;align-items:flex-start;gap:18px;width:min(420px,46%);margin-bottom:0;padding:12px 0 0;display:flex}.landing-screen.has-demos .landing-action-bar,.landing-screen.no-demos .landing-action-bar{left:50%;bottom:max(2.85rem, calc(env(safe-area-inset-bottom,0px) + 2.35rem));z-index:3;justify-content:center;width:min(320px,100% - 48px);margin:0;padding:0;position:absolute;transform:translate(-50%)}.landing-screen.has-demos .login-brand-footer,.landing-screen.no-demos .login-brand-footer{left:50%;bottom:max(.55rem, env(safe-area-inset-bottom,0px));z-index:3;text-align:center;opacity:.7;padding:0;position:absolute;transform:translate(-50%)}.landing-screen.no-demos .landing-frame{--landing-frame-w:min(440px, calc(100% - 1.25rem));--landing-frame-h:min(760px, calc(100% - .75rem))}.landing-screen.no-demos .landing-ui{padding-bottom:max(6.5rem, calc(env(safe-area-inset-bottom,0px) + 5.5rem));grid-template-rows:auto 1fr;grid-template-areas:"tip""cast";align-content:start;justify-items:center;gap:16px}.landing-screen.no-demos .login-viewport-tip{grid-area:tip;width:min(420px,100%);margin:0}.landing-screen.no-demos .landing-cast{text-align:center;flex-direction:column;grid-area:cast;align-self:center;align-items:center;gap:22px;width:min(420px,100%);display:flex}.landing-screen.no-demos .landing-spine{display:none}.landing-hero{align-items:inherit;flex-direction:column;gap:0;display:flex}.landing-kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--dust);margin:0 0 12px;font-size:.72rem}.landing-brand{align-items:inherit;color:var(--chalk);flex-direction:column;margin:0;line-height:.82;display:flex}.landing-brand-ai{letter-spacing:-.06em;background:linear-gradient(#f7f2e6 20%,#b7b09f 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Fraunces,Georgia,serif;font-size:clamp(3.6rem,7.2cqi,6.4rem);font-weight:650;animation:.9s cubic-bezier(.22,1,.36,1) both landing-brand-in}.landing-brand-board{letter-spacing:-.05em;color:var(--chalk);margin-top:-.08em;font-family:Fraunces,Georgia,serif;font-size:clamp(2.7rem,5.4cqi,4.7rem);font-weight:650;animation:.9s cubic-bezier(.22,1,.36,1) 80ms both landing-brand-in}@keyframes landing-brand-in{0%{opacity:0;filter:blur(4px);transform:translateY(28px)rotate(-1.5deg)}to{opacity:1;filter:none;transform:none}}.landing-tagline{color:#f3efe4;text-wrap:balance;max-width:11em;margin:22px 0 0;font-size:clamp(1.35rem,2.4cqi,1.95rem);line-height:1.15;animation:.85s cubic-bezier(.22,1,.36,1) .18s both landing-brand-in}.landing-screen.no-demos .landing-tagline{max-width:12em;margin-left:auto;margin-right:auto}.landing-proof{color:#b7b09feb;text-wrap:pretty;max-width:34ch;margin:14px 0 0;font-size:.98rem;line-height:1.5;animation:.85s cubic-bezier(.22,1,.36,1) .26s both landing-brand-in}.landing-screen.no-demos .landing-proof{margin-left:auto;margin-right:auto}.landing-rail{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.landing-rail button{appearance:none;color:var(--chalk-dim);cursor:pointer;font:inherit;background:0 0;border:0;border-bottom:1px solid #f3efe42e;align-items:baseline;gap:8px;padding:8px 2px 6px;transition:color .2s,border-color .2s;display:inline-flex}.landing-rail button.on{color:var(--chalk);border-bottom-color:var(--accent)}.landing-rail-num{letter-spacing:.08em;color:var(--dust);font-size:.72rem}.landing-rail-label{font-family:Fraunces,Georgia,serif;font-size:1.05rem}.landing-caption{color:#f3efe4e0;min-height:1.4em;margin:0;font-size:clamp(1.15rem,2vw,1.35rem);animation:.45s both landing-brand-in}.landing-action-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;width:100%;padding:28px 0 8px;display:flex}.landing-login-btn{min-width:min(300px,100%);padding:16px 32px;font-size:1.25rem;box-shadow:0 12px 28px #00000047}.landing-cta-ghost{appearance:none;color:var(--chalk-dim);letter-spacing:.04em;text-underline-offset:5px;cursor:pointer;background:0 0;border:0;padding:8px 0;font-family:Sora,sans-serif;font-size:.92rem;text-decoration:underline}.landing-cta-ghost:hover{color:var(--accent)}.landing-auth-overlay{z-index:40;padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;background:#080e0cd1;align-content:safe center;place-items:safe center;animation:.22s landing-overlay-in;display:grid;position:fixed;inset:0;overflow:auto}@keyframes landing-overlay-in{0%{opacity:0}to{opacity:1}}.login-card-embedded{max-height:none;margin:auto;animation:.28s landing-card-in;position:relative}@keyframes landing-card-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-dismiss{appearance:none;z-index:3;width:36px;height:36px;color:var(--chalk-dim);cursor:pointer;background:#f3efe414;border:0;border-radius:999px;font-size:1.5rem;line-height:1;position:absolute;top:10px;right:12px}.login-dismiss:hover{color:var(--chalk);background:#f3efe424}.landing-screen.landing-auth-open>.landing-atmosphere,.landing-screen.landing-auth-open>.landing-frame{filter:blur(2px);opacity:.55;pointer-events:none}.landing-videos-overlay{z-index:80;padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;background:#080e0cd1;align-content:safe center;place-items:safe center;animation:.22s landing-overlay-in;display:grid;position:fixed;inset:0;overflow:auto}.landing-videos-panel{box-sizing:border-box;background:#0e1412f5;border:1px solid #f3efe424;border-radius:22px;flex-direction:column;gap:16px;width:min(1080px,100%);max-height:min(92vh,920px);padding:22px 22px 18px;display:flex;position:relative;overflow:auto;box-shadow:0 24px 60px #00000073}.landing-videos-head{justify-content:space-between;align-items:flex-start;gap:12px;padding-right:40px;display:flex}.landing-videos-title{color:var(--chalk);margin:4px 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:650}.landing-videos-player{flex-direction:column;gap:10px;min-width:0;display:flex}.landing-videos-layout{grid-template-columns:minmax(0,1.4fr) minmax(220px,.85fr);align-items:start;gap:14px;display:grid}.landing-videos-frame{aspect-ratio:16/9;background:#0a100e;border:1px solid #f3efe41a;border-radius:14px;width:100%;position:relative;overflow:hidden}.landing-videos-video{background:#0a100e;border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.landing-videos-caption{text-align:center;color:var(--chalk);margin:0;font-size:clamp(1.05rem,2.2vw,1.25rem)}.landing-videos-list{flex-direction:column;gap:6px;min-width:0;max-height:min(52vh,420px);margin:0;padding:0;list-style:none;display:flex;overflow:auto}.landing-videos-list button{appearance:none;text-align:left;width:100%;color:var(--chalk);cursor:pointer;font:inherit;background:#ffffff08;border:1px solid #f3efe41a;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px;padding:11px 12px;display:grid}.landing-videos-list button:hover{border-color:#7ec8b059}.landing-videos-list button.on{background:#7ec8b01f;border-color:#7ec8b08c}.landing-videos-list-index{letter-spacing:.04em;color:var(--chalk-dim);font-variant-numeric:tabular-nums;font-size:.78rem}.landing-videos-list-title{font-size:.92rem;line-height:1.35}.landing-videos-list-now{letter-spacing:.04em;text-transform:uppercase;color:#7ec8b0;font-size:.72rem}@media (width<=820px){.landing-videos-layout{grid-template-columns:1fr}.landing-videos-list{max-height:none}}.landing-videos-empty{color:var(--chalk-dim);margin:12px 0;line-height:1.45}.landing-videos-empty code{color:var(--accent);font-size:.9em}.landing-videos-overlay.is-first-run{background:#080e0ce0}.landing-videos-hint{max-width:42ch;color:var(--chalk-dim);margin:8px 0 0;font-size:.92rem;line-height:1.45}.landing-videos-first-run-actions{border-top:1px solid #f3efe41a;flex-direction:column;align-items:stretch;gap:10px;margin-top:4px;padding-top:12px;display:flex}.landing-videos-skip{width:100%;padding:16px 20px;font-size:1.2rem}.landing-videos-skip-note{text-align:center;color:var(--chalk-dim);margin:0;font-size:.85rem;line-height:1.4}@media (width<=720px){.landing-screen{overflow:auto}.landing-frame{--landing-frame-w:min(100%, calc(100% - .5rem));--landing-frame-h:min(100%, calc(100% - .5rem));width:100%;height:100%;position:absolute;inset:0;overflow:auto;transform:none}.landing-room{inset:0;transform:none}.landing-wall{box-shadow:none;border-width:0}.landing-ledge,.landing-ghost{display:none}}@media (prefers-reduced-motion:reduce){.landing-demo,.landing-demo.is-active .demo-eq,.landing-demo.is-active .demo-frame,.landing-demo.is-active .demo-orb,.landing-demo.is-active .demo-steps li,.landing-demo.is-active .demo-practice,.landing-auth-overlay,.login-card-embedded,.landing-brand-ai,.landing-brand-board,.landing-tagline,.landing-proof,.landing-caption,.landing-erase,.landing-mote{transition:none!important;animation:none!important}.landing-brand-ai,.landing-brand-board,.landing-tagline,.landing-proof{opacity:1;filter:none;transform:none}}.login-brand{letter-spacing:-.03em;color:var(--chalk);overflow-wrap:anywhere;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(1.85rem,5.5vw,2.6rem);font-weight:650;line-height:1.15}.login-sub{color:var(--chalk-dim);overflow-wrap:break-word;margin:0;font-size:clamp(1.15rem,3.8vw,1.4rem);line-height:1.25}.login-field{color:var(--chalk-dim);flex-direction:column;gap:6px;min-width:0;max-width:100%;font-size:.85rem;display:flex}.login-field input,.login-field select{box-sizing:border-box;width:100%;max-width:100%;color:var(--chalk);background-color:#ffffff0f;border:1px solid #f3efe447;border-radius:12px;min-width:0;padding:12px 14px;font-family:Sora,sans-serif;font-size:1rem}.login-field input{appearance:none}.login-field select{appearance:auto;-webkit-appearance:menulist;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;cursor:pointer}.login-field input:focus,.login-field select:focus{border-color:var(--accent);outline:none}.login-field--dropdown{overflow:visible}.gender-select{width:100%;min-width:0;position:relative}.gender-select-trigger{box-sizing:border-box;width:100%;max-width:100%;color:var(--chalk);text-align:left;cursor:pointer;background:#101816;border:1px solid #f3efe429;border-radius:12px;min-width:0;padding:12px 40px 12px 14px;font-family:Sora,sans-serif;font-size:1rem;position:relative}.gender-select-trigger:focus{border-color:var(--accent);outline:none}.gender-select-trigger:disabled{opacity:.55;cursor:not-allowed}.gender-select-placeholder{color:#f3efe473}.gender-select-chevron{pointer-events:none;border-top:6px solid #f3efe48c;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0;transition:transform .15s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.gender-select.is-open .gender-select-chevron{transform:translateY(-50%)rotate(180deg)}.gender-select-list{z-index:60;-webkit-overflow-scrolling:touch;background:#101816;border:1px solid #f3efe429;border-radius:12px;max-height:min(240px,50vh);margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000073}.gender-select-option{cursor:pointer;color:var(--chalk);touch-action:manipulation;border-radius:8px;align-items:center;min-height:44px;padding:12px 14px;font-size:1rem;display:flex}.gender-select-option.is-highlighted{background:#f3efe414}.gender-select-option.is-selected{color:var(--accent)}.gender-select-option.is-placeholder{color:#f3efe473}.login-secret-input{-webkit-text-security:disc;text-security:disc}.login-honeypot{opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;position:absolute!important;top:auto!important;left:-10000px!important}.login-error{color:#e08a7a;margin:0;font-size:1.25rem}.login-google{flex-direction:column;align-items:center;gap:8px;width:100%;min-height:44px;display:flex}.login-google.is-disabled{opacity:.55;pointer-events:none}.login-google-host{justify-content:center;width:100%;display:flex}.login-google-host>div{margin:0 auto!important}.login-google-loading{color:var(--chalk-dim);margin:0;font-size:.9rem}.login-or{width:100%;color:var(--chalk-dim);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin:4px 0 2px;font-size:.8rem;display:flex}.login-or:before,.login-or:after{content:"";background:#f4efe324;flex:1;height:1px}.login-submit{appearance:none;cursor:pointer;color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0);border:0;border-radius:999px;margin-top:4px;padding:14px 18px;font-family:Fraunces,Georgia,serif;font-size:1.15rem;box-shadow:0 10px 24px #0000004d}.login-submit:hover{transform:translateY(-1px)}.login-wide{width:min(460px,100%)}.login-kid-block{border-top:1px solid #f4efe31f;flex-direction:column;gap:10px;width:100%;min-width:0;margin-top:4px;padding-top:10px;display:flex}.kid-select-screen .kid-select-card{z-index:1;box-sizing:border-box;background:#0e1412eb;border:1px solid #f4efe324;border-radius:22px;width:min(640px,100%);max-width:100%;padding:32px 28px 28px;position:relative;box-shadow:0 24px 60px #00000073}.kid-select-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;width:100%;margin:20px 0 0;padding:0;list-style:none;display:grid}.kid-profile-card{appearance:none;width:100%;min-height:168px;color:var(--chalk);cursor:pointer;text-align:center;box-sizing:border-box;background:#ffffff0a;border:1px solid #f4efe329;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px 14px 14px;transition:border-color .2s,background .2s,transform .15s;display:flex}.kid-profile-card:hover:not(:disabled){background:#c9a66b14;border-color:#c9a66b8c;transform:translateY(-1px)}.kid-profile-card:disabled{opacity:.65;cursor:wait}.kid-profile-card.is-active{background:#7ec8b014;border-color:#7ec8b073}.kid-profile-avatar{width:52px;height:52px;color:var(--chalk);background:linear-gradient(165deg,#f4efe329,#141c188c);border:1px solid #f4efe32e;border-radius:50%;place-items:center;font-family:Caveat,cursive;font-size:1.75rem;line-height:1;display:grid}.kid-profile-name{margin-top:2px;font-family:Caveat,cursive;font-size:1.55rem;line-height:1.1}.kid-profile-meta{color:var(--chalk-dim);overflow-wrap:anywhere;max-width:100%;font-size:.78rem;line-height:1.3}.kid-profile-badge{letter-spacing:.05em;text-transform:uppercase;color:#9fd6c8;margin-top:2px;font-size:.68rem}.kid-profile-action{color:#e0b36a;margin-top:auto;padding-top:6px;font-size:.8rem}.kid-profile-add{background:#ffffff05;border-style:dashed;border-color:#f4efe338}.kid-profile-add:hover:not(:disabled){background:#c9a66b0f;border-color:#c9a66ba6}.kid-add-plus{color:#e0b36a;font-family:Fraunces,Georgia,serif;font-size:2.75rem;font-weight:500;line-height:1}.kid-add-label{letter-spacing:.02em;color:var(--chalk);font-family:Sora,sans-serif;font-size:.92rem}.kid-add-meta{color:var(--chalk-dim);font-size:.75rem}.kid-onboard-form{flex-direction:column;gap:14px;width:100%;min-width:0;margin-top:18px;display:flex}.kid-onboard-actions{flex-direction:column;align-items:stretch;gap:10px;margin-top:4px;display:flex}.kid-onboard-back{align-self:center;margin:0}.kid-select-hint{color:var(--chalk-dim);text-align:center;margin:12px 0 0;font-size:.85rem;line-height:1.35}.kid-select-back{margin:14px auto 0;display:block}@media (width<=720px){.kid-select-screen .kid-select-card{border-radius:18px;width:100%;padding:26px 20px 24px}.kid-select-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kid-profile-card{min-height:152px;padding:14px 12px 12px}.kid-profile-avatar{width:46px;height:46px;font-size:1.55rem}.kid-profile-name{font-size:1.35rem}.kid-add-plus{font-size:2.35rem}}@media (width<=380px){.kid-select-screen .kid-select-card{padding:22px 16px 20px}.kid-select-grid{grid-template-columns:minmax(0,1fr)}.kid-profile-card{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;min-height:140px;padding:14px 16px}.kid-profile-avatar{flex-shrink:0}.kid-profile-name,.kid-profile-meta,.kid-profile-badge{width:100%}.kid-profile-action{flex-shrink:0;margin-top:0;margin-left:auto;padding-top:0}.kid-profile-add{text-align:center;flex-direction:column;justify-content:center;align-items:center}}.login-tabs{box-sizing:border-box;background:#141c1873;border-radius:12px;gap:4px;width:100%;margin:4px 0 0;padding:4px;display:flex}.login-tabs-sticky{margin-bottom:0;position:static}.login-tabs button{appearance:none;letter-spacing:.04em;text-transform:uppercase;color:var(--chalk-dim);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1;padding:8px 6px;font-family:Sora,sans-serif;font-size:.78rem}.login-tabs button.on{color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0)}.login-kid-title{color:var(--chalk);margin:0;font-size:1.05rem}.login-row{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;width:100%;max-width:100%;display:grid}@media (width<=340px){.login-row{grid-template-columns:minmax(0,1fr)}}.login-row>.login-field,.login-row .login-field{min-width:0;max-width:100%;overflow:visible}.login-row>.login-field--dropdown,.login-row .login-field--dropdown{overflow:visible}.login-back-row{justify-content:center;margin-top:4px}.login-hint{color:var(--chalk-dim);margin:0;font-size:.85rem}.login-forgot-row{justify-content:flex-end;margin:-4px 0 0;display:flex}.login-forgot{appearance:none;color:var(--accent);letter-spacing:.02em;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:4px 0;font-family:Sora,sans-serif;font-size:.82rem;text-decoration:underline}.login-forgot:hover{color:var(--chalk)}.login-note{color:#9fd6c8;margin:0;font-size:.92rem;line-height:1.35}.login-viewport-tip{z-index:1;width:min(420px,100%);max-width:100%;color:var(--chalk-dim);text-align:center;box-sizing:border-box;background:#9fd6c812;border:1px solid #9fd6c833;border-radius:12px;margin:0 0 12px;padding:10px 14px;font-size:.82rem;line-height:1.4;display:none;position:relative}.kid-select-screen .login-viewport-tip{width:min(640px,100%)}@media (width<=480px){.login-viewport-tip{display:block}}.coin-pill{font-variant-numeric:tabular-nums;letter-spacing:.02em}.credit-chip{color:var(--chalk);font-variant-numeric:tabular-nums;appearance:none;cursor:pointer;font:inherit;pointer-events:auto;z-index:1;background:linear-gradient(165deg,#f4efe324,#141c1859);border:1px solid #f4efe32e;border-radius:999px;align-items:baseline;gap:6px;padding:6px 12px 6px 10px;display:inline-flex;position:relative}.credit-chip:hover{filter:brightness(1.06);border-color:#c9a66b8c}.credit-chip:hover .credit-topup{color:#f3efe4}.credit-mark{background:#c9a66b;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #c9a66b38}.credit-value{letter-spacing:.02em;font-family:Fraunces,Georgia,serif;font-size:1.05rem;font-weight:600;line-height:1}.credit-topup{letter-spacing:.04em;text-transform:uppercase;color:#1e2a28;background:#c9a66b;border-radius:999px;margin-left:2px;padding:2px 8px;font-size:.68rem;font-weight:600;line-height:1.2}.credit-label{letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-dim);font-family:Sora,sans-serif;font-size:.62rem}.invite-chip{color:#9fd6c8;letter-spacing:.06em;text-transform:uppercase;appearance:none;cursor:pointer;pointer-events:auto;background:#9fd6c81a;border:1px solid #9fd6c859;border-radius:999px;align-items:center;gap:5px;padding:5px 11px 5px 9px;font-family:Sora,sans-serif;font-size:.72rem;font-weight:650;display:inline-flex}.invite-chip:hover{color:#c8efe4;background:#9fd6c829;border-color:#9fd6c88c}.invite-chip-icon{background:#9fd6c838;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.95rem;font-weight:700;line-height:1;display:grid}.board-more-overlay{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080e0c8c;justify-content:center;align-items:flex-end;padding:0;animation:.25s both whisper-in;display:flex;position:fixed;inset:0}.board-more-sheet{width:min(440px,100%);max-height:min(88dvh,640px);padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));background:linear-gradient(165deg,#24302cfa,#121c1afc);border:1px solid #f3efe424;border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;gap:12px;animation:.32s cubic-bezier(.2,.85,.25,1) both board-more-up;display:flex;overflow:auto;box-shadow:0 -16px 40px #0006}@keyframes board-more-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}.board-more-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.board-more-kicker{color:var(--chalk-dim);margin:0;font-size:1.1rem}.board-more-head h2{color:var(--chalk);margin:2px 0 0;font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:600}.board-more-close{appearance:none;color:var(--chalk-dim);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:6px 4px;font-family:Sora,sans-serif;font-size:.8rem}.board-more-close:hover{color:var(--chalk)}.board-more-row{text-align:left;justify-content:flex-start;width:100%}.board-more-row.credit-chip,.board-more-row.invite-chip{border-radius:16px;padding:12px 14px}.board-more-row.input-mode-btn{border-radius:16px;justify-content:flex-start;gap:10px;width:100%;height:auto;min-height:48px;padding:10px 14px}.board-more-hint{letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim);opacity:.85;margin-left:auto;font-size:.72rem}.board-more-block{background:#0000002e;border:1px solid #f3efe41a;border-radius:16px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.board-more-label{letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-dim);margin:0;font-family:Sora,sans-serif;font-size:.7rem}.board-more-block .zoom-dock{align-self:flex-start}.board-more-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.board-more-action{appearance:none;color:var(--chalk-dim);cursor:pointer;letter-spacing:.04em;background:#0e141273;border:1px solid #f3efe41f;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;font-family:Sora,sans-serif;font-size:.72rem;display:flex}.board-more-action:hover{color:var(--chalk);border-color:#f3efe447}.board-more-action .mark-icon{width:20px;height:20px}.admin-back-pill,.kid-pill{appearance:none;cursor:pointer;font:inherit;pointer-events:auto;border:0}.kid-pill:hover{filter:brightness(1.08)}.admin-dash{height:100%;min-height:100dvh;max-height:100dvh;color:var(--chalk);-webkit-user-select:text;user-select:text;touch-action:auto;background:radial-gradient(900px 520px at 12% 0,#7ec8b014,#0000 55%),radial-gradient(700px 420px at 90% 100%,#c9a66b14,#0000 50%),#101612;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(200px,240px) minmax(0,1fr);display:grid;overflow:hidden}.admin-table-wrap,.admin-table,.admin-table th,.admin-table td,.admin-dash-note,.admin-dash-kpis,.admin-dash-section{-webkit-user-select:text;user-select:text}.admin-section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.admin-section-head h2{margin:0}.admin-export-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-coin-form{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-coin-form input[type=number],.admin-coin-form input[type=text]{border:1px solid var(--border);color:var(--chalk);background:#ffffff0a;border-radius:8px;padding:6px 8px}.admin-coin-form input[type=number]{width:88px}.admin-coin-form input[type=text]{width:min(160px,28vw)}.admin-empty{color:var(--chalk-dim);margin:12px 0}.admin-dash-nav{-webkit-overflow-scrolling:touch;background:#080c0a8c;border-right:1px solid #f4efe314;flex-direction:column;gap:8px;min-height:0;padding:28px 18px 20px;display:flex;overflow-y:auto}.admin-dash-brand{color:#c9a66b;margin:0;font-size:1.35rem}.admin-dash-nav h1{letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-dim);margin:0 0 4px;font-family:Sora,sans-serif;font-size:.78rem;font-weight:500}.admin-dash-who{color:var(--chalk);margin:0 0 18px;font-size:.9rem}.admin-dash-nav nav{flex-direction:column;flex:1;gap:4px;display:flex}.admin-dash-nav nav button{appearance:none;text-align:left;color:var(--chalk-dim);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 12px;font-family:Sora,sans-serif;font-size:.92rem}.admin-dash-nav nav button.on,.admin-dash-nav nav button:hover{color:var(--chalk);background:#f4efe314}.admin-dash-nav-foot{flex-direction:column;gap:6px;margin-top:16px;display:flex}.admin-dash-ghost{appearance:none;color:var(--chalk-dim);letter-spacing:.04em;cursor:pointer;background:0 0;border:1px solid #f4efe324;border-radius:999px;padding:8px 12px;font-family:Sora,sans-serif;font-size:.78rem}.admin-dash-ghost:hover{color:var(--chalk);border-color:#f4efe347}.admin-dash-main{touch-action:pan-y;-webkit-overflow-scrolling:touch;min-height:0;padding:24px 28px 40px;overflow:hidden auto}.admin-dash-toolbar{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:22px;display:flex}.admin-dash-toolbar label{letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim);flex-direction:column;gap:4px;font-size:.7rem;display:flex}.admin-dash-toolbar input{appearance:none;color:var(--chalk);background:#00000047;border:1px solid #f4efe329;border-radius:8px;padding:8px 10px;font-family:Sora,sans-serif}.admin-dash-refresh{appearance:none;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0);border:0;border-radius:999px;padding:10px 16px;font-family:Sora,sans-serif;font-size:.78rem}.admin-dash-error{color:#f0a090}.admin-dash-section h2{margin:0 0 14px;font-family:Fraunces,Georgia,serif;font-size:1.55rem;font-weight:500}.admin-dash-section h3{letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-dim);margin:22px 0 10px;font-family:Sora,sans-serif;font-size:.78rem;font-weight:500}.admin-dash-note{color:var(--chalk-dim);margin:-6px 0 14px;font-size:.9rem}.admin-dash-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.admin-dash-kpis article{background:#ffffff0a;border:1px solid #f4efe314;border-radius:14px;flex-direction:column;gap:6px;padding:16px 14px;display:flex}.admin-dash-kpis span{letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim);font-size:.7rem}.admin-dash-kpis strong{font-family:Fraunces,Georgia,serif;font-size:1.45rem;font-weight:560}.admin-markup-card{border:1px solid color-mix(in srgb, var(--chalk) 16%, transparent);background:color-mix(in srgb, var(--chalk) 5%, transparent);border-radius:14px;gap:10px;margin:14px 0 18px;padding:14px 16px;display:grid}.admin-markup-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.admin-markup-head h3{margin:0 0 4px;font-size:1rem}.admin-markup-head p{color:var(--chalk-dim);max-width:42rem;margin:0;font-size:.85rem;line-height:1.4}.admin-markup-value{font-variant-numeric:tabular-nums;color:var(--dust,#c9a66b);font-family:Fraunces,Georgia,serif;font-size:1.5rem}.admin-markup-slider{gap:6px;display:grid}.admin-markup-ends{color:var(--chalk-dim);justify-content:space-between;font-size:.75rem;display:flex}.admin-markup-slider input[type=range]{width:100%;accent-color:var(--dust,#c9a66b);cursor:pointer;height:1.6rem}.admin-markup-foot{color:var(--chalk-dim);flex-wrap:wrap;align-items:center;gap:10px;font-size:.8rem;display:flex}.admin-markup-foot code{color:var(--chalk);font-size:.78rem}.admin-dash-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-dash-actions li{background:#ffffff0a;border-radius:10px;justify-content:space-between;gap:10px;padding:10px 12px;display:flex}.admin-dash-actions span{color:var(--chalk-dim);font-size:.85rem}.admin-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.admin-true-profit{border-top:1px solid #f3efe41a;margin-top:28px;padding-top:8px}.admin-true-profit-head{margin-bottom:12px}.admin-true-profit-head h2{margin:0 0 6px}.admin-true-profit-note{max-width:68ch;color:var(--chalk-dim);margin:0;font-size:.88rem;line-height:1.45}.admin-true-profit-kpis{margin-top:12px}.admin-true-profit-kpis article small{color:var(--chalk-dim);margin-top:4px;font-size:.75rem;display:block}.admin-true-profit-kpis .admin-kpi-true strong{color:#8fb8e8}.admin-chart-card{background:linear-gradient(165deg,#ffffff08,#0000 55%),#080e0c59;border:1px solid #f3efe41f;border-radius:14px;min-width:0;padding:14px 14px 10px}.admin-chart-wide{grid-column:1/-1}.admin-chart-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.admin-chart-head h3{letter-spacing:.02em;color:var(--chalk);margin:0;font-size:.95rem}.admin-chart-head small{color:var(--chalk-dim);font-size:.75rem}.admin-chart-empty{color:var(--chalk-dim);margin:18px 0 12px;font-size:.9rem}.admin-chart-body{width:100%;height:200px;min-height:160px}.admin-chart-body-lg{height:240px}.admin-chart-body-pie{height:220px}.admin-chart-body-sm{height:180px}.admin-trend,.admin-hbar{width:100%;height:auto;display:block}.admin-chart-track{fill:#f3efe40f}.admin-chart-label,.admin-chart-value,.admin-chart-axis{fill:var(--chalk-dim);font-family:Sora,system-ui,sans-serif;font-size:11px}.admin-chart-value{fill:var(--chalk)}.admin-chart-grid{stroke:#f3efe414;stroke-width:1px}@media (width<=960px){.admin-charts{grid-template-columns:1fr}}.admin-ledger code{color:#c9a66b;font-size:.8rem}.engine-badge{flex-direction:column;gap:1px;max-width:140px;font-size:.72rem;line-height:1.2;display:inline-flex}.engine-badge strong{text-transform:uppercase;letter-spacing:.04em;font-weight:650}.engine-badge small{opacity:.75;word-break:break-all}.engine-badge.path-free strong{color:#7ec8a0}.engine-badge.path-hybrid strong{color:#c9a66b}.engine-badge.path-gemini strong{color:#e08a6a}.engine-badge.path-local strong,.engine-badge.path-other strong{color:#9ab0a4}.cost-free{color:#7ec8a0;letter-spacing:.04em;font-size:.85rem;font-weight:650}.admin-stat-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 0 18px;display:grid}.admin-stat{background:#ffffff0a;border:1px solid #f4efe314;border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.admin-stat span{letter-spacing:.05em;text-transform:uppercase;color:var(--chalk-dim);font-size:.68rem}.admin-stat strong{font-family:Fraunces,Georgia,serif;font-size:1.15rem;font-weight:560}.admin-status{letter-spacing:.04em;text-transform:uppercase;border:1px solid #f4efe326;border-radius:999px;padding:2px 8px;font-size:.72rem;display:inline-block}.admin-status-paid{color:#7ec8b0;background:#7ec8b01a;border-color:#7ec8b059}.admin-status-pending{color:#c9a66b;background:#c9a66b1a;border-color:#c9a66b59}.admin-status-failed{color:#e08a7a;background:#e08a7a1a;border-color:#e08a7a59}.admin-mini{appearance:none;color:var(--chalk);font:inherit;cursor:pointer;background:#f4efe30f;border:1px solid #f4efe333;border-radius:8px;padding:4px 10px;font-size:.75rem}.admin-mini:hover{border-color:#c9a66b8c}.admin-dash-toolbar select{color:var(--chalk);font:inherit;background:#080c0a8c;border:1px solid #f4efe326;border-radius:8px;margin-left:6px;padding:6px 8px}@media (width<=860px){.admin-dash{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.admin-dash-nav{border-bottom:1px solid #f4efe314;border-right:0;max-height:42vh}.admin-dash-nav nav{flex-flow:wrap}}.admin-overlay{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080e0cd1;place-items:center;padding:20px 14px;display:grid;position:fixed;inset:0}.admin-panel{width:min(920px,100%);max-height:min(88vh,900px);color:var(--chalk);background:linear-gradient(165deg,#24302af5,#121a16fa);border:1px solid #f4efe31f;border-radius:18px;flex-direction:column;gap:14px;padding:18px 18px 22px;display:flex;overflow:auto;box-shadow:0 24px 60px #00000073}.admin-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-top h2{margin:0;font-size:1.55rem}.admin-close,.admin-refresh,.admin-actions button,.admin-pack-row button{appearance:none;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0);border:0;border-radius:999px;padding:8px 14px;font-family:Sora,sans-serif;font-size:.8rem}.admin-tabs{gap:6px;display:flex}.admin-tabs button{appearance:none;letter-spacing:.05em;text-transform:uppercase;color:var(--chalk-dim);cursor:pointer;background:#ffffff0f;border:0;border-radius:999px;padding:8px 14px;font-family:Sora,sans-serif;font-size:.78rem}.admin-tabs button.on{color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0)}.admin-filters{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.admin-filters label{letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim);flex-direction:column;gap:4px;font-size:.72rem;display:flex}.admin-filters input{appearance:none;color:var(--chalk);background:#00000040;border:1px solid #f4efe32e;border-radius:8px;padding:8px 10px;font-family:Sora,sans-serif}.admin-error{color:#f0a090;margin:0}.admin-profit-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.admin-profit-cards>div{background:#ffffff0d;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.admin-profit-cards span{letter-spacing:.05em;text-transform:uppercase;color:var(--chalk-dim);font-size:.72rem}.admin-profit-cards strong{font-size:1.15rem;font-weight:600}.admin-table-wrap{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-table thead th{z-index:1;background:#101612;position:sticky;top:0}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #f4efe31a;padding:10px 8px}.admin-table th{letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-dim);font-size:.72rem;font-weight:500}.admin-pager{border-top:1px solid #f4efe31a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:12px;display:flex}.admin-pager-meta{color:var(--chalk-dim);font-variant-numeric:tabular-nums;font-size:.85rem}.admin-table small{color:var(--chalk-dim)}.admin-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-packages{flex-direction:column;gap:12px;display:flex}.admin-packages-lead{color:var(--chalk-dim);max-width:56rem;margin:0;font-size:.9rem;line-height:1.4}.admin-pack-row{background:#ffffff0a;border-radius:12px;grid-template-columns:1.2fr repeat(3,minmax(88px,.8fr)) auto auto auto auto;align-items:end;gap:10px;padding:12px;display:grid}.admin-pack-pkr{color:var(--chalk-dim);white-space:nowrap;padding-bottom:8px;font-size:.82rem}.admin-pack-discount{letter-spacing:.04em;text-transform:uppercase;color:#9fd6c8;white-space:nowrap;padding-bottom:8px;font-size:.72rem}.admin-pack-row input[type=text],.admin-pack-row input:not([type]),.admin-pack-row input[type=number]{appearance:none;width:100%;color:var(--chalk);background:#00000040;border:1px solid #f4efe32e;border-radius:8px;padding:8px 10px;font-family:Sora,sans-serif}.admin-pack-row label{letter-spacing:.05em;text-transform:uppercase;color:var(--chalk-dim);flex-direction:column;gap:4px;font-size:.72rem;display:flex}.admin-check{align-items:center;padding-bottom:8px;flex-direction:row!important;gap:8px!important}@media (width<=720px){.admin-pack-row{grid-template-columns:1fr 1fr}.login-screen{padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(20px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));align-content:start;place-items:start stretch}.login-card,.login-card.login-wide{border-radius:18px;gap:12px;width:100%;max-width:100%;margin:0 auto;padding:26px 20px 24px}.login-card-head,.login-card-body{gap:12px;padding:0}.login-brand{font-size:clamp(1.7rem,8vw,2.2rem)}.login-sub{font-size:1.15rem}.login-field input,.login-field select{padding:12px;font-size:16px}.login-submit{width:100%;padding:14px 16px}}@media (width<=380px){.login-card,.login-card.login-wide{border-radius:16px;padding:22px 16px 20px}}.tour-spotlight-dim,.tour-spotlight-hole{pointer-events:none;z-index:0;position:fixed}.tour-spotlight-dim{background:#080e0c9e;inset:0}.tour-spotlight-hole{outline-offset:2px;border-radius:16px;outline:2px solid #9fd6c8d9;animation:1.6s ease-in-out infinite tour-spot-pulse;box-shadow:0 0 0 9999px #080e0c9e}@keyframes tour-spot-pulse{0%,to{outline-color:#9fd6c88c;box-shadow:0 0 0 9999px #080e0c9e,0 0 #9fd6c859}50%{outline-color:#9fd6c8f2;box-shadow:0 0 0 9999px #080e0c9e,0 0 18px 4px #9fd6c859}}.zoom-dock[data-tour-active=true],.credit-chip[data-tour-active=true],.invite-chip[data-tour-active=true],.mark-btn[data-tour-active=true],.rail-btn[data-tour-active=true],.input-mode-btn[data-tour-active=true]{z-index:81!important}.ink-rail:has([data-tour-active=true]){z-index:81!important}.board-top-chrome:has([data-tour-active=true]){z-index:81!important}.board-brand-row:has([data-tour-active=true]){z-index:81!important}.corner-marks:has([data-tour-active=true]){z-index:81!important}.board-more-sheet:has([data-tour-active=true]){z-index:81!important}[data-tour-active=true]{animation:1.6s ease-in-out infinite tour-target-pulse;position:relative;z-index:81!important}.rail-btn[data-tour-active=true]{color:var(--chalk);background:#121a18f5;box-shadow:0 0 0 1px #9fd6c866}.rail-btn.active[data-tour-active=true]{color:var(--slate-deep);background:var(--accent)}@keyframes tour-target-pulse{0%,to{filter:none;transform:scale(1)}50%{filter:none;transform:scale(1.05)}}.tour-spotlight-panel{z-index:82;pointer-events:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;gap:10px;padding-bottom:2px;display:flex;position:fixed;overflow:auto}.tour-card-compact{flex:none;min-height:0;padding:14px 16px 16px}.tour-missing{color:#e8c27a;margin:0;font-size:.82rem;line-height:1.35}.tour-overlay{z-index:80;-webkit-backdrop-filter:blur(8px);background:radial-gradient(900px 500px at 20% 15%,#7ec8b01f,#0000 55%),radial-gradient(700px 420px at 85% 80%,#6ec6ff1a,#0000 50%),#080e0cc7;place-items:center;padding:24px 16px;animation:.35s both whisper-in;display:grid;position:fixed;inset:0}.tour-overlay.tour-overlay-spotlight{-webkit-backdrop-filter:none;pointer-events:none;background:0 0;place-items:stretch stretch;padding:0;animation:none;display:block}.tour-grain{pointer-events:none;opacity:.18;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:absolute;inset:0}.tour-panel{flex-direction:column;gap:18px;width:min(440px,100%);display:flex;position:relative}.tour-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.tour-hello{color:var(--chalk);margin:0;font-size:1.45rem}.tour-skip{appearance:none;color:var(--chalk-dim);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;padding:6px 8px;font-family:Sora,sans-serif;font-size:.85rem}.tour-skip:hover{color:var(--chalk)}.tour-stage{perspective:900px;min-height:320px;position:relative}.tour-card{background:linear-gradient(165deg,#24302cf5,#121c1afa);border:1px solid #f3efe429;border-radius:22px;flex-direction:column;align-items:flex-start;gap:10px;min-height:320px;padding:28px 26px 32px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 50px #0006,inset 0 1px #f3efe40f}.tour-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 40%,#7ec8b029,#0000 60%);height:70%;position:absolute;inset:auto -20% -40% -10%}.tour-card.accent-cyan:before{background:radial-gradient(circle at 30% 40%,#6ec6ff2e,#0000 60%)}.tour-card.accent-dust:before{background:radial-gradient(circle at 30% 40%,#c8b48a2e,#0000 60%)}.tour-card.enter-next{animation:.38s cubic-bezier(.2,.85,.25,1) both tour-card-next}.tour-card.enter-back{animation:.38s cubic-bezier(.2,.85,.25,1) both tour-card-back}@keyframes tour-card-next{0%{opacity:0;transform:translate(28px)rotateY(-8deg)}to{opacity:1;transform:none}}@keyframes tour-card-back{0%{opacity:0;transform:translate(-28px)rotateY(8deg)}to{opacity:1;transform:none}}.tour-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--chalk-dim);margin:0;font-size:.7rem}.tour-glyph{color:var(--accent);text-shadow:0 0 24px #7ec8b040;margin:8px 0 4px;font-family:Fraunces,Caveat,Georgia,serif;font-size:3.2rem;line-height:1}.tour-card.accent-cyan .tour-glyph{color:#8fd4f0;text-shadow:0 0 24px #6ec6ff4d}.tour-card.accent-dust .tour-glyph{color:var(--dust);text-shadow:0 0 24px #c8b48a40}.tour-glyph.tour-motion-float{animation:2.4s ease-in-out infinite tour-float}.tour-glyph.tour-motion-scribble{transform-origin:70% 80%;animation:1.6s ease-in-out infinite tour-scribble;display:inline-block}.tour-glyph.tour-motion-frame{animation:2s ease-in-out infinite tour-frame}.tour-glyph.tour-motion-settle{animation:1.8s infinite both tour-settle}.tour-glyph.tour-motion-steps{animation:2.2s ease-in-out infinite tour-steps}.tour-glyph.tour-motion-unveil{animation:1.8s ease-in-out infinite tour-unveil}.tour-glyph.tour-motion-plot{animation:2.4s ease-in-out infinite tour-plot}.tour-glyph.tour-motion-spin3d{transform-style:preserve-3d;animation:3.2s linear infinite tour-spin3d}.tour-glyph.tour-motion-orbit{animation:2.6s ease-in-out infinite tour-orbit}@keyframes tour-float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes tour-scribble{0%,to{transform:rotate(-8deg)translate(0)}35%{transform:rotate(10deg)translate(4px)}70%{transform:rotate(-4deg)translate(-2px)}}@keyframes tour-frame{0%,to{opacity:.7;transform:scale(.92)}45%{opacity:1;transform:scale(1.06)}}@keyframes tour-settle{0%{letter-spacing:.18em;opacity:.45;filter:blur(2px)}55%,to{letter-spacing:.02em;opacity:1;filter:none}}@keyframes tour-steps{0%,to{opacity:.55;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}@keyframes tour-unveil{0%,to{opacity:.45;transform:translate(-6px)}50%{opacity:1;transform:translate(4px)}}@keyframes tour-plot{0%,to{opacity:.65;transform:scaleX(.86)translateY(2px)}50%{opacity:1;transform:scaleX(1)translateY(0)}}@keyframes tour-spin3d{0%{transform:rotateY(0)rotateX(12deg)}to{transform:rotateY(360deg)rotateX(12deg)}}@keyframes tour-orbit{0%,to{transform:rotate(-12deg)translate(-3px)}50%{transform:rotate(18deg)translate(4px)}}.tour-title{color:var(--chalk);margin:0;font-size:2.6rem;line-height:1}.tour-body{color:var(--chalk-dim);max-width:34ch;margin:4px 0 0;font-size:1.05rem;line-height:1.45}.tour-dots{justify-content:center;gap:8px;display:flex}.tour-dot{appearance:none;cursor:pointer;background:#f3efe438;border:0;border-radius:50%;width:8px;height:8px;padding:0;transition:transform .2s,background .2s}.tour-dot.on{background:var(--accent);transform:scale(1.25)}.tour-actions{justify-content:space-between;gap:10px;display:flex}.tour-btn{appearance:none;cursor:pointer;color:var(--chalk);background:#121c1ab3;border:1px solid #f3efe42e;border-radius:999px;padding:12px 20px;font-family:Fraunces,Georgia,serif;font-size:1.1rem}.tour-btn:disabled{opacity:.35;cursor:not-allowed}.tour-btn.ghost:hover:not(:disabled){border-color:#f3efe459}.tour-btn.primary{color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0);border:0;box-shadow:0 10px 24px #00000047}.tour-btn.primary:hover{transform:translateY(-1px)}@media (width<=520px){.tour-stage,.tour-card{min-height:280px}.tour-title{font-size:2.2rem}.tour-glyph{font-size:2.6rem}}.topup-overlay{z-index:90;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080e0cd1;place-items:center;padding:20px 14px;display:grid;position:fixed;inset:0}.topup-panel{width:min(720px,100%);max-height:min(88vh,860px);color:var(--chalk);background:linear-gradient(165deg,#24302af5,#121a16fa);border:1px solid #f4efe31f;border-radius:18px;flex-direction:column;gap:16px;padding:22px 20px 24px;display:flex;overflow:auto;box-shadow:0 24px 60px #00000073}.topup-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.topup-kicker{color:#c9a66b;margin:0;font-size:1.1rem}.topup-top h2{margin:2px 0 6px;font-family:Fraunces,Georgia,serif;font-size:1.7rem;font-weight:500}.topup-sub{color:var(--chalk-dim);margin:0;font-size:.92rem}.topup-close,.topup-buy{appearance:none;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0);border:0;border-radius:999px;padding:10px 16px;font-family:Sora,sans-serif;font-size:.78rem}.topup-mode,.topup-note{color:var(--chalk-dim);margin:0;font-size:.85rem}.topup-error{color:#f0a090;margin:0}.topup-packs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.topup-pack{background:#ffffff0a;border:1px solid #f4efe31a;border-radius:14px;flex-direction:column;gap:8px;padding:16px 14px;display:flex}.topup-pack h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-weight:500}.topup-pack-desc{color:var(--chalk-dim);flex:1;margin:0;font-size:.85rem}.topup-pack-price{justify-content:space-between;align-items:baseline;gap:8px;margin:0;display:flex}.topup-pack-amounts{align-items:baseline;gap:8px;display:inline-flex}.topup-pack-list{color:var(--chalk-dim);opacity:.75;font-size:.9rem;-webkit-text-decoration:line-through #f4efe359;text-decoration:line-through #f4efe359}.topup-pack-sale{color:var(--chalk);font-family:Fraunces,Georgia,serif;font-size:1.15rem}.topup-pack-credits,.topup-pack-price span{color:var(--chalk-dim);font-size:.85rem}.topup-pack-price strong{font-family:Fraunces,Georgia,serif;font-size:1.1rem}.topup-empty{color:var(--chalk-dim);margin:0}.topup-tabs{flex-wrap:wrap;gap:6px;display:flex}.topup-tabs button{appearance:none;color:var(--chalk-dim);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #f4efe324;border-radius:999px;padding:8px 14px;font-family:Sora,sans-serif;font-size:.72rem}.topup-tabs button.on{color:var(--slate-deep);background:linear-gradient(#f4efe3,#d7c6a0);border-color:#0000}.topup-invite{flex-direction:column;gap:12px;display:flex}.topup-invite-lead{color:var(--chalk-dim);margin:0;font-size:.92rem;line-height:1.45}.topup-invite-form{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.topup-invite-form .login-field{flex:220px;margin:0}.topup-invite-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.topup-invite-list li{background:#ffffff0a;border:1px solid #f4efe31a;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:.88rem;display:flex}.invite-status{letter-spacing:.04em;text-transform:uppercase;color:var(--chalk-dim);font-size:.72rem}.invite-status.is-rewarded{color:#9fd9c4}.invite-status.is-pending{color:#c9a66b}.topup-history{flex-direction:column;gap:14px;display:flex}.topup-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.topup-history-list li{background:#ffffff0a;border:1px solid #f4efe31a;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:.88rem;display:flex}.topup-history-main{flex-direction:column;gap:2px;min-width:0;display:flex}.topup-history-main strong{font-weight:600}.topup-history-when{color:var(--chalk-dim);font-size:.75rem}.board-redesign .board-header{z-index:80}.board-redesign .learner-picker{border:0;gap:7px;margin:0 0 14px;padding:10px 0;display:grid}.learner-picker legend{color:var(--chalk-dim);font-size:13px}.learner-picker button{border:1px solid var(--border);background:var(--slate);color:var(--chalk);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.learner-picker button[aria-pressed=true]{border-color:var(--accent)}.learner-picker small{color:var(--accent);margin-left:auto}.learner-avatar{background:var(--panel);border:1px solid var(--border);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.selection-actions .visualize-action{color:var(--accent);flex-basis:100%}.visualize-action small{color:var(--chalk-dim);margin-left:8px;font-size:11px}.board-figure{z-index:12;transform-origin:0 0;pointer-events:auto;color:var(--chalk);position:absolute}.board-redesign .board-figure .graph-overlay{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:relative;inset:auto}.board-redesign .board-figure .graph-canvas{touch-action:none;background:0 0;width:100%;height:auto}.board-redesign .board-figure .graph-title{color:var(--chalk)}.board-redesign .board-figure .graph-header{padding:8px 0}.board-redesign[data-board-theme=white] .board-figure canvas{filter:invert()hue-rotate(180deg)}.figure-tools,.graph-explore{flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.figure-tools{opacity:.75}.board-figure:hover .figure-tools,.board-figure:focus-within .figure-tools{opacity:1}.figure-tools button,.graph-explore button{border:1px solid var(--border);min-width:36px;min-height:36px;color:var(--chalk);background:var(--panel);cursor:pointer;border-radius:8px}.figure-move{touch-action:none;cursor:move!important}.figure-tools span{color:var(--chalk-dim);margin-left:auto}.figure-parameters{flex-wrap:wrap;gap:14px;padding:10px 0;display:flex}.figure-parameters label{flex:1;gap:8px;min-width:120px;font-size:13px;display:grid}.figure-parameters input{width:100%;accent-color:var(--accent)}.graph-explore output{color:var(--chalk-dim);margin-left:auto}.quick-palette{border:1px solid var(--border);background:var(--panel);z-index:35;border-radius:18px;align-items:center;gap:10px;padding:8px;display:flex;position:fixed;bottom:22px;right:280px;box-shadow:0 4px 20px #0002}.quick-colours,.quick-sizes{gap:4px;display:flex}.quick-colours button,.quick-sizes button{width:38px;height:42px;color:var(--chalk);cursor:pointer;background:0 0;border:2px solid #0000;border-radius:10px}.quick-colours button[aria-pressed=true],.quick-sizes button[aria-pressed=true]{border-color:var(--accent)}.quick-colours span{background:var(--pen-colour);color:#182b23;text-shadow:0 0 2px #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.quick-sizes{border-left:1px solid var(--border);padding-left:6px}.quick-sizes i{background:var(--chalk);border-radius:4px;width:22px;display:block}.typed-board-text{white-space:pre-wrap;color:var(--chalk);font:28px/36px sans-serif}.type-backdrop{z-index:150;background:#0006;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.type-dialog{border:1px solid var(--border);background:var(--panel);width:min(520px,100%);color:var(--chalk);border-radius:22px;padding:24px;box-shadow:0 20px 80px #0005}.type-dialog h2{margin:0 0 20px}.type-dialog label{margin-bottom:8px;display:block}.type-dialog textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--slate);width:100%;min-height:150px;color:var(--chalk);resize:vertical;border-radius:12px;padding:12px;font:18px/1.5 sans-serif}.type-dialog p{color:var(--chalk-dim);font-size:12px;line-height:1.6}.type-dialog>div{justify-content:flex-end;gap:10px;display:flex}.type-dialog button{background:var(--slate);min-height:44px;color:var(--chalk);border:1px solid var(--border);cursor:pointer;border-radius:10px;padding:8px 16px}.type-dialog button[type=submit]{background:var(--accent);color:var(--slate)}@media (width<=700px){.quick-palette{flex-direction:column;gap:4px;padding:6px;bottom:84px;left:10px;right:auto}.quick-colours{flex-wrap:wrap;max-width:120px}.quick-sizes{border:0;padding:0}.quick-colours button,.quick-sizes button{width:36px;height:36px}.board-redesign:has(.challenge-controls) .quick-palette{bottom:250px}.board-redesign .board-edit-dock{gap:2px;padding:5px}.board-redesign .board-edit-dock button{min-width:34px}}:root{--classroom-bg:#1e342d;--classroom-panel:#263f35;--classroom-ink:#f3efe4;--classroom-muted:#c1cec4;--classroom-border:#ffffff29;--classroom-accent:#b8dca5}.login-screen{background:var(--classroom-bg);color:var(--classroom-ink);--classroom-bg:#1e342d;--classroom-panel:#263f35;--classroom-ink:#f3efe4;--classroom-muted:#c1cec4;--classroom-border:#ffffff29;--classroom-accent:#b8dca5;--chalk:var(--classroom-ink);--chalk-dim:var(--classroom-muted);--slate:var(--classroom-bg);--slate-deep:var(--classroom-panel);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.login-screen .login-card,.login-screen .kid-select-card{background:var(--classroom-panel);color:var(--classroom-ink);border:1px solid var(--classroom-border);border-radius:24px;box-shadow:0 20px 70px #0003}.login-screen .login-brand,.login-screen .landing-brand,.login-screen .landing-proof,.login-screen .login-sub,.login-screen .login-field{color:var(--classroom-ink)}.login-screen .login-field input,.login-screen .login-field select,.login-screen .login-field textarea{background:var(--classroom-bg);color:var(--classroom-ink);border:1px solid var(--classroom-border);border-radius:10px;min-height:46px}.login-screen .login-submit{background:var(--classroom-accent);color:var(--classroom-bg);border:0;border-radius:12px;min-height:48px;font-family:inherit}.login-screen .login-tabs button,.login-screen .kid-profile-card{background:var(--classroom-bg);border:1px solid var(--classroom-border);color:var(--classroom-ink);border-radius:14px}.login-screen .login-tabs button.on,.login-screen .kid-profile-card.is-active{border-color:var(--classroom-accent);box-shadow:inset 0 0 0 1px var(--classroom-accent)}.login-screen .kid-profile-avatar{background:var(--classroom-panel);border:1px solid var(--classroom-border);color:var(--classroom-ink)}.login-screen .kid-profile-meta,.login-screen .kid-select-hint,.login-screen .login-forgot{color:var(--classroom-muted)}.landing-screen .landing-wall,.landing-screen .landing-room{background:var(--classroom-bg)}.landing-screen .landing-slate{border:1px solid var(--classroom-border);border-radius:24px;box-shadow:0 20px 80px #0002}.landing-screen .landing-rail button.on{border-color:var(--classroom-accent);color:var(--classroom-ink)}.landing-screen{--classroom-bg:#1e342d;--classroom-panel:#263f35;--classroom-ink:#f3efe4;--classroom-muted:#c1cec4;--classroom-border:#ffffff29;--classroom-accent:#b8dca5;--chalk:#f3efe4;--chalk-dim:#c1cec4;--slate:#1e342d;--slate-deep:#172b25;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.board-redesign{--slate:#1e342d;--slate-deep:#172b25;--chalk:#f3efe4;--chalk-dim:#c1cec4;--border:#ffffff29;--ink-line:#ffffff26;--accent:#b8dca5;--panel:#263f35;color:var(--chalk);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.board-redesign[data-board-theme=black]{--slate:#222629;--slate-deep:#1b1e20;--panel:#303638;--chalk-dim:#c3ccca}.board-redesign[data-board-theme=white]{--slate:#fafbf7;--slate-deep:#eef2eb;--panel:#f3f6f0;--chalk:#253d32;--chalk-dim:#53665a;--border:#253d323d;--ink-line:#253d3226;--accent:#346638;--dust:#6b5731;--warn:#805600;--danger:#a23429;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.board-redesign .stage{background:var(--slate)}.board-redesign .stage:before{opacity:.07}.board-redesign button{-webkit-tap-highlight-color:transparent}.board-redesign button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.board-redesign .board-header{gap:10px;top:12px;left:90px;right:14px}.board-redesign .board-brand{flex:1;gap:9px}.board-redesign .board-brand-img{max-width:110px}.board-redesign .board-header-utils{margin-left:auto}.board-redesign .board-header-utils .invite-chip{display:none}.board-redesign .corner-marks{display:none!important}.board-redesign .board-menu-button,.board-redesign .user-pill-btn{border:1px solid var(--border);background:var(--panel);color:var(--chalk);min-height:42px;font:inherit;cursor:pointer;border-radius:10px;padding:8px 12px}.board-redesign .credit-chip{background:var(--panel);border-color:var(--border);color:var(--chalk);min-height:42px}.board-redesign .credit-label,.board-redesign .credit-value,.board-redesign .credit-topup{color:var(--chalk)}.board-redesign .ink-rail{border:1px solid var(--border);background:var(--panel);border-radius:15px;gap:2px;max-height:calc(100% - 115px);padding:6px;top:90px;bottom:auto;left:12px;overflow-y:auto;transform:none}.board-redesign .rail-btn{width:56px;height:49px;min-height:46px;color:var(--chalk);border-radius:9px;padding:4px}.board-redesign .rail-btn.active{background:var(--slate-deep);color:var(--accent);border-color:var(--accent)}.board-redesign .rail-label{opacity:1;font:11px/1.2 Sora,Segoe UI,sans-serif}.board-redesign .rail-btn{flex-direction:column;justify-content:center;gap:4px;display:flex}.board-redesign .rail-label{text-transform:none;letter-spacing:0;color:currentColor;display:block;position:static;left:auto;transform:none}.board-redesign .toast{pointer-events:none;font-size:13px;top:110px}.board-redesign .toast button{pointer-events:auto}.board-redesign .rail-icon{flex-shrink:0;width:20px;height:20px}.board-redesign .zoom-dock{background:var(--panel)}.board-redesign .zoom-btn{color:var(--chalk)}.board-redesign .kid-pill{display:none}.board-redesign .rail-gap{height:6px}.board-redesign .user-menu-popover{background:var(--panel);color:var(--chalk);border:1px solid var(--border);z-index:50;width:min(340px,100vw - 24px);max-height:calc(100dvh - 100px);padding:12px;overflow:auto}.board-redesign .user-menu-item{color:var(--chalk);min-height:42px}.account-wallet{color:var(--chalk-dim);margin:4px 8px 10px;font-size:12px}.appearance-picker{border-top:1px solid var(--border);color:var(--chalk);gap:10px;margin-top:12px;padding:12px 4px;font-size:12px;display:grid}.appearance-options,.pen-options{flex-wrap:wrap;gap:8px;display:flex}.appearance-options button{background:var(--slate);color:var(--chalk);border:1px solid var(--border);font:inherit;border-radius:8px;flex:1;justify-items:center;gap:5px;padding:8px 5px;display:grid}.board-swatch{border:1px solid var(--border);border-radius:4px;place-items:center;width:38px;height:26px;display:grid}.pen-options button{background:var(--slate);border:1px solid var(--border);border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.pen-options button span{border:1px solid var(--border);border-radius:50%;width:19px;height:19px;display:block}.appearance-picker button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:1px}.selection-actions,.geometry-toolbar{z-index:12;background:var(--panel);color:var(--chalk);border:1px solid var(--border);border-radius:14px;padding:8px;position:absolute;box-shadow:0 8px 25px #0002}.selection-actions{z-index:45;flex-wrap:wrap;gap:6px;display:flex}.selection-actions button,.geometry-controls button,.challenge-buttons button{min-height:44px;color:var(--chalk);border:1px solid var(--border);background:var(--slate);font:inherit;cursor:pointer;border-radius:9px;padding:9px 12px;font-size:13px}.selection-actions button{flex:105px}.selection-actions button:disabled,.geometry-controls button:disabled{opacity:.45;cursor:default}.geometry-tools-layer{pointer-events:none;z-index:30;position:absolute;inset:0}.geometry-tools-layer>*{pointer-events:auto}.geometry-drag{border:1px dashed var(--accent);cursor:grab;touch-action:none;position:absolute}.geometry-point{cursor:pointer;touch-action:none;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute}.geometry-point span{border:2px solid var(--accent);background:var(--panel);width:23px;height:23px;color:var(--chalk);border-radius:50%;place-items:center;font:11px sans-serif;display:grid}.geometry-point[aria-pressed=true] span{color:var(--slate);background:var(--accent)}.geometry-controls{flex-wrap:wrap;gap:5px;margin:7px 0;display:flex}.geometry-controls button[aria-pressed=true]{border-color:var(--accent)}.geometry-toolbar small{color:var(--chalk-dim);font-size:12px;display:block}.board-redesign .ai-wheel{z-index:10;background:var(--panel);border-radius:50%;width:244px;height:244px;max-height:none;padding:0;transition:width .16s,height .16s;display:block;position:absolute;inset:auto 20px 22px auto;overflow:visible;box-shadow:0 8px 30px #0002}.ai-wheel-core{border:1px solid var(--border);background:var(--slate);width:64px;height:64px;color:var(--chalk);cursor:pointer;border-radius:50%;place-content:center;gap:2px;font:500 22px Sora,sans-serif;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ai-wheel-core span{color:var(--chalk-dim);font-size:10px}.board-redesign .ai-wheel .rail-btn{background:0 0;border:0;width:62px;height:54px;min-height:44px;position:absolute;top:calc(50% - 27px);left:calc(50% - 31px)}.board-redesign .ai-wheel .rail-btn:nth-of-type(2){transform:translateY(-85px)}.board-redesign .ai-wheel .rail-btn:nth-of-type(3){transform:translate(74px,-43px)}.board-redesign .ai-wheel .rail-btn:nth-of-type(4){transform:translate(74px,43px)}.board-redesign .ai-wheel .rail-btn:nth-of-type(5){transform:translateY(85px)}.board-redesign .ai-wheel .rail-btn:nth-of-type(6){transform:translate(-74px,43px)}.board-redesign .ai-wheel .rail-btn:nth-of-type(7){transform:translate(-74px,-43px)}.board-redesign .ai-wheel:not(.ai-wheel-open){width:64px;height:64px}.board-redesign .ai-wheel:not(.ai-wheel-open) .rail-btn{display:none}.board-redesign .ai-wheel .rail-btn:hover,.board-redesign .ai-wheel .rail-btn.active{background:var(--slate);color:var(--accent)}.board-edit-dock{border:1px solid var(--border);background:var(--panel);z-index:10;border-radius:12px;gap:4px;padding:5px;display:flex;position:absolute;bottom:18px;left:20px}.board-redesign .board-edit-dock .rail-btn{height:45px;min-height:44px}.board-redesign:has(.challenge-controls) .ai-wheel{bottom:165px}.board-redesign:has(.challenge-controls) .challenge-controls{bottom:78px;left:20px;right:20px}@media (width<=720px){.board-redesign .ai-wheel{flex-direction:initial;width:224px;height:224px;inset:auto 12px 14px auto;overflow:visible}.board-redesign .ai-wheel .rail-btn{width:56px;left:calc(50% - 28px)}.board-redesign .ai-wheel:not(.ai-wheel-open){width:64px;height:64px}.board-redesign .board-edit-dock{bottom:10px;left:10px}.board-redesign .scene-motion-bar{bottom:250px;left:10px;right:10px}.board-redesign:has(.challenge-controls) .ai-wheel{bottom:235px}.board-redesign:has(.challenge-controls) .challenge-controls{bottom:78px;left:10px;right:10px}}.board-redesign .scene-motion-bar{background:var(--panel);border-color:var(--border);flex-wrap:wrap;gap:6px;width:auto;max-width:none;padding:8px;display:flex;bottom:62px;left:90px;right:14px;transform:none}.board-redesign .scene-motion-icon{width:auto;min-width:60px;height:auto;min-height:48px;color:var(--chalk);flex-direction:column;gap:5px;padding:7px 10px;display:flex}.scene-motion-btn span{font-size:11px}.board-redesign .scene-motion-go,.board-redesign .scene-motion-stop{border:1px solid var(--accent);flex-direction:row;min-width:120px}.scene-motion-go span,.scene-motion-stop span{font-size:13px}@media (prefers-reduced-motion:no-preference){.scene-motion-btn:hover svg,.scene-motion-btn:focus-visible svg{animation:.8s ease-in-out 2 motion-preview}@keyframes motion-preview{50%{transform:translateY(-4px)rotate(12deg)}}}.challenge-controls{z-index:9;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:9px;position:absolute;bottom:14px;left:90px;right:14px}.challenge-question{color:var(--chalk-dim);-webkit-user-select:text;user-select:text;max-height:44px;padding:2px 4px 8px;font-size:13px;overflow:auto}.challenge-buttons{flex-wrap:wrap;gap:6px;display:flex}.board-redesign:has(.challenge-controls) .board-whisper{bottom:138px}.board-redesign .challenge-ruled{height:1px;overflow:visible}.board-redesign .challenge-rule-line{border-color:var(--border)}.board-redesign .math-chip,.board-redesign .solution-panel{color:var(--chalk)}.board-redesign .solution-panel{background:var(--slate)}.solution-coins{z-index:15;border:1px solid var(--border);color:var(--chalk);background:var(--panel);cursor:pointer;border-radius:10px;padding:10px 13px;position:absolute;top:72px;right:18px}.board-redesign .chalk-unveil{min-width:130px;min-height:58px}.board-redesign .chalk-caption{font:15px Sora,Segoe UI,sans-serif}.board-redesign[data-board-theme=white] .board-whisper,.board-redesign[data-board-theme=white] .math-chip-inner{color:var(--chalk)}.board-redesign[data-board-theme=white] .board-more-sheet{background:var(--panel);color:var(--chalk)}.board-redesign .board-more-action,.board-redesign .board-more-row{color:var(--chalk)}@media (width<=720px){.board-redesign .board-header{gap:6px;top:8px;left:12px;right:12px}.board-redesign .board-brand{flex:100%}.board-redesign .board-brand-img{max-width:90px}.board-redesign .board-top-chrome{justify-content:flex-end;width:100%}.board-redesign .user-menu-anchor{margin-left:auto}.board-redesign .user-menu-popover{position:fixed;top:58px;left:auto;right:12px}.board-redesign .ink-rail{flex-direction:row;justify-content:flex-start;width:auto;max-height:none;inset:auto 10px 10px;overflow:auto hidden}.board-redesign .rail-btn{flex:0 0 47px;width:47px;min-height:48px}.board-redesign .rail-gap{flex:0 0 4px;width:4px;height:auto}.board-redesign .scene-motion-bar{bottom:80px;left:10px;right:10px}.board-redesign .scene-motion-icon{min-width:53px}.challenge-controls{bottom:80px;left:10px;right:10px}.challenge-buttons button{flex:auto;min-height:40px;padding:7px;font-size:12px}.board-redesign:has(.challenge-controls) .board-whisper{bottom:240px}.board-redesign .board-whisper{bottom:86px}.board-redesign .board-whisper-scene{bottom:260px}}.board-redesign .board-whisper{max-width:calc(100% - 320px);font:13px/1.5 Sora,Segoe UI,sans-serif;bottom:84px;left:20px}.board-redesign .challenge-rule-line{background:var(--border)}.board-redesign .ink-rail.ai-wheel{width:244px;height:244px;max-height:none;display:block;inset:auto 20px 22px auto;overflow:visible;transform:none}.board-redesign .ink-rail.ai-wheel:not(.ai-wheel-open){width:64px;height:64px}.board-redesign:has(.challenge-controls) .ink-rail.ai-wheel{bottom:215px}.board-redesign .scene-motion-bar{bottom:83px;left:20px;right:285px}.board-redesign .board-whisper-scene{bottom:215px}@media (width<=720px){.board-redesign .ink-rail.ai-wheel{width:224px;height:224px;inset:auto 12px 14px auto}.board-redesign .board-header{flex-wrap:wrap}.board-redesign .board-brand{flex-basis:100%;width:100%}.board-redesign .board-top-chrome{flex:100%;width:100%}.board-redesign .rail-label{display:block}.board-redesign:has(.challenge-controls) .ink-rail.ai-wheel{bottom:245px}.board-redesign .board-whisper{max-width:calc(100% - 24px);bottom:250px;left:12px}.board-redesign .scene-motion-bar{bottom:250px;left:10px;right:10px}.board-redesign .board-whisper-scene{bottom:410px}}.geometry-face-picker{pointer-events:none;z-index:20;position:fixed;inset:0}.geometry-face-picker polygon{fill:#9ed7ff44;stroke:#9ed7ff;stroke-width:2px;pointer-events:auto;cursor:crosshair}.point-builder{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.point-builder label{gap:4px;font-size:12px;display:grid}.point-builder select{background:var(--slate);color:var(--chalk);border:1px solid var(--border);border-radius:6px;padding:6px}.geometry-toolbar{max-height:calc(100dvh - 110px);overflow:auto}.geometry-tools-layer .geometry-toolbar{z-index:30}.geometry-tools-layer .geometry-point{z-index:25}.geometry-tools-layer .geometry-face-picker{pointer-events:none}.board-redesign .board-wrap{z-index:auto}.board-redesign .math-chip{box-shadow:none;background:0 0;border:0;padding:0}.board-redesign .board-edit-dock>button{min-width:48px;min-height:44px;color:var(--chalk);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:14px;display:flex}.board-edit-dock>button>span{font-size:11px}@media (width<=700px){.board-redesign .user-menu-popover{max-height:calc(100dvh - 128px);top:108px}}.learning-coach{z-index:95;box-sizing:border-box;background:var(--panel);width:min(320px,100vw - 40px);color:var(--chalk);border:1px solid var(--accent);border-radius:20px;padding:20px;position:fixed;top:110px;left:20px;box-shadow:0 12px 50px #0003}.learning-coach header,.learning-coach footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.learning-coach header{color:var(--chalk-dim);font-size:12px}.learning-coach h2{margin:16px 0 8px;font-size:21px}.learning-coach p{font-size:13px;line-height:1.7}.learning-coach button{border:1px solid var(--border);background:var(--slate);min-height:38px;color:var(--chalk);cursor:pointer;border-radius:9px;padding:7px 12px}.learning-coach footer button:last-child{background:var(--accent);color:var(--slate)}.coach-progress{gap:4px;margin-top:12px;display:flex}.coach-progress i{background:var(--border);border-radius:3px;flex:1;height:3px}.coach-progress i.reached{background:var(--accent)}.coach-success{color:var(--accent);margin:12px 0;font-size:12px}@media (prefers-reduced-motion:reduce){[data-tour-active=true]{animation:none!important}}.landing-screen .landing-brand,.landing-screen .landing-tagline,.landing-screen .landing-proof,.landing-screen .login-card{opacity:1;filter:none;animation:none}.board-redesign [data-tour-active=true]{outline:2px solid var(--accent);outline-offset:4px;animation:none!important}.admin-learning-report{background:#ffffff04;border:1px solid #ffffff25;border-radius:16px;margin-top:28px;padding:20px}.admin-learning-report header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-learning-report h2{margin:0;font-size:18px}.admin-learning-report select{color:#f3efe4;background:#20372d;border:1px solid #ffffff30;border-radius:8px;padding:8px}.admin-learning-report p{color:#bdcbbf;font-size:12px;line-height:1.6}.learning-metrics{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:20px 0;display:grid}.learning-metrics>div{border:1px solid #ffffff20;border-radius:12px;gap:8px;padding:14px;display:grid}.learning-metrics span{color:#bdcbbf;font-size:11px}.learning-metrics strong{font-size:23px}.young-learner .solution-step{border:1px solid var(--border);background:var(--panel);border-radius:18px;margin:14px 0;padding:20px}.young-learner .solution-step:nth-child(3n+1){border-left:5px solid #9ed7ff}.young-learner .solution-step:nth-child(3n+2){border-left:5px solid #b8dca5}.young-learner .solution-step:nth-child(3n){border-left:5px solid #ffe299}.young-learner .solution-math{font-family:system-ui,sans-serif;font-size:clamp(22px,2.5vw,30px);line-height:1.7}.young-learner .solution-header-actions button{min-height:44px}.counting-aid{background:var(--panel);border:1px solid var(--border);border-radius:18px;margin-bottom:20px;padding:16px}.counting-aid p{font-size:16px}.counting-groups{flex-wrap:wrap;gap:20px;display:flex}.counting-group{flex-wrap:wrap;gap:6px;max-width:250px;display:flex}.counting-group button{color:#9ed7ff;cursor:pointer;background:0 0;border:2px solid #9ed7ff;border-radius:50%;width:42px;height:42px;font-size:23px}.counting-group.group-1 button{color:#ffb7cc;border-color:#ffb7cc}.counting-aid output{margin-top:12px;display:block}.google-retry{border:1px solid var(--classroom-border);color:var(--classroom-ink);border-radius:10px;padding:12px;font-size:12px;line-height:1.6}.google-retry button{border:1px solid var(--classroom-border);color:var(--classroom-ink);background:var(--classroom-bg);cursor:pointer;border-radius:8px;padding:8px 12px}.young-learner .match-chip{box-sizing:border-box;border-radius:16px;flex-direction:column;align-items:center;gap:8px;min-height:72px;padding:16px;font-family:system-ui,sans-serif;font-size:22px;display:flex}.match-picture{font-size:40px;line-height:1}.match-chip-text{overflow-wrap:anywhere;word-break:break-word;max-width:100%}.match-chip-btn{cursor:pointer;appearance:none;width:100%;font:inherit;color:inherit}.match-chip-btn:disabled{cursor:default;opacity:.92}.match-chip.selected{border-color:#7ec8ff;transform:scale(1.03);box-shadow:0 0 0 3px #7ec8ff59}.match-chip.matched{background:#8fd18f2e;border-color:#8fd18f}.match-chip.wrong{border-color:#ff8f8f;animation:.45s match-shake}.match-play-hud{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.match-play-prompt{color:var(--chalk,#e8e4d9);flex:12rem;min-width:0;margin:0;font-size:1.05rem}.match-stars{letter-spacing:2px;flex-shrink:0;gap:4px;font-size:1.4rem;display:flex}.match-star{opacity:.28;color:#c9a227}.match-star.lit{opacity:1;transform:scale(1.1)}.match-celebrate{text-align:center;background:#e0b36a2e;border:1px solid #e0b36a66;border-radius:16px;margin-top:14px;padding:12px 16px}.match-celebrate p{margin:0;font-size:1.15rem}.nursery-play .counting-group button.taken{opacity:.35;text-decoration:line-through}.compare-groups .compare-dot{font-size:22px;line-height:1}.compare-groups .counting-group{border:1px dashed var(--border,#fff3);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:12px}.nursery-choices{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.nursery-choice{border:1px solid var(--border,#fff3);background:var(--panel,#101613b8);min-height:48px;color:inherit;cursor:pointer;border-radius:14px;align-items:center;gap:8px;padding:10px 16px;font-size:1.1rem;display:inline-flex}.nursery-choice.good{background:#8fd18f33;border-color:#8fd18f}.nursery-choice.bad{border-color:#ff8f8f}.opposite-prompt{flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0;font-size:1.4rem;display:flex}.challenge-match-play{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;max-width:min(720px,96vw);max-height:min(70dvh,100dvh - 140px);overflow:hidden auto}.challenge-match-play .match-panel{margin-top:8px}.challenge-match-play .challenge-question{max-height:3.2em}@keyframes match-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (prefers-reduced-motion:reduce){.match-chip.selected,.match-star.lit{transform:none}.match-chip.wrong{animation:none}}@media (width<=720px){.board-redesign .challenge-match-play{left:10px;right:10px;bottom:calc(var(--mobile-rail-bottom,10px) + var(--mobile-rail-h,54px) + 10px);width:auto;max-width:none;max-height:min(58dvh, calc(100dvh - 150px - env(safe-area-inset-top,0px)));z-index:18;padding:10px}.board-redesign:has(.challenge-match-play) .ink-rail:not(.ai-wheel){bottom:var(--mobile-rail-bottom,10px)}.board-redesign:has(.challenge-match-play) .ink-rail.ai-wheel{bottom:calc(var(--mobile-rail-bottom,10px) + var(--mobile-rail-h,54px) + min(58dvh, 380px) + 12px);right:12px}.board-redesign:has(.challenge-match-play) .board-whisper{bottom:calc(var(--mobile-rail-bottom,10px) + var(--mobile-rail-h,54px) + min(58dvh, 380px) + 16px);max-width:calc(100vw - 88px);left:12px}.board-redesign:has(.challenge-match-play) .quick-palette{bottom:calc(var(--mobile-rail-bottom,10px) + var(--mobile-rail-h,54px) + min(58dvh, 380px) + 16px);left:10px;right:auto}.board-redesign:has(.challenge-match-play) .board-edit-dock{left:auto;right:10px;bottom:calc(var(--mobile-rail-bottom,10px) + var(--mobile-rail-h,54px) + 6px);justify-content:flex-end;width:auto}.young-learner .match-chip{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;min-height:52px;padding:10px 12px;font-size:1rem}.young-learner .match-picture{flex-shrink:0;font-size:28px}.young-learner .match-chip.selected{transform:none}.match-play-prompt{font-size:.95rem}.match-stars{font-size:1.15rem}.nursery-choice{min-height:44px;padding:8px 12px;font-size:1rem}.counting-group button{width:38px;height:38px;font-size:18px}}@media (width<=520px){.match-play-columns,.young-learner .match-columns,.solution-panel.young-learner .match-columns{grid-template-columns:1fr 1fr;gap:10px}.challenge-match-play .challenge-buttons button{width:100%;min-height:44px}.match-play-hud{gap:6px;margin-bottom:8px}}.selection-heading{color:var(--chalk);opacity:.75;flex:0 0 100%;justify-content:space-between;padding:3px 4px 5px;font-size:11px;display:flex}.selection-heading span:first-child{letter-spacing:.09em;font-size:9px}.selection-actions .solve-choice{text-align:left;background:color-mix(in srgb,var(--accent) 12%,var(--panel));flex:42%;grid-template-columns:22px 1fr;gap:4px;padding:12px 8px;display:grid}.solve-choice small{opacity:.75;grid-column:2;font-size:10px}.solve-choice strong{font-size:13px}.selection-actions .visualize-action{flex:48%}.selection-actions .tidy-action{background:0 0;border-color:#0000;flex:0 0 100%;min-height:32px;padding:5px;font-size:12px}.tidy-action small{opacity:.6;margin-left:8px;font-size:10px}.coach-demo{z-index:55;pointer-events:none;color:var(--accent,#9ce9dc);position:fixed;inset:0;overflow:visible}.coach-demo path,.demo-selection{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.demo-ink{stroke-dasharray:1;animation:5s ease-in-out infinite coach-write}.demo-selection{stroke-dasharray:1;animation:3s ease-in-out infinite coach-write}.coach-demo text{fill:currentColor;font:12px system-ui}.demo-pen{animation:5s ease-in-out infinite coach-pen}.demo-pen path,.demo-pen circle{fill:currentColor;stroke:none}@keyframes coach-write{0%,10%{stroke-dashoffset:1px;opacity:.4}70%,90%{stroke-dashoffset:0;opacity:.9}to{stroke-dashoffset:0;opacity:.2}}@keyframes coach-pen{0%,10%{transform:translate(20px,45px)}35%{transform:translate(70px,90px)}50%{transform:translate(135px,60px)}68%,90%{transform:translate(272px,72px)}to{opacity:0;transform:translate(272px,72px)}}@media (prefers-reduced-motion:reduce){.demo-ink,.demo-selection,.demo-pen{animation:none}.demo-pen{display:none}}.learning-coach{max-height:calc(100dvh - 145px);overflow-y:auto}.graph-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (width<=700px){.learning-coach{width:calc(100vw - 24px);max-height:36dvh;padding:12px;top:110px;left:12px}.learning-coach h2{margin:9px 0 4px;font-size:17px}.learning-coach p{margin:6px 0 10px;font-size:12px;line-height:1.45}.learning-coach .coach-progress{margin-top:7px}.figure-tools button,.graph-explore button{min-width:44px;min-height:44px}}.graph-plot-area{position:relative}.graph-coordinate{pointer-events:none;color:#172923;font-variant-numeric:tabular-nums;z-index:2;background:#fffef6;border:2px solid #172923;border-radius:11px;gap:3px;min-width:108px;max-width:150px;padding:10px 13px;font:600 17px/1.35 system-ui,sans-serif;display:grid;position:absolute;box-shadow:0 4px 18px #0004}.graph-coordinate small{font-size:10px;font-weight:500}.graph-coordinate span{justify-content:space-between;gap:14px;display:flex}.graph-coordinate b{color:#27594a}.graph-explore output{font-size:13px;line-height:1.5}.ai-working{z-index:110;box-sizing:border-box;border:1px solid var(--accent);background:var(--panel);width:min(430px,100vw - 28px);color:var(--chalk);pointer-events:none;border-radius:18px;align-items:center;gap:14px;padding:16px 18px 19px;display:flex;position:fixed;top:92px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 35px #0003}.ai-working strong{font-size:14px}.ai-working p{color:var(--chalk-dim);margin:5px 0 0;font-size:12px;line-height:1.45}.ai-working-time{opacity:.7;white-space:nowrap;margin-left:auto;font:11px system-ui}.ai-working-orbit{height:42px;color:var(--accent);flex:0 0 42px;place-items:center;font-size:25px;display:grid;position:relative}.ai-working-orbit i{border:1px solid var(--accent);border-top-width:3px;border-right-color:#0000;border-radius:50%;animation:2s linear infinite ai-orbit;position:absolute;inset:0}.ai-working-orbit i:nth-child(2){opacity:.5;animation-duration:3s;animation-direction:reverse;inset:6px}.ai-working-shimmer{background:linear-gradient(90deg,transparent,var(--accent),transparent);width:40%;height:3px;animation:2.5s ease-in-out infinite ai-shimmer;position:absolute;bottom:0;left:0}@keyframes ai-orbit{to{transform:rotate(360deg)}}@keyframes ai-shimmer{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (width<=700px){.ai-working{top:108px}}@media (prefers-reduced-motion:reduce){.ai-working-orbit i,.ai-working-shimmer{animation:none}.ai-working-shimmer{opacity:.5;width:100%}}.coach-demo .demo-motion-track{stroke-dasharray:5 8;opacity:.6}.demo-motion-dot{fill:currentColor;offset-path:path("M30 100 Q145 -40 260 100");animation:3s ease-in-out infinite alternate coach-motion}@keyframes coach-motion{to{offset-distance:100%}}@media (prefers-reduced-motion:reduce){.demo-motion-dot{offset-distance:50%;animation:none}}@media (width<=720px){.board-redesign .ink-rail.ai-wheel{bottom:84px}.board-redesign .board-edit-dock{justify-content:space-around;right:10px}.board-redesign .board-whisper{max-width:calc(100vw - 24px);bottom:318px}.board-redesign .scene-motion-bar{max-height:30dvh;bottom:325px;left:10px;right:10px;overflow-y:auto}}.challenge-tutor{z-index:48;box-sizing:border-box;background:var(--panel);width:min(340px,100vw - 24px);color:var(--chalk);border:1px solid var(--accent);border-radius:16px;max-height:40dvh;padding:14px 16px;position:fixed;top:105px;right:20px;overflow-y:auto;box-shadow:0 6px 24px #0002}.challenge-tutor header{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.challenge-tutor header>span{opacity:.8;margin-left:auto;font-size:11px}.challenge-tutor button{border:1px solid var(--border);background:var(--slate);min-height:32px;color:var(--chalk);cursor:pointer;border-radius:8px;padding:5px 8px;font-size:11px}.challenge-tutor p{white-space:pre-wrap;margin:12px 0;font:15px/1.65 system-ui,sans-serif}.challenge-next-hint{border-inline-start:3px solid var(--accent);padding-inline-start:10px}.challenge-tutor small{opacity:.8;line-height:1.5;display:block}.challenge-guidance-history{border-top:1px solid var(--border);margin-bottom:0;padding-inline-start:20px}.challenge-guidance-history li{padding-top:12px;font-size:12px}@media (width<=700px){.challenge-tutor{max-height:30dvh;top:110px;right:12px}}.selection-actions.selection-palette{background:var(--slate);border-color:color-mix(in srgb,var(--chalk) 17%,transparent);border-radius:21px;grid-template-columns:1fr 1fr;gap:7px;padding:9px;display:grid;box-shadow:0 10px 35px #0003}.selection-palette .solve-choice{border-radius:13px;grid-template-columns:24px 1fr;align-items:center;gap:6px;min-height:74px;padding:14px 10px;display:grid}.selection-palette .solve-choice small{opacity:.8;font-size:10px}.selection-palette .solve-choice strong{white-space:nowrap;font-size:13px;font-weight:600}.selection-palette .solve-primary{background:var(--accent);color:var(--slate);border-color:#0000}.selection-palette .solve-all{background:var(--panel);color:var(--chalk);border-color:#0000}.selection-secondary{grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:3px;padding-top:5px;display:grid}.selection-palette .selection-secondary button{color:var(--chalk);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:65px;padding:8px 3px;font-size:12px;display:flex}.selection-palette .selection-secondary button svg{color:var(--chalk-dim)}.selection-palette button:hover:not(:disabled){filter:brightness(1.1)}.selection-palette .selection-secondary button:hover:not(:disabled){background:var(--panel)}.selection-palette button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.challenge-tutor{font-family:system-ui,sans-serif}.formula-lib-backdrop{z-index:28;padding:max(12px, env(safe-area-inset-top,0px)) 16px max(12px, env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:radial-gradient(at 30% 20%,#7ec8b01f,#0000 42%),radial-gradient(at 80% 80%,#e0b36a1a,#0000 45%),#040807b8;place-items:center;display:grid;position:fixed;inset:0}.formula-lib-window{border:1px solid color-mix(in srgb, var(--chalk,#f3efe4) 16%, transparent);width:min(1080px,96vw);height:min(860px,92vh);color:var(--chalk,#f3efe4);background:linear-gradient(165deg,#1c2622fa,#0e1412fa);border-radius:22px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 28px 80px #0000008c,inset 0 1px #fff8e60f}.formula-lib-top{border-bottom:1px solid color-mix(in srgb, var(--chalk,#f3efe4) 12%, transparent);justify-content:space-between;align-items:center;gap:16px;padding:18px 22px 14px;display:flex}.formula-lib-brand{align-items:center;gap:14px;min-width:0;display:flex}.formula-lib-mark{color:#e0b36a;background:radial-gradient(circle at 30% 30%,#e0b36a47,#0000 55%),#7ec8b01a;border:1px solid #e0b36a59;border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.formula-lib-brand h2{letter-spacing:.01em;margin:0;font-family:Fraunces,Georgia,serif;font-size:1.45rem;font-weight:650}.formula-lib-brand p{color:color-mix(in srgb, var(--chalk,#f3efe4) 62%, transparent);margin:2px 0 0;font-size:.82rem}.formula-lib-close{border:1px solid color-mix(in srgb, var(--chalk,#f3efe4) 22%, transparent);background:color-mix(in srgb, var(--chalk,#f3efe4) 6%, transparent);color:var(--chalk,#f3efe4);font:inherit;cursor:pointer;border-radius:999px;padding:.45rem .95rem;font-size:.86rem}.formula-lib-close:hover{background:#e0b36a1f;border-color:#e0b36a8c}.formula-lib-shell{flex:1;grid-template-columns:220px minmax(0,1fr);min-height:0;display:grid}.formula-lib-nav{border-right:1px solid color-mix(in srgb, var(--chalk,#f3efe4) 10%, transparent);background:#00000029;flex-direction:column;gap:14px;padding:16px 14px 18px;display:flex}.formula-lib-search input{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--chalk,#f3efe4) 18%, transparent);width:100%;color:var(--chalk,#f3efe4);font:inherit;background:#080c0ba6;border-radius:12px;padding:.7rem .85rem;font-size:.9rem}.formula-lib-search input:focus{border-color:#7ec8b08c;outline:none;box-shadow:0 0 0 3px #7ec8b01f}.formula-lib-subjects{flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:2px;display:flex;overflow:auto}.formula-lib-subject{text-align:left;width:100%;color:color-mix(in srgb, var(--chalk,#f3efe4) 72%, transparent);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:.7rem .8rem;font-size:.92rem;display:flex}.formula-lib-subject em{color:color-mix(in srgb, var(--chalk,#f3efe4) 48%, transparent);background:color-mix(in srgb, var(--chalk,#f3efe4) 8%, transparent);border-radius:999px;padding:.12rem .45rem;font-size:.75rem;font-style:normal}.formula-lib-subject:hover{background:color-mix(in srgb, var(--chalk,#f3efe4) 7%, transparent);color:var(--chalk,#f3efe4)}.formula-lib-subject.is-active{color:var(--chalk,#f3efe4);background:linear-gradient(135deg,#7ec8b029,#e0b36a14);border-color:#7ec8b059}.formula-lib-subject.is-active em{color:#e0b36a;background:#e0b36a24}.formula-lib-main{flex-direction:column;min-width:0;min-height:0;display:flex}.formula-lib-main-head{justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 22px 10px;display:flex}.formula-lib-main-head h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-weight:650}.formula-lib-main-head p{max-width:46ch;color:color-mix(in srgb, var(--chalk,#f3efe4) 62%, transparent);margin:4px 0 0;font-size:.88rem;line-height:1.4}.formula-lib-count{letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb, var(--chalk,#f3efe4) 55%, transparent);flex-shrink:0;padding-top:6px;font-size:.78rem}.formula-lib-scroll{flex:1;min-height:0;padding:6px 18px 18px;overflow:auto}.formula-lib-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.formula-lib-card{text-align:left;border:1px solid color-mix(in srgb, var(--chalk,#f3efe4) 14%, transparent);width:100%;min-height:148px;color:inherit;cursor:pointer;font:inherit;background:linear-gradient(160deg,#ffffff09,#0000 48%),#0a0e0d73;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 14px 16px;transition:border-color .18s,transform .18s,background .18s;display:flex}.formula-lib-card:hover,.formula-lib-card.is-focus{background:linear-gradient(160deg,#e0b36a1a,#0000 50%),#0c1210b3;border-color:#e0b36a73;transform:translateY(-2px)}.formula-lib-card.is-opened{border-color:#7ec8b08c}.formula-lib-card-top{justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:2px;display:flex}.formula-lib-viz{letter-spacing:.06em;text-transform:uppercase;color:#7ec8b0;white-space:nowrap;border:1px solid #7ec8b047;border-radius:999px;padding:.18rem .5rem;font-size:.68rem}.formula-lib-open-label{color:color-mix(in srgb, var(--chalk,#f3efe4) 48%, transparent);font-size:.75rem}.formula-lib-card-title{color:var(--chalk,#f3efe4);font-size:1.02rem;font-weight:600;line-height:1.25}.formula-lib-card-write{color:#e0b36a;word-break:break-word;background:0 0;font-size:.92rem}.formula-lib-card-detail{color:color-mix(in srgb, var(--chalk,#f3efe4) 58%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:auto;padding-top:6px;font-size:.8rem;line-height:1.35;display:-webkit-box;overflow:hidden}.formula-lib-empty{color:color-mix(in srgb, var(--chalk,#f3efe4) 65%, transparent);place-items:start;gap:6px;padding:48px 12px;display:grid}.formula-lib-empty strong{color:var(--chalk,#f3efe4);font-size:1.05rem}.formula-lib-preview{border-top:1px solid color-mix(in srgb, var(--chalk,#f3efe4) 12%, transparent);background:#00000038;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px 16px;display:flex}.formula-lib-preview-copy{gap:2px;min-width:0;display:grid}.formula-lib-preview-kicker{letter-spacing:.08em;text-transform:uppercase;color:#7ec8b0;font-size:.7rem}.formula-lib-preview-copy strong{font-size:1.05rem}.formula-lib-preview-copy code{color:#e0b36a;text-overflow:ellipsis;white-space:nowrap;background:0 0;font-size:.9rem;overflow:hidden}.formula-lib-preview-copy span:last-child{color:color-mix(in srgb, var(--chalk,#f3efe4) 58%, transparent);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.formula-lib-preview-go{font:inherit;cursor:pointer;color:#141816;background:linear-gradient(135deg,#e0b36a,#c9a05a);border:none;border-radius:999px;flex-shrink:0;padding:.75rem 1.25rem;font-weight:600;box-shadow:0 10px 24px #e0b36a38}.formula-lib-preview-go:hover{filter:brightness(1.05)}@media (width<=820px){.formula-lib-window{width:min(100%,96vw);height:min(94vh,920px)}.formula-lib-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.formula-lib-nav{border-right:none;border-bottom:1px solid color-mix(in srgb, var(--chalk,#f3efe4) 10%, transparent);padding-bottom:12px}.formula-lib-subjects{flex-flow:row;padding-bottom:4px;overflow-x:auto}.formula-lib-subject{white-space:nowrap;flex:none}.formula-lib-grid{grid-template-columns:1fr}.formula-lib-preview{flex-direction:column;align-items:stretch}.formula-lib-preview-go{width:100%}}@media (width<=520px){.formula-lib-top{padding:14px 14px 12px}.formula-lib-brand h2{font-size:1.2rem}.formula-lib-main-head,.formula-lib-scroll{padding-left:14px;padding-right:14px}}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.1"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.holo-awaken{left:50%;bottom:max(22px, env(safe-area-inset-bottom,0px));z-index:16;pointer-events:none;position:absolute;transform:translate(-50%)}.holo-awaken-seal{pointer-events:auto;color:#f3efe4;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 18% 40%,#7ec8b038,#0000 42%),linear-gradient(135deg,#121c18eb,#0c1210e0);border:1px solid #e0b36a61;border-radius:999px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:14px;min-width:min(320px,100vw - 48px);padding:12px 18px 12px 12px;transition:transform .25s,border-color .25s,box-shadow .25s;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #7ec8b01f,0 18px 40px #00000059,inset 0 1px #fff8e614}.holo-awaken-seal:hover:not(:disabled){border-color:#e0b36ab3;transform:translateY(-2px)scale(1.015);box-shadow:0 0 0 1px #e0b36a33,0 22px 48px #0006,0 0 28px #7ec8b02e}.holo-awaken-seal:disabled{cursor:progress;opacity:.95}.holo-awaken-orbit,.holo-awaken-orbit-2{pointer-events:none;border:1px dashed #7ec8b073;border-radius:50%;width:64px;height:64px;margin-top:-32px;animation:8s linear infinite holo-awaken-spin;position:absolute;top:50%;left:12px}.holo-awaken-orbit-2{border-style:solid;border-color:#e0b36a59;width:50px;height:50px;margin-top:-25px;animation-duration:5.2s;animation-direction:reverse;left:19px}.holo-awaken.is-ready .holo-awaken-orbit{border-color:#e0b36ab3;animation-duration:4.5s}.holo-awaken-ticks{background:conic-gradient(from 0deg, transparent 0 8deg, #f3efe48c 8deg 10deg, transparent 10deg 53deg, #7ec8b080 53deg 55deg, transparent 55deg 98deg, #f3efe473 98deg 100deg, transparent 100deg 143deg, #e0b36a8c 143deg 145deg, transparent 145deg 188deg, #f3efe466 188deg 190deg, transparent 190deg 233deg, #7ec8b073 233deg 235deg, transparent 235deg 278deg, #e0b36a80 278deg 280deg, transparent 280deg 323deg, #f3efe473 323deg 325deg, transparent 325deg 360deg);opacity:.85;pointer-events:none;border-radius:50%;width:64px;height:64px;margin-top:-32px;animation:14s linear infinite holo-awaken-spin;position:absolute;top:50%;left:12px;-webkit-mask:radial-gradient(circle,#0000 58%,#000 60% 72%,#0000 74%);mask:radial-gradient(circle,#0000 58%,#000 60% 72%,#0000 74%)}.holo-awaken-prism{z-index:1;color:#7ec8b0;filter:drop-shadow(0 0 10px #7ec8b059);place-items:center;width:64px;height:64px;animation:2.4s ease-in-out infinite holo-awaken-float;display:grid;position:relative}.holo-awaken.is-ready .holo-awaken-prism{color:#e0b36a;filter:drop-shadow(0 0 14px #e0b36a73)}.holo-awaken.is-forging .holo-awaken-prism{color:#9fd6ff;animation:.9s ease-in-out infinite holo-awaken-pulse}.holo-awaken-copy{text-align:left;flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.holo-awaken-kicker{letter-spacing:.18em;text-transform:uppercase;color:#7ec8b0e6;font-family:Sora,system-ui,sans-serif;font-size:10px}.holo-awaken.is-ready .holo-awaken-kicker{color:#e0b36af2}.holo-awaken-title{letter-spacing:.02em;font-family:Fraunces,Georgia,serif;font-size:1.5rem;font-weight:650;line-height:1.05}.holo-awaken-sub{color:#f3efe49e;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-family:Sora,system-ui,sans-serif;font-size:.72rem;overflow:hidden}.holo-awaken-dust{pointer-events:none;position:absolute;inset:0;overflow:hidden}.holo-awaken-dust i{background:#e0b36abf;border-radius:50%;width:3px;height:3px;animation:3.2s ease-in-out infinite holo-awaken-mote;position:absolute}.holo-awaken-dust i:first-child{animation-delay:0s;bottom:18%;left:18%}.holo-awaken-dust i:nth-child(2){background:#7ec8b0b3;animation-delay:.4s;bottom:30%;left:28%}.holo-awaken-dust i:nth-child(3){animation-delay:.8s;bottom:42%;left:12%}.holo-awaken-dust i:nth-child(4){animation-delay:.2s;bottom:22%;right:22%}.holo-awaken-dust i:nth-child(5){background:#7ec8b0a6;animation-delay:.9s;bottom:38%;right:30%}.holo-awaken-dust i:nth-child(6){animation-delay:1.3s;bottom:48%;right:14%}@keyframes holo-awaken-spin{to{transform:rotate(360deg)}}@keyframes holo-awaken-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes holo-awaken-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}@keyframes holo-awaken-mote{0%,to{opacity:0;transform:translateY(0)scale(.7)}30%{opacity:.9}to{opacity:0;transform:translateY(-28px)scale(1.1)}}@media (width<=640px){.holo-awaken{bottom:max(88px, calc(env(safe-area-inset-bottom,0px) + 72px))}.holo-awaken-seal{min-width:min(292px,100vw - 28px);padding-right:14px}.holo-awaken-title{font-size:1.35rem}.holo-awaken-sub{white-space:normal}}.library-forge{z-index:32;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(at 40% 35%,#7ec8b024,#0000 42%),radial-gradient(at 70% 70%,#e0b36a1a,#0000 48%),#04080794;place-items:center;padding:24px;animation:.28s ease-out library-forge-in;display:grid;position:fixed;inset:0}.library-forge-card{text-align:center;color:#f3efe4;background:linear-gradient(165deg,#1c2622f5,#0c1210f5);border:1px solid #e0b36a52;border-radius:22px;justify-items:center;gap:16px;width:min(420px,92vw);padding:28px 26px 22px;display:grid;box-shadow:0 24px 60px #00000073,inset 0 1px #fff8e60f}.library-forge-orb{color:#e0b36a;filter:drop-shadow(0 0 16px #e0b36a59);place-items:center;width:88px;height:88px;display:grid;position:relative}.library-forge-ring,.library-forge-ring-2{border:1px dashed #7ec8b080;border-radius:50%;animation:3.2s linear infinite library-forge-spin;position:absolute;inset:0}.library-forge-ring-2{border-style:solid;border-color:#e0b36a59;animation-duration:2.2s;animation-direction:reverse;inset:10px}.library-forge-core{z-index:1;animation:1.4s ease-in-out infinite library-forge-float;position:relative}.library-forge-copy{gap:4px;min-width:0;display:grid}.library-forge-kicker{letter-spacing:.16em;text-transform:uppercase;color:#7ec8b0f2;font-family:Sora,system-ui,sans-serif;font-size:.7rem}.library-forge-title{font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:650;line-height:1.2}.library-forge-stage{color:#f3efe4ad;min-height:1.3em;font-family:Sora,system-ui,sans-serif;font-size:.88rem}.library-forge-bar{background:#f3efe41a;border-radius:999px;width:100%;height:4px;overflow:hidden}.library-forge-bar i{border-radius:inherit;background:linear-gradient(90deg,#7ec8b0,#e0b36a);height:100%;transition:width 80ms linear;display:block}@keyframes library-forge-in{0%{opacity:0}to{opacity:1}}@keyframes library-forge-spin{to{transform:rotate(360deg)}}@keyframes library-forge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}
