@font-face{font-family:"Baloo 2";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/99a6754d6cc35c0d.ttf)format("truetype")}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/db932b3668b61884.ttf)format("truetype")}:root{--bg:#f5f4f0;--surface:#fff;--sidebar:#fbfaf7;--line:#e6e4de;--line-strong:#d6d3cb;--fill:#efede8;--ink:#1b1f24;--ink-2:#4c535c;--ink-3:#80868e;--accent:#0f766e;--accent-soft:#e2f2ef;--on-ink:#fff;--ink-press:#000;--avatar:#e2efff;--danger:#a33a2c;--danger-line:#eab5ad;--danger-wash:#fff1ee;--shadow:#0000001f;--display:"Baloo 2","Avenir Next",system-ui,sans-serif;--side-w:264px;--bar-h:64px;color:var(--ink);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,system-ui,sans-serif;font-size:16px}:root[data-theme=dark]{--bg:#141719;--surface:#1e2225;--sidebar:#181b1e;--line:#2d3237;--line-strong:#3c4248;--fill:#272b30;--ink:#eceef0;--ink-2:#b5bbc2;--ink-3:#899098;--accent:#4fc2b5;--accent-soft:#17332f;--on-ink:#141719;--ink-press:#fff;--tip:#352d17;--tip-ink:#f0d68a;--avatar:#23344a;--danger:#f0907f;--danger-line:#6b3a33;--danger-wash:#3a211d;--shadow:#0006}:root[data-theme=dark] .tint-orange{--tint:#33241b;--tint-strong:#4a3222;--tint-ink:#f2a57a}:root[data-theme=dark] .tint-blue{--tint:#1c2939;--tint-strong:#253a54;--tint-ink:#8fbcf0}:root[data-theme=dark] .tint-green{--tint:#1f2c1a;--tint-strong:#2d4224;--tint-ink:#a3d387}:root[data-theme=dark] .tint-purple{--tint:#27213a;--tint-strong:#372e55;--tint-ink:#bba8f5}:root[data-theme=dark] .tint-teal{--tint:#16302b;--tint-strong:#1f463e;--tint-ink:#7fd8c6}*{box-sizing:border-box}body{-webkit-tap-highlight-color:transparent;margin:0}a{color:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.skip-link{z-index:99;background:var(--surface);border-radius:10px;padding:12px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:8px}.tint-orange{--tint:#ffeadd;--tint-strong:#ffd6bd;--tint-ink:#a94618}.tint-blue{--tint:#e2efff;--tint-strong:#cde2ff;--tint-ink:#285f9f}.tint-green{--tint:#e8f5de;--tint-strong:#d2ebbf;--tint-ink:#3c7420}.tint-purple{--tint:#efe9ff;--tint-strong:#ddd3ff;--tint-ink:#5a3ec0}.tint-teal{--tint:#dcf4ee;--tint-strong:#bce9de;--tint-ink:#0f6a62}.brand{letter-spacing:-.02em;align-items:center;gap:10px;min-height:44px;padding:0 8px;font-size:1.15rem;font-weight:750;text-decoration:none;display:flex}.brand-mark{flex:none;grid-template-columns:repeat(2,11px);gap:3px;display:grid}.brand-mark i{background:#ff8a65;border-radius:4px;width:11px;height:11px}.brand-mark i:nth-child(2){background:#ffc83d}.brand-mark i:nth-child(3){background:#4aa8ff}.brand-mark i:nth-child(4){background:#34c3a8}.app-shell{grid-template-columns:var(--side-w) minmax(0,1fr);min-height:100dvh;display:grid}.app-shell>main{width:100%;min-width:0}.sidebar{height:100dvh;padding:18px 14px calc(18px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:18px;display:flex;position:sticky;top:0;overflow-y:auto}.side-nav{flex-direction:column;gap:2px;display:flex}.side-nav a,.side-share,.side-foot a,.side-theme{min-height:46px;color:var(--ink-2);border-radius:12px;align-items:center;gap:12px;padding:6px 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.side-nav a.current,.side-foot a.current{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line),0 1px 2px var(--shadow)}.side-nav a:active,.side-share:active,.side-foot a:active,.side-theme:active{background:var(--fill)}.side-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.07em;margin:0;padding:0 12px 6px;font-size:.72rem;font-weight:700}.side-nav--tools a{gap:12px;padding-left:8px}.side-nav--adults{border-top:1px solid var(--line);padding-top:14px}.side-thumb{background:var(--tint-strong);border-radius:10px;flex:none;width:34px;height:34px;overflow:hidden}.side-foot{border-top:1px solid var(--line);margin-top:auto;padding-top:12px}.side-foot a,.side-theme{color:var(--ink-3);font-size:.88rem}.side-theme{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;font-family:inherit}.side-foot .icon{width:18px;height:18px}.tool-art{background:var(--tint-strong);place-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden}.tool-art img{width:100%;height:100%;display:block}.tool-art--cover img{object-fit:cover}.tool-art--contain img{object-fit:contain;padding:10%}.tool-art--card img{object-fit:contain;background:#fff}.tool-tile .tool-art--card img{aspect-ratio:1;border-radius:18px;width:50%;height:auto;padding:6%;transform:rotate(-4deg);box-shadow:0 10px 24px -10px #0000004d}.tool-tile .tool-art--contain img{padding:8%}.directory{width:100%;max-width:1180px;padding:44px 40px 40px;padding-right:max(40px,env(safe-area-inset-right))}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 10px;font-size:.76rem;font-weight:750}h1{font-family:var(--display);letter-spacing:-.01em;margin:0 0 10px;font-size:clamp(2.2rem,4.2vw,3.1rem);font-weight:800;line-height:1.05}.intro{color:var(--ink-2);margin:0 0 28px;font-size:1.08rem;line-height:1.55}.learner-prompt{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-items:center;gap:16px;margin:0 0 24px;padding:14px 14px 14px 16px;display:flex}.learner-prompt__icon{background:var(--avatar);border-radius:14px;flex:none;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.learner-prompt strong{font-size:1rem;display:block}.learner-prompt p{color:var(--ink-2);margin:2px 0 0;font-size:.92rem;line-height:1.4}.learner-prompt button{background:var(--ink);min-height:46px;color:var(--on-ink);font:inherit;cursor:pointer;border:0;border-radius:12px;flex:none;margin-left:auto;padding:0 20px;font-weight:700}.tool-group+.tool-group{border-top:1px solid var(--line-strong);margin-top:36px;padding-top:28px}.tool-group__head{flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:0 0 16px;display:flex}.tool-group__head h2,.tool-group__head h3{font-family:var(--display);margin:0;font-size:1.4rem;font-weight:800;line-height:1.2}.tool-group__head p{color:var(--ink-3);margin:0;font-size:.92rem;line-height:1.4}.tool-group__label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:.74rem;font-weight:750}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(236px,1fr));gap:18px;display:grid}.tool-tile{background:var(--tint);color:var(--ink);border-radius:26px;flex-direction:column;padding:12px;text-decoration:none;transition:transform .15s;display:flex;position:relative;box-shadow:0 3px #0000000d}.tool-tile .tool-art{aspect-ratio:3/2;border-radius:18px;height:auto}.tool-tile:active{transform:scale(.98)}.tool-copy{padding:14px 62px 6px 8px}.category{color:var(--tint-ink);margin:0 0 4px;font-size:.76rem;font-weight:750}.tool-copy h3{font-family:var(--display);letter-spacing:-.005em;margin:0 0 4px;font-size:1.7rem;font-weight:800;line-height:1.1}.tool-copy>p:not(.category){color:var(--ink-2);margin:0;font-size:.93rem;line-height:1.45}.tool-go{background:var(--ink);width:48px;height:48px;color:var(--on-ink);border-radius:16px;place-items:center;padding-left:3px;font-size:.95rem;display:grid;position:absolute;bottom:18px;right:18px}.directory-footer{border-top:1px solid var(--line);color:var(--ink-3);justify-content:space-between;align-items:center;gap:16px;margin-top:36px;padding:20px 2px;font-size:.88rem;display:flex}.directory-footer__links{flex-wrap:wrap;flex-shrink:0;gap:0 20px;display:flex}.directory-footer__note{max-width:42rem;margin:0;line-height:1.45}.directory-footer a{min-height:44px;color:var(--ink-2);align-items:center;gap:4px;font-weight:650;text-decoration:none;display:inline-flex}.button-link{background:var(--ink);min-height:46px;color:var(--on-ink);border-radius:12px;align-items:center;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.activity-view{flex-direction:column;height:100dvh;display:flex}.activity-bar{min-height:calc(var(--bar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));background:var(--surface);border-bottom:1px solid var(--line);z-index:5;flex:none;align-items:center;gap:12px;display:flex;position:relative}.back-link{background:var(--fill);white-space:nowrap;border-radius:13px;align-items:center;gap:6px;min-height:46px;padding:0 16px 0 10px;font-weight:650;text-decoration:none;display:inline-flex}.back-link:active{background:var(--line)}.activity-title{min-width:0;font-family:inherit;font-size:1.02rem;font-weight:700;line-height:inherit;letter-spacing:normal;align-items:center;gap:10px;margin:0;display:flex}.activity-title>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-title__art{border-radius:10px;flex:none;width:36px;height:36px;overflow:hidden}.activity-bar__learner{align-items:center;gap:8px;margin-left:auto;display:flex}.activity-container{flex:1;min-height:0;display:flex}.activity-frame{background:var(--surface);border:0;flex:1;width:100%;min-height:0;display:block}.tool-setup{--t-ink:#34454a;--t-ivory:#fff9ef;--t-glow:#fffdf8;--t-paper:#fff;--t-muted:#8a979b;--t-card-line:#eadfcd;--t-panel-line:#f0e6d6;--t-panel-ledge:#eee3d0;--t-prompt:#4c9f9b;--t-prompt-deep:#357370;--t-prompt-wash:#e7f3f2;--t-gold:#e8b94f}:root[data-theme=dark] .tool-setup{--t-ink:#efe7da;--t-ivory:#1c1a17;--t-glow:#24211c;--t-paper:#27241f;--t-muted:#a39b8e;--t-card-line:#3b352d;--t-panel-line:#35302a;--t-panel-ledge:#12110e;--t-prompt:#4a9e99;--t-prompt-deep:#2c5f5c;--t-prompt-wash:#1c3533}.tool-setup{padding:24px max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(ellipse at 50% 18%,var(--t-glow) 0 30%,transparent 70%),var(--t-ivory);color:var(--t-ink);flex:1;place-items:center;font-family:Nunito,ui-rounded,Avenir Next,system-ui,sans-serif;display:grid;overflow-y:auto}.tool-setup__card{border:4px solid var(--t-panel-line);background:var(--t-paper);width:min(100%,720px);box-shadow:0 8px 0 var(--t-panel-ledge);text-align:center;border-radius:28px;gap:14px;padding:clamp(20px,4vmin,36px);display:grid}.tool-setup__card h1{margin:0;font-size:clamp(32px,5.4vmin,48px);font-weight:800;line-height:1.1}.tool-setup__card p{max-width:44ch;color:var(--t-muted);margin:0 auto;font-size:17px;font-weight:700}.tool-setup__card h2{color:var(--t-muted);text-transform:uppercase;letter-spacing:.06em;margin:8px 0 0;font-size:15px;font-weight:800}.tool-setup__options{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;display:grid}.tool-setup__options button{border:2px solid var(--t-card-line);background:var(--t-paper);min-height:84px;color:var(--t-ink);font:inherit;text-align:left;cursor:pointer;border-radius:16px;gap:4px;padding:14px 18px;display:grid}.tool-setup__options strong{font-size:19px;font-weight:800}.tool-setup__options small{color:var(--t-muted);font-size:15px;font-weight:700;line-height:1.35}.tool-setup__options button[aria-checked=true]{border-color:var(--t-prompt);background:var(--t-prompt-wash);box-shadow:inset 0 0 0 2px var(--t-prompt)}.tool-setup__play{background:var(--t-prompt);min-width:240px;min-height:88px;box-shadow:0 8px 0 var(--t-prompt-deep);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;justify-self:center;align-items:center;gap:12px;margin-top:12px;padding:0 48px 0 38px;font-size:clamp(28px,4.4vmin,40px);font-weight:800;display:inline-flex}.tool-setup__play:active{box-shadow:0 2px 0 var(--t-prompt-deep);transform:translateY(6px)}.tool-setup__options button:focus-visible,.tool-setup__play:focus-visible{outline:6px solid var(--t-gold);outline-offset:6px}.tool-setup__play svg{fill:currentColor;width:36px;height:36px}.tool-setup__play:active{transform:translateY(3px)}@media (hover:hover){.side-nav a:hover,.side-share:hover,.side-foot a:hover,.side-theme:hover{background:var(--fill);color:var(--ink)}.tool-tile:hover{transform:translateY(-3px)}.back-link:hover{background:var(--line)}}@media (width<=999px){:root{--side-w:96px}.sidebar{padding-left:max(10px,env(safe-area-inset-left));align-items:stretch;gap:14px;padding-right:10px}.brand{justify-content:center;padding:0}.brand-name{display:none}.brand-mark{grid-template-columns:repeat(2,13px)}.brand-mark i{width:13px;height:13px}.side-nav a,.side-share,.side-foot a,.side-theme{text-align:center;flex-direction:column;justify-content:center;gap:4px;min-height:62px;padding:8px 2px;font-size:.72rem;line-height:1.15}.side-nav a>span:last-child,.side-share>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.side-nav--tools a{padding-left:2px}.side-nav--tools a>span:last-child{white-space:normal;overflow-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.side-thumb{border-radius:12px;width:42px;height:42px}.side-label{text-align:center;padding:0;font-size:.62rem}.directory{padding:34px 28px 32px}}@media (width<=699px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.sidebar{z-index:5;height:auto;padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top));border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:6px;position:sticky;overflow:visible}.sidebar-learner{order:3;margin-left:auto}.side-nav{flex-direction:row}.side-nav a,.side-share{min-width:56px;min-height:44px;padding:4px 6px}.side-nav a>span:last-child,.side-share>span:last-child{max-width:none}.side-nav--tools,.side-foot a{display:none}.side-foot{border:0;order:4;margin:0;padding:0}.side-theme{min-width:44px;min-height:44px;padding:4px 6px}.side-theme span{display:none}.directory{padding:26px 18px 28px}.learner-prompt{flex-wrap:wrap}.learner-prompt button{width:100%}.tool-grid{grid-template-columns:1fr 1fr;gap:12px}.tool-copy{padding-right:8px}.tool-copy h3{font-size:1.35rem}.tool-copy>p:not(.category),.tool-go{display:none}.directory-footer{flex-direction:column;align-items:flex-start;gap:4px}.activity-bar{gap:8px}.back-link span,.activity-title>span:last-child{display:none}.back-link{padding:0 12px}}@media (width<=399px){.side-nav a.study-link{display:none}}@media (width<=479px){.sidebar:has(.side-nav a[href^="/learners/"]) .side-theme{display:none}}@media (prefers-reduced-motion:reduce){.tool-tile{transition:none}.tool-tile:hover,.tool-tile:active{transform:none}}.pa-root{--pa-surface:var(--surface,#fff);--pa-page:var(--bg,#f5f4f0);--pa-ink:var(--ink,#1b1f24);--pa-ink-2:var(--ink-2,#4c535c);--pa-muted:var(--ink-3,#7b8189);--pa-line:var(--line,#e6e4de);--pa-fill:var(--fill,#efede8);--pa-grid:#ecebe6;--pa-axis:#c3c2b7;--s1:#2a78d6;--s2:#eb6834;--s3:#1baf7a;--compare:#b5b3ac;--muted-series:#c3c2b7;--seq-1:#cde2fb;--seq-2:#9ec5f4;--seq-3:#6da7ec;--seq-4:#2a78d6;--seq-5:#184f95;--seq-ink-strong:#fff;--ord-1:#86b6ef;--ord-2:#3987e5;--ord-3:#1c5cab;--good:#0ca30c;--warning:#fab219;--critical:#d03b3b;--info:#6e7781;--good-ink:#006300;--bad-ink:#a8322d;--flow:#2a78d6}:root[data-theme=dark] .pa-root{--pa-grid:#2a2e33;--pa-axis:#3b4046;--s1:#3987e5;--s2:#d95926;--s3:#199e70;--compare:#5b5f66;--muted-series:#4a4f55;--seq-1:#1f3550;--seq-2:#1c5cab;--seq-3:#2a78d6;--seq-4:#5598e7;--seq-5:#9ec5f4;--seq-ink-strong:#0d0d0d;--ord-1:#1c5cab;--ord-2:#3987e5;--ord-3:#86b6ef;--info:#9aa1a9;--good-ink:#4cc24c;--bad-ink:#f0907f;--flow:#5598e7}.pa-root .analytics-heading{align-items:flex-end;margin-bottom:18px}.pa-root .analytics-heading .intro{max-width:640px;margin-bottom:0}.pa-head-actions{align-items:center;gap:12px;display:flex}.pa-head-actions small{color:var(--pa-muted);white-space:nowrap;font-size:12px}.pa-filters{flex-wrap:wrap;align-items:flex-end;margin-bottom:18px}.pa-presets{border:1px solid var(--pa-line);border-radius:9px;align-self:flex-end;display:inline-flex;overflow:hidden}.pa-presets button{border:0;border-right:1px solid var(--pa-line);background:var(--pa-surface);color:var(--pa-ink-2);cursor:pointer;white-space:nowrap;min-height:40px;padding:0 14px;font:600 13px system-ui}.pa-presets button:last-child{border-right:0}.pa-presets button:hover{background:var(--pa-fill)}.pa-presets button[aria-pressed=true]{background:var(--pa-ink);color:var(--pa-surface)}.pa-tabs{z-index:5;scrollbar-width:none;background:var(--pa-page);border-bottom:1px solid var(--pa-line);gap:4px;margin:0 -4px 22px;padding:8px 4px;display:flex;position:sticky;top:0;overflow-x:auto}.pa-tabs::-webkit-scrollbar{display:none}.pa-tabs button{color:var(--pa-ink-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;flex:none;padding:9px 14px;font:650 14px system-ui;position:relative}.pa-tabs button:hover{background:var(--pa-fill);color:var(--pa-ink)}.pa-tabs button[aria-selected=true]{background:var(--pa-surface);color:var(--pa-ink);box-shadow:0 0 0 1px var(--pa-line), 0 1px 2px #0000000f}.pa-tab-alert{background:var(--critical);vertical-align:2px;border-radius:50%;width:7px;height:7px;margin-left:7px;display:inline-block}.pa-panel{transition:opacity .2s}.pa-panel.refreshing{opacity:.6}.pa-root button:focus-visible,.pa-root [tabindex]:focus-visible,.pa-root a:focus-visible,.pa-root summary:focus-visible{outline-offset:2px;outline:3px solid #168a93}.pa-root svg rect[tabindex]:focus-visible{stroke:#168a93;stroke-width:2px;outline:none}.pa-banner{border:1px solid var(--pa-line);background:var(--pa-surface);color:var(--pa-ink-2);border-radius:10px;margin:0 0 16px;padding:12px 16px;font-size:14px}.pa-banner.error{background:var(--an-error-bg,#fff4ee);color:var(--an-error-ink,#8a432d);border-color:var(--an-error-line,#f0d6c6)}.pa-loading{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.pa-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pa-section-head{margin:30px 2px 14px}.pa-section-head h2{letter-spacing:-.02em;margin:0;font-size:1.25rem}.pa-section-head p,.pa-records-intro{color:var(--pa-muted);margin:6px 0 0;font-size:13px;line-height:1.55}.pa-records-intro{max-width:760px;margin:0 2px 18px}.pa-compare-note{color:var(--pa-muted);margin:-8px 2px 18px;font-size:12px}.pa-kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.pa-kpis-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pa-kpi{background:var(--pa-surface);border:1px solid var(--pa-line);border-radius:14px;flex-direction:column;gap:6px;min-width:0;padding:16px 16px 44px;display:flex;position:relative;overflow:hidden}.pa-kpi-label{color:var(--pa-ink-2);font-size:12px;font-weight:650}.pa-kpi-value{letter-spacing:-.04em;color:var(--pa-ink);font-size:1.9rem;font-weight:700;line-height:1.1}.pa-kpi.hero .pa-kpi-value{font-size:3rem}.pa-kpi-foot{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12px;display:flex}.pa-kpi-foot small{color:var(--pa-muted);font-size:11px}.pa-delta{align-items:center;gap:4px;font-weight:650;display:inline-flex}.pa-delta svg{fill:currentColor;stroke:currentColor;stroke-width:1.5px;width:10px;height:10px}.pa-delta.good{color:var(--good-ink)}.pa-delta.bad{color:var(--bad-ink)}.pa-delta.flat{color:var(--pa-muted)}.pa-spark{width:100%;height:32px;position:absolute;bottom:0;left:0;right:0}.pa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.pa-grid>.wide,.pa-card.wide{grid-column:1/-1}.pa-grid>.pa-kpis{margin-bottom:0}.pa-card{background:var(--pa-surface);border:1px solid var(--pa-line);border-radius:16px;min-width:0;padding:20px 22px}.pa-card-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.pa-card-head h3{letter-spacing:-.02em;color:var(--pa-ink);margin:0;font-size:16px}.pa-card-head p{color:var(--pa-muted);margin:5px 0 0;font-size:12px;line-height:1.5}.pa-actions{flex-wrap:wrap;gap:8px;display:flex}.pa-button{border:1px solid var(--pa-line);color:var(--pa-ink);white-space:nowrap;background:var(--pa-surface);border-radius:8px;padding:7px 11px;font:650 12px system-ui;text-decoration:none}.pa-button:hover{background:var(--pa-fill)}.pa-link{color:var(--an-link,#087e8b);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-self:center;padding:4px 0;font:650 12px system-ui}.pa-empty{text-align:center;color:var(--pa-muted);margin:0;padding:28px 8px;font-size:13px}.pa-foot{color:var(--pa-muted);margin:12px 0 0;font-size:12px;line-height:1.55}.pa-na{color:var(--pa-muted)}.pa-bad{color:var(--bad-ink);font-weight:700}.pa-chart{width:100%;position:relative}.pa-chart svg{display:block;overflow:visible}.pa-chart text{fill:var(--pa-muted);font-variant-numeric:tabular-nums;font:11px system-ui}.pa-gridline line{stroke:var(--pa-grid);stroke-width:1px}.pa-baseline{stroke:var(--pa-axis);stroke-width:1px}.pa-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.pa-line.compare{stroke:var(--compare);stroke-width:1.5px}.pa-area{stroke:none;opacity:.1}.slot-1{--c:var(--s1)}.slot-2{--c:var(--s2)}.slot-3{--c:var(--s3)}.pa-line.slot-1,.pa-line.slot-2,.pa-line.slot-3{stroke:var(--c)}.pa-area.slot-1,.pa-area.slot-2,.pa-area.slot-3,.pa-bar,.pa-dot{fill:var(--c)}.pa-dot{stroke:var(--pa-surface);stroke-width:2px}.pa-crosshair{stroke:var(--pa-axis);stroke-width:1px}.pa-hit{fill:#0000;cursor:crosshair;outline:none}.pa-focus{fill:#0000;pointer-events:none}.pa-col.hover .pa-bar{filter:brightness(1.12)}.pa-cap{fill:var(--pa-ink-2)!important;font-weight:650!important}.pa-legend{color:var(--pa-ink-2);flex-wrap:wrap;gap:6px 16px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:flex}.pa-legend li{align-items:center;gap:7px;display:inline-flex}.pa-key{background:var(--c,var(--pa-muted));border-radius:1px;flex:none;width:14px;height:2px;display:inline-block}.pa-key.box{border-radius:3px;width:10px;height:10px}.pa-key.compare{background:var(--compare)}.pa-key.muted,.muted{--c:var(--muted-series)}.pa-tip{z-index:3;pointer-events:none;background:var(--pa-surface);border:1px solid var(--pa-line);border-radius:10px;min-width:150px;max-width:220px;padding:10px 12px;font-size:12px;position:absolute;box-shadow:0 6px 24px #0000001f}.pa-tip-title{color:var(--pa-muted);margin-bottom:6px;font-weight:650}.pa-tip-row{align-items:center;gap:8px;padding:2px 0;display:flex}.pa-tip-row strong{color:var(--pa-ink);font-variant-numeric:tabular-nums;min-width:2.5em}.pa-tip-row span{color:var(--pa-ink-2)}.pa-barlist{gap:10px;margin:0;padding:0;list-style:none;display:grid}.pa-barlist li{grid-template-columns:minmax(90px,36%) 1fr auto;align-items:center;gap:4px 12px;font-size:13px;display:grid}.pa-barlist-label{color:var(--pa-ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pa-barlist-track{height:10px}.pa-barlist-fill{background:var(--s1);border-radius:0 4px 4px 0;height:100%;display:block}.pa-barlist strong{font-variant-numeric:tabular-nums;color:var(--pa-ink);text-align:right;min-width:2.5em}.pa-barlist small{color:var(--pa-muted);grid-column:2/-1;margin-top:-6px;font-size:11px}.pa-partbar-track{border-radius:6px;gap:2px;height:24px;margin:6px 0 14px;display:flex;overflow:hidden}.pa-partbar-track span{background:var(--c);min-width:4px}.pa-partbar-track span:first-child{border-radius:6px 0 0 6px}.pa-partbar-track span:last-child{border-radius:0 6px 6px 0}.pa-partbar-legend{gap:8px;display:grid}.pa-partbar-legend li{grid-template-columns:auto 1fr auto 4em;align-items:center;gap:9px;font-size:13px;display:grid}.pa-partbar-legend strong{color:var(--pa-ink);font-variant-numeric:tabular-nums}.pa-partbar-legend small{color:var(--pa-muted);text-align:right;font-variant-numeric:tabular-nums}.pa-funnel{gap:16px;margin:0;padding:0;list-style:none;display:grid}.pa-funnel-head{color:var(--pa-ink-2);flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:6px;font-size:13px;display:flex}.pa-funnel-head strong{color:var(--pa-ink);font-variant-numeric:tabular-nums;margin-left:auto;font-size:18px}.pa-funnel-head small{color:var(--pa-muted);flex-basis:100%;order:3;font-size:11px}.pa-funnel-track{height:24px}.pa-funnel-track span{border-radius:0 4px 4px 0;height:100%;display:block}.pa-funnel .step-1 .pa-funnel-track span{background:var(--ord-1)}.pa-funnel .step-2 .pa-funnel-track span{background:var(--ord-2)}.pa-funnel .step-3 .pa-funnel-track span{background:var(--ord-3)}.pa-funnel-note{color:var(--pa-muted);margin:6px 0 0;font-size:11px}.heat-0{background:var(--pa-fill)}.heat-1{background:var(--seq-1)}.heat-2{background:var(--seq-2)}.heat-3{background:var(--seq-3)}.heat-4{background:var(--seq-4);color:var(--seq-ink-strong)}.heat-5{background:var(--seq-5);color:var(--seq-ink-strong)}.pa-heat-layout{grid-template-columns:minmax(0,1fr) 200px;align-items:start;gap:24px;display:grid}.pa-heat{color:var(--pa-muted);grid-template-columns:34px repeat(24,minmax(0,1fr));gap:3px;font-size:10px;display:grid}.pa-heat-row{display:contents}.pa-heat-hour{text-align:left;white-space:nowrap;overflow:visible}.pa-heat-day{align-self:center;font-size:11px}.pa-heat i{aspect-ratio:1;border-radius:3px;min-height:12px;display:block}.pa-heat i.hover{outline:2px solid var(--pa-ink);outline-offset:1px}.pa-heat-foot{color:var(--pa-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.pa-heat-scale{align-items:center;gap:3px;display:inline-flex}.pa-heat-scale i{border-radius:2px;width:14px;height:10px}.pa-heat-read strong{color:var(--pa-ink)}.pa-heat-top h4{color:var(--pa-ink-2);margin:0 0 10px;font-size:12px}.pa-heat-top ol{gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.pa-heat-top li{border-bottom:1px solid var(--pa-line);justify-content:space-between;gap:8px;padding-bottom:8px;display:flex}.pa-heat-top li strong{font-variant-numeric:tabular-nums}.pa-cohorts{border-spacing:3px;border-collapse:separate!important}.pa-root .pa-cohorts td,.pa-root .pa-cohorts th{font-variant-numeric:tabular-nums;border-radius:5px;text-align:center!important;border:0!important;padding:9px 10px!important}.pa-root .pa-cohorts th[scope=row]{font-weight:600;text-align:left!important}.pa-root .pa-cohorts thead th{background:0 0}.pa-cohort{min-width:44px;font-weight:650}.pa-cohort.heat-0{color:var(--pa-muted)}.pa-cohort-open{color:var(--pa-muted);background:repeating-linear-gradient(135deg, transparent 0 5px, var(--pa-fill) 5px 7px)}.pa-sankey{overflow-x:auto}.pa-sankey svg{min-width:520px}.pa-sankey-cols{text-transform:uppercase;letter-spacing:.06em;color:var(--pa-muted);justify-content:space-between;min-width:520px;margin-bottom:8px;font-size:11px;font-weight:650;display:flex}.pa-flow{fill:var(--flow);opacity:.22;cursor:pointer;transition:opacity .15s}.pa-flow.exit{fill:var(--muted-series);opacity:.35}.pa-flow.hover{opacity:.55}.pa-flow.dim{opacity:.08}.pa-node{fill:var(--pa-ink)}.pa-node.exit,.pa-node.other{fill:var(--muted-series)}.pa-chart .pa-node-label{fill:var(--pa-ink);paint-order:stroke;stroke:var(--pa-surface);stroke-width:3px;stroke-linejoin:round;font-size:12px;font-weight:600}.pa-chart .pa-node-value{fill:var(--pa-muted);font-weight:500}.pa-paths{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pa-paths li{border-bottom:1px solid var(--pa-line);grid-template-columns:1fr auto 3.5em;align-items:center;gap:12px;padding:9px 0;font-size:13px;display:grid}.pa-paths li:last-child{border-bottom:0}.pa-path{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pa-path span{background:var(--pa-fill);color:var(--pa-ink);border-radius:6px;padding:3px 8px}.pa-path span+span:before{content:"→";color:var(--pa-muted);margin:0 6px 0 -2px;position:relative;left:-6px}.pa-path span+span{margin-left:10px}.pa-path span.more{color:var(--pa-muted);background:0 0}.pa-paths strong{font-variant-numeric:tabular-nums;text-align:right}.pa-paths small{color:var(--pa-muted);text-align:right}.pa-status{width:20px;height:20px;fill:var(--st);stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none}.pa-status.good{--st:var(--good)}.pa-status.warning{--st:var(--warning);stroke:#3a2a00}.pa-status.critical{--st:var(--critical)}.pa-status.info{--st:var(--info)}.pa-insights{gap:4px;margin:0;padding:0;list-style:none;display:grid}.pa-insights li{border-radius:10px;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:12px 10px;display:grid}.pa-insights li:hover{background:var(--pa-fill)}.pa-insights strong{color:var(--pa-ink);font-size:14px;line-height:1.35;display:block}.pa-insights p{color:var(--pa-ink-2);margin:3px 0 0;font-size:12px;line-height:1.5}.pa-calm{gap:12px;padding:12px 6px;display:flex}.pa-calm strong{font-size:14px}.pa-calm p{color:var(--pa-muted);margin:4px 0 0;font-size:12px;line-height:1.5}.pa-rate{font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.pa-rate .pa-status{width:16px;height:16px}.pa-rate-bar{background:var(--pa-fill);border-radius:3px;width:52px;height:6px;overflow:hidden}.pa-rate-bar span{background:var(--s1);border-radius:0 3px 3px 0;height:100%;display:block}.pa-vitals{gap:18px;display:grid}.pa-vital-head{color:var(--pa-ink-2);justify-content:space-between;font-size:13px;display:flex}.pa-vital-head small{color:var(--pa-muted);margin-left:4px}.pa-vital-head strong{color:var(--pa-ink);font-variant-numeric:tabular-nums}.pa-vital-track{gap:2px;height:8px;margin:8px 0;display:flex;position:relative}.pa-vital-track span{opacity:.35;height:100%}.pa-vital-track span.good{background:var(--good);border-radius:4px 0 0 4px}.pa-vital-track span.warning{background:var(--warning)}.pa-vital-track span.critical{background:var(--critical);border-radius:0 4px 4px 0;flex:1}.pa-vital-track i{background:var(--pa-ink);border:2px solid var(--pa-surface);border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%}.pa-vital-foot{color:var(--pa-ink-2);align-items:center;gap:6px;font-size:12px;display:flex}.pa-vital-foot .pa-status{width:16px;height:16px}.pa-vital-foot small{color:var(--pa-muted);margin-left:auto}.pa-table-wrap{overflow-x:auto}.pa-root .pa-table td,.pa-root .pa-table th{padding:11px 12px}.pa-root .pa-leader td{vertical-align:middle}.pa-data{color:var(--pa-ink-2);margin-top:12px;font-size:12px}.pa-data summary{cursor:pointer;padding:6px 0}.pa-data .pa-table-wrap{max-height:320px;overflow:auto}.posthog-footer{color:var(--pa-muted);border-top:1px solid var(--pa-line);margin-top:8px;padding-top:14px;font-size:.85rem;line-height:1.6}.posthog-footer div{flex-wrap:wrap;gap:1rem;margin-top:.4rem;display:flex}.pa-root .growth-tools{margin:0 2px 8px}.pa-notes{margin-top:28px}@media (width<=1100px){.pa-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.pa-heat-layout{grid-template-columns:1fr}}@media (width<=800px){.pa-grid{grid-template-columns:minmax(0,1fr)}.pa-kpis-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.pa-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pa-kpi.hero{grid-column:1/-1}.pa-kpi-value{font-size:1.6rem}.pa-kpi.hero .pa-kpi-value{font-size:2.6rem}.pa-card{padding:16px}.pa-card-head{flex-direction:column}.pa-presets{width:100%}.pa-presets button{flex:1;padding:0 6px}.pa-head-actions{justify-content:space-between;width:100%;margin-top:14px}.pa-heat{grid-template-columns:28px repeat(24,minmax(0,1fr));gap:2px}.pa-heat i{border-radius:2px;min-height:8px}.pa-heat-hour{font-size:8px}.pa-insights li{grid-template-columns:auto 1fr}.pa-insights .pa-link{grid-column:2;justify-self:start}}@media (forced-colors:active){.pa-bar,.pa-barlist-fill,.pa-funnel-track span,.pa-partbar-track span{forced-color-adjust:none}}.analytics-dashboard{max-width:1200px;margin:auto;padding:44px 28px 72px}.analytics-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.analytics-heading h1{font-size:2.6rem}.analytics-heading .intro{margin-bottom:26px;font-size:1rem}.analytics-button{border:1px solid var(--an-line,#cbdce6);background:var(--an-panel,#fff);color:var(--an-strong,#244f66);cursor:pointer;white-space:nowrap;border-radius:9px;padding:10px 15px;font:650 13px system-ui}.analytics-button:disabled{opacity:.5}.analytics-filters{border:1px solid var(--an-line,#dce5ed);background:var(--an-panel,#fff);border-radius:14px;align-items:end;gap:14px;margin-bottom:24px;padding:20px;display:flex}.analytics-filters label,.device-search{color:var(--an-muted,#4d6776);flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.analytics-filters input,.analytics-filters select,.device-search input{border:1px solid var(--an-line,#cfdee9);background:var(--an-panel,#fff);color:var(--an-strong,#183b57);border-radius:8px;min-height:40px;padding:10px 12px;font:14px system-ui}.analytics-filters>span{color:var(--an-muted,#6e8290);margin-left:auto;padding-bottom:12px;font-size:12px}.analytics-metrics{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px;display:grid}.analytics-metric{background:var(--an-panel,#fff);border:1px solid var(--an-line,#dce5ed);border-radius:14px;flex-direction:column;gap:12px;padding:20px;display:flex}.analytics-metric>span{color:var(--an-muted,#5a7381);font-size:12px;font-weight:650}.analytics-metric strong{letter-spacing:-.055em;color:var(--an-strong,#183b57);font-size:2.2rem;line-height:1.1}.analytics-metric small{color:var(--an-muted,#728794);font-size:11px}.analytics-panel{background:var(--an-panel,#fff);border:1px solid var(--an-line,#dce5ed);border-radius:16px;margin-bottom:22px;padding:24px;overflow:hidden}.analytics-panel-title{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.analytics-panel h2{letter-spacing:-.025em;margin:0;font-size:18px}.analytics-panel-title>span,.analytics-panel-title p:not(.eyebrow){color:var(--an-muted,#6d8390);margin:7px 0 0;font-size:12px}.analytics-panel-title .eyebrow{margin:0 0 8px;font-size:10px}.trend-legend{color:var(--an-muted,#526e7b);flex-wrap:wrap;gap:18px;font-size:11px;display:flex}.trend-legend span{align-items:center;gap:6px;display:flex}.event-color{background:var(--event-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.page_open{--event-color:#087e8b}.activity_start{--event-color:#4874bd}.activity_complete{--event-color:#aa6d30}.button_press{--event-color:#8e67b4}.chart-series{stroke:var(--event-color);fill:var(--event-color)}.analytics-chart{width:100%;height:230px;margin-top:12px;display:block}.analytics-chart text{fill:var(--an-muted,#718692);font:10px system-ui}.analytics-table-wrap{overflow:auto}.analytics-dashboard table{border-collapse:collapse;white-space:nowrap;text-align:left;width:100%;font-size:13px}.analytics-dashboard thead th{text-transform:uppercase;letter-spacing:.065em;color:var(--an-muted,#68828f);border-bottom:1px solid var(--an-line,#dce5ed);background:var(--an-fill,#f7fafb);padding:12px 14px;font-size:10px;font-weight:650}.analytics-dashboard tbody th{font-weight:600}.analytics-dashboard tbody td,.analytics-dashboard tbody th{border-bottom:1px solid var(--an-line,#edf2f5);padding:15px 14px}.analytics-dashboard th:not(:first-child),.analytics-dashboard td{text-align:right}.analytics-dashboard tbody tr:last-child td,.analytics-dashboard tbody tr:last-child th{border-bottom:0}.not-applicable{color:var(--an-muted,#99aab4);font-size:11px}.daily-data{color:var(--an-muted,#526e7b);margin-top:10px;font-size:12px}.daily-data summary{cursor:pointer;padding:8px 0}.daily-data .analytics-table-wrap{max-height:300px}.device-link{color:var(--an-link,#087e8b);cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font:650 13px system-ui}.device-link:hover{text-decoration:underline}.first-seen{color:var(--an-muted,#79909c);margin-top:5px;font-size:10px;font-weight:400;display:block}.selected-device{background:var(--an-fill,#f0f9f9)}.device-search input{width:210px}.analytics-empty{text-align:center;color:var(--an-muted,#778b97);padding:25px 10px;font-size:13px}.analytics-notes{color:var(--an-muted,#718793);max-width:950px;padding:0 4px;font-size:12px;line-height:1.7}.analytics-error{background:var(--an-error-bg,#fff4ee);color:var(--an-error-ink,#8a432d);border:1px solid var(--an-error-line,#f0d6c6);border-radius:10px;padding:16px;font-size:14px}.analytics-error a{font-weight:700}.device-timeline{margin:0;padding:0;list-style:none}.device-timeline li{border-bottom:1px solid var(--an-line,#edf2f5);align-items:center;gap:14px;padding:15px 4px;display:flex}.device-timeline li>div{align-items:center;gap:12px;display:flex}.device-timeline strong{font-size:13px}.device-timeline span,.device-timeline time{color:var(--an-muted,#728894);font-size:12px}.device-timeline time{margin-left:auto}.pagination{margin:20px auto 0;display:block}.analytics-dashboard button:focus-visible,.analytics-dashboard input:focus-visible,.analytics-dashboard select:focus-visible,.daily-data summary:focus-visible{outline-offset:3px;outline:3px solid #168a93}@media (width<=900px){.analytics-metrics{grid-template-columns:repeat(3,1fr)}.analytics-filters{flex-wrap:wrap}.analytics-filters>span{margin-left:0}.analytics-panel{padding:18px}.analytics-heading h1{font-size:2.2rem}}@media (width<=600px){.analytics-dashboard{padding:28px 16px 60px}.analytics-heading{flex-direction:column;align-items:flex-start;gap:0;margin-bottom:20px}.analytics-heading .intro{margin-bottom:14px}.analytics-metrics{grid-template-columns:repeat(2,1fr);gap:10px}.analytics-metric{padding:16px}.analytics-metric:last-child{grid-column:1/-1}.analytics-filters{gap:12px;padding:14px}.analytics-filters label{flex:1;min-width:120px}.analytics-filters input,.analytics-filters select{width:100%;min-width:0}.analytics-filters>span{padding-bottom:0}.analytics-panel-title{flex-direction:column;align-items:flex-start}.device-search,.device-search input{width:100%}.device-timeline li{flex-wrap:wrap;align-items:flex-start}.device-timeline li>div{flex-direction:column;align-items:flex-start;gap:5px}.device-timeline li>i{margin-top:5px}.device-timeline time{font-size:10px}.trend-legend{gap:10px}.analytics-chart{min-height:160px}.analytics-dashboard table{font-size:12px}}.chart-series.activity_start{stroke-dasharray:8 5}.chart-series.button_press{stroke-dasharray:3 5}.device-timeline li{flex-wrap:wrap}.event-context{min-width:0;color:var(--an-muted,#526e7b);flex-basis:100%;padding-left:22px;font-size:12px}.event-context summary{cursor:pointer;padding:5px 0}.event-context dl{background:var(--an-fill,#f7fafb);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.event-context dt{color:var(--an-muted,#68828f);font-size:10px;font-weight:700}.event-context dd{overflow-wrap:anywhere;white-space:normal;color:var(--an-strong,#183b57);margin:4px 0 0}.analytics-dashboard td.browser-context{text-align:left;white-space:normal;min-width:200px}.learner-browsers{padding:0;list-style:none}.learner-browsers li{margin:8px 0}.analytics-panel summary{cursor:pointer}@media (width<=600px){.event-context dl{grid-template-columns:1fr}.event-context{padding-left:0}}.issued-code{letter-spacing:.05em;-webkit-user-select:all;user-select:all;font:800 1rem/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.growth-panel{margin-bottom:8px}.growth-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.growth-metrics .analytics-metric strong{font-size:2.4rem}.growth-metrics .analytics-metric:last-child{grid-column:auto}.growth-note{color:var(--an-muted,#6d8390);margin:-4px 2px 28px;font-size:12px;line-height:1.6}.growth-tools{color:var(--an-muted,#526e7b);flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;font-size:13px;display:flex}.growth-tools strong{color:var(--an-strong,#183b57)}.usage-heading{margin:6px 2px 14px}.usage-heading h2{letter-spacing:-.03em;margin:0;font-size:1.35rem}.usage-heading p{color:var(--an-muted,#6d8390);margin:6px 0 0;font-size:13px}.codesIssued{--event-color:#0b7a62}.codesShared{--event-color:#aa6d30}.codesScanned{--event-color:#8e67b4}.sessionsSaved{--event-color:#4874bd}.chart-series.codesShared{stroke-dasharray:8 5}.chart-series.codesScanned{stroke-dasharray:2 3}.chart-series.sessionsSaved{stroke-dasharray:12 4}@media (width<=900px){.growth-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}:root[data-theme=dark]{--an-panel:var(--surface);--an-grid:var(--line);--an-line:var(--line);--an-fill:var(--fill);--an-strong:var(--ink);--an-muted:var(--ink-3);--an-link:#5cc8d2;--an-error-bg:var(--danger-wash);--an-error-ink:var(--danger);--an-error-line:var(--danger-line)}.st-notice{background:var(--accent-soft);color:var(--accent);border-radius:9px;margin:-14px 0 22px;padding:6px 12px;font-size:.9rem;font-weight:650;text-decoration:none;display:inline-block}.st-notice:hover{text-decoration:underline}.guide{max-width:1040px}.guide h2{font-family:var(--display);margin:0 0 8px;font-size:clamp(1.8rem,3vw,2.3rem);font-weight:800;line-height:1.1}.guide code{background:var(--fill);border-radius:6px;padding:1px 6px;font-size:.9em}.guide b{font-weight:700}.guide-section{border-top:1px solid var(--line);margin-top:36px;padding-top:36px;scroll-margin-top:16px}.guide-lede{max-width:720px;color:var(--ink-2);margin:0 0 22px;font-size:1.02rem;line-height:1.55}.guide-toc{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.guide-toc a{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;display:flex}.guide-toc strong{font-size:1rem}.guide-toc span{color:var(--ink-2);font-size:.88rem;line-height:1.4}.guide-index{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin-bottom:22px;display:grid}.guide-index__item{background:var(--tint);border-radius:18px;align-items:center;gap:14px;padding:10px 14px 10px 10px;text-decoration:none;display:flex}.guide-index__art{border-radius:14px;flex:none;width:64px;height:64px;overflow:hidden}.guide-index__copy{flex-direction:column;min-width:0;display:flex}.guide-index__copy .category{margin:0}.guide-index__copy strong{font-family:var(--display);font-size:1.3rem;font-weight:800;line-height:1.15}.guide-index__copy>span{color:var(--ink-2);font-size:.88rem;line-height:1.35}.guide-table{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin-bottom:28px;overflow-x:auto}.guide-table table{border-collapse:collapse;width:100%;font-size:.92rem}.guide-table th,.guide-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:11px 14px;line-height:1.4}.guide-table thead th{color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.74rem;font-weight:750}.guide-table tbody tr:last-child>*{border-bottom:0}.guide-table tbody th{white-space:nowrap}.guide-table .guide-table__group th{background:var(--fill);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;padding-top:14px;font-size:.74rem;font-weight:750}.guide-table tbody+tbody .guide-table__group th{border-top:1px solid var(--line-strong)}.guide-table tbody th a{color:var(--accent);font-weight:700;text-decoration:none}.guide-tool{border:1px solid var(--line);background:var(--surface);border-radius:24px;margin-top:18px;padding:22px;scroll-margin-top:16px}.guide-tool__head{align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.guide-tool__head>div{flex:1;min-width:0}.guide-tool__head .category{margin:2px 0}.guide-tool__head h1{font-family:var(--display);margin:0 0 6px;font-size:1.7rem;font-weight:800;line-height:1.1}.guide-tool__art{border-radius:16px;flex:none;width:72px;height:72px;overflow:hidden}.guide-tool__what{color:var(--ink-2);margin:0;line-height:1.5}.guide-tool__best{margin:0 0 8px;font-weight:700;line-height:1.4}.guide-crumbs{color:var(--ink-3);align-items:center;gap:8px;margin-bottom:6px;font-size:.9rem;display:flex}.guide-crumbs a{color:var(--accent);font-weight:700;text-decoration:none}.guide-page .guide-tool{margin-top:8px}.guide-related{margin-top:32px}.guide-related h2{font-family:var(--display);margin:0 0 12px;font-size:1.4rem;font-weight:800}.guide-note{color:var(--ink-3);margin:8px 0 0;font-size:.88rem;line-height:1.45}.guide-tool__head .button-link{flex:none;min-height:44px;font-size:.92rem}.guide-tool__cols{grid-template-columns:1fr 1fr 1.35fr;gap:12px;display:grid}.guide-tool__cols section{background:var(--tint);border-radius:16px;padding:14px 16px}.guide-tool__cols h2{color:var(--tint-ink);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.76rem;font-weight:800}.guide-tool__cols ul,.guide-tool__cols ol{gap:6px;margin:0;padding-left:1.15em;font-size:.93rem;line-height:1.45;display:grid}.guide-tool__data{color:var(--ink-2);margin:14px 2px 0;font-size:.92rem;line-height:1.5}.guide-concepts{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:10px;display:grid}.guide-concepts>div{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:16px 18px}.guide-concepts strong{font-size:1rem}.guide-concepts p{color:var(--ink-2);margin:6px 0 0;font-size:.93rem;line-height:1.5}.guide-part{font-family:var(--display);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:40px 0 16px;scroll-margin-top:16px;font-size:1.55rem;font-weight:800;line-height:1.15;display:flex}.guide-part span{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:2px 10px;font-family:inherit;font-size:.85rem;font-weight:700}.guide-steps{gap:26px;margin:0;padding:0;list-style:none;display:grid}.guide-step{grid-template-columns:40px minmax(0,1fr);gap:14px;display:grid}.guide-step__n{background:var(--ink);width:36px;height:36px;color:var(--on-ink);border-radius:12px;place-items:center;font-weight:800;display:grid}.guide-step h4{margin:6px 0;font-size:1.08rem}.guide-step p,.guide-step li{color:var(--ink-2);line-height:1.55}.guide-step p{margin:0 0 12px}.guide-step ul{gap:4px;margin:0 0 14px;padding-left:1.2em;display:grid}.guide-callouts{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px 14px 2.2em!important}.guide-tip{background:var(--tip,#fff7dc);border-radius:14px;padding:12px 14px;font-size:.93rem;color:var(--tip-ink,#6b5412)!important}.guide-shot{margin:0 0 14px}.guide-shot img{border:1px solid var(--line-strong);background:var(--surface);border-radius:14px;width:100%;height:auto;display:block;box-shadow:0 12px 30px -18px #0000004d}.guide-shot--narrow img{max-width:560px}.guide-shot figcaption{color:var(--ink-2);margin-top:8px;font-size:.9rem;line-height:1.45}.guide-faq{gap:8px;display:grid}.guide-faq details{border:1px solid var(--line);background:var(--surface);border-radius:14px}.guide-faq summary{cursor:pointer;padding:14px 16px;font-weight:700;line-height:1.4}.guide-faq p{color:var(--ink-2);margin:0;padding:0 16px 16px;line-height:1.55}@media (hover:hover){.guide-toc a:hover,.guide-faq details:hover{border-color:var(--line-strong)}.guide-index__item:hover{background:var(--tint-strong)}}@media (width<=999px){.guide-tool__cols{grid-template-columns:1fr 1fr}.guide-tool__how{grid-column:1/-1}}@media (width<=699px){.guide-toc,.guide-concepts,.guide-tool__cols{grid-template-columns:1fr}.guide-tool{padding:16px}.guide-tool__head{flex-wrap:wrap}.guide-tool__head .button-link{justify-content:center;width:100%}.guide-tool__art{width:56px;height:56px}.guide-step{grid-template-columns:1fr;gap:8px}}.learner-dashboard .sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.dash-head{align-items:center;gap:18px;margin-bottom:24px;display:flex}.dash-avatar{background:var(--avatar);border-radius:24px;flex:none;place-items:center;width:84px;height:84px;font-size:2.8rem;display:grid}.dash-head__copy{min-width:0}.dash-head h1{margin-bottom:4px}.dash-meta{color:var(--ink-2);margin:0}.dash-head__actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.dash-notice{background:var(--accent-soft);color:var(--accent);border-radius:14px;margin:0 0 18px;padding:12px 16px;font-weight:600}.dash-notice--error{background:var(--danger-wash);color:var(--danger)}.dash-notice button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;margin-left:6px;text-decoration:underline}.dash-empty,.dash-panel{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:24px}.dash-empty{border-style:dashed;border-color:var(--line-strong)}.dash-empty h2{font-family:var(--display);margin:0 0 6px;font-size:1.7rem;line-height:1.15}.dash-empty>p{max-width:640px;color:var(--ink-2);margin:0 0 18px;line-height:1.5}.dash-panel{margin-bottom:20px}.dash-settings-copy{color:var(--ink-2);margin:0 0 18px;line-height:1.5}.dash-note{color:var(--ink-3);margin:14px 0 0;font-size:.88rem;line-height:1.5}.dash-foot{margin-top:32px}.dash-toolbar{justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.dash-toolbar h2{margin:0;font-size:1.2rem}.dash-switches{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.dash-empty .tool-group+.tool-group,.dash-panel .tool-group+.tool-group,#session-tools .tool-group+.tool-group{margin-top:22px;padding-top:18px}.dash-switches li{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-items:center;gap:12px;padding:10px 12px 10px 10px;display:flex}.dash-switches li.is-on{border-color:var(--accent);background:var(--accent-soft)}.dash-switches:has(.dash-presets){align-items:start}.dash-switches li{flex-wrap:wrap}.dash-presets{border-top:1px solid var(--line);flex-basis:100%;gap:8px;padding:10px 0 2px;display:grid}.dash-preset{border:0;justify-content:space-between;align-items:center;gap:10px;min-width:0;margin:0;padding:0;font-size:.9rem;font-weight:650;display:flex}.dash-preset select{min-width:0;max-width:62%;min-height:40px;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;flex:0 auto;padding:0 10px}.dash-preset--many{grid-template-columns:1fr 1fr;gap:6px 12px;display:grid}.dash-preset--many legend{grid-column:1/-1;margin-bottom:4px;padding:0}.dash-preset--many legend small{color:var(--ink-3);margin-left:6px;font-weight:500}.dash-preset--many label{align-items:center;gap:8px;min-height:36px;font-weight:500;display:flex}.dash-preset--many input{width:20px;height:20px;accent-color:var(--accent)}.dash-switch__art{border-radius:14px;flex:none;width:52px;height:52px;overflow:hidden}.dash-switch__copy{flex:1;min-width:0}.dash-switch__copy strong{display:block}.dash-switch__copy small{color:var(--ink-2);font-size:.82rem;line-height:1.35;display:block}.dash-switch{background:var(--line-strong);cursor:pointer;border:0;border-radius:999px;flex:none;width:58px;height:34px;transition:background .15s;position:relative}.dash-switch span{background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:4px;left:4px;box-shadow:0 1px 3px #0003}.dash-switch[aria-checked=true]{background:var(--accent)}.dash-switch[aria-checked=true] span{transform:translate(24px)}.dash-switch:disabled{opacity:.6;cursor:progress}.dash-switch:before{content:"";position:absolute;inset:-6px}.dash-start{background:var(--ink);min-height:46px;color:var(--on-ink);border-radius:12px;align-items:center;gap:8px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.dash-nodata{background:var(--bg);color:var(--ink-2);border-radius:16px;margin:0;padding:18px;line-height:1.5}.dash-meter{background:var(--fill);border-radius:99px;height:10px;display:block;overflow:hidden}.dash-meter span{border-radius:inherit;background:var(--tint-ink,var(--accent));height:100%;display:block}.dash-table{overflow:auto}.dash-table table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.95rem}.dash-table th,.dash-table td{border-bottom:1px solid var(--line);text-align:right;font-variant-numeric:tabular-nums;padding:10px}.dash-table th:first-child{text-align:left}.dash-table tbody th:first-child{text-transform:capitalize;font-weight:650}.dash-table thead th{background:var(--surface);color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.dash-target{text-transform:capitalize}.dash-sentences .dash-target,.dash-sentences .dash-table tbody th:first-child{text-transform:none;white-space:normal}.dash-sessions section+section{margin-top:22px}.dash-sessions h3{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:.82rem;font-weight:750}.dash-sessions ul{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin:0;padding:0;list-style:none;overflow:hidden}.dash-sessions li+li{border-top:1px solid var(--line)}.dash-session{min-height:64px;color:inherit;grid-template-columns:5.5rem 44px minmax(0,1fr) auto 16px;align-items:center;gap:14px;padding:8px 16px;text-decoration:none;display:grid}.dash-session time{color:var(--ink-2);font-variant-numeric:tabular-nums;font-size:.92rem}.dash-session__art{border-radius:12px;width:44px;height:44px;overflow:hidden}.dash-session__tool{min-width:0}.dash-session__tool strong{display:block}.dash-session__tool small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;display:block;overflow:hidden}.dash-session__result{font-variant-numeric:tabular-nums;text-align:right;font-weight:750}.dash-session__go{color:var(--ink-3);font-size:1.4rem;line-height:1}.dash-more{margin-top:16px}.dash-graph{border:1px solid var(--line);background:var(--surface);border-radius:20px;min-width:0;margin:0 0 20px;padding:14px 16px 6px;overflow:hidden}.dash-sheet .dash-graph{border:0;border-radius:0;margin:16px 0 0;padding:0}.dash-graph figcaption{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;font-size:.95rem;display:flex}.dash-graph figcaption strong{font-weight:750}.dash-graph__legend{align-items:center;gap:6px;font-size:.84rem;display:inline-flex}.dash-graph__legend i{border-radius:50%;width:10px;height:10px;margin-left:6px;display:inline-block}.dash-graph__legend .is-correct{background:var(--accent)}.dash-graph__legend .is-incorrect{border:2px solid var(--danger);background:var(--surface);width:8px;height:8px}.dash-graph svg{max-width:100%;height:auto;display:block}.dash-graph text{fill:var(--ink-3);font:12px system-ui,sans-serif}.dash-graph .dash-graph__end{fill:var(--ink);font-weight:750}.dash-graph__grid{stroke:var(--line);stroke-width:1px}.dash-graph__line{fill:none;stroke:var(--ink-2);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.dash-graph__dot circle:last-child{fill:var(--ink);stroke:var(--surface);stroke-width:2px}.dash-graph__dot.is-correct circle:last-child{fill:var(--accent)}.dash-graph__dot.is-incorrect circle:last-child{fill:var(--surface);stroke:var(--danger);stroke-width:2.5px}.dash-graph__hit{fill:#0000;stroke:none}.dash-graph a{cursor:pointer}.dash-graph a:focus-visible{outline:none}.dash-graph a:focus-visible .dash-graph__hit,.dash-graph a:hover .dash-graph__hit{fill:var(--fill)}.dash-sheet{border:1px solid var(--line);background:var(--surface);border-radius:24px;min-width:0;padding:22px}.dash-back{min-height:44px;color:var(--ink-2);align-items:center;gap:6px;margin:-8px 0 8px;font-weight:650;text-decoration:none;display:inline-flex}.dash-back span{font-size:1.4rem;line-height:1}.dash-sheet__head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.dash-sheet__art{border-radius:16px;flex:none;width:58px;height:58px;overflow:hidden}.dash-sheet__title{min-width:0}.dash-sheet__title h2{font-family:var(--display);margin:0;font-size:1.6rem;line-height:1.1}.dash-sheet__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.dash-score{color:var(--ink-2);margin:0 0 14px;font-size:1.05rem}.dash-score strong{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:2rem}.dash-sheet__table{margin-bottom:6px}.dash-sheet__table .is-total th,.dash-sheet__table .is-total td{border-bottom:0;font-weight:800}.dash-sheet__bar{width:34%;min-width:90px}.dash-sheet__label{color:var(--ink-2);margin:20px 0 10px;font-size:.95rem;font-weight:750}.dash-trials{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dash-trials li{background:var(--bg);color:var(--ink-2);border-radius:999px;padding:7px 12px;font-size:.92rem;font-weight:700;line-height:1.3}.dash-trials li b{font-variant-numeric:tabular-nums}.dash-trials .is-correct{background:var(--accent-soft);color:var(--accent)}.dash-trials .is-incorrect{background:var(--danger-wash);color:var(--danger)}.dash-trials small{font-weight:650}.dash-sentences .dash-trials li{border-radius:14px}.dash-steps-list{border:1px solid var(--line);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.dash-steps-list li{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.dash-steps-list li+li{border-top:1px solid var(--line)}.dash-steps-list small{color:var(--ink-3);font-variant-numeric:tabular-nums}.dash-steps-list__mark{background:var(--bg);width:26px;height:26px;color:var(--ink-3);border-radius:50%;place-items:center;font-weight:800;display:grid}.dash-steps-list .is-correct .dash-steps-list__mark{background:var(--accent-soft);color:var(--accent)}.dash-steps-list .is-missed>span:nth-child(2){color:var(--ink-3)}.dash-intervals{max-height:420px}.dash-intervals thead th{position:sticky;top:0}.dash-intervals td{text-align:center;color:var(--ink-3)}.dash-intervals td.is-yes{color:var(--accent);font-weight:800}.home-learner{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-items:center;gap:16px;margin:0 0 24px;padding:14px 14px 14px 16px;display:flex}.home-learner .learner-avatar{width:52px;height:52px}.home-learner strong{font-size:1.05rem;display:block}.home-learner p{color:var(--ink-2);margin:2px 0 0;font-size:.92rem}.home-learner a{flex:none;margin-left:auto}.tool-badge{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px var(--shadow);border-radius:99px;padding:4px 10px;font-size:.75rem;font-weight:750;position:absolute;top:22px;left:22px}.save-status{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--ink-2);font:inherit;white-space:nowrap;border-radius:12px;align-items:center;gap:8px;padding:0 14px;font-size:.86rem;font-weight:650;display:inline-flex}.save-status:before{content:"";background:var(--line-strong);border-radius:50%;width:9px;height:9px}.save-status--on{background:var(--accent-soft);color:var(--accent);border-color:#0000}.save-status--on:before{background:var(--accent)}.save-status--waiting:before{background:#d08a1e}button.save-status{cursor:pointer;border-style:dashed;border-color:var(--line-strong)}.save-status__short{display:none}@media (hover:hover){.dash-start:hover{background:var(--ink-press)}button.save-status:hover{border-color:var(--ink-3);color:var(--ink)}.dash-session:hover{background:var(--bg)}}@media (width<=999px){.save-status__long{display:none}.save-status__short{display:inline}}@media (width<=699px){.dash-head{flex-wrap:wrap}.dash-avatar{border-radius:18px;width:64px;height:64px;font-size:2.1rem}.dash-sheet{padding:16px}.dash-sheet__head{flex-wrap:wrap}.dash-sheet__actions{justify-content:flex-end;width:100%;margin-left:0}.dash-session{grid-template-columns:36px minmax(0,1fr) auto 12px;gap:10px;padding:8px 12px}.dash-session time{grid-area:2/2;font-size:.8rem}.dash-session__art{border-radius:10px;grid-area:1/1/span 2;width:36px;height:36px}.dash-session__tool{grid-area:1/2}.dash-session__result{grid-area:1/3/span 2}.dash-session__go{grid-area:1/4/span 2}.dash-sheet__bar{display:none}.dash-head__actions{width:100%;margin-left:0}.dash-switches{grid-template-columns:1fr}.home-learner{flex-wrap:wrap}.home-learner a{justify-content:center;width:100%}.save-status{padding:0 10px}}@media (prefers-reduced-motion:reduce){.dash-switch,.dash-switch span{transition:none}}.dash-select{align-items:center;display:inline-flex}.dash-select select{min-height:46px;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:0 12px;font-weight:650}.dash-views{border:1px solid var(--line);background:var(--fill);border-radius:16px;grid-template-columns:1fr 1fr;gap:4px;margin:-6px 0 24px;padding:4px;display:inline-grid}.dash-views a{min-width:150px;color:var(--ink-2);border-radius:12px;flex-direction:column;gap:1px;padding:9px 16px;text-decoration:none;display:flex}.dash-views a strong{color:var(--ink);font-size:1rem}.dash-views a small{color:var(--ink-3);font-size:.78rem}.dash-views a[aria-current=page]{background:var(--surface);box-shadow:0 1px 3px var(--shadow)}.dash-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.session-tools{grid-template-columns:repeat(auto-fill,minmax(min(100%,390px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.session-tool{border:1px solid var(--line);background:var(--surface);border-radius:22px;flex-direction:column;gap:14px;min-width:0;padding:16px;display:flex}.session-tool__head{align-items:center;gap:12px;display:flex}.session-tool__art{border-radius:16px;flex:none;width:56px;height:56px;overflow:hidden}.session-tool h3{min-width:0;font-family:var(--display);overflow-wrap:break-word;flex:1;margin:0;font-size:1.35rem;line-height:1.15}.session-start{background:var(--ink);min-width:104px;min-height:56px;color:var(--on-ink);border-radius:16px;flex:none;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:1.05rem;font-weight:750;text-decoration:none;display:inline-flex}@media (hover:hover){.session-start:hover{background:var(--ink-press)}}@media (width<=699px){.dash-views{width:100%;display:grid}.dash-views a{min-width:0}.dash-toolbar{flex-wrap:wrap}.dash-toolbar__actions{justify-content:flex-start;width:100%}.session-tools{grid-template-columns:1fr}.session-start{min-width:0;padding:0 16px}.session-tool__art{border-radius:13px;width:46px;height:46px}.session-tool h3{font-size:1.15rem}}.learner-chip{border:1px solid var(--line);background:var(--surface);max-width:240px;min-height:46px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;text-align:left;border-radius:14px;align-items:center;gap:10px;padding:5px 14px 5px 5px;font-weight:650;display:inline-flex}.learner-chip:active{background:var(--fill)}.learner-chip--empty{border-style:dashed;border-color:var(--line-strong);color:var(--ink-2)}.learner-chip__avatar{background:var(--avatar);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:1.25rem;display:grid}.learner-chip--empty .learner-chip__avatar{background:var(--fill);color:var(--ink-2)}.learner-chip__name{text-overflow:ellipsis;overflow:hidden}.learner-chip__caret{color:var(--ink-3);margin-left:auto;font-size:.85rem}.sidebar-learner .learner-chip{width:100%;max-width:none;min-height:58px;padding:8px 14px 8px 8px}.sidebar-learner .learner-chip__avatar{border-radius:11px;width:40px;height:40px;font-size:1.4rem}@media (hover:hover){.learner-chip:hover{border-color:var(--line-strong)}}@media (width<=999px){.sidebar-learner .learner-chip{justify-content:center;min-height:56px;padding:6px}.sidebar-learner .learner-chip__name,.sidebar-learner .learner-chip__caret{display:none}}@media (width<=699px){.sidebar-learner .learner-chip{width:auto;min-height:46px;padding:4px}.sidebar-learner .learner-chip__avatar{width:36px;height:36px}.activity-bar .learner-chip{padding:4px}.activity-bar .learner-chip__name,.activity-bar .learner-chip__caret{display:none}}.learner-dialog,.share-dialog{box-sizing:border-box;background:var(--surface);width:min(580px,100vw - 32px);max-height:88dvh;color:var(--ink);overscroll-behavior:contain;border:0;border-radius:26px;margin:auto;padding:30px;position:fixed;inset:0;overflow:auto;box-shadow:0 30px 80px -20px #0000004d}.learner-dialog::backdrop,.share-dialog::backdrop{-webkit-backdrop-filter:blur(3px);background:#1b1f2466}.learner-dialog h2,.share-dialog h2{font-family:var(--display);margin:0 44px 10px 0;font-size:1.9rem;font-weight:800;line-height:1.1}.learner-dialog h3{margin:0 0 4px;font-size:1rem}.learner-dialog__close{background:var(--fill);width:44px;height:44px;color:var(--ink-2);cursor:pointer;border:0;border-radius:12px;place-items:center;font-size:1.6rem;line-height:1;display:grid;position:absolute;top:14px;right:14px}.learner-eyebrow{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;font-size:.76rem;font-weight:750}.learner-copy,.learner-manage p{color:var(--ink-2);margin:0 0 16px;line-height:1.5}.learner-empty{border:1.5px dashed var(--line-strong);width:100%;color:var(--ink-2);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:16px;align-items:center;gap:14px;margin:0 0 16px;padding:16px;line-height:1.5;display:flex}.learner-empty strong{color:var(--accent);font-size:1.05rem;display:block}.learner-empty small{font-size:.92rem;display:block}.learner-empty__plus{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:14px;flex:none;place-items:center;font-size:1.5rem;font-weight:700;display:grid}.learner-empty:active{background:var(--accent-soft)}@media (hover:hover){.learner-empty:hover{border-color:var(--accent);background:var(--accent-soft)}.learner-empty:hover .learner-empty__plus{background:var(--surface)}}.learner-list{gap:8px;margin:0 0 18px;padding:0;list-style:none;display:grid}.learner-list li{border:1px solid var(--line);border-radius:18px;align-items:center;gap:8px;padding:6px;display:flex}.learner-list li.is-active{border-color:var(--accent);background:var(--accent-soft)}.learner-option{min-width:0;min-height:56px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;align-items:center;gap:12px;padding:6px;display:flex}.learner-option:disabled{cursor:default;opacity:.7}.learner-option strong{display:block}.learner-option small{color:var(--ink-3);display:block}.learner-avatar{background:var(--avatar);border-radius:14px;flex-shrink:0;place-items:center;width:46px;height:46px;font-size:1.5rem;display:grid}.learner-avatar--large{border-radius:20px;width:68px;height:68px;font-size:2.3rem}.learner-row-actions{gap:4px;display:flex}.learner-row-actions button{min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:0 12px;font-size:.88rem;font-weight:700}.learner-row-actions button:active{background:var(--fill)}.learner-actions,.join-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.learner-button{border:1px solid var(--line-strong);background:var(--surface);min-height:46px;color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;padding:0 18px;font-weight:700}.learner-button:active{background:var(--fill)}.learner-button:disabled{opacity:.5;cursor:not-allowed}.learner-button--primary{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.learner-button--primary:active{background:var(--ink-press)}.learner-button--create{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.learner-button--create:active{background:var(--accent);color:var(--on-ink)}.learner-button--danger{border-color:var(--danger-line);color:var(--danger)}.learner-button--quiet{color:var(--ink-2);background:0 0;border-color:#0000}.learner-label{color:var(--ink-2);margin:12px 0 6px;font-size:.85rem;font-weight:700;display:block}.learner-input{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:50px;font:inherit;color:var(--ink);border-radius:12px;padding:12px 14px;font-size:1rem}.learner-input:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.learner-input--code{letter-spacing:.08em;font:700 1.35rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.learner-error{color:var(--danger);margin:12px 0 0;font-weight:600}.learner-status{min-height:1.2em;color:var(--accent);margin:8px 0 0;font-size:.85rem}.learner-name-preview{background:var(--bg);border-radius:18px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px;display:flex}.learner-name-preview strong{flex:1;font-size:1.3rem}.learner-share{grid-template-columns:180px 1fr;align-items:start;gap:20px;display:grid}.learner-share .learner-button{margin-bottom:6px}.learner-qr svg{border-radius:12px;width:100%;height:auto;display:block}.learner-code{letter-spacing:.06em;-webkit-user-select:all;user-select:all;margin-bottom:8px;font:800 1.45rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.learner-link{color:var(--ink-2);word-break:break-all;-webkit-user-select:all;user-select:all;margin-bottom:8px;font-size:.8rem;display:block}.learner-manage{border-top:1px solid var(--line);padding:16px 0}.learner-manage--danger h3{color:var(--danger)}.join-page h1 span{margin-right:6px}@media (width<=650px){.learner-dialog,.share-dialog{padding:24px 18px}.learner-share{grid-template-columns:1fr}.learner-qr{max-width:220px}}@media (width<=520px){.learner-list li{flex-wrap:wrap;gap:0}.learner-option{flex-basis:100%}.learner-row-actions{margin-left:52px}}.side-share{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;font-family:inherit}.share-button{background:var(--fill);min-height:46px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:13px;align-items:center;gap:6px;padding:0 14px 0 12px;font-weight:650;display:inline-flex}.share-button:active{background:var(--line)}@media (hover:hover){.share-button:hover{background:var(--line)}}@media (width<=699px){.share-button{padding:0 12px}.share-button span{display:none}}.share-choice{background:var(--fill);border:0;border-radius:14px;flex-wrap:wrap;gap:4px;margin:0 0 18px;padding:4px;display:flex}.share-choice legend{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.share-choice label{flex:auto;display:flex;position:relative}.share-choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.share-choice label>span{min-height:42px;color:var(--ink-2);text-align:center;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-weight:650;display:flex}.share-choice input:checked+span{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow)}.share-choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:1px}.share-body{grid-template-columns:240px 1fr;align-items:start;gap:22px;display:grid}.share-qr svg{width:100%;height:auto;box-shadow:0 0 0 1px var(--line);border-radius:12px;display:block}.share-details .learner-copy{margin-bottom:4px}.share-details .learner-label{margin-top:4px}.share-actions{flex-wrap:wrap;gap:8px;display:flex}dialog.share-dialog{width:min(660px,100vw - 32px)}.share-dialog .learner-actions{justify-content:flex-end;margin-top:4px}@media (width<=650px){.share-body{grid-template-columns:1fr;gap:14px}.share-qr{width:min(210px,100%);margin:0 auto}.share-dialog .learner-actions{display:none}}@media print{body:has(>.share-dialog[open])>:not(.share-dialog){display:none}.share-dialog[open]{width:auto;max-height:none;box-shadow:none;margin:0;padding:0;display:block;position:static;overflow:visible}.share-dialog::backdrop,.share-dialog .learner-dialog__close,.share-dialog .share-choice,.share-dialog .share-actions,.share-dialog .learner-status,.share-dialog .learner-actions{display:none}.share-dialog .share-body{text-align:center;grid-template-columns:1fr;justify-items:center}.share-dialog .share-qr{width:9cm}.share-dialog .share-qr svg{box-shadow:none}.share-dialog h2{text-align:center;margin:0 0 18px;font-size:2.2rem}.share-dialog .learner-eyebrow{text-align:center}}.not-found{--gold:#e8b94f;--gold-ledge:#c99a33;--nf-card-w:136px;--nf-card-h:180px}.not-found .nf-hero{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 56px;display:grid}.nf-copy{max-width:36rem}.nf-copy h1{margin-bottom:12px}.nf-copy .intro{margin-bottom:18px}.nf-address{background:var(--fill);overflow-wrap:anywhere;border-radius:8px;max-width:100%;padding:2px 8px;font:600 .92em/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.nf-score{color:var(--ink-2);align-items:baseline;gap:10px;margin:0 0 22px;font-size:.95rem;display:flex}.nf-score>span:last-child{flex:1;min-width:0;line-height:1.45}.nf-chip{color:#b4553c;background:#f7e7e0;border-radius:99px;flex:none;padding:3px 11px;font-size:.8rem;font-weight:750}:root[data-theme=dark] .nf-chip{background:var(--danger-wash);color:var(--danger)}.nf-actions{flex-wrap:wrap;align-items:center;gap:10px 22px;display:flex}.nf-home{box-shadow:0 4px 0 var(--ink-press);transition:transform .12s,box-shadow .12s}.not-found--found .nf-home{animation:1.2s ease-out .35s 2 nf-ready}.nf-home:active{box-shadow:0 1px 0 var(--ink-press);transform:translateY(3px)}.nf-quiet{min-height:46px;color:var(--accent);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.nf-quiet:after{content:"→";margin-left:6px;transition:transform .15s}.nf-stage{flex-direction:column;align-items:center;gap:26px;padding:28px 34px 6px;display:flex;position:relative}.nf-deck{align-items:flex-end;gap:14px;display:flex}.nf-card{width:var(--nf-card-w);height:var(--nf-card-h);font-family:var(--display);color:var(--tint-ink);background:var(--tint);border:2px solid var(--tint-strong);box-shadow:0 10px 0 var(--tint-strong),0 22px 34px -16px var(--shadow);border-radius:28px;place-items:center;font-size:7.4rem;font-weight:800;line-height:1;display:grid;position:relative}.nf-card--four{padding-top:.1em;animation:3.6s ease-in-out infinite nf-bob;transform:rotate(-7deg)}.nf-card--last{animation-delay:-1.8s;transform:rotate(6deg)}.nf-card--slot{background:repeating-linear-gradient(-45deg,var(--surface) 0 12px,var(--fill) 12px 24px);border:3px dashed var(--line-strong);box-shadow:none;cursor:pointer;color:var(--ink);font:inherit;margin-bottom:22px;padding:0;transition:transform .2s,border-color .2s}.nf-card--slot:disabled{cursor:default}.nf-magnifier{fill:none;width:92px;height:92px;stroke:var(--ink);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;transform-origin:42% 42%;animation:4.8s ease-in-out infinite nf-search;overflow:visible}.nf-lens{fill:var(--surface);fill-opacity:.85}.nf-glare{stroke:var(--accent);stroke-width:4px}.nf-handle{stroke-width:9px}.nf-found{opacity:0;place-items:center;display:grid;position:absolute;inset:0;transform:scale(.4)rotate(-20deg)}.nf-found .brand-mark{grid-template-columns:repeat(2,30px);gap:8px}.nf-found .brand-mark i{border-radius:10px;width:30px;height:30px}.nf-hint{min-height:1.5em;color:var(--ink-3);text-align:center;margin:0;font-size:.9rem}.nf-hint b{color:var(--ink)}.nf-sparkle{width:26px;height:26px;fill:var(--gold);animation:2.8s ease-in-out infinite nf-twinkle;position:absolute}.nf-sparkle--1{top:6px;left:14px}.nf-sparkle--2{width:18px;height:18px;animation-delay:-1s;top:-4px;right:40px}.nf-sparkle--3{width:22px;height:22px;animation-delay:-2s;bottom:58px;right:6px}.not-found--found .nf-card--slot{border-style:solid;border-color:var(--gold);background:var(--surface);box-shadow:0 10px 0 var(--gold-ledge),0 22px 34px -16px var(--shadow);transform:translateY(-6px)}.not-found--found .nf-magnifier{animation:.5s cubic-bezier(.3,1.6,.5,1) forwards nf-step-aside}.not-found--found .nf-found{animation:.55s cubic-bezier(.3,1.6,.5,1) .12s forwards nf-pop}.not-found--found .nf-sparkle{animation:.9s cubic-bezier(.2,1.4,.4,1) both nf-burst}.not-found--found .nf-sparkle--2{animation-delay:80ms}.not-found--found .nf-sparkle--3{animation-delay:.16s}.nf-choices{border-top:1px solid var(--line);margin-top:44px;padding-top:30px}.nf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nf-choices h2{font-family:var(--display);margin:0 0 16px;font-size:1.4rem;font-weight:800;line-height:1.2}@keyframes nf-bob{0%,to{translate:0}50%{translate:0 -8px}}@keyframes nf-search{0%,to{transform:translate(-14px,-6px)rotate(-8deg)}25%{transform:translate(12px,-14px)rotate(6deg)}50%{transform:translate(14px,10px)rotate(10deg)}75%{transform:translate(-12px,12px)rotate(-4deg)}}@keyframes nf-twinkle{0%,to{opacity:.35;transform:scale(.7)rotate(0)}50%{opacity:1;transform:scale(1)rotate(20deg)}}@keyframes nf-step-aside{to{opacity:0;transform:translate(46px,-52px)rotate(24deg)scale(.6)}}@keyframes nf-pop{to{opacity:1;transform:none}}@keyframes nf-ready{0%{outline-offset:2px;outline:0 solid #0000}40%{outline:6px solid var(--gold);outline-offset:4px}to{outline-offset:10px;outline:6px solid #0000}}@keyframes nf-burst{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.6)rotate(40deg)}to{opacity:1;transform:scale(1)rotate(20deg)}}@media (hover:hover){.nf-card--slot:not(:disabled):hover{border-color:var(--accent);transform:translateY(-4px)rotate(-1.5deg)}.nf-home:hover{box-shadow:0 6px 0 var(--ink-press);transform:translateY(-2px)}.nf-quiet:hover:after{transform:translate(4px)}}@media (width<=999px){.not-found .nf-hero{grid-template-columns:1fr}.nf-stage{order:-1;align-items:flex-start;padding:18px 20px 0}.nf-hint{text-align:left}}@media (width<=699px){.not-found{--nf-card-w:96px;--nf-card-h:128px}.nf-card{box-shadow:0 7px 0 var(--tint-strong),0 16px 26px -14px var(--shadow);border-radius:22px;font-size:5.2rem}.nf-deck{gap:10px}.nf-card--slot{margin-bottom:16px}.nf-magnifier{width:66px;height:66px}.nf-found .brand-mark{grid-template-columns:repeat(2,22px);gap:6px}.nf-found .brand-mark i{border-radius:7px;width:22px;height:22px}.nf-stage{align-items:center;padding:10px 0 0}.nf-grid{grid-template-columns:1fr 1fr}.nf-grid>:nth-child(3){display:none}.nf-hint{text-align:center}}@media (prefers-reduced-motion:reduce){.nf-card--four,.nf-magnifier,.nf-sparkle{animation:none}.not-found--found .nf-magnifier{opacity:0;animation:none}.not-found--found .nf-found{opacity:1;animation:none;transform:none}.not-found--found .nf-sparkle,.not-found--found .nf-home{animation:none}.nf-card--slot,.nf-home,.nf-quiet:after{transition:none}.nf-card--slot:not(:disabled):hover,.not-found--found .nf-card--slot{transform:none}}
