.lp{--lp-ink:var(--text);--lp-ink-soft:var(--muted);--lp-paper:var(--surface);--lp-radius:var(--r-lg);--lp-ease:var(--ease);background:var(--bg);min-height:100vh;color:var(--text-body);font-family:var(--sans);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}.lp *,.lp :before,.lp :after{box-sizing:border-box}.lp>main{flex:1}.lp-wrap{width:100%;max-width:1400px;margin:0 auto;padding:0 24px}.lp-only-desktop{display:none}@media (width>=1024px){.lp-wrap{padding:0 40px}.lp-only-desktop{display:inline-flex}.lp-only-mobile{display:none}}.lp-btn{border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--d2) var(--ease), border-color var(--d2) var(--ease), transform var(--d1) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:500;line-height:24px;text-decoration:none;display:inline-flex}.lp-btn:hover{background:var(--accent-deep)}.lp-btn:active{transform:translateY(1px)}.lp-btn:disabled{opacity:.5;cursor:default;transform:none}.lp-btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.lp-btn.secondary:hover{background:var(--surface);border-color:var(--border-strong)}.lp-btn.dark{background:var(--text);color:#fff}.lp-btn.dark:hover{background:#000}.lp-btn.small{padding:8px 16px;font-size:15px}.lp-header{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffd9;position:sticky;top:0}.lp-header-inner{align-items:center;gap:20px;height:64px;display:flex}.lp-logo{color:var(--text);letter-spacing:-.01em;align-items:center;gap:8px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.lp-logo-mark{background:url(/favicon.svg) 50%/contain no-repeat;flex:none;width:22px;height:22px}.lp-nav{gap:16px;min-width:0;margin-left:8px}.lp-nav a{color:var(--muted);white-space:nowrap;transition:color var(--d2) var(--ease);font-size:15px;font-weight:500;text-decoration:none}@media (width>=1280px){.lp-nav{gap:22px}}@media (width>=1440px){.lp-nav{gap:28px}}@media (width<=1099px),(width>=1280px) and (width<=1439px){.lp-nav .lp-nav-pricing{display:none}}.lp-find-short{display:none}@media (width<=479px){.lp-find-full{display:none}.lp-find-short{display:inline}}.lp-only-wide{display:none}@media (width>=1280px){.lp-only-wide{display:inline-flex}}.lp-nav a:hover{color:var(--text)}.lp-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.lp-lang{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);gap:2px;padding:3px}.lp-lang button{border-radius:var(--r-pill);color:var(--muted);font:inherit;letter-spacing:.02em;cursor:pointer;transition:color var(--d2) var(--ease), background var(--d2) var(--ease);background:0 0;border:0;padding:5px 10px;font-size:13px;font-weight:600}.lp-lang button:hover:not(.on){color:var(--text)}.lp-lang button.on{background:var(--text);color:#fff}.lp-menu{position:relative}.lp-menu summary{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;list-style:none;display:inline-flex}.lp-menu summary::-webkit-details-marker{display:none}.lp-menu-panel{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:min(320px,100vw - 48px);box-shadow:var(--shadow-3);gap:4px;padding:12px;display:grid;position:absolute;top:48px;right:0}.lp-menu-panel>a{border-radius:var(--r-sm);color:var(--text);padding:10px 12px;font-weight:500;text-decoration:none}.lp-menu-panel>a:hover{background:var(--sunk)}.lp-menu-panel .lang-list{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.lp-eyebrow{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;font-size:12px;display:block}.lp-h1{color:var(--text);letter-spacing:-.03em;text-wrap:balance;margin:24px 0 0;font-size:clamp(40px,6vw,72px);font-weight:500;line-height:1.05}.lp-h2{color:var(--text);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(28px,3vw,36px);font-weight:500;line-height:1.15}.lp-mark{background:var(--accent);color:var(--text);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.15em;padding:0 .08em}.lp-lead{max-width:576px;color:var(--muted);margin:20px 0 0;font-size:18px;line-height:1.55}.lp-fine{color:var(--faint);margin:16px 0 0;font-size:14px}.lp-app-link{color:var(--text);align-items:center;gap:6px;margin-top:10px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.lp-app-link:hover{text-underline-offset:3px;text-decoration:underline}.lp-icon-circle{background:var(--accent);width:40px;height:40px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.lp-icon-circle.small{width:32px;height:32px}.lp-inline-link{color:var(--text);border-bottom:1px solid var(--border-strong);transition:border-color var(--d2) var(--ease);align-items:center;gap:6px;padding-bottom:2px;font-weight:500;text-decoration:none;display:inline-flex}.lp-inline-link:hover{border-color:var(--text)}.lp-section{padding:40px 0}.lp-section-head{max-width:720px;margin-bottom:28px}.lp-section-head .lp-lead{margin-top:12px}@media (width>=1024px){.lp-section{padding:56px 0}}.lp-dots{background-image:var(--dot);background-size:var(--dot-size);pointer-events:none;height:600px;max-height:100%;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 40%,#0000);mask-image:linear-gradient(#000 40%,#0000)}.lp-error{border:1px solid var(--bad-line);border-radius:var(--r-md);background:var(--bad-soft);color:var(--bad);margin:12px 0 0;padding:10px 16px;font-size:15px}.lp-hero{padding:40px 0 32px;position:relative;overflow:clip visible}.lp-hero-grid,.lp-tutors,.lp-steps,.lp-features,.lp-pricing,.lp-invite,.lp-start{grid-template-columns:minmax(0,1fr)}.lp-hero-copy,.lp-hero-aside{min-width:0}.lp-hero-grid{align-items:center;gap:40px;display:grid;position:relative}@media (width>=1024px){.lp-hero{padding:72px 0 48px}.lp-hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px}}.lp-badge{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1);color:var(--text-body);transition:border-color var(--d2) var(--ease);align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:14px;text-decoration:none;display:inline-flex}.lp-badge:hover{border-color:var(--border-strong)}.lp-badge-chip{border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);padding:2px 10px;font-size:13px;font-weight:500}.lp-search{max-width:640px;margin-top:28px;position:relative}.lp-search-field{border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1);transition:border-color var(--d2) var(--ease), box-shadow var(--d2) var(--ease);align-items:center;gap:8px;padding:6px 6px 6px 16px;display:flex}.lp-search-field:focus-within{border-color:var(--text);box-shadow:0 0 0 4px #e0ff8299}.lp-search-icon{color:var(--muted);flex:none}.lp-search-field input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:8px 0;font-size:17px}.lp-search-field input::placeholder{color:var(--faint)}.lp-search-btn{border-radius:var(--r-pill);padding:10px 20px}.lp-search-pop{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);padding:6px;position:absolute;top:calc(100% + 8px);left:0;right:0}.lp-search-pop ul{margin:0;padding:0;list-style:none}.lp-search-opt{border-radius:var(--r-sm);cursor:pointer;align-items:center;gap:12px;padding:8px 10px;display:flex}.lp-search-opt.active{background:var(--sunk)}.lp-search-opt b{color:var(--text);font-weight:500;display:block}.lp-search-opt small{color:var(--muted);font-size:13px;display:block}.lp-search-none{color:var(--muted);margin:0;padding:12px 14px;font-size:15px}.lp-search-none a{color:var(--text)}@media (width<=639px){.lp-search-field{border-radius:var(--r-lg);flex-wrap:wrap;padding:6px}.lp-search-icon{margin-left:10px}.lp-search-field input{flex-basis:calc(100% - 44px);padding:8px 4px}.lp-search-btn{border-radius:var(--r-md);width:100%}}.lp-chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.lp-chip{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);white-space:nowrap;transition:border-color var(--d2) var(--ease), background var(--d2) var(--ease);align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.lp-chip:hover{border-color:var(--border-strong);background:var(--accent-soft)}.lp-chip.ghost{color:var(--muted);border-style:dashed}@media (width<=639px){.lp-chips{scrollbar-width:none;flex-wrap:nowrap;margin-left:-24px;margin-right:-24px;padding:4px 24px;overflow-x:auto}.lp-chips::-webkit-scrollbar{display:none}}.lp-hero-aside{justify-content:center;display:flex}.lp-float{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow-4);padding:24px;position:relative;overflow:hidden}.lp-float:before,.lp-share:before{content:"";background-image:var(--dot);background-size:var(--dot-size);opacity:.6;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}.lp-float>*,.lp-share>*{position:relative}.lp-mock-top{align-items:center;gap:14px;display:flex}.lp-mock-avatar{background:var(--accent);width:56px;height:56px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:22px;font-weight:600;display:inline-flex}.lp-mock-name{color:var(--text);font-size:18px;font-weight:600}.lp-mock-head{color:var(--muted);margin-top:2px;font-size:14px}.lp-mock-tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.lp-tag{border-radius:var(--r-pill);background:var(--sunk);color:var(--text);padding:4px 10px;font-size:13px;font-weight:500}.lp-mock-row{color:var(--text);align-items:center;gap:8px;margin-top:12px;font-weight:500;display:flex}.lp-mock-row.muted{color:var(--muted);font-size:14px;font-weight:400}.lp-mock-btn{width:100%;margin-top:18px}.lp-mock-embedded{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);margin-top:16px;padding:20px;position:relative}.lp-mock-embedded .lp-mock-btn{margin-top:14px}.lp-mock-tick{background:var(--accent);width:26px;height:26px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.lp-deck-wrap{width:100%;max-width:420px}.lp-deck{height:248px;margin:10px 0 36px;padding:0;list-style:none;animation:5s ease-in-out infinite alternate lp-levitate;position:relative}@keyframes lp-levitate{to{transform:translateY(-10px)}}.lp-deck-card{transition:transform .65s var(--ease-spring), opacity .45s var(--ease);will-change:transform, opacity;position:absolute;inset:0}.lp-deck-card a{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);height:100%;box-shadow:var(--shadow-4);color:var(--text);flex-direction:column;gap:10px;padding:24px;text-decoration:none;display:flex;position:relative;overflow:hidden}.lp-deck-card a:before{content:"";background-image:var(--dot);background-size:var(--dot-size);opacity:.6;pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 70%);mask-image:linear-gradient(#000,#0000 70%)}.lp-deck-card a>*{position:relative}.lp-deck-icon{border-radius:var(--r-md);background:var(--accent);width:44px;height:44px;color:var(--text);justify-content:center;align-items:center;display:inline-flex}.lp-deck-card b{letter-spacing:-.01em;font-size:20px;font-weight:600}.lp-deck-card small{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;font-size:14px;line-height:1.45;display:-webkit-box;overflow:hidden}.lp-deck-cta{align-items:center;gap:6px;margin-top:auto;font-size:15px;font-weight:600;display:inline-flex}.lp-deck-card.is-front{z-index:3}.lp-deck-card.is-mid,.lp-deck-card.is-back,.lp-deck-card.is-hidden,.lp-deck-card.is-out{pointer-events:none}.lp-deck-card.is-mid{z-index:2;transform:translateY(16px)scale(.95)rotate(1.4deg)}.lp-deck-card.is-back{z-index:1;transform:translateY(32px)scale(.9)rotate(-1.6deg)}.lp-deck-card.is-hidden{z-index:0;opacity:0;transition:opacity .3s var(--ease);transform:translateY(32px)scale(.9)}.lp-deck-card.is-out{z-index:4;opacity:0;transform:translate(45%,-16%)rotate(8deg)}@media (prefers-reduced-motion:reduce){.lp-deck{animation:none}.lp-deck-card{transition:none}}.lp-topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=640px){.lp-topics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media (width>=1024px){.lp-topics{grid-template-columns:repeat(4,minmax(0,1fr))}}.lp-topic{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);transition:border-color var(--d2) var(--ease), transform var(--d2) var(--ease), box-shadow var(--d2) var(--ease);flex-direction:column;gap:6px;padding:18px;text-decoration:none;display:flex}.lp-topic:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1);transform:translateY(-1px)}.lp-topic-name{margin-top:8px;font-size:16px;font-weight:600}.lp-topic-blurb{color:var(--muted);font-size:14px;line-height:1.45}@media (width<=639px){.lp-topic{padding:14px}.lp-topic-blurb{display:none}}.lp-sunken{border-radius:var(--r-xl);background:var(--sunk);padding:32px 24px}@media (width>=1024px){.lp-sunken{padding:48px}}.lp-steps{gap:24px;margin:0;padding:0;list-style:none;display:grid}@media (width>=768px){.lp-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}.lp-step-n{background:var(--accent);width:32px;height:32px;color:var(--text);font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.lp-step h3{color:var(--text);margin:14px 0 6px;font-size:18px;font-weight:500}.lp-step p{color:var(--muted);margin:0;line-height:1.5}.lp-sunken .lp-inline-link{margin-top:28px}.lp-frame{border:1.5px solid var(--text);border-radius:var(--r-xl);background:var(--surface);box-shadow:12px 12px 0 0 var(--text);margin-bottom:12px;margin-right:12px;overflow:hidden}.lp-frame-bar{border-bottom:1.5px solid var(--text);gap:6px;padding:12px 16px;display:flex}.lp-frame-bar i{border:1.5px solid var(--text);background:var(--surface);border-radius:50%;width:10px;height:10px}.lp-frame-bar i:first-child{background:var(--accent)}.lp-split{display:grid}@media (width>=768px){.lp-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.lp-stage{background:var(--text);background-position:50%;background-size:cover;min-height:300px;position:relative}@media (width>=768px){.lp-stage{min-height:460px}}.lp-stage-label{border-radius:var(--r-pill);color:var(--text);background:#ffffffeb;padding:5px 12px;font-size:13px;font-weight:500;position:absolute;top:14px;left:14px}.lp-stage-controls{justify-content:center;gap:8px;display:flex;position:absolute;bottom:12px;left:0;right:0}.lp-stage-controls span{border-radius:var(--r-pill);color:#fff;background:#1d2020bf;padding:6px 12px;font-size:12px}.lp-lesson-pane{align-items:center;min-width:0;display:flex}.lp-lesson-pane>*{width:100%}.lp-demo-note{color:var(--muted);text-align:center;margin:14px 0 0;font-size:14px}.lp-graph{gap:14px;padding:20px 22px 22px;display:grid}.lp-graph-top .lp-eyebrow{margin-bottom:8px}.lp-graph-task,.lp-graph-now{color:var(--text-body);margin:0;font-size:15px;line-height:1.5}.lp-graph-now{color:var(--muted);margin-top:4px}.lp-graph-eq{border-radius:var(--r-sm);background:var(--sunk);color:var(--text);font-family:var(--mono);white-space:nowrap;padding:1px 8px;font-size:15px;font-weight:500;display:inline-block}.lp-graph-eq.target{background:var(--accent)}.lp-graph-svg{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-width:420px;height:auto;margin:0 auto;display:block;overflow:visible}.lp-graph-dot{fill:#1d202029}.lp-graph-region{fill:#e0ff828c;transition:fill var(--d2) var(--ease)}.lp-graph.right .lp-graph-region{fill:#c8ec5fcc}.lp-graph-axis{stroke:var(--text);stroke-width:1.5px}.lp-graph-arrow{fill:var(--text)}.lp-graph-tick{fill:var(--muted);font-family:var(--mono);font-size:11px}.lp-graph-line{stroke:var(--text);stroke-width:2.5px;stroke-linecap:round}.lp-graph-handle{cursor:grab;outline:none}.lp-graph-handle.dragging{cursor:grabbing}.lp-graph-halo{fill:#e0ff8200;transition:fill var(--d2) var(--ease)}.lp-graph-handle:hover .lp-graph-halo,.lp-graph-handle.dragging .lp-graph-halo,.lp-graph-handle:focus-visible .lp-graph-halo{fill:#e0ff8299}.lp-graph-knob{fill:#fff;stroke:var(--text);stroke-width:2px}.lp-graph-core{fill:var(--text)}.lp-graph-label{fill:var(--text);font-family:var(--mono);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;font-size:11px}.lp-graph-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lp-graph-hint{color:var(--faint);font-size:13px}.lp-graph-msg{border-radius:var(--r-md);align-items:flex-start;gap:8px;min-height:62px;margin:0;padding:10px 12px;font-size:14px;line-height:1.45;display:flex}.lp-graph-msg.none{visibility:hidden}.lp-graph-msg .ic{flex:none;margin-top:2px}.lp-graph-msg.right{background:var(--ok-soft);color:var(--ok)}.lp-graph-msg.wrong{background:var(--warn-soft);color:var(--warn)}@media (width<=767px){.lp-graph{padding:16px}}.lp-features{gap:16px;display:grid}@media (width>=640px){.lp-features{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.lp-features{grid-template-columns:repeat(3,minmax(0,1fr))}}.lp-feature-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:22px}.lp-feature-card h3{color:var(--text);margin:14px 0 6px;font-size:16px;font-weight:500}.lp-feature-card p{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.lp-feature-link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;align-items:center;gap:4px;margin-top:10px;font-size:15px;font-weight:500;display:inline-flex}.lp-feature-link:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.lp-chip-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.lp-fchip{border-radius:var(--r-sm);background:var(--sunk);color:var(--text);font-family:var(--mono);padding:4px 8px;font-size:12px}.lp-fchip b{color:var(--ok)}.lp-tutors{align-items:center;gap:32px;display:grid}@media (width>=1024px){.lp-tutors{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px}}.lp-ticks{gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.lp-ticks li{color:var(--text-body);align-items:flex-start;gap:10px;display:flex}.lp-ticks .ic{color:var(--accent-text);flex:none;margin-top:3px}.lp-cta-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.lp-cta-row.center{justify-content:center}.lp-consent{color:var(--faint);margin:12px 0 0;font-size:13px}.lp-consent a{color:inherit;text-underline-offset:3px;text-decoration:underline}.lp-share{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);padding:24px;position:relative;overflow:hidden}.lp-url{border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font-family:var(--mono);align-items:center;gap:10px;padding:8px 8px 8px 14px;font-size:14px;display:flex}.lp-url span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.lp-url b{border-radius:var(--r-pill);background:var(--accent);font-family:var(--sans);align-items:center;gap:4px;padding:5px 10px;font-size:13px;font-weight:500;display:inline-flex}.lp-share-caption{color:var(--muted);margin:16px 0 0;font-size:14px}.lp-pricing{align-items:start;gap:20px;display:grid}@media (width>=768px){.lp-pricing{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media (width>=1024px){.lp-pricing.three{grid-template-columns:repeat(3,minmax(0,1fr))}}.lp-price-card{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);flex-direction:column;padding:32px;display:flex;position:relative}.lp-price-card.featured{border-color:var(--text)}.lp-price-card h3{color:var(--text);margin:0;font-size:18px;font-weight:500}.lp-price-badge{border-radius:var(--r-pill);background:var(--accent);color:var(--text);padding:4px 12px;font-size:13px;font-weight:500;position:absolute;top:-13px;left:24px}.lp-price{color:var(--text);letter-spacing:-.03em;margin:16px 0 8px;font-size:clamp(44px,5vw,64px);font-weight:500;line-height:1}.lp-price-period{color:var(--muted);letter-spacing:0;font-size:16px;font-weight:400}.lp-price-card .lp-ticks{margin:16px 0 24px}.lp-price-card .lp-btn{align-self:flex-start}.lp-plans-terms{color:var(--faint);margin:16px 0 0;font-size:13px}.lp-plans-terms a{color:inherit;text-underline-offset:3px;text-decoration:underline}.lp-marks{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:24px;font-size:14px;display:flex}.lp-marks-row{flex-wrap:wrap;gap:8px;display:inline-flex}.lp-marks-row img{border-radius:var(--r-sm);background:#fff;width:auto;height:32px}.lp-invite{border-radius:var(--r-xl);background:var(--sunk);align-items:center;gap:16px;padding:24px;display:grid}@media (width>=1024px){.lp-invite{grid-template-columns:minmax(0,1fr) auto auto;gap:32px;padding:28px 32px}}.lp-invite h3{color:var(--text);margin:0;font-size:18px;font-weight:500}.lp-invite p{color:var(--muted);margin:4px 0 0;font-size:15px}.lp-code-form{gap:8px;display:flex}.lp-code-form input{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);width:160px;min-width:0;color:var(--text);font:inherit;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;flex:1;padding:11px 14px;font-size:15px}.lp-code-form input:focus{border-color:var(--text);outline:0}.lp-centers{border-radius:var(--r-xl);background-color:var(--text);background-image:radial-gradient(circle,#ffffff12 1px,#0000 1px);background-size:var(--dot-size);color:#fff;grid-template-columns:minmax(0,1fr);gap:28px;padding:32px 24px;display:grid;position:relative;overflow:hidden}@media (width>=900px){.lp-centers{grid-template-columns:minmax(0,1fr) minmax(0,300px);align-items:center;gap:48px;padding:56px}}.lp-centers .lp-eyebrow{color:#ffffff80}.lp-centers .lp-h2{color:#fff}.lp-centers .lp-lead{color:#ffffffad}.lp-centers-ticks{border-radius:var(--r-lg);background:#ffffff0a;border:1px solid #ffffff1f;gap:12px;margin:0;padding:20px 22px;list-style:none;display:grid}.lp-centers-ticks li{align-items:center;gap:12px;font-size:16px;font-weight:500;display:flex}.lp-centers-ticks .ic{background:var(--accent);width:22px;height:22px;color:var(--text);border-radius:50%;flex:none;padding:3px}.lp-faq-wrap{max-width:900px;margin-left:0}.lp-faq details{border-bottom:1px solid var(--border)}.lp-faq details:first-child{border-top:1px solid var(--border)}.lp-faq summary{color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:16px;font-weight:500;list-style:none;display:flex}.lp-faq summary::-webkit-details-marker{display:none}.lp-faq summary .ic{color:var(--muted);transition:transform var(--d2) var(--ease);flex:none}.lp-faq details[open] summary .ic{transform:rotate(180deg)}.lp-faq details p{max-width:720px;color:var(--muted);margin:0 0 20px;line-height:1.55}.lp-final{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);text-align:center;padding:56px 24px;position:relative;overflow:hidden}.lp-final>*{position:relative}.lp-final .lp-dots{height:100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 70%);mask-image:radial-gradient(#000,#0000 70%)}.lp-final .lp-fine{margin-top:16px}.lp-footer{border-top:1px solid var(--border);margin-top:24px;padding:40px 0 32px}.lp-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.lp-footer-brand{grid-column:1/-1}.lp-footer-brand p{max-width:260px;color:var(--muted);margin:12px 0 0;font-size:14px}.lp-footer-social{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.lp-footer-social a{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);width:40px;height:40px;color:var(--text);transition:border-color var(--d2) var(--ease), background var(--d2) var(--ease);place-items:center;display:grid}.lp-footer-social a:hover{border-color:var(--text);background:var(--accent-soft)}.lp-store{border-radius:var(--r-md);background:var(--text);color:#fff;transition:background var(--d2) var(--ease);align-items:center;gap:10px;margin-top:16px;padding:8px 18px 8px 12px;line-height:1.15;text-decoration:none;display:inline-flex}.lp-store:hover{background:#000}.lp-store small{opacity:.75;font-size:12px;display:block}.lp-store b{font-size:17px;font-weight:600;display:block}.lp-app-card{left:12px;right:12px;bottom:calc(12px + var(--bq-ads-h,env(safe-area-inset-bottom)));z-index:60;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-3);animation:lp-app-card-in .3s var(--ease) both;align-items:center;gap:10px;padding:10px 12px 10px 6px;display:flex;position:fixed}.lp-app-card img{border-radius:10px;flex:none}.lp-app-card-text{flex:1;min-width:0;line-height:1.25;display:grid}.lp-app-card-text b{color:var(--text);font-size:15px;font-weight:600}.lp-app-card-text span{color:var(--muted);font-size:13px}.lp-app-card-close{border-radius:var(--r-pill);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-right:-6px;display:grid}.lp-store.small{flex:none;margin:0;padding:7px 14px}.lp-store.small small{font-size:10px}.lp-store.small b{font-size:15px}@keyframes lp-app-card-in{0%{opacity:0;transform:translateY(16px)}}@media (prefers-reduced-motion:reduce){.lp-app-card{animation:none}}html.bq-app-card .lp-footer{padding-bottom:calc(110px + var(--bq-ads-h,env(safe-area-inset-bottom)))}@media (width>=1024px){.lp-footer-grid{grid-template-columns:1.6fr repeat(4,1fr);gap:32px}.lp-footer-brand{grid-column:auto}}.lp-footer-col{align-content:start;gap:10px;display:grid}.lp-footer-col h3{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;font-size:13px;font-weight:600}.lp-footer-col a,.lp-footer-col span{color:var(--text-body);font-size:15px;text-decoration:none}.lp-footer-col a:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.lp-footer-link{color:var(--text-body);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:15px}.lp-footer-link:hover{color:var(--text);text-underline-offset:3px;text-decoration:underline}.lp-footer-bottom{border-top:1px solid var(--border);color:var(--faint);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:32px;padding-top:20px;font-size:14px;display:flex}.lp-page{padding:32px 24px 56px}@media (width>=1024px){.lp-page{padding:48px 40px 72px}}.lp-breadcrumb{color:var(--muted);align-items:center;gap:6px;margin-bottom:20px;font-size:14px;text-decoration:none;display:inline-flex}.lp-breadcrumb:hover{color:var(--text)}.lp-page-head{align-items:center;gap:16px;display:flex}.lp-page-head .lp-icon-circle{width:48px;height:48px}.lp-page h1{color:var(--text);letter-spacing:-.03em;margin:0;font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.1}.lp-page .lp-search{margin-top:24px}.lp-empty{border:1px dashed var(--border-strong);border-radius:var(--r-xl);background:var(--surface);text-align:center;margin-top:28px;padding:32px 24px}.lp-empty h2{color:var(--text);margin:0 0 8px;font-size:22px;font-weight:500}.lp-empty p{max-width:520px;color:var(--muted);margin:0 auto}.lp-empty .lp-cta-row{justify-content:center}.lp-topic-row{margin-top:40px}.lp-topic-row h2{color:var(--text);margin:0 0 12px;font-size:18px;font-weight:500}.lp-start{grid-template-columns:minmax(0,520px);place-content:start center;min-height:70vh;padding:48px 24px 80px;display:grid}@media (width>=1024px){.lp-start{padding:80px 40px 96px}}.lp-start-card h1{color:var(--text);letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.1}.lp-start-card>p{color:var(--muted);margin:0 0 26px;font-size:17px}.lp-role{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--sunk);gap:2px;margin:12px 0 22px;padding:4px;display:inline-flex}.lp-role button{border-radius:var(--r-pill);color:var(--muted);font:inherit;cursor:pointer;transition:color var(--d2) var(--ease), background var(--d2) var(--ease);background:0 0;border:0;padding:8px 16px;font-size:15px;font-weight:500}.lp-role button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.lp-start-lead{color:var(--muted);margin:0 0 6px;font-size:16px;line-height:1.5}.lp-start-card .lp-error{margin:0 0 16px}.lp-start-card .lp-hint a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.lp-auth{flex-direction:column;gap:12px;max-width:380px;display:flex}.lp-auth-divider{color:var(--muted);text-align:center;font-size:14px}.lp-auth input{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;padding:12px 14px;font-size:16px}.lp-auth input:focus{border-color:var(--text);outline:0}.lp-hint{color:var(--muted);margin:4px 0 0;font-size:14px}.lp-avatar{object-fit:cover;background:var(--sunk);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.lp-avatar-initials{background:var(--accent);color:var(--text);letter-spacing:-.02em;font-weight:600}.lp-tutor-grid{gap:12px;display:grid}@media (width>=768px){.lp-tutor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media (width>=1280px){.lp-tutor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.lp-tutor-card{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);transition:border-color var(--d2) var(--ease), transform var(--d2) var(--ease), box-shadow var(--d2) var(--ease);gap:14px;padding:18px;text-decoration:none;display:flex}.lp-tutor-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1);transform:translateY(-1px)}.lp-tutor-card-body{gap:6px;min-width:0;display:grid}.lp-tutor-card-body b{font-size:17px;font-weight:600}.lp-tutor-card-head{color:var(--muted);font-size:14px;line-height:1.4}.lp-tutor-card-meta{flex-wrap:wrap;gap:6px;display:flex}.lp-tutor-card-foot{color:var(--text-body);font-size:14px;font-weight:500}.lp-profile-grid{grid-template-columns:minmax(0,1fr);gap:32px;display:grid}@media (width>=1024px){.lp-profile-grid{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"head aside""main aside";column-gap:48px}.lp-profile-head{grid-area:head}.lp-profile-main{grid-area:main}.lp-profile-aside{grid-area:aside}}.lp-profile-head{align-items:center;gap:24px;display:flex}.lp-profile-head .lp-lead{margin-top:8px}.lp-profile-meta{color:var(--text-body);flex-wrap:wrap;gap:8px 16px;margin:10px 0 0;font-weight:500;display:flex}.lp-profile-main{gap:28px;max-width:720px;display:grid}.lp-profile-main .lp-chips{margin-top:0}.lp-profile-h2{color:var(--text);margin:0 0 10px;font-size:18px;font-weight:500}.lp-profile-bio{color:var(--text-body);white-space:pre-line;margin:0 0 12px;line-height:1.6}.lp-profile-cta{gap:12px;max-width:none;display:grid}.lp-profile-cta .lp-fine{margin:0}@media (width<=639px){.lp-profile-head{flex-direction:column;align-items:flex-start;gap:16px}}.lp-stars{color:var(--border-strong);letter-spacing:1px;white-space:nowrap;line-height:1;display:inline-block;position:relative}.lp-stars-fill{color:#e0a400;position:absolute;inset:0 auto 0 0;overflow:hidden}.lp-rating-line{color:var(--text-body);align-items:center;gap:6px;font-size:14px;display:inline-flex}.lp-rating-line b{color:var(--text);font-weight:600}.lp-rating-line>span{color:var(--muted)}.lp-star-input{gap:2px;display:inline-flex}.lp-star-input button{color:var(--border-strong);cursor:pointer;transition:color var(--d1) var(--ease), transform var(--d1) var(--ease);background:0 0;border:0;padding:2px;font-size:28px;line-height:1}.lp-star-input button.on{color:#e0a400}.lp-star-input button:hover{transform:scale(1.1)}.lp-tag-accent{background:var(--accent-soft);color:var(--accent-text);margin-left:6px}.lp-fine-bad{color:var(--bad)}.lp-review-form{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sunk);gap:10px;margin:0 0 20px;padding:18px;display:grid}.lp-review-form h3{color:var(--text);margin:0;font-size:16px;font-weight:500}.lp-review-form .lp-fine{margin:0}.lp-review-form textarea,.lp-request-form input,.lp-request-form textarea{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:10px 12px;font-size:15px}.lp-review-form textarea:focus,.lp-request-form input:focus,.lp-request-form textarea:focus{border-color:var(--text);outline:0}.lp-review-form .lp-cta-row{align-items:center;margin-top:4px}.lp-reviews{gap:14px;margin:0;padding:0;list-style:none;display:grid}.lp-review{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);padding:14px 16px}.lp-review-head{flex-wrap:wrap;align-items:center;gap:10px;font-size:14px;display:flex}.lp-review-head b{color:var(--text);font-weight:600}.lp-review-head span{color:var(--faint)}.lp-review p{color:var(--text-body);white-space:pre-line;margin:8px 0 0;line-height:1.55}.lp-docs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=640px){.lp-docs{grid-template-columns:repeat(3,minmax(0,1fr))}}.lp-doc{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);transition:border-color var(--d2) var(--ease);gap:6px;padding:10px;text-decoration:none;display:grid}.lp-doc:hover{border-color:var(--border-strong)}.lp-doc img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-sm);background:var(--sunk);width:100%;display:block}.lp-doc b{font-size:14px;font-weight:500;line-height:1.35}.lp-doc small{color:var(--muted);font-size:12px}.lp-dialog{border:1.5px solid var(--text);border-radius:var(--r-xl);background:var(--surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text-body);box-shadow:12px 12px 0 0 var(--text);padding:22px 24px 24px;overflow:auto}.lp-dialog::backdrop{background:#1d202073}.lp-dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lp-dialog-head h2{color:var(--text);letter-spacing:-.01em;margin:0;font-size:22px;font-weight:500}.lp-dialog-close{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.lp-dialog-sub{margin:6px 0 16px}.lp-slots h3{color:var(--text);margin:0 0 10px;font-size:16px;font-weight:500}.lp-slot-day{margin-bottom:12px}.lp-slot-day b{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.lp-slot-row{flex-wrap:wrap;gap:6px;display:flex}.lp-slot{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font:inherit;font-family:var(--mono);cursor:pointer;transition:border-color var(--d2) var(--ease), background var(--d2) var(--ease);padding:7px 12px;font-size:14px}.lp-slot:hover{border-color:var(--text);background:var(--accent-soft)}.lp-request-form{gap:12px;display:grid}.lp-request-form label{color:var(--muted);gap:6px;font-size:14px;display:grid}.lp-request-chosen{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0;display:flex}.lp-request-chosen .lp-inline-link{font:inherit;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;margin:0;font-weight:500}.lp-honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.lp-dialog-sent{justify-items:start;gap:12px;padding:8px 0;display:grid}.lp-dialog-sent p{color:var(--text-body);margin:0;font-size:16px;line-height:1.5}.lp-reveal{opacity:0;transition:opacity var(--d3) var(--ease), transform var(--d3) var(--ease);transform:translateY(8px)}.lp-reveal.on{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.lp-reveal{opacity:1;transition:none;transform:none}}.lp-auth-form{flex-direction:column;gap:10px;display:flex}.lp-sent{border-radius:var(--r-md);background:var(--accent-soft);color:var(--text-body);align-items:flex-start;gap:8px;margin:0;padding:12px 14px;font-size:15px;line-height:1.45;display:flex}.lp-sent .ic{color:var(--accent-text);flex:none;margin-top:2px}.lp-code-block{border-top:1px solid var(--border);gap:12px;margin-top:8px;padding-top:16px;display:grid}.lp-code-block .lp-inline-link{font:inherit;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;justify-self:start;padding:0 0 2px;font-weight:500}.lp-start-card>p{color:var(--muted);font-size:16px}.lp-user{max-width:180px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:14px;display:inline-flex;overflow:hidden}.lp-menu-panel>button{border-radius:var(--r-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 12px;font-weight:500}.lp-menu-panel>button:hover{background:var(--sunk)}.lp-notice{border:1px solid var(--accent-deep);border-radius:var(--r-md);background:var(--accent-soft);color:var(--text-body);align-items:center;gap:8px;margin:12px 0 0;padding:10px 16px;font-size:15px;display:flex}.lp-notice .ic{color:var(--accent-text);flex:none}.lp-profile-hero{padding:32px 0 48px;position:relative}.lp-profile-hero .lp-dots{height:440px}@media (width>=1024px){.lp-profile-hero{padding:56px 0 64px}}.lp-profile-grid{position:relative}@media (width>=1024px){.lp-profile-grid{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:48px 56px}}.lp-profile-head{align-items:flex-start;gap:28px}.lp-profile-head>div{min-width:0}.lp-profile-head .lp-avatar{border:1px solid var(--border);box-shadow:var(--shadow-1);background:var(--surface);border-radius:28px}.lp-profile-head .lp-eyebrow{margin-bottom:8px}.lp-profile-head h1{color:var(--text);letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:clamp(32px,4.5vw,52px);font-weight:500;line-height:1.05}.lp-profile-head .lp-lead{max-width:640px;color:var(--text-body);margin-top:12px}.lp-profile-meta{gap:8px 18px;margin-top:16px;font-size:15px;font-weight:400}.lp-profile-meta>span{align-items:center;gap:6px;display:inline-flex}.lp-profile-meta .ic{color:var(--muted)}.lp-socials{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.lp-socials a{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);transition:border-color var(--d2) var(--ease), background var(--d2) var(--ease);align-items:center;gap:8px;padding:7px 12px 7px 9px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.lp-socials button{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text-muted,var(--text));font:inherit;cursor:pointer;align-items:center;gap:8px;padding:7px 12px 7px 9px;display:inline-flex}.lp-socials button:hover{border-color:var(--text)}.lp-socials-locked .lp-fine,.lp-socials-locked .lp-gate-panel{margin-top:8px}.lp-socials a:hover{border-color:var(--text);background:var(--accent-soft)}.lp-socials.compact a{padding:8px}.lp-tutor-page .lp-profile-main{gap:40px}.lp-tutor-page .lp-profile-h2{letter-spacing:-.01em;margin-bottom:14px;font-size:22px}.lp-tutor-page .lp-profile-bio{font-size:17px;line-height:1.65}.lp-profile-how{border-radius:var(--r-lg);background:var(--sunk);gap:14px;margin:0;padding:20px;list-style:none;display:grid}.lp-profile-how li{color:var(--text-body);align-items:flex-start;gap:12px;font-size:15px;line-height:1.45;display:flex}.lp-profile-how .lp-step-n{flex:none;width:28px;height:28px;font-size:14px}@media (width>=768px){.lp-profile-how{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:24px}.lp-profile-how li{flex-direction:column;gap:10px}}.lp-tutor-page .lp-profile-cta{gap:14px;padding:24px;position:sticky;top:88px}.lp-tutor-page .lp-profile-cta .lp-btn{width:100%}.lp-tutor-page .lp-profile-cta hr{border:0;border-top:1px solid var(--border);margin:2px 0}.lp-price-block{gap:4px;display:grid}.lp-price-label{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.lp-price-value{color:var(--text);letter-spacing:-.02em;font-size:28px;font-weight:500;line-height:1.15}.lp-price-value.small{letter-spacing:0;color:var(--text-body);font-size:17px;font-weight:500}.lp-contact-gate{gap:10px;display:grid}.lp-contact-masked{border:1px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text);font-family:var(--mono);justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 10px 12px;font-size:15px;display:flex}.lp-contact-masked>span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.lp-contact-masked .ic{color:var(--muted);flex:none}.lp-contact-masked button{border-radius:var(--r-sm);background:var(--text);color:#fff;font:inherit;cursor:pointer;border:0;flex:none;padding:7px 12px;font-size:14px;font-weight:500}.lp-contact-masked button:hover{background:#000}.lp-gate-panel{border-radius:var(--r-md);background:var(--accent-soft);color:var(--text-body);padding:14px 16px;font-size:14px;line-height:1.5}.lp-gate-panel b{color:var(--text);margin-bottom:4px;font-size:15px;display:block}.lp-gate-panel .lp-btn{margin-top:12px}.lp-review-summary{align-items:center;gap:16px;margin-bottom:18px;display:flex}.lp-review-summary b{color:var(--text);letter-spacing:-.03em;font-size:44px;font-weight:500;line-height:1}.lp-review-summary>div{gap:4px;display:grid}.lp-review-summary span{color:var(--muted);font-size:14px}.lp-profile-tutorcta{margin:8px auto 64px}.lp-profile-tutorcta .lp-sunken{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;padding:28px 24px;display:flex}@media (width>=1024px){.lp-profile-tutorcta .lp-sunken{padding:36px 40px}}.lp-profile-tutorcta h2{color:var(--text);letter-spacing:-.02em;margin:0 0 6px;font-size:24px;font-weight:500}.lp-profile-tutorcta p{max-width:520px;color:var(--muted);margin:0}.lp-profile-tutorcta .lp-cta-row{margin:0}.lp-profile-bar{z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:auto 0 0}.lp-profile-bar>div{flex:auto;min-width:0}.lp-profile-bar b{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:500;display:block;overflow:hidden}.lp-profile-bar small{color:var(--muted);font-size:12px;display:block}.lp-profile-bar .lp-btn{flex:0 auto;min-width:0;padding:10px 16px;font-size:15px}.lp-tutor-page main{padding-bottom:96px}@media (width>=1024px){.lp-profile-bar{display:none}.lp-tutor-page main{padding-bottom:0}}.lp-auth-toggle{font:inherit;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;align-self:flex-start;margin:0;font-size:14px}.lp-hint-bad{color:var(--bad)}.lp-tutor-card{position:relative}.lp-fav{z-index:2;border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;transition:color var(--d1) var(--ease), border-color var(--d1) var(--ease), transform var(--d1) var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px}.lp-fav:hover{color:var(--bad);border-color:var(--bad);transform:scale(1.06)}.lp-fav.on{color:var(--bad);border-color:var(--bad)}.lp-fav.on .ic path{fill:currentColor}.lp-fav-full.on{color:var(--bad);border-color:var(--bad)}.lp-fav-full.on .ic path{fill:currentColor}.lp-fav.counted{border-radius:var(--r-pill);align-items:center;gap:4px;width:auto;min-width:34px;padding:0 10px 0 8px;display:inline-flex}.lp-fav-n{font-size:13px;font-weight:600;line-height:1}.lp-fav-full .lp-fav-count{border-radius:var(--r-pill);background:var(--sunk);color:var(--text);padding:1px 8px;font-size:13px;font-weight:600}.lp-fav-full.on .lp-fav-count{background:var(--bad-soft);color:var(--bad)}#reviews{scroll-margin-top:88px}.lp-reviews-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.lp-reviews-head .lp-profile-h2{margin-bottom:0}.lp-review-dialog{margin:12px 0 0}.start-ticks{text-align:left;margin:0 0 20px}.lp-mark-robokassa{color:var(--text);letter-spacing:-.01em;font-size:15px;font-weight:600;text-decoration:none}.lp-mark-robokassa:hover{text-decoration:underline}.lp-ads-ask{z-index:60;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:min(420px,100vw - 32px);box-shadow:var(--shadow-3);color:var(--text-body);gap:12px;padding:16px;font-size:14px;line-height:20px;display:grid;position:fixed;bottom:16px;left:16px}.lp-ads-ask p{margin:0}.lp-ads-ask a{color:var(--text);text-underline-offset:3px;text-decoration:underline}.lp-ads-ask-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=639px){.lp-ads-ask{width:100%;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0;border-width:1px 0 0;bottom:0;left:0}.lp-ads-ask-actions .lp-btn{flex:1 1 0}}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/onest-cyrillic-ext-DOFToQv1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/onest-cyrillic-DayYxulF.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/onest-latin-ext-QAhDxQuo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/onest-latin-Dun_Rd-l.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--surface:#fff;--sunk:#f2f3f3;--border:#e5e6e6;--border-strong:#c9cccc;--border-loud:#7a8286;--border-ink:#1d2020;--text:#1d2020;--text-body:#22242a;--muted:#5a6d77;--faint:#768086;--accent:#e0ff82;--accent-deep:#c8ec5f;--accent-soft:#f4ffd6;--accent-tint:#e0ff8259;--accent-text:#3b5200;--on-accent:#1d2020;--ink-a05:#1d20200d;--ink-a10:#1d20201a;--ok:#1d7a4f;--ok-bright:#2f9e6e;--ok-soft:#e6f4ea;--ok-line:#9fd3b6;--bad:#c0362b;--bad-soft:#fdece9;--bad-line:#eeb2a9;--warn:#8a5a08;--warn-soft:#fdf3e0;--verified:#1565c0;--verified-badge:#0095f6;--dot:radial-gradient(circle, #1d202014 1px, transparent 1px);--dot-size:12px 12px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;--s8:40px;--s9:56px;--s10:72px;--h-control:44px;--h-control-sm:36px;--top-h:52px;--tabs-h:56px;--rail-w:240px;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--r-pill:999px;--radius:var(--r-md);--sans:"Onest", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:var(--sans);--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--t-display:clamp(32px, 6vw, 48px);--t-title:28px;--t-h1:24px;--t-h2:19px;--t-h3:16px;--t-lead:17px;--t-body:16px;--t-sm:14px;--t-xs:13px;--t-micro:12px;--lh-tight:1.15;--lh-head:1.3;--lh-body:1.55;--shadow-1:0 1px 2px #0000000a, 0 1px 3px #0000000a;--shadow-2:0 2px 8px #0000000f;--shadow-3:0 8px 24px #0000001a;--shadow-4:0 2px 4px -2px #00000014, 0 24px 48px -12px #00000024;--ease:cubic-bezier(.25, 0, 0, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--d1:.12s;--d2:.2s;--d3:.32s}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--border-ink);outline-offset:2px;border-radius:var(--r-sm)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:var(--t-body) / var(--lh-body) var(--sans);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--serif);line-height:var(--lh-head);letter-spacing:-.01em}button,input,select,textarea{font:inherit;color:inherit}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%235a6d77' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;background-size:11px 8px;padding-right:32px}select:disabled{opacity:.55;cursor:default}input[type=date],input[type=time]{appearance:none;min-height:40px}input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}input[type=time]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}input[type=checkbox]{accent-color:var(--accent-text);width:16px;height:16px}select.field,.pair select{padding-right:32px}.shell{max-width:780px;padding:var(--s6) var(--s4) 96px;margin:0 auto}.masthead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.acct{position:relative}.acct-trigger{align-items:center;gap:var(--s3);border-radius:var(--r-lg);width:100%;color:var(--text);text-align:left;cursor:pointer;transition:background-color var(--d1) var(--ease), border-color var(--d1) var(--ease);background:0 0;border:0;padding:8px 10px;font-size:15px;display:flex}.acct-trigger:hover,.acct.open .acct-trigger{background:var(--sunk)}.acct-mono{border:1.5px solid var(--text);background:var(--surface);width:36px;height:36px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:600;line-height:1;display:grid}.acct-who{flex:1;justify-items:start;gap:3px;min-width:0;display:grid}.acct-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;line-height:1.2;overflow:hidden}.acct-plan{border-radius:var(--r-pill);white-space:nowrap;flex:none;padding:1px 8px;font-size:12px;font-weight:600;line-height:18px}.acct-plan.free{background:var(--sunk);color:var(--text)}.acct-plan.start{background:var(--accent);color:var(--on-accent)}.acct-plan.pro{background:var(--text);color:var(--accent)}.acct-pop{bottom:calc(100% + var(--s2));min-width:196px;padding:var(--s2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);z-index:40;transform-origin:bottom;animation:acct-in var(--d2) var(--ease);position:absolute;left:0;right:0}@keyframes acct-in{0%{opacity:0;transform:translateY(6px)scale(.97)}}@media (prefers-reduced-motion:reduce){.acct-pop{animation:none}}.acct-pop-head{margin:var(--s1) var(--s2) var(--s2);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.acct-item{align-items:center;gap:var(--s2);width:100%;padding:var(--s2);border-radius:var(--r-sm,8px);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;font-size:15px;text-decoration:none;display:flex}.acct-item:hover{background:var(--bg)}.acct-item.active{color:var(--accent-text)}.acct-item.danger{color:var(--bad)}.acct-item.danger:hover{background:var(--bad-soft)}.acct-sep{height:1px;margin:var(--s2) 0;background:var(--border)}.lang-list{flex-direction:column;display:flex}.lang-option{justify-content:space-between;align-items:center;gap:var(--s2);padding:var(--s2);border-radius:var(--r-sm,8px);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;font-size:15px;display:flex}.lang-option:hover{background:var(--bg)}.lang-option.on{color:var(--accent-text);font-weight:600}.lang-picker{position:relative}.lang-trigger{border:1.5px solid var(--border-ink);border-radius:var(--r-pill);color:inherit;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:7px 12px;font-size:14px;display:inline-flex}.lang-trigger:hover{background:#0000000a}.lang-picker.compact .lang-trigger-label{display:none}.lang-pop{min-width:172px;padding:var(--s2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);z-index:60;animation:acct-in var(--d2) var(--ease);position:absolute;top:calc(100% + 8px);right:0}.md p{margin:0 0 8px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 8px;padding-left:22px}.md code{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:1px 5px;font-size:.92em}.md .katex-display{padding:4px 0;overflow:auto hidden}.katex{font-size:1.06em}.md-table{border:1px solid var(--border);border-radius:var(--r-md);margin:0 0 8px;overflow-x:auto}.md-table:last-child{margin-bottom:0}.md-table table{border-collapse:collapse;min-width:100%}.md-table th,.md-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:8px 12px}.md-table th+th,.md-table td+td{border-left:1px solid var(--border)}.md-table th{background:var(--accent-soft);white-space:nowrap;font-weight:600}.md-table tbody tr:last-child td{border-bottom:0}.symbar{gap:6px;margin-top:8px;display:flex}.sym{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;min-width:40px;padding:6px 10px;font-size:16px}.sym:hover{border-color:var(--border-ink);color:var(--accent-text)}.math-preview{border:1px dashed var(--border);border-radius:8px;min-height:38px;margin-top:8px;padding:8px 12px;overflow-x:auto}.drag-item.dragging{z-index:5;opacity:.85;position:relative}.drag-item.drag-target>*{outline:2px dashed var(--accent);outline-offset:2px}.icon.grip{cursor:grab;color:var(--muted);background:0 0;border:none}.points-label{color:var(--muted);align-items:center;gap:4px;font-size:13px;display:inline-flex}.field.points{width:64px;padding:4px 8px}.pagebar .field.page-name{flex:1;min-width:120px;padding:6px 10px}.pagebar .dots .drag-item{display:inline-block}.room{grid-template-columns:minmax(280px, var(--split,50%)) 6px minmax(0, 1fr);height:100vh;display:grid}.room-divider{cursor:col-resize;background:var(--border);touch-action:none}.room-divider:hover{background:var(--accent)}.room-video{background:#0f1115;flex-direction:column;min-height:0;display:flex;position:relative}.room{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.room input,.room textarea,.room [contenteditable=true]{-webkit-user-select:text;user-select:text}.room-video .prompt{color:#e5e7eb}.room-video .score,.room-video .hint{color:#9ca3af}.stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.stage-remote{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.stage-empty{text-align:center;padding:12px}.stage-local{border:1px solid #fff3;border-radius:10px;width:22%;min-width:88px;max-width:180px;position:absolute;bottom:10px;right:10px;transform:scaleX(-1)}.stage-presence{border-radius:var(--r-pill);color:#e5e7eb;max-width:calc(100% - 20px);font-size:var(--t-xs);white-space:nowrap;text-overflow:ellipsis;background:#0f1115b8;align-items:center;gap:6px;margin:0;padding:4px 10px;display:inline-flex;position:absolute;top:10px;left:10px;overflow:hidden}.presence-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.stage-presence.here .presence-dot,.room-toast.joined .presence-dot{background:#4ade80}.stage-presence.joining .presence-dot{background:#fbbf24;animation:1.2s ease-in-out infinite presence-pulse}.stage-presence.hello{animation:.5s ease-out presence-hello}.room-toast-slot{z-index:70;pointer-events:none;max-width:calc(100vw - 32px);position:fixed;top:14px;left:50%;transform:translate(-50%)}.room-toast{border-radius:var(--r-md);background:var(--text);color:#fff;font-size:var(--t-sm);align-items:center;gap:8px;margin:0;padding:10px 16px;animation:.3s ease-out presence-hello;display:inline-flex;box-shadow:0 8px 28px #00000040}@keyframes presence-pulse{50%{opacity:.35}}@keyframes presence-hello{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.stage-presence.joining .presence-dot,.stage-presence.hello,.room-toast{animation:none}}.room-controls{z-index:2;pointer-events:none;justify-content:center;gap:10px;display:flex;position:absolute;bottom:10px;left:0;right:0}.room-controls>*{pointer-events:auto}.room-controls .call-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f111573}.room-leave{top:calc(var(--app-top,0px) + 10px);z-index:70;position:fixed;right:12px;box-shadow:0 4px 14px #0000004d}.room.pip .room-controls{display:none}.room-controls .btn.ghost:hover:not(:disabled){background:#ffffff1a;border-color:#fff6}.room-controls .btn.ghost{color:#e5e7eb;background:0 0;border-color:#ffffff40}.room-lesson{padding:24px 28px 64px;overflow-y:auto}.room.pip{display:block}.room.pip .room-video{z-index:60;cursor:grab;touch-action:none;border-radius:14px;width:300px;position:fixed;overflow:hidden;box-shadow:0 12px 40px #0006}.room.pip .stage{flex:none;height:170px}.room.pip .room-video.docked{pointer-events:none;transition:transform .2s}.room.pip .room-video.docked-left{transform:translate(-100%)}.room.pip .room-video.docked-right{transform:translate(100%)}.pip-tab{z-index:61;background:var(--text);color:var(--accent);cursor:pointer;border:0;align-items:center;gap:4px;padding:12px 10px;display:flex;position:fixed;box-shadow:0 6px 20px #0000004d}.pip-tab-left{border-radius:0 12px 12px 0;left:0}.pip-tab-right{border-radius:12px 0 0 12px;right:0}@media (width<=860px){.room{grid-template-rows:40vh minmax(0,1fr);grid-template-columns:1fr}.room-divider{display:none}}.masthead h1{letter-spacing:-.01em;margin:0;font-size:20px}.masthead .sub{color:var(--muted);font-size:14px}.lesson-head{margin:0 0 var(--s4)}.lesson-eyebrow{margin-bottom:var(--s2);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px;display:block}.lesson-title{color:var(--text);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(24px,3.2vw,32px);font-weight:600;line-height:1.15}.pagebar{align-items:center;gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.pagebar .title{flex:1;min-width:0;font-weight:600}.steps{flex-wrap:wrap;flex:180px;gap:30px 5px;min-width:0;display:flex}.step{border-radius:var(--r-pill);background:var(--sunk);cursor:pointer;min-width:24px;height:8px;transition:background-color var(--d2) var(--ease);border:none;flex:1;padding:0;position:relative}.step:after{content:"";position:absolute;inset:-14px 0}.step.done{background:var(--accent-deep)}.step[aria-current=true]{background:var(--text)}.step.done[aria-current=true]{background:var(--accent-deep);box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--text)}.nav{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);cursor:pointer;width:44px;height:44px;color:var(--muted);transition:border-color var(--d1) var(--ease), color var(--d1) var(--ease);place-items:center;display:grid}@media (hover:hover){.nav:hover:not(:disabled){border-color:var(--text);color:var(--text)}}.nav:disabled{opacity:.35;cursor:default}.peer-chip{border:1px solid var(--accent-tint);background:var(--accent-soft);color:var(--accent-text);border-radius:var(--r-pill);padding:var(--s1) var(--s3);font-size:var(--t-sm);white-space:nowrap;cursor:pointer;transition:border-color var(--d1) var(--ease);font-weight:600}.peer-chip.here{cursor:default}@media (hover:hover){.peer-chip:not(.here):hover{border-color:var(--accent-text)}}.peer-answer{margin-top:var(--s3);padding-top:var(--s3);border-top:1px dashed var(--border);font-size:var(--t-sm);color:var(--text);overflow-wrap:anywhere}.peer-answer.empty{color:var(--muted)}.peer-answer-name{color:var(--muted);font-weight:600}.peer-answer-mark{margin-left:var(--s2);padding:1px var(--s2);border-radius:var(--r-pill);font-weight:600}.peer-answer-mark.ok{background:var(--ok-soft);color:var(--ok)}.peer-answer-mark.bad{background:var(--bad-soft);color:var(--bad)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s5);margin-bottom:var(--s3)}.card-read,.card-task{padding:var(--s6);margin-bottom:var(--s4);border-color:var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-2)}.card-bare{margin-bottom:var(--s4);background:0 0;border:0;padding:0}.card-bare .banner{margin-bottom:0}@media (width<=520px){.card-read,.card-task{padding:var(--s4);border-radius:var(--r-lg)}.card-read .md-table th,.card-read .md-table td{padding:6px 8px}}.task-head{align-items:center;gap:var(--s3);margin-bottom:var(--s4);display:flex}.task-num{border-radius:var(--r-sm);background:var(--accent);width:32px;height:32px;color:var(--on-accent);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-weight:700;display:grid}.task-kind{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.card-task .prompt{font-size:17px;line-height:1.5}.card-read .md{color:var(--text-body);font-size:17px;line-height:1.65}.card-read .md p{margin-bottom:var(--s3)}.card-read .md-h{margin:var(--s5) 0 var(--s2);letter-spacing:-.01em;color:var(--text);font-size:21px;font-weight:600}.card-read .md>.md-h:first-child{margin-top:0}.card-read .md strong{background:var(--accent);color:var(--text);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.15em;padding:0 .12em;font-weight:600}.card-read .md ul{padding-left:var(--s5);list-style:none}.card-read .md ul li{margin-bottom:var(--s1);position:relative}.card-read .md ul li:before{content:"";left:calc(-1 * var(--s4));border-radius:var(--r-pill);background:var(--accent-deep);width:7px;height:7px;position:absolute;top:.62em}.card-read .md ol li::marker{color:var(--accent-text);font-weight:700}.card-read .md-table{margin:var(--s2) 0 var(--s4)}.prompt{margin:0 0 14px;font-weight:500}.banner{align-items:center;gap:var(--s3);margin:0 0 var(--s4);padding:var(--s5) var(--s6);border-radius:var(--r-xl);font-family:var(--serif);font-size:clamp(19px,2.4vw,23px);font-weight:600;line-height:var(--lh-head);overflow-wrap:anywhere;border:1px solid #0000;display:flex}.banner-emoji{flex:none;font-size:1.4em;line-height:1}.banner-accent{background:var(--accent);border-color:var(--accent-deep);color:var(--on-accent)}.banner-ok{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.banner-warn{background:var(--warn-soft);border-color:var(--accent-tint);color:var(--warn)}.banner-bad{background:var(--bad-soft);border-color:var(--bad-line);color:var(--bad)}.banner-neutral{background:var(--sunk);border-color:var(--border);color:var(--text)}.prompt-block{margin-bottom:14px}.prompt-block .prompt:last-child{margin-bottom:0}.prompt-img{border-radius:8px;max-width:100%;display:block}.crop{background:var(--bg);border-radius:8px;width:100%;position:relative;overflow:hidden}.crop img{max-width:none;display:block;position:absolute}.hint{color:var(--muted);margin-top:10px;font-size:13px}.pw-fields{gap:var(--s2);flex-direction:column;display:flex}.hint.warn-past{color:var(--bad)}.options{gap:var(--s2);flex-direction:column;display:flex}.option{align-items:flex-start;gap:var(--s3);min-height:52px;padding:var(--s3) var(--s4);border:1.5px solid var(--border-strong);border-radius:var(--r-md);cursor:pointer;background:var(--surface);text-align:left;width:100%;color:var(--text);transition:border-color var(--d1) var(--ease), background-color var(--d1) var(--ease), transform var(--d1) var(--ease);display:flex}.option:before{content:"";border:1.5px solid var(--border-loud);border-radius:var(--r-pill);background:var(--surface);flex:none;width:22px;height:22px;margin-top:1px;transition:inherit}.options[data-multiple] .option:before{border-radius:6px}.option[aria-pressed=true]{border-color:var(--text);background:var(--accent-soft)}.option[aria-pressed=true]:before{border-color:var(--text);background:var(--text);box-shadow:inset 0 0 0 3.5px var(--surface)}.options[data-multiple] .option[aria-pressed=true]:before{box-shadow:none;background:var(--text) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5 9 17.5 20 6.5' stroke='white' stroke-width='2.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat}@media (hover:hover){.option:hover:not(.locked){border-color:var(--text);transform:translateY(-1px)}}.option:active:not(.locked){transform:translateY(0)scale(.995)}.option.right{border-color:var(--ok);background:var(--ok-soft)}.option.right:before{border-color:var(--ok);background:var(--ok);box-shadow:none}.option.wrong{border-color:var(--bad);background:var(--bad-soft)}.option.wrong:before{border-color:var(--bad);background:var(--bad);box-shadow:none}.option.missed{border-style:dashed;border-color:var(--ok);background:var(--surface)}.option.missed:before{border-color:var(--ok);background:var(--surface);box-shadow:none;border-style:dashed}.option.locked{cursor:default}.mark{padding-left:var(--s2);font-size:var(--t-xs);white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-weight:600;display:inline-flex}.mark.right{color:var(--ok)}.mark.wrong{color:var(--bad)}.multi-hint{margin:0 0 var(--s3);border-radius:var(--r-pill);background:var(--accent-tint);color:var(--accent-text);font-size:var(--t-xs);align-items:center;gap:5px;padding:4px 12px;font-weight:600;display:inline-flex}.field{width:100%;max-width:320px;min-height:var(--h-control);border:1px solid var(--border-strong);border-radius:var(--r-md);background-color:var(--sunk);color:var(--text);font-size:var(--t-body);transition:border-color var(--d1) var(--ease), box-shadow var(--d1) var(--ease), background-color var(--d1) var(--ease);padding:10px 14px;line-height:22px}.field:hover:not(:disabled):not([readonly]){border-color:var(--border-loud)}.field:focus-visible{border-color:var(--border-ink);background-color:var(--surface);box-shadow:0 0 0 1px var(--border-ink), 0 0 0 4px var(--ink-a10);outline:none}.field:disabled,.field[readonly]{color:var(--muted)}.field::placeholder{color:var(--muted);opacity:1}textarea.field{min-height:120px;line-height:var(--lh-body);resize:vertical}.field.points,.ai-lesson-bar .field.small,.field-row .field[style*=width]{min-height:auto;padding:6px 10px}.blank{border:1px solid var(--border);background-color:var(--bg);text-align:center;vertical-align:baseline;border-radius:6px;width:9ch;margin:0 3px;padding:2px 8px;display:inline-block}.blank:focus-visible,.pair select:focus-visible{outline:3px solid var(--border-ink);outline-offset:1px}.field.right,.blank.right{border-color:var(--ok);background:var(--ok-soft)}.field.wrong,.blank.wrong{border-color:var(--bad);background:var(--bad-soft)}.unit{color:var(--muted);margin-left:8px}.cloze-body{white-space:pre-line;line-height:2.1}.pairs{flex-direction:column;gap:8px;display:flex}.pair{align-items:center;gap:10px;display:flex}.pair .left{flex:1;min-width:0}.pair select{border:1px solid var(--border);background-color:var(--bg);border-radius:8px;flex:1;min-width:0;padding:9px 11px}.pair select.right{border-color:var(--ok)}.pair select.wrong{border-color:var(--bad)}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:var(--h-control);border-radius:var(--r-md);background:var(--accent);max-width:100%;color:var(--on-accent);font-size:var(--t-body);white-space:nowrap;cursor:pointer;transition:background var(--d2) var(--ease), border-color var(--d2) var(--ease), transform var(--d1) var(--ease);border:1px solid #0000;padding:0 20px;font-weight:500;line-height:24px;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-deep)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.ghost{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.ghost:hover:not(:disabled){background:var(--surface);border-color:var(--border-strong)}.btn.soft{background:var(--sunk);color:var(--text)}.btn.soft:hover:not(:disabled){background:var(--ink-a10)}.btn.dark{background:var(--text);color:#fff}.btn.dark:hover:not(:disabled){background:#000}.btn.danger{background:var(--bad-soft);color:var(--bad)}.btn.danger:hover:not(:disabled){background:var(--bad);color:#fff}.score{color:var(--muted);font-size:14px}.explain{margin-top:var(--s3);padding:var(--s3) var(--s4);border-left:3px solid var(--accent-deep);background:var(--accent-soft);border-radius:0 var(--r-md) var(--r-md) 0;font-size:15px}.hero h2{letter-spacing:-.01em;margin:0 0 10px;font-size:24px}.hero .btn{margin-top:14px;text-decoration:none;display:inline-block}.notice{margin:0 0 var(--s4);border-radius:var(--r-md);color:var(--text-body);border:1px solid #0000;align-items:flex-start;gap:10px;padding:12px 16px;font-size:15px;line-height:1.45;display:flex}.notice>.ic{flex:none;margin-top:2px}.notice-body{flex:1;min-width:0}.notice-title{font-weight:600;display:block}.notice-action{flex:none;margin-left:auto}.notice.neutral{border-color:var(--border);background:var(--sunk)}.notice.info{border:1px solid var(--accent-deep);background:var(--accent-soft);color:var(--accent-text)}.notice.bad{border:1px solid var(--bad);background:var(--bad-soft);color:var(--bad)}.notice.warn{border:1px solid var(--warn);background:var(--warn-soft);color:var(--warn)}.notice.ok{border:1px solid var(--ok-line);background:var(--ok-soft);color:var(--ok)}.linklike{color:var(--accent-text);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:18px}.summary .big{margin:6px 0;font-size:30px;font-weight:650}.form{flex-direction:column;gap:10px;display:flex}.field-row{align-items:center;gap:10px;margin-bottom:10px;display:flex}.form .field-row{margin-bottom:0}.field-row .label{color:var(--muted);flex:0 0 130px;font-size:14px}.label.tight{color:var(--muted);white-space:nowrap;flex:none;font-size:14px}.field.wide{flex:1;min-width:0;max-width:none}textarea.field{resize:vertical;font:inherit}.check{color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.check.tight{gap:0}.rows{flex-direction:column;gap:8px;display:flex}.row{align-items:center;gap:8px;display:flex}.icon{width:var(--h-control-sm);height:var(--h-control-sm);flex:0 0 var(--h-control-sm);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--muted);cursor:pointer;transition:background var(--d1) var(--ease), border-color var(--d1) var(--ease), color var(--d1) var(--ease);place-items:center;padding:0;line-height:1;display:inline-grid}.icon:hover:not(:disabled){background:var(--sunk);border-color:var(--border-strong);color:var(--text)}.icon.danger:hover:not(:disabled){background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.btn.small{min-height:var(--h-control-sm);font-size:var(--t-sm);padding:0 14px;line-height:20px}.btn.icon-only{width:var(--h-control);flex:none;padding:0}.btn.small.icon-only{width:var(--h-control-sm)}.tab{min-width:var(--h-control-sm);height:var(--h-control-sm);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--muted);font-size:var(--t-sm);cursor:pointer;transition:background var(--d1) var(--ease), border-color var(--d1) var(--ease), color var(--d1) var(--ease);justify-content:center;align-items:center;padding:0 12px;font-weight:500;display:inline-flex}.tab:hover:not(.on){border-color:var(--text);color:var(--text)}.tab.on{background:var(--text);border-color:var(--text);color:var(--surface)}.ex-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pill,.badge{border-radius:var(--r-pill);background:var(--sunk);min-height:24px;color:var(--text);font-size:var(--t-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:2px 10px;font-weight:500;line-height:18px;display:inline-flex}.pill .ic{width:13px;height:13px}.pill.accent,.badge{background:var(--accent-soft);color:var(--accent-text)}.pill.lime{background:var(--accent);color:var(--on-accent);font-weight:600}.pill.ink{background:var(--text);color:#fff}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.outline{background:var(--surface);border-color:var(--border);color:var(--muted)}.pill.muted,.badge.muted{background:var(--sunk);color:var(--muted)}.ex-tools{gap:6px;display:flex}.savebar{background:var(--bg);border-top:1px solid var(--border);gap:10px;margin-top:18px;padding:12px 0;display:flex;position:sticky;bottom:0}.list-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.code{letter-spacing:.12em;margin:4px 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:28px;font-weight:600}.who-row{align-items:center;gap:12px;min-width:0;display:flex}.chip{border-radius:50%;flex:0 0 12px;width:12px;height:12px}.ord{min-width:22px;color:var(--muted);font-variant-numeric:tabular-nums;display:inline-block}.calbar{margin-bottom:var(--s4);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-move{align-items:center;gap:4px;display:flex}.cal-title{text-transform:capitalize;flex:1;min-width:140px;font-weight:600}.cal-empty{margin-top:var(--s4)}.cal-empty .notice-action{flex-wrap:wrap;gap:8px;display:flex}@media (width<=639px){.cal-empty{flex-wrap:wrap}.cal-empty .notice-action{width:100%;margin-left:0;padding-left:28px}}.month{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.month-head{color:var(--muted);text-align:center;padding-bottom:2px;font-size:12px}.month-cell{border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:8px;flex-direction:column;gap:4px;min-height:78px;padding:6px;display:flex;position:relative}.month-cell:hover{border-color:var(--border-strong)}.month-cell.muted{opacity:.45}.month-cell.today{border-color:var(--border-ink)}.month-date{color:var(--muted);font-size:13px}.month-cell.today .month-date{color:var(--accent-text);font-weight:700}.month-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:3px;font-size:11px}.month-dots{flex-wrap:wrap;align-items:center;gap:3px;margin-top:auto;display:flex}.month-dots i{border-radius:50%;width:7px;height:7px;display:block}.grid-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:calc(100vh - 160px);position:relative;overflow:auto}.grid-head{z-index:3;grid-template-columns:52px repeat(var(--cols,7), minmax(0, 1fr));background:var(--surface);border-bottom:1px solid var(--border);display:grid;position:sticky;top:0}.grid-wrap.day .grid-head,.grid-wrap.day .grid-body{--cols:1}.grid-wrap.week .grid-head,.grid-wrap.week .grid-body{--cols:7}.col-head{color:var(--muted);border-left:1px solid var(--border);justify-content:center;align-items:center;gap:4px;padding:9px 8px;font-size:13px;display:flex}.col-head.today{color:var(--accent-text);font-weight:600}.grid-body{grid-template-columns:52px repeat(var(--cols,7), minmax(0, 1fr));display:grid;position:relative}.axis{position:relative}.axis-h{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.col{border-left:1px solid var(--border);position:relative}.col.today{background:var(--accent-soft)}.hline{border-top:1px solid var(--border);opacity:.55;position:absolute;left:0;right:0}.nowline{border-top:2px solid var(--bad);z-index:2;position:absolute;left:0;right:0}.ev{z-index:1;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;gap:1px;padding:4px 7px;line-height:1.25;transition:box-shadow .12s,border-color .12s;display:flex;position:absolute;overflow:hidden}.ev:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1)}.ev.done{opacity:.55}.ev.cancelled{opacity:.5;text-decoration:line-through}.ev-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.ev-moved{color:var(--accent-text);margin-left:4px}.ev-ask{vertical-align:-2px;color:var(--warn);margin-left:4px;display:inline-flex}.ev-who{font-size:12px;font-weight:600}.ev-who,.ev-tz{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ev-tz{color:var(--muted);font-size:11px}.win-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modal{z-index:50;background:#1d202073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{width:100%;max-width:480px;max-height:85vh;padding:var(--s6);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-4);overflow:auto}.slotdays{flex-direction:column;gap:12px;margin:10px 0;display:flex}.slotgrid{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px;display:grid}.slotgrid .tab{font-variant-numeric:tabular-nums;height:36px}@media (width<=860px){.grid-wrap.week .grid-head,.grid-wrap.week .grid-body{min-width:640px}.month-cell{min-height:58px}.grid-wrap{max-height:max(320px, calc(100dvh - var(--grid-top,160px) - var(--tabs-h) - env(safe-area-inset-bottom,0px) - 16px))}}@media (width<=600px){.grid-wrap.week .grid-head,.grid-wrap.week .grid-body{grid-template-columns:40px repeat(var(--cols,7), minmax(0, 1fr));min-width:0}.grid-wrap.week .col-head{padding:9px 2px;font-size:12px}.grid-wrap.week .axis-h{right:4px}.grid-wrap.week .ev{padding:3px 4px;font-size:11px}.grid-wrap.week .ev-time,.grid-wrap.week .ev-tz{display:none}}.splitter{border:1px solid var(--border);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:8px;width:100%;margin:10px 0;position:relative;overflow:hidden}.splitter img{pointer-events:none;width:100%;display:block}.region{border:2px solid var(--border-ink);background:var(--ink-a10);pointer-events:none;border-radius:4px;position:absolute}.region.draft{border-style:dashed}.region-no{background:var(--accent);color:var(--on-accent);border-radius:4px 0;padding:3px 6px;font-size:12px;line-height:1;position:absolute;top:-1px;left:-1px}a.item-title{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong,var(--border));text-decoration-color:var(--border-strong,var(--border));text-underline-offset:3px;font-weight:600}a.item-title:hover{color:var(--accent-text);text-decoration-color:currentColor}span.item-title{color:var(--text);font-weight:600}@media (width<=520px){.pair,.field-row{flex-direction:column;align-items:stretch;gap:4px}.field-row .label{flex:none}}.badge.muted{color:var(--muted);background:var(--bg)}.col{cursor:pointer}.ev{cursor:grab;touch-action:none}.ev:active{cursor:grabbing}.col.dropping{background:var(--accent-soft)}.drag-ghost{z-index:40;pointer-events:none;border:1px solid var(--accent);border-left:3px solid var(--accent);background:var(--surface);box-shadow:var(--shadow-3);opacity:.95;border-radius:6px;flex-direction:column;gap:1px;padding:4px 7px;line-height:1.25;display:flex;position:fixed;overflow:hidden}.picker{flex:1;min-width:0;position:relative}.picker-list{z-index:5;background:var(--surface);border:1px solid var(--border);max-height:240px;box-shadow:var(--shadow-3);border-radius:8px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.picker-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:9px;width:100%;padding:8px 10px;display:flex}.picker-row.on{background:var(--accent-soft);color:var(--accent-text)}.picker-empty{color:var(--muted);padding:10px;font-size:14px}.graph-svg{border-radius:var(--radius);width:100%;max-width:620px;margin-top:10px;display:block}.issues{margin:10px 0 0;padding-left:20px;font-size:13px}.issues .warning{color:var(--warn)}.issues .error{color:var(--bad)}.ic{vertical-align:-.15em;flex:none}.page-head{margin-bottom:var(--s7)}.page-head-text{gap:6px;min-width:0;display:grid}.page-eyebrow,.eyebrow{color:var(--muted);font-family:var(--mono);font-size:var(--t-micro);letter-spacing:.08em;text-transform:uppercase;margin:0;line-height:1.4;display:block}.page-title-row{align-items:center;gap:var(--s3);flex-wrap:wrap;min-width:0;display:flex}.page-toolbar{align-items:center;gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;display:flex}.page-back{min-height:32px;margin:0 0 var(--s3) -6px;border-radius:var(--r-md);color:var(--muted);font-size:var(--t-sm);align-items:center;gap:4px;padding:0 10px 0 6px;font-weight:500;text-decoration:none;display:inline-flex}.page-back:hover{background:var(--sunk);color:var(--accent-text)}.page-head-row{justify-content:space-between;align-items:flex-end;gap:var(--s4);flex-wrap:wrap;display:flex}.page-title{font-size:var(--t-title);letter-spacing:-.02em;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.15}.page-sub{max-width:60ch;color:var(--muted);font-size:var(--t-lead);margin:0;line-height:1.5}.page-actions{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.skeleton{flex-direction:column;gap:10px;display:flex}.skeleton-bar{border-radius:var(--r-pill);background:linear-gradient(90deg, var(--sunk) 25%, var(--bg) 37%, var(--sunk) 63%);height:12px;animation:shimmer 1.4s var(--ease) infinite;background-size:400% 100%}.skeleton-bar:nth-child(2){width:78%}.skeleton-bar:nth-child(3){width:52%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}.empty{text-align:center;align-items:center;gap:var(--s2);padding:var(--s8) var(--s6);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--r-xl);margin-bottom:var(--s4);flex-direction:column;display:flex}.empty-art{width:48px;height:48px;margin-bottom:var(--s1);border-radius:var(--r-pill);background:var(--accent);color:var(--text);place-items:center;display:grid}.empty-title{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.empty-body{max-width:46ch;color:var(--muted);margin:0;font-size:15px;line-height:1.5}.empty-action{gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;justify-content:center;display:flex}.ring-track{stroke:var(--sunk)}.ring-fill{stroke:var(--accent);transition:stroke-dasharray var(--d3) var(--ease)}.ring.done .ring-fill{stroke:var(--ok-bright)}.bar{border-radius:var(--r-pill);background:var(--sunk);width:100%;height:6px;overflow:hidden}.bar-fill{height:100%;width:var(--pct,0%);border-radius:inherit;background:var(--accent);transition:width var(--d3) var(--ease);display:block}.bar.done .bar-fill{background:var(--ok-bright)}.stats{gap:var(--s3);margin-bottom:var(--s4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (width>=640px){.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.stat{padding:var(--s4) var(--s5);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);color:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}.stat-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1.1}.stat-label{color:var(--muted);font-size:var(--t-sm)}@media (hover:hover){a.stat:hover{border-color:var(--border-strong);background:var(--accent-soft)}}.verdict{border-radius:var(--r-pill);font-size:var(--t-xs);align-items:center;gap:5px;margin-top:10px;padding:4px 12px 4px 8px;font-weight:600;display:inline-flex}.verdict.right{background:var(--ok-soft);color:var(--ok)}.verdict.wrong{background:var(--bad-soft);color:var(--bad)}.verdict-row{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.retry-btn{color:var(--accent-text);font-size:var(--t-xs);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:4px 2px;font-weight:600;text-decoration:underline}.autocheck-row{margin-top:10px}.autocheck-row .verdict{margin-top:0}.verdict.shown{background:var(--sunk);color:var(--muted)}.tries{vertical-align:middle;gap:3px;display:inline-flex}.tries i{background:var(--border-strong);border-radius:3px;width:16px;height:6px}.tries i.bad{background:var(--bad)}.tries i.ok{background:var(--ok)}.peer-answer .tries{margin-left:var(--s2)}.runbar{z-index:5;align-items:center;gap:var(--s3);margin-top:var(--s5);padding:var(--s6) 0 calc(var(--s3) + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 58%, transparent);flex-wrap:wrap;display:flex;position:sticky;bottom:0}.runbar .spacer{flex:1}.reset-link{padding:var(--s2) 0;color:var(--muted);font-size:var(--t-xs);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;text-decoration:underline}.reset-confirm{align-items:center;gap:var(--s2);font-size:var(--t-xs);color:var(--muted);display:inline-flex}.result{margin-top:var(--s6);padding:var(--s8) var(--s6);text-align:center;background:var(--surface);border:1.5px solid var(--border-ink);border-radius:var(--r-xl);animation:result-in var(--d3) var(--ease-spring) both}@keyframes result-in{0%{opacity:0;transform:scale(.97)translateY(8px)}}.result-band{border-radius:var(--r-pill);font-size:var(--t-xs);align-items:center;gap:6px;padding:5px 14px;font-weight:700;display:inline-flex}.result.high .result-band{background:var(--ok-soft);color:var(--ok)}.result.mid .result-band{background:var(--accent-tint);color:var(--accent-text)}.result.low .result-band{background:var(--sunk);color:var(--muted)}.result-score{font-family:var(--serif);font-size:var(--t-display);margin:var(--s4) 0 var(--s1);font-variant-numeric:tabular-nums;font-weight:800;line-height:1.05}.result-of{color:var(--muted);font-weight:400}.result-note{color:var(--muted);font-size:var(--t-sm);margin:0}.result-map{margin:var(--s5) 0 0;flex-wrap:wrap;justify-content:center;gap:6px;padding:0;list-style:none;display:flex}.result-pip{border:1.5px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:30px;height:30px;color:var(--muted);font-size:var(--t-micro);cursor:pointer;font-variant-numeric:tabular-nums;place-items:center;padding:0;font-weight:700;display:grid}.result-pip.right{border-color:var(--ok-line);background:var(--ok-soft);color:var(--ok)}.result-pip.wrong{border-color:var(--bad-line);background:var(--bad-soft);color:var(--bad)}.result-actions{justify-content:center;gap:var(--s2);margin-top:var(--s6);flex-wrap:wrap;display:flex}.masthead h1{font-size:var(--t-h1)}.avatar{border-radius:var(--r-pill);width:32px;height:32px;font-size:var(--t-sm);color:var(--text);text-transform:uppercase;flex:none;place-items:center;font-weight:700;display:grid}.who{align-items:center;gap:var(--s2);display:inline-flex}.due{border-radius:var(--r-pill);font-size:var(--t-xs);background:var(--sunk);color:var(--muted);align-items:center;gap:4px;padding:3px 10px;font-weight:600;display:inline-flex}.due.over{background:var(--bad-soft);color:var(--bad)}.due.today{background:var(--accent-tint);color:var(--accent-text)}.due.done{background:var(--ok-soft);color:var(--ok)}.row-text{flex:1;min-width:0}@media (width<=640px){.shell{padding:var(--s5) var(--s4) calc(96px + env(safe-area-inset-bottom))}.card{padding:var(--s4)}.card .prompt-img,.card .crop{margin-inline:calc(-1 * var(--s4));width:calc(100% + 2 * var(--s4));border-radius:0;max-width:none}.field{max-width:100%}.row{flex-wrap:wrap}.row .row-text{flex:100%}.step{height:10px}.step:after{inset:-17px 0}.icon{flex-basis:40px;width:40px;height:40px}.actions .btn,.empty-action .btn,.page-actions .btn{white-space:normal;text-align:center}.result{padding:var(--s7) var(--s4)}}.card-title,.surface-title{margin:0 0 var(--s4);letter-spacing:-.01em;font-size:20px;font-weight:600;line-height:1.3}.hw-list{flex-direction:column;display:flex}.hw-row{align-items:center;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--border);display:flex}.hw-row:first-child{border-top:none;padding-top:0}.hw-row.done .item-title{color:var(--muted)}.hw-meta{align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:3px;display:flex}.hw-row .item-title{display:block}.asg-row{padding:var(--s4) 0;border-top:1px solid var(--border)}.asg-row:first-child{border-top:none;padding-top:0}.asg-row:last-child{padding-bottom:0}.student-chip{border-radius:999px;flex:none;width:12px;height:12px;margin-left:4px;display:inline-block}.try-demo{margin:var(--s5) 0 0;color:var(--muted);font-size:var(--t-sm);text-align:center}.join{min-height:100vh;padding:var(--s6) var(--s4);place-items:center;display:grid}.join-card{width:100%;max-width:440px;padding:var(--s8) var(--s7);background:var(--surface);border:1.5px solid var(--border-ink);border-radius:var(--r-xl);text-align:center}.join-title{margin:0 0 var(--s3);font-size:32px;font-weight:800;line-height:1.1}.join-title em{color:var(--accent-deep);font-style:italic}.join-sub{margin:0 0 var(--s6);color:var(--muted)}.join-primary{justify-content:center;align-items:center;width:100%;min-height:46px;display:inline-flex}.join-hint{margin:var(--s3) 0 0;color:var(--muted);font-size:var(--t-xs);line-height:1.45}.join-hint.bad{color:var(--bad)}.join-or{align-items:center;gap:var(--s3);margin:var(--s6) 0;color:var(--muted);font-size:var(--t-xs);display:flex}.join-or:before,.join-or:after{content:"";background:var(--border);flex:1;height:1px}.join-form{gap:var(--s3);flex-direction:column;display:flex}.join-field{text-align:center;background:var(--surface);border-width:1.5px;max-width:none;min-height:46px}@media (width<=640px){.join-card{padding:var(--s7) var(--s5)}.join-title{font-size:27px}}.list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:var(--s3);overflow:hidden}.list-row{align-items:center;gap:var(--s3);min-height:56px;padding:var(--s3) var(--s4);border-top:1px solid var(--border);display:flex}@media (hover:hover){a.list-row:hover,button.list-row:hover{background:var(--sunk)}}.list-row:first-child{border-top:none}@media (hover:hover){.list-row:hover{background:var(--accent-soft)}}.list-row .item-title{display:block}.list-row .score{margin-top:1px;display:block}.ex-card{padding-top:0;overflow:visible}.ex-card .ex-head{margin:0 calc(-1 * var(--s5)) var(--s4);padding:var(--s2) var(--s5);background:var(--bg);border-bottom:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0}.ex-card.warning{border-left:3px solid var(--warn)}.ex-card.error{border-left:3px solid var(--bad)}.ex-flag{border-radius:var(--r-pill);font-size:var(--t-micro);align-items:center;gap:4px;padding:3px 9px;font-weight:600;display:inline-flex}.ex-flag.warning{background:var(--warn-soft);color:var(--warn)}.ex-flag.error{background:var(--bad-soft);color:var(--bad)}.ex-menu,.add-more{margin-left:auto;position:relative}.add-more{margin-left:0}.ex-menu>summary,.add-more>summary{cursor:pointer;justify-content:center;align-items:center;gap:4px;list-style:none;display:inline-flex}.ex-menu>summary::-webkit-details-marker{display:none}.add-more>summary::-webkit-details-marker{display:none}.ex-menu-list,.add-more-list{z-index:20;min-width:190px;padding:var(--s1);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);flex-direction:column;margin-top:4px;display:flex;position:absolute;right:0}.add-more-list{margin-top:0;bottom:calc(100% + 4px);left:0;right:auto}.ex-menu-list button,.add-more-list button{align-items:center;gap:var(--s2);width:100%;padding:var(--s2) var(--s3);border-radius:var(--r-sm);color:var(--text);font-size:var(--t-sm);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.ex-menu-list button:hover,.add-more-list button:hover{background:var(--bg)}.ex-menu-list button.danger{color:var(--bad)}.ex-menu-list button.danger:hover{background:var(--bad-soft)}.addbar{align-items:center;gap:var(--s2);margin:var(--s5) 0 var(--s4);flex-wrap:wrap;display:flex}.addbar .btn{align-items:center;gap:5px;display:inline-flex}.call-btn{border-radius:var(--r-pill);color:#f3f0ee;cursor:pointer;width:44px;height:44px;transition:background-color var(--d1) var(--ease);background:#ffffff1a;border:1px solid #ffffff38;place-items:center;display:grid}@media (hover:hover){.call-btn:hover{background:#fff3}}.call-btn.off{background:var(--bad);border-color:var(--bad);color:#fff}@media (width<=640px){.pagebar{gap:var(--s2)}.pagebar .title{flex:100%;order:1}.pagebar>.nav:first-child{order:2}.steps{order:4}.pagebar>.nav:last-child{order:5}}.page-tab{min-width:44px;padding:0 var(--s2);align-items:baseline;gap:4px;display:inline-flex}.page-tab-c{font-size:var(--t-micro);color:var(--muted);font-variant-numeric:tabular-nums}.page-tab.on .page-tab-c{color:var(--accent-text)}.pick-list{border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex;overflow:hidden}.pick-row{align-items:center;gap:var(--s3);width:100%;min-height:48px;padding:var(--s2) var(--s4);border:none;border-top:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;display:flex}.pick-row:first-child{border-top:none}@media (hover:hover){.pick-row:hover{background:var(--accent-soft)}}.legal{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.legal-head{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s5) var(--s6);display:flex}.legal-brand{font-family:var(--sans);color:var(--text);font-size:20px;font-weight:700;text-decoration:none}.legal-body{width:100%;max-width:680px;padding:var(--s6) var(--s6) var(--s9);flex:1;margin:0 auto}.legal-body h1{margin:0 0 var(--s2);font-size:28px}.legal-updated{color:var(--muted);font-size:var(--t-sm);margin:0 0 var(--s6)}.legal-body h2{margin:var(--s6) 0 var(--s2);font-size:17px}.legal-body p{margin:0 0 var(--s3);line-height:1.6}.legal-body a{color:var(--accent-text)}.legal-foot{gap:var(--s5);padding:var(--s5) var(--s6);border-top:1px solid var(--border);color:var(--muted);font-size:var(--t-sm);flex-wrap:wrap;display:flex}.legal-foot a{color:var(--muted)}.parent-page{background:var(--bg);min-height:100vh}.parent-head{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s5) var(--s6);display:flex}.parent-body{max-width:640px;padding:var(--s4) var(--s4) var(--s9);margin:0 auto}.parent-body h1{margin:0 0 var(--s2);font-size:26px}.parent-row{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid var(--border);display:flex}.parent-row:first-of-type{border-top:none}.parent-badge{padding:2px var(--s3);border-radius:var(--r-pill);font-size:var(--t-sm);white-space:nowrap;background:var(--sunk);color:var(--muted);font-weight:600}.parent-badge.ok{background:var(--ok-soft);color:var(--ok)}.parent-badge.mid{background:var(--accent-soft);color:var(--accent-text)}.due-overdue{color:var(--bad);font-weight:600}a.today-row{color:inherit;border-radius:var(--r-md);padding:var(--s2) var(--s2);margin:0 calc(-1 * var(--s2));text-decoration:none}@media (hover:hover){a.today-row:hover{background:var(--accent-soft)}}.today-row.past{opacity:.5}.live-badge{padding:2px var(--s3);border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok);font-size:var(--t-sm);white-space:nowrap;font-weight:600}.today-open{color:var(--accent-text);font-size:var(--t-sm);white-space:nowrap;font-weight:600}.hw-score{font-size:var(--t-sm);color:var(--muted);white-space:nowrap;font-weight:600}.hw-score.ok{color:var(--ok)}.today-row .when{white-space:nowrap}.btn.lead-on{border-color:var(--accent-text);color:var(--accent-text);background:var(--accent-soft)}.pdf-grid{gap:var(--s3);margin:var(--s4) 0;max-height:420px;padding:var(--s1);grid-template-columns:repeat(auto-fill,minmax(110px,1fr));display:grid;overflow-y:auto}.pdf-thumb{border:2px solid var(--border);border-radius:var(--r-md);background:var(--surface);cursor:pointer;transition:border-color var(--d1) var(--ease);padding:0;position:relative;overflow:hidden}.pdf-thumb img{width:100%;height:auto;display:block}.pdf-thumb.picked{border-color:var(--accent-text);box-shadow:0 0 0 2px var(--accent-tint)}.pdf-thumb-n{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);font-size:var(--t-sm);font-variant-numeric:tabular-nums;padding:1px 7px;position:absolute;bottom:4px;right:4px}.pdf-thumb.picked .pdf-thumb-n{background:var(--accent-text);border-color:var(--accent-text);color:#fff}.course-row{padding:var(--s2) 0}.due.done.partial{background:var(--accent-soft);color:var(--accent-text)}.answers-panel{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--border)}.answer-row{padding:var(--s3) 0;border-bottom:1px dashed var(--border)}.answer-row:last-child{border-bottom:none;padding-bottom:0}.answer-prompt{margin:0 0 var(--s1);font-weight:500}.answer-key{margin:var(--s1) 0 0}.contact-tutor .hint{margin-top:0;margin-bottom:10px}.contact-tutor .btn{white-space:normal;text-align:left;line-height:1.4}.install-hint .prompt{margin-bottom:8px}.contact-foot{margin:var(--s3) 0 var(--s5);justify-content:center;display:flex}.contact-foot .hint{text-align:center;margin:0}.ai-panel textarea.field{resize:vertical;width:100%}.practice-buttons{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.practice-buttons .btn{white-space:normal;text-align:left;line-height:1.4}.practice-one{margin-top:var(--s4);border-top:1px dashed var(--border);padding-top:var(--s3)}.room-lesson.lasering{cursor:crosshair}.laser-dot{pointer-events:none;z-index:50;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;transition:left 80ms linear,top 80ms linear,opacity .25s;position:fixed}.laser-dot.tutor{background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 25%, transparent), 0 0 14px 2px color-mix(in srgb, var(--accent) 60%, transparent)}.laser-dot.student{background:var(--ok-bright);box-shadow:0 0 0 4px color-mix(in srgb, var(--ok-bright) 25%, transparent), 0 0 14px 2px color-mix(in srgb, var(--ok-bright) 60%, transparent)}.room-lesson.board{flex-direction:column;padding:0;display:flex;overflow:hidden}.room-lesson.board .masthead{margin-bottom:12px;padding:16px 28px 0}.room.pip .room-lesson.board{height:100vh}.board-wrap{flex:1;min-height:0;position:relative}.board-surface{touch-action:none;-webkit-user-select:none;user-select:none;background:var(--surface);width:100%;height:100%;display:block}.board-surface.tool-pen{cursor:crosshair}.board-surface.tool-eraser{cursor:cell}.board-surface.tool-hand{cursor:grab}.board-toolbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;gap:10px;padding:10px 8px;display:flex;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.board-toolbar .call-btn.tool-on{background:var(--accent);color:var(--on-accent)}.board-hint{color:var(--muted);pointer-events:none;text-align:center;padding:0 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.board-notice{position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@media (width<=860px){.board-toolbar{overscroll-behavior-x:contain;scrollbar-width:none;flex-direction:row;max-width:calc(100% - 24px);top:auto;bottom:12px;left:50%;overflow-x:auto;transform:translate(-50%)}}.board-confirm{z-index:10;box-shadow:var(--shadow-4);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.board-file{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.board-wrap.board-drop .board-surface{outline:3px dashed var(--accent);outline-offset:-3px}.stabs{margin-bottom:var(--s4);border-bottom:1px solid var(--border);gap:4px;display:flex}.stab{color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 14px;font-size:15px;text-decoration:none;display:inline-flex}.stab.on{color:var(--text);border-bottom-color:var(--border-ink)}.stab .app-tab-ic{background:0 0;place-items:center;width:auto;height:auto;display:inline-grid}.stab .ic{opacity:.75}.stab.on .ic{opacity:1;color:var(--text)}a.who{color:inherit;text-decoration:none}.next-lesson .nl-when{margin:0;font-size:20px;font-weight:500}.nl-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:8px;display:inline-block}.nl-count.live{color:var(--accent-text);font-weight:500}.summary-link{justify-content:space-between;align-items:center;gap:var(--s3);color:inherit;text-decoration:none;display:flex}.summary-link:hover{border-color:var(--border-strong)}.summary-link .ic{color:var(--muted);flex:none}.recovery-nudge{margin-bottom:var(--s3);border-radius:var(--radius);background:var(--accent-tint);color:var(--text);align-items:center;gap:8px;padding:10px 14px;font-size:14px;text-decoration:none;display:flex}.recovery-nudge .ic{color:var(--accent-text);flex:none}@media (width<=860px){.stabs{z-index:40;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);border-bottom:none;justify-content:space-around;gap:0;margin:0;position:fixed;inset:auto 0 0}.stab{height:var(--tabs-h);border-top:none;border-bottom:none;flex-direction:column;flex:1 1 0;justify-content:center;gap:2px;min-width:0;margin:0;padding:0 2px;font-size:11px}.stab .app-tab-ic{border-radius:var(--r-pill);width:48px;height:28px;transition:background var(--d2) var(--ease);position:relative}.stab.on{color:var(--text);font-weight:600}.stab.on .app-tab-ic{background:var(--accent)}.shell main{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}}.ai-lesson{margin-bottom:var(--s5)}.ai-lesson-title{text-align:center;margin:0 0 var(--s3);font-size:24px}.ai-lesson-box{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);flex-direction:column;gap:10px;padding:12px 14px;transition:border-color .15s;display:flex}.ai-lesson-box:focus-within{border-color:var(--border-ink)}.ai-lesson-box>.ic{color:var(--accent-text);flex:none;margin-bottom:8px}.ai-lesson-box.busy{opacity:.7}.ai-lesson-input{resize:none;min-width:0;font:inherit;color:inherit;background:0 0;border:none;flex:1;max-height:160px;padding:8px 0;line-height:1.5}.ai-lesson-input:focus{outline:none}.ai-lesson-box .btn{flex:none}.ai-lesson .hint{text-align:center}.ai-lesson-wait{animation:1.6s ease-in-out infinite ai-pulse}@keyframes ai-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ai-lesson-wait{animation:none}}.ai-lesson-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ai-lesson-bar .btn,.ai-lesson-bar .field{flex:none}.ai-lesson-bar .field.small{width:auto;padding:7px 28px 7px 10px;font-size:14px}.ai-lesson-bar>.btn:last-child{margin-left:auto}.ai-lesson-bar .btn.off{opacity:.5;pointer-events:none}.ai-lesson-files{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ai-lesson-files li{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:56px;height:72px;position:relative;overflow:hidden}.ai-lesson-files img{object-fit:cover;width:100%;height:100%;display:block}.ai-lesson-files .icon{background:var(--surface);border:1px solid var(--border);border-radius:50%;width:20px;height:20px;padding:0;font-size:12px;line-height:1;position:absolute;top:2px;right:2px}.md-h{margin:var(--s3) 0 var(--s1);font-size:17px;font-weight:600}.mk{flex-wrap:wrap;gap:10px;margin-top:10px;display:flex}.mk-group{background:var(--bg);border:1px solid var(--border);border-radius:10px;gap:4px;padding:3px;display:flex}.mk-key{background:var(--surface);min-width:38px;height:34px;color:var(--text);cursor:pointer;border:none;border-radius:7px;padding:0 8px;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1}.mk-key:hover{background:var(--accent-tint)}.mk-key:active{transform:translateY(1px)}.mk-key:disabled{opacity:.5;cursor:default}@media (width<=560px){.mk{gap:6px}.mk-key{min-width:34px;height:36px;font-size:14px}}.fbar{margin:4px 0 0 140px}.fbar-tools{flex-wrap:wrap;gap:6px;display:flex}.fbar .btn.small{padding:3px 8px;font-size:13px}.fbar .mk{margin-top:6px}.fbar .math-preview{max-width:520px}.fbar .hint{margin-top:6px}.modal-card.tbl-modal{max-width:720px}.tbl-grid{margin-top:10px;overflow-x:auto}.tbl-grid table{border-collapse:separate;border-spacing:4px}.tbl-grid td{padding:0}.tbl-grid .field{width:100%;min-width:110px}.tbl-head .field{background:var(--sunk);font-weight:600}.tbl-x{text-align:center;width:1%}.tbl-preview{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.answer-keys{margin-left:140px}@media (width<=520px){.fbar,.answer-keys{margin-left:0}}.legal-body ul{margin:0 0 var(--s3);padding-left:1.3em;line-height:1.6}.legal-body li+li{margin-top:var(--s1)}.legal-requisites{gap:var(--s2) var(--s5);margin:var(--s3) 0 0;padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);grid-template-columns:max-content minmax(0,1fr);display:grid}.legal-requisites div{display:contents}.legal-requisites dt{color:var(--muted)}.legal-requisites dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}@media (width<=480px){.legal-requisites{grid-template-columns:minmax(0,1fr);gap:0}.legal-requisites dd{margin-bottom:var(--s2)}}.profile-status{align-items:center;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.profile-pill{border-radius:var(--r-pill);background:var(--sunk);color:var(--muted);font-size:var(--t-sm);align-items:center;padding:4px 12px;font-weight:500;display:inline-flex}.profile-pill.live{background:var(--accent);color:var(--on-accent)}.profile-photo-row{align-items:center;gap:var(--s4);margin:var(--s2) 0;display:flex}.profile-two{gap:var(--s3);margin-top:var(--s3);display:grid}@media (width>=640px){.profile-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.profile-chips{gap:var(--s2);margin:var(--s2) 0 var(--s4);flex-wrap:wrap;display:flex}.profile-chip{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font:inherit;font-size:var(--t-sm);cursor:pointer;transition:border-color var(--d2) var(--ease), background var(--d2) var(--ease);align-items:center;gap:6px;padding:7px 12px;font-weight:500;display:inline-flex}.profile-chip:hover:not(:disabled){border-color:var(--border-strong)}.profile-chip.on{background:var(--accent);border-color:var(--accent-deep);color:var(--on-accent)}.profile-chip:disabled{opacity:.5;cursor:default}.profile-slug{align-items:center;gap:var(--s2);display:flex}.profile-slug>span{color:var(--muted);font-family:var(--mono);font-size:var(--t-sm);white-space:nowrap}.profile-slug .field{min-width:0;font-family:var(--mono);flex:1}.profile-switch{align-items:center;gap:var(--s3);margin:var(--s3) 0 var(--s1);cursor:pointer;font-weight:500;display:flex}.profile-switch input{width:20px;height:20px;accent-color:var(--text)}.hint.error{color:var(--bad)}.inbox-item{padding:var(--s3) 0;border-top:1px solid var(--border)}.inbox-item:first-of-type{border-top:0}.inbox-head{justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.inbox-head b{font-size:var(--t-h3)}.inbox-status{border-radius:var(--r-pill);background:var(--sunk);color:var(--muted);font-size:var(--t-xs);padding:2px 10px;font-weight:500}.inbox-status.pending{background:var(--accent);color:var(--on-accent)}.inbox-status.accepted{background:var(--ok-soft);color:var(--ok)}.inbox-kind{border-radius:var(--r-pill);background:var(--sunk);color:var(--text);font-size:var(--t-xs);padding:2px 8px;font-weight:600}.inbox-clash{margin:var(--s1) 0 0;color:var(--bad);font-size:var(--t-sm)}.move-note{align-items:center;gap:var(--s2);flex-wrap:wrap;margin-top:6px;display:flex}.inbox-when{margin:var(--s1) 0 0;align-items:center;gap:6px;font-weight:500;display:flex}.inbox-contact,.inbox-message{margin:var(--s1) 0 0;color:var(--muted);font-size:var(--t-sm)}.inbox-message{white-space:pre-line}.inbox-item .actions+.actions,.inbox-report .actions{margin-top:var(--s2)}.inbox-accepted{margin-top:var(--s3);padding:var(--s3);border-radius:var(--r-md);background:var(--ok-soft)}.profile-rating{align-items:center;gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.doc-list{gap:var(--s2);margin:var(--s2) 0 var(--s3);padding:0;list-style:none;display:grid}.doc-row{align-items:center;gap:var(--s3);padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-md);grid-template-columns:72px minmax(0,1fr) auto;display:grid}.doc-row img{object-fit:cover;border-radius:var(--r-sm);background:var(--sunk);width:72px;height:54px;display:block}.doc-row b{font-weight:500;display:block}.doc-row small{color:var(--muted)}.doc-form{gap:var(--s2);margin-top:var(--s2);padding:var(--s3);border:1px dashed var(--border-strong);border-radius:var(--r-md);display:grid}.doc-preview{border-radius:var(--r-sm);border:1px solid var(--border);max-width:220px;max-height:160px;display:block}.card label.prompt,.pf-label{margin:0;font-weight:500;display:block}.pf-field{margin-top:var(--s4);gap:6px;display:grid}.pf-field:first-child,.pf-grid .pf-field{margin-top:0}.pf-field .field{max-width:none}.pf-field .hint,.pf-field .profile-chips{margin:2px 0 0}.pf-grid{gap:var(--s3);margin-top:var(--s4);display:grid}@media (width>=640px){.pf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}textarea.field.pf-bio{min-height:170px;line-height:1.5}.pf-social{align-items:center;gap:var(--s2);display:flex}.pf-social .ic{color:var(--muted);flex:none}.pf-social .field{flex:1;min-width:0;max-width:none}.pf-label-block{margin-bottom:var(--s2)}.profile-switch+.hint{margin:0 0 var(--s2)}.req-row{align-items:center;gap:var(--s2) var(--s3);padding:var(--s2) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.req-row:first-of-type{border-top:0}.req-row .row-text{flex:200px;gap:2px;min-width:0;display:grid}.req-status{border-radius:var(--r-pill);font-size:var(--t-xs);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-weight:500;display:inline-flex}.req-status.pending{background:var(--sunk);color:var(--muted)}.req-status.accepted{background:var(--ok-soft);color:var(--ok)}.req-status.declined{background:var(--bad-soft);color:var(--bad)}.tutor-switch{gap:var(--s2);margin:0 0 var(--s3);flex-wrap:wrap;display:flex}.tutor-switch button{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font:inherit;font-size:var(--t-sm);cursor:pointer;padding:6px 14px;font-weight:500}.tutor-switch button.on{border-color:var(--text);background:var(--text);color:var(--surface);cursor:default}.tutor-switch button:disabled:not(.on){opacity:.6}.stat-grid{gap:var(--s3);margin:var(--s2) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=640px){.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.review-prompt{border-color:var(--accent-deep);background:var(--accent-soft)}.row-link{color:inherit;border-radius:var(--r-sm);text-decoration:none}.row-link:hover{background:var(--sunk)}.row-link .ic{color:var(--muted);flex:none}.stab{position:relative}.board-toolbar .call-btn{background:var(--surface);border-color:var(--border-strong);color:var(--text)}@media (hover:hover){.board-toolbar .call-btn:hover{background:var(--sunk)}}.board-toolbar .call-btn.tool-on{background:var(--accent);border-color:var(--accent-deep);color:var(--on-accent)}.board-toolbar .call-btn.tool-danger{border-color:var(--bad);color:var(--bad)}.board-surface.tool-text{cursor:text}.board-text-input{z-index:5;border:1.5px dashed var(--border-loud);border-radius:var(--r-sm);background:var(--surface);min-width:220px;max-width:min(420px,80%);color:var(--text);font:inherit;resize:none;padding:6px 8px;line-height:1.3;position:absolute}.board-text-input:focus{border-color:var(--text);outline:none}.room-finish{margin-left:auto}.room-ended{align-content:center;min-height:60vh;display:grid}.room-booked{margin:var(--s3) 0 0;border:1px solid var(--ok-line);border-radius:var(--r-md);background:var(--ok-soft);color:var(--ok);padding:10px 14px;font-size:15px}.room-ended .actions{flex-wrap:wrap}.app-dialog{width:min(420px,100vw - 40px);padding:var(--s6);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);color:var(--text);box-shadow:var(--shadow-4)}.app-dialog::backdrop{background:#1d202073}.app-dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--s2);display:flex}.app-dialog-head .prompt{margin:0}.app-dialog-form{gap:var(--s2);margin-top:var(--s3);display:flex}.app-dialog-form .field{min-width:0;font-family:var(--mono);flex:1}.row-link .ic+.ic{margin-left:2px}.lp-tm{vertical-align:super;opacity:.55;margin-left:1px;font-size:.5em;font-weight:600;line-height:1}.adm-tabs{gap:var(--s1);margin-bottom:var(--s4);border-bottom:1px solid var(--border);display:flex}.adm-tab{padding:var(--s2) var(--s3);color:var(--muted);font-size:var(--t-sm);border-bottom:2px solid #0000;margin-bottom:-1px;text-decoration:none}.adm-tab:hover{color:var(--text)}.adm-tab.on{color:var(--text);border-bottom-color:var(--border-ink);font-weight:500}.lp-profile-verified{vertical-align:.1em;margin-left:8px}.avf-section{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:16px;display:flex}.avf-section:last-child{border-bottom:0}.avf-section h3{margin:0;font-size:16px}.avf-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.avf-who{flex-direction:column;gap:2px;display:flex}.avf-actions,.avf-hour{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.avf-hour input{width:72px}.vcall{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;padding:16px;display:flex}.vcall-head{flex-direction:column;gap:2px;display:flex}.vcall-stage{aspect-ratio:4/3;border-radius:16px;position:relative;overflow:hidden}.vcall .room-controls{border-radius:var(--r-pill);background:var(--text);align-self:center}.vcall-head strong{align-items:center;gap:6px;display:inline-flex}.vcall-note{color:var(--text-2,var(--muted));margin:0;line-height:1.45}.vcall-decide{flex-wrap:wrap;gap:10px;display:flex}.verify-title{align-items:center;gap:8px;display:flex}.ast-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;padding:16px;display:grid}.ast-card{border:1px solid var(--line);background:var(--surface,#fff);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.ast-media{aspect-ratio:9/16;background:#000}.ast-media img,.ast-media video{object-fit:contain;width:100%;height:100%;display:block}.ast-body{flex-direction:column;gap:6px;padding:12px;display:flex}.ast-who{font-weight:600}.ast-actions{gap:8px;margin-top:4px;display:flex}.adm-tablecard{padding:var(--s4) var(--s3) var(--s4)}.adm-bar{justify-content:space-between;align-items:center;gap:var(--s3);padding:0 var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.adm-bar-right{align-items:center;gap:var(--s2);margin-left:auto;display:flex}.adm-search{width:260px;max-width:100%}.adm-chips,.adm-tablecard>.hint{padding:0 var(--s2)}@media (width<=640px){.adm-bar-right{width:100%;margin-left:0}.adm-search{flex:1;width:auto;min-width:0}}.adm-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.adm-table{border-collapse:collapse;width:100%;font-size:var(--t-sm);white-space:nowrap}.adm-table th{text-align:left;font-weight:500;font-size:var(--t-xs);color:var(--muted);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border)}.adm-table td{padding:var(--s3);border-bottom:1px solid var(--border);vertical-align:middle}.adm-table tbody tr:last-child td{border-bottom:none}.adm-table tbody tr:hover{background:var(--sunk)}.adm-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.adm-sort:hover,.adm-sort.on{color:var(--text)}.adm-num{text-align:right;font-variant-numeric:tabular-nums}.adm-who{align-items:center;gap:var(--s3);color:var(--text);text-decoration:none;display:flex}.adm-who b{font-weight:500;display:block}.adm-who i,.adm-contact i{font-style:normal;font-size:var(--t-xs);color:var(--faint);display:block}a.adm-who:hover b{text-decoration:underline}.adm-ava,.adm-photo{border-radius:var(--r-pill);object-fit:cover;background:var(--sunk);flex:none}.adm-ava{width:32px;height:32px}.adm-photo{width:72px;height:72px}.adm-ava.ph,.adm-photo.ph{color:var(--faint);text-transform:uppercase;place-items:center;display:grid}.adm-ava.ph{font-size:var(--t-sm)}.adm-photo.ph{font-size:var(--t-h1)}.adm-none{color:var(--faint);font-style:normal}.adm-ok{color:var(--ok)}.adm-badge{font-size:var(--t-micro);border-radius:var(--r-pill);white-space:nowrap;padding:3px 10px;display:inline-block}.adm-badge.paying{background:var(--accent-soft);color:var(--accent-text)}.adm-badge.working{background:var(--ok-soft);color:var(--ok)}.adm-badge.profile{background:var(--warn-soft);color:var(--warn)}.adm-badge.cold{background:var(--bad-soft);color:var(--bad)}.adm-badge.studying{background:var(--ok-soft);color:var(--ok)}.adm-badge.requested{background:var(--warn-soft);color:var(--warn)}.adm-tutors a{color:var(--text);white-space:nowrap;display:block}.adm-filters{margin-bottom:var(--s3)}.adm-chips{gap:var(--s2);flex-wrap:wrap;display:flex}.adm-chip{font:inherit;font-size:var(--t-sm);cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--muted);border-radius:var(--r-pill);padding:5px 12px}.adm-chip:hover{border-color:var(--border-strong)}.adm-chip.on{border-color:var(--border-ink);color:var(--text);font-weight:500}.adm-back{margin-bottom:var(--s4);font-size:var(--t-sm);color:var(--muted);text-decoration:none;display:inline-block}.adm-back:hover{color:var(--text)}.adm-profile{gap:var(--s4);align-items:flex-start;display:flex}.adm-profile p{margin:0 0 var(--s2)}.adm-bio{white-space:pre-wrap;color:var(--text-body)}.adm-stats{gap:var(--s3);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.adm-stat{background:var(--sunk);border-radius:var(--r-md);padding:var(--s3);flex:88px}.adm-stat b{font-size:var(--t-h2);font-weight:500;display:block}.adm-stat span{font-size:var(--t-xs);color:var(--muted)}.surface{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--s6);margin-bottom:var(--s4)}.surface>:last-child{margin-bottom:0}.surface.sunk{background:var(--sunk);border-color:#0000}.surface.featured{border:1.5px solid var(--border-ink)}.surface .surface{border-radius:var(--r-lg);padding:var(--s4);margin-bottom:var(--s3)}.surface-head{align-items:flex-start;gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap;display:flex}.surface-ic{border-radius:var(--r-md);background:var(--sunk);width:36px;height:36px;color:var(--text);flex:none;place-items:center;display:grid}.surface-text{flex:1;gap:4px;min-width:0;display:grid}.surface-lead{color:var(--muted);margin:0;font-size:15px;line-height:1.5}.surface-actions{gap:var(--s2);flex-wrap:wrap;margin-left:auto;display:flex}.surface-grid{gap:var(--s4);margin-bottom:var(--s4);display:grid}.surface-grid>.surface{margin:0}@media (width>=640px){.surface-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.surface-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.dl{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:var(--s4);overflow:hidden}.dl-row{align-items:center;gap:var(--s3);width:100%;min-height:56px;padding:var(--s3) var(--s4);border:0;border-top:1px solid var(--border);color:inherit;font:inherit;text-align:left;background:0 0;text-decoration:none;display:flex}.dl-row:first-child{border-top:0}@media (hover:hover){a.dl-row:hover,button.dl-row:hover{background:var(--sunk)}}.dl-lead{border-radius:var(--r-pill);background:var(--sunk);width:36px;height:36px;color:var(--text);font-size:var(--t-sm);text-transform:uppercase;flex:none;place-items:center;font-weight:600;display:grid}.dl-text{flex:1;gap:2px;min-width:0;display:grid}.dl-title{color:var(--text);overflow-wrap:anywhere;font-weight:500}.dl-meta{color:var(--muted);font-size:var(--t-sm)}.dl-trail{align-items:center;gap:var(--s2);color:var(--muted);flex:none;display:flex}.dl-def{padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sunk);grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:0;display:grid}.dl-def>div{display:contents}.dl-def dt{color:var(--muted);font-size:var(--t-sm)}.dl-def dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}@media (width<=479px){.dl-def{grid-template-columns:1fr;gap:2px 0}.dl-def dd{margin-bottom:var(--s2)}}.pf-field,.fld{gap:6px;min-width:0;display:grid}.fld+.fld,.fld+.fld-grid,.fld-grid+.fld,.fld-grid+.fld-grid{margin-top:var(--s4)}.pf-label,.fld-label{color:var(--text);font-size:var(--t-sm);font-weight:500}.pf-field .field,.fld .field{max-width:none}.fld-hint{color:var(--muted);font-size:var(--t-xs);margin:0;line-height:1.45}.fld-error{color:var(--bad);font-size:var(--t-xs);margin:0}.fld.bad .field{border-color:var(--bad)}.pf-grid,.fld-grid{gap:var(--s4);display:grid}@media (width>=640px){.pf-grid,.fld-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fld-row{align-items:center;gap:var(--s2);display:flex}.fld-row .field{flex:1;min-width:0;max-width:none}.seg,.tutor-switch{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--sunk);gap:2px;padding:4px;display:inline-flex}.seg>button,.seg>a,.tutor-switch button{min-height:var(--h-control-sm);border-radius:var(--r-pill);color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;transition:color var(--d2) var(--ease), background var(--d2) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.seg>button:hover:not(.on),.seg>a:hover:not(.on){color:var(--text)}.seg>button.on,.seg>a.on,.tutor-switch button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.seg>button,.seg>a{min-height:calc(var(--h-control) - 10px)}.seg.sm>button,.seg.sm>a{min-height:calc(var(--h-control-sm) - 10px);font-size:var(--t-sm);padding:0 10px}.section-tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.seg-count{color:var(--faint);font-variant-numeric:tabular-nums}.seg>.on .seg-count{color:var(--muted)}.pill.seg-badge{font-variant-numeric:tabular-nums;min-height:20px;padding:0 7px;line-height:20px}.seg.block{display:flex}.seg.block>button{flex:1}@media (width<=639px){.surface{padding:var(--s5) var(--s4);border-radius:var(--r-lg)}.surface-actions{width:100%;margin-left:0}.page-head{margin-bottom:var(--s6)}.page-title{font-size:var(--t-h1)}.page-actions{width:100%;margin-top:4px}.page-actions>.btn{flex:auto}.empty{padding:var(--s7) var(--s4);border-radius:var(--r-lg)}.empty-action{flex-direction:column;width:100%}.empty-action>.btn{width:100%}.stat{padding:12px 14px}.stat-value{font-size:24px}.modal-card,.app-dialog{padding:var(--s5);border-radius:var(--r-lg)}.dl-row,.list-row{padding:var(--s3)}}.url-frame{padding:var(--s3) var(--s4);border:1.5px solid var(--border-ink);border-radius:var(--r-md);background:var(--surface);color:var(--muted);overflow-wrap:anywhere;align-items:baseline;gap:1px;font-size:15px;display:flex}.url-frame b{color:var(--text);font-weight:600}.share{gap:var(--s3);display:grid}.share-row{gap:var(--s2);flex-wrap:wrap;display:flex}@media (width<=639px){.share-row>.btn{flex:1 1 calc(50% - var(--s2))}}.invite-list{gap:var(--s2);margin-top:var(--s2);display:grid}.invite-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.invite-row b{min-width:6ch;font-weight:600}.invite-row code{font-family:var(--mono);font-size:var(--t-sm);letter-spacing:.06em}.setup-list{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.setup-step{align-items:flex-start;gap:var(--s3);min-height:28px;display:flex}.setup-mark{border:1.5px solid var(--border-strong);border-radius:var(--r-pill);width:20px;height:20px;color:var(--on-accent);flex:none;place-items:center;margin-top:2px;display:grid}.setup-step.done .setup-mark{border-color:var(--accent-deep);background:var(--accent)}.setup-text{gap:2px;min-width:0;display:grid}.setup-text a{color:var(--text);font-size:15px;text-decoration:none}.setup-text a:hover{text-decoration:underline}.setup-step.done .setup-text a{color:var(--muted)}.setup-step.next .setup-text a{font-weight:600}.setup-why{color:var(--muted);font-size:var(--t-sm);line-height:1.45}.setup-text .pill{justify-self:start}.stat-hint{color:var(--faint);font-size:var(--t-xs);margin-top:2px;line-height:1.35}.home-sub{margin:var(--s4) 0 0}.home-views-note{margin-top:var(--s4);margin-bottom:0}.home{container-type:inline-size}.home-grid{gap:var(--s4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.home-col{gap:var(--s4);min-width:0;display:grid}.home-col>.surface{margin:0}@container (width>=900px){.home-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}.home-next{justify-content:space-between;align-items:center;gap:var(--s4);flex-wrap:wrap;display:flex}.home-next-main{gap:6px;min-width:0;display:grid}.home-next-who{align-items:center;gap:var(--s2);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:600;line-height:1.2;display:flex}.home-next-who .chip{flex-basis:14px;width:14px;height:14px}.home-next-when{color:var(--muted);font-size:var(--t-body);margin:0}.home-next-when b{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.home-day+.home-day{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--border)}.home-day-name{margin:0 0 var(--s1);color:var(--muted);font-size:var(--t-sm);font-weight:600}.home-day-name:first-letter{text-transform:uppercase}.home-day>.score{padding:var(--s1) 0;margin:0}.home-time{font-variant-numeric:tabular-nums;min-width:44px}@media (width<=640px){.home-day .today-row{flex-wrap:nowrap}.home-day .today-row .row-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}}.home-empty{justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.home-empty .score{margin:0}.home-more{margin-top:var(--s3);color:var(--accent-text);font-size:var(--t-sm);font-weight:600;text-decoration:none;display:inline-block}.home-more:hover{text-decoration:underline}.home-roster{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.home-roster li{align-items:center;gap:var(--s3);min-height:48px;padding:var(--s1) 0;display:flex}.home-roster li+li{border-top:1px solid var(--border)}.home-roster-text{flex:1;min-width:0;display:grid}.home-roster-text a{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;text-decoration:none;overflow:hidden}.home-roster-text a:hover{text-decoration:underline}.home-roster-text small{color:var(--muted);font-size:var(--t-xs);line-height:1.4}.home-roster-text .warn{color:var(--warn)}.home-roster .btn{flex:none}.home-url{align-items:center;gap:var(--s2);padding:4px 4px 4px var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--sunk);display:flex}.home-url a{min-width:0;color:var(--muted);font-size:var(--t-sm);text-overflow:ellipsis;white-space:nowrap;flex:1;text-decoration:none;overflow:hidden}.home-url a b{color:var(--text);font-weight:600}.home-url a:hover b{text-decoration:underline}.home-page-draft{margin-top:0}.home-mini{gap:var(--s2);margin:var(--s4) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-mini>div{flex-direction:column-reverse;justify-content:flex-end;gap:2px;min-width:0;display:flex}.home-mini dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:600;line-height:1.1}.home-mini dt{color:var(--muted);font-size:var(--t-xs);line-height:1.3}.billing-plan{margin-bottom:var(--s4)}.page-narrow .lp-pricing.three{margin-bottom:var(--s4);grid-template-columns:minmax(0,1fr)}.app-main .billing-plan .lp-price{font-size:40px}.billing-recap{margin-top:var(--s2);color:var(--muted)}.adm-funnel-note{margin:0 0 var(--s4);border:1px solid var(--warn);border-radius:var(--r-md);background:var(--warn-soft);color:var(--warn);padding:10px 14px;font-size:14px}.adm-funnel-label{display:block}.adm-funnel-track{background:var(--sunk);border-radius:999px;height:6px;margin-top:5px;display:block;overflow:hidden}.adm-funnel-fill{background:var(--accent-deep);border-radius:999px;height:100%;display:block}.adm-funnel-quiet{margin:0 0 var(--s4)}.adm-funnel td:first-child{min-width:190px}.adm-table tr.adm-row-off td{opacity:.55;text-decoration:line-through}.adm-table tr.adm-row-off td:last-child{opacity:1;text-decoration:none}.inbox-student{align-items:center;gap:6px;margin:6px 0 0;font-size:15px;display:flex}.inbox-student>.ic{color:var(--muted);flex:none}.datefield{position:relative}.datefield-trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.datefield-trigger>.ic{color:var(--muted);flex:none}.datefield-empty{color:var(--muted)}.datefield-pop{z-index:120;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:296px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-4);padding:12px;position:fixed}.field-row>.datefield,.datefield-trigger{flex:1;min-width:0}.datefield-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.datefield-head b{text-transform:capitalize;font-size:15px;font-weight:600}.datefield-week,.datefield-grid{grid-template-columns:repeat(7,1fr);display:grid}.datefield-week{gap:2px;margin-bottom:4px}.datefield-week span{color:var(--muted);font-family:var(--mono);text-align:center;text-transform:uppercase;letter-spacing:.06em;padding:4px 0;font-size:11px}.datefield-grid{gap:2px}.datefield-grid:focus-visible{outline:3px solid var(--border-ink);outline-offset:3px;border-radius:var(--r-sm)}.datefield-day{border-radius:var(--r-pill);height:36px;color:var(--text);font:inherit;cursor:pointer;transition:background var(--d2) var(--ease);background:0 0;border:1px solid #0000;font-size:14px}.datefield-day:hover{background:var(--sunk)}.datefield-day.out{color:var(--muted);opacity:.55}.datefield-day.today{border-color:var(--border-strong);font-weight:600}.datefield-day.on{background:var(--accent);border-color:var(--accent-deep);font-weight:600}.datefield-grid:focus-visible .datefield-day.cursored{outline:2px solid var(--border-ink);outline-offset:-2px}.datefield-foot{border-top:1px solid var(--border);justify-content:flex-end;margin-top:8px;padding-top:8px;display:flex}.due-picker{flex:0 220px}.today-state{color:var(--muted);flex:none;font-size:13px}.crumbs{margin:0 0 var(--s3);color:var(--muted);font-size:var(--t-sm);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text);text-decoration:underline}.crumbs .crumb-here{color:var(--text);font-weight:600}.course-card{margin-bottom:var(--s3);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-1);transition:box-shadow var(--d2) var(--ease)}.course-card.open{box-shadow:var(--shadow-2)}.course-card-head{align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);display:flex}.course-card-head .icon{border-radius:var(--r-sm);flex-basis:30px;width:30px;height:30px}.course-card-head .btn.small{min-height:30px;padding:0 10px;font-size:13px}.course-card-head .row-text{flex:1;min-width:0}.course-card-title{color:var(--text);letter-spacing:-.01em;font-size:16px;font-weight:600;text-decoration:none;display:block}.course-card-title:hover{text-decoration:underline}.course-card-name{align-items:center;gap:var(--s1);display:flex}.course-card-name .course-card-title{display:inline}.course-card-head .course-rename-btn{opacity:.55;background:0 0;border:0;flex-basis:24px;width:24px;height:24px}.course-card-head .course-rename-btn:hover{background:var(--sunk)}.course-card-head:hover .course-rename-btn,.course-rename-btn:focus-visible{opacity:1}.course-rename{border:1px solid var(--border-ink);border-radius:var(--r-sm);background:var(--surface);width:100%;max-width:460px;color:var(--text);font:inherit;letter-spacing:-.01em;margin-left:-9px;padding:2px 8px;font-size:16px;font-weight:600}.course-rename:focus{outline:none}.course-toggle svg{transition:transform var(--d2) var(--ease);transform:rotate(-90deg)}.course-card.open .course-toggle svg{transform:none}.course-card-body{padding:0 var(--s4) var(--s3);border-top:1px solid var(--border)}.tree-section{padding-top:var(--s3)}.tree-unit,.path-unit{margin:var(--s2) 0 var(--s2);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.tree-empty{margin:0 0 var(--s2)}.tree-lesson{align-items:center;gap:var(--s3);padding:6px var(--s2);margin:0 calc(-1 * var(--s2));border-radius:var(--r-md);color:var(--text);text-decoration:none;display:flex}.tree-lesson:hover{background:var(--sunk)}.tree-lesson .tree-title{overflow-wrap:anywhere;flex:1;min-width:0}.tree-lesson .score{white-space:nowrap}.tree-num{border-radius:var(--r-sm);background:var(--accent-soft);min-width:26px;height:26px;color:var(--accent-text);font-variant-numeric:tabular-nums;flex:none;place-items:center;padding:0 4px;font-size:13px;font-weight:700;display:grid}.loose{margin-top:var(--s7)}.loose-title,.program-title{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600}.loose .hint{margin:var(--s1) 0 var(--s3)}.loose .list-row select{max-width:190px}.program-head{justify-content:space-between;align-items:center;gap:var(--s3);margin:var(--s6) 0 0;display:flex}.program-hint{margin:var(--s1) 0 var(--s3)}.unit-block{margin-bottom:var(--s3);padding:var(--s4) var(--s5);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-1)}.unit-head{align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.unit-name{border-radius:var(--r-sm);min-width:0;color:var(--text);font:inherit;background:0 0;border:1px solid #0000;flex:1;margin-left:-8px;padding:4px 8px;font-size:17px;font-weight:600}.unit-name:hover{border-color:var(--border)}.unit-name:focus{border-color:var(--border-ink);outline:none}.unit-none{margin:0 0 var(--s2);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.unit-empty{margin:var(--s1) 0 var(--s2)}.unit-lesson{align-items:center;gap:var(--s3);padding:var(--s2) 0;border-top:1px solid var(--border);display:flex}.unit-lesson:first-of-type{border-top:0}.unit-lesson .row-text{flex:1;min-width:0}.unit-lesson select{max-width:160px}.unit-add{margin-top:var(--s2)}@media (width<=640px){.unit-lesson{flex-wrap:wrap}.unit-lesson select{max-width:none;margin-left:calc(26px + var(--s3));flex:100%;order:3}.course-card-head .btn.small{display:none}}.enrolled{padding:var(--s3) 0;border-top:1px solid var(--border)}.enrolled:first-of-type{border-top:0;padding-top:0}.enrolled-head{align-items:baseline;gap:var(--s2);flex-wrap:wrap;display:flex}.enrolled-head .spacer{flex:1}.path-progress{align-items:center;gap:var(--s3);margin:var(--s2) 0 var(--s1);display:flex}.path-progress>:first-child{flex:1}.path-list{margin:0;padding:0;list-style:none}.path-step{align-items:center;gap:var(--s3);padding:6px 0;display:flex;position:relative}.path-step:not(:last-child):after{content:"";background:var(--border);width:2px;position:absolute;top:32px;bottom:-6px;left:12px}.path-step.done:not(:last-child):after{background:var(--accent-deep)}.path-dot{z-index:1;border:1.5px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);width:26px;height:26px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid;position:relative}.path-step.done .path-dot{border-color:var(--accent-deep);background:var(--accent);color:var(--on-accent)}.path-step.is-next .path-dot{border-color:var(--text);color:var(--text)}.path-title{min-width:0;color:var(--text);overflow-wrap:anywhere;flex:1;text-decoration:none}a.path-title:hover{text-decoration:underline}.path-step.done .path-title{color:var(--muted)}.path-step.is-next .path-title{font-weight:600}.path-tag{border-radius:var(--r-pill);white-space:nowrap;flex:none;padding:2px 8px;font-size:12px;font-weight:600}.path-tag.done{background:var(--accent-soft);color:var(--accent-text)}.path-tag.planned{background:var(--sunk);color:var(--text)}.path-tag.assigned{background:var(--warn-soft);color:var(--warn)}.path-tag.next{background:var(--text);color:var(--surface)}.ai-tag{border-radius:var(--r-pill);background:var(--text);color:var(--accent);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex:none;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.lib-ai{margin-bottom:var(--s7)}.lib-ai-head{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.lib-ai-title,.lib-std-title{letter-spacing:-.01em;margin:0;font-size:19px;font-weight:600}.lib-std-title{margin:0 0 var(--s3)}.lib-ai-grid{gap:var(--s3);margin-top:var(--s3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.lib-ai-card{gap:var(--s1);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);box-shadow:var(--shadow-1);flex-direction:column;display:flex}.lib-ai-card .actions{padding-top:var(--s2);margin-top:auto}.lib-ai-level{border-radius:var(--r-sm);background:var(--accent);min-width:44px;height:32px;color:var(--on-accent);align-self:flex-start;place-items:center;padding:0 8px;font-weight:700;display:inline-grid}.course-card.ai{border-color:var(--border-strong)}.course-card-name .ai-tag{margin-left:var(--s1)}.tree-lesson-todo{width:calc(100% + 2 * var(--s2));font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.tree-lesson-todo .tree-num{background:var(--sunk);color:var(--muted)}.tree-lesson-todo .tree-title{color:var(--muted)}.tree-lesson-todo:disabled{cursor:progress}.tree-make{align-items:center;gap:var(--s2);flex:none;display:inline-flex}.tree-make .btn.small{pointer-events:none;min-height:28px;padding:0 10px;font-size:13px}.tree-failed{color:var(--bad);font-size:13px}.tree-making{align-items:center;gap:var(--s2);color:var(--muted);flex:none;font-size:13px;display:inline-flex}.spinner{border:2px solid var(--border);border-top-color:var(--text);border-radius:var(--r-pill);width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}.ai-lesson-head{align-items:flex-start;gap:var(--s2);margin:0 0 var(--s4);flex-direction:column;display:flex}.ai-lesson-name{letter-spacing:-.02em;margin:0;font-size:clamp(24px,3.2vw,32px);font-weight:600;line-height:1.15}.notice.ai-shared{background:var(--accent-soft);border-color:var(--accent-tint);flex-wrap:wrap;justify-content:space-between;align-items:center}@media (width<=640px){.tree-lesson-todo .tree-making,.tree-lesson-todo .tree-make{font-size:12px}}.md-mark{background:var(--accent);color:var(--text);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.15em;padding:0 .12em}.md-wrong,.md-right{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.3em;padding:.05em .35em;display:inline}.md-wrong{background:var(--bad-soft);color:var(--bad)}.md-wrong del{text-decoration-thickness:1.5px}.md-right{background:var(--ok-soft);color:var(--ok)}.md-right ins{font-weight:600;text-decoration:none}.md-verdict{margin-right:.3em;font-weight:700}.md-say{display:inline}.md-listen{vertical-align:middle;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);width:24px;height:24px;color:var(--muted);cursor:pointer;transition:background var(--d1) var(--ease), color var(--d1) var(--ease), border-color var(--d1) var(--ease);place-items:center;margin-left:.25em;padding:0;display:inline-grid}@media (hover:hover){.md-listen:hover{border-color:var(--text);color:var(--text)}}.md-listen:focus-visible{outline:2px solid var(--border-ink);outline-offset:2px}.md-listen.on{background:var(--accent);border-color:var(--accent-deep);color:var(--on-accent)}.md-listen.big{width:auto;height:30px;font:inherit;color:var(--text);gap:6px;padding:0 12px;font-size:13px;font-weight:600;display:inline-flex}.md-callout{margin:var(--s3) 0;padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);border-left-width:4px}.md-callout>:last-child,.md-callout p:last-child{margin-bottom:0}.md-callout-head{align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.md-callout-icon{border-radius:var(--r-sm);place-items:center;min-width:22px;height:22px;padding:0 4px;font-size:11px;font-weight:700;line-height:1;display:grid}.md-callout-label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.md-callout-rule{border-color:var(--accent-deep);background:var(--accent-soft)}.md-callout-rule .md-callout-icon{background:var(--accent);color:var(--on-accent)}.md-callout-rule .md-callout-label{color:var(--accent-text)}.md-callout-trap{border-color:var(--warn);background:var(--warn-soft)}.md-callout-trap .md-callout-icon{background:var(--warn);color:#fff}.md-callout-trap .md-callout-label{color:var(--warn)}.md-callout-tip{border-color:var(--ok-line);background:var(--ok-soft)}.md-callout-tip .md-callout-icon{background:var(--ok);color:#fff}.md-callout-tip .md-callout-label{color:var(--ok)}.md-callout-example{border-color:var(--border-strong);background:var(--sunk)}.md-callout-example .md-callout-icon{background:var(--text);color:var(--surface)}.md-callout-example .md-callout-label{color:var(--muted)}.card-read .md-callout-rule strong{background:0 0;padding:0}.md-dialogue{margin:var(--s3) 0;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sunk)}.md-dialogue-head{justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.md-dialogue-head:empty{display:none}.md-dialogue-title{font-weight:600}.md-bubble-row{align-items:flex-end;gap:4px;margin:6px 0;display:flex}.md-bubble-row.right,.md-bubble-row.me{flex-direction:row-reverse}.md-bubble{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;max-width:78%;padding:8px 12px;line-height:1.45;display:flex}.md-bubble-row.left .md-bubble,.md-bubble-row.them .md-bubble{border-bottom-left-radius:4px}.md-bubble-row.right .md-bubble,.md-bubble-row.me .md-bubble{background:var(--accent-soft);border-color:var(--accent-tint);border-bottom-right-radius:4px}.md-messages .md-bubble-row.me .md-bubble{background:var(--accent);border-color:var(--accent-deep);color:var(--on-accent)}.md-bubble-name{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:700}.md-dialogue-note{text-align:center;color:var(--muted);margin:8px 0;font-size:14px;font-style:italic}.md-messages{border-radius:var(--r-xl);background:var(--surface);max-width:420px;box-shadow:var(--shadow-2)}.md-postcard,.md-letter,.md-menu,.md-form,.md-notice,.md-timetable{margin:var(--s4) 0}.md-postcard{gap:var(--s4);padding:var(--s4);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-2);background:#fffdf6;grid-template-columns:minmax(0,3fr) minmax(0,2fr);display:grid;transform:rotate(-.4deg)}.md-postcard-message{padding-right:var(--s4);border-right:1px solid var(--border-strong);font-style:italic}.md-postcard-title{font-style:normal;font-weight:700}.md-postcard-side{flex-direction:column;gap:6px;display:flex}.md-postcard-stamp{width:52px;height:60px;margin-bottom:var(--s3);border:2px dashed var(--accent-deep);background:var(--accent-soft);color:var(--accent-text);font-family:var(--mono);align-self:flex-end;place-items:center;font-weight:700;display:grid}.md-postcard-line{border-bottom:1px solid var(--border-strong);margin:0;padding:2px 0}@media (width<=520px){.md-postcard{grid-template-columns:1fr;transform:none}.md-postcard-message{padding-right:0;padding-bottom:var(--s3);border-right:0;border-bottom:1px solid var(--border-strong)}}.md-letter{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden}.md-letter-head{padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);background:var(--sunk);font-size:14px}.md-letter-title{margin:0 0 4px;font-weight:700}.md-letter-field,.card-read .md .md-letter-field{margin:0}.card-read .md .md-postcard-line,.card-read .md .md-form-note,.card-read .md .md-menu-note{margin-bottom:0}.md-letter-label{color:var(--muted)}.md-letter-body{padding:var(--s4)}.md-notice{padding:var(--s4) var(--s5);border:3px solid var(--text);border-radius:var(--r-sm);background:var(--surface);text-align:center}.md-notice-title{margin:0 0 var(--s2);letter-spacing:.04em;text-transform:uppercase;font-size:1.15em;font-weight:800}.md-menu{padding:var(--s4) var(--s5);border:1px solid var(--border-strong);border-radius:var(--r-md);background:#fffdf6}.md-menu-title{margin:0 0 var(--s3);text-align:center;letter-spacing:.02em;font-size:1.2em;font-weight:800}.md-menu-section+.md-menu-section{margin-top:var(--s3)}.md-menu-heading{margin:0 0 var(--s1);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.md-menu-note{margin:0 0 var(--s1);color:var(--muted);font-size:14px}.md-menu-item{align-items:baseline;gap:6px;padding:3px 0;display:flex}.md-menu-name{min-width:0}.md-menu-desc{color:var(--muted);margin-top:-2px;padding-bottom:3px;font-size:13px;display:block}.md-menu-dots{border-bottom:2px dotted var(--border-strong);flex:1;min-width:16px;transform:translateY(-4px)}.md-menu-price{font-variant-numeric:tabular-nums;flex:none;font-weight:700}.md-timetable{padding:var(--s3);border-radius:var(--r-md);background:var(--text);color:var(--surface)}.md-timetable-title{margin:0 0 var(--s2);color:var(--accent);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.md-timetable .md-table{border-color:#ffffff26}.md-timetable .md-table th{color:var(--accent);background:#ffffff14}.md-timetable .md-table th,.md-timetable .md-table td{font-family:var(--mono);font-variant-numeric:tabular-nums;border-color:#ffffff1f}.md-timetable p{color:#fffc}.md-timetable .md-h,.card-read .md .md-timetable .md-h{color:var(--accent)}.md-timetable code{color:inherit;background:#ffffff1a;border-color:#fff3}.md-timetable ol li::marker{color:var(--accent)}.card-read .md .md-timetable ol li::marker{color:var(--accent)}.md-timetable strong,.card-read .md .md-timetable strong{color:var(--accent);background:0 0}.option-row{align-items:center;gap:var(--s2);display:flex}.option-row .option{flex:1;min-width:0}.md-form{padding:var(--s4);border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface)}.md-form-title{margin:0 0 var(--s3);padding-bottom:var(--s2);border-bottom:2px solid var(--text);letter-spacing:.02em;text-transform:uppercase;font-weight:800}.md-form-field{align-items:end;gap:var(--s3);grid-template-columns:minmax(110px,38%) 1fr;padding:6px 0;display:grid}.md-form-label{color:var(--muted);font-size:13px;font-weight:600}.md-form-value{border-bottom:1px solid var(--border-loud);color:#1f4fa8;min-height:1.5em}.md-form-note{margin:var(--s2) 0 0;color:var(--muted);font-size:13px}@media (width<=520px){.md-form-field{grid-template-columns:1fr;gap:2px}}.fbar-tools{position:relative}.blk{position:static}.blk-menu{z-index:30;max-width:420px;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-3);position:absolute;top:calc(100% + 6px);left:0;right:0}.blk-group{margin:var(--s2) 0 var(--s1);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.blk-group:first-child{margin-top:0}.blk-row{flex-wrap:wrap;gap:6px;display:flex}.blk-item{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;padding:6px 10px;font-size:13px}@media (hover:hover){.blk-item:hover{border-color:var(--text);background:var(--accent-soft)}}.desc{color:var(--muted);flex-direction:column;gap:2px;margin-top:2px;font-size:13px;font-weight:400;line-height:1.45;display:flex}.desc strong{color:var(--text-body);font-weight:600}.desc.compact .desc-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tree-lesson .tree-title{flex-direction:column;display:flex}.tree-unit-desc{margin:-4px 0 var(--s2)}.ai-lesson-head .desc{font-size:14px}.unit-desc{width:100%;margin:0 0 var(--s2);border-radius:var(--r-sm);color:var(--muted);font:inherit;resize:vertical;background:0 0;border:1px solid #0000;margin-left:-8px;padding:4px 8px;font-size:13px;display:block}.unit-desc:hover{border-color:var(--border)}.unit-desc:focus{border-color:var(--border-ink);color:var(--text);outline:none}.ai-homework{margin:0 0 var(--s4);padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.ai-homework-head,.ai-homework-row{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.ai-homework-title{flex:1;font-weight:600}.ai-homework-row{margin-top:var(--s2)}.video-frame{aspect-ratio:16/9;border-radius:var(--r-md);background:#000;width:100%;margin-top:8px;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.cb{aspect-ratio:1;border-radius:var(--r-sm);-webkit-user-select:none;user-select:none;width:100%;max-width:480px;position:relative;overflow:hidden}.cb svg{width:100%;height:100%;display:block}.cb-live svg{touch-action:none;cursor:pointer}.cb-coord text{font-family:var(--sans);pointer-events:none;font-weight:600}.cb image{pointer-events:none}.cb-ghost{filter:drop-shadow(0 .05px .08px #00000059)}.cb-promo{background:#1d202059;place-items:center;display:grid;position:absolute;inset:0}.cb-promo-card{gap:var(--s1);padding:var(--s2);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-3);display:flex}.cb-promo-card button{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;width:56px;height:56px;padding:4px}.cb-promo-card button:hover{background:var(--accent-soft);border-color:var(--border-strong)}.cb-promo-card img{width:100%;height:100%}.chess-block{gap:var(--s4);margin-top:var(--s2);flex-wrap:wrap;display:flex}.chess-line{gap:var(--s3);outline:none;flex-direction:column;flex:220px;min-width:0;display:flex}.chess-line:focus-visible{box-shadow:0 0 0 2px var(--border-ink);border-radius:var(--r-sm)}.chess-steps{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.chess-count,.chess-status{color:var(--muted);font-size:var(--t-sm);margin:0}.chess-status{color:var(--text);font-weight:500}.chess-note{padding:var(--s3);border-radius:var(--r-md);background:var(--sunk);white-space:pre-wrap;margin:0}.move-list{font-size:var(--t-body);flex-wrap:wrap;align-items:baseline;gap:2px 4px;margin:0;line-height:1.7;display:flex}.ml-num{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:4px}.ml-num:first-child{margin-left:0}.ml-move{color:var(--text);font:inherit;white-space:nowrap;background:0 0;border:0;border-radius:6px;padding:0 6px}button.ml-move{cursor:pointer}button.ml-move:hover{background:var(--ink-a05)}.ml-move.on{background:var(--accent);color:var(--on-accent)}.ml-move.ok{background:var(--ok-soft);color:var(--ok);font-weight:600}.ml-move.bad{background:var(--bad-soft);color:var(--bad);font-weight:600;text-decoration:line-through}.ml-move.reply{color:var(--muted)}.chess-editor{gap:var(--s4);flex-wrap:wrap;align-items:flex-start;display:flex}.chess-editor>.cb{flex:0 400px}.chess-tools{gap:var(--s3);flex-direction:column;flex:260px;min-width:0;display:flex}.chess-tools .hint,.chess-tools .notice{margin:0}.cb-palette{grid-template-columns:repeat(7,minmax(0,44px));gap:4px;display:grid}.cb-palette>.cb-tool{aspect-ratio:1;width:100%;height:auto}.cb-palette>.cb-tool:nth-child(2){grid-area:2/1}.cb-tool{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;place-items:center;padding:4px;display:grid}.cb-tool img{width:100%;height:100%}.cb-tool:hover{border-color:var(--border-strong)}.cb-tool.on{background:var(--accent);border-color:var(--border-ink)}.cb-tones{gap:var(--s2);display:flex}.cb-tone{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);cursor:pointer;place-items:center;width:44px;height:44px;display:grid}.cb-tone span{border-radius:50%;width:22px;height:22px}.cb-tone.on{border:2px solid var(--border-ink)}.chess-alts{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.chess-alt{border-radius:var(--r-pill);background:var(--ok-soft);color:var(--ok);align-items:center;gap:2px;padding:2px 2px 2px 10px;font-weight:600;display:inline-flex}.field.mono{font-family:var(--mono);font-size:var(--t-sm)}.cb-credit{font-size:var(--t-micro);color:var(--faint)}.chess-tabs{place-self:flex-start start}.ml-fig{vertical-align:-.25em;width:1.2em;height:1.2em}.room-chess-setup{gap:var(--s3);padding:var(--s3);border-radius:var(--r-md);background:var(--sunk);flex-direction:column;display:flex}.chess-alts-list{gap:var(--s2);flex-direction:column;display:flex}.chess-alt-main{min-width:64px;font-weight:600}.board-attach{gap:var(--s3);padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;display:flex}.chess-diagram{margin-bottom:var(--s3)}.engine-panel{gap:var(--s2);flex-direction:column;display:flex}.engine-line{align-items:baseline;gap:var(--s2);flex-wrap:wrap;margin:0;display:flex}.engine-eval{border-radius:var(--r-sm);background:var(--text);min-width:52px;color:var(--surface);font-variant-numeric:tabular-nums;text-align:center;padding:2px 8px;font-weight:700}.engine-depth{color:var(--faint);font-size:var(--t-xs)}.engine-line .move-list{flex-basis:100%}.create-menu{position:relative}.create-menu-pop{top:calc(100% + var(--s2));width:max-content;min-width:240px;max-width:min(320px,100vw - 32px);padding:var(--s2);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-3);z-index:40;transform-origin:100% 0;animation:create-menu-in var(--d2) var(--ease);position:absolute;right:0}@keyframes create-menu-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}}.create-menu-item{align-items:center;gap:var(--s3);width:100%;padding:var(--s2);border-radius:var(--r-md);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.create-menu-item:hover,.create-menu-item:focus-visible{background:var(--sunk)}.create-menu-icon{background:var(--accent);width:36px;height:36px;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.create-menu-text{flex-direction:column;gap:2px;min-width:0;display:flex}.create-menu-text b{font-size:var(--t-body);font-weight:600}.create-menu-text small{color:var(--muted);font-size:var(--t-xs);line-height:1.35}@media (prefers-reduced-motion:reduce){.create-menu-pop{animation:none}}@media (width<=639px){.create-menu{flex:auto}.create-menu>.btn{width:100%}.create-menu-pop{width:auto;max-width:none;left:0}}@media (width>=640px){.create-menu-pop.from-left{transform-origin:0 0;left:0;right:auto}}.import-flow>.notice{margin:var(--s3) 0 0}.import-flow:focus{outline:none}.import-pick{align-items:center;gap:var(--s3);padding:var(--s6) var(--s4);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--sunk);text-align:center;transition:border-color var(--d1) var(--ease), background var(--d1) var(--ease);flex-direction:column;display:flex}.import-pick.drag{border-color:var(--border-ink);background:var(--accent-soft)}.import-pick-icon{background:var(--accent);width:48px;height:48px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.import-lead{max-width:36ch;color:var(--text-body);margin:0;font-size:15px;line-height:1.45}.import-pick-buttons{justify-content:center;gap:var(--s2);flex-wrap:wrap;width:100%;display:flex}.import-pick-buttons .btn{flex:0 auto}@media (pointer:coarse){.import-pick-buttons .btn{flex:180px}}.import-pick .hint{margin:0}.import-bar{height:6px;margin-top:var(--s2);border-radius:var(--r-pill);background:var(--sunk);overflow:hidden}.import-bar>span{border-radius:inherit;background:var(--accent-text);height:100%;transition:width var(--d2) var(--ease);display:block}.import-thumbs{align-items:center;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.import-thumbs img{object-fit:cover;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--sunk);width:44px;height:56px}.import-thumbs span{color:var(--muted);font-size:var(--t-sm);font-variant-numeric:tabular-nums}.import-options{gap:var(--s2);margin-top:var(--s4);display:grid}.import-option{align-items:center;gap:var(--s3);min-height:64px;padding:var(--s3) var(--s4);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--d1) var(--ease), background var(--d1) var(--ease);display:flex}.import-option:hover{border-color:var(--border-loud)}.import-option.on{border-color:var(--border-ink);background:var(--accent-soft);border-width:1.5px}.import-option:has(input:focus-visible){outline:3px solid var(--border-ink);outline-offset:2px}.import-option.off{border-color:var(--border);background:var(--sunk);cursor:not-allowed}.import-option.off .import-option-title,.import-option.off .import-option-icon{color:var(--muted)}.import-option-icon{background:var(--sunk);width:40px;height:40px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.import-option.on .import-option-icon{background:var(--accent)}.import-option.off .import-option-icon{background:var(--surface)}.import-option-text{flex-direction:column;gap:2px;min-width:0;display:flex}.import-option-title{font-weight:500}.import-option-hint{color:var(--muted);font-size:var(--t-xs);line-height:1.4}.import-failed{margin:var(--s1) 0 0;padding-left:1.1em}.import-failed li{overflow-wrap:anywhere}.app-dialog.tile-picker{overscroll-behavior:contain;width:min(760px,100vw - 32px);max-width:none;max-height:min(760px,100dvh - 48px);padding:0;overflow-y:auto}.tile-head{z-index:1;padding:var(--s5) var(--s6) var(--s3);background:var(--surface);position:sticky;top:0}.tile-head-row,.tile-step-head{align-items:center;gap:var(--s3);display:flex}.tile-head-row{justify-content:space-between}.tile-title{font-size:var(--t-h2);margin:0;font-weight:600}.tile-step-head .tile-title{min-width:0;font-size:var(--t-h3);flex:1}.tile-chips{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;display:flex}.tile-chip{min-height:var(--h-control-sm);border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font-size:var(--t-sm);cursor:pointer;transition:background var(--d1) var(--ease), border-color var(--d1) var(--ease), color var(--d1) var(--ease);padding:0 14px;font-weight:500}.tile-chip.on{background:var(--text);border-color:var(--text);color:var(--surface)}.tile-body{padding:0 var(--s6) var(--s6)}.tile-group+.tile-group{margin-top:var(--s5)}.tile-group-title{margin:0 0 var(--s2);color:var(--muted);font-size:var(--t-xs);letter-spacing:.01em;font-weight:600}.tile-grid{gap:var(--s3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.tile{align-self:stretch;align-items:flex-start;gap:var(--s2);min-width:0;min-height:140px;padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:border-color var(--d1) var(--ease), box-shadow var(--d1) var(--ease), transform var(--d1) var(--ease);flex-direction:column;display:flex}@media (hover:hover){.tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-1);transform:translateY(-1px)}.tile-chip:hover:not(.on){border-color:var(--text)}}.tile:focus-visible{outline:3px solid var(--border-ink);outline-offset:2px;border-radius:var(--r-lg)}.tile-ic{background:var(--accent);width:40px;height:40px;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.tile-name{margin-top:var(--s1);font-size:var(--t-sm);font-weight:600;line-height:var(--lh-head)}.tile-hint{color:var(--muted);font-size:var(--t-xs);line-height:1.4}.tile-meta{border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-size:var(--t-micro);margin-top:auto;padding:2px 8px;font-weight:500}.tile-others{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--border)}.tile-others>summary{align-items:center;gap:var(--s2);min-height:var(--h-control-sm);margin-left:calc(-1 * var(--s2));padding:0 var(--s2);border-radius:var(--r-md);color:var(--text);font-size:var(--t-sm);cursor:pointer;font-weight:600;list-style:none;display:inline-flex}.tile-others>summary::-webkit-details-marker{display:none}.tile-others>summary .ic{transition:transform var(--d2) var(--ease)}.tile-others[open]>summary{margin-bottom:var(--s3)}.tile-others[open]>summary .ic{transform:rotate(180deg)}@media (hover:hover){.tile-others>summary:hover{background:var(--sunk)}}.tile-step .ai-panel{border:0;margin:0;padding:0}.tile-step .ai-panel>.ex-head{display:none}@media (width>=601px){.tile-grid .tile{aspect-ratio:1;min-height:auto}}@media (width<=600px){.app-dialog.tile-picker{border-radius:var(--r-xl) var(--r-xl) 0 0;border:0;width:100%;max-height:88dvh;margin:auto 0 0}.tile-sheet:before{content:"";width:36px;height:4px;margin:var(--s2) auto 0;border-radius:var(--r-pill);background:var(--border-strong);display:block}.tile-head{padding:var(--s3) var(--s4)}.tile-body{padding:0 var(--s4) calc(var(--s5) + env(safe-area-inset-bottom,0px))}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.quick-tiles-wrap{align-items:center;gap:var(--s4);flex-direction:column;display:flex}.quick-tiles{gap:var(--s3);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.quick-tiles .tile{min-height:168px;padding:var(--s5)}.quick-tiles .tile-ic{width:48px;height:48px}.quick-tiles .tile-name{font-size:var(--t-body)}.quick-tiles .tile-hint{font-size:var(--t-sm)}@media (width<=480px){.quick-tiles{grid-template-columns:1fr}.quick-tiles .tile{align-items:center;column-gap:var(--s3);min-height:0;padding:var(--s4);grid-template-columns:auto minmax(0,1fr);row-gap:2px;display:grid}.quick-tiles .tile-ic{grid-row:span 2}.quick-tiles .tile-name{margin-top:0}.quick-tiles .tile-meta{grid-column:2;justify-self:start}}.block-card{scroll-margin-top:calc(var(--top-h) + var(--s4));scroll-margin-bottom:var(--s4)}.block-card.warning{box-shadow:inset 3px 0 0 var(--warn), var(--shadow-2)}.block-card.error{box-shadow:inset 3px 0 0 var(--bad), var(--shadow-2)}.block-card.expanded{border-color:var(--border-strong);box-shadow:var(--shadow-3)}.block-card.expanded.warning{box-shadow:inset 3px 0 0 var(--warn), var(--shadow-3)}.block-card.expanded.error{box-shadow:inset 3px 0 0 var(--bad), var(--shadow-3)}.block-head{align-items:center;gap:var(--s2);margin:calc(-1 * var(--s2)) 0 var(--s4);flex-wrap:wrap;display:flex}.block-head .icon.grip{margin-left:calc(-1 * var(--s2))}.block-head .block-kind{text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;min-width:0;overflow:hidden}.block-head .ex-flag,.block-head .points-label{flex:none}.block-head .ex-menu{flex:none;margin-left:0}.block-points{color:var(--muted);font-size:var(--t-xs);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.block-collapse{gap:var(--s1);flex:none}.block-collapse .ic{transform:rotate(180deg)}.block-card .ex-menu-list button:disabled{opacity:.45;cursor:default}.block-card .ex-menu-list button:disabled:hover{background:0 0}.block-body{border-radius:var(--r-md);outline-offset:var(--s2);cursor:pointer}@media (hover:hover){.block-body:hover{outline:1.5px solid var(--border-strong)}.block-body.is-blank:hover{outline:none}.block-body.is-blank:hover .block-blank{border-color:var(--border-loud);color:var(--text)}.is-dragging .block-body:hover{outline:none}}.block-body:focus-visible,.block-body.is-blank:focus-visible{outline:3px solid var(--border-ink);outline-offset:var(--s2);border-radius:var(--r-md)}.block-preview{pointer-events:none;-webkit-user-select:none;user-select:none}.block-preview *{pointer-events:none}.block-blank{min-height:72px;padding:var(--s4);border:1.5px dashed var(--border-strong);border-radius:var(--r-md);color:var(--muted);font-size:var(--t-sm);text-align:center;transition:border-color var(--d1) var(--ease), color var(--d1) var(--ease);place-items:center;display:grid}.block-summary{margin:var(--s4) 0 0;padding-top:var(--s3);border-top:1px dashed var(--border);color:var(--muted);font-size:var(--t-xs);white-space:nowrap;text-overflow:ellipsis;line-height:1.4;overflow:hidden}.block-summary.warn{color:var(--warn)}.block-studentsees{margin-top:var(--s5);padding:var(--s4);border-radius:var(--r-lg);background:var(--sunk)}.block-studentsees>.eyebrow{margin-bottom:var(--s3)}.block-studentsees .block-preview{padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}@media (width<=520px){.block-collapse{width:var(--h-control-sm);padding:0}.block-collapse-text{display:none}.block-card.expanded .block-head .ex-flag{padding:3px 6px}.block-card.expanded .block-flag-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.block-studentsees{padding:var(--s3)}.block-studentsees .block-preview{padding:var(--s4)}}.video-thumb{aspect-ratio:16/9;border-radius:var(--r-md);background:#000;width:100%;margin-top:8px;position:relative;overflow:hidden}.video-thumb img{object-fit:cover;width:100%;height:100%;display:block}.video-thumb-play{background:#1d2020c7;border-radius:50%;width:56px;height:56px;margin:auto;position:absolute;inset:0}.video-thumb-play:after{content:"";border:10px solid #0000;border-left:17px solid #fff;border-right-width:0;position:absolute;top:50%;left:50%;transform:translate(-35%,-50%)}.runner-card-action{align-items:center;gap:var(--s1);flex:none;margin-left:auto;display:inline-flex}.runner-card-action:empty{display:none}.card-read.has-card-action{display:flow-root}.runner-card-action.floating{float:right;z-index:1;margin:calc(-1 * var(--s2)) calc(-1 * var(--s2)) var(--s2) var(--s3);position:relative}.card-bare.has-card-action{position:relative}.card-bare>.runner-card-action.floating{top:50%;right:var(--s3);float:none;margin:0;position:absolute;transform:translateY(-50%)}.card-bare.has-card-action .banner{padding-right:calc(var(--s6) + var(--h-control-sm))}.is-dragging{-webkit-user-select:none;user-select:none}.lesson-view-head,.lesson-edit-head{justify-content:space-between;align-items:flex-start;gap:var(--s3) var(--s4);margin:var(--s2) 0 var(--s5);flex-wrap:wrap;display:flex}.lesson-view-text{flex:320px;min-width:0}.lesson-view-title{margin:0 0 var(--s2);color:var(--text);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(24px,3.2vw,32px);font-weight:600;line-height:1.15}.lesson-view-meta{align-items:center;gap:var(--s2);margin:0 0 var(--s2);color:var(--muted);font-size:var(--t-sm);flex-wrap:wrap;display:flex}.runner-edit{color:var(--muted)}@media (hover:hover){.runner-edit:hover{color:var(--text)}}.lesson-title-input{min-width:0;margin-left:calc(-1 * var(--s3));padding:var(--s2) var(--s3);border-radius:var(--r-md);color:var(--text);font:inherit;letter-spacing:-.02em;transition:border-color var(--d1) var(--ease), background var(--d1) var(--ease);background:0 0;border:1px solid #0000;flex:320px;font-size:clamp(22px,3vw,28px);font-weight:600;line-height:1.2}.lesson-title-input::placeholder{color:var(--faint)}@media (hover:hover){.lesson-title-input:hover{border-color:var(--border)}}.lesson-title-input:focus{border-color:var(--border-strong);background:var(--surface)}.lesson-edit-actions{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.save-status{color:var(--muted);font-size:var(--t-sm);align-items:center;gap:6px;display:inline-flex}.save-status.bad{color:var(--bad)}.save-status .linklike{margin-left:var(--s1)}.lesson-settings{margin-bottom:var(--s4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}.lesson-settings>summary{align-items:baseline;gap:var(--s1) var(--s3);padding:var(--s3) var(--s4);padding-right:calc(var(--s4) + 20px);border-radius:var(--r-lg);cursor:pointer;flex-wrap:wrap;list-style:none;display:flex;position:relative}.lesson-settings>summary::-webkit-details-marker{display:none}.lesson-settings>summary:after{content:"";right:var(--s4);border-right:1.9px solid var(--muted);border-bottom:1.9px solid var(--muted);width:8px;height:8px;transition:transform var(--d1) var(--ease);position:absolute;top:calc(50% - 6px);transform:rotate(45deg)}.lesson-settings[open]>summary:after{top:calc(50% - 2px);transform:rotate(-135deg)}.lesson-settings-title{color:var(--text);font-weight:600}.lesson-settings-sum{min-width:0;color:var(--muted);font-size:var(--t-sm)}.lesson-settings-body{gap:var(--s4);padding:0 var(--s4) var(--s4);display:grid}.lesson-settings-body .field{max-width:100%}.lesson-settings-body select.field{max-width:360px}.lesson-subject-other{margin-top:var(--s2)}.pagebar .page-menu{flex:none}.page-tab.fresh{box-shadow:0 0 0 3px var(--accent)}.insert-point{width:100%;height:28px;margin:calc(-1 * var(--s3)) 0 calc(-1 * var(--s1));color:var(--muted);cursor:pointer;opacity:0;transition:opacity var(--d1) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.insert-point:before{content:"";inset:50% var(--s4) auto;border-top:1.5px dashed var(--border-strong);position:absolute}.insert-point .ic{box-sizing:content-box;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);padding:3px;position:relative}.insert-point:focus-visible{opacity:1}@media (hover:hover){.insert-point:hover{opacity:1;color:var(--text)}}@media (hover:none){.insert-point{display:none}.block-card.expanded+.insert-point{opacity:1;display:flex}}.is-dragging .insert-point{visibility:hidden;pointer-events:none}@media (width<=860px){.block-card{scroll-margin-bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px) + var(--s4))}}.add-big{justify-content:center;align-items:center;gap:var(--s2);width:100%;min-height:56px;margin:var(--s2) 0 var(--s5);border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--d1) var(--ease), background var(--d1) var(--ease);background:0 0;font-weight:500;display:flex}@media (hover:hover){.add-big:hover{border-color:var(--border-ink);background:var(--accent-soft)}}@media (width<=639px){.lesson-edit-actions{justify-content:space-between;width:100%}.lesson-title-input{padding-left:var(--s2);margin-left:0}.pagebar .field.page-name{flex-basis:100%;order:3}.pagebar .page-menu{margin-left:auto}}.board-page-head{justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:var(--s2);display:flex}.board-page-kind{align-items:center;gap:var(--s2);color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px;display:inline-flex}.page-tab-board{align-self:center;display:inline-flex}.board-form-bar{justify-content:flex-end;align-items:center;gap:var(--s2) var(--s3);margin-bottom:var(--s2);flex-wrap:wrap;display:flex}.board-form-usage{align-items:center;gap:var(--s2);color:var(--muted);font-size:var(--t-sm);margin:0 auto 0 0;display:inline-flex}.board-form-usage.full{color:var(--bad)}.board-form-meter{border-radius:var(--r-pill);background:var(--sunk);width:72px;height:6px;overflow:hidden}.board-form-meter>span{background:var(--text);height:100%;display:block}.board-form-usage.full .board-form-meter>span{background:var(--bad)}.board-form-surface{border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;height:clamp(420px,72vh,860px);display:flex;position:relative}.board-form-surface .board-surface{border-radius:calc(var(--r-lg) - 1px)}.board-form-stage.is-full{z-index:100;padding:calc(var(--s3) + env(safe-area-inset-top,0px)) calc(var(--s3) + env(safe-area-inset-right,0px)) calc(var(--s3) + env(safe-area-inset-bottom,0px)) calc(var(--s3) + env(safe-area-inset-left,0px));background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.board-form-stage.is-full .board-form-surface{flex:1;height:auto;min-height:0}:root.board-form-locked{overflow:hidden}.board-form-preview{align-items:stretch;gap:var(--s3);flex-direction:column;display:flex}.board-form-preview>.btn{align-self:flex-start}@media (width>=481px){.quick-tiles:has(>.tile:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.quick-tiles:has(>.tile:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}.live-board{gap:var(--s3);height:clamp(360px,100dvh - 260px,1100px);margin-bottom:var(--s4);flex-direction:column;display:flex}.live-board-head{justify-content:space-between;align-items:flex-start;gap:var(--s3);flex-wrap:wrap;display:flex}.live-board-caption{flex:240px;min-width:0}.live-board-caption .prompt-block{margin-bottom:0}.live-board-stage{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.live-board-state{justify-content:center;align-items:center;gap:var(--s3);padding:var(--s4);text-align:center;flex-direction:column;flex:1;display:flex}.live-board-notice{top:var(--s3);z-index:5;max-width:calc(100% - 2 * var(--s4));width:max-content;position:absolute;left:50%;transform:translate(-50%)}@media (width<=860px){.live-board{height:max(260px,60dvh - 112px)}}.room.pip .live-board{height:clamp(320px,100dvh - 220px,1100px)}.board-toolbar>*{flex:none}@media (width>=861px){.board-toolbar{overscroll-behavior-y:contain;scrollbar-width:none;max-height:calc(100% - 24px);overflow-y:auto}}.board-wrap.board-still .board-surface{touch-action:manipulation;cursor:inherit}.card-board{padding:var(--s4);margin-bottom:var(--s4);border-radius:var(--r-xl);box-shadow:var(--shadow-2)}.card-board.has-card-action{display:flow-root}@media (width<=520px){.card-board{padding:var(--s2);border-radius:var(--r-lg)}.card-board .board-view>.prompt-block{padding:var(--s2) var(--s2) 0}}.board-view>.prompt-block{margin-bottom:var(--s3)}.board-view-box{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);position:relative}.board-view-pic{flex-direction:column;display:flex;position:absolute;inset:0}.board-view-box .board-surface{border-radius:calc(var(--r-lg) - 1px)}.board-view-box.is-tall:after{content:"";border-radius:0 0 calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px);background:linear-gradient(to bottom, transparent, var(--surface));pointer-events:none;height:min(96px,40%);position:absolute;inset:auto 0 0}.board-view-expand{right:var(--s3);bottom:var(--s3);z-index:1;box-shadow:var(--shadow-2);position:absolute}.block-preview .board-view-expand{display:none}.board-view-empty{min-height:120px;padding:var(--s5);border:1px dashed var(--border-strong);border-radius:var(--r-lg);color:var(--muted);text-align:center;place-items:center;display:grid}.board-view-skeleton{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--sunk);height:200px}.board-view-dialog{background:var(--surface);width:100%;max-width:none;height:100%;max-height:none;color:var(--text);border:0;margin:0;padding:0;inset:0;overflow:hidden}.board-view-dialog[open]{flex-direction:column;display:flex}.board-view-dialog::backdrop{background:#1d202073}:root:has(.board-view-dialog[open]){overflow:hidden}.board-view-dialog-head{align-items:center;gap:var(--s3);padding:calc(var(--s2) + env(safe-area-inset-top,0px)) calc(var(--s3) + env(safe-area-inset-right,0px)) var(--s2) calc(var(--s4) + env(safe-area-inset-left,0px));border-bottom:1px solid var(--border);display:flex}.board-view-dialog-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.board-view-dialog .board-toolbar{margin-bottom:env(safe-area-inset-bottom,0px)}.board-form-preview .board-view-expand{display:none}.video-sync-note{margin:var(--s2) 0 0;color:var(--muted);font-size:var(--t-xs);align-items:center;gap:6px;display:flex}.video-sync-note.warn{color:var(--warn);font-weight:500}.board-wrap{--board-ink:var(--text);--board-blue:#1f5fd6;--board-red:#d0342c;--board-green:var(--ok-bright);--board-orange:#e0620d;--board-purple:#7b3fd4;--board-yellow:#ffc800;--board-dot:#b9bdbd;--board-sel:#2f6fe4;--board-sel-fill:#2f6fe40f}.board-hl{mix-blend-mode:multiply}.board-ring{display:none}.board-surface.tool-hl,.board-surface.tool-shape,.board-surface.tool-lasso,.board-surface.tool-erasePart{cursor:crosshair}.board-surface.over-sel{cursor:move}.board-toolbar{gap:2px;padding:6px}.board-toolbar .call-btn{background:0 0;border-color:#0000;border-radius:10px;width:38px;height:38px}@media (pointer:coarse){.board-toolbar .call-btn{width:44px;height:44px}}.board-tool-sep{background:var(--border);flex:none;align-self:center;width:22px;height:1px;margin:4px 0}@media (width<=860px){.board-toolbar .board-tool-sep{width:1px;height:22px;margin:0 4px}}.board-size-dot{border-radius:50%;flex:none;display:block}.board-size-dot.is-hl{opacity:.6}.board-swatch{border-radius:50%;flex:none;width:20px;height:20px;display:block;box-shadow:inset 0 0 0 1px #00000024}.board-pop,.board-sel-menu{z-index:6;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);max-width:calc(100% - 16px);box-shadow:var(--shadow-3);flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:flex;position:absolute;top:0;left:0}.board-sel-menu .board-tool-sep{width:1px;height:22px;margin:0 2px}.board-sel-menu .board-pop-btn{width:32px;height:32px}.board-sel-menu .board-swatch{width:18px;height:18px}.board-pop-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}@media (hover:hover){.board-pop-btn:hover{background:var(--sunk)}}.board-pop-btn[aria-pressed=true]{background:var(--sunk);box-shadow:inset 0 0 0 1.5px var(--text)}.board-pop-btn.is-danger{color:var(--bad)}.board-zoom{z-index:4;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-3);align-items:center;gap:2px;padding:4px;display:flex;position:absolute;bottom:16px;right:16px}.board-zoom-btn{border-radius:var(--r-sm);min-width:34px;height:34px;color:var(--text);font:inherit;font-size:var(--t-xs);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;place-items:center;padding:0 4px;font-weight:500;display:grid}.board-zoom-pct{min-width:52px}.board-zoom-btn:disabled{color:var(--muted);opacity:.5;cursor:default}@media (hover:hover){.board-zoom-btn:not(:disabled):hover{background:var(--sunk)}}.board-pop-btn:focus-visible,.board-zoom-btn:focus-visible{outline:2px solid var(--text);outline-offset:1px}@media (width<=860px){.board-zoom{top:12px;bottom:auto;right:12px}.board-zoom-btn{min-width:36px;height:36px}}.field[aria-invalid=true]{border-color:var(--bad)}.pf-social-err{margin-top:var(--s1);padding-left:calc(20px + var(--s2))}.st-add-choice{gap:var(--s3);margin-bottom:var(--s4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.st-add-door{column-gap:var(--s2);padding:var(--s3) var(--s4);text-align:left;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--d1) var(--ease), background var(--d1) var(--ease);grid-template-columns:auto 1fr;align-items:center;row-gap:2px;display:grid}.st-add-door:hover{border-color:var(--border-ink)}.st-add-door.on{border-color:var(--border-ink);background:var(--accent-tint);box-shadow:inset 0 0 0 1px var(--border-ink)}.st-add-door b{font-weight:600}.st-add-door span{color:var(--muted);font-size:var(--t-sm);grid-column:2;line-height:1.4}.st-archived{opacity:.75}.st-table{column-gap:var(--s4);margin-top:var(--s5);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);grid-template-columns:minmax(0,1fr) auto auto;display:grid}.st-head,.st-rows,.st-row{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.st-head,.st-row{align-items:center;padding:12px 20px}.st-head{border-radius:calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px) 0 0;background:var(--sunk);color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;padding-block:10px;font-size:12px;font-weight:500}.st-rows{margin:0;padding:0;list-style:none}.st-cell-place{justify-self:start}.st-row{border-top:1px solid var(--border);transition:background var(--d1) var(--ease)}.st-row:hover{background:var(--ink-a05)}.st-row:last-child{border-radius:0 0 calc(var(--r-lg) - 1px) calc(var(--r-lg) - 1px)}.st-cell-who{align-items:center;gap:12px;min-width:0;display:flex}.st-cell-who>div{min-width:0}.st-cell-who .score{margin:2px 0 0}.st-cell-tools{justify-content:flex-end;align-items:center;gap:var(--s2);display:flex}.st-cell-tools .ex-menu{margin-left:0}.st-cell-tools .ex-menu-list{min-width:250px}.st-cell-tools .ex-menu-list button{white-space:nowrap}.st-cell-tools .ex-menu>summary.icon{color:var(--text);background:0 0;border-color:#0000}.st-cell-tools .ex-menu>summary.icon:hover,.st-cell-tools .ex-menu[open]>summary.icon{background:var(--sunk)}.ask-review{align-items:center;gap:var(--s2);flex-wrap:wrap;display:inline-flex}@media (width<=719px){.st-table,.st-rows{display:block}.st-head{display:none}.st-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px 16px}.st-cell-place{padding-left:24px}.st-cell-tools{justify-content:flex-start;padding-left:24px}}.who-row .pill{align-self:center;margin-left:auto}.sc-form{gap:var(--s3);display:grid}.sc-form .text-link{justify-self:start}.sc-facts{gap:var(--s2);margin:0;display:grid}.sc-facts>div{gap:var(--s3);grid-template-columns:minmax(110px,30%) 1fr;align-items:baseline;display:grid}.sc-facts dt{color:var(--muted);font-size:var(--t-sm)}.sc-facts dd{align-items:center;gap:var(--s2);overflow-wrap:anywhere;flex-wrap:wrap;min-width:0;margin:0;display:flex}@media (width<=520px){.sc-facts>div{grid-template-columns:1fr;gap:2px}}.sc-lessons{margin:0 0 var(--s3);padding:0;list-style:none}.sc-lessons li{align-items:center;gap:var(--s2) var(--s3);padding:var(--s2) 0;border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.sc-lessons li:first-child{border-top:none}.sc-lessons li>:first-child{font-variant-numeric:tabular-nums;min-width:9.5em}.sc-lessons .btn{margin-left:auto}.sc-lessons.past li>:first-child{color:var(--muted)}.sc-note-form textarea{resize:vertical;width:100%;max-width:none}.sc-note-form .actions{margin-top:var(--s2)}.sc-notes{margin:var(--s3) 0 0;padding:0;list-style:none}.sc-notes li{padding:var(--s3) 0;border-top:1px solid var(--border)}.sc-notes textarea{width:100%;max-width:none}.sc-note-when{color:var(--muted);font-size:var(--t-xs);margin:0 0 2px}.sc-note-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.sc-note-tools{gap:var(--s3);margin-top:var(--s1);font-size:var(--t-sm);display:flex}.sc-archive{align-items:center;gap:var(--s2) var(--s3);margin:var(--s2) 0 var(--s6);flex-wrap:wrap;display:flex}.field-row.top{align-items:flex-start}.field-row.top>.label{line-height:var(--h-control)}.cal-student{gap:var(--s2);flex:1;min-width:0;display:grid}.cal-student>.text-link{justify-self:start}.cal-student>.seg{justify-self:start;max-width:100%}.cal-student>.field{width:100%;min-width:0;max-width:none}@media (width<=520px){.field-row.top{align-items:stretch}.field-row.top>.label{line-height:inherit}}.cal-where{align-items:flex-start;gap:var(--s2);margin:0 0 var(--s3);overflow-wrap:anywhere;display:flex}.cal-where .ic{color:var(--muted);flex:none;margin-top:2px}.cal-note textarea{resize:vertical;width:100%;max-width:none}.cal-note-row{align-items:center;gap:var(--s2) var(--s3);margin:var(--s2) 0 var(--s3);flex-wrap:wrap;display:flex}.cal-note-row .text-link{margin-left:auto}.ev-place{vertical-align:-1px;opacity:.7;margin-right:3px}.home-next-where{align-items:center;gap:var(--s1);margin:var(--s1) 0 0;color:var(--muted);overflow-wrap:anywhere;display:flex}.text-link{border:none;border-bottom:1px solid var(--border-strong);color:var(--text);font:inherit;cursor:pointer;transition:border-color var(--d2) var(--ease);background:0 0;border-radius:0;align-items:center;gap:6px;margin:0;padding:0 0 2px;font-weight:500;text-decoration:none;display:inline-flex}.text-link:hover{border-color:var(--text)}.text-link:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.cal-when{align-items:center;gap:var(--s2) var(--s3);margin:0 0 var(--s4);flex-wrap:wrap;font-weight:500;display:flex}.cal-when .ic{color:var(--muted)}.cal-when .btn{margin-left:auto}.cal-status{margin:0 0 var(--s4)}.cal-status .fld-label{margin-bottom:var(--s2);display:block}.cal-status .profile-chips{gap:var(--s2)}.cal-edit-actions{align-items:center}.cal-delete{margin-left:auto}.text-link.danger{color:var(--bad);border-color:var(--bad-line,var(--bad))}.text-link.danger:hover{border-color:var(--bad)}.app-layout:before,.student-shell:before{content:"";z-index:-1;background-image:var(--dot);background-size:var(--dot-size);pointer-events:none;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000 35%,#0000 90%);mask-image:linear-gradient(#000 35%,#0000 90%)}.app-layout{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:100vh;display:grid}.sidebar{display:none}.app-topbar{z-index:40;align-items:center;gap:var(--s2);height:var(--top-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#ffffffd9;padding:0 12px;display:flex;position:sticky;top:0}.app-topbar-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:15px;font-weight:600;overflow:hidden}.brand{align-items:center;gap:var(--s2);color:var(--text);letter-spacing:-.01em;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.brand-mark{background:url(/favicon.svg) 50%/contain no-repeat;flex:none;width:22px;height:22px}.app-topbar .brand{padding:0;font-size:0}.app-topbar .brand-mark{width:24px;height:24px}.app-main{width:100%;padding:var(--s4) var(--s4) calc(var(--tabs-h) + var(--s6) + env(safe-area-inset-bottom,0px))}.app-tabs{z-index:40;padding:0 4px env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--border);background:#ffffffeb;display:flex;position:fixed;inset:auto 0 0}.app-tab{min-width:0;height:var(--tabs-h);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:0 2px;font-size:11px;font-weight:500;line-height:14px;text-decoration:none;display:flex}.app-tab>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.app-tab-ic{border-radius:var(--r-pill);width:48px;height:28px;transition:background var(--d2) var(--ease);place-items:center;display:grid;position:relative}.app-tab.on{color:var(--text);font-weight:600}.app-tab.on .app-tab-ic{background:var(--accent)}.app-tab-badge{border-radius:var(--r-pill);background:var(--bad);color:#fff;text-align:center;min-width:17px;height:17px;padding:0 4px;font-size:11px;font-weight:600;line-height:17px;position:absolute;top:-2px;right:4px}.app-sheet{width:100%;max-width:none;max-height:calc(100dvh - 24px);padding:var(--s2) var(--s3) calc(var(--s4) + env(safe-area-inset-bottom,0px));border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface);color:var(--text);box-shadow:var(--shadow-4);border:0;margin:0;position:fixed;inset:auto 0 0;overflow-y:auto}.app-sheet::backdrop{background:#1d202073}.sheet-grab{border-radius:var(--r-pill);background:var(--border-strong);width:36px;height:4px;margin:4px auto 12px;position:sticky;top:0}.sheet-item{border-radius:var(--r-md);min-height:48px;color:var(--text);font-size:var(--t-body);align-items:center;gap:12px;padding:0 12px;font-weight:500;text-decoration:none;display:flex}.sheet-item.on{background:var(--sunk);font-weight:600}.sheet-item .pill{margin-left:auto}@media (width<=860px){.app-main .savebar,.app-main .runbar{bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px))}}@media (width<=400px){.app-main{padding-left:12px;padding-right:12px}}@media (width>=861px){.app-topbar,.app-tabs{display:none}.app-layout{grid-template-columns:var(--rail-w) minmax(0, 1fr);grid-template-rows:minmax(0,1fr)}.sidebar{height:100vh;padding:var(--s4) var(--s3) var(--s3);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:2px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .brand{padding:6px 10px 18px}.nav-group{color:var(--text);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin:14px 12px 6px;font-size:11px;font-weight:500;display:block}.nav-list>div:first-child .nav-group{margin-top:2px}.nav-item{border-radius:var(--r-md);min-height:40px;color:var(--text);transition:background var(--d1) var(--ease), color var(--d1) var(--ease);align-items:center;gap:10px;padding:8px 12px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-item:hover{background:var(--sunk);color:var(--text)}.nav-item.on{background:var(--sunk);color:var(--text);font-weight:600}.nav-item .ic{color:var(--text);flex:none}.nav-item.on .ic{color:var(--text)}.nav-count,.nav-dot{flex:none;margin-left:auto}.nav-dot{border-radius:var(--r-pill);background:var(--warn);width:7px;height:7px}.sidebar-foot{gap:var(--s2);padding-top:var(--s3);margin-top:auto;display:grid}.rail-progress{border:1px solid var(--border);border-radius:var(--r-lg);color:inherit;font-size:var(--t-xs);gap:2px;padding:10px 12px;text-decoration:none;display:grid}.rail-progress b{font-size:var(--t-sm);font-weight:600}.rail-progress span{color:var(--muted)}.rail-progress:hover{border-color:var(--border-strong)}.app-main{max-width:1040px;padding:var(--s7) var(--s7) var(--s10)}.app-main.wide{max-width:none}.page-narrow{max-width:760px}}@media (width>=861px) and (width<=1023px){.app-main{padding:var(--s6) var(--s6) var(--s10)}}.acct-pop-who{gap:2px;padding:6px 8px 10px;display:grid}.acct-pop-who b{font-size:var(--t-sm);font-weight:600}.acct-pop-who small{color:var(--muted);font-size:var(--t-micro);overflow-wrap:anywhere}.app-topbar .acct-trigger{background:0 0;border-color:#0000;padding:4px}.app-topbar .acct-who{display:none}.app-topbar .acct-pop{top:calc(100% + var(--s2));transform-origin:100% 0;min-width:240px;animation-name:acct-in-down;bottom:auto;left:auto;right:0}@keyframes acct-in-down{0%{opacity:0;transform:translateY(-6px)scale(.97)}}.masthead-brand{align-items:center;gap:var(--s2);letter-spacing:-.01em;margin:0;padding:0;font-size:20px;font-weight:600;display:inline-flex}.student-shell.immersive .stabs{display:none}@media (width<=860px){.student-shell.immersive main{padding-bottom:var(--s10)}}@media (prefers-reduced-motion:reduce){.app-tab-ic,.nav-item,.btn,.field,.icon,.tab{transition:none}.app-topbar .acct-pop{animation:none}}.app-bare{min-height:100vh}.join.onb{padding:var(--s6) var(--s4) var(--s10);align-content:start;place-items:start center}.join-card.onb{max-width:560px;padding:var(--s7);text-align:left;border:1px solid var(--border);box-shadow:var(--shadow-4)}.join-card.onb .join-title{margin:0 0 var(--s2);font-size:clamp(28px,4vw,36px);line-height:1.1}.join-card.onb .join-sub{margin-bottom:var(--s5);font-size:var(--t-lead)}.onb-head{justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s6);display:flex}.onb-steps{margin:0 0 var(--s3);gap:6px;padding:0;list-style:none;display:flex}.onb-steps li{border-radius:var(--r-pill);background:var(--sunk);flex:1;height:4px}.onb-steps li.done{background:var(--text)}.onb-foot{justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s6);flex-wrap:wrap;display:flex}.onb-slug{align-items:center;gap:var(--s2);margin:var(--s2) 0 var(--s4);color:var(--muted);font-size:var(--t-sm);overflow-wrap:anywhere;flex-wrap:wrap;display:flex}.onb-photo{align-items:center;gap:var(--s4);margin-top:var(--s4);display:flex}.onb-presets{gap:var(--s2);margin-bottom:var(--s4);display:grid}.onb-preset{align-items:center;gap:var(--s3);min-height:var(--h-control);padding:0 var(--s4);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color var(--d1) var(--ease), background var(--d1) var(--ease);font-size:15px;display:flex}.onb-preset:hover{border-color:var(--border-loud)}.onb-preset.on{border-color:var(--border-ink);background:var(--accent-soft);border-width:1.5px;font-weight:500}.join-card.onb .surface{margin-top:var(--s5)}@media (width<=639px){.join.onb{padding:var(--s4) var(--s3) var(--s9)}.join-card.onb{padding:var(--s5) var(--s4);border-radius:var(--r-lg)}.onb-foot>.btn{flex:auto}}.shell-banner{margin-bottom:var(--s5);align-items:center}.shell-banner .notice-action .btn{white-space:nowrap}@media (width<=639px){.shell-banner{flex-wrap:wrap}.shell-banner .notice-action{width:100%;margin-left:0;padding-left:28px}}.savebar{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;flex-wrap:wrap;align-items:center}@media (width<=860px){.savebar{bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px))}}.msgr{z-index:45;background:var(--surface);border-left:1px solid var(--border);width:min(400px,100vw);box-shadow:var(--shadow-4);animation:msgr-in var(--d2) var(--ease);outline:none;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes msgr-in{0%{opacity:0;transform:translate(24px)}}@media (width<=860px){.msgr{z-index:60;width:100vw;padding-top:env(safe-area-inset-top,0px);box-shadow:none;animation-duration:var(--d3);border-left:0}:root:has(.msgr){overflow:hidden}}.msgr-head{align-items:center;gap:var(--s2);border-bottom:1px solid var(--border);min-height:56px;padding:8px 10px 8px 12px;display:flex}.msgr-title{letter-spacing:-.01em;flex:1;margin:0;font-size:18px;font-weight:600}.msgr-head-text{flex-direction:column;flex:1;min-width:0;display:flex}.msgr-head-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:15px;font-weight:600;display:flex;overflow:hidden}button.msgr-head-link{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:15px;font-weight:600}button.msgr-head-link:hover{text-decoration:underline}.msgr-head-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.msgr-back{margin-left:-4px}.msgr-body{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.msgr-center{padding:var(--s5);text-align:center;place-items:center;display:grid}.msgr-list{padding:4px 0 12px}.msgr-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:10px 14px;display:flex}.msgr-row:hover{background:var(--sunk)}.msgr-row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.msgr-row-top,.msgr-row-bottom{align-items:center;gap:8px;min-width:0;display:flex}.msgr-row-name{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:4px;min-width:0;font-size:15px;font-weight:600;display:flex;overflow:hidden}.msgr-row-time{color:var(--faint);flex:none;font-size:12px}.msgr-row-preview{min-width:0;color:var(--muted);flex:1;align-items:center;gap:4px;font-size:14px;display:flex}.msgr-row-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.msgr-row-muted{color:var(--faint);flex:none}.msgr-count{flex:none;min-height:20px;padding:0 7px;font-size:12px;line-height:18px}.msgr-count.muted{background:var(--sunk);color:var(--muted)}.msgr-rule{background:var(--border);height:1px;margin:4px 14px}.msgr-empty{padding:var(--s4) var(--s5);text-align:center;margin:0}.msgr-verified{color:var(--verified-badge);flex:none;display:inline-flex}.msgr-ava{object-fit:cover;border-radius:50%;flex:none;place-items:center;display:inline-grid}.msgr-ava-initials{background:var(--accent);color:var(--text);letter-spacing:-.02em;text-transform:uppercase;font-weight:600}.msgr-ava-help{background:var(--sunk);color:var(--text)}.msgr-ava-brand{background:var(--accent);border:1px solid var(--accent-deep)}.msgr-menu{position:relative}.msgr-menu-pop{z-index:2;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);min-width:210px;box-shadow:var(--shadow-3);flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.msgr-menu-pop button{border-radius:var(--r-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:9px 10px;font-size:14px;display:flex}.msgr-menu-pop button:hover{background:var(--sunk)}.msgr-menu-pop button.bad{color:var(--bad)}.msgr-note{background:var(--ok-soft);color:var(--ok);margin:0;padding:8px 14px;font-size:14px}.msgr-foot{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;font-size:14px;display:flex}.linkish{color:var(--text);font:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.msg-thread{flex-direction:column;padding:10px 12px 8px;display:flex}.msg-day{justify-content:center;margin:10px 0 6px;display:flex}.msg-day span{border-radius:var(--r-pill);background:var(--sunk);color:var(--muted);padding:2px 10px;font-size:12px}.msg-divider{color:var(--accent-text);align-items:center;gap:8px;margin:8px 0;font-size:12px;font-weight:600;display:flex}.msg-divider:before,.msg-divider:after{content:"";background:var(--accent-deep);flex:1;height:1px}.msg-row{flex-direction:column;margin:2px 0;display:flex}.msg-row.me{align-items:flex-end}.msg-row.them{align-items:flex-start}.msg-bubble{border:1px solid #0000;border-radius:16px;flex-direction:column;gap:4px;max-width:84%;padding:7px 10px 5px 12px;font-size:15px;line-height:1.4;display:flex}.msg-row.them .msg-bubble{background:var(--sunk);border-bottom-left-radius:4px}.msg-row.me .msg-bubble{background:var(--accent);border-color:var(--accent-deep);color:var(--on-accent);border-bottom-right-radius:4px}.msg-row.me .msg-bubble.failed{background:var(--bad-soft);border-color:var(--bad-line)}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere}.msg-text a{color:inherit;text-underline-offset:2px;text-decoration:underline}.msg-ref{color:var(--text-2,var(--muted));margin-bottom:2px;font-size:12px;font-weight:600;display:block}.msg-who{color:var(--muted);font-size:12px;font-weight:700}.msg-meta{color:var(--muted);align-self:flex-end;align-items:center;gap:3px;font-size:11px;line-height:1;display:inline-flex}.msg-row.me .msg-meta{color:#1d20209e}.msg-tick{display:inline-flex}.msg-tick.read,.msg-row.me .msg-tick.read{color:var(--verified)}.msg-tick.failed{color:var(--bad)}.msg-cta{white-space:normal;text-align:center;width:100%;margin-top:4px}.msg-row.me .msg-cta{background:var(--surface)}.msg-failed{color:var(--bad);margin:3px 4px 0;font-size:12px}.msg-more{flex:none;height:24px}.msg-lead{background:var(--sunk,#f2f4f1);border-radius:14px;gap:8px;margin:8px 12px 0;padding:12px 14px;font-size:14px;display:grid}.msg-lead p{color:var(--muted);margin:0}.msg-lead-actions{flex-wrap:wrap;gap:8px;display:flex}.msg-locked{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);align-items:center;gap:12px;font-size:14px;display:flex}.msg-locked p{color:var(--muted);flex:1;margin:0}.msg-compose{padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface)}.msg-compose-row{align-items:flex-end;gap:8px;display:flex}.msg-input{border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);min-height:42px;max-height:150px;color:var(--text);font:inherit;resize:none;flex:1;padding:9px 12px;font-size:16px;line-height:1.35}.msg-send{border:1px solid var(--accent-deep);background:var(--accent);width:42px;height:42px;color:var(--on-accent);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.msg-send:disabled{opacity:.45;cursor:default}.msg-count{color:var(--muted);text-align:right;margin:4px 2px 0;font-size:12px}.msg-count.bad,.hint.bad{color:var(--bad)}.msg-compose-button{gap:6px;margin-bottom:8px;display:grid}.msg-compose-preview{border-radius:var(--r-md);background:var(--sunk);padding:6px}.msg-compose .btn.on{background:var(--accent-soft);border-color:var(--accent-deep)}.msgr-toast-slot{z-index:46;pointer-events:none;position:fixed;bottom:16px;right:16px}.msgr-toast{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);width:100%;max-width:360px;box-shadow:var(--shadow-4);color:var(--text);font:inherit;text-align:left;cursor:pointer;pointer-events:auto;animation:msgr-toast-in var(--d2) var(--ease);align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.msgr-toast-text{flex-direction:column;min-width:0;display:flex}.msgr-toast-text span{color:var(--muted);white-space:pre-wrap;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}@keyframes msgr-toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=860px){.msgr-toast-slot{left:12px;right:12px;bottom:calc(var(--tabs-h) + 10px + env(safe-area-inset-bottom,0px))}}.nav-item.nav-button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.nav-item.nav-button:hover,.nav-item.nav-button.on{background:var(--sunk);color:var(--text)}.nav-item.nav-button.on{font-weight:600}.nav-item.nav-button.on .ic{color:var(--text)}.app-topbar-msgs{position:relative}.app-topbar-msgs .app-tab-badge{top:2px;right:0}.stab.stab-button{cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;font-family:inherit}.am .adm-chips{margin-bottom:var(--s4)}.am-desk{gap:var(--s4);grid-template-columns:minmax(240px,340px) minmax(0,1fr);min-height:520px;display:grid}.am-list{border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;max-height:70vh;display:flex;overflow:hidden auto}.am-row.on{background:var(--sunk)}.am-kind{color:var(--faint);font-size:12px}.am-thread{min-width:0;display:flex}.am-conv{border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;flex:1;min-width:0;height:70vh;display:flex;overflow:hidden}.am-pick{margin:auto}.am-broadcast{gap:var(--s5);grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;display:grid}.am-form{gap:var(--s3);display:grid}.am-audience{gap:var(--s4);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.am-audience legend{margin-bottom:6px;font-weight:600}.am-field{gap:4px;display:grid}.am-field>span{font-size:14px;font-weight:500}.am-more summary{cursor:pointer;font-size:14px}.am-more .am-field{margin-top:var(--s2)}.am-button{gap:var(--s2);display:grid}.am-grid2{gap:var(--s2);grid-template-columns:1fr 1fr;display:grid}.am-phone{border:1px solid var(--border);border-radius:var(--r-xl);background:var(--surface);overflow:hidden}.am-history{gap:var(--s3);grid-column:1/-1;display:grid}.am-history h3{margin:var(--s4) 0 0}.am-post{padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-lg)}.am-post-head{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.am-post-head .btn{margin-left:auto}.am-post-body{white-space:pre-wrap;margin:6px 0 0}@media (width<=860px){.am-desk,.am-broadcast{grid-template-columns:minmax(0,1fr)}.am-conv{height:75vh}}.am-content{gap:12px;margin-bottom:16px;display:grid}.am-report{border:1px solid var(--border);border-radius:12px;gap:8px;padding:12px 14px;display:grid}.am-report p{margin:0}.am-report blockquote{border-left:3px solid var(--border);color:var(--muted);margin:0;padding-left:10px}
