:root{--color-primary-50:#eef1ff;--color-primary-100:#dde2ff;--color-primary-200:#c0c8ff;--color-primary-300:#99a4ff;--color-primary-400:#7079f8;--color-primary-500:#5b54ec;--color-primary-600:#4c3fd6;--color-primary-700:#4133b3;--color-primary-800:#362d90;--color-primary-900:#2f2b73;--brand-mark-background:var(--color-primary-600);--brand-mark-foreground:var(--color-surface);--brand-mark-shadow:color-mix(in srgb,var(--brand-mark-background) 24%,transparent);--brand-mark-focus:var(--color-primary-300);--color-accent-50:#fff4ed;--color-accent-100:#ffe6d4;--color-accent-300:#ffb27a;--color-accent-500:#ff7a3d;--color-accent-600:#f15f1f;--color-accent-700:#c84a15;--color-teal-50:#e8fbf6;--color-teal-300:#6fe3c8;--color-teal-500:#16b896;--color-teal-600:#0f9a7e;--gradient-ai:linear-gradient(135deg,#6a5cf0,#9b6df5 50%,#c66ff0);--gradient-hero:linear-gradient(160deg,#eef1ff,#f6f4ff 45%,#fff4ed);--gradient-primary:linear-gradient(135deg,#5b54ec,#7079f8);--gradient-accent:linear-gradient(135deg,#ff7a3d,#f15f1f);--gradient-soft:linear-gradient(180deg,#fff,#f7f8fc);--color-ink:#1a1c2e;--color-ink-soft:#3d4159;--color-text:#4a4d63;--color-text-mute:#6b7280;--color-text-faint:#aeb1c4;--color-line:#e9eaf2;--color-line-soft:#f1f2f8;--color-bg:#f7f8fc;--color-bg-warm:#fbfaf7;--color-surface:#fff;--color-surface-2:#f9fafe;--color-success:#16b896;--color-success-bg:#e8fbf6;--color-warning:#f5a623;--color-warning-bg:#fff5e3;--color-danger:#ef4d6a;--color-danger-bg:#ffecef;--color-info:#5b54ec;--color-info-bg:#eef1ff;--color-ai:#9b6df5;--color-ai-bg:#f3eefe;--font-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Helvetica Neue","Segoe UI",Roboto,sans-serif;--fs-display:44px;--fs-h1:32px;--fs-h2:24px;--fs-h3:19px;--fs-lg:17px;--fs-md:15px;--fs-sm:13px;--fs-xs:12px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh-normal:1.5;--lh-loose:1.7;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(26,28,46,.05);--shadow-sm:0 2px 8px rgba(26,28,46,.06);--shadow-md:0 6px 20px rgba(26,28,46,.08);--shadow-lg:0 14px 40px rgba(26,28,46,.12);--shadow-primary:0 8px 24px rgba(91,84,236,.28);--shadow-accent:0 8px 24px rgba(255,122,61,.28);--container:1200px;--container-narrow:960px;--nav-h:68px;--mobile-nav-h:54px;--mobile-tab-h:64px;--z-nav:100;--z-sticky:90;--z-drawer:200;--z-modal:300;--z-toast:400;--ease:cubic-bezier(.22,.61,.36,1);--ease-out:cubic-bezier(.16,1,.3,1);--dur-fast:.15s;--dur:.25s;--dur-slow:.4s}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-normal);text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;font-family:inherit}img{display:block;max-width:100%}ol,ul{list-style:none}input,select,textarea{font-family:inherit}::-moz-selection{background:var(--color-primary-200)}::selection{background:var(--color-primary-200)}.container{margin:0 auto;max-width:var(--container);padding:0 24px}.container-narrow{margin:0 auto;max-width:var(--container-narrow);padding:0 24px}.section{padding:var(--sp-20) 0}.section-sm{padding:var(--sp-12) 0}.section-tint{background:var(--color-surface)}.section-grad{background:var(--gradient-hero)}.stack{display:flex;flex-direction:column}.row,.row-between{align-items:center;display:flex}.row-between{justify-content:space-between}.wrap{flex-wrap:wrap}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.flex-1{flex:1}.eyebrow{color:var(--color-primary-500);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase}.h-display{font-size:var(--fs-display)}.h-display,.h1{color:var(--color-ink);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.h1{font-size:var(--fs-h1)}.h2{font-size:var(--fs-h2);font-weight:var(--fw-bold);line-height:var(--lh-tight)}.h2,.h3{color:var(--color-ink)}.h3{font-size:var(--fs-h3);font-weight:var(--fw-semibold)}.lead{color:var(--color-text);font-size:var(--fs-lg);line-height:var(--lh-loose)}.muted{color:var(--color-text-mute)}.faint{color:var(--color-text-faint)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.text-grad{background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent}.section-head{margin:0 auto var(--sp-10);max-width:640px;text-align:center}.section-head .h2{margin-top:8px}.section-head p{color:var(--color-text-mute);margin-top:10px}.card-head-sm{margin-bottom:var(--sp-2)}.card-head{margin-bottom:var(--sp-3)}.card-head-lg{margin-bottom:var(--sp-4)}.btn{align-items:center;border:1.5px solid transparent;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--fs-md);font-weight:var(--fw-semibold);gap:8px;justify-content:center;padding:12px 24px;transition:all var(--dur) var(--ease);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--gradient-primary);box-shadow:var(--shadow-primary);color:#fff}.btn-primary:hover{box-shadow:0 12px 30px #5b54ec5c;filter:brightness(1.06)}.btn-accent{background:var(--gradient-accent);box-shadow:var(--shadow-accent);color:#fff}.btn-accent:hover{filter:brightness(1.06)}.btn-ghost{background:var(--color-surface);border-color:var(--color-line);color:var(--color-ink)}.btn-ghost:hover{border-color:var(--color-primary-300)}.btn-ghost:hover,.btn-soft{color:var(--color-primary-600)}.btn-soft{background:var(--color-primary-50)}.btn-soft:hover{background:var(--color-primary-100)}.btn-ai{background:var(--gradient-ai);color:#fff}.btn-lg{font-size:var(--fs-lg);padding:15px 32px}.btn-sm{font-size:var(--fs-sm);padding:8px 16px}.btn-block{width:100%}.btn.is-disabled,.btn:disabled{cursor:not-allowed;opacity:.45;pointer-events:none}.btn.is-loading{color:transparent;pointer-events:none;position:relative}.btn.is-loading:after{animation:spin .6s linear infinite;border:2px solid hsla(0,0%,100%,.4);border-radius:50%;border-top-color:#fff;content:"";height:16px;position:absolute;width:16px}.btn-ghost.is-loading:after{border-color:#5b54ec4d;border-top-color:var(--color-primary-500)}@keyframes spin{to{transform:rotate(1turn)}}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:var(--sp-6)}.card-hover{cursor:pointer;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.tutor-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden}.tutor-card-top{display:flex;gap:14px;padding:20px}.tutor-card-meta{color:var(--color-text-mute);display:flex;font-size:var(--fs-sm);gap:16px;padding:0 20px 12px}.tutor-card-foot{border-top:1px solid var(--color-line-soft);justify-content:space-between;padding:14px 20px}.avatar,.tutor-card-foot{align-items:center;display:flex}.avatar{background:var(--color-primary-100);border-radius:50%;color:var(--color-primary-600);flex-shrink:0;font-weight:var(--fw-semibold);justify-content:center;-o-object-fit:cover;object-fit:cover}.avatar-xs{font-size:11px;height:28px;width:28px}.avatar-sm{font-size:14px;height:40px;width:40px}.avatar-md{font-size:18px;height:56px;width:56px}.avatar-lg{font-size:26px;height:80px;width:80px}.avatar-xl{font-size:34px;height:112px;width:112px}.avatar-ring{border:3px solid #fff;box-shadow:var(--shadow-sm)}.avatar-slot{display:inline-flex;flex-shrink:0;position:relative}.tutor-portrait{border-radius:50%;height:100%;inset:0;-o-object-fit:cover;object-fit:cover;position:absolute;width:100%}.badge{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--fs-xs);font-weight:var(--fw-semibold);gap:4px;padding:3px 9px}.badge-primary{background:var(--color-info-bg);color:var(--color-primary-600)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-ai{background:var(--color-ai-bg);color:var(--color-ai)}.badge-neutral{background:var(--color-line-soft);color:var(--color-text-mute)}.badge-verified{background:var(--color-info-bg);color:var(--color-primary-600)}.chip{align-items:center;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-pill);color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--fs-sm);gap:6px;padding:7px 14px;transition:all var(--dur) var(--ease)}.chip:hover{border-color:var(--color-primary-300);color:var(--color-primary-600)}.chip.is-active{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.tag{background:var(--color-line-soft);border-radius:var(--radius-xs);color:var(--color-text-mute);font-size:var(--fs-xs);padding:3px 8px}.price{align-items:baseline;color:var(--color-accent-600);display:inline-flex;font-weight:var(--fw-bold);gap:2px}.price-cur{font-size:var(--fs-sm)}.price-num{font-size:var(--fs-h3)}.price-unit{color:var(--color-text-mute);font-size:var(--fs-xs);font-weight:var(--fw-regular)}.price-old{color:var(--color-text-faint);font-size:var(--fs-sm);text-decoration:line-through}.stars{color:var(--color-warning);display:inline-flex;gap:2px}.stars svg{height:14px;width:14px}.status{align-items:center;display:inline-flex;font-size:var(--fs-sm);font-weight:var(--fw-medium);gap:6px}.status:before{background:currentColor;border-radius:50%;content:"";height:7px;width:7px}.status-live{color:var(--color-danger)}.status-live:before{animation:pulse 1.4s infinite}.status-ok{color:var(--color-success)}.status-pending{color:var(--color-warning)}.status-muted{color:var(--color-text-mute)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.pub-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border-bottom:1px solid var(--color-line);height:var(--nav-h);position:sticky;top:0;z-index:var(--z-nav)}.pub-header .container{gap:32px;height:100%}.logo,.pub-header .container{align-items:center;display:flex}.logo{color:var(--color-ink);font-size:var(--fs-h3);font-weight:var(--fw-bold);gap:9px}.logo-mark{align-items:center;background:var(--brand-mark-background);border-radius:10px;box-shadow:0 7px 18px var(--brand-mark-shadow);color:var(--brand-mark-foreground);display:flex;height:34px;justify-content:center;width:34px}.logo-mark img{height:78%;width:78%}.nav-links{display:flex;flex:1;gap:26px}.nav-links a{color:var(--color-ink-soft);font-size:var(--fs-md);font-weight:var(--fw-medium);transition:color var(--dur)}.nav-links a.is-active,.nav-links a:hover{color:var(--color-primary-600)}.pub-footer{background:var(--color-ink);color:#c4c6d6;padding:var(--sp-16) 0 var(--sp-8)}.pub-footer a{color:#c4c6d6;font-size:var(--fs-sm);line-height:2}.pub-footer a:hover{color:#fff}.footer-grid{display:grid;gap:40px;grid-template-columns:1.6fr repeat(4,1fr)}.footer-col h4{color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:.04em;margin-bottom:12px}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.1);color:#9ca3af;display:flex;font-size:var(--fs-xs);justify-content:space-between;margin-top:var(--sp-12);padding-top:var(--sp-6)}.app-nav{background:#fff;border-bottom:1px solid var(--color-line);height:var(--nav-h);position:sticky;top:0;z-index:var(--z-nav)}.app-nav .container{align-items:center;display:flex;gap:28px;height:100%}.app-nav-links{display:flex;flex:1;gap:6px}.app-nav-links a{border-radius:var(--radius-sm);color:var(--color-ink-soft);font-size:var(--fs-md);font-weight:var(--fw-medium);padding:8px 14px;transition:all var(--dur)}.app-nav-links a:hover{background:var(--color-surface-2)}.app-nav-links a.is-active{background:var(--color-primary-50);color:var(--color-primary-600)}.icon-btn{align-items:center;border-radius:var(--radius-sm);color:var(--color-ink-soft);display:flex;height:40px;justify-content:center;position:relative;transition:all var(--dur);width:40px}.icon-btn:hover{background:var(--color-surface-2)}.icon-btn .dot{background:var(--color-danger);border:2px solid #fff;border-radius:50%;height:8px;position:absolute;right:8px;top:7px;width:8px}.avatar-trigger{gap:6px;min-height:44px;padding:0 10px;width:auto}.app-tabbar{display:none}@media(max-width:980px){.app-tabbar{align-items:stretch;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-top:1px solid var(--color-line);bottom:0;display:flex;height:calc(var(--mobile-tab-h) + env(safe-area-inset-bottom));justify-content:space-around;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0;z-index:calc(var(--z-nav) + 1)}.app-tab{align-items:center;color:var(--color-text-faint);display:flex;flex:1;flex-direction:column;font-size:var(--fs-xs);font-weight:var(--fw-medium);gap:3px;justify-content:center;min-width:0}.app-tab svg{height:22px;width:22px}.app-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-tab.is-active{color:var(--color-primary-600)}.app-shell{padding-bottom:calc(var(--mobile-tab-h) + env(safe-area-inset-bottom))}}.mobile{background:var(--color-bg);box-shadow:var(--shadow-lg);margin:0 auto;max-width:420px;min-height:100vh;position:relative}.m-topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid var(--color-line);gap:12px;height:var(--mobile-nav-h);padding:0 16px;position:sticky;top:0;z-index:var(--z-nav)}.m-back,.m-topbar{align-items:center;display:flex}.m-back{background:var(--color-surface-2);border-radius:10px;height:34px;justify-content:center;width:34px}.m-title{font-size:var(--fs-lg);font-weight:var(--fw-semibold)}.m-body{padding:16px;padding-bottom:calc(var(--mobile-tab-h) + 24px)}.m-tabbar{background:#fff;border-radius:var(--radius-xl);bottom:0;box-shadow:var(--shadow-lg);height:var(--mobile-tab-h);justify-content:space-around;margin:0 12px 12px;padding:0 8px;position:sticky;z-index:var(--z-sticky)}.m-tab,.m-tabbar{align-items:center;display:flex}.m-tab{border-radius:var(--radius-md);color:var(--color-text-faint);flex-direction:column;font-size:10px;gap:3px;padding:6px 12px}.m-tab svg{height:22px;width:22px}.m-tab.is-active{color:var(--color-primary-600)}.m-action-bar{align-items:center;background:#fff;border-top:1px solid var(--color-line);bottom:0;display:flex;gap:10px;padding:12px 16px;position:sticky}.field{margin-bottom:18px}.field label{color:var(--color-ink-soft);display:block;font-size:var(--fs-sm);font-weight:var(--fw-medium);margin-bottom:7px}.input,.select,.textarea{background:var(--color-surface);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--fs-md);padding:12px 14px;transition:all var(--dur);width:100%}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.input::-moz-placeholder{color:var(--color-text-faint)}.input::placeholder{color:var(--color-text-faint)}.input-group{display:flex;gap:8px}.field-hint{color:var(--color-text-mute)}.field-error,.field-hint{font-size:var(--fs-xs);margin-top:5px}.field-error{color:var(--color-danger)}.checkbox{align-items:flex-start;color:var(--color-text);display:flex;font-size:var(--fs-sm);gap:8px}.checkbox input{accent-color:var(--color-primary-500);height:16px;margin-top:2px;width:16px}.tabs{border-bottom:1px solid var(--color-line);display:flex;gap:4px}.tab{border-bottom:2px solid transparent;color:var(--color-text-mute);cursor:pointer;font-size:var(--fs-md);font-weight:var(--fw-medium);margin-bottom:-1px;padding:11px 16px;transition:all var(--dur)}.tab:hover{color:var(--color-ink)}.tab.is-active{border-bottom-color:var(--color-primary-500);color:var(--color-primary-600)}.tabs-pill{display:flex;flex-wrap:wrap;gap:8px}.tab-pill{background:var(--color-surface-2);border-radius:var(--radius-pill);color:var(--color-text-mute);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:8px 16px;transition:all var(--dur)}.tab-pill.is-active{background:var(--color-primary-500);color:#fff}.skeleton{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,#eef0f6 25%,#f6f7fb,#eef0f6 75%);background-size:200% 100%;border-radius:var(--radius-sm)}@keyframes shimmer{to{background-position:-200% 0}}.sk-line{height:12px;margin-bottom:8px}.sk-line.w60{width:60%}.sk-line.w40{width:40%}.sk-line.w80{width:80%}.empty-state,.error-state{padding:var(--sp-16) var(--sp-6);text-align:center}.empty-icon{align-items:center;background:var(--color-surface-2);border-radius:20px;color:var(--color-text-faint);display:flex;height:72px;justify-content:center;margin:0 auto 16px;width:72px}.error-state .empty-icon{background:var(--color-danger-bg);color:var(--color-danger)}.empty-state .h3{margin-bottom:6px}.loading-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffb3;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-modal)}.spinner{animation:spin .7s linear infinite;border:3px solid var(--color-primary-100);border-radius:50%;border-top-color:var(--color-primary-500);height:34px;width:34px}.toast{align-items:center;background:var(--color-ink);border-radius:var(--radius-pill);bottom:32px;box-shadow:var(--shadow-lg);color:#fff;display:flex;font-size:var(--fs-sm);font-weight:var(--fw-medium);gap:8px;left:50%;opacity:0;padding:12px 22px;pointer-events:none;position:fixed;transform:translate(-50%) translateY(20px);transition:all var(--dur) var(--ease-out);z-index:var(--z-toast)}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a1c2e80;inset:0;opacity:0;position:fixed;transition:all var(--dur);visibility:hidden;z-index:var(--z-drawer)}.overlay.show{opacity:1;visibility:visible}.drawer{background:#fff;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:100%;max-width:92vw;position:fixed;right:0;top:0;transform:translate(100%);transition:transform var(--dur-slow) var(--ease-out);width:440px;z-index:var(--z-modal)}.drawer.show{transform:translate(0)}.drawer-head{align-items:center;border-bottom:1px solid var(--color-line);display:flex;justify-content:space-between;padding:18px 22px}.drawer-body{flex:1;overflow-y:auto;padding:22px}.drawer-foot{border-top:1px solid var(--color-line);display:flex;gap:10px;padding:16px 22px}.sheet{background:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;bottom:0;display:flex;flex-direction:column;left:0;max-height:88vh;position:fixed;right:0;transform:translateY(100%);transition:transform var(--dur-slow) var(--ease-out);z-index:var(--z-modal)}.sheet.show{transform:translateY(0)}.sheet-handle{background:var(--color-line);border-radius:2px;height:4px;margin:10px auto;width:36px}.sheet-head{display:flex;flex-direction:column;gap:4px;padding:12px 20px 0}.sheet-body{overflow-y:auto;padding:8px 20px 24px}.sheet-foot{border-top:1px solid var(--color-line);display:flex;gap:10px;padding:8px 20px 20px}.modal{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:50%;max-width:92vw;opacity:0;position:fixed;top:50%;transform:translate(-50%,-46%) scale(.96);transition:all var(--dur) var(--ease-out);visibility:hidden;width:420px;z-index:var(--z-modal)}.modal.show{opacity:1;transform:translate(-50%,-50%) scale(1);visibility:visible}.modal-body{padding:26px}.modal-head{align-items:center;border-bottom:1px solid var(--color-line);display:flex;justify-content:space-between;padding:18px 22px}.modal-foot{border-top:1px solid var(--color-line);display:flex;gap:10px;justify-content:flex-end;padding:16px 22px}.close-btn{align-items:center;background:var(--color-surface-2);border-radius:10px;color:var(--color-text-mute);display:flex;height:34px;justify-content:center;width:34px}.close-btn:hover,.divider{background:var(--color-line)}.divider{height:1px;margin:20px 0}.notice{border-radius:var(--radius-md);display:flex;font-size:var(--fs-sm);gap:10px;padding:13px 16px}.notice-info{background:var(--color-info-bg);color:var(--color-primary-700)}.notice-warn{background:var(--color-warning-bg);color:#8a5a00}.notice-danger{background:var(--color-danger-bg);color:#a31f38}.notice-ai{background:var(--color-ai-bg);color:#6b3fb8}.ai-card{background:var(--gradient-ai);color:#fff;padding:var(--sp-6)}.ai-card,.stat-card{border-radius:var(--radius-lg)}.stat-card{background:#fff;border:1px solid var(--color-line);padding:18px 20px}.stat-num{color:var(--color-ink);font-size:var(--fs-h1);font-weight:var(--fw-bold)}.stat-label{margin-top:2px}.breadcrumb,.stat-label{color:var(--color-text-mute);font-size:var(--fs-sm)}.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;padding:16px 0}.breadcrumb a:hover{color:var(--color-primary-600)}.progress-bar{background:var(--color-line-soft);height:8px;overflow:hidden}.progress-bar,.progress-fill{border-radius:var(--radius-pill)}.progress-fill{background:var(--gradient-primary);height:100%}.kbd{background:var(--color-surface-2);border:1px solid var(--color-line);border-radius:5px;color:var(--color-text-mute);font-size:11px;padding:2px 6px}@media(max-width:980px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:28px;grid-template-columns:1fr 1fr}.app-nav-links,.nav-links{display:none}.h-display{font-size:34px}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container,.container-narrow{padding:0 16px}.section{padding:var(--sp-12) 0}}.grid-5{grid-template-columns:repeat(5,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}.text-center{text-align:center}.full-w{width:100%}.sticky-top{position:sticky;top:calc(var(--nav-h) + 16px)}.hero{background:var(--gradient-hero);overflow:hidden;padding:var(--sp-20) 0 var(--sp-16);position:relative}.hero-blob{border-radius:50%;filter:blur(60px);opacity:.5;pointer-events:none;position:absolute}.hero-blob.b1{background:var(--color-primary-200);height:360px;right:6%;top:-80px;width:360px}.hero-blob.b2{background:var(--color-accent-100);bottom:-100px;height:300px;left:4%;width:300px}.hero-video{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;opacity:.5;pointer-events:none;position:absolute;width:100%}.hero>.container{position:relative;z-index:1}.hero-inner{max-width:760px;position:relative}.hero .h-display{margin-top:14px}.hero .lead{margin-top:18px}.search-box{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;padding:8px}.search-box .seg{align-items:center;display:flex;flex:1;gap:8px;min-width:180px;padding:6px 14px}.search-box .seg svg{color:var(--color-text-mute);flex-shrink:0;height:18px;width:18px}.search-box .seg input{background:transparent;border:none;color:var(--color-ink);font-size:var(--fs-md);outline:none;width:100%}.search-box .seg+.seg{border-left:1px solid var(--color-line)}.hero-cta{gap:12px;margin-top:24px}.hero-cta,.hero-tags{display:flex;flex-wrap:wrap}.hero-tags{align-items:center;color:var(--color-text-mute);font-size:var(--fs-sm);gap:10px;margin-top:22px}.hero-tags a{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-pill);color:var(--color-ink-soft);padding:5px 12px}.hero-tags a:hover{border-color:var(--color-primary-300);color:var(--color-primary-600)}.trust-band{background:var(--color-surface);border-bottom:1px solid var(--color-line);padding:var(--sp-10) 0}.trust-grid{display:grid;gap:24px;grid-template-columns:repeat(4,1fr);text-align:center}.trust-num{color:var(--color-ink);font-size:var(--fs-h1);font-weight:var(--fw-bold)}.subj-tile{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:6px;padding:18px;transition:all var(--dur) var(--ease)}.subj-tile:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-md);transform:translateY(-3px)}.subj-ico{align-items:center;border-radius:var(--radius-md);color:#fff;display:flex;height:46px;justify-content:center;width:46px}.subj-ico svg{height:24px;width:24px}.section-warm{background:var(--color-bg-warm)}.ai-section{background:var(--color-ink);border-radius:var(--radius-xl);overflow:hidden}.ai-section .h2,.ai-section .lead{color:#fff}.ai-feature{align-items:flex-start;display:flex;gap:12px}.ai-feature .ico{align-items:center;background:#ffffff1f;border-radius:var(--radius-sm);color:#fff;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.ai-feature .ico svg{height:20px;width:20px}.ai-feature strong{color:#fff;display:block}.ai-feature .small{color:#fff9}.step-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:24px}.step-num{align-items:center;background:var(--color-primary-50);border-radius:var(--radius-md);color:var(--color-primary-600);display:flex;font-size:var(--fs-h3);font-weight:var(--fw-bold);height:44px;justify-content:center;width:44px}.story-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:26px}.quote-mark{color:var(--color-primary-200);font-size:48px;font-weight:var(--fw-bold);line-height:1}.final-cta,.inst-band,.recruit-band{border-radius:var(--radius-xl);padding:var(--sp-12)}.recruit-band{background:var(--gradient-accent)}.recruit-band .eyebrow,.recruit-band .h2,.recruit-band .lead{color:#fff}.inst-band{background:var(--gradient-primary)}.inst-band .eyebrow,.inst-band .h2,.inst-band .lead{color:#fff}.final-cta{background:var(--gradient-hero);padding:var(--sp-16);text-align:center}.social-tile{align-items:center;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);display:flex;gap:14px;padding:20px;transition:all var(--dur) var(--ease)}.social-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.social-ico{align-items:center;border-radius:var(--radius-md);color:#fff;display:flex;flex-shrink:0;font-weight:var(--fw-bold);height:46px;justify-content:center;width:46px}.seo-col h4{color:var(--color-ink);font-size:var(--fs-md);margin-bottom:10px}.seo-col a{color:var(--color-text-mute);display:inline-block;font-size:var(--fs-sm);margin:0 14px 8px 0}.seo-col a:hover{color:var(--color-primary-600)}.social-ico-sm{align-items:center;border-radius:var(--radius-sm);color:#fff;display:flex;font-size:var(--fs-sm);font-weight:var(--fw-bold);height:34px;justify-content:center;width:34px}.listing-hero{background:var(--gradient-hero);padding:var(--sp-10) 0 var(--sp-8)}.filter-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-bottom:1px solid var(--color-line);padding:12px 0;position:sticky;top:var(--nav-h);z-index:var(--z-sticky)}.filter-chips{flex-wrap:wrap}.filter-chips,.search-mini{align-items:center;display:flex;gap:8px}.search-mini{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-pill);padding:7px 14px}.search-mini svg{color:var(--color-text-mute);height:16px;width:16px}.search-mini input{background:transparent;border:none;font-size:var(--fs-sm);outline:none;width:150px}.layout{align-items:start;display:grid;gap:28px;grid-template-columns:260px 1fr}.layout.rail-right{grid-template-columns:1fr 320px}.sidebar{position:sticky;top:calc(var(--nav-h) + 70px)}.filter-group{margin-bottom:20px}.filter-group h4{color:var(--color-ink);font-size:var(--fs-sm);font-weight:var(--fw-semibold);margin-bottom:10px}.filter-opt{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:var(--fs-sm);gap:8px;padding:5px 0}.filter-opt input{accent-color:var(--color-primary-500);height:15px;width:15px}.filter-opt .cnt{color:var(--color-text-faint);font-size:var(--fs-xs);margin-left:auto}.seo-link-band{display:flex;flex-wrap:wrap;gap:8px}.faq-item{border-bottom:1px solid var(--color-line)}.faq-q{align-items:center;color:var(--color-ink);cursor:pointer;display:flex;font-weight:var(--fw-medium);gap:12px;justify-content:space-between;padding:18px 0}.faq-q svg{color:var(--color-text-mute);flex-shrink:0;height:18px;transition:transform var(--dur);width:18px}.faq-item.open .faq-q svg{transform:rotate(180deg)}.faq-a{color:var(--color-text);font-size:var(--fs-sm);max-height:0;overflow:hidden;transition:max-height var(--dur) var(--ease)}.faq-item.open .faq-a{max-height:300px;padding-bottom:18px}.course-cover{align-items:flex-start;display:flex;height:140px;justify-content:space-between;padding:14px}.plan-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);gap:18px;padding:22px}.plan-card,.plan-rank{align-items:center;display:flex}.plan-rank{background:var(--color-primary-50);border-radius:var(--radius-md);color:var(--color-primary-600);flex-shrink:0;font-weight:var(--fw-bold);height:40px;justify-content:center;width:40px}.t-hero{background:var(--gradient-hero);padding:var(--sp-8) 0 var(--sp-10)}.t-hero-grid{align-items:start;display:grid;gap:32px;grid-template-columns:1fr 320px}.t-id{align-items:flex-start;display:flex;gap:20px}.t-meta-row{color:var(--color-text-mute);display:flex;flex-wrap:wrap;font-size:var(--fs-sm);gap:18px;margin-top:12px}.t-meta-row b{color:var(--color-ink)}.verify-line{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.t-side-card{position:sticky;top:calc(var(--nav-h) + 16px)}.sticky-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border-bottom:1px solid var(--color-line);display:flex;gap:4px;overflow-x:auto;position:sticky;top:var(--nav-h);z-index:var(--z-sticky)}.sticky-nav a{border-bottom:2px solid transparent;color:var(--color-text-mute);font-size:var(--fs-sm);font-weight:var(--fw-medium);padding:14px 16px;white-space:nowrap}.sticky-nav a.is-active{border-bottom-color:var(--color-primary-500);color:var(--color-primary-600)}.skill-bar{margin-bottom:16px}.avail-grid{display:grid;gap:8px;grid-template-columns:repeat(7,1fr)}.avail-day{text-align:center}.avail-day .dname{color:var(--color-text-mute);font-size:var(--fs-xs);margin-bottom:8px}.slot{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-xs);margin-bottom:6px;padding:8px 4px}.slot.free{background:var(--color-success-bg);color:var(--color-success)}.slot.busy{background:var(--color-line-soft);color:var(--color-text-faint)}.feed-card{overflow:hidden}.feed-img{height:120px}.review-card{border-bottom:1px solid var(--color-line-soft);padding:18px 0}.conv-bar{background:var(--color-surface);border-top:1px solid var(--color-line);bottom:0;box-shadow:0 -4px 20px #1a1c2e0f;left:0;padding:12px 0;position:fixed;right:0;z-index:var(--z-sticky)}.protect-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-top:16px}.protect-item{background:var(--color-surface-2);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px;padding:16px}.protect-ico{align-items:center;background:var(--color-primary-50);border-radius:var(--radius-sm);color:var(--color-primary-600);display:flex;height:38px;justify-content:center;width:38px}.protect-ico svg{height:20px;width:20px}.value-item{align-items:flex-start;display:flex;gap:12px;padding:12px 0}.value-ico{align-items:center;background:var(--color-primary-50);border-radius:var(--radius-sm);color:var(--color-primary-600);display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.value-ico svg{height:20px;width:20px}.chapter{border:1px solid var(--color-line);border-radius:var(--radius-md);margin-bottom:10px;overflow:hidden}.chapter-h{align-items:center;color:var(--color-ink);cursor:pointer;display:flex;font-weight:var(--fw-medium);justify-content:space-between;padding:16px}.chapter-h svg{height:18px;transition:transform var(--dur);width:18px}.chapter.open .chapter-h svg{transform:rotate(180deg)}.chapter-b{max-height:0;overflow:hidden;transition:max-height var(--dur) var(--ease)}.chapter.open .chapter-b{max-height:500px}.lesson-row{border-top:1px solid var(--color-line-soft);font-size:var(--fs-sm);padding:12px 16px}.cd-cover,.lesson-row{display:flex;justify-content:space-between}.cd-cover{border-radius:var(--radius-lg);flex-direction:column;min-height:180px;padding:28px}.auth-shell{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.auth-brand{background:var(--gradient-hero);display:flex;flex-direction:column;overflow:hidden;padding:56px;position:relative}.auth-brand.brand-ai{background:var(--gradient-ai)}.auth-brand.brand-ai .brand-logo,.auth-brand.brand-ai .brand-point,.auth-brand.brand-ai .eyebrow,.auth-brand.brand-ai .h-display,.auth-brand.brand-ai .lead{color:#fff}.auth-main{align-items:center;background:var(--color-surface);display:flex;justify-content:center;padding:40px 24px}.auth-card{max-width:404px;width:100%}.brand-logo{color:var(--color-ink);font-size:var(--fs-h3);font-weight:var(--fw-bold);gap:9px}.brand-logo,.brand-mark{align-items:center;display:flex}.brand-mark{background:var(--brand-mark-background);border-radius:10px;box-shadow:0 7px 18px var(--brand-mark-shadow);color:var(--brand-mark-foreground);height:34px;justify-content:center;width:34px}.brand-mark img{height:78%;width:78%}.auth-brand.brand-ai .brand-mark{background:color-mix(in srgb,var(--brand-mark-foreground) 20%,transparent)}.brand-story{margin-top:auto}.brand-points{display:flex;flex-direction:column;gap:14px;margin-top:26px}.brand-point{align-items:flex-start;color:var(--color-text);display:flex;font-size:var(--fs-sm);gap:10px}.brand-point .pt-ic{align-items:center;background:var(--color-primary-100);border-radius:50%;color:var(--color-primary-600);display:flex;flex-shrink:0;height:26px;justify-content:center;width:26px}.auth-brand.brand-ai .brand-point .pt-ic{background:#fff3;color:#fff}.mentor-wall{align-items:center;display:flex;gap:8px;margin-top:26px}.mentor-wall .avatar{border:2px solid #fff;margin-left:-8px}.mentor-wall .avatar:first-child{margin-left:0}.back-public{align-items:center;color:var(--color-text-mute);display:inline-flex;font-size:var(--fs-sm);gap:6px;margin-bottom:22px}.back-public:hover{color:var(--color-primary-600)}.auth-card-head{margin-bottom:22px}.auth-card-head .h1{margin-bottom:6px}.link{color:var(--color-primary-600);font-weight:var(--fw-medium)}.input-wrap{position:relative}.input-wrap .input-icon{color:var(--color-text-faint);height:18px;left:12px;position:absolute;top:50%;transform:translateY(-50%);width:18px}.input-wrap .input{padding-left:38px}.pw-toggle{color:var(--color-text-faint);position:absolute;right:12px;top:50%;transform:translateY(-50%)}.pw-toggle svg{height:18px;width:18px}.row-forgot{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.send-code-btn{white-space:nowrap}.or-split{color:var(--color-text-faint);font-size:var(--fs-sm);margin:22px 0;position:relative;text-align:center}.or-split:after,.or-split:before{background:var(--color-line);content:"";height:1px;position:absolute;top:50%;width:38%}.or-split:before{left:0}.or-split:after{right:0}.social-row{display:flex;gap:12px}.social-btn{align-items:center;background:var(--color-surface);border:1.5px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);display:flex;flex:1;font-size:var(--fs-sm);font-weight:var(--fw-medium);gap:8px;justify-content:center;padding:11px}.social-btn:hover{border-color:var(--color-primary-300)}.social-btn svg{height:18px;width:18px}.auth-foot{color:var(--color-text-mute);font-size:var(--fs-sm);margin-top:22px;text-align:center}.trust-row{color:var(--color-text-faint);display:flex;font-size:var(--fs-xs);gap:16px;justify-content:center;margin-top:18px}.trust-row span{align-items:center;display:flex;gap:5px}.trust-row svg{height:14px;width:14px}.intent-banner{align-items:center;background:var(--color-info-bg);border-radius:var(--radius-md);color:var(--color-primary-700);display:none;font-size:var(--fs-sm);gap:8px;margin-bottom:18px;padding:11px 14px}.code-grid,.intent-banner.is-shown{display:flex}.code-grid{gap:10px;justify-content:center;margin-bottom:20px}.code-cell{border:1.5px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-ink);font-size:var(--fs-h2);font-weight:var(--fw-bold);height:56px;outline:none;text-align:center;width:48px}.code-cell:focus{box-shadow:0 0 0 3px var(--color-primary-100)}.code-cell.filled,.code-cell:focus{border-color:var(--color-primary-400)}.code-cell.filled{background:var(--color-primary-50)}.resend-row{color:var(--color-text-mute);font-size:var(--fs-sm);margin-bottom:18px;text-align:center}.resend-link.is-disabled{color:var(--color-text-faint);pointer-events:none}.step-dots{display:flex;gap:8px;margin-bottom:18px}.step-dot{background:var(--color-line);border-radius:var(--radius-pill);height:5px;width:28px}.step-dot.is-active{background:var(--color-primary-500)}.strength{margin-top:8px}.strength-bars{display:flex;gap:5px}.strength-bar{background:var(--color-line);border-radius:var(--radius-pill);flex:1;height:5px}.strength.lv1 .strength-bar:first-child{background:var(--color-danger)}.strength.lv2 .strength-bar:nth-child(-n+2){background:var(--color-warning)}.strength.lv3 .strength-bar:nth-child(-n+3){background:var(--color-teal-500)}.strength.lv4 .strength-bar{background:var(--color-success)}.strength-label{color:var(--color-text-mute);font-size:var(--fs-xs);margin-top:6px}.callback-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin:0 auto;max-width:420px;padding:48px 40px;text-align:center}.loader{height:72px;margin:24px auto;position:relative;width:72px}.loader-ring{animation:spin .8s linear infinite;border:4px solid var(--color-primary-100);border-radius:50%;border-top-color:var(--color-primary-500);height:100%;width:100%}.callback-steps{display:flex;flex-direction:column;gap:12px;margin-top:24px;text-align:left}.cb-step{align-items:center;color:var(--color-text-faint);display:flex;font-size:var(--fs-sm);gap:10px}.cb-step.done{color:var(--color-success)}.cb-step.active{color:var(--color-primary-600);font-weight:var(--fw-medium)}.cb-ic{align-items:center;background:var(--color-line-soft);border-radius:50%;display:flex;flex-shrink:0;height:22px;justify-content:center;width:22px}.cb-step.done .cb-ic{background:var(--color-success-bg)}.cb-step.active .cb-ic{background:var(--color-primary-100)}.menu-item{border-radius:var(--radius-sm);color:var(--color-ink-soft);display:block;font-size:var(--fs-sm);padding:9px 12px}.menu-item:hover{background:var(--color-surface-2)}.avatar-menu{position:relative}.avatar-dd{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px;position:absolute;right:0;top:48px;width:200px;z-index:var(--z-drawer)}.hero-search{background:var(--gradient-hero);border-radius:var(--radius-xl);padding:var(--sp-8)}.swipe-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.swipe-tabs .chip{white-space:nowrap}.teacher-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.list-row{align-items:center;border-bottom:1px solid var(--color-line-soft);display:flex;gap:14px;padding:14px 0}.list-row:last-child{border-bottom:none}.list-row.is-clickable{border-radius:var(--radius-md,10px);cursor:pointer;transition:background .15s ease}.list-row.is-clickable:hover{background:var(--color-line-soft)}.list-row.is-clickable:active{background:var(--color-line,#e9e7f2)}.today-lesson{background:var(--gradient-primary);border-radius:var(--radius-lg);color:#fff;padding:var(--sp-6)}.today-lesson .badge,.today-lesson .h2{color:#fff}.checklist li{align-items:center;display:flex;font-size:var(--fs-sm);gap:8px;padding:5px 0}.timeline{display:flex;flex-direction:column;gap:0}.tl-step{display:flex;gap:12px;padding-bottom:18px;position:relative}.tl-step:before{background:var(--color-line);bottom:0;content:"";left:7px;position:absolute;top:18px;width:2px}.tl-step:last-child:before{display:none}.tl-dot{background:var(--color-line);border:3px solid var(--color-surface);border-radius:50%;flex-shrink:0;height:16px;width:16px;z-index:1}.tl-step.done .tl-dot{background:var(--color-success)}.tl-step.active .tl-dot{background:var(--color-primary-500);box-shadow:0 0 0 4px var(--color-primary-100)}.kv{border-bottom:1px solid var(--color-line-soft);display:flex;font-size:var(--fs-sm);justify-content:space-between;padding:9px 0}.kv:last-child{border-bottom:none}.rel-row{align-items:center;border-bottom:1px solid var(--color-line-soft);display:flex;gap:12px;padding:12px 0}.rel-row:last-child{border-bottom:none}.cred-row{align-items:center;border-bottom:1px solid var(--color-line-soft);display:flex;gap:10px;padding:9px 0}.cred-row:last-child{border-bottom:none}.qa-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.qa-item{align-items:center;background:var(--color-surface-2);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:8px;padding:16px 8px;text-align:center}.qa-item:hover{background:var(--color-primary-50)}.qa-ico{align-items:center;background:var(--color-surface);border-radius:var(--radius-sm);color:var(--color-primary-600);display:flex;height:40px;justify-content:center;width:40px}.qa-ico svg{height:20px;width:20px}.set-row{align-items:center;border-bottom:1px solid var(--color-line-soft);display:flex;gap:12px;padding:12px 0}.set-row:last-child{border-bottom:none}.me-layout{display:grid;gap:24px;grid-template-columns:1fr 1fr}.es-layout,.od-layout,.ss-layout{align-items:start;display:grid;gap:24px;grid-template-columns:1fr 320px}.es-layout>*,.layout>*,.me-layout>*,.od-layout>*,.ss-layout>*,.t-hero-grid>*{min-width:0}.es-rail,.ss-rail{position:sticky;top:calc(var(--nav-h) + 16px)}.thread-list{border-right:1px solid var(--color-line)}.thread-item{border-bottom:1px solid var(--color-line-soft);cursor:pointer;display:flex;gap:12px;padding:14px 16px}.thread-item:hover{background:var(--color-surface-2)}.thread-item.is-active{background:var(--color-primary-50)}.msg-layout{display:grid;grid-template-columns:340px 1fr;height:calc(100vh - var(--nav-h))}.chat-panel{display:flex;flex-direction:column}.msg-list{display:flex;flex:1;flex-direction:column;gap:14px;overflow-y:auto;padding:22px}.msg-time{color:var(--color-text-faint);font-size:var(--fs-xs);text-align:center}.bubble{border-radius:var(--radius-md);font-size:var(--fs-sm);max-width:70%;padding:11px 15px}.bubble-in{align-self:flex-start;background:var(--color-surface-2);color:var(--color-ink)}.bubble-out{align-self:flex-end;background:var(--gradient-primary);color:#fff}.input-bar{align-items:center;border-top:1px solid var(--color-line);display:flex;gap:10px;padding:12px 20px}.input-bar .input{border-radius:var(--radius-pill)}.insight{background:var(--color-surface-2);border-left:4px solid var(--color-line);border-radius:var(--radius-md);padding:16px}.ins-good{border-left-color:var(--color-success)}.ins-warn{border-left-color:var(--color-warning)}.ins-tip{border-left-color:var(--color-primary-500)}.status-hero{background:var(--gradient-primary);border-radius:var(--radius-xl);color:#fff;overflow:hidden;padding:var(--sp-8);position:relative}.status-hero .sh-name{font-size:var(--fs-h1);font-weight:var(--fw-bold)}.sh-metrics{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-top:22px}.sh-metric .m-num{font-size:var(--fs-h2);font-weight:var(--fw-bold)}.sh-metric .m-label{font-size:var(--fs-sm);opacity:.8}.action-grid{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.action-tile{align-items:center;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:12px;padding:16px}.action-tile:hover{box-shadow:var(--shadow-sm)}.at-ic{align-items:center;border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.at-ic.warn{background:var(--color-warning-bg);color:var(--color-warning)}.at-ic.info{background:var(--color-info-bg);color:var(--color-primary-600)}.at-ic.ai{background:var(--color-ai-bg);color:var(--color-ai)}.at-ic.ok{background:var(--color-success-bg);color:var(--color-success)}.at-ic.danger{background:var(--color-danger-bg);color:var(--color-danger)}.onb-step{gap:10px}.onb-dot,.onb-step{align-items:center;display:flex}.onb-dot{background:var(--color-line);border-radius:50%;color:var(--color-text-mute);font-size:var(--fs-xs);font-weight:var(--fw-semibold);height:26px;justify-content:center;width:26px}.onb-dot.done{background:var(--color-success);color:#fff}.onb-dot.now{background:var(--color-primary-500);color:#fff}.sec-title{align-items:center;color:var(--color-ink);display:flex;font-size:var(--fs-h3);font-weight:var(--fw-semibold);justify-content:space-between;margin-bottom:14px}.digest-item,.lesson-row-m,.renew-row{align-items:center;border-bottom:1px solid var(--color-line-soft);display:flex;gap:12px;padding:12px 0}.digest-item:last-child,.renew-row:last-child{border-bottom:none}.di-dot{background:var(--color-primary-500);border-radius:50%;flex-shrink:0;height:8px;width:8px}.lr-time{min-width:52px;text-align:center}.lr-time .t-h{color:var(--color-ink);font-weight:var(--fw-bold)}.lr-time .t-d{color:var(--color-text-mute);font-size:var(--fs-xs)}.mnav-badge{background:var(--color-primary-100);border-radius:var(--radius-xs);color:var(--color-primary-700);font-size:var(--fs-xs);margin-left:6px;padding:2px 7px}@media(max-width:1080px){.es-rail,.ss-rail{display:none}.es-layout,.ss-layout{grid-template-columns:1fr}}.mentor-kpi-grid,.mentor-section-grid{display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}@media(max-width:980px){.grid-5,.grid-6{grid-template-columns:repeat(3,1fr)}.grid-4,.mentor-kpi-grid{grid-template-columns:repeat(2,1fr)}.layout,.layout.rail-right,.me-layout,.mentor-section-grid,.od-layout,.t-hero-grid{grid-template-columns:1fr}.sidebar,.t-side-card{position:static}.auth-shell{grid-template-columns:1fr}.auth-brand{display:none}.action-grid,.sh-metrics,.teacher-grid,.trust-grid{grid-template-columns:repeat(2,1fr)}.msg-layout{grid-template-columns:1fr}.thread-list{display:none}}@media(max-width:640px){.grid-5,.grid-6,.qa-grid{grid-template-columns:repeat(2,1fr)}.action-grid,.avail-grid,.protect-grid,.sh-metrics,.teacher-grid,.trust-grid{grid-template-columns:1fr}.inst-band .row-between,.recruit-band .row-between{align-items:flex-start;flex-direction:column;gap:16px}.hero-cta{flex-direction:column}.search-box .seg+.seg{border-left:none;border-top:1px solid var(--color-line)}}.section-split{align-items:start;display:grid;gap:28px;grid-template-columns:minmax(0,2.4fr) minmax(260px,1fr)}.section-split.rail-left{grid-template-columns:minmax(240px,1fr) minmax(0,2.4fr)}.section-matrix{align-items:stretch;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.section-matrix.dense{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.section-matrix>*{min-width:0}@media(max-width:920px){.section-split,.section-split.rail-left{grid-template-columns:1fr}.section-matrix{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:390px){.section-matrix,.section-matrix.dense{grid-template-columns:1fr}}.tabs-sm{border-bottom:none;gap:2px}.tabs-sm .tab{border:1px solid var(--color-line);border-radius:var(--radius-pill);font-size:var(--fs-sm);padding:4px 12px}.tabs-sm .tab.is-active{background:var(--color-primary-50);border-color:var(--color-primary-300)}.chart-bars{align-items:flex-end;display:flex;gap:14px;height:160px;padding-top:8px}.chart-col{align-items:center;display:flex;flex:1;flex-direction:column;gap:8px;height:100%;justify-content:flex-end}.chart-bar{background:linear-gradient(180deg,var(--color-primary-500),var(--color-primary-300));border-radius:var(--radius-sm) var(--radius-sm) 0 0;max-width:44px;transition:height .3s ease;width:100%}.ledger-head{color:var(--color-text-mute);font-size:var(--fs-xs);padding:0 4px 8px}.ledger-head,.ledger-row{border-bottom:1px solid var(--color-line)}.ledger-row{align-items:center;padding:12px 4px}.ledger-row:last-child{border-bottom:none}.stepper{display:flex;flex-wrap:wrap;gap:6px}.step-pill{align-items:center;background:var(--color-surface-2,#f4f4f8);border-radius:var(--radius-pill);color:var(--color-text-mute);display:flex;font-size:var(--fs-sm);gap:8px;padding:6px 12px}.step-pill.done{background:#22c55e1a;color:var(--color-success)}.step-pill.now{background:var(--color-primary-600);color:var(--color-surface);font-weight:var(--fw-medium)}.step-num{background:#00000014;border-radius:50%;display:grid;font-size:12px;height:20px;place-items:center;width:20px}.step-pill.now .step-num{background:#ffffff40}.step-pill.done .step-num{background:var(--color-success);color:#fff}.rate-row{align-items:center;display:flex;font-size:var(--fs-sm);gap:10px}.rate-track{background:var(--color-surface-2,#f0f0f4);flex:1;height:8px;overflow:hidden}.rate-fill,.rate-track{border-radius:var(--radius-pill)}.rate-fill{background:var(--color-accent-500,#ff7a3d);height:100%}.dropzone{background:var(--color-surface-2,#fafafc);border:1.5px dashed var(--color-line-strong,#d4d4dd);border-radius:var(--radius-md);color:var(--color-text-mute);cursor:pointer;padding:28px;text-align:center;transition:border-color .2s}.dropzone:hover{border-color:var(--color-primary-400);color:var(--color-primary-600)}.media-frame{aspect-ratio:16/9;background:linear-gradient(135deg,#1e1b3a,#2d2a52);border-radius:var(--radius-md);display:grid;overflow:hidden;place-items:center;position:relative;width:100%}.media-frame .play-btn{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border-radius:50%;color:#fff;display:grid;height:56px;place-items:center;width:56px}.check-row{align-items:center;border-bottom:1px solid var(--color-line);display:flex;font-size:var(--fs-md);gap:10px;padding:10px 0}.check-row:last-child{border-bottom:none}.check-box{border:1.5px solid var(--color-line-strong,#d4d4dd);border-radius:6px;display:grid;flex-shrink:0;height:20px;place-items:center;width:20px}.check-box.on{background:var(--color-success);border-color:var(--color-success);color:#fff}.type-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.type-tile{border:1.5px solid var(--color-line);border-radius:var(--radius-md);cursor:pointer;padding:16px;transition:all .15s}.type-tile:hover{border-color:var(--color-primary-400)}.type-tile.on{background:var(--color-primary-50);border-color:var(--color-primary-500)}@media(max-width:620px){.grid-4{grid-template-columns:repeat(2,1fr)}.type-grid{grid-template-columns:1fr}.ledger-head span:nth-child(2),.ledger-row>span:nth-child(2){display:none}}@media(max-width:768px){.action-grid,.es-layout,.layout,.layout.rail-right,.me-layout,.od-layout,.protect-grid,.qa-grid,.sh-metrics,.ss-layout,.t-hero-grid,.teacher-grid{grid-template-columns:1fr}.es-rail,.sidebar,.ss-rail,.sticky-top,.t-side-card{position:static;top:auto}.es-rail,.ss-rail{display:block}.msg-layout{grid-template-columns:1fr;height:calc(100vh - var(--nav-h) - var(--mobile-tab-h) - env(safe-area-inset-bottom))}.chat-panel{overflow:hidden}.chat-panel,.msg-list{min-height:0}.msg-list{padding:16px}.input-bar{padding:10px 14px}.bubble{max-width:86%}.conv-bar{bottom:calc(var(--mobile-tab-h) + env(safe-area-inset-bottom));padding:10px 0}.conv-bar .container{flex-wrap:wrap;gap:10px}.conv-bar .btn{flex:1}.avail-grid{gap:4px}.code-grid{gap:8px}.code-cell{height:52px;width:44px}}@media(max-width:390px){.container,.container-narrow{padding:0 12px}.h-display,.hero .h-display{font-size:28px}.action-grid,.grid-5,.grid-6,.protect-grid,.qa-grid,.sh-metrics,.teacher-grid,.type-grid{grid-template-columns:1fr}.code-grid{gap:6px}.code-cell{font-size:var(--fs-h3);height:48px;width:40px}.conv-bar .container{align-items:stretch;flex-direction:column}.conv-bar .btn{width:100%}.sticky-nav a{padding:12px}.search-box .seg{min-width:100%}}.tab-icon-wrap{align-items:center;display:flex;justify-content:center;position:relative}.tab-dot{background:var(--color-danger);border:1.5px solid #fff;border-radius:50%;height:8px;position:absolute;right:-5px;top:-3px;width:8px}.app-tab.is-active{background:var(--color-primary-500);border-radius:var(--radius-sm);color:#fff}.app-tab.is-active svg{color:#fff}.app-tab.is-active .tab-dot{border-color:var(--color-primary-500)}.app-shell.has-cta-bar,.has-conv-bar{padding-bottom:calc(64px + env(safe-area-inset-bottom))}@media(max-width:768px){.app-shell.has-cta-bar{padding-bottom:calc(120px + env(safe-area-inset-bottom))}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}.reveal-delay-6{transition-delay:.48s}.reveal-left{opacity:0;transform:translate(-32px);transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94)}.reveal-left.is-visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(32px);transition:opacity .6s cubic-bezier(.25,.46,.45,.94),transform .6s cubic-bezier(.25,.46,.45,.94)}.reveal-right.is-visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .5s cubic-bezier(.25,.46,.45,.94),transform .5s cubic-bezier(.25,.46,.45,.94)}.reveal-scale.is-visible{opacity:1;transform:scale(1)}img[loading=lazy]{opacity:0;transition:opacity .4s ease}img[loading=lazy].loaded,img[loading=lazy]:not([src=""]){opacity:1}img.lazy-img{opacity:0;transition:opacity .4s ease}img.lazy-img.loaded{opacity:1}.btn{overflow:hidden;position:relative}.btn:after{background:radial-gradient(circle at var(--ripple-x,50%) var(--ripple-y,50%),hsla(0,0%,100%,.3) 0,transparent 60%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .35s}.btn:active:after{opacity:1}.card-hover{transition:transform .28s cubic-bezier(.25,.46,.45,.94),box-shadow .28s cubic-bezier(.25,.46,.45,.94)}.card-hover:hover{box-shadow:0 12px 32px #1a1c2e1a;transform:translateY(-4px)}.badge,.chip,.tag{transition:transform .2s ease,background .2s ease,color .2s ease}.chip:hover{transform:scale(1.04)}.badge:hover{transform:scale(1.05)}.app-nav-links a,.nav-links a{position:relative}.app-nav-links a:after,.nav-links a:after{background:var(--color-primary-500,#5b54ec);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .25s ease;width:0}.app-nav-links a.is-active:after,.app-nav-links a:hover:after,.nav-links a.is-active:after,.nav-links a:hover:after{width:100%}:focus-visible{border-radius:4px;outline:2px solid var(--color-primary-400,#7079f8);outline-offset:2px}.overlay-fade-enter-active,.overlay-fade-leave-active{transition:opacity var(--dur) var(--ease)}.overlay-fade-enter-from,.overlay-fade-leave-to{opacity:0}.overlay-scale-enter-active,.overlay-scale-leave-active{transition:all var(--dur) var(--ease-out)}.overlay-scale-enter-from,.overlay-scale-leave-to{opacity:0;transform:translate(-50%,-50%) scale(.96)}.overlay-slide-up-enter-active,.overlay-slide-up-leave-active{transition:transform var(--dur-slow) var(--ease-out)}.overlay-slide-up-enter-from,.overlay-slide-up-leave-to{transform:translateY(100%)}.overlay-slide-right-enter-active,.overlay-slide-right-leave-active{transition:transform var(--dur-slow) var(--ease-out)}.overlay-slide-right-enter-from,.overlay-slide-right-leave-to{transform:translate(100%)}.offline-banner[data-v-c8db32d6]{align-items:center;background:var(--color-warning-bg,#fdf3e0);border-bottom:1px solid var(--color-line);color:var(--color-warning,#b26a00);display:flex;font-size:var(--fs-sm);gap:10px;padding:10px 16px;position:sticky;top:0;z-index:calc(var(--z-nav) + 3)}.offline-banner svg[data-v-c8db32d6]{flex-shrink:0}.ds-toast[data-v-0b928616]{align-items:center;background:var(--color-ink,#1a1c2e);border-radius:var(--radius-pill,999px);box-shadow:var(--shadow-lg,0 14px 40px rgba(26,28,46,.12));color:#fff;display:inline-flex;font-size:var(--fs-sm,13px);font-weight:500;gap:8px;left:50%;max-width:90vw;padding:12px 20px;position:fixed;transform:translate(-50%);z-index:1100}.ds-toast--bottom[data-v-0b928616]{bottom:32px}.ds-toast--top[data-v-0b928616]{top:32px}.ds-toast-ico[data-v-0b928616]{align-items:center;border-radius:50%;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:18px;justify-content:center;width:18px}.ds-toast--success .ds-toast-ico[data-v-0b928616]{background:var(--color-success,#16b896)}.ds-toast--error .ds-toast-ico[data-v-0b928616]{background:var(--color-danger,#ef4d6a)}.ds-toast--warning .ds-toast-ico[data-v-0b928616]{background:var(--color-warning,#f5a623)}.ds-toast--info .ds-toast-ico[data-v-0b928616]{background:var(--color-primary-500,#5b54ec)}.ds-toast-enter-active[data-v-0b928616],.ds-toast-leave-active[data-v-0b928616]{transition:opacity .25s ease,transform .25s var(--ease-out,cubic-bezier(.16,1,.3,1))}.ds-toast--bottom.ds-toast-enter-from[data-v-0b928616],.ds-toast--bottom.ds-toast-leave-to[data-v-0b928616]{opacity:0;transform:translate(-50%) translateY(20px)}.ds-toast--top.ds-toast-enter-from[data-v-0b928616],.ds-toast--top.ds-toast-leave-to[data-v-0b928616]{opacity:0;transform:translate(-50%) translateY(-20px)}.err-shell[data-v-a4ed7ba9]{align-items:center;background:radial-gradient(ellipse at 30% 20%,var(--color-primary-50,#eef0ff) 0,transparent 60%),radial-gradient(ellipse at 80% 80%,var(--color-accent-50,#fff0e6) 0,transparent 55%),var(--color-background,#fff);display:flex;min-height:100vh}.err-card[data-v-a4ed7ba9]{background:var(--color-surface,#fff);border:1px solid var(--color-line,#eceaf7);border-radius:var(--radius-xl,18px);box-shadow:var(--shadow-md,0 6px 24px rgba(0,0,0,.06));margin:0 auto;max-width:560px;padding:48px 40px;text-align:center}.err-code[data-v-a4ed7ba9]{background:linear-gradient(135deg,var(--color-primary-500,#5b54ec),var(--color-accent-500,#ff7a3d));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:64px;font-weight:800;line-height:1;margin-bottom:12px}.err-detail[data-v-a4ed7ba9]{background:var(--color-warning-bg,#fff8e6);border-radius:var(--radius-sm,6px);display:inline-block;margin-top:8px;padding:8px 12px}.err-actions[data-v-a4ed7ba9]{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:28px 0 32px}.err-jump[data-v-a4ed7ba9]{border-top:1px solid var(--color-line-soft,#f1eefb);padding-top:24px}.err-jump .eyebrow[data-v-a4ed7ba9]{color:var(--color-text-mute,#7a7894);display:block;margin-bottom:12px}@media(max-width:600px){.err-card[data-v-a4ed7ba9]{padding:32px 20px}.err-code[data-v-a4ed7ba9]{font-size:48px}}
