@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}.undo-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}.undo-button:active:not(:disabled){background:var(--line)}.undo-button:disabled{color:var(--ink-3);cursor:default;opacity:.6}.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,.undo-button:hover:not(:disabled){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,.undo-button span{display:none}.back-link,.undo-button{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}}.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-preset--amounts{grid-template-columns:1fr}.dash-amount{grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:44px;font-weight:600;display:grid}.dash-amount>span:first-child{text-align:center;font-size:1.4rem;line-height:1}.dash-preset .dash-amount select{min-width:64px;max-width:none}.dash-amount .learner-button{min-height:36px;padding:4px 12px}.dash-preset .dash-amount__add select{max-width:100%}.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-case-sensitive .dash-target,.dash-case-sensitive .dash-table tbody th:first-child{text-transform:none}.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}}.dash-preset:has(>small){flex-wrap:wrap}.dash-preset>small{color:var(--ink-2);flex-basis:100%;font-size:.85rem;line-height:1.5}.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__text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.learner-chip__name{text-overflow:ellipsis;overflow:hidden}.learner-chip__hint{text-overflow:ellipsis;color:var(--accent);font-size:.78rem;font-weight:700;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__text,.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__text,.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-current{border:1px solid var(--accent);background:var(--accent-soft);border-radius:18px;align-items:center;gap:12px;margin:6px 0 12px;padding:12px;display:flex}.learner-current>span:nth-child(2){flex:1;min-width:0}.learner-current small{color:var(--ink-2);font-size:.82rem;font-weight:650;display:block}.learner-current strong{text-overflow:ellipsis;font-size:1.15rem;display:block;overflow:hidden}.learner-button--signout{background:var(--surface);flex:none}.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}}
