@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&family=Noto+Sans+SC:wght@400;500;700;900&family=JetBrains+Mono:wght@400;600&display=swap";:root{--ppath-ink-green-900:#0e2a23;--ppath-ink-green-800:#12352d;--ppath-ink-green-700:#1f4a3f;--ppath-ink-green-600:#2f6a5a;--ppath-ink-green-500:#4f8c65;--ppath-ink-green-100:#e7f0ea;--ppath-ink-green-50:#f0f5f1;--ppath-amber-700:#a85219;--ppath-amber-600:#c2611f;--ppath-amber-500:#d97a3c;--ppath-amber-100:#fbe9d6;--ppath-amber-50:#fdf3e6;--ppath-paper:#fbfaf7;--ppath-paper-deep:#f6f2ea;--ppath-card:#fff;--ppath-card-soft:#fbfaf7;--ppath-line:#eadfce;--ppath-line-soft:#f0e9dc;--ppath-fg-1:#10201b;--ppath-fg-2:#5d6964;--ppath-fg-3:#8a958f;--ppath-fg-on-ink:#fbfaf7;--ppath-fg-on-amber:#fff;--ppath-success-700:#16613f;--ppath-success-100:#d8eedf;--ppath-warning-700:#92400e;--ppath-warning-100:#fef3c7;--ppath-danger-700:#9b2226;--ppath-danger-100:#f7d8d8;--ppath-info-700:#1d4ed8;--ppath-info-100:#eaf2ff;--ppath-status-approved-fg:var(--ppath-success-700);--ppath-status-approved-bg:var(--ppath-success-100);--ppath-status-review-fg:var(--ppath-warning-700);--ppath-status-review-bg:var(--ppath-warning-100);--ppath-status-draft-fg:var(--ppath-fg-2);--ppath-status-draft-bg:var(--ppath-line-soft);--ppath-status-disabled-fg:var(--ppath-danger-700);--ppath-status-disabled-bg:var(--ppath-danger-100);--ppath-font-sans:"Noto Sans SC", -apple-system, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--ppath-font-display:"Noto Serif SC", "Songti SC", "STSong", serif;--ppath-font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ppath-text-xs:12px;--ppath-text-sm:13px;--ppath-text-base:15px;--ppath-text-md:17px;--ppath-text-lg:20px;--ppath-text-xl:24px;--ppath-text-2xl:32px;--ppath-text-3xl:44px;--ppath-text-4xl:64px;--ppath-leading-tight:1.15;--ppath-leading-snug:1.4;--ppath-leading-body:1.65;--ppath-leading-loose:1.8;--ppath-tracking-display:-.04em;--ppath-tracking-hero:-.06em;--ppath-tracking-eyebrow:.08em;--ppath-radius-xs:8px;--ppath-radius-sm:12px;--ppath-radius-md:16px;--ppath-radius-lg:20px;--ppath-radius-xl:24px;--ppath-radius-2xl:30px;--ppath-radius-pill:999px;--ppath-space-1:4px;--ppath-space-2:8px;--ppath-space-3:12px;--ppath-space-4:16px;--ppath-space-5:20px;--ppath-space-6:24px;--ppath-space-8:32px;--ppath-space-10:40px;--ppath-space-12:48px;--ppath-space-16:64px;--ppath-shadow-sm:0 2px 6px #3026160a;--ppath-shadow-md:0 8px 28px #3026160f;--ppath-shadow-lg:0 18px 55px #30261614;--ppath-shadow-xl:0 30px 90px #4230141f;--ppath-shadow-amber:0 14px 40px #c2611f2e;--ppath-border:1px solid var(--ppath-line);--ppath-border-soft:1px solid var(--ppath-line-soft);--ppath-ease:cubic-bezier(.2, .7, .2, 1);--ppath-ease-snap:cubic-bezier(.4, 0, .2, 1);--ppath-dur-fast:.14s;--ppath-dur-base:.22s;--ppath-dur-slow:.4s}.ppath-display-1{font-family:var(--ppath-font-display);letter-spacing:var(--ppath-tracking-hero);color:var(--ppath-fg-1);font-size:clamp(48px,7vw,86px);font-weight:900;line-height:.96}.ppath-display-2{font-family:var(--ppath-font-display);letter-spacing:var(--ppath-tracking-hero);color:var(--ppath-fg-1);font-size:clamp(36px,5vw,60px);font-weight:800;line-height:1.02}.ppath-h1{font-family:var(--ppath-font-sans);font-weight:800;font-size:var(--ppath-text-2xl);line-height:var(--ppath-leading-tight);letter-spacing:var(--ppath-tracking-display);color:var(--ppath-fg-1)}.ppath-h2{font-family:var(--ppath-font-sans);font-weight:800;font-size:var(--ppath-text-xl);line-height:var(--ppath-leading-snug);letter-spacing:var(--ppath-tracking-display);color:var(--ppath-fg-1)}.ppath-h3{font-family:var(--ppath-font-sans);font-weight:700;font-size:var(--ppath-text-lg);line-height:var(--ppath-leading-snug);color:var(--ppath-fg-1)}.ppath-body{font-family:var(--ppath-font-sans);font-weight:400;font-size:var(--ppath-text-base);line-height:var(--ppath-leading-body);color:var(--ppath-fg-1)}.ppath-body-lg{font-family:var(--ppath-font-sans);font-weight:400;font-size:var(--ppath-text-md);line-height:var(--ppath-leading-body);color:var(--ppath-fg-2)}.ppath-meta{font-family:var(--ppath-font-sans);font-weight:500;font-size:var(--ppath-text-sm);line-height:var(--ppath-leading-snug);color:var(--ppath-fg-2)}.ppath-eyebrow{font-family:var(--ppath-font-sans);font-weight:700;font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;color:var(--ppath-ink-green-500);line-height:1}.ppath-mono{font-family:var(--ppath-font-mono);font-size:var(--ppath-text-sm);color:var(--ppath-fg-1)}:root{color:var(--ppath-fg-1);background:var(--ppath-paper);font-family:var(--ppath-font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,label,select{-webkit-tap-highlight-color:transparent}p{margin:0}::selection{color:var(--ppath-paper);background:var(--ppath-ink-green-700)}:root{--bg-app:#fafaf7;--bg-sidebar:#f2f1ec;--bg-card:#fff;--bg-card-cream:#f7f5ee;--bg-card-dark:#1f3329;--ink:#1a2620;--ink-soft:#3d5949;--ink-mute:#6e695c;--ink-faint:#a39e8e;--line:#e5e3da;--line-soft:#efede5;--accent-green:#3d5949;--accent-green-bg:#deead9;--accent-green-fade:#ecf1e8;--accent-amber:#d67a1f;--accent-amber-soft:#fbe9d2;--accent-amber-deep:#a85219;--teacher-bubble:#a8c9a0;--teacher-text:#0e1f17;--student-bubble:#fff;--student-text:#1a1a1a;--student-line:#e5e3da;--review-bg:#fff4d6;--review-edge:#e0c68a;--review-text:#7a5a24;--shadow-sm:0 1px 2px #1a26200a;--shadow-md:0 8px 24px #1a262012;--shadow-lg:0 24px 64px #1a26201f;--bg-app-deep:var(--bg-sidebar);--accent:var(--accent-green);--accent-dark:var(--ink);--ink-1:var(--ink);--ink-2:var(--ink-mute);--ink-3:var(--ink-faint);--stamp-gold:var(--accent-amber)}.i{flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;display:inline-flex}.i svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%;display:block}body.chat-mode{color:var(--ink);height:100vh;margin:0;padding:0;font-family:-apple-system,PingFang SC,Noto Sans SC,sans-serif;overflow:hidden;background:var(--bg-app)!important}body.chat-mode #root{width:100vw;height:100vh;display:block}.win{width:100vw;height:100vh;box-shadow:none;background:#fff;border-radius:0;flex-direction:column;display:flex;position:relative}.chrome{border-bottom:1px solid var(--line);background:#eae8e0;align-items:center;gap:10px;height:38px;padding:0 14px;display:flex;display:none!important}.chrome .dots{gap:6px;display:flex}.chrome .dots span{border-radius:50%;width:11px;height:11px}.chrome .dots span:first-child{background:#ff5f57}.chrome .dots span:nth-child(2){background:#febc2e}.chrome .dots span:nth-child(3){background:#28c840}.chrome .url{background:var(--bg-app);height:22px;color:var(--ink-mute);border-radius:6px;flex:1;align-items:center;padding:0 12px;font-family:-apple-system,SF Mono,monospace;font-size:11.5px;display:flex}.chrome .url:before{content:"🔒";opacity:.7;margin-right:6px;font-size:10px}.body{background:linear-gradient(180deg,transparent 0%,#a8c9a00a 100%),var(--bg-app);flex:1;height:auto;min-height:0;display:flex;position:relative;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:260px;padding:14px 12px;display:flex}.sb-teacher{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-bottom:10px;padding:8px 6px 12px;display:flex}.sb-teacher .t-avatar{background:var(--teacher-bubble);border:1.5px solid #fff;border-radius:50%;flex-shrink:0;width:38px;height:38px;position:relative;overflow:hidden;box-shadow:0 1px 3px #1f2a2214}.sb-teacher .t-avatar img{width:100%;height:100%}.sb-teacher .t-avatar .online{border:2px solid var(--bg-sidebar);background:#4cd964;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.sb-teacher .t-name{flex:1;min-width:0;line-height:1.2}.sb-teacher .t-name .who b{color:var(--ink);letter-spacing:.01em;font-size:15px;font-weight:700;display:block}.sb-teacher .t-name .who span{color:#4cd964;margin-top:3px;font-size:11px;font-weight:500;display:block}.sb-teacher .t-switch{background:var(--bg-card);border:1px solid var(--line);width:30px;height:30px;color:var(--ink-soft);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:14px;line-height:1;transition:background .15s,transform .15s;display:flex}.sb-teacher .t-switch:hover{background:var(--accent-green);color:#fff;transform:rotate(180deg)}.sb-new{background:var(--bg-card-dark);color:#f5efe0;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:6px;width:100%;margin-bottom:8px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.sb-new:hover{background:#1a332a}.sb-new span{text-align:left;flex:1}.sb-search{border:1px solid var(--line);color:var(--ink-faint);background:#fff;border-radius:8px;align-items:center;gap:6px;margin-bottom:8px;padding:7px 10px;font-size:12.5px;display:flex}.sb-list{flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.sb-chats-frame{background:var(--bg-card);border:1px solid var(--line);border-radius:18px;flex-direction:column;flex:1;gap:1px;min-height:0;margin-bottom:10px;padding:10px 8px;display:flex;overflow-y:auto;box-shadow:inset 0 1px #ffffffb3,0 1px 2px #1f2a220a}.sb-chats-frame::-webkit-scrollbar{width:6px}.sb-chats-frame::-webkit-scrollbar-thumb{background:#3d594938;border-radius:3px}.sb-group{letter-spacing:.06em;color:var(--ink-faint);padding:8px 10px 4px;font-size:11px;font-weight:700}.sb-chat{cursor:pointer;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500;display:flex;overflow:hidden}.sb-chat:hover{background:var(--accent-green-fade)}.sb-chat.on{background:var(--accent-green-bg);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent-green);font-weight:600}.sb-chat .dot{background:var(--ink-faint);border-radius:50%;flex-shrink:0;width:5px;height:5px}.sb-chat .dot.gold{background:var(--accent-amber)}.sb-chat .tag-gold{color:var(--accent-amber-deep);background:var(--accent-amber-soft);border-radius:5px;align-items:center;margin-left:auto;padding:3px 7px;font-size:11px;display:inline-flex}.sb-conv{cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;display:flex}.sb-conv.on{background:var(--accent-green-bg)}.sb-conv .avi{background:var(--teacher-bubble);border:1px solid #0000000a;border-radius:50%;flex-shrink:0;width:36px;height:36px;position:relative;overflow:hidden}.sb-conv .avi img{width:100%;height:100%}.sb-conv .avi .online{border:2px solid var(--bg-sidebar);background:#4cd964;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px}.sb-conv.on .avi .online{border-color:var(--accent-green-bg)}.sb-conv .meta{flex:1;min-width:0;line-height:1.2}.sb-conv .name{color:var(--ink);justify-content:space-between;align-items:center;font-size:13.5px;font-weight:600;display:flex}.sb-conv .name .t{color:var(--ink-faint);font-size:10.5px;font-weight:500}.sb-conv .last{color:var(--ink-mute);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11.5px;overflow:hidden}.sb-conv .last.gold{color:var(--accent-amber-deep);font-weight:600}.sb-section{border-top:0;margin-top:0;padding-top:0}.sb-link{cursor:pointer;color:var(--ink);border-radius:8px;align-items:center;gap:9px;padding:8px 10px;font-size:13px;font-weight:500;display:flex}button.sb-link{text-align:left;background:0 0;border:0;justify-content:flex-start;width:100%;font-family:inherit}.sb-link .ico{width:18px;height:18px;color:var(--ink-soft);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sb-link .ico svg{width:17px;height:17px;display:block}.sb-link .badge{background:var(--accent-amber);color:#fff;border-radius:8px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}.sb-link:hover{background:var(--accent-green-fade)}.sb-foot{border-top:1px solid var(--line);align-items:center;gap:9px;margin-top:auto;padding:10px;display:flex}.sb-foot .me{background:var(--accent-green-bg);width:32px;height:32px;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.sb-foot .who{flex:1;line-height:1.2}.sb-foot .who b{color:var(--ink);font-size:13px;font-weight:600}.sb-foot .who span{color:var(--ink-mute);margin-top:2px;font-size:11px;display:block}.main{flex-direction:column;flex:1;min-width:0;display:flex}.head{background:var(--bg-app);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;width:100%;max-width:760px;height:60px;margin:0 auto;padding:0 24px;display:flex}.head .avatar{background:var(--teacher-bubble);border:1.5px solid #fff;border-radius:50%;width:40px;height:40px;position:relative;overflow:hidden;box-shadow:0 1px 3px #1f2a2214}.head .avatar img{width:100%;height:100%}.head .avatar .online{border:2px solid var(--bg-app);background:#4cd964;border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.head .who{flex:1;line-height:1.2}.head .who .name{color:var(--ink);font-size:16px;font-weight:600}.head .who .stat{color:#4cd964;align-items:center;gap:4px;margin-top:3px;font-size:12px;font-weight:500;display:flex}.head .actions{gap:6px;display:flex}.head .ico-btn{width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:17px;display:flex}button.ico-btn{background:0 0;border:0;font-family:inherit}.head .ico-btn:hover{background:var(--accent-green-fade)}.stream{scroll-behavior:smooth;flex-direction:column;flex:1;gap:14px;padding:24px 0;display:flex;overflow-y:auto}.stream-inner{flex-direction:column;gap:14px;width:100%;max-width:760px;margin:0 auto;padding:0 24px;display:flex}.day-sep{text-align:center;color:var(--ink-faint);padding:6px 0;font-size:11.5px}.row{align-items:flex-end;gap:10px;display:flex}.row.s{justify-content:flex-end}.row .avi{background:var(--teacher-bubble);border:1px solid #0000000a;border-radius:50%;flex-shrink:0;width:34px;height:34px;overflow:hidden;box-shadow:0 1px 2px #1a26200f}.row .avi img{width:100%;height:100%}.row .avi.stu{background:var(--accent-green-bg);color:var(--ink-soft);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.bub{letter-spacing:.005em;word-break:break-word;border-radius:18px;max-width:520px;padding:11px 15px;font-size:15.5px;line-height:1.65}.bub.t{background:var(--teacher-bubble);color:var(--teacher-text);box-shadow:none;border-top-left-radius:6px}.bub.s{background:var(--student-bubble);color:var(--student-text);border:1px solid var(--student-line);box-shadow:var(--shadow-sm);border-top-right-radius:6px}.bub.gold{background:var(--review-bg);color:var(--ink);border:1px solid var(--review-edge);border-top-left-radius:6px;max-width:720px;box-shadow:0 4px 16px #d67a1f24}.bub .review-title{color:var(--review-text);align-items:center;gap:5px;margin:-2px 0 8px;font-size:13px;font-weight:700;display:flex}.bub .sig-line{color:var(--review-text);border-top:1px dashed #c9b07d;justify-content:space-between;align-items:center;margin-top:10px;padding-top:9px;font-size:12px;display:flex}.bub .sig-line .sig{color:var(--ink);letter-spacing:.04em;font-family:Liu Jian Mao Cao,cursive;font-size:18px}.stamp{background:var(--bg-card);border:1px solid var(--line-soft);border-radius:10px;flex-direction:column;gap:3px;max-width:520px;margin-left:44px;padding:9px 13px;display:flex}.stamp .r1{color:var(--ink-mute);align-items:center;gap:5px;font-size:12px;display:flex}.stamp .r2{color:var(--ink-soft);align-items:center;gap:4px;font-size:11.5px;display:flex}.stamp .r2 .ok{color:var(--accent-green);font-weight:700}.wrong-btn{border:1px solid var(--line);color:var(--ink-mute);cursor:pointer;background:0 0;border-radius:14px;align-self:flex-start;align-items:center;gap:5px;margin-left:44px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:500;display:inline-flex}.wrong-btn:hover{border-color:var(--accent-amber);color:var(--accent-amber-deep)}.chat-time{color:var(--ink-faint);margin-left:44px;font-size:11.5px}.chat-image-preview{object-fit:contain;background:var(--bg-card-cream);border-radius:12px;max-width:320px;max-height:240px;display:block}.typing-bubble{align-items:center;gap:5px;min-width:74px;min-height:44px;display:inline-flex}.typing-bubble span{background:#0e1f1773;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite chatTyping}@keyframes chatTyping{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.typing-wrap{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.thinking-hint{color:#0e1f178c;max-width:300px;padding:0 4px;font-size:12.5px;font-style:italic;line-height:1.5;animation:.32s thinkingHintIn}@keyframes thinkingHintIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}.composer{background:var(--bg-app);border-top:1px solid var(--line);flex-shrink:0;padding:14px 0 18px}.composer-inner{width:100%;max-width:760px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 auto;padding:0 24px}.quota-row{color:var(--ink-faint);align-items:center;gap:14px;padding:0 2px 8px;font-size:11.5px;display:flex}.quota-row b{color:var(--ink-mute);font-weight:600}.quota-camera{align-items:center;gap:5px;display:inline-flex}.input-row{align-items:center;gap:10px;display:flex}.cam{background:var(--accent-green-bg);width:40px;height:40px;color:var(--ink-soft);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:background .15s,transform .15s;display:flex}.cam:hover{background:#d1e2cb;transform:translateY(-1px)}.input-box{border:1px solid var(--line);height:42px;min-height:42px;color:var(--ink);box-shadow:none;background:#fff;border-radius:22px;flex:1;padding:0 18px;font-size:14.5px}.input-box:focus{border-color:#3d594957;box-shadow:0 0 0 4px #3d594914}.send{background:var(--bg-card-dark);color:#f5efe0;cursor:pointer;width:40px;height:40px;box-shadow:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;transition:background .15s,transform .15s,box-shadow .15s;display:flex}.send:hover:not(:disabled){background:#172b22;transform:translateY(-1px)}button.cam,button.send{border:0;font-family:inherit}button.cam:disabled,button.send:disabled{cursor:not-allowed;opacity:.48}input.input-box{color:var(--ink);outline:none}.scrim{-webkit-backdrop-filter:blur(3px)saturate(.92);z-index:5;background:#1f2a222e;position:absolute;inset:0}.modal{background:var(--bg-card);border:1px solid var(--line);z-index:6;border-radius:14px;width:340px;padding:18px 20px 16px;animation:.22s cubic-bezier(.2,.7,.2,1) popIn;position:absolute;top:360px;left:495px;box-shadow:0 14px 36px #1f2a2229,0 0 0 1px #1f2a220a}@keyframes popIn{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:none}}.modal:before{content:"";background:var(--bg-card);border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-bottom-left-radius:3px;width:14px;height:14px;position:absolute;top:46px;left:-7px;transform:rotate(45deg)}.modal h3{color:var(--ink);letter-spacing:-.005em;font-size:15.5px;font-weight:700;line-height:1.4}.modal .desc{color:var(--ink-mute);margin-top:7px;font-size:12.5px;line-height:1.6}.modal .label{color:var(--ink);align-items:center;gap:5px;margin-top:13px;font-size:12px;font-weight:600;display:flex}.modal textarea{border:1px solid var(--line);width:100%;min-height:64px;color:var(--ink);resize:none;background:#fff;border-radius:9px;outline:0;margin-top:6px;padding:8px 11px;font-family:inherit;font-size:13px;line-height:1.55}.modal .btns{justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.modal .btn{cursor:pointer;border:0;border-radius:16px;padding:7px 14px;font-family:inherit;font-size:12.5px;font-weight:600}.modal .btn-c{color:var(--ink-mute);border:1px solid var(--line);background:0 0}.modal .btn-p{background:var(--accent-green);color:#fff}.wrong-btn.active{background:var(--accent-amber-soft);border-color:var(--accent-amber);color:var(--accent-amber-deep);z-index:6;position:relative;box-shadow:0 0 0 3px #d67a1f29}.onboard{background:var(--bg-app);flex:1;justify-content:center;align-items:center;padding:48px;display:flex}.onboard-card{text-align:center;flex-direction:column;align-items:center;max-width:560px;display:flex}.onboard-pill{background:var(--accent-green-bg);color:var(--ink-soft);letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;margin-bottom:18px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.onboard-pill .check{color:var(--accent-green);font-weight:900}.onboard-card .portrait{background:var(--accent-green-bg);border:6px solid #fff;border-radius:50%;width:140px;height:140px;position:relative;overflow:hidden;box-shadow:0 16px 48px #1f2a2229}.onboard-card .portrait img{width:100%;height:100%}.onboard-card .portrait .verified{background:var(--accent-green);color:#fff;border:3px solid var(--bg-app);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:900;display:flex;position:absolute;bottom:6px;right:0}.onboard-card .name{color:var(--ink);letter-spacing:.01em;margin-top:20px;font-size:30px;font-weight:700}.onboard-card .credit{color:var(--ink-mute);margin-top:6px;font-size:14px}.onboard-card .specialties{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px;display:flex}.onboard-card .specialties span{color:var(--ink-soft);border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600}.onboard-card .quote-block{border:1px solid var(--line);border-left:4px solid var(--accent-green);text-align:left;background:#fff;border-radius:14px;max-width:520px;margin-top:28px;padding:22px 26px 22px 30px;position:relative}.onboard-card .quote-block:before{content:"“";color:var(--accent-green);font-family:Noto Serif SC,serif;font-size:56px;font-weight:700;line-height:1;position:absolute;top:-2px;left:8px}.onboard-card .quote{color:var(--ink);font-size:17px;font-weight:400;line-height:1.75}.onboard-card .sigblock{color:var(--ink-soft);letter-spacing:.04em;text-align:right;margin-top:14px;font-family:Liu Jian Mao Cao,cursive;font-size:22px}.onboard-card .cta{background:var(--bg-card-dark);color:#f5efe0;cursor:pointer;letter-spacing:.01em;border:0;border-radius:28px;align-items:center;gap:8px;margin-top:32px;padding:14px 32px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex;box-shadow:0 8px 24px #23413738}.onboard-card .cta:hover{background:#1a332a}.onboard-card .meta-row{color:var(--ink-mute);align-items:center;gap:10px;margin-top:14px;font-size:12.5px;display:flex}.onboard-card .meta-row .sep{color:var(--ink-faint)}.mb-main{background:var(--bg-app);flex-direction:column;flex:1;min-width:0;display:flex}.mb-tabs{border-bottom:1px solid var(--line);background:var(--bg-app);flex-shrink:0;gap:28px;padding:0 32px;display:flex}.mb-tab{cursor:pointer;color:var(--ink-mute);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:16px 2px;font-family:inherit;font-size:15px;font-weight:500;display:flex}.mb-tab .num{color:var(--ink-faint);font-size:13px;font-weight:500}.mb-tab.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}.mb-tab.on .num{color:var(--ink)}.mb-list{flex-direction:column;flex:1;gap:14px;padding:20px 32px 32px;display:flex;overflow-y:auto}.mb-row{border:1px solid var(--line);border-left:5px solid var(--accent-amber);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;flex-direction:column;gap:10px;padding:18px 22px;display:flex}.mb-row.done{border-left-color:var(--accent-green)}.mb-row-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.mb-row-tags{flex-wrap:wrap;gap:6px;display:flex}.mb-tag{border-radius:5px;padding:3px 9px;font-size:11.5px;font-weight:600;line-height:1.5}.mb-tag.subj{background:var(--accent-green-bg);color:var(--ink-soft)}.mb-tag.diff{background:var(--accent-green-fade);color:var(--ink);border:1px solid var(--line-soft)}.mb-tag.warn{background:var(--accent-amber-soft);color:var(--accent-amber-deep)}.mb-tag.ok{background:var(--accent-green-bg);color:var(--ink-soft)}.mb-row-meta{color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-size:12px}.mb-row-title{color:var(--ink);letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.4}.mb-row-body{color:var(--ink-mute);font-size:13px;line-height:1.75}.mb-row-body .formula{color:var(--ink);font-family:JetBrains Mono,SF Mono,monospace;font-size:12.5px}.mb-stuck{background:var(--accent-amber-soft);width:fit-content;color:var(--accent-amber-deep);border-radius:8px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.mb-actions{gap:8px;margin-top:4px;display:flex}.mb-btn-pri,.mb-btn-ghost{cursor:pointer;white-space:nowrap;border:0;border-radius:10px;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.mb-btn-pri{background:var(--bg-card-dark);color:#f5efe0}.mb-btn-pri:hover{background:#1a332a}.mb-btn-ghost{color:var(--ink);border:1px solid var(--line);background:#fff}.mb-btn-ghost:hover{border-color:var(--ink-soft)}.sb-link.on{background:var(--accent-green-bg);color:var(--ink);box-shadow:inset 2px 0 0 var(--accent-green);font-weight:600}.sb-link.on .ico{color:var(--accent-green)}.pr-wrap{background:var(--bg-app);flex:1;padding:48px 60px;overflow-y:auto}.pr-card{background:var(--bg-card);max-width:680px;box-shadow:var(--shadow-md);border:1px solid var(--line);border-radius:18px;margin:0 auto;padding:40px 48px 36px}.pr-header{align-items:center;gap:18px;display:flex}.pr-portrait{border:4px solid #fff;border-radius:50%;width:88px;height:88px;overflow:hidden;box-shadow:0 4px 14px #1f2a221f}.pr-portrait img{width:100%;height:100%}.pr-greet b{color:var(--ink);font-size:20px;font-weight:700;display:block}.pr-greet span{color:var(--ink-mute);margin-top:4px;font-size:14px;display:block}.pr-rule{background:var(--line);height:1px;margin:20px 0}.pr-body p{color:var(--ink);margin-bottom:14px;font-size:17px;line-height:1.85}.pr-body b{color:var(--ink);font-weight:700}.pr-body .stat{background:var(--teacher-bubble);color:var(--ink);border-radius:8px;padding:2px 11px;font-weight:700;display:inline-block}.pr-sig{margin-top:20px}.pr-sig .from-line{color:var(--ink-mute);margin-bottom:6px;font-size:14px}.pr-sig .hand{color:var(--ink);letter-spacing:.04em;font-family:Liu Jian Mao Cao,cursive;font-size:38px}.pr-link{background:var(--bg-card-dark);color:#f5efe0;border-radius:24px;margin-top:28px;padding:14px 28px;font-size:14.5px;font-weight:600;text-decoration:none;display:inline-block}.chat-page-panel{background:var(--bg-app);flex:1;min-width:0;padding:34px 44px;overflow-y:auto}.chat-page-panel .homework-list-page{max-width:980px;color:var(--ink);margin:0 auto;padding:0}.chat-page-panel .page-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.chat-page-panel .eyebrow{letter-spacing:.08em;color:var(--ink-faint);margin-bottom:8px;font-size:12px;font-weight:700}.chat-page-panel .home-h1{letter-spacing:0;color:var(--ink);margin:0 0 10px;font-family:Noto Serif SC,PingFang SC,serif;font-size:34px;font-weight:700;line-height:1.15}.chat-page-panel .homework-list-subtitle{color:var(--ink-mute);font-size:14px;line-height:1.7}.chat-page-panel .hw-list-actions{align-items:center;gap:10px;display:flex}.chat-page-panel .hw-list-refresh,.chat-page-panel .hw-list-upload{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;display:inline-flex}.chat-page-panel .hw-list-upload,.chat-page-panel .hw-list-upload.primary{background:var(--bg-card-dark);border-color:var(--bg-card-dark);color:#f5efe0}.chat-page-panel .hw-list-error{border:1px solid var(--accent-amber);background:var(--accent-amber-soft);color:var(--accent-amber-deep);border-radius:12px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 12px;font-size:13px;display:flex}.chat-page-panel .hw-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.chat-page-panel .hw-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;overflow:hidden}.chat-page-panel .hw-card.unread{box-shadow:inset 4px 0 0 var(--accent-green)}.chat-page-panel .hw-card-head{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:#fff;border:0;align-items:center;gap:16px;padding:18px 20px;font-family:inherit;display:flex}.chat-page-panel .hw-card-thumb{object-fit:cover;background:var(--bg-card-cream);border:1px solid var(--line-soft);width:68px;height:68px;color:var(--ink-soft);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-page-panel .hw-card-meta{flex:1;min-width:0}.chat-page-panel .hw-card-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.chat-page-panel .hw-card-status,.chat-page-panel .hw-card-verdict,.chat-page-panel .hw-card-pages,.chat-page-panel .score-badge{background:var(--accent-green-fade);color:var(--ink-soft);border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.chat-page-panel .tone-pending{background:var(--accent-amber-soft);color:var(--accent-amber-deep)}.chat-page-panel .tone-rejected,.chat-page-panel .tone-wrong{color:#a33a24;background:#fce7e2}.chat-page-panel .tone-sent,.chat-page-panel .tone-approved,.chat-page-panel .tone-correct{background:var(--accent-green-bg);color:var(--ink-soft)}.chat-page-panel .tone-partial,.chat-page-panel .tone-noanswer,.chat-page-panel .tone-ai_done{background:var(--bg-card-cream);color:var(--ink-mute)}.chat-page-panel .hw-card h3{color:var(--ink);margin:0 0 5px;font-size:18px;line-height:1.35}.chat-page-panel .hw-card-when{color:var(--ink-faint);font-size:12px}.chat-page-panel .hw-card-arrow{color:var(--ink-soft);font-size:13px;font-weight:700}.chat-page-panel .hw-card-body{border-top:1px solid var(--line-soft);background:#fff;padding:20px}.chat-page-panel .hw-section{background:var(--bg-card-cream);border:1px solid var(--line-soft);border-radius:14px;margin-top:14px;padding:16px}.chat-page-panel .hw-section-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.chat-page-panel .hw-feedback-text,.chat-page-panel .hw-next-step{color:var(--ink);font-size:14px;line-height:1.8}.chat-page-panel .hw-errors ul{color:#a33a24;margin:8px 0 0 18px;line-height:1.7}.chat-page-panel .hw-solution{background:#fff;border-radius:12px;margin-top:12px;padding:14px}.chat-page-panel .hw-details{color:var(--ink-mute);margin-top:12px;font-size:13px}.chat-page-panel .hw-ocr{white-space:pre-wrap;border:1px solid var(--line-soft);background:#fff;border-radius:12px;margin-top:8px;padding:12px}.chat-page-panel .hw-list-empty,.chat-page-panel .hw-list-empty-state{border:1px solid var(--line);text-align:center;color:var(--ink-mute);background:#fff;border-radius:16px;padding:44px}.chat-page-panel .hw-list-empty-state h3{color:var(--ink);margin:14px 0 8px;font-size:20px}.weekly-page{max-width:980px;color:var(--ink);margin:0 auto}.weekly-subtitle{color:var(--ink-mute);font-size:14px;line-height:1.7}.weekly-summary-grid{grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin:0 0 18px;display:grid}.weekly-stat-card{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;flex-direction:column;gap:8px;padding:18px 20px;display:flex}.weekly-stat-card.strong{background:var(--bg-card-dark);color:#f5efe0;border-color:var(--bg-card-dark)}.weekly-stat-card span{color:var(--ink-faint);letter-spacing:.04em;font-size:12px;font-weight:700}.weekly-stat-card.strong span,.weekly-stat-card.strong small{color:#f5efe0b8}.weekly-stat-card b{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1}.weekly-stat-card small{color:var(--ink-mute);font-size:12.5px;line-height:1.55}.weekly-content-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.weekly-panel{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;padding:18px 20px}.weekly-panel-head{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.weekly-panel-head h2{color:var(--ink);margin:0;font-size:18px;line-height:1.3}.weekly-panel-head span{color:var(--ink-faint);font-size:12px}.weekly-days{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.weekly-day{border:1px solid var(--line-soft);background:var(--bg-card-cream);min-height:78px;color:var(--ink-faint);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.weekly-day[data-active=true]{background:var(--accent-green-bg);color:var(--ink-soft);border-color:#0000}.weekly-day span{font-size:12px;font-weight:700}.weekly-day b{font-variant-numeric:tabular-nums;font-size:20px;font-weight:800}.weekly-topic-list{flex-direction:column;gap:10px;display:flex}.weekly-topic-row{border-bottom:1px dashed var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.weekly-topic-row:last-child{border-bottom:0}.weekly-topic-row strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;max-width:280px;font-size:14px;line-height:1.45;display:block;overflow:hidden}.weekly-topic-row span{color:var(--ink-mute);margin-top:4px;font-size:12px;display:block}.weekly-topic-row b{color:var(--accent-amber-deep);background:var(--accent-amber-soft);border-radius:999px;flex-shrink:0;padding:4px 9px;font-size:13px}.weekly-recent{margin-bottom:28px}.weekly-session-row{border:0;border-top:1px solid var(--line-soft);text-align:left;cursor:pointer;width:100%;color:var(--ink);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:14px 0;font-family:inherit;display:flex}.weekly-session-row:first-of-type{border-top:0}.weekly-session-row span{font-size:15px;font-weight:700;line-height:1.45}.weekly-session-row small{color:var(--ink-faint);white-space:nowrap;font-size:12px}.weekly-empty{color:var(--ink-mute);margin:0;font-size:13px;line-height:1.7}.homework-upload-modal{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1f2a222e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.hw-upload-card{border:1px solid var(--line);width:min(720px,100vw - 48px);max-height:calc(100vh - 64px);box-shadow:var(--shadow-lg);background:#fff;border-radius:18px;padding:24px;overflow:auto}.hw-upload-head{justify-content:space-between;gap:18px;margin-bottom:18px;display:flex}.hw-upload-head h2{color:var(--ink);margin:0;font-size:22px;line-height:1.45}.hw-upload-close{color:var(--ink-mute);cursor:pointer;background:0 0;border:0;font-size:26px}.hw-upload-drop{border:1.5px dashed var(--line);background:var(--bg-card-cream);text-align:center;color:var(--ink-soft);cursor:pointer;border-radius:18px;padding:34px 24px}.hw-upload-drop.dragging{border-color:var(--accent-green);background:var(--accent-green-fade)}.hw-upload-drop strong{color:var(--ink)}.hw-upload-tip,.hw-upload-fine{color:var(--ink-mute);margin-top:8px;font-size:13px;line-height:1.7}.hw-upload-preview-list{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-top:16px;display:grid}.hw-upload-preview-item{border:1px solid var(--line);color:var(--ink-mute);background:#fff;border-radius:12px;padding:10px;font-size:12px}.hw-upload-preview-item img,.hw-upload-pdf-tile{object-fit:cover;background:var(--bg-card-cream);border-radius:9px;justify-content:center;align-items:center;width:100%;height:104px;display:flex}.hw-upload-field{color:var(--ink);flex-direction:column;gap:7px;margin-top:14px;font-size:13px;font-weight:700;display:flex}.hw-upload-field input{border:1px solid var(--line);border-radius:10px;outline:0;padding:11px 12px}.hw-upload-error{color:#a33a24;background:#fce7e2;border-radius:10px;margin-top:12px;padding:10px 12px}.hw-upload-foot{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.hw-upload-cancel,.hw-upload-submit,.hw-upload-replace{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-weight:700;display:inline-flex}.hw-upload-submit{background:var(--bg-card-dark);border-color:var(--bg-card-dark);color:#f5efe0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bub.s.review-waiting{color:#999;border-color:#eee;font-style:italic;background:#f5f5f5!important}.chat-time{color:var(--ink-faint);margin-top:4px;margin-left:42px;font-size:11px;font-weight:500;display:block}.chat-image-preview{border-radius:12px;max-width:240px;display:block}.typing-bubble{align-items:center;gap:5px;min-width:60px;display:inline-flex;padding:13px 15px!important}.typing-bubble span{opacity:.5;background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.2s infinite typingBlink}@keyframes typingBlink{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.quota-row .quota-camera{align-items:center;gap:5px;display:inline-flex}button.sb-chat,button.sb-link,button.sb-new,button.t-avatar,button.t-switch,button.ico-btn{text-align:left;cursor:pointer;border:0;font-family:inherit}button.sb-new{width:100%}input.input-box{color:var(--ink);outline:none;font-family:inherit}input.input-box:focus{border-color:var(--accent-green);background:#fff}input.input-box::placeholder{color:var(--ink-faint)}button.send,button.cam{cursor:pointer;border:0;font-family:inherit}button.send:disabled,button.cam:disabled{opacity:.4;cursor:not-allowed}button.wrong-btn{font-family:inherit}.chat-message-block{flex-direction:column;gap:8px;display:flex}button.scrim,.scrim{-webkit-backdrop-filter:blur(3px)saturate(.92);z-index:10;cursor:pointer;background:#1f2a222e;border:0;width:100%;height:100%;position:fixed;inset:0}button.scrim+.modal,.scrim+.modal{z-index:11;animation:.22s cubic-bezier(.2,.7,.2,1) popInSide;position:fixed;top:50%;left:auto;right:96px;transform:translateY(-50%)}button.scrim+.modal:before,.scrim+.modal:before{display:block}@keyframes popInSide{0%{opacity:0;transform:translateY(-50%)translate(12px)scale(.97)}to{opacity:1;transform:translateY(-50%)scale(1)}}.sb-chat.muted{color:var(--ink-faint);cursor:default;font-style:italic}.sb-chat.muted:hover{background:0 0}.msg-heading{letter-spacing:-.005em;color:inherit;margin:10px 0 4px;font-weight:700;line-height:1.4}.msg-heading.h1{font-size:17.5px}.msg-heading.h2{font-size:16.5px}.msg-heading.h3{font-size:15.5px}.msg-heading.h4{font-size:14.5px}.msg-heading:first-child{margin-top:0}.msg-hr{border:0;border-top:1px dashed #0e1f1738;height:0;margin:10px 0}.msg-text{display:inline}.bub.gold .msg-heading{color:var(--review-text)}.bub.gold .msg-hr{border-top-color:#7a5a244d}.sidebar.notebook{background:#f4efe0;border-right:1px solid #c5b690;flex-shrink:0;width:320px;padding:0;font-family:Inter,Noto Sans SC,-apple-system,PingFang SC,sans-serif;position:relative;overflow:hidden}.sidebar.notebook:before{content:"";z-index:1;background:linear-gradient(90deg,#d8c9a5 0%,#e5d7b2 100%);border-right:1px solid #c5b690;width:38px;position:absolute;top:0;bottom:0;left:0}.nb-holes{z-index:2;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;top:48px;bottom:48px;left:14px}.nb-holes span{background:#fafaf7;border-radius:50%;width:10px;height:10px;box-shadow:inset 0 1px 1px #0000002e}.nb-content{z-index:1;flex-direction:column;height:100%;min-height:0;padding:0 18px 18px 56px;display:flex;position:relative}.nb-top{align-items:center;gap:11px;padding:14px 0;display:flex}.nb-avatar{cursor:pointer;background:0 0;border:1.5px solid #fafaf7;border-radius:8px;flex-shrink:0;width:42px;height:42px;padding:0;overflow:hidden;box-shadow:0 1px 3px #0000001a}.nb-avatar img{object-fit:cover;width:100%;height:100%;display:block}.nb-name{flex:1;min-width:0;line-height:1.2}.nb-name b{color:var(--ink);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:700;display:block;overflow:hidden}.nb-switch{color:#7a6f58;cursor:pointer;background:#fafaf7;border:1px solid #c5b690;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-family:inherit;display:flex}.nb-switch:hover{color:var(--ink);background:#fff}.nb-stats{border-bottom:2px solid var(--ink);grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;padding:0 0 14px;display:grid}.nb-stat{background:#fafaf7;border:1px solid #dcd2b8;border-radius:7px;padding:9px 11px}.nb-stat .k{color:#7a6f58;letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,SF Mono,Cascadia Code,Consolas,monospace;font-size:9.5px;font-weight:600}.nb-stat .v{color:var(--ink);letter-spacing:-.02em;margin-top:3px;font-size:18px;font-weight:700;line-height:1.1}.nb-stat .v small{color:#a39e8e;letter-spacing:0;font-size:11px;font-weight:500}.nb-stat.amber .v{color:#a85219}.nb-new{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px dashed #c5b690;align-items:center;gap:8px;width:100%;padding:11px 4px;font-family:inherit;font-size:13.5px;font-weight:600;display:flex}.nb-new .plus{background:var(--ink);color:#f4efe0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;line-height:1;display:flex}.nb-new .label{flex:1}.nb-new .kbd{color:#7a6f58;background:#fafaf7;border:1px solid #c5b690;border-radius:3px;padding:2px 5px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:10px;font-weight:500}.nb-new:hover .plus{background:#000}.nb-search{color:#7a6f58;background:#fafaf7;border:1px solid #dcd2b8;border-radius:6px;align-items:center;gap:6px;margin-top:8px;padding:9px 10px;display:flex}.nb-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:12.5px}.nb-search input::placeholder{color:#a39e8e}.nb-list{scrollbar-width:thin;flex:1;min-height:0;margin-top:8px;overflow-y:auto}.nb-list::-webkit-scrollbar{width:4px}.nb-list::-webkit-scrollbar-thumb{background:#7a6f584d;border-radius:2px}.nb-grp{color:#7a6f58;padding:14px 2px 6px;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:13px;font-style:italic}.nb-item{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #c5b69066;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 4px;font-family:inherit;font-size:13.5px;font-weight:500;line-height:1.4;display:flex}.nb-item:hover{background:#a8c9a01f}.nb-item.on{background:linear-gradient(90deg,#a8c9a052 0%,#0000 100%);border-radius:3px;margin:0 -10px;padding-left:14px;padding-right:14px;font-weight:700}.nb-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.nb-item-pin{color:var(--accent-amber);flex-shrink:0;display:inline-flex}.nb-meta{color:#a39e8e;flex-shrink:0;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:10.5px;font-style:italic}.nb-meta.gold{color:#a85219;background:#d67a1f1f;border-radius:4px;padding:1px 6px;font-family:Inter,Noto Sans SC,sans-serif;font-size:10.5px;font-style:normal;font-weight:700}.nb-empty{color:#a39e8e;padding:20px 4px;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:12.5px;font-style:italic;line-height:1.6}.nb-foot{border-top:1px dashed #c5b690;flex-direction:column;flex-shrink:0;gap:1px;margin-top:auto;padding-top:14px;display:flex}.nb-ml{color:#3d3d2e;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;width:100%;padding:7px 6px;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:13px;font-weight:500;display:flex}.nb-ml:hover{color:var(--ink);background:#a8c9a02e}.nb-ml>span{flex:1}.nb-ml b{color:#a39e8e;margin-left:auto;font-family:Inter,Noto Sans SC,sans-serif;font-size:11px;font-weight:600}.nb-ml svg{stroke:currentColor;fill:none;stroke-width:1.6px;flex-shrink:0;width:14px;height:14px}body.chat-mode .body:has(.sidebar.notebook){background:linear-gradient(#0000 0%,#a8c9a00a 100%),#e8e5d8}body.chat-mode .body.three-col{grid-template-columns:320px minmax(0,1fr) 340px;display:grid}@media (width<=1024px){body.chat-mode .body.three-col{grid-template-columns:320px minmax(0,1fr) 0}body.chat-mode .body.three-col .rail{display:none}}.rail{background:#f6f4ec;border-left:1px solid #dcd2b8;flex-direction:column;gap:22px;padding:24px 22px;font-family:Inter,Noto Sans SC,-apple-system,PingFang SC,sans-serif;display:flex;overflow-y:auto}.rail::-webkit-scrollbar{width:4px}.rail::-webkit-scrollbar-thumb{background:#7a6f584d;border-radius:2px}.rail h4{letter-spacing:.14em;text-transform:uppercase;color:#7a6f58;align-items:center;gap:6px;margin-bottom:10px;font-size:10.5px;font-weight:700;display:flex}.rail h4 .line{background:#dcd2b8;flex:1;height:1px}.rail-section{display:block}.topic-card{background:#fff;border:1px solid #ece9dc;border-radius:10px;padding:14px 16px}.topic-card .ch{color:#7a6f58;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:10px;font-weight:600}.topic-card .nm{letter-spacing:-.005em;color:var(--ink);font-size:15.5px;font-weight:700;line-height:1.35}.topic-card .src{color:#7a6f58;margin-top:6px;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:11.5px;font-style:italic}.rail-section.path{max-height:50vh;overflow-y:auto}.rail-section.path::-webkit-scrollbar{width:3px}.rail-section.path::-webkit-scrollbar-thumb{background:#7a6f584d;border-radius:2px}.rail .path .step{color:#3d3d2e;border-bottom:1px solid #dcd2b880;grid-template-columns:22px 1fr;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;line-height:1.55;display:grid}.rail .path .step:last-child{border-bottom:0}.rail .path .step .n{color:#3d5949;background:#deead9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:10.5px;font-weight:700;display:flex}.rail .path .step.on .n{color:#fff;background:#3d5949}.rail .path .step.on{color:var(--ink);font-weight:700}.rail .path .step.done{color:#7a6f58}.rail .path .step.done .n{color:#3d5949;background:#fff;border:1px solid #deead9;font-size:11px}.rail .related .r{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #dcd2b880;flex-direction:column;gap:3px;width:100%;padding:11px 0;font-family:inherit;display:flex}.rail .related .r:last-child{border-bottom:0}.rail .related .r:hover:not(:disabled){background:#a8c9a014}.rail .related .r:disabled{cursor:default}.rail .related .r .t{color:var(--ink);letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.rail .related .r .s{color:#7a6f58;align-items:center;gap:5px;font-size:11.5px;display:flex}.rail .related .r .s.warn{color:#a85219}.rail .related .r .s.warn:before{content:"⚠";font-size:10px}.rail .related .r .s.ok:before{content:"✓";color:#3d5949;font-weight:700}.rail .cta-mini{color:#f5efe0;letter-spacing:.02em;cursor:pointer;text-align:center;background:#1f3329;border:0;border-radius:11px;width:100%;margin-top:auto;padding:16px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,transform 80ms;box-shadow:0 2px 6px #1f33292e}.rail .cta-mini:hover{background:#162721}.rail .cta-mini:active{transform:translateY(1px)}.rail .cta-mini:disabled{cursor:default;box-shadow:none;background:#5c6b62}.main.dragging-over{outline:3px dashed var(--accent-green);outline-offset:-12px;background:linear-gradient(#a8c9a01a,#a8c9a00a)}.main.dragging-over .head,.main.dragging-over .stream,.main.dragging-over .composer{pointer-events:none}.stream.dragging-over{background:linear-gradient(#a8c9a01a,#a8c9a00a)}.bub.search-hit{box-shadow:0 0 0 3px var(--accent-amber), 0 4px 16px #d67a1f47;animation:1.8s ease-out searchHitFlash}@keyframes searchHitFlash{0%{box-shadow:0 0 0 4px var(--accent-amber), 0 6px 24px #d67a1f73;transform:scale(1.015)}20%{box-shadow:0 0 0 4px var(--accent-amber), 0 4px 16px #d67a1f52;transform:scale(1)}to{transform:scale(1);box-shadow:0 0 #d67a1f00,0 0 #0000}}.drag-drop-hint{border:2px solid var(--accent-green);z-index:5;pointer-events:none;background:#fff;border-radius:18px;flex-direction:column;align-items:center;gap:12px;padding:24px 36px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 36px #1f2a2229}.drag-drop-hint p{color:var(--ink);margin:0;font-size:14px;font-weight:600}.sb-search{align-items:center;gap:6px;display:flex}.sb-search input::placeholder{color:var(--ink-faint)}.sb-search input{color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;min-width:0}.sidebar .t-avatar{cursor:pointer;border:0;padding:0}.sb-chat .tag-gold:empty{display:none}.ctx-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:152px;padding:5px;animation:.14s cubic-bezier(.2,.7,.2,1) popIn;position:fixed;box-shadow:0 14px 36px #1f2a2229}.ctx-menu-item{cursor:pointer;width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-family:inherit;font-size:13px;display:flex}.ctx-menu-item:hover{background:var(--accent-green-fade)}.ctx-menu-item.danger{color:#a33a24}.ctx-menu-item.danger:hover{background:#fce7e2}button.scrim+.rename-modal,.scrim+.rename-modal{width:380px;max-width:90vw;animation:.22s cubic-bezier(.2,.7,.2,1) popInLeft;top:50%;left:284px;right:auto;transform:translateY(-50%)}@keyframes popInLeft{0%{opacity:0;transform:translateY(-50%)translate(-12px)scale(.97)}to{opacity:1;transform:translateY(-50%)scale(1)}}.rename-modal .rename-input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;outline:0;margin-top:14px;padding:11px 13px;font-family:inherit;font-size:14px}.rename-modal .rename-input:focus{border-color:var(--accent-green)}.pending-image-preview{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:8px;padding:4px;display:inline-block;position:relative}.pending-image-preview img{border-radius:8px;max-width:140px;max-height:100px;display:block}.pending-image-remove{background:var(--ink);color:#fff;cursor:pointer;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 6px #00000026}.pending-image-remove:hover{background:#000}.upload-overlay{z-index:20;background:var(--bg-card-dark);color:#f5efe0;border-radius:18px;padding:9px 18px;font-size:13px;font-weight:600;animation:.25s cubic-bezier(.2,.7,.2,1) slideDown;position:fixed;top:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #1f2a2238}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.bub.s .chat-image-preview{margin-bottom:8px}.msg-text-after-image{margin-top:4px;font-size:14.5px}.suggest-row{flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 4px 42px;display:flex}.suggest-label{color:var(--ink-mute);width:100%;margin-bottom:2px;margin-right:4px;font-size:12px}.suggest-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:18px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.suggest-btn:hover{background:var(--accent-green-fade);border-color:var(--accent-green);transform:translateY(-1px)}.suggest-btn:active{transform:translateY(0)}.suggest-btn .badge-small{background:var(--accent-amber);color:#fff;border-radius:8px;margin-left:2px;padding:1px 7px;font-size:10.5px;font-weight:700}body.chat-mode{color:#1a2620;background:#e8e5d8;width:100vw;height:100vh;min-height:100vh;padding:0;font-family:Inter,Noto Sans SC,-apple-system,PingFang SC,sans-serif;display:block;overflow:hidden}html:has(body.chat-mode){width:100%;height:100%;overflow:hidden}body.chat-mode .win{width:100vw;height:100vh;box-shadow:none;background:#fafaf7;border-radius:0;overflow:hidden}body.chat-mode .body.three-col{background:#fafaf7;grid-template-rows:100vh;grid-template-columns:320px minmax(0,1fr) 340px;width:100%;height:100vh;min-height:0;display:grid;overflow:hidden}body.chat-mode .body.three-col>.sidebar,body.chat-mode .body.three-col>.main,body.chat-mode .body.three-col>.rail{height:100%;min-height:0}body.chat-mode .sidebar{background:#f4efe0;border-right:1px solid #dcd2b8;flex-shrink:0;width:320px;height:100%;padding:0;display:block;position:relative;overflow:hidden}body.chat-mode .sidebar:before{content:"";z-index:1;background:linear-gradient(90deg,#d8c9a5 0%,#e5d7b2 100%);border-right:1px solid #c5b690;width:38px;position:absolute;top:0;bottom:0;left:0}body.chat-mode .holes{z-index:2;flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;top:48px;bottom:48px;left:14px}body.chat-mode .holes span{background:#fafaf7;border-radius:50%;width:10px;height:10px;box-shadow:inset 0 1px 1px #0000002e}body.chat-mode .content{z-index:2;flex-direction:column;height:100%;min-height:0;padding:0 18px 18px 56px;display:flex;position:relative}body.chat-mode .top{flex-shrink:0;align-items:center;gap:11px;padding:18px 0 14px;display:flex}body.chat-mode .top-avatar{cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;width:42px;height:42px;padding:0}body.chat-mode .top-avatar img{border:1.5px solid #fafaf7;border-radius:8px;width:42px;height:42px;display:block;box-shadow:0 1px 3px #0000001a}body.chat-mode .top .n{flex:1;min-width:0;line-height:1.2}body.chat-mode .top .n b{color:#1a2620;letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:700;display:block;overflow:hidden}body.chat-mode .sw{color:#7a6f58;cursor:pointer;background:#fafaf7;border:1px solid #c5b690;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}body.chat-mode .sw:hover{color:#f4efe0;background:#1a2620}body.chat-mode .stats{border-bottom:2px solid #1a2620;flex-shrink:0;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px;padding:0 0 14px;display:grid}body.chat-mode .stats .s{background:#fafaf7;border:1px solid #dcd2b8;border-radius:7px;padding:9px 11px}body.chat-mode .stats .s .k{color:#7a6f58;letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:9.5px;font-weight:600}body.chat-mode .stats .s .v{color:#1a2620;letter-spacing:-.02em;margin-top:3px;font-size:18px;font-weight:700;line-height:1.1}body.chat-mode .stats .s .v small{color:#a39e8e;font-size:11px;font-weight:500}body.chat-mode .stats .s.amber .v{color:#a85219}body.chat-mode .new{cursor:pointer;color:#1a2620;text-align:left;background:0 0;border:0;border-bottom:1px dashed #c5b690;flex-shrink:0;align-items:center;gap:8px;padding:11px 4px;font-family:inherit;font-size:13.5px;font-weight:600;display:flex}body.chat-mode .new .plus{color:#f4efe0;background:#1a2620;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;display:flex}body.chat-mode .new .kbd{color:#7a6f58;background:#fafaf7;border:1px solid #c5b690;border-radius:3px;margin-left:auto;padding:2px 5px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:10px;font-weight:500}body.chat-mode .session-list{min-height:0;padding-bottom:12px;overflow-y:auto}body.chat-mode .session-list::-webkit-scrollbar{width:4px}body.chat-mode .session-list::-webkit-scrollbar-thumb{background:#7a6f5847;border-radius:2px}body.chat-mode .grp{color:#7a6f58;padding:14px 2px 6px;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:13px;font-style:italic}body.chat-mode .item{color:#1a2620;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #c5b69066;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 4px;font-family:inherit;font-size:13.5px;font-weight:500;line-height:1.4;display:flex}body.chat-mode .item span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}body.chat-mode .item.on{background:linear-gradient(90deg,#a8c9a052 0%,#0000 100%);border-radius:3px;margin:0 -10px;padding-left:14px;padding-right:14px;font-weight:700}body.chat-mode .item .meta{color:#a39e8e;flex-shrink:0;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:10.5px;font-style:italic}body.chat-mode .item .meta.gold{color:#a85219;background:#d67a1f1f;border-radius:4px;padding:1px 6px;font-family:inherit;font-style:normal;font-weight:700}body.chat-mode .nb-empty{color:#7a6f58;margin:18px 4px;font-size:12.5px;line-height:1.6}body.chat-mode .foot{border-top:1px dashed #c5b690;flex-direction:column;flex-shrink:0;gap:1px;margin-top:auto;padding-top:14px;display:flex}body.chat-mode .foot .ml{color:#3d3d2e;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:7px 2px;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:13px;font-weight:500;display:flex}body.chat-mode .foot .ml.on,body.chat-mode .foot .ml:hover{color:#1a2620;font-weight:700}body.chat-mode .foot .ml b{color:#a39e8e;margin-left:auto;font-family:Inter,Noto Sans SC,sans-serif;font-size:11px;font-weight:600}body.chat-mode .foot svg{stroke:currentColor;fill:none;stroke-width:1.6px;width:14px;height:14px}body.chat-mode .main{background:#fafaf7;border-right:1px solid #ece9dc;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}body.chat-mode .head{background:#fafaf7;border-bottom:1px solid #ece9dc;flex-shrink:0;align-items:center;gap:14px;height:68px;padding:0 32px;display:flex}body.chat-mode .head .avatar{width:38px;height:38px;box-shadow:none;background:#deead9;border:0;border-radius:50%;overflow:hidden}body.chat-mode .head .avatar img{width:100%;height:100%;display:block}body.chat-mode .head .avatar .online{display:none}body.chat-mode .head .who{flex:1;min-width:0;line-height:1.2}body.chat-mode .head .who .name{color:#1a2620;letter-spacing:-.005em;font-size:15px;font-weight:700;display:block}body.chat-mode .head .who .stat{color:#4cd964;margin-top:2px;font-size:11.5px;font-weight:500}body.chat-mode .head .actions{color:#6e695c;gap:6px;margin-left:auto;display:flex}body.chat-mode .head .ico-btn{cursor:pointer;width:32px;height:32px;color:inherit;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;display:flex}body.chat-mode .head .ico-btn:hover{background:#a8c9a02e}body.chat-mode .stream{background:#fafaf7;flex:1;min-height:0;padding:24px 0;overflow-y:auto}body.chat-mode .stream-inner{flex-direction:column;gap:18px;max-width:720px;margin:0 auto;padding:0 32px;display:flex}body.chat-mode .day-sep{text-align:center;color:#a39e8e;letter-spacing:.12em;text-transform:uppercase;padding:6px 0 4px;font-size:11px;font-weight:600}body.chat-mode .row{align-items:flex-end;gap:10px;display:flex}body.chat-mode .row.s{justify-content:flex-end}body.chat-mode .avi{background:#deead9;border:0;border-radius:50%;flex-shrink:0;width:34px;height:34px;overflow:hidden}body.chat-mode .avi img{width:100%;height:100%;display:block}body.chat-mode .avi.stu{color:#3d5949;background:#deead9;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}body.chat-mode .bub{letter-spacing:.005em;border-radius:14px;max-width:520px;padding:13px 17px;font-size:15px;line-height:1.7}body.chat-mode .bub.t{color:#0e1f17;background:#d5e5cd;border-top-left-radius:5px}body.chat-mode .bub.s{color:#1a1a1a;background:#fff;border:1px solid #ece9dc;border-top-right-radius:5px}body.chat-mode .bub.gold{color:#1a2620;background:#fff4d6;border:1px solid #e0c68a;box-shadow:0 4px 16px #d67a1f24}body.chat-mode .bub b{font-weight:700}body.chat-mode .msg-text{white-space:pre-wrap;display:block}body.chat-mode .msg-heading{margin:.2em 0 .35em;font-weight:800;line-height:1.45}body.chat-mode .msg-heading.h1{font-size:1.08em}body.chat-mode .msg-heading.h2,body.chat-mode .msg-heading.h3,body.chat-mode .msg-heading.h4{font-size:1em}body.chat-mode .msg-hr{border:0;border-top:1px dashed #3d594947;margin:10px 0}body.chat-mode .msg-table-wrap{background:#ffffff6b;border:1px solid #3d59492e;border-radius:10px;width:100%;margin:10px 0;overflow-x:auto}body.chat-mode .msg-table{border-collapse:collapse;width:100%;min-width:420px;font-size:13px;line-height:1.55}body.chat-mode .msg-table th,body.chat-mode .msg-table td{vertical-align:top;text-align:left;border-bottom:1px solid #3d594924;border-right:1px solid #3d59491a;padding:8px 10px}body.chat-mode .msg-table th:last-child,body.chat-mode .msg-table td:last-child{border-right:0}body.chat-mode .msg-table tr:last-child td{border-bottom:0}body.chat-mode .msg-table th{color:#1a2620;background:#ffffff6b;font-weight:800}body.chat-mode .tex-host .katex{color:inherit}body.chat-mode .tex-host .katex-display{margin:.35em 0}body.chat-mode .tex-host .merror{color:inherit}body.chat-mode .stamp{background:0 0;border:1px dashed #d8d2bd;border-radius:8px;flex-direction:column;gap:3px;max-width:520px;margin-left:44px;padding:8px 13px;display:flex}body.chat-mode .stamp .r1{color:#1a2620;font-size:12.5px;font-weight:600}body.chat-mode .stamp .r2{color:#7a6f58;align-items:center;gap:6px;font-size:11.5px;display:flex}body.chat-mode .stamp .ok{color:#3d5949;margin-left:auto;font-weight:700}body.chat-mode .chat-time{color:#a39e8e;margin:4px 0 0 44px;font-size:11px;display:block}body.chat-mode .wrong-btn{color:#6e695c;background:#fff;border-color:#d8d2bd;margin-left:44px}body.chat-mode .wrong-btn:hover{color:#a85219;border-color:#d67a1f}body.chat-mode .composer{background:#fafaf7;border-top:1px solid #ece9dc;flex-shrink:0;padding:14px 0 20px}body.chat-mode .composer-inner{max-width:720px;margin:0 auto;padding:0 32px}body.chat-mode .quota-row{color:#a39e8e;gap:14px;padding:0 2px 8px;font-size:11.5px;display:flex}body.chat-mode .quota-row b{color:#6e695c;font-weight:600}body.chat-mode .input-row{align-items:center;gap:10px;display:flex}body.chat-mode .cam{color:#3d5949;cursor:pointer;background:#fff;border:1px solid #e5e3da;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}body.chat-mode .cam:disabled,body.chat-mode .send:disabled{opacity:.45;cursor:not-allowed}body.chat-mode .input-box{color:#1a2620;background:#fff;border:1px solid #e5e3da;border-radius:12px;outline:0;flex:1;align-items:center;min-height:46px;padding:12px 18px;font-family:inherit;font-size:14.5px;display:flex}body.chat-mode .input-box::placeholder{color:#a39e8e}body.chat-mode .send{color:#f5efe0;cursor:pointer;background:#1f3329;border:0;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}body.chat-mode .rail{background:#f6f4ec;border-left:0;flex-direction:column;gap:22px;min-width:0;height:100%;min-height:0;padding:24px 22px;display:flex;overflow-y:auto}body.chat-mode .rail h4{letter-spacing:.14em;text-transform:uppercase;color:#7a6f58;align-items:center;gap:6px;margin-bottom:10px;font-size:10.5px;font-weight:700;display:flex}body.chat-mode .rail h4 .line{background:#dcd2b8;flex:1;height:1px}body.chat-mode .topic-card{background:#fff;border:1px solid #ece9dc;border-radius:10px;padding:14px 16px}body.chat-mode .topic-card .ch{color:#7a6f58;letter-spacing:.08em;margin-bottom:4px;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:10px;font-weight:600}body.chat-mode .topic-card .nm{letter-spacing:-.005em;color:#1a2620;font-size:15.5px;font-weight:700}body.chat-mode .topic-card .src{color:#7a6f58;margin-top:4px;font-family:Source Serif Pro,Noto Serif SC,Georgia,serif;font-size:11.5px;font-style:italic}body.chat-mode .rail .path .step{color:#3d3d2e;border-bottom:1px solid #dcd2b880;grid-template-columns:22px 1fr;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;line-height:1.55;display:grid}body.chat-mode .rail .path .step:last-child{border-bottom:0}body.chat-mode .rail .path .step .n{color:#3d5949;background:#deead9;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:10.5px;font-weight:700;display:flex}body.chat-mode .rail .path .step.on .n{color:#fff;background:#3d5949}body.chat-mode .rail .path .step.on{color:#1a2620;font-weight:700}body.chat-mode .rail .path .step.done{color:#7a6f58}body.chat-mode .rail .path .step.done .n{color:#3d5949;background:#fff;border:1px solid #deead9;font-size:11px}body.chat-mode .rail .related .r{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #dcd2b880;flex-direction:column;gap:3px;width:100%;padding:11px 0;font-family:inherit;display:flex}body.chat-mode .rail .related .r:last-child{border-bottom:0}body.chat-mode .rail .related .r:first-child{padding-top:4px}body.chat-mode .rail .related .r .t{color:#1a2620;letter-spacing:-.005em;font-size:13px;font-weight:600}body.chat-mode .rail .related .r .s{color:#7a6f58;align-items:center;gap:5px;font-size:11.5px;display:flex}body.chat-mode .rail .related .r .s.warn{color:#a85219}body.chat-mode .rail .related .r .s.warn:before{content:"⚠";font-size:10px}body.chat-mode .rail .related .r .s.ok:before{content:"✓";color:#3d5949;font-weight:700}body.chat-mode .rail .cta-mini{color:#f5efe0;letter-spacing:.02em;cursor:pointer;text-align:center;background:#1f3329;border:0;border-radius:11px;width:100%;margin-top:auto;padding:16px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,transform 80ms;box-shadow:0 2px 6px #1f33292e}body.chat-mode .rail .cta-mini:hover{background:#162721}body.chat-mode .rail .cta-mini:active{transform:translateY(1px)}body.chat-mode .rail .cta-mini:disabled{cursor:default;box-shadow:none;background:#5c6b62}@media (width<=1180px){body.chat-mode .body.three-col{grid-template-columns:300px minmax(0,1fr)}body.chat-mode .rail{display:none}}@media (width<=820px){body.chat-mode .body.three-col{grid-template-columns:1fr}body.chat-mode .sidebar{display:none}body.chat-mode .head,body.chat-mode .stream-inner,body.chat-mode .composer-inner{padding-left:18px;padding-right:18px}}.md{flex-direction:column;gap:8px;min-width:0;display:flex}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md-p{margin:0;line-height:1.7}.md-h{margin:4px 0 0;font-weight:700;line-height:1.4}.md-h1{font-size:1.16em}.md-h2{font-size:1.09em}.md-h3,.md-h4,.md-h5,.md-h6{font-size:1.02em}.md strong{font-weight:700}.md-list{flex-direction:column;gap:5px;margin:0;padding-left:1.45em;display:flex}.md-list li{line-height:1.65}ul.md-list{list-style:outside}ol.md-list{list-style:decimal}.md-math{text-align:center;max-width:100%;margin:6px 0;padding:2px 0;overflow:auto hidden}.md-math .katex-display{margin:0;padding:0 2px}.md-math .katex{white-space:nowrap;font-size:1.1em}.md .katex{font-size:1em}.tex-fallback{font-style:italic}.md-p .katex,.md-list .katex{white-space:normal}.mb-search{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;margin:16px 32px 0;padding:9px 14px;display:flex}.mb-search .i{color:var(--ink-faint);flex-shrink:0;display:inline-flex}.mb-search input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-family:inherit;font-size:14px}.mb-search input::placeholder{color:var(--ink-faint)}.mb-search-clear{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:14px;line-height:1}.mb-search-clear:hover{color:var(--ink)}.mb-group{flex-direction:column;gap:12px;display:flex}.mb-group+.mb-group{margin-top:10px}.mb-group-head{color:var(--ink-mute);letter-spacing:.04em;padding-left:2px;font-size:12.5px;font-weight:700}.mb-group-num{color:var(--ink-faint);margin-left:4px;font-weight:600}.mb-row.clickable{cursor:pointer;gap:8px;padding:14px 18px;transition:border-color .15s,box-shadow .15s,transform 50ms}.mb-row.clickable:hover{border-color:var(--accent-green);box-shadow:0 4px 14px #3c5a461a}.mb-row.clickable:active{transform:translateY(1px)}.mb-row.clickable .mb-row-title{font-size:15.5px}.mb-review-hint{color:var(--ink-mute);flex:1;align-items:center;gap:5px;font-size:12.5px;font-weight:600;display:inline-flex}.mb-row.clickable .mb-actions{align-items:center}.mreview-scrim{z-index:200;background:#1c241e6b;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.mreview{background:var(--bg-app,#f7f5ee);border-radius:18px;flex-direction:column;width:min(720px,94vw);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 18px 60px #00000047}.mreview-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 22px;display:flex}.mreview-eyebrow{letter-spacing:.08em;color:var(--ink-faint);font-size:11px;font-weight:700}.mreview-head h3{color:var(--ink);margin:4px 0 0;font-size:18px;font-weight:700;line-height:1.35}.mreview-close{cursor:pointer;color:var(--ink-mute);background:0 0;border:0;padding:2px 6px;font-size:18px;line-height:1}.mreview-close:hover{color:var(--ink)}.mreview-body{flex-direction:column;flex:1;gap:14px;padding:20px 22px;display:flex;overflow-y:auto}.mreview-row{justify-content:flex-start;display:flex}.mreview-row.me{justify-content:flex-end}.mreview-bub{background:var(--teacher-bubble,#eaf1e6);max-width:88%;color:var(--ink);border-radius:6px 14px 14px;padding:11px 15px;font-size:15px;line-height:1.7}.mreview-bub.me{background:var(--student-bubble,#fff);border:1px solid var(--student-line,var(--line));border-top-left-radius:14px;border-top-right-radius:6px}.mreview-who{color:var(--ink-mute);margin-bottom:5px;font-size:12px;font-weight:700}.mreview-text{white-space:pre-wrap}.mreview-img{border-radius:10px;max-width:100%;margin-bottom:8px;display:block}.mreview-empty{text-align:center;color:var(--ink-mute);flex-direction:column;align-items:center;gap:12px;padding:20px;font-size:14px;display:flex}.mreview-foot{border-top:1px solid var(--line);color:var(--ink-faint);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;font-size:12.5px;display:flex}.mreview-done{background:var(--bg-card-dark,#22332b);color:#f5efe0;cursor:pointer;border:0;border-radius:10px;flex-shrink:0;padding:8px 16px;font-size:13px;font-weight:600}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2)format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff)format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2)format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff)format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff)format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2)format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff)format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2)format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff)format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2)format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff)format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2)format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff)format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2)format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff)format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2)format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff)format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2)format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff)format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff)format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff)format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2)format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff)format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2)format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff)format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2)format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff)format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2)format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff)format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC)format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff)format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2)format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff)format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2)format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff)format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.16.45"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.newline{display:block}.katex .base{white-space:nowrap;width:min-content;position:relative}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{flex-direction:row;display:inline-flex}.katex .thinbox{width:0;max-width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}.tw-v2{--bg-app:#fafaf7;--bg-sidebar:#f2f0e8;--bg-card:#fff;--bg-card-cream:#f7f5ec;--bg-dark:#1f3329;--bg-dark-hi:#284237;--ink:#1a2620;--ink-soft:#3d5949;--ink-mute:#6e695c;--ink-faint:#a39e8e;--line:#e5e2d7;--line-soft:#eeebe0;--line-warm:#dcd2b8;--green:#3d5949;--green-bg:#deead9;--green-fade:#ecf1e8;--green-leaf:#a8c9a0;--amber:#d67a1f;--amber-soft:#fbe9d2;--amber-deep:#a85219;--review-bg:#fff4d6;--review-edge:#e0c68a;--review-text:#7a5a24;--ok:#3d7a52;--ok-bg:#e1efe0;--leaf:#a8c9a0;--dark:#1f3329;--shadow-sm:0 1px 2px #1a26200d;--shadow-md:0 8px 24px #1a262012;--shadow-lg:0 24px 64px #1a262021;--tw-font:"Inter","Noto Sans SC",-apple-system,"PingFang SC",sans-serif;--tw-serif:"Source Serif Pro",serif;--tw-mono:"JetBrains Mono",ui-monospace,monospace;font-family:var(--tw-font);background:var(--bg-app);color:var(--ink);-webkit-font-smoothing:antialiased;height:100vh}.tw-v2 *{box-sizing:border-box;margin:0;padding:0}.tw-v2 .app{background:var(--bg-app);grid-template-columns:248px minmax(0,1fr);height:100vh;display:grid}.tw-v2 .side{border-right:1px solid var(--line-warm);background:#f4efe0;flex-direction:column;padding:20px 16px 16px 56px;display:flex;position:relative;overflow:hidden}.tw-v2 .side:before{content:"";z-index:1;background:linear-gradient(90deg,#d8c9a5 0%,#e5d7b2 100%);border-right:1px solid #c5b690;width:38px;position:absolute;top:0;bottom:0;left:0}.tw-v2 .side:after{content:"";z-index:2;pointer-events:none;background-image:radial-gradient(circle,#fafaf7 4.4px,#0000001a 4.9px,#0000 5.4px);background-position:50% 56px;background-repeat:repeat-y;background-size:10px 104px;width:10px;position:absolute;top:0;bottom:0;left:14px}.tw-v2 .brand,.tw-v2 .nav,.tw-v2 .side .foot{z-index:3;position:relative}.tw-v2 .brand{border-bottom:1px solid var(--line-warm);align-items:center;gap:11px;margin-bottom:14px;padding:4px 6px 18px;display:flex}.tw-v2 .brand .mark{background:var(--bg-dark);color:#f4efe0;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-family:Ma Shan Zheng,cursive;font-size:19px;line-height:1;display:flex}.tw-v2 .brand .t b{color:var(--ink);letter-spacing:.01em;font-size:14.5px;font-weight:700;display:block}.tw-v2 .brand .t span{color:var(--ink-mute);margin-top:2px;font-size:11px;display:block}.tw-v2 .nav{flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.tw-v2 .nav .item{cursor:pointer;color:var(--ink-soft);text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:11px;width:100%;padding:10px 12px;font-family:inherit;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .14s;display:flex}.tw-v2 .nav .item:hover{background:var(--green-fade)}.tw-v2 .nav .item.on{background:var(--green-bg);color:var(--ink);box-shadow:inset 2px 0 0 var(--green);font-weight:600}.tw-v2 .nav .item .ico{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.tw-v2 .nav .item .ico svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.tw-v2 .nav .item .badge{background:var(--amber);color:#fff;border-radius:8px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:700}.tw-v2 .nav .sep{background:var(--line);height:1px;margin:10px 8px}.tw-v2 .side .foot{border-top:1px solid var(--line);margin-top:auto;padding-top:14px}.tw-v2 .preview-btn{border:1px solid var(--line-warm);background:var(--bg-card);width:100%;color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.tw-v2 .preview-btn:hover{border-color:var(--green);background:var(--green-fade)}.tw-v2 .preview-btn svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.tw-v2 .main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.tw-v2 .topbar{border-bottom:1px solid var(--line);background:var(--bg-app);flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:24px;padding:24px 36px 18px;display:flex}.tw-v2 .topbar .eyebrow{font-family:var(--tw-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:8px;font-size:11px;font-weight:600}.tw-v2 .topbar h1{letter-spacing:-.025em;color:var(--ink);font-size:28px;font-weight:800;line-height:1.1}.tw-v2 .topbar h1 .serif{font-family:var(--tw-serif)}.tw-v2 .topbar .right{align-items:center;gap:10px;display:flex}.tw-v2 .pill-badge{background:var(--green-bg);color:var(--green);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:12px;font-weight:700;display:inline-flex}.tw-v2 .pill-badge .dot{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #3d594929}.tw-v2 .content{flex:1;min-height:0;overflow:hidden}.tw-v2 .card{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px}.tw-v2 .chip{border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:11.5px;font-weight:600;line-height:1.5;display:inline-flex}.tw-v2 .chip.green{background:var(--green-bg);color:var(--ink-soft)}.tw-v2 .chip.amber{background:var(--amber-soft);color:var(--amber-deep)}.tw-v2 .chip.neutral{background:var(--green-fade);color:var(--ink);border:1px solid var(--line-soft)}.tw-v2 .chip.gold{background:var(--review-bg);color:var(--review-text)}.tw-v2 .btn{cursor:pointer;border:0;border-radius:10px;align-items:center;gap:7px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background .14s,border-color .14s;display:inline-flex}.tw-v2 .btn svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.tw-v2 .btn-pri{background:var(--bg-dark);color:#f4efe0}.tw-v2 .btn-pri:hover{background:var(--bg-dark-hi)}.tw-v2 .btn-pri:disabled{opacity:.5;cursor:not-allowed}.tw-v2 .btn-ghost{background:var(--bg-card);color:var(--ink);border:1px solid var(--line-warm)}.tw-v2 .btn-ghost:hover{border-color:var(--green)}.tw-v2 .sc{grid-template-columns:340px minmax(0,1fr);height:100%;min-height:0;display:grid}.tw-v2 .sc-list{border-right:1px solid var(--line);background:var(--bg-app);flex-direction:column;min-height:0;display:flex}.tw-v2 .sc-list .lh{flex-shrink:0;padding:18px 20px 12px}.tw-v2 .sc-list .lh .row{justify-content:space-between;align-items:center;display:flex}.tw-v2 .sc-list .lh h2{letter-spacing:-.01em;font-size:16px;font-weight:700}.tw-v2 .sc-list .lh .refresh{border:1px solid var(--line-warm);background:var(--bg-card);width:30px;height:30px;color:var(--ink-mute);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:flex}.tw-v2 .sc-list .lh .refresh svg{stroke:currentColor;fill:none;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.tw-v2 .sc-list .lh .meta{color:var(--ink-faint);font-size:11.5px;font-family:var(--tw-mono);letter-spacing:.02em;margin-top:5px}.tw-v2 .sc-list .scroll{flex-direction:column;flex:1;gap:8px;padding:4px 14px 16px;display:flex;overflow-y:auto}.tw-v2 .conv{text-align:left;background:var(--bg-card);border:1px solid var(--line);cursor:pointer;border-radius:11px;width:100%;padding:13px 15px;font-family:inherit;transition:border-color .14s,box-shadow .14s;display:block}.tw-v2 .conv:hover{border-color:var(--green-leaf);box-shadow:var(--shadow-sm)}.tw-v2 .conv.on{border-color:var(--green);box-shadow:inset 2px 0 0 var(--green),var(--shadow-sm);background:var(--bg-card)}.tw-v2 .conv .top{align-items:center;gap:8px;margin-bottom:7px;display:flex}.tw-v2 .conv .avi{background:var(--green-bg);width:26px;height:26px;color:var(--green);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.tw-v2 .conv .who{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.tw-v2 .conv .ago{color:var(--ink-faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.tw-v2 .conv .q{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:9px;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.tw-v2 .conv .foot{align-items:center;gap:8px;display:flex}.tw-v2 .conv .foot .dot{background:var(--line-warm);border-radius:50%;width:3px;height:3px}.tw-v2 .conv .foot .m{color:var(--ink-faint);font-size:11px;font-family:var(--tw-mono)}.tw-v2 .conv .foot .flag{color:var(--amber-deep);background:var(--amber-soft);border-radius:5px;margin-left:auto;padding:2px 7px;font-size:10.5px;font-weight:700}.tw-v2 .sc-view{background:var(--bg-app);flex-direction:column;min-height:0;display:flex}.tw-v2 .sc-view .vh{border-bottom:1px solid var(--line);flex-shrink:0;padding:22px 36px 16px}.tw-v2 .sc-view .vh .tags{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:9px;display:flex}.tw-v2 .sc-view .vh h2{letter-spacing:-.015em;color:var(--ink);font-size:21px;font-weight:700}.tw-v2 .sc-view .vh .sub{color:var(--ink-mute);align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.tw-v2 .sc-view .vh .sub svg{stroke:currentColor;fill:none;stroke-width:1.7px;width:13px;height:13px}.tw-v2 .sc-view .vh .thumb{border:1px solid var(--line);border-radius:8px;max-height:120px;margin-top:10px}.tw-v2 .tx{flex:1;padding:24px 36px;overflow-y:auto}.tw-v2 .tx-inner{flex-direction:column;gap:16px;max-width:760px;margin:0 auto;display:flex}.tw-v2 .tx .label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700;font-family:var(--tw-mono);margin-bottom:2px}.tw-v2 .msg{flex-direction:column;gap:5px;display:flex}.tw-v2 .msg .who{color:var(--ink-mute);align-items:center;gap:7px;font-size:11.5px;font-weight:700;display:flex}.tw-v2 .msg .who .t{color:var(--ink-faint);font-weight:500;font-family:var(--tw-mono);font-size:10.5px}.tw-v2 .msg .who .flag-wrong{border:1px solid var(--line-warm);background:var(--bg-card);color:var(--amber-deep);cursor:pointer;border-radius:6px;align-items:center;gap:4px;margin-left:auto;padding:2px 9px;font-family:inherit;font-size:10.5px;font-weight:700;display:inline-flex}.tw-v2 .msg .who .flag-wrong:hover{background:var(--amber-soft);border-color:var(--amber)}.tw-v2 .msg .who .flag-wrong:disabled{opacity:.5;cursor:not-allowed}.tw-v2 .msg .who .flag-wrong svg{width:11px;height:11px}.tw-v2 .msg.stu .bub{background:var(--green-bg);color:#0e1f17;white-space:pre-wrap;border-radius:4px 13px 13px;align-self:flex-start;max-width:88%;padding:12px 16px;font-size:14.5px;line-height:1.7}.tw-v2 .msg.ai{border-left:3px solid var(--amber);padding:2px 0 2px 16px}.tw-v2 .msg.ai .bub{color:var(--ink);white-space:pre-wrap;font-size:14.5px;line-height:1.78}.tw-v2 .msg.review{border-left:3px solid var(--review-edge)}.tw-v2 .msg.review .bub{background:var(--review-bg);color:var(--review-text);white-space:pre-wrap;border-radius:13px;padding:12px 16px;font-size:14.5px;line-height:1.7}.tw-v2 .intervene{border-top:1px solid var(--line);background:var(--bg-card);flex-shrink:0;padding:16px 36px 20px}.tw-v2 .intervene .in{max-width:760px;margin:0 auto}.tw-v2 .intervene .hint{color:var(--ink-mute);align-items:center;gap:7px;margin-bottom:10px;font-size:12px;display:flex}.tw-v2 .intervene .hint svg{width:14px;height:14px;stroke:var(--amber);fill:none;stroke-width:1.7px}.tw-v2 .intervene .actions{align-items:flex-end;gap:10px;display:flex}.tw-v2 .intervene textarea{border:1px solid var(--line-warm);background:var(--bg-app);color:var(--ink);resize:none;border-radius:11px;outline:none;flex:1;min-height:46px;padding:11px 15px;font-family:inherit;font-size:14px;line-height:1.5}.tw-v2 .intervene textarea:focus{border-color:var(--green);background:var(--bg-card)}.tw-v2 .intervene .actions .btn{flex-shrink:0}.tw-v2 .intervene .char{color:var(--ink-faint);font-size:11px;font-family:var(--tw-mono);margin-top:6px}.tw-v2 .sc-empty{color:var(--ink-faint);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.tw-v2 .sc-empty svg{stroke:var(--ink-faint);fill:none;stroke-width:1.3px}.tw-v2 .sc-empty h3{color:var(--ink-mute);font-size:15px;font-weight:700}.tw-v2 .sc-error{background:var(--amber-soft);color:var(--amber-deep);border-radius:8px;align-items:center;gap:6px;margin:12px 14px;padding:10px 12px;font-size:12.5px;display:flex}.tw-v2 .sc-success{color:var(--ok);margin-top:8px;font-size:12.5px;font-weight:600}.tw-v2 .spin{animation:1s linear infinite tw-spin}@keyframes tw-spin{to{transform:rotate(360deg)}}.tw-v2 .content>.legacy-wrap{height:100%;padding:28px 36px;overflow-y:auto}.tw-v2 .ferror{background:var(--amber-soft);color:var(--amber-deep);border-radius:8px;align-items:center;gap:6px;margin-top:12px;padding:10px 12px;font-size:12.5px;display:flex}.tw-v2 .ferror svg{flex-shrink:0;width:14px;height:14px}.tw-v2 .ftip{color:var(--ink-faint);margin-top:10px;font-size:11.5px;line-height:1.6}.tw-v2 .dash{height:100%;padding:26px 36px 40px;overflow-y:auto}.tw-v2 .dash-inner{max-width:1120px;margin:0 auto}.tw-v2 .dash .warn-line{background:var(--amber-soft);color:var(--amber-deep);border-radius:10px;align-items:center;gap:7px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;display:flex}.tw-v2 .dash .empty{text-align:center;color:var(--ink-faint);flex-direction:column;align-items:center;gap:10px;padding:48px;font-size:13px;display:flex}.tw-v2 .kpis{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px;display:grid}.tw-v2 .kpis.k4{grid-template-columns:repeat(4,1fr)}.tw-v2 .kpis.k5{grid-template-columns:repeat(5,1fr)}.tw-v2 .kpi{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;padding:18px 20px}.tw-v2 .kpi .k{font-family:var(--tw-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);font-size:10.5px;font-weight:600}.tw-v2 .kpi .v{letter-spacing:-.03em;color:var(--ink);margin:10px 0 6px;font-size:30px;font-weight:800;line-height:1}.tw-v2 .kpi .v small{color:var(--ink-faint);font-size:13px;font-weight:500}.tw-v2 .kpi .d{align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.tw-v2 .kpi .d.up{color:var(--ok)}.tw-v2 .kpi .d.down{color:var(--amber-deep)}.tw-v2 .kpi.dark{background:var(--bg-dark);border-color:var(--bg-dark)}.tw-v2 .kpi.dark .k{color:#f4efe099}.tw-v2 .kpi.dark .v{color:#f4efe0}.tw-v2 .kpi.dark .v small{color:#f4efe08c}.tw-v2 .kpi.dark .d.up{color:var(--green-leaf)}.tw-v2 .grid2{grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:20px;display:grid}.tw-v2 .panel{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;padding:20px 22px}.tw-v2 .panel h3{letter-spacing:-.01em;margin-bottom:3px;font-size:15px;font-weight:700}.tw-v2 .panel .ph-sub{color:var(--ink-mute);margin-bottom:18px;font-size:12px}.tw-v2 .chart{gap:12px;height:208px;margin-top:8px;display:flex}.tw-v2 .chart .yaxis{text-align:right;flex-direction:column;flex-shrink:0;justify-content:space-between;width:30px;padding-bottom:24px;display:flex}.tw-v2 .chart .yaxis span{font-family:var(--tw-mono);color:var(--ink-faint);font-size:10px;line-height:1;transform:translateY(-4px)}.tw-v2 .chart .plot{flex:1;position:relative}.tw-v2 .chart .cgrid{position:absolute;inset:0 0 24px}.tw-v2 .chart .cgrid .gl{border-top:1px dashed var(--line-soft);height:0;position:absolute;left:0;right:0}.tw-v2 .chart .cgrid .gl.base{border-top:1.5px solid var(--line-warm)}.tw-v2 .chart .bars{align-items:flex-end;gap:14px;padding:0 6px;display:flex;position:absolute;inset:0 0 24px}.tw-v2 .chart .col{flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.tw-v2 .chart .col .bar{background:var(--green-leaf);border-radius:4px 4px 0 0;width:100%;max-width:30px;min-height:2px;position:relative}.tw-v2 .chart .col .bar.peak{background:var(--green)}.tw-v2 .chart .col .bar .val{font-family:var(--tw-mono);color:var(--ink-soft);white-space:nowrap;font-size:10.5px;font-weight:600;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.tw-v2 .chart .col .lbl{text-align:center;color:var(--ink-mute);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;position:absolute;bottom:-21px;left:0;right:0;overflow:hidden}.tw-v2 .rank{flex-direction:column;gap:12px;display:flex}.tw-v2 .rank .r{grid-template-columns:18px 1fr auto;align-items:center;gap:11px;display:grid}.tw-v2 .rank .r .n{font-family:var(--tw-mono);color:var(--ink-faint);font-size:12px;font-weight:700}.tw-v2 .rank .r .info{min-width:0}.tw-v2 .rank .r .info .t{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;margin-bottom:5px;font-size:13.5px;font-weight:600;overflow:hidden}.tw-v2 .rank .r .info .track{background:var(--green-fade);border-radius:3px;height:6px;overflow:hidden}.tw-v2 .rank .r .info .track .fill{background:linear-gradient(90deg,var(--green) 0%,var(--green-leaf) 100%);border-radius:3px;height:100%}.tw-v2 .rank .r .cnt{font-family:var(--tw-mono);color:var(--ink-soft);font-size:12.5px;font-weight:700}.tw-v2 .rank .r.warn .info .track .fill{background:linear-gradient(90deg,var(--amber-deep) 0%,var(--amber) 100%)}.tw-v2 .rank .r.warn .cnt{color:var(--amber-deep)}.tw-v2 .rank .rempty{color:var(--ink-faint);padding:8px 0;font-size:12.5px}.tw-v2 .tbl{border-collapse:collapse;width:100%}.tw-v2 .tbl th{text-align:left;font-family:var(--tw-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line);padding:0 12px 12px;font-size:10.5px;font-weight:600}.tw-v2 .tbl th.r,.tw-v2 .tbl td.r{text-align:right}.tw-v2 .tbl td{border-bottom:1px solid var(--line-soft);color:var(--ink);padding:13px 12px;font-size:13.5px}.tw-v2 .tbl tr:last-child td{border-bottom:0}.tw-v2 .tbl .stu{align-items:center;gap:10px;display:flex}.tw-v2 .tbl .stu .av{background:var(--green-bg);width:30px;height:30px;color:var(--green);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.tw-v2 .tbl .stu .meta{min-width:0;line-height:1.3}.tw-v2 .tbl .stu .meta b{font-size:13.5px;font-weight:600;display:block}.tw-v2 .tbl .stu .meta span{color:var(--ink-faint);font-size:11px}.tw-v2 .tbl .num{font-family:var(--tw-mono);font-variant-numeric:tabular-nums;font-weight:600}.tw-v2 .tbl .pill{border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.tw-v2 .tbl .pill.ok{background:var(--green-bg);color:var(--green)}.tw-v2 .tbl .pill.muted{background:var(--green-fade);color:var(--ink-mute)}.tw-v2 .tbl .warn{color:var(--amber-deep);font-weight:700}.tw-v2 .dash .section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.tw-v2 .dash .section-head h3{letter-spacing:-.01em;font-size:15px;font-weight:700}.tw-v2 .dash .seg{background:var(--green-fade);border-radius:8px;flex-shrink:0;gap:4px;padding:3px;display:flex}.tw-v2 .dash .seg button{color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600}.tw-v2 .dash .seg button.on{background:var(--bg-card);color:var(--ink);box-shadow:var(--shadow-sm)}.tw-v2 .dash .refresh-btn{border:1px solid var(--line-warm);background:var(--bg-card);color:var(--ink-soft);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}.tw-v2 .dash .refresh-btn:hover{border-color:var(--green)}.tw-v2 .dash .refresh-btn svg{width:14px;height:14px}.tw-v2 .dash .evlist{flex-direction:column;display:flex}.tw-v2 .dash .evrow{border-bottom:1px solid var(--line-soft);grid-template-columns:84px 1fr auto;align-items:center;gap:12px;padding:10px 0;font-size:12.5px;display:grid}.tw-v2 .dash .evrow:last-child{border-bottom:0}.tw-v2 .dash .evrow time{font-family:var(--tw-mono);color:var(--ink-faint);font-size:11px}.tw-v2 .dash .evrow b{color:var(--ink);font-weight:700}.tw-v2 .dash .evrow .who{font-family:var(--tw-mono);color:var(--ink-mute);text-align:right;font-size:11px}.tw-v2 .hw{grid-template-columns:340px minmax(0,1fr);height:100%;min-height:0;display:grid}.tw-v2 .hw-list{border-right:1px solid var(--line);background:var(--bg-app);flex-direction:column;min-height:0;display:flex}.tw-v2 .hw-list .lh{flex-shrink:0;padding:18px 18px 12px}.tw-v2 .hw-list .lh .row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tw-v2 .hw-list .lh h2{font-size:16px;font-weight:700}.tw-v2 .hw-tabs{gap:5px;display:flex}.tw-v2 .hw-tabs button{background:var(--green-fade);color:var(--ink-mute);cursor:pointer;border:0;border-radius:7px;align-items:center;gap:5px;padding:5px 11px;font-family:inherit;font-size:11.5px;font-weight:600;display:inline-flex}.tw-v2 .hw-tabs button.on{background:var(--bg-dark);color:#f4efe0}.tw-v2 .hw-tabs .tcount{font-size:10px;font-weight:700}.tw-v2 .hw-tabs .ref{background:var(--bg-card);border:1px solid var(--line-warm);color:var(--ink-mute);border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;padding:0;display:inline-flex}.tw-v2 .hw-list .scroll{flex-direction:column;flex:1;gap:9px;padding:10px 14px 16px;display:flex;overflow-y:auto}.tw-v2 .grp-lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:10.5px;font-weight:700;font-family:var(--tw-mono);padding:6px 4px 2px}.tw-v2 .hwitem{background:var(--bg-card);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:12px;width:100%;padding:13px 15px;font-family:inherit;display:block}.tw-v2 .hwitem.on{box-shadow:0 0 0 2px var(--green-bg),var(--shadow-sm);border-color:var(--green)}.tw-v2 .hwitem.graded{background:var(--green-fade)}.tw-v2 .hwitem .t{align-items:center;gap:9px;margin-bottom:5px;display:flex}.tw-v2 .hwitem .sheet{border:1px solid var(--line-warm);width:28px;height:34px;color:var(--ink-faint);background:#f7f3e8;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tw-v2 .hwitem .sheet img{object-fit:cover;width:100%;height:100%}.tw-v2 .hwitem .nm{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13.5px;font-weight:700;overflow:hidden}.tw-v2 .hwitem .ago{color:var(--ink-faint);flex-shrink:0;font-size:10.5px}.tw-v2 .hwitem .tp{color:var(--ink-mute);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-left:37px;font-size:12px;display:-webkit-box;overflow:hidden}.tw-v2 .hwitem .row2{align-items:center;gap:8px;margin:10px 0 0 37px;display:flex}.tw-v2 .hwitem .state{align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.tw-v2 .hwitem .state svg{width:13px;height:13px}.tw-v2 .hwitem .state.todo{color:var(--ink-faint)}.tw-v2 .hwitem .state.found{color:var(--amber-deep)}.tw-v2 .hwitem .state.clean{color:var(--ok)}.tw-v2 .hwitem .vd{border-radius:5px;margin-left:auto;padding:2px 7px;font-size:10.5px;font-weight:700}.tw-v2 .vd.correct{background:var(--ok-bg);color:var(--ok)}.tw-v2 .vd.partial{background:var(--amber-soft);color:var(--amber-deep)}.tw-v2 .vd.wrong{color:#9b2226;background:#f6dcda}.tw-v2 .vd.no_answer{background:var(--green-fade);color:var(--ink-mute)}.tw-v2 .hw-view{background:var(--bg-app);min-height:0;padding:24px 36px 40px;overflow-y:auto}.tw-v2 .hw-inner{max-width:760px;margin:0 auto}.tw-v2 .hw-dh{margin-bottom:16px}.tw-v2 .hw-dh .eyebrow{font-family:var(--tw-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px;font-size:10.5px;font-weight:700}.tw-v2 .hw-dh h2{letter-spacing:-.015em;color:var(--ink);font-size:21px;font-weight:700}.tw-v2 .hw-dh .meta{color:var(--ink-mute);align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}.tw-v2 .hw-dh .meta svg{width:13px;height:13px}.tw-v2 .hw-files{margin-bottom:16px}.tw-v2 .hw-files.empty{color:var(--ink-faint);background:var(--bg-card-cream);border:1px solid var(--line-warm);border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:36px;font-size:13px;display:flex}.tw-v2 .hw-gallery{background:var(--bg-card-cream);border:1px solid var(--line-warm);border-radius:14px;padding:12px;position:relative}.tw-v2 .hw-gallery img{object-fit:contain;background:var(--bg-card);border-radius:10px;width:100%;max-height:60vh;display:block}.tw-v2 .hw-gallery .gnav{justify-content:center;align-items:center;gap:14px;margin-top:10px;display:flex}.tw-v2 .hw-gallery .gnav span{font-family:var(--tw-mono);color:var(--ink-mute);text-align:center;min-width:46px;font-size:12.5px}.tw-v2 .hw-gallery .gnav button{border:1px solid var(--line-warm);background:var(--bg-card);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.tw-v2 .hw-gallery .gnav button:hover:not(:disabled){border-color:var(--green);color:var(--green)}.tw-v2 .hw-gallery .gnav button:disabled{opacity:.35;cursor:default}.tw-v2 .hw-pdf{background:var(--bg-card-cream);border:1px solid var(--line-warm);color:var(--ink-mute);border-radius:14px;align-items:center;gap:16px;padding:18px 20px;display:flex}.tw-v2 .hw-pdf .pi{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tw-v2 .hw-pdf .pi strong{color:var(--ink);font-size:14px}.tw-v2 .hw-pdf .pi span{font-size:12px}.tw-v2 .hw-pdf .pa{flex-shrink:0;gap:8px;display:flex}.tw-v2 .hw-pdf .pa .btn{text-decoration:none}.tw-v2 .reviewbox{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;padding:18px 20px}.tw-v2 .reviewbox .rh{color:var(--ink-soft);align-items:center;margin-bottom:11px;font-size:13px;font-weight:700;display:flex}.tw-v2 .reviewbox .rh .vd{border-radius:5px;padding:2px 8px;font-size:10.5px}.tw-v2 .reviewbox .rb .ai-grade{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.tw-v2 .reviewbox textarea{border:1px solid var(--line-warm);background:var(--bg-app);width:100%;color:var(--ink);resize:vertical;border-radius:10px;outline:none;min-height:120px;padding:12px 15px;font-family:inherit;font-size:14px;line-height:1.7}.tw-v2 .reviewbox textarea:focus{border-color:var(--green);background:var(--bg-card)}.tw-v2 .reviewbox .rb{align-items:center;gap:10px;margin-top:13px;display:flex}.tw-v2 .reviewbox .rb .grow{color:var(--ink-faint);font-size:11.5px;font-family:var(--tw-mono);flex:1}.tw-v2 .reviewbox .sent-note{color:var(--ok);margin-top:11px;font-size:12px;font-weight:600}.tw-v2 .hw-empty{height:100%;color:var(--ink-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.tw-v2 .hw-empty h3{color:var(--ink-mute);font-size:15px;font-weight:700}.tw-v2 .lib{grid-template-columns:380px minmax(0,1fr);height:100%;min-height:0;display:grid}.tw-v2 .lib-list{border-right:1px solid var(--line);background:var(--bg-app);flex-direction:column;min-height:0;display:flex}.tw-v2 .lib-list .lh{flex-shrink:0;padding:18px 20px 12px}.tw-v2 .lib-list .lh .row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tw-v2 .lib-list .lh h2{font-size:16px;font-weight:700}.tw-v2 .lib-list .lh .sum{color:var(--ink-faint);font-size:11.5px;font-family:var(--tw-mono);margin-bottom:10px}.tw-v2 .lib-list .lh .sum strong{color:var(--ink-soft)}.tw-v2 .filter{flex-wrap:wrap;gap:6px;display:flex}.tw-v2 .filter button{background:var(--green-fade);color:var(--ink-mute);cursor:pointer;border:0;border-radius:7px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600}.tw-v2 .filter button.on{background:var(--bg-dark);color:#f4efe0}.tw-v2 .lib-list .scroll{flex-direction:column;flex:1;gap:9px;padding:2px 14px 16px;display:flex;overflow-y:auto}.tw-v2 .mcard{background:var(--bg-card);border:1px solid var(--line);border-left:4px solid var(--green);cursor:pointer;text-align:left;border-radius:11px;width:100%;padding:14px 16px;font-family:inherit;transition:box-shadow .14s}.tw-v2 .mcard:hover{box-shadow:var(--shadow-sm)}.tw-v2 .mcard.on{box-shadow:0 0 0 2px var(--green-bg),var(--shadow-sm)}.tw-v2 .mcard.review{border-left-color:var(--amber)}.tw-v2 .mcard.draft{border-left-color:var(--line-warm)}.tw-v2 .mcard.disabled{border-left-color:var(--ink-faint);opacity:.72}.tw-v2 .mcard .top{align-items:center;gap:8px;margin-bottom:7px;display:flex}.tw-v2 .mcard .top .nm{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.tw-v2 .mcard .top .st{background:var(--green-fade);color:var(--ink-mute);border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:700}.tw-v2 .mcard .move{color:var(--ink-mute);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.55;display:-webkit-box;overflow:hidden}.tw-v2 .mcard .foot{font-family:var(--tw-mono);color:var(--ink-faint);align-items:center;gap:8px;margin-top:9px;font-size:10.5px;display:flex}.tw-v2 .mcard .foot .pub{color:var(--green);margin-left:auto;font-weight:700}.tw-v2 .editor{background:var(--bg-app);min-height:0;padding:26px 36px 40px;overflow-y:auto}.tw-v2 .ed-inner{max-width:680px}.tw-v2 .ed-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.tw-v2 .ed-head .nm{letter-spacing:-.02em;font-size:24px;font-weight:800}.tw-v2 .ed-head .meta{font-family:var(--tw-mono);color:var(--ink-faint);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:11px;display:flex}.tw-v2 .ed-head .acts{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.tw-v2 .ed-head .acts .icon-btn{justify-content:center;width:36px;padding:9px 0}.tw-v2 .efield{margin-bottom:18px}.tw-v2 .efield label{color:var(--green);letter-spacing:.02em;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.tw-v2 .efield input,.tw-v2 .efield textarea{border:1px solid var(--line-warm);background:var(--bg-card);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;line-height:1.6}.tw-v2 .efield input:focus,.tw-v2 .efield textarea:focus{border-color:var(--green)}.tw-v2 .efield textarea{resize:vertical;min-height:72px}.tw-v2 .ed-actions{border-top:1px solid var(--line);background:var(--bg-app);gap:10px;margin-top:8px;padding-top:18px;padding-bottom:4px;display:flex;position:sticky;bottom:0}.tw-v2 .ed-actions .grow{flex:1}.tw-v2 .lib-empty{color:var(--ink-faint);text-align:center;padding:24px 16px;font-size:12.5px}.tw-v2 .ed-empty{height:100%;color:var(--ink-faint);text-align:center;justify-content:center;align-items:center;padding:40px;font-size:13px;display:flex}.tw-v2 .lib-list .lh h2 .cnt{font-family:var(--tw-mono);color:var(--ink-faint);letter-spacing:.02em;font-size:11px;font-weight:600}.tw-v2 .lib-list .btn-new{cursor:pointer;background:var(--bg-dark);color:#f4efe0;border:0;border-radius:10px;align-items:center;gap:6px;padding:8px 13px;font-family:inherit;font-size:12.5px;font-weight:700;transition:background .14s;display:inline-flex}.tw-v2 .lib-list .btn-new:hover{background:var(--bg-dark-hi)}.tw-v2 .lib-list .search{margin-bottom:11px;position:relative}.tw-v2 .lib-list .search>svg{color:var(--ink-faint);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.tw-v2 .lib-list .search input{border:1px solid var(--line-warm);background:var(--bg-card);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:9px 12px 9px 33px;font-family:inherit;font-size:13px}.tw-v2 .lib-list .search input:focus{border-color:var(--green)}.tw-v2 .lib-list .search input::placeholder{color:var(--ink-faint)}.tw-v2 .cc{background:var(--bg-card);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:13px;width:100%;padding:14px 16px;font-family:inherit;transition:box-shadow .14s,transform .14s;display:block}.tw-v2 .cc:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.tw-v2 .cc.on{box-shadow:0 0 0 2px var(--green-bg),var(--shadow-sm)}.tw-v2 .cc .top{align-items:center;gap:8px;margin-bottom:10px;display:flex}.tw-v2 .cc .top .nm{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14.5px;font-weight:700;line-height:1.35;overflow:hidden}.tw-v2 .cc .first{background:var(--bg-card-cream);border:1px solid var(--line-soft);border-radius:10px;align-items:flex-start;gap:9px;padding:9px 11px;display:flex}.tw-v2 .cc .first .step1{background:var(--green);color:#fff;width:20px;height:20px;font-family:var(--tw-mono);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:11px;font-weight:700;display:flex}.tw-v2 .cc .first .ftxt{color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.tw-v2 .cc .first .ftxt .k{color:var(--green);letter-spacing:.04em;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.tw-v2 .cc .first.empty{color:var(--ink-faint);align-items:center;font-size:12px}.tw-v2 .cc .foot{font-family:var(--tw-mono);color:var(--ink-faint);align-items:center;gap:10px;margin-top:10px;font-size:10.5px;font-weight:600;display:flex}.tw-v2 .cc .foot .sub{margin-left:auto}.tw-v2 .stchip{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:2px 9px;font-size:11px;font-weight:700;line-height:1.6;display:inline-flex}.tw-v2 .stchip .stdot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.tw-v2 .stchip.st-published{background:var(--ok-bg);color:#2c5a3c}.tw-v2 .stchip.st-published .stdot{background:var(--ok)}.tw-v2 .stchip.st-review{background:var(--review-bg);color:var(--review-text)}.tw-v2 .stchip.st-review .stdot{background:var(--review-edge)}.tw-v2 .stchip.st-draft{background:var(--green-fade);color:var(--ink-mute)}.tw-v2 .stchip.st-draft .stdot{background:var(--line-warm)}.tw-v2 .stchip.st-archived{color:#8a6f62;background:#efe7e2}.tw-v2 .stchip.st-archived .stdot{background:#c9b9b0}.tw-v2 .detail{background:var(--bg-app);min-height:0;overflow-y:auto}.tw-v2 .detail .det-inner{max-width:660px;margin:0 auto;padding:30px 40px 56px}.tw-v2 .detail .preview-flag{color:var(--ink-mute);background:var(--green-fade);border:1px solid var(--line-soft);border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:22px;padding:6px 13px;font-size:11.5px;font-weight:600;display:flex}.tw-v2 .detail .preview-flag svg{color:var(--green)}.tw-v2 .detail .det-head{margin-bottom:24px}.tw-v2 .detail .det-head .eyebrow{font-family:var(--tw-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:10px;font-size:11px;font-weight:600}.tw-v2 .detail .det-head .titlerow{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.tw-v2 .detail .det-head h2{letter-spacing:-.02em;color:var(--ink);font-size:24px;font-weight:800;line-height:1.25}.tw-v2 .detail .sec{margin-bottom:24px}.tw-v2 .detail .sec>.h{color:var(--green);letter-spacing:.02em;align-items:center;gap:8px;margin-bottom:11px;font-size:12px;font-weight:700;display:flex}.tw-v2 .detail .tagrow{flex-wrap:wrap;gap:8px;display:flex}.tw-v2 .detail .tag{background:var(--green-fade);color:var(--ink-soft);border:1px solid var(--line-soft);border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:600}.tw-v2 .detail .ask{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:14px;padding:16px 18px 16px 20px;position:relative}.tw-v2 .detail .ask:before{content:"";background:var(--green-leaf);border-radius:2px;width:3px;position:absolute;top:14px;bottom:14px;left:0}.tw-v2 .detail .ask p{color:var(--ink);font-size:15px;font-weight:500;line-height:1.7}.tw-v2 .detail .steps{flex-direction:column;gap:9px;display:flex}.tw-v2 .detail .step{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;align-items:flex-start;gap:12px;padding:13px 16px;display:flex}.tw-v2 .detail .step .no{background:var(--green-bg);width:26px;height:26px;color:var(--green);font-family:var(--tw-mono);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.tw-v2 .detail .step .tx{color:var(--ink);padding-top:3px;font-size:14px;line-height:1.55}.tw-v2 .detail .errbox{background:var(--bg-card);border:1px solid var(--line);color:var(--ink-soft);box-shadow:var(--shadow-sm);border-radius:12px;padding:14px 17px;font-size:14px;line-height:1.65}.tw-v2 .detail .det-actions{border-top:1px solid var(--line);gap:10px;margin-top:30px;padding-top:20px;display:flex}.tw-v2 .detail .unfinished{background:var(--review-bg);border:1px dashed var(--review-edge);border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:24px;padding:16px 18px;display:flex}.tw-v2 .detail .unfinished svg{color:var(--review-text);flex-shrink:0;margin-top:2px}.tw-v2 .detail .unfinished .t b{color:var(--review-text);margin-bottom:4px;font-size:14px;font-weight:700;display:block}.tw-v2 .detail .unfinished .t span{color:#8a6a2e;font-size:13px;line-height:1.6}.tw-v2 .empty-pane{text-align:center;height:100%;color:var(--ink-faint);flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.tw-v2 .empty-pane .ic{background:var(--green-fade);width:60px;height:60px;color:var(--green);border-radius:16px;justify-content:center;align-items:center;margin-bottom:18px;display:flex}.tw-v2 .empty-pane h3{color:var(--ink-soft);margin-bottom:7px;font-size:17px;font-weight:700}.tw-v2 .empty-pane p{color:var(--ink-mute);max-width:300px;font-size:13.5px;line-height:1.6}.tw-v2 .empty-pane-wrap{flex-direction:column;height:100%;min-height:0;display:flex}.tw-v2 .empty-pane-wrap .empty-pane{flex:1;height:auto}.tw-v2 .persona-pick{border-bottom:1px solid var(--line-soft);background:var(--bg-card-cream);flex-shrink:0;padding:22px 26px 20px}.tw-v2 .persona-head{flex-direction:column;gap:4px;margin-bottom:13px;display:flex}.tw-v2 .persona-head b{color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:800}.tw-v2 .persona-head span{color:var(--ink-mute);font-size:12px}.tw-v2 .persona-chips{flex-wrap:wrap;gap:9px;display:flex}.tw-v2 .persona-chip{border:1px solid var(--line-warm);background:var(--bg-card);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:8px 15px;font-family:inherit;font-size:13px;font-weight:600;transition:all .14s}.tw-v2 .persona-chip:hover:not(:disabled){border-color:var(--green);background:var(--green-fade)}.tw-v2 .persona-chip.on{background:var(--bg-dark);color:#f4efe0;border-color:var(--bg-dark)}.tw-v2 .persona-chip:disabled{opacity:.4;cursor:not-allowed}.tw-v2 .rec{height:100%;padding:28px 36px 40px;overflow-y:auto}.tw-v2 .rec-grid{flex-direction:column;gap:22px;max-width:760px;margin:0 auto;display:flex}.tw-v2 .steps{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px;display:grid}.tw-v2 .step{background:var(--bg-card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.tw-v2 .step.on{border-color:var(--green);background:var(--green-fade)}.tw-v2 .step .n{font-family:var(--tw-mono);color:var(--ink-faint);letter-spacing:.06em;font-size:11px;font-weight:700}.tw-v2 .step.on .n{color:var(--green)}.tw-v2 .step .t{color:var(--ink);margin:6px 0 4px;font-size:14px;font-weight:700}.tw-v2 .step .d{color:var(--ink-mute);font-size:11.5px;line-height:1.55}.tw-v2 .cap{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:16px;padding:22px}.tw-v2 .cap h3{letter-spacing:-.01em;margin-bottom:4px;font-size:16px;font-weight:700}.tw-v2 .cap .sub{color:var(--ink-mute);margin-bottom:16px;font-size:12.5px;line-height:1.6}.tw-v2 .topic-input{border:1px solid var(--line-warm);background:var(--bg-app);width:100%;color:var(--ink);border-radius:11px;outline:none;margin-bottom:18px;padding:12px 15px;font-family:inherit;font-size:14.5px;font-weight:600}.tw-v2 .topic-input:focus{border-color:var(--green);background:var(--bg-card)}.tw-v2 .topic-input::placeholder{color:var(--ink-faint);font-weight:400}.tw-v2 .topic-block{margin-bottom:14px}.tw-v2 .mini-h{color:var(--ink-soft);margin-bottom:8px;font-size:12.5px;font-weight:700}.tw-v2 .mode-tabs{background:var(--green-fade);border-radius:10px;gap:6px;margin-bottom:16px;padding:4px;display:flex}.tw-v2 .mode-tabs button{color:var(--ink-mute);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:600;display:flex}.tw-v2 .mode-tabs button.on{background:var(--bg-card);color:var(--ink);box-shadow:var(--shadow-sm)}.tw-v2 .mode-tabs svg{width:15px;height:15px}.tw-v2 .recbox{border:1px solid var(--line-warm);background:var(--bg-app);border-radius:12px;align-items:center;gap:16px;margin-bottom:14px;padding:16px;display:flex}.tw-v2 .recbox .mic{background:var(--bg-dark);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.tw-v2 .recbox .mic.rec{background:var(--amber);animation:1.4s ease-in-out infinite tw-pulse;box-shadow:0 6px 18px #d67a1f47}.tw-v2 .recbox .mic svg{width:24px;height:24px}@keyframes tw-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.tw-v2 .recbox .wave{flex:1;align-items:center;gap:3px;height:34px;display:flex}.tw-v2 .recbox .wave span{background:var(--green-leaf);opacity:.55;border-radius:2px;flex:1}.tw-v2 .recbox .timer{font-family:var(--tw-mono);color:var(--ink-mute);flex-shrink:0;font-size:13px;font-weight:600}.tw-v2 .transcript{border:1px solid var(--line-warm);background:var(--bg-app);width:100%;color:var(--ink);resize:vertical;border-radius:12px;outline:none;min-height:150px;padding:15px 17px;font-family:inherit;font-size:14.5px;line-height:1.75}.tw-v2 .transcript:focus{border-color:var(--green);background:var(--bg-card)}.tw-v2 .cap-actions{align-items:center;gap:10px;margin-top:16px;display:flex}.tw-v2 .cap-actions .grow{flex:1}.tw-v2 .extract{justify-content:center;width:100%;margin-top:18px;padding:13px}.tw-v2 .dropzone{border:2px dashed var(--line-warm);background:var(--bg-app);text-align:center;cursor:pointer;border-radius:14px;padding:32px 24px}.tw-v2 .dropzone:hover{border-color:var(--green)}.tw-v2 .dropzone .ic{background:var(--green-bg);width:52px;height:52px;color:var(--green);border-radius:13px;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.tw-v2 .dropzone .ic svg{width:25px;height:25px}.tw-v2 .dropzone h4{margin-bottom:6px;font-size:15px;font-weight:700}.tw-v2 .dropzone p{color:var(--ink-mute);margin-bottom:6px;font-size:12.5px;line-height:1.6}.tw-v2 .dropzone .types{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:13px;display:flex}.tw-v2 .dropzone .types span{font-family:var(--tw-mono);color:var(--ink-faint);background:var(--bg-card);border:1px solid var(--line);border-radius:6px;padding:4px 8px;font-size:10px;font-weight:600}.tw-v2 .preview-wrap{border:1px solid var(--line-warm);background:var(--bg-app);text-align:center;border-radius:14px;padding:16px}.tw-v2 .preview-wrap img{border:1px solid var(--line);border-radius:10px;max-width:100%;max-height:320px}.tw-v2 .preview-wrap .pa{justify-content:center;gap:10px;margin-top:14px;display:flex}.tw-v2 .uploaded{flex-direction:column;gap:10px;margin-top:18px;display:flex}.tw-v2 .uhead{color:var(--ink-soft);margin-bottom:2px;font-size:12.5px;font-weight:700}.tw-v2 .ufile{background:var(--bg-app);border:1px solid var(--line);border-radius:11px;align-items:flex-start;gap:13px;padding:12px 15px;display:flex}.tw-v2 .ufile .ft{border:1px solid var(--line);border-radius:8px;flex-shrink:0;width:64px;overflow:hidden}.tw-v2 .ufile .ft img{width:100%;display:block}.tw-v2 .ufile .ft.tag{background:var(--green);color:#fff;height:48px;font-family:var(--tw-mono);border:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.tw-v2 .ufile .info{flex:1;min-width:0}.tw-v2 .ufile .info b{font-size:13.5px;font-weight:700;display:block}.tw-v2 .ufile .info .sub{color:var(--ink-mute);margin:3px 0;font-size:12px}.tw-v2 .ufile .info .ok{color:var(--ok);align-items:center;gap:5px;font-size:11.5px;font-weight:700;display:inline-flex}.tw-v2 .ufile .info .fail{color:var(--amber-deep);font-size:11.5px;font-weight:700}.tw-v2 .ufile .cards-mini{flex-direction:column;gap:6px;margin:8px 0 0;list-style:none;display:flex}.tw-v2 .ufile .cards-mini li{background:var(--bg-card);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.tw-v2 .ufile .cards-mini b{font-size:12.5px}.tw-v2 .ufile .cards-mini p{color:var(--ink-mute);margin-top:2px;font-size:11.5px;line-height:1.5}.tw-v2 .notelist{flex-direction:column;gap:10px;margin-bottom:6px;display:flex}.tw-v2 .noteitem{background:var(--bg-app);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.tw-v2 .noteitem .nh{align-items:center;gap:8px;margin-bottom:6px;display:flex}.tw-v2 .noteitem .nh b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.tw-v2 .noteitem .nh .src{color:var(--ink-faint);flex-shrink:0;font-size:11px}.tw-v2 .noteitem .nh .note-conv{color:var(--green);background:var(--green-fade);border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:10.5px;font-weight:700}.tw-v2 .noteitem p{color:var(--ink-mute);font-size:12.5px;line-height:1.6}.tw-v2 .noteitem .na{align-items:center;gap:8px;margin-top:10px;display:flex}.tw-v2 .gen{grid-template-columns:380px minmax(0,1fr);height:100%;min-height:0;display:grid}.tw-v2 .gen-left{border-right:1px solid var(--line);background:var(--bg-app);padding:24px 26px;overflow-y:auto}.tw-v2 .gen-left h3{margin-bottom:4px;font-size:15px;font-weight:700}.tw-v2 .gen-left .sub{color:var(--ink-mute);margin-bottom:18px;font-size:12.5px;line-height:1.6}.tw-v2 .gfield{margin-bottom:16px}.tw-v2 .gfield label{color:var(--green);margin-bottom:7px;font-size:12px;font-weight:700;display:block}.tw-v2 .gfield input,.tw-v2 .gfield select,.tw-v2 .gfield textarea{border:1px solid var(--line-warm);background:var(--bg-card);width:100%;color:var(--ink);border-radius:10px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px}.tw-v2 .gfield textarea{resize:vertical;min-height:80px;line-height:1.6}.tw-v2 .gfield input:focus,.tw-v2 .gfield textarea:focus,.tw-v2 .gfield select:focus{border-color:var(--green)}.tw-v2 .gen-btn{justify-content:center;width:100%;margin-top:6px;padding:13px}.tw-v2 .gen-right{background:var(--bg-app);padding:24px 30px;overflow-y:auto}.tw-v2 .gen-banner{background:var(--green-fade);border:1px solid var(--green-bg);color:var(--ink-soft);border-radius:11px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:12.5px;display:flex}.tw-v2 .gen-banner svg{width:16px;height:16px;stroke:var(--green);flex-shrink:0}.tw-v2 .gen-banner b{color:var(--ink);font-weight:700}.tw-v2 .preview-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.tw-v2 .preview-head h3{font-size:15px;font-weight:700}.tw-v2 .preview-head .acts{gap:8px;display:flex}.tw-v2 .gen-success{background:var(--green-fade);border:1px solid var(--green-bg);border-radius:14px;margin-bottom:16px;padding:18px 20px}.tw-v2 .gen-success h3{margin-bottom:6px;font-size:15px;font-weight:700}.tw-v2 .gen-success p{color:var(--ink-soft);margin-bottom:12px;font-size:13px}.tw-v2 .doclist{flex-direction:column;gap:10px;display:flex}.tw-v2 .docitem{background:var(--bg-card);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:12px;align-items:center;gap:13px;padding:14px 16px;display:flex}.tw-v2 .docitem .ft{background:var(--green-bg);width:40px;height:40px;color:var(--green);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tw-v2 .docitem .info{flex:1;min-width:0}.tw-v2 .docitem .info b{margin-bottom:3px;font-size:14px;font-weight:700;display:block}.tw-v2 .docitem .info p{color:var(--ink-mute);flex-wrap:wrap;align-items:center;gap:5px;font-size:11.5px;display:flex}.tw-v2 .docitem .info .aud{color:var(--ink-faint);margin-top:3px;display:block}.tw-v2 .docitem .info .errm{color:var(--amber-deep);margin-top:3px;display:block}.tw-v2 .docitem .stat{color:var(--ink-mute);flex-shrink:0;font-size:11.5px;font-weight:700}.tw-v2 .docitem .stat.failed{color:#9b2226}.tw-v2 .gen-empty{text-align:center;color:var(--ink-faint);padding:48px;font-size:13px}.tbr-float{z-index:9999;flex-direction:column;align-items:flex-end;gap:8px;font-family:inherit;display:flex;position:fixed;top:16px;right:16px}.tbr-toggle{color:#12352d;cursor:pointer;background:#fff;border:1px solid #e6d9bd;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 6px 20px #12352d1f}.tbr-badge{color:#fff;background:#d4351c;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.tbr-caret{color:#97a39d;font-size:11px}.tbr-panel{background:#fff;border:1px solid #e6e0d3;border-radius:14px;width:300px;max-height:60vh;padding:8px;overflow-y:auto;box-shadow:0 14px 40px #12352d29}.tbr-empty{text-align:center;color:#8a948f;padding:18px 12px;font-size:13px}.tbr-item{border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.tbr-item+.tbr-item{border-top:1px solid #f0ece2}.tbr-info{min-width:0}.tbr-name{color:#1c2b26;font-size:14px;font-weight:700}.tbr-meta{color:#8a948f;margin-top:2px;font-size:11.5px}.tbr-actions{flex-shrink:0;gap:6px;display:flex}.tbr-approve,.tbr-reject{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:6px 12px;font-size:12.5px;font-weight:700}.tbr-approve{color:#fff;background:#12352d}.tbr-approve:hover:not(:disabled){opacity:.9}.tbr-reject{color:#8a5a00;background:#fff;border-color:#e6d9bd}.tbr-approve:disabled,.tbr-reject:disabled{opacity:.5;cursor:not-allowed}.bind-wrap{box-sizing:border-box;background:linear-gradient(#f7f6f1 0%,#eef1ea 100%);justify-content:center;align-items:center;min-height:100dvh;padding:24px;display:flex}.bind-card{text-align:center;background:#fff;border:1px solid #e6e0d3;border-radius:18px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px 26px;display:flex;box-shadow:0 12px 36px #12352d14}.bind-title{color:#12352d;letter-spacing:.5px;margin:0;font-size:21px;font-weight:800}.bind-sub{color:#5d6964;margin:0;font-size:13.5px;line-height:1.6}.bind-field{text-align:left;flex-direction:column;gap:6px;margin-top:4px;display:flex}.bind-field>span{color:#3a4a44;font-size:12.5px;font-weight:600}.bind-field>input{box-sizing:border-box;color:#1c2b26;background:#fcfbf7;border:1px solid #d9cdb8;border-radius:12px;width:100%;padding:12px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.bind-field>input:focus{background:#fff;border-color:#12352d;outline:none;box-shadow:0 0 0 3px #12352d1a}.bind-submit{color:#fff;cursor:pointer;background:#12352d;border:0;border-radius:12px;width:100%;margin-top:8px;padding:13px 16px;font-size:15px;font-weight:700;transition:opacity .15s,transform 50ms}.bind-submit:hover:not(:disabled){opacity:.92}.bind-submit:active:not(:disabled){transform:translateY(1px)}.bind-submit:disabled{opacity:.45;cursor:not-allowed}.bind-logout{color:#8a8f8a;cursor:pointer;background:0 0;border:0;width:100%;margin-top:12px;padding:8px;font-size:13px}.bind-logout:hover{color:#12352d;text-decoration:underline}.bind-error{color:#b3261e;background:#fdeceb;border-radius:8px;padding:8px 10px;font-size:12.5px}.bind-rejected{color:#9a6300;text-align:left;background:#fff6e5;border:1px solid #f0e0bf;border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.5}.bind-wait-icon{margin-bottom:2px;font-size:40px;line-height:1}*{box-sizing:border-box}button{font:inherit;cursor:pointer}.app-shell{background:var(--ppath-paper);min-height:100vh;color:var(--ppath-fg-1);font-family:var(--ppath-font-sans);grid-template-columns:292px minmax(0,1fr);display:grid;overflow:hidden}.workspace{background:var(--ppath-paper);flex-direction:column;min-width:0;height:100vh;display:flex;overflow:hidden}.sidebar{gap:var(--ppath-space-4);padding:var(--ppath-space-5);border-right:var(--ppath-border);background:var(--ppath-paper-deep);flex-direction:column;display:flex}.brand{align-items:center;gap:var(--ppath-space-3);padding:var(--ppath-space-2) var(--ppath-space-1) var(--ppath-space-4);display:flex}.brand strong,.brand span{display:block}.brand strong{color:var(--ppath-fg-1);font-weight:800}.brand span{margin-top:var(--ppath-space-1);color:var(--ppath-fg-3);font-size:var(--ppath-text-xs)}.brand-mark{border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-800);width:42px;height:42px;color:var(--ppath-fg-on-ink);font-weight:900;font-family:var(--ppath-font-display);place-items:center;display:grid}.user-avatar{border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-100);width:38px;height:38px;color:var(--ppath-ink-green-800);place-items:center;font-weight:800;display:grid}.new-chat,.session-item,.gear-button,.teacher-link,.mode-nav button{font:inherit;text-align:left;cursor:pointer;border:0}.new-chat{justify-content:center;align-items:center;gap:var(--ppath-space-2);width:100%;padding:var(--ppath-space-3) var(--ppath-space-4);border-radius:var(--ppath-radius-md);border:var(--ppath-border);color:var(--ppath-fg-1);background:var(--ppath-card);transition:transform var(--ppath-dur-fast) var(--ppath-ease), background var(--ppath-dur-fast) var(--ppath-ease);font-weight:700;display:flex}.new-chat:hover{background:var(--ppath-ink-green-50);transform:translateY(-1px)}.sidebar-section{gap:var(--ppath-space-2);flex-direction:column;display:flex}.section-title{margin:var(--ppath-space-2) var(--ppath-space-1);color:var(--ppath-fg-3);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:600}.session-item{padding:var(--ppath-space-3);border-radius:var(--ppath-radius-sm);color:var(--ppath-fg-2);transition:background var(--ppath-dur-fast) var(--ppath-ease), color var(--ppath-dur-fast) var(--ppath-ease);background:0 0;justify-content:flex-start;align-items:center;display:flex}.session-item:hover{background:var(--ppath-ink-green-50);color:var(--ppath-fg-1)}.session-item.active{background:var(--ppath-ink-green-100);color:var(--ppath-fg-1);font-weight:700}.mode-nav{gap:var(--ppath-space-2);flex-direction:column;display:flex}.mode-nav button{justify-content:flex-start;align-items:center;gap:var(--ppath-space-2);padding:var(--ppath-space-3);border-radius:var(--ppath-radius-sm);color:var(--ppath-fg-2);transition:background var(--ppath-dur-fast) var(--ppath-ease);background:0 0;font-weight:600;display:flex}.mode-nav button:hover{background:var(--ppath-ink-green-50);color:var(--ppath-fg-1)}.mode-nav button.active{background:var(--ppath-ink-green-100);color:var(--ppath-ink-green-800);font-weight:800}.gear-button{padding:var(--ppath-space-3);border-radius:var(--ppath-radius-sm);border:var(--ppath-border);background:var(--ppath-card);color:var(--ppath-fg-2);text-align:center;margin-top:auto;font-weight:700}.gear-button:hover{color:var(--ppath-fg-1);background:var(--ppath-ink-green-50)}.teacher-link{margin-top:var(--ppath-space-3);padding:var(--ppath-space-3);border-radius:var(--ppath-radius-sm);border:var(--ppath-border);background:var(--ppath-card);color:var(--ppath-ink-green-800);text-align:center;font-weight:700}.teacher-link:hover{background:var(--ppath-ink-green-100)}.teacher-link.subtle{color:var(--ppath-fg-2);background:0 0;border:0;font-weight:600}.settings-modal{z-index:50;background:#0f172a66;place-items:center;display:grid;position:fixed;inset:0}.settings-card{gap:var(--ppath-space-2);width:min(360px,100% - 32px);padding:var(--ppath-space-5);border-radius:var(--ppath-radius-xl);background:var(--ppath-card);border:var(--ppath-border);box-shadow:var(--ppath-shadow-lg);display:grid}.settings-card header{margin-bottom:var(--ppath-space-2);justify-content:space-between;align-items:center;display:flex}.settings-card header strong{font-weight:800}.settings-card button{padding:var(--ppath-space-3);border:var(--ppath-border);border-radius:var(--ppath-radius-sm);background:var(--ppath-card);color:var(--ppath-fg-1);text-align:left;justify-content:flex-start;align-items:center;font-weight:700;display:flex}.settings-card button:hover{background:var(--ppath-ink-green-50)}.settings-card button.danger{color:var(--ppath-danger-700);background:var(--ppath-danger-100);border-color:#0000}.topbar{justify-content:space-between;align-items:center;gap:var(--ppath-space-6);padding:var(--ppath-space-6) var(--ppath-space-8) var(--ppath-space-4);border-bottom:var(--ppath-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;display:flex}.eyebrow{margin:0 0 var(--ppath-space-2);color:var(--ppath-ink-green-500);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700}.topbar h1{font-size:var(--ppath-text-2xl);letter-spacing:var(--ppath-tracking-display);color:var(--ppath-fg-1);margin:0;font-weight:800}.status-pill{padding:var(--ppath-space-2) var(--ppath-space-3);border-radius:var(--ppath-radius-pill);background:var(--ppath-status-approved-bg);color:var(--ppath-status-approved-fg);font-size:var(--ppath-text-xs);align-items:center;font-weight:700;display:inline-flex}.metric-row{gap:var(--ppath-space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.metric-row div{padding:var(--ppath-space-4);border:var(--ppath-border);border-radius:var(--ppath-radius-md);background:var(--ppath-paper-soft)}.metric-row strong{color:var(--ppath-fg-1);font-size:var(--ppath-text-2xl);line-height:1;display:block}.metric-row span{margin-top:var(--ppath-space-2);color:var(--ppath-fg-2);font-size:var(--ppath-text-xs);display:block}.welcome-page{background:var(--ppath-paper-deep);min-height:100vh;color:var(--ppath-fg-1);font-family:var(--ppath-font-sans)}.welcome-nav{padding:var(--ppath-space-6) var(--ppath-space-12);border-bottom:var(--ppath-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:10;background:#ffffffc7;align-items:center;display:flex;position:sticky;top:0}.welcome-hero{gap:var(--ppath-space-12);width:min(1120px, calc(100% - var(--ppath-space-12)));padding:var(--ppath-space-16) 0;grid-template-columns:minmax(0,1fr) 420px;align-items:center;margin:0 auto;display:grid}.welcome-hero h1{font-family:var(--ppath-font-display);letter-spacing:var(--ppath-tracking-hero);color:var(--ppath-fg-1);margin:0;font-size:clamp(48px,7vw,86px);font-weight:900;line-height:.96}.welcome-hero p{max-width:640px;margin:var(--ppath-space-6) 0 0;color:var(--ppath-fg-2);font-size:var(--ppath-text-md);line-height:var(--ppath-leading-body)}.hero-kicker{margin-bottom:var(--ppath-space-4);padding:var(--ppath-space-2) var(--ppath-space-3);border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-100);color:var(--ppath-ink-green-800);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;align-items:center;font-weight:700;display:inline-flex}.hero-actions{gap:var(--ppath-space-3);margin-top:var(--ppath-space-6);flex-wrap:wrap;display:flex}.welcome-hero small{margin-top:var(--ppath-space-4);color:var(--ppath-fg-3);font-size:var(--ppath-text-sm);display:block}.welcome-illustration{padding:var(--ppath-space-6);border-radius:var(--ppath-radius-2xl);background:var(--ppath-card);border:var(--ppath-border);box-shadow:var(--ppath-shadow-lg)}.welcome-illustration img{border-radius:var(--ppath-radius-xl);width:100%;height:auto;display:block}.brand-logo{border-radius:var(--ppath-radius-md);width:36px;height:36px}.brand-logo-horizontal{width:auto;height:44px;display:block}.brand-mark-img{border-radius:var(--ppath-radius-md);width:42px;height:42px;display:block}button{justify-content:center;align-items:center;gap:var(--ppath-space-1);display:inline-flex}button svg{flex-shrink:0}.trust-strip{gap:var(--ppath-space-4);width:min(1120px, calc(100% - var(--ppath-space-12)));margin:0 auto var(--ppath-space-12);padding:var(--ppath-space-6);background:var(--ppath-card);border:var(--ppath-border);border-radius:var(--ppath-radius-2xl);box-shadow:var(--ppath-shadow-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.trust-strip>div{align-items:flex-start;gap:var(--ppath-space-3);display:flex}.trust-strip svg{color:var(--ppath-ink-green-700);flex-shrink:0;margin-top:2px}.trust-strip strong{color:var(--ppath-fg-1);margin-bottom:2px;font-weight:800;display:block}.trust-strip span{color:var(--ppath-fg-2);font-size:var(--ppath-text-sm);line-height:var(--ppath-leading-body);display:block}.welcome-foot{text-align:center;padding:var(--ppath-space-6) 0 var(--ppath-space-8);color:var(--ppath-fg-3);font-size:var(--ppath-text-xs)}.confirm-warning{margin-bottom:var(--ppath-space-4);padding:var(--ppath-space-4);background:var(--ppath-status-review-bg);border:1px solid var(--ppath-amber-600);border-radius:var(--ppath-radius-md);flex-direction:column;gap:4px;display:flex}.confirm-warning strong{color:var(--ppath-amber-700);font-weight:800}.confirm-warning span{color:var(--ppath-fg-1);font-size:var(--ppath-text-sm);line-height:var(--ppath-leading-body)}.problem-banner{margin-bottom:var(--ppath-space-4);padding:var(--ppath-space-4);background:var(--ppath-card-soft);border:var(--ppath-border-soft);border-radius:var(--ppath-radius-md)}.problem-banner span{margin-bottom:var(--ppath-space-1);color:var(--ppath-ink-green-500);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700;display:inline-block}.problem-banner p{color:var(--ppath-fg-1);line-height:var(--ppath-leading-body);margin:0}.step-pill{padding:var(--ppath-space-1) var(--ppath-space-3);border-radius:var(--ppath-radius-pill);background:var(--ppath-amber-50);color:var(--ppath-amber-700);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700;display:inline-block}.status-tag{border-radius:var(--ppath-radius-pill);font-size:var(--ppath-text-xs);letter-spacing:0;align-items:center;font-weight:800;padding:3px var(--ppath-space-2)!important;text-transform:none!important;display:inline-flex!important}.status-tag.approved{background:var(--ppath-status-approved-bg);color:var(--ppath-status-approved-fg)}.status-tag.needs_review,.status-tag.draft,.status-tag.pending,.status-tag.needs_fix{background:var(--ppath-status-review-bg);color:var(--ppath-status-review-fg)}.status-tag.disabled,.status-tag.rejected_example{background:var(--ppath-status-disabled-bg);color:var(--ppath-status-disabled-fg)}.dot-amber{width:6px;height:6px;margin-right:var(--ppath-space-2);border-radius:var(--ppath-radius-pill);background:var(--ppath-amber-600);display:inline-block;box-shadow:0 0 0 4px #c2611f2e}.stuck-list{gap:var(--ppath-space-3);margin:var(--ppath-space-3) 0;flex-direction:column;display:flex}.stuck-item{align-items:flex-start;gap:var(--ppath-space-3);color:var(--ppath-fg-1);line-height:var(--ppath-leading-body);display:flex}.stuck-num{border-radius:var(--ppath-radius-pill);background:var(--ppath-amber-50);border:1.5px solid var(--ppath-amber-600);width:26px;height:26px;color:var(--ppath-amber-700);font-family:var(--ppath-font-display);font-weight:800;font-size:var(--ppath-text-sm);flex-shrink:0;place-items:center;margin-top:2px;display:grid}.parent-summary-card{padding:var(--ppath-space-8);border-radius:var(--ppath-radius-2xl);background:var(--ppath-ink-green-900);color:#f5efe1;gap:var(--ppath-space-3);box-shadow:var(--ppath-shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.parent-summary-card:before{content:"";pointer-events:none;background:radial-gradient(120% 80% at 100% 0,#e36a1c38,#0000 55%);position:absolute;inset:0}.parent-summary-card .ps-eyebrow{font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;color:var(--ppath-amber-500);align-items:center;font-weight:800;display:flex;position:relative}.parent-summary-card .ps-head{justify-content:space-between;align-items:flex-end;gap:var(--ppath-space-4);display:flex;position:relative}.parent-summary-card .ps-head strong{font-size:var(--ppath-text-lg);color:#fff;font-weight:800}.parent-summary-card .ps-meta{text-align:right;font-size:var(--ppath-text-xs);color:#a8c2b6;line-height:var(--ppath-leading-body)}.parent-summary-card .ps-meta b{color:#fff;font-weight:700}.parent-summary-card .ps-headline{font-size:var(--ppath-text-md);color:#f5efe1;border-left:3px solid var(--ppath-amber-600);padding:2px 0 2px var(--ppath-space-3);font-weight:600;line-height:1.55;position:relative}.parent-summary-card .ps-headline em{color:#ffb072;font-style:normal;font-weight:800}.parent-summary-card .ps-kv{gap:var(--ppath-space-3);padding:var(--ppath-space-3) 0;border-top:1px solid #f5efe11f;grid-template-columns:120px 1fr;align-items:start;display:grid;position:relative}.parent-summary-card .ps-kv:first-of-type{margin-top:var(--ppath-space-2);border-top:1px solid #f5efe12e}.parent-summary-card .k{font-size:var(--ppath-text-xs);letter-spacing:.04em;color:#a8c2b6;text-transform:uppercase;padding-top:2px;font-weight:700}.parent-summary-card .v{font-size:var(--ppath-text-sm);line-height:var(--ppath-leading-body);color:#f5efe1}.parent-summary-card .v b{color:#ffb072;font-weight:800}.parent-summary-card .ps-foot{gap:var(--ppath-space-2);flex-wrap:wrap;display:flex;position:relative}.parent-summary-card .ps-foot span{font-size:var(--ppath-text-xs);color:#dfd6c2;border-radius:var(--ppath-radius-pill);background:#f5efe11a;border:1px solid #f5efe12e;padding:5px 10px;font-weight:600}.parent-summary-card .ps-cta{gap:var(--ppath-space-2);display:flex;position:relative}.parent-summary-card .ps-cta button{font:inherit;font-weight:800;font-size:var(--ppath-text-sm);cursor:pointer;border:0;border-radius:10px;align-items:center;gap:6px;padding:10px 16px;display:inline-flex}.parent-summary-card .ps-pri{background:var(--ppath-amber-600);color:#fff;box-shadow:0 6px 18px #e36a1c52}.parent-summary-card .ps-ghost{color:#f5efe1;background:#f5efe11a;border:1px solid #f5efe133}.student-summary p b{color:var(--ppath-ink-green-800)}.flow-page button.next{margin-top:var(--ppath-space-5);background:var(--ppath-amber-600);color:var(--ppath-fg-on-amber);box-shadow:var(--ppath-shadow-amber);border-radius:var(--ppath-radius-md);padding:var(--ppath-space-3) var(--ppath-space-6);border:0;font-weight:800}.welcome-nav button,.hero-actions button,.flow-card button,.main-task button,.dashboard-card button,.path-card button,.tutor-actions button,.choice-grid button,.guide-actions button,.script-buttons button,.recommend-card button,.composer-box .send-button,.composer-box .upload-button,.record-button,.review-actions button,.chatlog-item footer button,.panel-title button,.method-card,.subject-grid button,.teacher-card,.mini-subjects button,.back-link{font:inherit;cursor:pointer;letter-spacing:-.005em;transition:transform var(--ppath-dur-fast) var(--ppath-ease), background var(--ppath-dur-fast) var(--ppath-ease), box-shadow var(--ppath-dur-fast) var(--ppath-ease), border-color var(--ppath-dur-fast) var(--ppath-ease);font-weight:700}.welcome-nav button,.hero-actions button,.flow-card button,.main-task button,.dashboard-card button,.path-card button,.tutor-actions button{border-radius:var(--ppath-radius-sm);padding:var(--ppath-space-3) var(--ppath-space-5);background:var(--ppath-ink-green-800);color:var(--ppath-fg-on-ink);border:0}.welcome-nav button:hover,.hero-actions button:hover,.flow-card button:hover,.main-task button:hover,.dashboard-card button:hover,.path-card button:hover,.tutor-actions button:hover{background:var(--ppath-ink-green-700);transform:translateY(-1px)}.hero-actions button.secondary,.main-task button.ghost,.flow-card button.ghost,.tutor-actions button.ghost{background:var(--ppath-card);color:var(--ppath-ink-green-800);border:var(--ppath-border)}.hero-actions button.secondary:hover,.main-task button.ghost:hover,.flow-card button.ghost:hover,.tutor-actions button.ghost:hover{background:var(--ppath-ink-green-100)}.recommend-card button,.flow-card .accent,.diagnosis-cta{background:var(--ppath-amber-600);color:var(--ppath-fg-on-amber);box-shadow:var(--ppath-shadow-amber)}.recommend-card button:hover,.flow-card .accent:hover,.diagnosis-cta:hover{background:var(--ppath-amber-700)}.student-home,.flow-page,.selection-page,.teacher-grid,.models-layout,.review-layout,.coach-layout,.chat-layout{padding:var(--ppath-space-12);background:var(--ppath-paper);flex:1;overflow:auto}.student-home h1,.flow-page h1,.selection-page h1{margin:0 0 var(--ppath-space-8);font-family:var(--ppath-font-display);letter-spacing:var(--ppath-tracking-hero);color:var(--ppath-fg-1);font-size:clamp(36px,5.2vw,64px);font-weight:900;line-height:1.02}.dashboard-grid{gap:var(--ppath-space-4);grid-template-columns:1.2fr .9fr .9fr;display:grid}.main-task,.dashboard-card,.flow-card,.path-card,.summary-grid>div,.recommend-card,.sample-box,.panel,.review-card,.tutor-detail-card,.recognition-card{border:var(--ppath-border);border-radius:var(--ppath-radius-xl);background:var(--ppath-card);padding:var(--ppath-space-6);box-shadow:var(--ppath-shadow-md)}.main-task h2,.dashboard-card h3,.flow-card h2,.summary-grid h2{margin:var(--ppath-space-2) 0;font-weight:800;font-size:var(--ppath-text-xl);color:var(--ppath-fg-1)}.main-task span,.dashboard-card span,.flow-card span,.summary-grid span{color:var(--ppath-ink-green-500);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700}.main-task p,.dashboard-card p,.flow-card p{color:var(--ppath-fg-2);line-height:var(--ppath-leading-body)}.main-task button,.flow-card button,.dashboard-card button{margin-right:var(--ppath-space-3);margin-top:var(--ppath-space-3)}.mini-subjects{gap:var(--ppath-space-3);margin-top:var(--ppath-space-5);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.mini-subjects button{border:var(--ppath-border);border-radius:var(--ppath-radius-md);padding:var(--ppath-space-4);background:var(--ppath-card);text-align:left;color:var(--ppath-fg-1);flex-direction:column;justify-content:flex-start;align-items:flex-start;font-weight:700;display:flex}.mini-subjects button:hover{background:var(--ppath-ink-green-50);transform:translateY(-1px)}.mini-subjects strong{font-weight:800;display:block}.mini-subjects span{margin-top:var(--ppath-space-1);color:var(--ppath-fg-3);font-size:var(--ppath-text-xs);display:block}.subject-grid,.teacher-grid-cards{gap:var(--ppath-space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.subject-grid button,.teacher-card{border:var(--ppath-border);border-radius:var(--ppath-radius-xl);padding:var(--ppath-space-6);background:var(--ppath-card);text-align:left;box-shadow:var(--ppath-shadow-sm);justify-content:flex-start;align-items:stretch;gap:var(--ppath-space-3);flex-direction:column;display:flex}.subject-grid button:hover,.subject-grid button.active,.teacher-card:hover{box-shadow:var(--ppath-shadow-md);border-color:var(--ppath-ink-green-500);transform:translateY(-2px)}.subject-icon{border-radius:var(--ppath-radius-md);background:var(--ppath-ink-green-100);width:44px;height:44px;color:var(--ppath-ink-green-800);font-family:var(--ppath-font-display);font-weight:900;font-size:var(--ppath-text-md);place-items:center;display:grid}.subject-grid strong{color:var(--ppath-fg-1);font-weight:800;font-size:var(--ppath-text-lg)}.subject-grid span:not(.subject-icon){color:var(--ppath-fg-3);font-size:var(--ppath-text-xs);font-weight:600}.teacher-rail{margin-bottom:var(--ppath-space-8)}.teacher-rail h2{margin:0 0 var(--ppath-space-4);font-weight:800;font-size:var(--ppath-text-lg);color:var(--ppath-fg-1)}.teacher-card strong{color:var(--ppath-fg-1);font-weight:800;font-size:var(--ppath-text-lg)}.teacher-card p,.teacher-card em{color:var(--ppath-fg-2);font-size:var(--ppath-text-sm);font-style:normal;line-height:var(--ppath-leading-body)}.teacher-card em{color:var(--ppath-fg-3)}.tutor-avatar{border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-100);width:44px;height:44px;color:var(--ppath-ink-green-800);font-family:var(--ppath-font-display);place-items:center;font-weight:800;display:grid}.tutor-avatar.large{width:72px;height:72px;font-size:var(--ppath-text-xl)}.tutor-portrait{border-radius:var(--ppath-radius-pill);background:var(--ppath-paper-deep);border:var(--ppath-border);object-fit:cover;width:56px;height:56px;display:block}.tutor-portrait.large{width:96px;height:96px}.teacher-tags{gap:var(--ppath-space-1);flex-wrap:wrap;display:flex}.teacher-tags span{padding:var(--ppath-space-1) var(--ppath-space-2);border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-100);color:var(--ppath-ink-green-800);font-size:var(--ppath-text-xs);font-weight:600}.empty-tip{padding:var(--ppath-space-6);border:1px dashed var(--ppath-line);border-radius:var(--ppath-radius-md);background:var(--ppath-card-soft);color:var(--ppath-fg-3)}.tutor-detail .back-link{margin-bottom:var(--ppath-space-4);color:var(--ppath-fg-2);background:0 0;border:0;font-weight:700;display:inline-block}.tutor-detail-card{gap:var(--ppath-space-6);padding:var(--ppath-space-8);border-radius:var(--ppath-radius-2xl);grid-template-columns:96px minmax(0,1fr);display:grid}.tutor-subline{margin:var(--ppath-space-2) 0 0;color:var(--ppath-fg-2);font-weight:600}.tutor-bio{margin:var(--ppath-space-4) 0 0;color:var(--ppath-fg-1);line-height:var(--ppath-leading-body)}.tutor-meta{gap:var(--ppath-space-2);margin-top:var(--ppath-space-4);flex-wrap:wrap;display:flex}.tutor-meta span{padding:var(--ppath-space-1) var(--ppath-space-3);border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-50);color:var(--ppath-fg-2);font-size:var(--ppath-text-xs);font-weight:600}.sample-box{margin:var(--ppath-space-4) 0;padding:var(--ppath-space-4);background:var(--ppath-card-soft);border:var(--ppath-border-soft);border-radius:var(--ppath-radius-lg)}.sample-box strong{margin-bottom:var(--ppath-space-2);color:var(--ppath-ink-green-500);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700;display:block}.sample-box p{margin:0 0 var(--ppath-space-2);color:var(--ppath-fg-1);line-height:var(--ppath-leading-body)}.tutor-actions{gap:var(--ppath-space-3);margin-top:var(--ppath-space-5);display:flex}.flow-card{max-width:850px}.flow-card textarea,.flow-card label textarea,.recognition-card textarea,.transcript-editor,.edit-field input,.edit-field textarea{width:100%;min-height:110px;margin-top:var(--ppath-space-3);padding:var(--ppath-space-4);border:var(--ppath-border);border-radius:var(--ppath-radius-md);background:var(--ppath-card-soft);color:var(--ppath-fg-1);font:inherit;font-size:var(--ppath-text-base);line-height:var(--ppath-leading-body);resize:vertical}.edit-field input{min-height:0}.flow-card textarea:focus,.transcript-editor:focus,.edit-field input:focus,.edit-field textarea:focus,.recognition-card textarea:focus,.composer-box textarea:focus{border-color:var(--ppath-ink-green-700);background:var(--ppath-card);outline:none}.confirm-grid{gap:var(--ppath-space-3);margin-bottom:var(--ppath-space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.confirm-grid span{padding:var(--ppath-space-3);border-radius:var(--ppath-radius-md);background:var(--ppath-card-soft);color:var(--ppath-fg-1);font-size:var(--ppath-text-sm);font-weight:700}.flow-card label{margin-top:var(--ppath-space-4);color:var(--ppath-ink-green-500);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700;display:block}.flow-card ol{margin:var(--ppath-space-3) 0;padding-left:var(--ppath-space-5);color:var(--ppath-fg-1);line-height:var(--ppath-leading-loose)}.recommend-card{margin:var(--ppath-space-4) 0;padding:var(--ppath-space-5);border:1px solid var(--ppath-amber-600);border-radius:var(--ppath-radius-xl);background:var(--ppath-amber-50);box-shadow:var(--ppath-shadow-amber)}.recommend-card strong{font-family:var(--ppath-font-display);font-weight:900;font-size:var(--ppath-text-xl);color:var(--ppath-amber-700);display:block}.recommend-card span{color:var(--ppath-amber-700);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700}.recommend-card p{margin:var(--ppath-space-2) 0 0;color:var(--ppath-fg-1);line-height:var(--ppath-leading-body)}.coach-layout{gap:var(--ppath-space-5);grid-template-columns:minmax(0,1fr) 320px;display:grid}.step-panel{border:var(--ppath-border);border-radius:var(--ppath-radius-2xl);background:var(--ppath-card);padding:var(--ppath-space-8);box-shadow:var(--ppath-shadow-md)}.step-panel>span{margin-bottom:var(--ppath-space-3);padding:var(--ppath-space-1) var(--ppath-space-3);border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-100);color:var(--ppath-ink-green-800);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700;display:inline-block}.step-panel h2{margin:var(--ppath-space-2) 0 var(--ppath-space-3);font-family:var(--ppath-font-display);font-weight:800;font-size:var(--ppath-text-3xl);color:var(--ppath-fg-1)}.step-panel p{color:var(--ppath-fg-1);font-size:var(--ppath-text-md);line-height:var(--ppath-leading-body)}.choice-grid{gap:var(--ppath-space-3);margin:var(--ppath-space-5) 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.choice-grid button{border:var(--ppath-border);border-radius:var(--ppath-radius-md);padding:var(--ppath-space-4);background:var(--ppath-card-soft);color:var(--ppath-fg-1);font-weight:700}.choice-grid button:hover{background:var(--ppath-ink-green-100);border-color:var(--ppath-ink-green-500)}.guide-actions{gap:var(--ppath-space-2);margin-bottom:var(--ppath-space-4);flex-wrap:wrap;display:flex}.guide-actions button{padding:var(--ppath-space-2) var(--ppath-space-4);border-radius:var(--ppath-radius-pill);border:var(--ppath-border);background:var(--ppath-card);color:var(--ppath-ink-green-800);font-weight:700;font-size:var(--ppath-text-sm)}.guide-actions button:hover{background:var(--ppath-ink-green-100)}.chat-mini{gap:var(--ppath-space-2);margin:var(--ppath-space-5) 0;display:grid}.chat-mini div{padding:var(--ppath-space-3) var(--ppath-space-4);border-radius:var(--ppath-radius-lg);background:var(--ppath-card-soft);border:var(--ppath-border-soft);color:var(--ppath-fg-1);line-height:var(--ppath-leading-body);white-space:pre-wrap}.chat-mini .student{background:var(--ppath-ink-green-100);border-color:var(--ppath-ink-green-100);color:var(--ppath-ink-green-800);justify-self:end;font-weight:700}.chat-mini .teacher{background:var(--ppath-card);border-color:var(--ppath-line);justify-self:start}.path-card{top:var(--ppath-space-5);align-self:flex-start;gap:var(--ppath-space-2);flex-direction:column;display:flex;position:sticky}.path-card strong{color:var(--ppath-fg-1);font-weight:800}.path-card span{padding:var(--ppath-space-3);border-radius:var(--ppath-radius-md);background:var(--ppath-card-soft);color:var(--ppath-fg-2);font-weight:600;display:block}.path-card span.active{background:var(--ppath-ink-green-800);color:var(--ppath-fg-on-ink);font-weight:800}.path-card button{margin-top:var(--ppath-space-3);background:var(--ppath-amber-600);color:var(--ppath-fg-on-amber);box-shadow:var(--ppath-shadow-amber)}.path-card button:hover{background:var(--ppath-amber-700)}.composer-box{gap:var(--ppath-space-3);padding:var(--ppath-space-3);border:var(--ppath-border);border-radius:var(--ppath-radius-xl);background:var(--ppath-card);box-shadow:var(--ppath-shadow-sm);margin-top:var(--ppath-space-4);grid-template-columns:auto minmax(0,1fr) auto;align-items:end;display:grid}.upload-button,.send-button{min-height:44px;padding:0 var(--ppath-space-4);border-radius:var(--ppath-radius-md);cursor:pointer;border:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.upload-button{background:var(--ppath-ink-green-100);color:var(--ppath-ink-green-800)}.upload-button input{display:none}.send-button{background:var(--ppath-ink-green-800);color:var(--ppath-fg-on-ink)}.send-button:hover{background:var(--ppath-ink-green-700)}.composer-box textarea{min-height:44px;padding:var(--ppath-space-3) var(--ppath-space-2);color:var(--ppath-fg-1);font:inherit;resize:none;background:0 0;border:0}.recognition-card{gap:var(--ppath-space-3);margin:var(--ppath-space-3) 0;padding:var(--ppath-space-4);background:var(--ppath-card-soft);grid-template-columns:116px minmax(0,1fr) auto;align-items:stretch;display:grid}.recognition-card img{object-fit:cover;border-radius:var(--ppath-radius-md);border:var(--ppath-border);width:116px;height:86px}.recognition-card span{color:var(--ppath-ink-green-500);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700}.recognition-card button{background:var(--ppath-amber-600);color:var(--ppath-fg-on-amber);padding:0 var(--ppath-space-4);border-radius:var(--ppath-radius-md);min-height:42px;box-shadow:var(--ppath-shadow-amber);border:0;align-self:end;font-weight:800}.recognition-card button:hover{background:var(--ppath-amber-700)}.recognition-card button:disabled,button:disabled{cursor:not-allowed;opacity:.55;box-shadow:none}.summary-grid{gap:var(--ppath-space-4);grid-template-columns:repeat(2,minmax(0,1fr));max-width:980px;display:grid}.summary-grid>div strong{color:var(--ppath-fg-1);font-weight:800}.teacher-grid{gap:var(--ppath-space-5);grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);display:grid}.panel{padding:var(--ppath-space-6);border-radius:var(--ppath-radius-xl)}.hero-panel{grid-column:1/-1}.hero-panel p{max-width:850px;color:var(--ppath-fg-2);line-height:var(--ppath-leading-body)}.workflow-strip{gap:var(--ppath-space-3);margin-top:var(--ppath-space-5);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.workflow-step{padding:var(--ppath-space-4);border-radius:var(--ppath-radius-md);background:var(--ppath-card-soft);border:var(--ppath-border-soft)}.workflow-step strong{color:var(--ppath-fg-1);font-weight:800;display:block}.workflow-step span{margin-top:var(--ppath-space-1);color:var(--ppath-fg-2);font-size:var(--ppath-text-xs);line-height:var(--ppath-leading-body);display:block}.script-buttons{gap:var(--ppath-space-2);margin-top:var(--ppath-space-4);flex-wrap:wrap;display:flex}.script-buttons button{padding:var(--ppath-space-2) var(--ppath-space-4);border-radius:var(--ppath-radius-pill);border:var(--ppath-border);background:var(--ppath-card);color:var(--ppath-ink-green-800);font-weight:700;font-size:var(--ppath-text-sm)}.script-buttons button:hover,.script-buttons button.active{background:var(--ppath-ink-green-100);border-color:var(--ppath-ink-green-500)}.challenge-card{margin-top:var(--ppath-space-4);padding:var(--ppath-space-5);border-radius:var(--ppath-radius-lg);background:var(--ppath-card-soft);border:var(--ppath-border-soft)}.challenge-card span{color:var(--ppath-ink-green-500);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700}.challenge-card strong{margin:var(--ppath-space-2) 0;font-family:var(--ppath-font-display);font-weight:800;font-size:var(--ppath-text-xl);color:var(--ppath-fg-1);display:block}.challenge-card p{color:var(--ppath-fg-2);line-height:var(--ppath-leading-body)}.transcript-editor{min-height:220px}.record-button{margin-top:var(--ppath-space-4);border-radius:var(--ppath-radius-md);padding:var(--ppath-space-4);background:var(--ppath-amber-600);color:var(--ppath-fg-on-amber);box-shadow:var(--ppath-shadow-amber);border:0;font-weight:800}.record-button:hover{background:var(--ppath-amber-700)}.panel-title{margin-bottom:var(--ppath-space-4);justify-content:space-between;align-items:center;display:flex}.panel-title h2{font-weight:800;font-size:var(--ppath-text-lg);color:var(--ppath-fg-1);margin:0}.panel-title span{color:var(--ppath-fg-3);font-size:var(--ppath-text-xs)}.panel-title .status-tag{font-size:var(--ppath-text-xs);color:inherit}.panel-title button{padding:var(--ppath-space-2) var(--ppath-space-3);border-radius:var(--ppath-radius-sm);border:var(--ppath-border);background:var(--ppath-card);color:var(--ppath-fg-1);font-weight:700}.method-list{gap:var(--ppath-space-3);flex-direction:column;display:flex}.method-card{gap:var(--ppath-space-2);padding:var(--ppath-space-4);border:var(--ppath-border);border-radius:var(--ppath-radius-md);background:var(--ppath-card-soft);text-align:left;flex-direction:column;display:flex}.method-card:hover,.method-card.active{background:var(--ppath-card);border-color:var(--ppath-ink-green-500);transform:translateY(-1px)}.method-card>div{justify-content:space-between;align-items:center;display:flex}.method-card strong{color:var(--ppath-fg-1);font-weight:800}.method-card p{color:var(--ppath-fg-2);font-size:var(--ppath-text-sm);line-height:var(--ppath-leading-body)}.method-card span{padding:2px var(--ppath-space-2);border-radius:var(--ppath-radius-pill);font-size:var(--ppath-text-xs);font-weight:700;display:inline-flex}.method-card span.approved,.coverage-grid div span.approved,.full-width span.approved{background:var(--ppath-status-approved-bg);color:var(--ppath-status-approved-fg)}.method-card span.needs_review,.method-card span.draft{background:var(--ppath-status-review-bg);color:var(--ppath-status-review-fg)}.method-card span.disabled{background:var(--ppath-status-disabled-bg);color:var(--ppath-status-disabled-fg)}.method-detail{gap:var(--ppath-space-3);flex-direction:column;display:flex}.method-detail.static{position:static}.edit-field{gap:var(--ppath-space-1);flex-direction:column;display:flex}.edit-field span{color:var(--ppath-ink-green-500);font-size:var(--ppath-text-xs);letter-spacing:var(--ppath-tracking-eyebrow);text-transform:uppercase;font-weight:700}.review-warning{padding:var(--ppath-space-3);border-radius:var(--ppath-radius-md);background:var(--ppath-status-review-bg);color:var(--ppath-status-review-fg);font-size:var(--ppath-text-sm);font-weight:700}.review-actions{gap:var(--ppath-space-2);margin-top:var(--ppath-space-3);display:flex}.review-actions button{padding:var(--ppath-space-2) var(--ppath-space-4);border-radius:var(--ppath-radius-sm);background:var(--ppath-ink-green-800);color:var(--ppath-fg-on-ink);border:0;align-items:center;gap:4px;font-weight:700;display:inline-flex}.review-actions button:nth-child(2){background:var(--ppath-card);color:var(--ppath-fg-1);border:var(--ppath-border)}.review-actions button:nth-child(3){background:var(--ppath-status-disabled-bg);color:var(--ppath-status-disabled-fg)}.coverage-grid{gap:var(--ppath-space-3);margin-top:var(--ppath-space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.coverage-grid>div{padding:var(--ppath-space-4);border-radius:var(--ppath-radius-md);background:var(--ppath-card-soft);border:var(--ppath-border-soft)}.coverage-grid strong{font-family:var(--ppath-font-display);font-weight:900;font-size:var(--ppath-text-2xl);color:var(--ppath-ink-green-800);display:block}.coverage-grid span{margin-top:var(--ppath-space-1);color:var(--ppath-fg-3);font-size:var(--ppath-text-xs);font-weight:600;display:block}.full-width{grid-column:1/-1}.trust-grid{gap:var(--ppath-space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.trust-grid>div{padding:var(--ppath-space-5);border-radius:var(--ppath-radius-lg);background:var(--ppath-card-soft);border:var(--ppath-border-soft)}.trust-grid strong{margin-bottom:var(--ppath-space-2);color:var(--ppath-fg-1);font-weight:800;display:block}.quality-head{align-items:center;gap:var(--ppath-space-2);margin-bottom:var(--ppath-space-2);color:var(--ppath-ink-green-700);display:flex}.quality-head strong{color:var(--ppath-fg-1);margin:0}.trust-grid p{color:var(--ppath-fg-2);line-height:var(--ppath-leading-body)}.chatlog-list{gap:var(--ppath-space-3);flex-direction:column;display:flex}.chatlog-item{padding:var(--ppath-space-5);border:var(--ppath-border);border-radius:var(--ppath-radius-lg);background:var(--ppath-card-soft)}.chatlog-item header{margin-bottom:var(--ppath-space-3);justify-content:space-between;display:flex}.chatlog-item header strong{font-weight:800}.chatlog-item header span{color:var(--ppath-fg-3);font-size:var(--ppath-text-sm)}.chatlog-question{margin:0 0 var(--ppath-space-2);color:var(--ppath-fg-1);line-height:var(--ppath-leading-body)}.chatlog-answer{margin:0 0 var(--ppath-space-3);color:var(--ppath-fg-2);line-height:var(--ppath-leading-body);white-space:pre-wrap}.chatlog-item footer{justify-content:space-between;align-items:center;gap:var(--ppath-space-3);display:flex}.chatlog-item footer em{color:var(--ppath-warning-700);font-style:normal;font-size:var(--ppath-text-sm)}.chatlog-item footer button{margin-left:var(--ppath-space-1);padding:var(--ppath-space-2) var(--ppath-space-3);border-radius:var(--ppath-radius-sm);background:var(--ppath-card);color:var(--ppath-fg-1);border:0;border:var(--ppath-border);font-weight:700;font-size:var(--ppath-text-sm);gap:4px}.chatlog-item footer>div{gap:var(--ppath-space-1);flex-wrap:wrap;display:flex}.chatlog-item footer button:hover{background:var(--ppath-ink-green-50)}.tag-row{gap:var(--ppath-space-1);margin:var(--ppath-space-2) 0;flex-wrap:wrap;display:flex}.tag-row span{padding:2px var(--ppath-space-2);border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-100);color:var(--ppath-ink-green-800);font-size:var(--ppath-text-xs);font-weight:600}.image-chip{padding:2px var(--ppath-space-2);border-radius:var(--ppath-radius-pill);background:var(--ppath-ink-green-50);color:var(--ppath-fg-2);font-size:var(--ppath-text-xs);align-items:center;display:inline-flex}@keyframes ppathPulse{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.typing-bubble{gap:var(--ppath-space-1);padding:var(--ppath-space-3) var(--ppath-space-4);border-radius:var(--ppath-radius-lg);background:var(--ppath-card);border:var(--ppath-border-soft);display:inline-flex}.typing-bubble span{border-radius:var(--ppath-radius-pill);background:var(--ppath-fg-3);width:6px;height:6px;animation:ppathPulse .9s var(--ppath-ease) infinite}.typing-bubble span:nth-child(2){animation-delay:.12s}.typing-bubble span:nth-child(3){animation-delay:.24s}@media (width<=980px){.welcome-hero,.dashboard-grid,.coach-layout,.summary-grid,.teacher-grid,.mini-subjects,.confirm-grid,.choice-grid,.subject-grid,.teacher-grid-cards,.workflow-strip,.coverage-grid,.trust-grid{grid-template-columns:1fr}.trust-strip{padding:var(--ppath-space-4);grid-template-columns:1fr 1fr}.app-shell{grid-template-columns:86px minmax(0,1fr)}.student-home,.flow-page,.selection-page,.teacher-grid,.coach-layout{padding:var(--ppath-space-6)}.welcome-hero{padding:var(--ppath-space-8) 0}.welcome-nav{padding:var(--ppath-space-5) var(--ppath-space-6)}.tutor-detail-card{grid-template-columns:1fr}}@media (width<=640px){.trust-strip,.app-shell{grid-template-columns:1fr}.sidebar{display:none}}.eyebrow.tone-success{color:var(--ppath-success-700)}.eyebrow.tone-amber{color:var(--ppath-amber-700)}.accent-name{color:var(--ppath-ink-green-800);font-weight:900}.page-sub{max-width:720px;color:var(--ppath-fg-2);font-size:var(--ppath-text-md);line-height:var(--ppath-leading-body);margin:-16px 0 28px}.status-pill.muted{color:var(--ppath-fg-2);background:var(--ppath-line-soft)}.teacher-rail .rail-head{justify-content:space-between;align-items:baseline;gap:16px;margin:0 0 14px;display:flex}.teacher-rail .rail-hint{color:var(--ppath-fg-3);font-size:var(--ppath-text-sm)}.teacher-card .tc-head{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.teacher-card .tc-head strong{font-size:var(--ppath-text-md);color:var(--ppath-fg-1)}.teacher-card .tc-foot{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.teacher-card .tutor-rating{color:var(--ppath-amber-700);font-size:var(--ppath-text-sm);font-weight:700}.teacher-card.locked{opacity:.78;cursor:not-allowed}.teacher-card.locked img{filter:grayscale(.6)}.tutor-detail .sample-box{border:var(--ppath-border);border-radius:var(--ppath-radius-xl);background:var(--ppath-card);box-shadow:var(--ppath-shadow-sm);margin-top:24px;padding:24px}.tutor-detail .sample-box strong{font-size:var(--ppath-text-lg);margin:6px 0 18px;display:block}.tutor-detail .sample-chat{flex-direction:column;gap:12px;display:flex}.tutor-detail .sample-chat .msg{border-radius:var(--ppath-radius-md);background:var(--ppath-paper);border:var(--ppath-border-soft);line-height:var(--ppath-leading-body);gap:10px;padding:12px 16px;display:flex}.tutor-detail .sample-chat .msg.student{background:var(--ppath-ink-green-100);border-color:#0000;align-self:flex-end;max-width:70%}.tutor-detail .sample-chat .msg.teacher{align-self:flex-start;max-width:78%}.tutor-detail .sample-chat .msg.teacher img{border:var(--ppath-border-soft);border-radius:50%;flex-shrink:0;width:32px;height:32px}.tutor-detail .sample-chat .msg.teacher em{color:var(--ppath-ink-green-800);font-size:var(--ppath-text-sm);margin-bottom:4px;font-style:normal;font-weight:800;display:block}.tutor-detail .sample-chat .msg.teacher p{color:var(--ppath-fg-1)}.tutor-detail .fit-block{grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;display:grid}.tutor-detail .fit-col{border:var(--ppath-border);border-radius:var(--ppath-radius-xl);background:var(--ppath-card);padding:22px}.tutor-detail .fit-col ul{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.tutor-detail .fit-col li{color:var(--ppath-fg-1);line-height:var(--ppath-leading-body);align-items:flex-start;gap:10px;display:flex}.tutor-detail .guarantee-block{border-radius:var(--ppath-radius-xl);background:var(--ppath-amber-50);border:1px solid var(--ppath-amber-100);color:var(--ppath-amber-700);align-items:flex-start;gap:16px;margin-top:24px;padding:22px;display:flex}.tutor-detail .guarantee-block strong{color:var(--ppath-fg-1);font-size:var(--ppath-text-md);margin-bottom:6px;display:block}.tutor-detail .guarantee-block p{color:var(--ppath-fg-2);line-height:var(--ppath-leading-body)}.student-home .page-head h1{font-family:var(--ppath-font-display);letter-spacing:var(--ppath-tracking-hero);color:var(--ppath-fg-1);margin:0 0 28px;font-size:clamp(38px,5.2vw,60px);font-weight:900;line-height:1.02}.student-home .main-task .main-task-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.dashboard-card .dc-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.dashboard-card .dc-head strong{color:var(--ppath-fg-1);font-size:var(--ppath-text-md);display:block}.dashboard-card .dc-head span{color:var(--ppath-fg-3);font-size:var(--ppath-text-sm);display:block}.dashboard-card .dc-head .status-pill{margin-left:auto}.dashboard-card .dc-avatar{border:var(--ppath-border-soft);border-radius:50%;flex-shrink:0;width:40px;height:40px}.dashboard-card .dc-icon{background:var(--ppath-amber-50);width:40px;height:40px;color:var(--ppath-amber-700);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.dashboard-card .dc-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.dashboard-card .dc-stats li{border-radius:var(--ppath-radius-md);background:var(--ppath-paper);flex-direction:column;gap:2px;padding:12px;display:flex}.dashboard-card .dc-stats em{font-family:var(--ppath-font-display);color:var(--ppath-ink-green-800);font-size:28px;font-style:normal;font-weight:900}.dashboard-card .dc-stats span{color:var(--ppath-fg-3);font-size:var(--ppath-text-xs)}.dashboard-card p em{color:var(--ppath-ink-green-800);font-style:normal;font-weight:900}.subject-strip{margin-top:36px}.subject-strip .eyebrow{margin-bottom:14px}.mini-subjects .mini-icon{border-radius:var(--ppath-radius-sm);background:var(--ppath-ink-green-100);width:32px;height:32px;color:var(--ppath-ink-green-800);place-items:center;margin-bottom:8px;font-size:14px;font-weight:900;display:inline-grid}.mini-subjects button.locked{opacity:.6;cursor:not-allowed}.mini-subjects button.locked .mini-icon{background:var(--ppath-line-soft);color:var(--ppath-fg-3)}.mini-subjects button small{color:var(--ppath-fg-3);font-size:var(--ppath-text-xs);margin-top:4px;display:block}.topbar .topbar-left{align-items:center;gap:12px;display:flex}.topbar .topbar-avatar{border:var(--ppath-border-soft);border-radius:50%;flex-shrink:0;width:44px;height:44px}.topbar .topbar-right{align-items:center;gap:10px;display:flex}.topbar .ghost-btn{border:var(--ppath-border);border-radius:var(--ppath-radius-pill);color:var(--ppath-fg-1);font-weight:700;font-size:var(--ppath-text-sm);cursor:pointer;background:0 0;padding:8px 14px}.topbar .ghost-btn:hover{background:var(--ppath-paper-deep)}.step-panel .step-progress{gap:6px;margin-bottom:14px;display:flex}.step-panel .step-progress span{background:var(--ppath-line);height:4px;transition:background var(--ppath-dur-base) var(--ppath-ease);border-radius:999px;flex:1}.step-panel .step-progress span.active{background:var(--ppath-amber-600)}.step-panel .step-progress span.done{background:var(--ppath-ink-green-700)}.coach-layout .chat-mini .chat-row{align-items:flex-start;gap:10px;margin:10px 0;display:flex}.coach-layout .chat-mini .chat-row.student{justify-content:flex-end}.coach-layout .chat-mini .chat-row .chat-avatar{border:var(--ppath-border-soft);border-radius:50%;flex-shrink:0;width:32px;height:32px}.coach-layout .chat-mini .chat-row .chat-bubble{border-radius:var(--ppath-radius-lg);background:var(--ppath-card);border:var(--ppath-border-soft);max-width:70%;color:var(--ppath-fg-1);line-height:var(--ppath-leading-body);padding:12px 14px}.coach-layout .chat-mini .chat-row.student .chat-bubble{background:var(--ppath-ink-green-100);border-color:#0000}.coach-layout .path-card span{cursor:pointer;transition:background var(--ppath-dur-fast) var(--ppath-ease);justify-content:space-between;align-items:center;gap:8px;display:flex}.coach-layout .path-card span:hover{background:var(--ppath-paper-deep)}.coach-layout .path-card span.done{color:var(--ppath-success-700);background:var(--ppath-success-100)}.coach-layout .path-card .path-error{border-radius:var(--ppath-radius-md);background:var(--ppath-amber-50);border:1px solid var(--ppath-amber-100);margin-top:14px;padding:12px}.coach-layout .path-card .path-error .eyebrow{color:var(--ppath-amber-700);margin-bottom:4px}.coach-layout .path-card .path-error p{color:var(--ppath-fg-2);font-size:var(--ppath-text-sm);line-height:var(--ppath-leading-body)}.composer-box .send-button:disabled,.guide-actions button:disabled{opacity:.4;cursor:not-allowed}.sidebar .teacher-brand-block{flex-direction:column;gap:10px;padding-bottom:6px;display:flex}.sidebar .brand{align-items:center}.sidebar .teacher-brand{padding-bottom:0}.sidebar .teacher-avatar-mark{color:#fbfaf7;background:#12352d}.sidebar .teacher-avatar-mark .lambda{font-family:var(--ppath-font-display,"Noto Serif SC", serif);font-size:24px;font-weight:900}.sidebar .teacher-switch-panel{background:linear-gradient(#fffdf8e6,#faf7efb3);border:1px solid #244f4224;border-radius:14px;gap:10px;padding:12px;display:grid}.sidebar .teacher-switch-panel>span{color:var(--ppath-fg-3);font-size:var(--ppath-text-xs);letter-spacing:.04em;font-weight:800}.sidebar .teacher-switch-grid{gap:6px;display:grid}.sidebar .teacher-switch-grid button{text-align:left;cursor:pointer;background:#fffdf8;border:1px solid #244f421f;border-radius:12px;width:100%;padding:10px 11px;transition:background .12s,border-color .12s,color .12s,transform .12s}.sidebar .teacher-switch-grid button:hover{border-color:#244f4257;transform:translateY(-1px)}.sidebar .teacher-switch-grid button strong,.sidebar .teacher-switch-grid button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar .teacher-switch-grid button strong{color:var(--ppath-fg-1);font-size:13px;line-height:1.2}.sidebar .teacher-switch-grid button small{color:var(--ppath-fg-3);margin-top:2px;font-size:11px}.sidebar .teacher-switch-grid button.active{background:#12352d;border-color:#12352d;box-shadow:0 8px 18px -14px #12352dbf}.sidebar .teacher-switch-grid button.active strong,.sidebar .teacher-switch-grid button.active small{color:#fbfaf7}.sidebar .teacher-switch-compact{width:100%;position:relative}.sidebar .teacher-switch-trigger{color:#244f42;cursor:pointer;background:#fffdf8e0;border:1px solid #244f4224;border-radius:999px;justify-content:space-between;align-items:center;width:100%;min-height:38px;padding:0 12px;font-size:13px;font-weight:900;list-style:none;display:flex}.sidebar .teacher-switch-trigger svg{transition:transform .16s}.sidebar .teacher-switch-compact.open .teacher-switch-trigger svg{transform:rotate(180deg)}.sidebar .teacher-switch-menu{z-index:40;background:#fffdf8;border:1px solid #244f4224;border-radius:14px;width:100%;padding:8px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 44px -24px #12352d8c}.sidebar .teacher-switch-menu button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 11px;display:flex}.sidebar .teacher-switch-menu button>span{gap:2px;min-width:0;display:grid}.sidebar .teacher-switch-menu button:hover,.sidebar .teacher-switch-menu button.active{background:#244f4217}.sidebar .teacher-switch-menu button.active svg{color:#244f42;flex:none}.sidebar .teacher-switch-menu button strong,.sidebar .teacher-switch-menu button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar .teacher-switch-menu button strong{color:var(--ppath-fg-1);font-size:13px}.sidebar .teacher-switch-menu button small{color:var(--ppath-fg-3);font-size:11px}.settings-bind-row{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.settings-bind-row input{min-width:0;height:38px;font:inherit;border:1px solid #244f422e;border-radius:8px;padding:0 10px}.settings-bind-row input:focus{border-color:#244f428c;outline:none;box-shadow:0 0 0 3px #244f4214}.settings-bind-message{color:var(--ppath-fg-2);margin:8px 0 0;font-size:12px}.sidebar .brand-mark-img{flex-shrink:0;width:36px;height:36px}.sidebar .sidebar-foot{flex-direction:column;gap:8px;margin-top:auto;display:flex}.sidebar .user-card{border-radius:var(--ppath-radius-md);background:var(--ppath-card);border:var(--ppath-border-soft);align-items:center;gap:10px;padding:10px 12px;display:flex}.sidebar .user-card .user-avatar{width:36px;height:36px}.sidebar .user-card strong{font-size:var(--ppath-text-sm);color:var(--ppath-fg-1);display:block}.sidebar .user-card span{font-size:var(--ppath-text-xs);color:var(--ppath-fg-3);display:block}@media (width<=980px){.tutor-detail .fit-block{grid-template-columns:1fr}}.summary-v2{max-width:1280px}.summary-v2 .summary-topbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:28px;display:flex}.summary-v2 .summary-topbar h1{letter-spacing:-.02em;margin:6px 0 12px;font-size:clamp(28px,4vw,40px)}.summary-v2 .page-sub{max-width:640px;color:var(--ppath-fg-2);line-height:var(--ppath-leading-body);margin:0}.summary-meta-strip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.summary-v2 .pill{border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.summary-v2 .pill svg{flex-shrink:0}.summary-v2 .pill-amber{background:var(--ppath-amber-100);color:var(--ppath-amber-700)}.summary-v2 .pill-ink{background:var(--ppath-ink-green-100);color:var(--ppath-ink-green-800)}.summary-v2 .pill-success{background:var(--ppath-success-100);color:var(--ppath-success-700)}.summary-v2 .pill-paper{background:var(--ppath-paper-deep);color:var(--ppath-fg-2);border:var(--ppath-border)}.summary-v2 .pill .dot{background:var(--ppath-amber-600);border-radius:50%;width:8px;height:8px;display:inline-block}.summary-layout{grid-template-columns:1.15fr 1fr;align-items:stretch;gap:28px;display:grid}.path-card{background:var(--ppath-card);border:var(--ppath-border);box-shadow:var(--ppath-shadow-md);border-radius:24px;padding:28px 30px 26px}.pc-head{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.pc-title{color:var(--ppath-fg-2);font-size:14px;font-weight:700}.pc-topic{font-family:var(--ppath-font-display);letter-spacing:-.03em;color:var(--ppath-fg-1);margin:4px 0 0;font-size:30px;font-weight:800}.pc-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pc-track{margin-top:10px;padding-left:24px;position:relative}.pc-track:before{content:"";background:var(--ppath-line);width:2px;position:absolute;top:8px;bottom:8px;left:11px}.pc-step{padding:10px 0 18px 8px;position:relative}.pc-step:last-child{padding-bottom:0}.pc-step .pc-bullet{background:var(--ppath-card);border:1.5px solid var(--ppath-ink-green-500);width:24px;height:24px;color:var(--ppath-ink-green-700);font-size:11px;font-weight:700;font-family:var(--ppath-font-mono);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;left:-23px}.pc-step.done .pc-bullet{background:var(--ppath-ink-green-800);color:#fff;border-color:var(--ppath-ink-green-800)}.pc-step.stuck .pc-bullet{background:var(--ppath-amber-600);color:#fff;border-color:var(--ppath-amber-600)}.pc-step .pc-name{color:var(--ppath-fg-1);font-size:16px;font-weight:600}.pc-step .pc-note{color:var(--ppath-fg-2);margin-top:4px;font-size:13.5px;line-height:1.5}.pc-step.stuck .pc-name{color:var(--ppath-amber-700)}.pc-step.stuck .pc-callout{color:var(--ppath-fg-1);background:#fdf3e6;border:1px solid #f3dab8;border-radius:12px;margin-top:10px;padding:12px 14px;font-size:13.5px;line-height:1.55}.pc-step.stuck .pc-callout b{color:var(--ppath-amber-700)}.pc-foot{border-top:var(--ppath-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding-top:18px;display:flex}.pc-foot .pcf-text{color:var(--ppath-fg-1);font-size:14.5px}.pc-foot .pcf-text b{color:var(--ppath-ink-green-800)}.summary-v2 .btn-primary,.summary-v2 .btn-ghost{font:inherit;cursor:pointer;transition:all .14s var(--ppath-ease);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:14px;font-weight:700;display:inline-flex}.summary-v2 .btn-primary{background:var(--ppath-ink-green-800);color:var(--ppath-fg-on-ink)}.summary-v2 .btn-primary:hover{background:var(--ppath-ink-green-700)}.summary-v2 .btn-ghost{background:var(--ppath-card);color:var(--ppath-fg-1);border:var(--ppath-border)}.summary-v2 .btn-ghost:hover{background:var(--ppath-ink-green-100)}.parent-score{background:var(--ppath-paper-deep);border:var(--ppath-border);box-shadow:var(--ppath-shadow-md);border-radius:24px;padding:28px 30px 26px}.ps-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.ps-from{color:var(--ppath-fg-2);font-size:12.5px}.ps-from strong{color:var(--ppath-fg-1);font-size:14px;font-weight:700}.ps-headline{font-family:var(--ppath-font-display);letter-spacing:-.02em;color:var(--ppath-fg-1);margin:0 0 16px;font-size:24px;font-weight:700;line-height:1.35}.ps-headline .key{color:var(--ppath-amber-700);border-bottom:2px solid var(--ppath-amber-600);padding-bottom:1px}.ps-grid2{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.ps-cell{background:var(--ppath-card);border:var(--ppath-border);border-radius:14px;padding:14px 16px}.ps-cell .lab{color:var(--ppath-fg-3);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.ps-cell .val{font-family:var(--ppath-font-display);color:var(--ppath-fg-1);letter-spacing:-.02em;margin-top:4px;font-size:22px;font-weight:800}.ps-cell .val small{font-family:var(--ppath-font-sans);color:var(--ppath-fg-2);margin-left:3px;font-size:12px;font-weight:500}.ps-cell.span2{grid-column:span 2}.ps-bar{background:var(--ppath-line-soft);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.ps-bar .fill{background:var(--ppath-ink-green-500);height:100%;transition:width .4s var(--ppath-ease);border-radius:999px}.ps-block{background:var(--ppath-card);border:var(--ppath-border);border-radius:14px;margin-bottom:12px;padding:14px 16px}.ps-block .lab{color:var(--ppath-ink-green-500);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:11.5px;font-weight:700}.ps-block .val{color:var(--ppath-fg-1);font-size:14.5px;line-height:1.55}.ps-block .val b{font-weight:700}.ps-trust{color:var(--ppath-fg-3);margin:14px 0;font-size:12px;line-height:1.55}.ps-actions{border-top:var(--ppath-border);flex-wrap:wrap;gap:10px;padding-top:14px;display:flex}.ps-actions .btn-primary{background:var(--ppath-amber-600);box-shadow:0 6px 18px #e36a1c47}.ps-actions .btn-primary:hover{background:var(--ppath-amber-700)}@media (width<=980px){.summary-layout{grid-template-columns:1fr}.summary-v2 .summary-topbar{flex-direction:column;align-items:flex-start}.ps-grid2{grid-template-columns:1fr}.ps-cell.span2{grid-column:auto}}.welcome-page.snap-scroll{scroll-snap-type:y mandatory;scroll-behavior:smooth;height:100vh;overflow-y:auto}.welcome-page.snap-scroll .snap-screen{scroll-snap-align:start;flex-direction:column;justify-content:center;align-items:center;gap:clamp(20px,3vw,36px);min-height:calc(100vh - 72px);padding:clamp(48px,6vw,96px) clamp(24px,6vw,96px);display:flex}.welcome-page.snap-scroll .snap-screen.welcome-hero{gap:var(--ppath-space-12,48px);grid-template-columns:minmax(0,1fr) 420px;align-items:center;width:min(1120px,100%);margin:0 auto;display:grid}.welcome-page.snap-scroll .snap-screen.welcome-method,.welcome-page.snap-scroll .snap-screen.welcome-replay,.welcome-page.snap-scroll .snap-screen.welcome-trust{text-align:center}.welcome-page.snap-scroll .snap-screen.welcome-method>*,.welcome-page.snap-scroll .snap-screen.welcome-replay>*,.welcome-page.snap-scroll .snap-screen.welcome-trust>*{width:min(1120px,100%);margin-left:auto;margin-right:auto}.welcome-page.snap-scroll .snap-screen.welcome-method .method-preview-grid{width:100%}.welcome-page.snap-scroll .snap-screen.welcome-trust .trust-strip{text-align:left;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px;display:grid}@media (width<=960px){.welcome-page.snap-scroll .snap-screen.welcome-hero{grid-template-columns:1fr}.welcome-page.snap-scroll .snap-screen.welcome-trust .trust-strip{grid-template-columns:repeat(2,1fr)}}.welcome-nav{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--ppath-line-soft);background:#fbfaf7eb;justify-content:space-between;align-items:center;padding:16px clamp(24px,6vw,96px);display:flex;position:sticky;top:0}.welcome-nav-links{align-items:center;gap:8px;display:flex}.welcome-nav-links button{color:var(--ppath-fg-1);font-size:var(--ppath-text-sm);cursor:pointer;transition:background .18s var(--ppath-ease,ease);background:0 0;border:none;border-radius:8px;padding:8px 14px}.welcome-nav-links button:hover{background:var(--ppath-line-soft)}.welcome-nav-links button.primary{background:var(--ppath-ink-green-800);color:var(--ppath-paper)}.welcome-nav-links button.primary:hover{background:var(--ppath-ink-green-700,#1a4a3e)}.welcome-method{background:var(--ppath-paper-deep,#f4f1ea)}.welcome-method h2,.welcome-replay h2{font-family:var(--ppath-font-display);margin:0 0 16px;font-size:clamp(36px,5vw,60px);font-weight:900;line-height:1.1}.method-preview-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0;display:grid}.method-preview-card{background:var(--ppath-paper);border:1px solid var(--ppath-line-soft);transition:transform .2s var(--ppath-ease,ease), box-shadow .2s var(--ppath-ease,ease);border-radius:16px;flex-direction:column;gap:10px;padding:24px;display:flex}.method-preview-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #12352d14}.method-preview-card .eyebrow{font-size:var(--ppath-text-xs);color:var(--ppath-amber-700,#c2611f);text-transform:uppercase;letter-spacing:.05em}.method-preview-card strong{font-family:var(--ppath-font-display);font-size:var(--ppath-text-lg);color:var(--ppath-ink-green-800)}.method-preview-card p{font-size:var(--ppath-text-sm);color:var(--ppath-fg-2);line-height:1.6}.welcome-replay{background:var(--ppath-paper)}.chat-replay{background:var(--ppath-paper-deep,#f4f1ea);border:1px solid var(--ppath-line-soft);border-radius:18px;max-width:640px;margin:0 auto;padding:24px}.chat-replay-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.chat-replay-head .eyebrow{color:var(--ppath-amber-700,#c2611f);font-size:var(--ppath-text-xs);text-transform:uppercase;letter-spacing:.05em}.chat-replay-head .ghost{background:var(--ppath-paper);border:1px solid var(--ppath-line-soft);font-size:var(--ppath-text-sm);cursor:pointer;color:var(--ppath-fg-1);border-radius:8px;padding:6px 12px}.chat-replay-body{flex-direction:column;gap:12px;min-height:240px;display:flex}.chat-replay-hint{text-align:center;color:var(--ppath-fg-3);font-size:var(--ppath-text-sm);padding:60px 0}.chat-replay .chat-row{animation:replay-fade-in .28s var(--ppath-ease,ease);align-items:flex-start;gap:8px;display:flex}.chat-replay .chat-row.student{justify-content:flex-end}.chat-replay .chat-avatar{border-radius:50%;flex-shrink:0;width:32px;height:32px}.chat-replay .chat-bubble{font-size:var(--ppath-text-sm);border-radius:14px;max-width:80%;padding:10px 14px;line-height:1.6}.chat-replay .chat-row.student .chat-bubble{background:var(--ppath-ink-green-800);color:var(--ppath-paper)}.chat-replay .chat-row.teacher .chat-bubble{background:var(--ppath-paper);color:var(--ppath-fg-1);border:1px solid var(--ppath-line-soft)}@keyframes replay-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.welcome-trust{background:var(--ppath-paper-deep,#f4f1ea)}.welcome-cta-block{background:var(--ppath-paper);text-align:center;border:1px solid var(--ppath-line-soft);border-radius:18px;flex-direction:column;align-items:center;gap:12px;max-width:520px;margin:24px auto 0;padding:32px;display:flex}.welcome-cta-block strong{color:var(--ppath-ink-green-800);font-size:22px}.welcome-cta-block span{color:var(--ppath-fg-2);font-size:var(--ppath-text-sm)}.welcome-cta-block button{background:var(--ppath-ink-green-800);color:var(--ppath-paper);font-size:var(--ppath-text-md);cursor:pointer;transition:transform .18s var(--ppath-ease,ease);border:none;border-radius:999px;padding:12px 28px}.welcome-cta-block button:hover{transform:translateY(-1px)}.method-library{flex:1;width:min(1080px,100%);max-width:1080px;min-height:0;margin:0 auto;padding:0 clamp(24px,5vw,64px) 64px;overflow-y:auto}.library-nav{border-bottom:1px solid var(--ppath-line-soft);justify-content:space-between;align-items:center;margin-bottom:32px;padding:16px 0;display:flex}.library-nav .back-link{color:var(--ppath-fg-2);cursor:pointer;font-size:var(--ppath-text-sm);background:0 0;border:none}.library-hero{padding:24px 0 40px}.library-hero h1{font-family:var(--ppath-font-display);margin:8px 0 12px;font-size:clamp(28px,4vw,44px)}.library-group{margin-bottom:40px}.library-group h2{font-family:var(--ppath-font-display);color:var(--ppath-ink-green-800);margin:0 0 16px;font-size:22px}.library-group h2 small{font-size:var(--ppath-text-sm);color:var(--ppath-fg-3);margin-left:8px;font-weight:400}.library-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.library-item{text-align:left;background:var(--ppath-paper);border:1px solid var(--ppath-line-soft);cursor:pointer;transition:transform .18s var(--ppath-ease,ease), box-shadow .18s var(--ppath-ease,ease), border-color .18s var(--ppath-ease,ease);border-radius:12px;flex-direction:column;gap:8px;padding:20px;display:flex;position:relative}.library-item:hover{border-color:var(--ppath-ink-green-800);transform:translateY(-2px);box-shadow:0 6px 20px #12352d14}.library-item strong{font-family:var(--ppath-font-display);font-size:var(--ppath-text-md);color:var(--ppath-ink-green-800)}.library-item p{font-size:var(--ppath-text-sm);color:var(--ppath-fg-2);flex:1;line-height:1.5}.library-item .library-cta{font-size:var(--ppath-text-xs);color:var(--ppath-amber-700,#c2611f);margin-top:4px}.library-item .source-badge{width:fit-content;color:var(--ppath-amber-700,#c2611f);background:#c2611f14;border:1px solid #c2611f47;border-radius:999px;align-items:center;margin-bottom:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.library-item .library-source{color:var(--ppath-fg-3);margin-top:8px;font-size:11px;line-height:1.4;display:block}.method-detail-page{flex:1;width:min(760px,100%);max-width:760px;min-height:0;margin:0 auto;padding:0 clamp(24px,5vw,48px) 64px;overflow-y:auto}.method-detail-article{padding:24px 0}.method-detail-article h1{font-family:var(--ppath-font-display);color:var(--ppath-ink-green-800);margin:8px 0 16px;font-size:clamp(28px,4vw,40px)}.method-detail-article .lead{font-size:var(--ppath-text-lg);color:var(--ppath-fg-1);background:var(--ppath-paper-deep,#f4f1ea);border-left:3px solid var(--ppath-amber-600,#c2611f);border-radius:4px;margin-bottom:24px;padding:16px 20px;line-height:1.7}.method-evidence-strip{flex-wrap:wrap;gap:8px;margin:-8px 0 20px;display:flex}.method-evidence-strip span{border:1px solid var(--ppath-line);background:var(--ppath-paper-soft);color:var(--ppath-fg-2);border-radius:999px;padding:5px 10px;font-size:12px}.evidence-quote{border-left:3px solid var(--ppath-ink-green-700);background:var(--ppath-paper-soft);color:var(--ppath-fg-2);white-space:pre-wrap;padding:14px 16px;line-height:1.7}.method-detail-article section{margin:24px 0}.method-detail-article h3{font-family:var(--ppath-font-display);font-size:var(--ppath-text-lg);color:var(--ppath-ink-green-800);margin:0 0 8px}.method-step-list{flex-direction:column;gap:8px;margin:0;padding-left:24px;display:flex}.method-step-list li{font-size:var(--ppath-text-md);color:var(--ppath-fg-1);line-height:1.7}.method-detail-cta{text-align:center;margin-top:32px}.method-detail-cta button{background:var(--ppath-ink-green-800);color:var(--ppath-paper);font-size:var(--ppath-text-md);cursor:pointer;border:none;border-radius:999px;padding:12px 28px}.tutor-story{max-width:760px;margin:0 auto;padding:0 clamp(24px,5vw,48px) 64px}.tutor-story-article h1{font-family:var(--ppath-font-display);color:var(--ppath-ink-green-800);margin:8px 0;font-size:clamp(32px,5vw,48px)}.story-hero{border-bottom:1px solid var(--ppath-line-soft);align-items:center;gap:24px;margin-bottom:24px;padding:24px 0 32px;display:flex}.tutor-portrait.xlarge{background:var(--ppath-paper-deep,#f4f1ea);border-radius:50%;flex-shrink:0;width:140px;height:140px}.story-tag{color:var(--ppath-fg-2);font-size:var(--ppath-text-sm);margin:0 0 12px}.story-meta{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.story-meta span{font-size:var(--ppath-text-xs);color:var(--ppath-fg-2);background:var(--ppath-paper-deep,#f4f1ea);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.tutor-story-article section{margin:28px 0}.tutor-story-article h2{font-family:var(--ppath-font-display);color:var(--ppath-ink-green-800);margin:0 0 12px;font-size:24px}.tutor-story-article p{font-size:var(--ppath-text-md);color:var(--ppath-fg-1);margin:0 0 14px;line-height:1.8}.story-students{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.story-students li{background:var(--ppath-paper-deep,#f4f1ea);font-size:var(--ppath-text-sm);border-radius:10px;padding:14px 18px;line-height:1.7}.story-students strong{color:var(--ppath-ink-green-800);margin-right:4px}.story-cta{background:var(--ppath-paper-deep,#f4f1ea);border-radius:14px;flex-direction:column;align-items:center;gap:10px;margin-top:40px;padding:24px;display:flex}.story-cta button{background:var(--ppath-ink-green-800);color:var(--ppath-paper);font-size:var(--ppath-text-md);cursor:pointer;border:none;border-radius:999px;padding:12px 28px}.story-cta span{font-size:var(--ppath-text-sm);color:var(--ppath-fg-2)}.tex-host .katex{font-size:1em}@media (width<=768px){.welcome-page.snap-scroll .snap-screen{padding:32px 20px}.story-hero{text-align:center;flex-direction:column}.welcome-nav-links button:not(.primary){display:none}}.tutor-detail button,.teacher-card,.dashboard-card{transition:transform .18s var(--ppath-ease,ease), box-shadow .18s var(--ppath-ease,ease), border-color .18s var(--ppath-ease,ease), background .18s var(--ppath-ease,ease)}.tutor-detail button:focus-visible,.teacher-card:focus-visible{outline:2px solid var(--ppath-ink-green-600);outline-offset:3px}.tutor-detail .tutor-detail-card{background:var(--ppath-card,#fff);border:1px solid var(--ppath-line-soft);border-radius:var(--ppath-radius-lg,16px);box-shadow:0 1px 0 var(--ppath-line-soft) inset;padding:clamp(20px,3vw,32px);position:relative}.tutor-detail .tutor-detail-card .tutor-portrait.large{border:4px solid var(--ppath-paper-deep,#f4f1ea);border-radius:50%;width:132px;height:132px;box-shadow:0 8px 24px -12px #0000002e}.tutor-detail .tutor-subline{font-size:var(--ppath-text-sm);color:var(--ppath-fg-2);margin:4px 0 12px}.tutor-detail .tutor-meta{flex-wrap:wrap;gap:8px;margin:12px 0 16px;display:flex}.tutor-detail .tutor-meta span{background:var(--ppath-paper-deep,#f4f1ea);font-size:var(--ppath-text-xs);color:var(--ppath-fg-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.tutor-detail .tutor-bio{font-size:var(--ppath-text-md);line-height:var(--ppath-leading-body);color:var(--ppath-fg-1);margin:0 0 16px}.tutor-detail .tutor-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.tutor-detail .tutor-actions button{font-size:var(--ppath-text-md);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:12px 22px;font-weight:600}.tutor-detail .tutor-actions button:not(.ghost){background:var(--ppath-ink-green-800);color:var(--ppath-paper)}.tutor-detail .tutor-actions button:not(.ghost):hover{background:var(--ppath-ink-green-700);box-shadow:0 8px 20px -10px var(--ppath-ink-green-800);transform:translateY(-1px)}.tutor-detail .tutor-actions button:not(.ghost):active{transform:translateY(0)}.tutor-detail .tutor-actions button.ghost{color:var(--ppath-ink-green-800);border-color:var(--ppath-line);background:0 0}.tutor-detail .tutor-actions button.ghost:hover{background:var(--ppath-paper-deep,#f4f1ea);border-color:var(--ppath-ink-green-600)}.tutor-detail .back-link{color:var(--ppath-fg-2);font-size:var(--ppath-text-sm);cursor:pointer;background:0 0;border:none;margin-bottom:12px;padding:6px 10px 6px 0}.tutor-detail .back-link:hover{color:var(--ppath-ink-green-800)}.tutor-detail .fit-block .fit-col[data-tone=success],.tutor-detail .fit-block .fit-col:first-child{border-left:3px solid var(--ppath-success-700);padding-left:14px}.tutor-detail .fit-block .fit-col[data-tone=amber],.tutor-detail .fit-block .fit-col:last-child{border-left:3px solid var(--ppath-amber-700);padding-left:14px}.physics-viz{aspect-ratio:16/9;background:var(--ppath-paper-deep,#f4f1ea);border:1px dashed var(--ppath-line);width:100%;color:var(--ppath-fg-3);font-size:var(--ppath-text-xs);border-radius:12px;place-items:center;margin:16px 0;display:grid;position:relative;overflow:hidden}.physics-viz:before{content:attr(data-kind);font-family:var(--ppath-font-mono,monospace);letter-spacing:.08em;color:var(--ppath-fg-3);text-transform:uppercase;font-size:10px;position:absolute;top:8px;left:12px}.physics-viz[data-kind=collision]:after{content:"⬤ → ⬤";color:var(--ppath-ink-green-600);letter-spacing:12px;font-size:24px}.physics-viz[data-kind=magnetic]:after{content:"⊗ ⊗ ⊗ ⊗";color:var(--ppath-ink-green-600);letter-spacing:12px;font-size:18px}.physics-viz[data-kind=freebody]:after{content:"↑ ⬤ →";color:var(--ppath-ink-green-600);letter-spacing:8px;font-size:24px}.welcome-page.carousel-mode{flex-direction:column;height:100vh;display:flex;overflow:hidden}.welcome-page.carousel-mode .welcome-nav{flex-shrink:0}.welcome-page.carousel-mode .welcome-carousel{flex:auto;min-height:0;position:relative;overflow:hidden}.welcome-page.carousel-mode .carousel-track{scroll-behavior:smooth;scroll-snap-type:x mandatory;width:100%;height:100%;display:flex;overflow-x:hidden}.welcome-page.carousel-mode .carousel-slide{scroll-snap-align:start;flex-direction:column;flex:0 0 100%;justify-content:center;align-items:center;width:100%;height:100%;padding:clamp(32px,5vw,80px) clamp(24px,6vw,96px);display:flex;overflow-y:auto}.welcome-page.carousel-mode .welcome-hero .hero-inner{gap:var(--ppath-space-12,48px);grid-template-columns:minmax(0,1fr) 420px;align-items:center;width:min(1120px,100%);display:grid}.welcome-page.carousel-mode .welcome-hero h1{font-family:var(--ppath-font-display);color:var(--ppath-fg-1);margin:8px 0 16px;font-size:clamp(56px,6.5vw,96px);font-weight:900;line-height:.98}.welcome-page.carousel-mode .welcome-hero p{font-size:var(--ppath-text-lg,18px);color:var(--ppath-fg-2);max-width:540px;line-height:1.6}.welcome-page.carousel-mode .slide-inner{text-align:center;flex-direction:column;align-items:center;gap:18px;width:min(1120px,100%);display:flex}.welcome-page.carousel-mode .welcome-method h2,.welcome-page.carousel-mode .welcome-replay h2{font-family:var(--ppath-font-display);margin:8px 0 16px;font-size:clamp(40px,5vw,68px);font-weight:900;line-height:1.1}.welcome-page.carousel-mode .welcome-method .page-sub,.welcome-page.carousel-mode .welcome-replay .page-sub{font-size:var(--ppath-text-md);max-width:720px;margin:0 0 8px}.welcome-page.carousel-mode .welcome-method .method-preview-grid{width:100%;margin:24px 0}.welcome-page.carousel-mode .welcome-trust .trust-strip{text-align:left;grid-template-columns:repeat(4,1fr);gap:20px;width:100%;margin-bottom:32px;display:grid}.welcome-page.carousel-mode .welcome-trust .welcome-cta-block{margin:8px auto 0}.welcome-page.carousel-mode .carousel-arrow{z-index:5;background:var(--ppath-paper);border:1px solid var(--ppath-line);width:48px;height:48px;color:var(--ppath-ink-green-800);cursor:pointer;transition:transform .18s var(--ppath-ease,ease), box-shadow .18s var(--ppath-ease,ease);border-radius:50%;font-size:28px;line-height:1;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #0000000f}.welcome-page.carousel-mode .carousel-arrow:hover{transform:translateY(-50%)scale(1.06);box-shadow:0 6px 18px #0000001a}.welcome-page.carousel-mode .carousel-arrow.prev{left:24px}.welcome-page.carousel-mode .carousel-arrow.next{right:24px}.welcome-page.carousel-mode .carousel-dots{z-index:5;gap:10px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.welcome-page.carousel-mode .carousel-dots button{background:var(--ppath-line);cursor:pointer;width:10px;height:10px;transition:background .18s var(--ppath-ease,ease), width .18s var(--ppath-ease,ease);border:none;border-radius:50%;padding:0}.welcome-page.carousel-mode .carousel-dots button.active{background:var(--ppath-ink-green-800);border-radius:5px;width:28px}.welcome-page.carousel-mode .welcome-foot{text-align:center;font-size:var(--ppath-text-xs);color:var(--ppath-fg-3);border-top:1px solid var(--ppath-line-soft);flex-shrink:0;padding:12px}@media (width<=960px){.welcome-page.carousel-mode .welcome-hero .hero-inner{grid-template-columns:1fr}.welcome-page.carousel-mode .welcome-trust .trust-strip{grid-template-columns:repeat(2,1fr)}.welcome-page.carousel-mode .carousel-arrow{width:40px;height:40px}}.teacher-grid-cards{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (width<=1024px){.teacher-grid-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.teacher-grid-cards{grid-template-columns:1fr}}.teacher-card{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);cursor:pointer;transition:transform .18s var(--ppath-ease,ease), box-shadow .18s var(--ppath-ease,ease), border-color .18s var(--ppath-ease,ease);border-radius:16px;flex-direction:column;gap:12px;padding:20px;display:flex;position:relative}.teacher-card:hover{border-color:var(--ppath-line);transform:translateY(-2px);box-shadow:0 12px 28px -16px #00000024}.teacher-card:focus-visible{outline:2px solid var(--ppath-ink-green-600);outline-offset:3px}.teacher-card .portrait{border:3px solid var(--ppath-paper);background:var(--ppath-paper-deep);border-radius:50%;flex-shrink:0;place-items:center;width:96px;height:96px;display:grid;overflow:hidden;box-shadow:0 4px 14px -8px #00000029}.teacher-card .portrait svg,.teacher-card .portrait img{object-fit:cover;width:100%;height:100%;display:block}.teacher-card .tc-head .name{letter-spacing:-.01em;margin:0;font-size:18px;font-weight:800}.teacher-card .tc-head .subline{color:var(--ppath-fg-2);margin:2px 0 0;font-size:13px}.teacher-card .meta{flex-wrap:wrap;gap:6px;display:flex}.teacher-card .meta span{background:var(--ppath-paper-deep);color:var(--ppath-fg-2);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;display:inline-flex}.teacher-card .tc-foot{border-top:1px dashed var(--ppath-line);align-items:baseline;gap:6px;margin-top:auto;padding-top:12px;display:flex}.teacher-card .tc-foot strong{color:var(--ppath-ink-green-800);font-size:18px;font-weight:800}.teacher-card .tc-foot em{color:var(--ppath-fg-3);font-size:12px;font-style:normal}.teacher-card[data-status=beta]{cursor:not-allowed}.teacher-card[data-status=beta] .portrait,.teacher-card[data-status=beta] .tc-head,.teacher-card[data-status=beta] .meta,.teacher-card[data-status=beta] .tc-foot{opacity:.55}.teacher-card[data-status=beta]:hover{box-shadow:none;border-color:var(--ppath-line-soft);transform:none}.teacher-card[data-status=beta]:after{content:"内测中";background:var(--ppath-amber-100,#fcefd6);color:var(--ppath-amber-700);letter-spacing:.04em;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:700;position:absolute;top:12px;right:12px}.student-home{flex-direction:column;gap:28px;display:flex}.student-home .dashboard-grid{grid-template-columns:1.6fr 1fr;gap:20px;display:grid}@media (width<=768px){.student-home .dashboard-grid{grid-template-columns:1fr}}.student-home .dashboard-card{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);border-radius:16px;padding:24px;transition:border-color .18s,box-shadow .18s}.student-home .dashboard-card:hover{border-color:var(--ppath-line);box-shadow:0 8px 22px -14px #0000001a}.student-home .dashboard-card .label{letter-spacing:.08em;text-transform:uppercase;color:var(--ppath-fg-2);margin:0 0 8px;font-size:12px;font-weight:700}.student-home .dashboard-card .stat{font-family:var(--ppath-font-display);letter-spacing:-.02em;margin:0;font-size:40px;font-weight:800;line-height:1.1}.student-home .dashboard-card .stat small{font-family:var(--ppath-font-sans);color:var(--ppath-fg-2);margin-left:4px;font-size:14px;font-weight:500}.student-home .dashboard-card .desc{color:var(--ppath-fg-2);margin:8px 0 0;font-size:13px}.student-home .dashboard-card[data-tone=primary]{background:linear-gradient(155deg, var(--ppath-ink-green-800), var(--ppath-ink-green-700));color:var(--ppath-paper);border-color:#0000}.student-home .dashboard-card[data-tone=primary] .label{color:var(--ppath-ink-green-100,#d8e4d3)}.student-home .dashboard-card[data-tone=primary] .stat{color:var(--ppath-paper)}.student-home .dashboard-card[data-tone=primary] .desc{color:#ffffffc7}.student-home .dashboard-card .cta-light{color:var(--ppath-paper);cursor:pointer;background:#ffffff1f;border:1px solid #fff6;border-radius:999px;margin-top:16px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .18s,transform .18s}.student-home .dashboard-card .cta-light:hover{background:#ffffff38;transform:translateY(-1px)}.streak-block{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);border-radius:16px;padding:22px 24px}.streak-block .streak-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.streak-block .streak-head h2{margin:0;font-size:16px;font-weight:700}.streak-block .streak-head .hint{color:var(--ppath-fg-3);font-size:12px}.streak-weekdays{grid-template-columns:repeat(7,36px);gap:5px;width:max-content;margin-bottom:6px;display:grid}.streak-weekdays span{text-align:center;color:var(--ppath-fg-3);letter-spacing:.04em;font-size:11px}.streak-grid{grid-template-columns:repeat(7,36px);gap:5px;width:max-content;display:grid}.streak-cell{width:36px;height:36px;color:var(--ppath-fg-3);border-radius:6px;place-items:center;font-size:11px;font-weight:600;line-height:1;display:grid}.streak-cell[data-active=true]{color:#ffffffc7}.streak-cell[data-today=true]{color:var(--ppath-amber-700);font-weight:800}.streak-cell[data-today=true][data-active=true]{color:var(--ppath-paper)}.streak-cell[data-active=false]{background:var(--ppath-card);border:1px solid var(--ppath-line-soft)}.streak-cell[data-active=true]{background:var(--ppath-ink-green-600,#4a6b46)}.streak-cell[data-today=true]{outline:2px solid var(--ppath-amber-700);outline-offset:1px}.streak-legend{color:var(--ppath-fg-3);align-items:center;gap:6px;margin-top:12px;font-size:11px;display:flex}.streak-legend .dots{gap:3px;display:inline-flex}.streak-legend .dots span{border-radius:2px;width:10px;height:10px}.recent-list{flex-direction:column;gap:10px;display:flex}.recent-list h2{font-family:var(--ppath-font-display);color:var(--ppath-fg-1);margin:0 0 4px;font-size:18px}.recent-card{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);border-left:4px solid var(--ppath-ink-green-600);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:14px;padding:14px 18px;transition:transform .18s,border-color .18s;display:flex}.recent-card:hover{border-color:var(--ppath-line);border-left-color:var(--ppath-ink-green-800);transform:translate(2px)}.recent-card[data-subject=电学],.recent-card[data-subject=电学]:hover{border-left-color:var(--ppath-amber-700)}.recent-card[data-subject=光学]{border-left-color:#6b8cae}.recent-card[data-subject=光学]:hover{border-left-color:#4a6b8d}.recent-card .topic{margin:0;font-size:14px;font-weight:700}.recent-card .when{color:var(--ppath-fg-3);margin:2px 0 0;font-size:12px}.recent-card .result{color:var(--ppath-success-700);background:var(--ppath-paper-deep);border-radius:999px;margin-left:auto;padding:3px 10px;font-size:12px;font-weight:600}.recent-card[data-result=stuck] .result{color:var(--ppath-amber-700)}.coach-shell{background:var(--ppath-paper-deep);border:1px solid var(--ppath-line);border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden}.coach-shell .coach-question{background:var(--ppath-card);border-bottom:1px solid var(--ppath-line);z-index:2;align-items:center;gap:14px;padding:14px 18px;display:flex;position:sticky;top:0}.coach-shell .coach-question .thumb{border:1px solid var(--ppath-line);background:var(--ppath-paper-deep);cursor:zoom-in;border-radius:8px;flex-shrink:0;place-items:center;width:64px;height:64px;transition:border-color .18s,transform .18s;display:grid;overflow:hidden}.coach-shell .coach-question .thumb:hover{border-color:var(--ppath-ink-green-600);transform:scale(1.04)}.coach-shell .coach-question .thumb svg{width:28px;height:28px;color:var(--ppath-fg-3)}.coach-shell .coach-question .qmeta{flex-direction:column;gap:4px;min-width:0;display:flex}.coach-shell .coach-question .qmeta .qno{color:var(--ppath-fg-3);font-size:12px;font-family:var(--ppath-font-mono,monospace);letter-spacing:.04em}.coach-shell .coach-question .qmeta .qtags{flex-wrap:wrap;gap:6px;display:flex}.coach-shell .coach-question .qmeta .qtags span{border-radius:999px;padding:3px 8px;font-size:11px;font-weight:600}.coach-shell .coach-question .qmeta .qtags .topic{background:var(--ppath-ink-green-100,#d8e4d3);color:var(--ppath-ink-green-800)}.coach-shell .coach-question .qmeta .qtags .difficulty{background:var(--ppath-amber-100,#fcefd6);color:var(--ppath-amber-700)}.coach-shell .coach-question .qmeta .qtags .difficulty.difficulty-easy{background:var(--ppath-ink-green-100,#d8e4d3);color:var(--ppath-ink-green-800,#2d5a3f)}.coach-shell .coach-question .qmeta .qtags .difficulty.difficulty-medium{background:var(--ppath-amber-100,#fcefd6);color:var(--ppath-amber-700,#92571a)}.coach-shell .coach-question .qmeta .qtags .difficulty.difficulty-hard{color:#b32424;background:#fde2e2;border:1px solid #f4baba;font-weight:700}.coach-shell .coach-question .thumb.thumb-image{cursor:zoom-in;padding:0;text-decoration:none}.coach-shell .coach-question .thumb.thumb-image img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.coach-shell .coach-question .qmeta .qtext{color:var(--ppath-fg-1);-webkit-line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:4px 0 0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.coach-shell .coach-question .qmeta .qtext:hover{-webkit-line-clamp:6}.coach-shell .coach-thread{flex-direction:column;flex:1;gap:14px;padding:20px 18px 24px;display:flex;overflow-y:auto}.coach-shell .coach-bubble{border-radius:14px;max-width:76%;padding:12px 16px;font-size:14px;line-height:1.55;transition:background .18s}.coach-shell .coach-bubble.user{background:var(--ppath-paper);border:1px solid var(--ppath-line-soft);color:var(--ppath-fg-1);border-bottom-right-radius:4px;align-self:flex-end}.coach-shell .coach-bubble.ai{background:var(--ppath-ink-green-100,#d8e4d3);color:var(--ppath-ink-green-800);border-bottom-left-radius:4px;align-self:flex-start;position:relative}.coach-shell .coach-bubble.ai .verified{color:var(--ppath-success-700);background:#fff9;border-radius:999px;align-items:center;gap:4px;margin-top:8px;padding:3px 8px;font-size:10.5px;font-weight:600;display:inline-flex}.coach-shell .coach-bubble.ai .verified svg{width:11px;height:11px}.coach-shell .coach-input{background:var(--ppath-card);border-top:1px solid var(--ppath-line);align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;bottom:0}.coach-shell .coach-text-input{border:1px solid var(--ppath-line-soft);background:var(--ppath-paper-deep);color:var(--ppath-fg-2);border-radius:999px;outline:none;flex:1;padding:10px 18px;font-family:inherit;font-size:14px;transition:border-color .18s,background .18s}.coach-shell .coach-text-input:focus{border-color:var(--ppath-ink-green-600);background:var(--ppath-card);color:var(--ppath-fg-1)}.coach-shell .coach-text-input::placeholder{color:var(--ppath-fg-3)}.coach-shell .coach-camera-btn{background:var(--ppath-ink-green-800);width:56px;height:56px;color:var(--ppath-paper);cursor:pointer;box-shadow:0 8px 22px -10px var(--ppath-ink-green-800);border:none;border-radius:50%;flex-shrink:0;place-items:center;transition:transform .18s,box-shadow .18s,background .18s;display:grid}.coach-shell .coach-camera-btn:hover{box-shadow:0 14px 28px -12px var(--ppath-ink-green-800);background:var(--ppath-ink-green-700);transform:translateY(-2px)}.coach-shell .coach-camera-btn:active{transform:translateY(0)}.coach-shell .coach-camera-btn:focus-visible{outline:2px solid var(--ppath-ink-green-600);outline-offset:3px}.coach-shell .coach-camera-btn svg{width:24px;height:24px}.coach-shell .coach-input{gap:10px}.coach-shell .coach-mini-btn{border:1px solid var(--ppath-line);background:var(--ppath-card);width:38px;height:38px;color:var(--ppath-fg-2);cursor:pointer;border-radius:10px;flex-shrink:0;place-items:center;transition:border-color .18s,color .18s,background .18s;display:grid}.coach-shell .coach-mini-btn:hover{border-color:var(--ppath-ink-green-600);color:var(--ppath-ink-green-800);background:var(--ppath-paper-deep)}.coach-shell .coach-text-input:disabled{opacity:.6;cursor:not-allowed}.coach-shell .coach-send-btn{background:var(--ppath-ink-green-800);width:44px;height:44px;color:var(--ppath-paper);cursor:pointer;box-shadow:0 6px 18px -10px var(--ppath-ink-green-800);border:none;border-radius:50%;flex-shrink:0;place-items:center;transition:transform .18s,box-shadow .18s,background .18s,opacity .18s;display:grid}.coach-shell .coach-send-btn:hover:not(:disabled){background:var(--ppath-ink-green-700);box-shadow:0 12px 26px -12px var(--ppath-ink-green-800);transform:translateY(-1px)}.coach-shell .coach-send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.summary-loading{color:var(--ppath-fg-2);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:80px 20px;display:flex}.summary-loading p{margin:0;font-size:14px}.summary-loading .loader-spinner{border:3px solid var(--ppath-line-soft);border-top-color:var(--ppath-ink-green-800);border-radius:50%;width:32px;height:32px;animation:.9s linear infinite spin}.app-shell.student-site .workspace>.coach-shell{border:1px solid var(--ppath-line-soft);border-radius:14px;height:calc(100vh - 32px);margin:0}.coach-shell .coach-question{align-items:flex-start;padding:14px 18px}.coach-shell .coach-question .finish-btn{border:1px solid var(--ppath-line);background:var(--ppath-paper);color:var(--ppath-ink-green-800);cursor:pointer;border-radius:999px;flex-shrink:0;align-self:center;margin-left:auto;padding:8px 18px;font-size:13px;font-weight:600;transition:background .18s,transform .18s}.coach-shell .coach-question .finish-btn:hover{background:var(--ppath-ink-green-800);color:var(--ppath-paper);transform:translateY(-1px)}.coach-shell .coach-question .qtags .stuck-tag{background:var(--ppath-amber-100,#fcefd6);color:var(--ppath-amber-700)}.coach-current-step{background:var(--ppath-paper);border-bottom:1px solid var(--ppath-line-soft);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.coach-current-step .step-progress{gap:6px;display:flex}.coach-current-step .step-progress span{background:var(--ppath-line-soft);border-radius:2px;flex:1;height:4px;transition:background .18s}.coach-current-step .step-progress span.done{background:var(--ppath-ink-green-600,#4a6b46)}.coach-current-step .step-progress span.active{background:var(--ppath-ink-green-800)}.coach-current-step .current-step-name{font-family:var(--ppath-font-display);color:var(--ppath-fg-1);align-items:baseline;gap:10px;margin:0;font-size:18px;font-weight:700;line-height:1.4;display:flex}.coach-current-step .current-step-name .step-no{color:var(--ppath-amber-700);background:var(--ppath-amber-100,#fcefd6);border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:600}.coach-actions{grid-template-columns:1fr 1.4fr 1fr;gap:10px;display:grid}.coach-actions button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 14px;font-size:13px;font-weight:600;transition:transform .18s,background .18s;display:inline-flex}.coach-actions button.primary{background:var(--ppath-ink-green-800);color:var(--ppath-paper);border:none}.coach-actions button.primary:hover:not(:disabled){background:var(--ppath-ink-green-700);transform:translateY(-1px)}.coach-actions button.primary:disabled{opacity:.4;cursor:not-allowed}.coach-actions button.ghost:hover{background:var(--ppath-paper-deep);color:var(--ppath-ink-green-800)}@media (width<=640px){.coach-actions{grid-template-columns:1fr}}.coach-actions{background:var(--ppath-card);border-top:1px solid var(--ppath-line-soft);grid-template-columns:1fr 1.4fr 1fr;gap:10px;padding:12px 18px;display:grid}.coach-actions button{appearance:none;cursor:pointer;letter-spacing:.01em;transition:transform .18s var(--ppath-ease,ease), box-shadow .18s var(--ppath-ease,ease), background .18s var(--ppath-ease,ease), border-color .18s var(--ppath-ease,ease), color .18s var(--ppath-ease,ease);border-radius:10px;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:600}.coach-actions button.ghost{color:var(--ppath-fg-2);border:1px solid var(--ppath-line);background:0 0}.coach-actions button.ghost:hover{color:var(--ppath-ink-green-800);border-color:var(--ppath-ink-green-600);background:var(--ppath-paper-deep)}.coach-actions button.ghost:active{transform:translateY(1px)}.coach-actions button.primary{background:var(--ppath-ink-green-800);color:var(--ppath-paper);border:1px solid var(--ppath-ink-green-800);box-shadow:0 6px 18px -10px var(--ppath-ink-green-800)}.coach-actions button.primary:hover{background:var(--ppath-ink-green-700);border-color:var(--ppath-ink-green-700);box-shadow:0 12px 26px -12px var(--ppath-ink-green-800);transform:translateY(-1px)}.coach-actions button.primary:active{box-shadow:0 4px 12px -8px var(--ppath-ink-green-800);transform:translateY(0)}.coach-actions button:focus-visible{outline:2px solid var(--ppath-ink-green-600);outline-offset:3px}.coach-actions button:disabled,.coach-actions button[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}@media (width<=640px){.coach-actions{grid-template-columns:1fr;gap:8px;padding:12px 14px}.coach-actions button.primary{order:-1}.coach-actions button{padding:13px 16px}}.welcome-page.carousel-mode .welcome-hero h1,.welcome-page.carousel-mode .welcome-method h2,.welcome-page.carousel-mode .welcome-replay h2,.welcome-page.carousel-mode .welcome-trust h2,.selection-page h1,.tutor-story-article h1,.method-detail-article h1,.library-hero h1,.method-library h1{letter-spacing:-.02em!important;font-family:Noto Sans SC,sans-serif!important;font-weight:900!important}.welcome-page.carousel-mode .welcome-hero h1{font-size:clamp(56px,7vw,96px)!important;line-height:1.1!important}.tutor-story-article p,.method-detail-article .lead{font-family:Noto Serif SC,serif;font-weight:500}.student-home .page-head .home-h1{color:var(--ppath-fg-1);letter-spacing:.02em;margin:8px 0 0;font-family:ZCOOL XiaoWei,Noto Serif SC,serif;font-size:clamp(28px,3.6vw,44px);font-weight:400;line-height:1.25}.student-home .page-head .home-subject{color:var(--ppath-amber-700)}.student-home .page-head .accent-name{color:var(--ppath-ink-green-800);margin-left:4px;font-weight:400}.student-home-title-row{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.student-home-teacher-meta{color:var(--ppath-fg-3);margin:6px 0 0;font-size:14px;font-weight:700}.student-teacher-switch{flex:none;min-width:168px;position:relative}.student-teacher-switch summary{width:100%;min-height:42px;color:var(--ppath-ink-green-800);cursor:pointer;background:#fffdf8eb;border:1px solid #12352d29;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:900;list-style:none;display:inline-flex;box-shadow:0 10px 28px -24px #12352d73}.student-teacher-switch summary::-webkit-details-marker{display:none}.student-teacher-switch[open] summary{background:#fffdf8;border-color:#12352d6b}.student-teacher-menu{z-index:30;background:#fffdf8;border:1px solid #12352d24;border-radius:16px;min-width:260px;padding:8px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 22px 56px -30px #12352d8c}.student-teacher-menu button{width:100%;color:var(--ppath-fg-1);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:12px;gap:3px;padding:11px 12px;display:grid}.student-teacher-menu button:hover{background:#dbe8de8c}.student-teacher-menu button.active{color:#fffdf8;background:#12352d}.student-teacher-menu button strong,.student-teacher-menu button span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-teacher-menu button strong{font-size:14px;line-height:1.25}.student-teacher-menu button span{color:currentColor;opacity:.7;font-size:12px;font-weight:700}@media (width<=720px){.student-home-title-row{flex-direction:column}.student-teacher-switch,.student-teacher-switch summary{width:100%}.student-teacher-menu{width:100%;min-width:0;left:0;right:auto}}.mistakes-page{flex-direction:column;flex:1;gap:24px;min-height:0;padding-bottom:64px;display:flex;overflow-y:auto}.mistakes-page .page-head h1{color:var(--ppath-fg-1);margin:8px 0;font-family:ZCOOL XiaoWei,Noto Serif SC,serif;font-size:clamp(28px,3.6vw,44px);font-weight:400;line-height:1.2}.mistakes-page .page-sub{color:var(--ppath-fg-2);font-size:var(--ppath-text-sm);margin:0 0 8px}.mistakes-stats{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.mistakes-stats .stat-cell{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);border-radius:12px;flex-direction:column;gap:4px;padding:16px 20px;display:flex}.mistakes-stats .stat-cell strong{font-family:var(--ppath-font-display);color:var(--ppath-ink-green-800);font-size:28px;font-weight:800;line-height:1}.mistakes-stats .stat-cell span{color:var(--ppath-fg-2);font-size:12px}.mistakes-stats .stat-cell.tone-amber strong{color:var(--ppath-amber-700)}.mistakes-stats .stat-cell.tone-success strong{color:var(--ppath-success-700)}.mistakes-filters{border-bottom:1px solid var(--ppath-line-soft);gap:8px;padding-bottom:4px;display:flex}.mistakes-filters .filter-tab{color:var(--ppath-fg-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:14px;font-weight:600;transition:color .18s,border-color .18s}.mistakes-filters .filter-tab:hover{color:var(--ppath-ink-green-800)}.mistakes-filters .filter-tab.active{color:var(--ppath-ink-green-800);border-bottom-color:var(--ppath-ink-green-800)}.mistakes-list{flex-direction:column;gap:12px;display:flex}.mistake-card{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);border-left:4px solid var(--ppath-amber-700);border-radius:14px;flex-direction:column;gap:10px;padding:18px 20px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.mistake-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px -14px #0000001a}.mistake-card.status-mastered{border-left-color:var(--ppath-success-700);background:var(--ppath-paper-deep)}.mistake-card.status-reviewing{border-left-color:var(--ppath-ink-green-600,#4a6b46)}.mistake-meta{flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.mistake-meta .topic-tag{background:var(--ppath-ink-green-100,#d8e4d3);color:var(--ppath-ink-green-800);border-radius:999px;padding:3px 8px;font-weight:600}.mistake-meta .diff-tag{background:var(--ppath-paper-deep);color:var(--ppath-fg-2);border-radius:999px;padding:3px 8px;font-weight:600}.mistake-meta .diff-tag[data-diff=难]{background:var(--ppath-amber-100,#fcefd6);color:var(--ppath-amber-700)}.mistake-meta .status-tag{border-radius:999px;padding:3px 8px;font-weight:600}.mistake-meta .status-tag.open{color:var(--ppath-amber-700);background:#c2611f1f}.mistake-meta .status-tag.reviewing{background:var(--ppath-ink-green-100,#d8e4d3);color:var(--ppath-ink-green-800)}.mistake-meta .status-tag.mastered{color:var(--ppath-success-700);background:#4a6b462e}.mistake-meta .when{color:var(--ppath-fg-3);margin-left:auto}.mistake-topic{font-family:var(--ppath-font-display);color:var(--ppath-ink-green-800);margin:0;font-size:16px;font-weight:700}.mistake-question{color:var(--ppath-fg-1);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.6;display:-webkit-box;overflow:hidden}.mistake-stuck{color:var(--ppath-amber-700);background:var(--ppath-amber-100,#fcefd6);border-radius:8px;width:fit-content;margin:0;padding:6px 10px;font-size:12px;font-weight:600}.mistake-actions{gap:8px;margin-top:4px;display:flex}.mistake-actions button{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:transform .18s,background .18s;display:inline-flex}.mistake-actions button.primary{background:var(--ppath-ink-green-800);color:var(--ppath-paper);border:none}.mistake-actions button.primary:hover{background:var(--ppath-ink-green-700);transform:translateY(-1px)}.mistake-actions button.ghost{border:1px solid var(--ppath-line);color:var(--ppath-fg-2);background:0 0}.mistake-actions button.ghost:hover{border-color:var(--ppath-ink-green-600);color:var(--ppath-ink-green-800)}.sidebar .session-item .badge{background:var(--ppath-amber-700);color:var(--ppath-paper);text-align:center;border-radius:999px;min-width:20px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:700}@media (width<=768px){.mistakes-stats{grid-template-columns:repeat(2,1fr)}}.welcome-page.carousel-mode .welcome-nav .brand{align-items:center;gap:12px;display:flex}.welcome-page.carousel-mode .welcome-nav .logo-mark{background:var(--ppath-ink-green-800);border-radius:10px;place-items:center;width:44px;height:44px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f}.welcome-page.carousel-mode .welcome-nav .logo-mark .lambda{color:var(--ppath-paper);font-family:Noto Serif SC,Georgia,serif;font-size:24px;font-style:italic;font-weight:700;line-height:1;transform:translateY(1px)}.welcome-page.carousel-mode .welcome-nav .logo-mark:after{content:"";background:linear-gradient(225deg, var(--ppath-paper) 50%, #0000002e 50%);width:14px;height:14px;position:absolute;top:0;right:0}.welcome-page.carousel-mode .welcome-nav .logo-mark:before{content:"";z-index:1;background:linear-gradient(225deg,#0000 50%,#ffffff0a 50%);width:14px;height:14px;position:absolute;top:0;right:0}.welcome-page.carousel-mode .welcome-nav .brand-lockup{flex-direction:column;line-height:1.15;display:flex}.welcome-page.carousel-mode .welcome-nav .brand-lockup .name{letter-spacing:-.01em;color:var(--ppath-fg-1);font-size:16px;font-weight:800}.welcome-page.carousel-mode .welcome-nav .brand-lockup .tag{letter-spacing:.06em;color:var(--ppath-fg-3);font-size:11px}.welcome-page.carousel-mode .welcome-hero{background:var(--ppath-paper-deep)}.welcome-page.carousel-mode .welcome-hero .hero-inner{grid-template-columns:1.1fr 1fr;gap:60px;max-width:1180px;padding:0 32px}.welcome-page.carousel-mode .welcome-hero .hero-text .pill{background:var(--ppath-card);border:1px solid var(--ppath-line);color:var(--ppath-ink-green-800);letter-spacing:.04em;border-radius:999px;margin-bottom:22px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-block}.welcome-page.carousel-mode .welcome-hero h1{color:var(--ppath-fg-1);letter-spacing:-.022em!important;margin:0 0 18px!important;font-family:Noto Sans SC,sans-serif!important;font-size:clamp(40px,5.4vw,60px)!important;font-weight:900!important;line-height:1.1!important}.welcome-page.carousel-mode .welcome-hero h1 .ai-accent{color:var(--ppath-ink-green-800)}.welcome-page.carousel-mode .welcome-hero .lead{color:var(--ppath-fg-2);max-width:460px;margin:0 0 30px;font-size:16px;line-height:1.7}.welcome-page.carousel-mode .welcome-hero .hero-ctas{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.welcome-page.carousel-mode .welcome-hero .btn-primary{background:var(--ppath-ink-green-800);color:var(--ppath-paper);border:1px solid var(--ppath-ink-green-800);cursor:pointer;transition:all .18s var(--ppath-ease);box-shadow:0 8px 22px -12px var(--ppath-ink-green-800);border-radius:12px;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:600;display:inline-flex}.welcome-page.carousel-mode .welcome-hero .btn-primary:hover{background:var(--ppath-ink-green-700);box-shadow:0 14px 30px -14px var(--ppath-ink-green-800);transform:translateY(-1px)}.welcome-page.carousel-mode .welcome-hero .btn-ghost{color:var(--ppath-fg-1);border:1px solid var(--ppath-line);cursor:pointer;transition:all .18s var(--ppath-ease);background:0 0;border-radius:12px;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:600;display:inline-flex}.welcome-page.carousel-mode .welcome-hero .btn-ghost:hover{border-color:var(--ppath-ink-green-600);color:var(--ppath-ink-green-800)}.welcome-page.carousel-mode .welcome-hero .footnote{color:var(--ppath-fg-3);letter-spacing:.02em;margin-top:18px;font-size:12px}.welcome-page.carousel-mode .trace-card{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);border-radius:22px;padding:28px;box-shadow:0 24px 50px -32px #3026162e}.welcome-page.carousel-mode .trace-card svg{width:100%;height:auto;display:block}.welcome-page.carousel-mode .trace-card .meta-row{color:var(--ppath-fg-3);letter-spacing:.04em;justify-content:space-between;align-items:center;margin-top:14px;font-size:12px;display:flex}.welcome-page.carousel-mode .trace-card .meta-row .dot{background:var(--ppath-ink-green-600,#4a6b46);border-radius:999px;width:6px;height:6px;margin-right:6px;animation:1.6s ease-in-out infinite liveDot;display:inline-block}.welcome-page.carousel-mode .trace-card .meta-row .meta-formula{font-family:var(--ppath-font-mono,monospace);font-size:11px}@keyframes liveDot{0%,to{opacity:.4}50%{opacity:1}}.welcome-page.carousel-mode .trace-card .traj{stroke-dasharray:6 5;animation:2.4s linear infinite dashflow}@keyframes dashflow{to{stroke-dashoffset:-110px}}.welcome-page.carousel-mode .trace-card .ball-anim{animation:3.2s cubic-bezier(.45,.05,.55,.95) infinite ballMove}@keyframes ballMove{0%{transform:translate(0)}50%{transform:translate(108px,-128px)}to{transform:translate(250px,-10px)}}.welcome-page.carousel-mode .trace-card .v-vec,.welcome-page.carousel-mode .trace-card .g-vec{animation:3.2s ease-in-out infinite pulseV}@keyframes pulseV{0%,38%{opacity:0}50%{opacity:1}70%,to{opacity:0}}@media (width<=880px){.welcome-page.carousel-mode .welcome-hero .hero-inner{grid-template-columns:1fr;gap:40px;padding:0 32px}.welcome-page.carousel-mode .welcome-hero h1{font-size:36px!important}.welcome-page.carousel-mode .welcome-nav{padding:14px 20px}}.student-home .page-head .home-h1{letter-spacing:-.018em!important;font-family:Noto Sans SC,sans-serif!important;font-size:clamp(28px,3.2vw,38px)!important;font-weight:900!important;line-height:1.2!important}.student-home .page-head .home-subject{color:var(--ppath-amber-700);font-weight:800}.student-home .page-head .accent-name{color:var(--ppath-ink-green-800);font-weight:900}.upload-zone{background:var(--ppath-paper-deep);border:2px dashed var(--ppath-line);cursor:pointer;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;transition:border-color .18s,background .18s;display:flex}.upload-zone:hover{border-color:var(--ppath-ink-green-600);background:var(--ppath-card)}.upload-zone.drag-over{border-color:var(--ppath-ink-green-800);background:var(--ppath-ink-green-100,#d8e4d3)}.upload-zone .upload-icon{margin-bottom:8px;font-size:36px}.upload-zone strong{color:var(--ppath-fg-1);font-size:16px;font-weight:700}.upload-zone span{color:var(--ppath-fg-3);max-width:380px;font-size:12px;line-height:1.5}.upload-supported{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.upload-supported .badge{background:var(--ppath-paper-deep);border:1px solid var(--ppath-line-soft);color:var(--ppath-fg-2);border-radius:999px;padding:6px 12px;font-size:12px}.upload-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.upload-item{background:var(--ppath-paper-deep);border:1px solid var(--ppath-line-soft);border-left:3px solid var(--ppath-line);border-radius:10px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .18s;display:flex}.upload-item.status-parsing{border-left-color:var(--ppath-amber-700)}.upload-item.status-done{border-left-color:var(--ppath-success-700)}.upload-item.status-failed{border-left-color:#c0504d}.upload-item .file-icon{flex-shrink:0;font-size:20px}.upload-item .file-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.upload-item .file-name{color:var(--ppath-fg-1);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.upload-item .file-info{color:var(--ppath-fg-3);font-size:11px}.upload-item .loader{border:2px solid var(--ppath-line);border-top-color:var(--ppath-ink-green-800);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.upload-item .ghost-icon{color:var(--ppath-fg-3);cursor:pointer;background:0 0;border:none;border-radius:6px;width:28px;height:28px;font-size:18px;transition:background .18s,color .18s}.upload-item .ghost-icon:hover{background:var(--ppath-line-soft);color:var(--ppath-fg-1)}.upload-howto{flex-direction:column;gap:10px;margin:12px 0;padding:0;list-style:none;display:flex}.upload-howto li{color:var(--ppath-fg-2);background:var(--ppath-paper-deep);border-left:2px solid var(--ppath-ink-green-600);border-radius:8px;padding:10px 14px;font-size:13px;line-height:1.6}.upload-howto li strong{color:var(--ppath-ink-green-800);margin-right:4px}.panel-tip{color:var(--ppath-fg-3);background:var(--ppath-paper-deep);border-radius:8px;margin-top:12px;padding:8px 12px;font-size:12px}.link-button{color:var(--ppath-ink-green-800);cursor:pointer;font-weight:600;font-size:inherit;text-underline-offset:3px;background:0 0;border:none;margin-left:4px;padding:0;font-family:inherit;text-decoration:underline}.link-button:hover{color:var(--ppath-ink-green-700)}.app-shell.student-site .workspace>.capture-page,.app-shell.student-site .workspace>.flow-page{flex:1;width:100%;min-height:0;overflow-y:auto}.capture-page{max-width:1400px;margin:0 auto;padding:28px 32px 60px}.capture-page .crumb{color:var(--ppath-fg-3);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-size:11px;font-weight:700}.capture-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:28px;display:grid}.capture-left{min-width:0}.capture-right{flex-direction:column;gap:14px;display:flex;position:sticky;top:24px}@media (width<=1100px){.capture-grid{grid-template-columns:1fr}.capture-right{flex-flow:wrap;position:static}.capture-right>*{flex:1;min-width:240px}}.capture-page .greet{align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.capture-page .greet-av{background:var(--ppath-ink-green-800);width:56px;height:56px;color:var(--ppath-paper);box-shadow:0 8px 22px -12px var(--ppath-ink-green-800);border-radius:999px;flex-shrink:0;place-items:center;font-family:Noto Serif SC,Georgia,serif;font-size:24px;font-style:italic;font-weight:700;display:grid;position:relative}.capture-page .greet-av:after{content:"";border:2px solid var(--ppath-paper);background:#4ed28a;border-radius:999px;width:12px;height:12px;position:absolute;bottom:2px;right:2px}.capture-page .greet-bubble{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);border-radius:6px 16px 16px;flex:1;padding:16px 20px;box-shadow:0 4px 18px -10px #3026161a}.capture-page .greet-who{color:var(--ppath-fg-3);letter-spacing:.04em;margin-bottom:6px;font-size:12px}.capture-page .greet-who b{color:var(--ppath-ink-green-800);font-weight:700}.capture-page .greet-bubble h1{letter-spacing:-.01em;color:var(--ppath-fg-1);margin:0 0 8px;font-family:Noto Sans SC,sans-serif;font-size:22px;font-weight:800;line-height:1.35}.capture-page .greet-bubble p{color:var(--ppath-fg-2);margin:0;font-size:14px;line-height:1.7}.capture-stage{background:var(--ppath-card);border:1px solid var(--ppath-line);border-radius:20px;width:100%;padding:28px;box-shadow:0 24px 60px -36px #3026162e}.dropzone-stage{border:1px solid var(--ppath-line);background:var(--ppath-paper-deep);text-align:left;transition:all .22s var(--ppath-ease,ease);cursor:pointer;border-radius:16px;align-items:center;gap:20px;padding:22px 24px;display:flex;position:relative}.dropzone-stage:hover{border-color:var(--ppath-ink-green-600);background:var(--ppath-ink-green-50,#e8efe5)}.dropzone-stage.drag-over{border-color:var(--ppath-ink-green-800);background:var(--ppath-ink-green-100,#d8e4d3);border-style:dashed;transform:scale(1.01)}.paste-hint{background:var(--ppath-amber-100,#fcefd6);border:1px solid var(--ppath-amber-700);color:var(--ppath-amber-700);border-radius:10px;margin:0 0 12px;padding:12px 16px;font-size:13px;line-height:1.6}.send-teacher-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none!important;transform:none!important}.dropzone-stage .icon-wrap{background:var(--ppath-ink-green-800);width:56px;height:56px;color:var(--ppath-paper);box-shadow:0 14px 30px -16px var(--ppath-ink-green-800);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.dropzone-stage .copy{flex:1;min-width:0}.dropzone-stage .copy h3{color:var(--ppath-fg-1);margin:0 0 4px;font-size:16px;font-weight:700}.dropzone-stage .copy p{color:var(--ppath-fg-2);margin:0;font-size:13px;line-height:1.55}.dropzone-stage .action-row{background:var(--ppath-card);border:1px solid var(--ppath-line);border-radius:12px;flex-shrink:0;align-items:stretch;gap:4px;padding:4px;display:inline-flex;box-shadow:0 4px 14px -8px #30261614}.dropzone-stage .seg-btn{appearance:none;cursor:pointer;transition:all .18s var(--ppath-ease,ease);border:none;border-radius:8px;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;display:inline-flex}.dropzone-stage .seg-btn.primary{background:var(--ppath-ink-green-800);color:var(--ppath-paper)}.dropzone-stage .seg-btn.primary:hover{background:var(--ppath-ink-green-700)}.dropzone-stage .seg-btn.ghost{color:var(--ppath-fg-2);background:0 0}.dropzone-stage .seg-btn.ghost:hover{background:var(--ppath-paper-deep);color:var(--ppath-ink-green-800)}.capture-stage .or-divider{color:var(--ppath-fg-3);letter-spacing:.04em;align-items:center;gap:14px;margin:22px 0;font-size:12px;display:flex}.capture-stage .or-divider:before,.capture-stage .or-divider:after{content:"";background:var(--ppath-line);flex:1;height:1px}.capture-stage .paste-input{border:1px solid var(--ppath-line);background:var(--ppath-paper);width:100%;color:var(--ppath-fg-1);resize:vertical;min-height:96px;transition:all .18s var(--ppath-ease,ease);border-radius:12px;padding:14px 16px;font-family:inherit;font-size:14px;line-height:1.6}.capture-stage .paste-input:focus{border-color:var(--ppath-ink-green-600);background:var(--ppath-card);outline:none}.capture-stage .paste-input::placeholder{color:var(--ppath-fg-3)}.capture-stage .stage-footer{color:var(--ppath-fg-3);justify-content:space-between;align-items:center;margin-top:16px;font-size:12px;display:flex}.capture-stage .send-teacher-btn{background:var(--ppath-ink-green-800);color:var(--ppath-paper);cursor:pointer;transition:all .18s var(--ppath-ease,ease);box-shadow:0 8px 22px -14px var(--ppath-ink-green-800);border:none;border-radius:10px;align-items:center;gap:7px;padding:11px 22px;font-size:14px;font-weight:600;display:inline-flex}.capture-stage .send-teacher-btn:hover{background:var(--ppath-ink-green-700);transform:translateY(-1px)}.capture-page .helper-tips{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;display:grid}.capture-page .helper-tips .tip{border:1px dashed var(--ppath-line);color:var(--ppath-fg-2);background:0 0;border-radius:10px;padding:12px 14px;font-size:12px;line-height:1.5}.capture-page .helper-tips .tip b{color:var(--ppath-ink-green-800);margin-bottom:3px;font-size:12.5px;font-weight:700;display:block}.capture-right .rail-card{background:var(--ppath-card);border:1px solid var(--ppath-line);border-radius:14px;padding:16px;box-shadow:0 4px 14px -10px #30261614}.capture-right .rail-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.capture-right .rail-head h4{color:var(--ppath-fg-1);margin:0;font-size:13px;font-weight:700}.capture-right .rail-meta{color:var(--ppath-fg-3);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.capture-right .quota-card{background:linear-gradient(135deg, var(--ppath-ink-green-800), var(--ppath-ink-green-700));color:var(--ppath-paper);border-color:#0000;position:relative;overflow:hidden}.capture-right .quota-card:before{content:"";pointer-events:none;background:#ffffff0a;border-radius:999px;width:110px;height:110px;position:absolute;top:-30px;right:-30px}.capture-right .quota-card .rail-head h4{color:var(--ppath-paper)}.capture-right .quota-card .rail-meta{color:#ffffffa6;background:#ffffff1a;border-radius:999px;padding:2px 8px}.capture-right .quota-num{align-items:baseline;gap:6px;margin:4px 0 12px;display:flex}.capture-right .quota-n{font-family:var(--ppath-font-display);letter-spacing:-.02em;font-size:38px;font-weight:900;line-height:1}.capture-right .quota-total{opacity:.6;font-size:12px;font-weight:500}.capture-right .quota-bar{background:#ffffff24;border-radius:999px;height:5px;overflow:hidden}.capture-right .quota-fill{background:linear-gradient(90deg,#6fdca0,#c8e9d2);border-radius:999px;height:100%}.capture-right .quota-foot{color:#ffffff9e;margin-top:10px;font-size:11px;line-height:1.5}.capture-right .quota-foot a{color:var(--ppath-paper);text-underline-offset:2px;font-weight:500;text-decoration:underline}.topic-summary-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:2px 0 12px;display:grid}.topic-summary-grid>div{border:1px solid var(--ppath-line-soft);background:var(--ppath-paper-deep);border-radius:10px;min-width:0;padding:9px 8px}.topic-summary-grid strong{color:var(--ppath-ink-green-800);font-variant-numeric:tabular-nums;font-size:20px;font-weight:900;line-height:1;display:block}.topic-summary-grid span{color:var(--ppath-fg-3);margin-top:5px;font-size:10px;font-weight:700;display:block}.topic-stat-list{flex-direction:column;gap:10px;display:flex}.topic-stat-row{min-width:0}.topic-stat-main{gap:6px;display:grid}.topic-stat-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.topic-stat-title strong{min-width:0;color:var(--ppath-fg-1);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:800;line-height:1.35;overflow:hidden}.topic-stat-title b{color:var(--ppath-ink-brown);font-variant-numeric:tabular-nums;flex:none;font-size:11px;font-weight:800}.topic-progress{background:var(--ppath-line-soft);border-radius:999px;height:6px;overflow:hidden}.topic-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--ppath-ink-green-700), #9db9a6);height:100%;display:block}.topic-stat-sub{color:var(--ppath-fg-3);font-size:10.5px;font-weight:650}.topic-stat-empty{border:1px dashed var(--ppath-line);background:var(--ppath-paper-deep);border-radius:12px;gap:6px;padding:12px;display:grid}.topic-stat-empty strong{color:var(--ppath-fg-1);font-size:12px}.topic-stat-empty span{color:var(--ppath-fg-3);font-size:11px;line-height:1.55}.topic-stat-foot{color:var(--ppath-fg-3);border-top:1px dashed var(--ppath-line-soft);justify-content:space-between;margin-top:12px;padding-top:10px;font-size:11px;display:flex}.topic-stat-foot b{color:var(--ppath-ink-green-800);font-variant-numeric:tabular-nums;font-weight:800}.trend-bars{grid-template-columns:repeat(7,1fr);align-items:end;gap:5px;height:56px;margin:0 0 6px;display:grid}.trend-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.trend-bar{background:var(--ppath-ink-green-700);border-radius:3px 3px 1px 1px;width:100%;min-height:4px}.trend-bar.dim{background:var(--ppath-ink-green-100,#d8e4d3)}.trend-label{color:var(--ppath-fg-3);font-size:10px}.trend-foot{color:var(--ppath-fg-3);border-top:1px dashed var(--ppath-line-soft);justify-content:space-between;margin-top:6px;padding-top:8px;font-size:11px;display:flex}.trend-foot b{color:var(--ppath-ink-green-800);font-variant-numeric:tabular-nums;font-weight:700}.scan-modal{z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e2a236b;justify-content:center;align-items:center;animation:.25s scanFade;display:flex;position:fixed;inset:0}@keyframes scanFade{0%{opacity:0}to{opacity:1}}.scan-card{background:var(--ppath-card);text-align:center;border-radius:20px;width:460px;max-width:92vw;padding:36px 36px 32px;box-shadow:0 40px 80px -30px #0006}.scan-frame{aspect-ratio:4/3;background:var(--ppath-paper-deep);border:1px solid var(--ppath-line);border-radius:14px;width:100%;margin-bottom:22px;position:relative;overflow:hidden}.scan-doc{background:var(--ppath-card);text-align:left;color:var(--ppath-fg-2);box-shadow:inset 0 0 0 1px var(--ppath-line-soft);border-radius:8px;padding:18px 20px;font-size:11px;line-height:1.6;position:absolute;inset:14px}.scan-q{color:var(--ppath-fg-1);margin-bottom:6px;font-size:12px;font-weight:600}.scan-formula{font-family:var(--ppath-font-mono,monospace);color:var(--ppath-ink-green-800);margin-top:8px}.scan-line{border-top:1px solid var(--ppath-ink-green-600);background:linear-gradient(#0000,#1f4a3f38,#0000);height:32px;animation:1.6s ease-in-out infinite scanMove;position:absolute;left:0;right:0}@keyframes scanMove{0%{opacity:0;top:-10%}20%{opacity:1}80%{opacity:1}to{opacity:0;top:100%}}.scan-frame .corner{border:2px solid var(--ppath-ink-green-600);width:14px;height:14px;position:absolute}.scan-frame .corner.tl{border-bottom:none;border-right:none;top:6px;left:6px}.scan-frame .corner.tr{border-bottom:none;border-left:none;top:6px;right:6px}.scan-frame .corner.bl{border-top:none;border-right:none;bottom:6px;left:6px}.scan-frame .corner.br{border-top:none;border-left:none;bottom:6px;right:6px}.scan-card h3{color:var(--ppath-fg-1);margin:0 0 6px;font-size:18px;font-weight:800}.scan-sub{color:var(--ppath-fg-2);margin:0 0 18px;font-size:13px}.scan-steps{text-align:left;flex-direction:column;gap:10px;display:flex}.scan-step{color:var(--ppath-fg-2);align-items:center;gap:10px;font-size:13px;display:flex}.scan-step .scan-dot{border:2px solid var(--ppath-line);border-radius:999px;flex-shrink:0;width:14px;height:14px}.scan-step.done{color:var(--ppath-ink-green-800);font-weight:600}.scan-step.done .scan-dot{background:var(--ppath-ink-green-800);border-color:var(--ppath-ink-green-800);position:relative}.scan-step.done .scan-dot:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:3px;height:6px;position:absolute;top:2px;left:4.5px;transform:rotate(45deg)}.scan-step.active .scan-dot{border-color:var(--ppath-ink-green-700);background:var(--ppath-ink-green-700);animation:1.2s ease-in-out infinite scanPulse}@keyframes scanPulse{0%,to{opacity:.7;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.scan-step.active{color:var(--ppath-fg-1);font-weight:600}.login-modal{z-index:60;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0e2a236b;justify-content:center;align-items:center;animation:.25s scanFade;display:flex;position:fixed;inset:0}.login-card{background:var(--ppath-card);border-radius:20px;width:420px;max-width:92vw;padding:32px;position:relative;box-shadow:0 40px 80px -30px #0006}.login-close{color:var(--ppath-fg-3);cursor:pointer;background:0 0;border:none;border-radius:8px;width:32px;height:32px;font-size:22px;transition:background .18s;position:absolute;top:14px;right:16px}.login-close:hover{background:var(--ppath-line-soft);color:var(--ppath-fg-1)}.login-brand{align-items:center;gap:14px;margin-bottom:24px;display:flex}.login-card .logo-mark{background:var(--ppath-ink-green-800);border-radius:10px;place-items:center;width:44px;height:44px;display:grid;position:relative;overflow:hidden}.login-card .logo-mark .lambda{color:var(--ppath-paper);font-family:Noto Serif SC,Georgia,serif;font-size:24px;font-style:italic;font-weight:700}.login-card .logo-mark:after{content:"";background:linear-gradient(225deg, var(--ppath-paper) 50%, #0000002e 50%);width:14px;height:14px;position:absolute;top:0;right:0}.login-title{color:var(--ppath-fg-1);font-family:Noto Sans SC,sans-serif;font-size:18px;font-weight:800}.login-tag{color:var(--ppath-fg-3);font-size:12px}.login-options{flex-direction:column;gap:10px;display:flex}.login-option{background:var(--ppath-paper-deep);border:1px solid var(--ppath-line-soft);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:14px;padding:14px 18px;transition:transform .18s,border-color .18s,background .18s;display:flex}.login-option:hover{border-color:var(--ppath-ink-green-600);background:var(--ppath-card);transform:translateY(-1px)}.login-icon{flex-shrink:0;font-size:24px}.login-option strong{color:var(--ppath-fg-1);margin-bottom:2px;font-size:15px;font-weight:700;display:block}.login-option span{color:var(--ppath-fg-3);font-size:12px}.login-option.wechat:hover{border-color:#07c160}.login-disclaimer{background:var(--ppath-paper-deep);color:var(--ppath-fg-3);text-align:center;border-radius:8px;margin-top:18px;padding:10px 12px;font-size:11px;line-height:1.6}.login-legal-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 6px;margin-top:10px;font-size:11px;line-height:1.6;display:flex}.login-legal-links a{color:#2563eb;text-decoration:none}.login-legal-links a:hover{text-decoration:underline}.login-legal-links i{color:#c4c8c4;font-style:normal}.new-user-home{flex-direction:column;gap:28px;display:flex}.new-user-home .home-h1{letter-spacing:-.018em;margin:8px 0;font-size:clamp(28px,3.2vw,38px);font-weight:900;line-height:1.2;font-family:Noto Sans SC,sans-serif!important}.new-user-home .home-subject{color:var(--ppath-amber-700)}.new-user-home .page-sub{margin:0 0 8px}.new-user-cta-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.new-user-cta{text-align:left;border:1px solid var(--ppath-line-soft);cursor:pointer;border-radius:16px;flex-direction:column;gap:8px;padding:24px;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex}.new-user-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px -16px #00000024}.new-user-cta .cta-icon{margin-bottom:4px;font-size:32px}.new-user-cta strong{font-family:Noto Sans SC,sans-serif;font-size:18px;font-weight:800}.new-user-cta span{color:var(--ppath-fg-2);font-size:13px;line-height:1.6}.new-user-cta .cta-arrow{margin-top:8px;font-size:13px;font-weight:700}.new-user-cta.primary{background:linear-gradient(155deg, var(--ppath-ink-green-800), var(--ppath-ink-green-700));color:var(--ppath-paper);border-color:#0000}.new-user-cta.primary strong{color:var(--ppath-paper)}.new-user-cta.primary span{color:#ffffffc7}.new-user-cta.primary .cta-arrow{color:var(--ppath-paper)}.new-user-cta.secondary{background:var(--ppath-card)}.new-user-cta.secondary .cta-arrow{color:var(--ppath-ink-green-800)}@media (width<=768px){.new-user-cta-grid{grid-template-columns:1fr}}.new-user-spotlight .spotlight-card{background:var(--ppath-card);border:1px solid var(--ppath-line-soft);border-radius:16px;align-items:center;gap:20px;padding:22px;display:flex}.new-user-spotlight .spotlight-card .tutor-portrait{border:3px solid var(--ppath-paper-deep);border-radius:50%;flex-shrink:0;width:88px;height:88px}.new-user-spotlight .spotlight-meta strong{margin-bottom:4px;font-family:Noto Sans SC,sans-serif;font-size:17px;font-weight:800;display:block}.new-user-spotlight .spotlight-meta>span{color:var(--ppath-fg-3);margin-bottom:8px;font-size:12px;display:block}.new-user-spotlight .spotlight-meta p{color:var(--ppath-fg-2);margin:0 0 12px;font-size:13px;line-height:1.6}.new-user-spotlight .spotlight-actions{align-items:center;gap:12px;display:flex}.new-user-spotlight .spotlight-actions button{border:1px solid var(--ppath-line);color:var(--ppath-ink-green-800);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600}.new-user-spotlight .spotlight-actions button:hover{background:var(--ppath-paper-deep)}@media (width<=768px){.new-user-trust{grid-template-columns:1fr}}.sidebar .session-item.bind-teacher-cta{background:linear-gradient(135deg, var(--ppath-amber-600,#c2611f), var(--ppath-amber-700));color:var(--ppath-paper);margin-top:6px;font-weight:700}.sidebar .session-item.bind-teacher-cta:hover{background:linear-gradient(135deg, var(--ppath-amber-700), var(--ppath-amber-700));transform:translateY(-1px)}.settings-card .settings-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ppath-fg-3);padding:12px 4px 4px;font-size:10px;font-weight:700}.app-shell.student-site .workspace>.new-user-home{flex:1;width:100%;min-height:0;overflow-y:auto}.new-user-home{max-width:1080px;margin:0 auto;padding:56px 48px 80px;display:block}.nuh-greet{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.nuh-greet h1{font-family:var(--ppath-font-sans);letter-spacing:-.02em;margin:0 0 6px;font-size:clamp(28px,3.4vw,38px);font-weight:900;line-height:1.2}.nuh-greet h1 .name{color:var(--ppath-ink-green-800)}.nuh-greet p{color:var(--ppath-fg-2);margin:0;font-size:15px;line-height:1.6}.nuh-greet .badge{background:var(--ppath-card);border:1px solid var(--ppath-line);color:var(--ppath-fg-2);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:500;display:inline-flex}.nuh-greet .badge:before{content:"";background:var(--ppath-amber-600);border-radius:999px;width:6px;height:6px}.new-user-home .new-user-cta-grid{grid-template-columns:1.35fr 1fr 1fr;gap:16px;margin-bottom:64px;display:grid}.new-user-home .new-user-cta{cursor:pointer;transition:transform .22s var(--ppath-ease), box-shadow .22s var(--ppath-ease);text-align:left;appearance:none;border-radius:22px;flex-direction:column;justify-content:space-between;min-height:240px;padding:32px 32px 28px;font-family:inherit;text-decoration:none;display:flex;position:relative;overflow:hidden}.new-user-home .new-user-cta:hover{transform:translateY(-2px)}.new-user-home .new-user-cta.primary{background:linear-gradient(140deg, var(--ppath-ink-green-800), var(--ppath-ink-green-700));color:var(--ppath-paper);border:1px solid var(--ppath-ink-green-900,#0d2820);box-shadow:0 24px 50px -28px var(--ppath-ink-green-800)}.new-user-home .new-user-cta.primary:hover{box-shadow:0 32px 60px -28px var(--ppath-ink-green-800)}.new-user-home .new-user-cta.primary:after{content:"";border:1.4px solid #ffffff0f;border-radius:999px;width:220px;height:220px;position:absolute;bottom:-40px;right:-40px}.new-user-home .new-user-cta.primary:before{content:"";border:1.4px dashed #ffffff1f;border-radius:999px;width:60px;height:60px;position:absolute;top:30px;right:30px}.new-user-home .new-user-cta.primary .lead-tag{color:#ffffffb3;letter-spacing:.06em;background:#ffffff1a;border-radius:999px;margin-bottom:16px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.new-user-home .new-user-cta.primary h2{letter-spacing:-.02em;max-width:360px;color:var(--ppath-paper);margin:0 0 10px;font-size:30px;font-weight:900;line-height:1.18}.new-user-home .new-user-cta.primary p{color:#ffffffb3;max-width:380px;margin:0 0 22px;font-size:14px;line-height:1.6}.new-user-home .new-user-cta .arrow{align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.new-user-home .new-user-cta.primary .arrow{background:var(--ppath-paper);color:var(--ppath-ink-green-800);transition:gap .18s var(--ppath-ease);border-radius:10px;align-self:flex-start;padding:11px 18px}.new-user-home .new-user-cta.primary:hover .arrow{gap:12px}.new-user-home .new-user-cta.secondary{background:var(--ppath-card);border:1px solid var(--ppath-line);color:var(--ppath-fg-1)}.new-user-home .new-user-cta.secondary h2{color:var(--ppath-fg-1);margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.25}.new-user-home .new-user-cta.secondary p{color:var(--ppath-fg-2);margin:0 0 18px;font-size:13.5px;line-height:1.6}.new-user-home .new-user-cta.secondary .arrow{color:var(--ppath-ink-green-800);transition:gap .18s var(--ppath-ease)}.new-user-home .new-user-cta.secondary:hover .arrow{gap:12px}.new-user-home .new-user-cta.pilot{background:var(--ppath-paper-deep);border:1px solid var(--ppath-amber-200);color:var(--ppath-fg-1)}.new-user-home .new-user-cta.pilot .lead-tag{background:var(--ppath-amber-100);width:fit-content;color:var(--ppath-amber-800);letter-spacing:.04em;border-radius:999px;margin-bottom:16px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.new-user-home .new-user-cta.pilot h2{color:var(--ppath-fg-1);margin:0 0 8px;font-size:22px;line-height:1.25}.new-user-home .new-user-cta.pilot p{color:var(--ppath-fg-2);margin:0 0 18px;font-size:13.5px;line-height:1.6}.new-user-home .new-user-cta.pilot .arrow{color:var(--ppath-amber-800);transition:gap .18s var(--ppath-ease)}.new-user-home .new-user-cta.pilot:hover .arrow{gap:12px}.new-user-home .new-user-cta.secondary .stack{align-items:center;margin-top:auto;display:flex}.new-user-home .new-user-cta.secondary .stack .av{background:var(--ppath-paper-deep);border:2px solid var(--ppath-card);border-radius:999px;flex-shrink:0;place-items:center;width:36px;height:36px;margin-left:-10px;display:grid;overflow:hidden}.new-user-home .new-user-cta.secondary .stack .av:first-child{margin-left:0}.new-user-home .new-user-cta.secondary .stack .av svg{width:100%;height:100%;display:block}.new-user-home .new-user-cta.secondary .stack .num{color:var(--ppath-fg-3);margin-left:14px;font-size:12px}.new-user-home .section-eyebrow{color:var(--ppath-ink-green-500,#4a6b46);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:11px;font-weight:700;display:inline-block}.new-user-home .section-title{letter-spacing:-.018em;margin:0 0 6px;font-size:26px;font-weight:800}.new-user-home .section-sub{color:var(--ppath-fg-2);margin:0 0 28px;font-size:14.5px;line-height:1.6}.new-user-home .new-user-spotlight{margin-bottom:64px}.new-user-home .spotlight-card{background:var(--ppath-card);border:1px solid var(--ppath-line);border-radius:22px;grid-template-columns:280px 1fr;align-items:center;gap:36px;padding:40px;display:grid}.new-user-home .spotlight-card .av-large{background:var(--ppath-paper-deep);border:1px solid var(--ppath-line);border-radius:999px;place-items:center;width:220px;height:220px;margin:0 auto;display:grid;position:relative;overflow:hidden}.new-user-home .spotlight-card .av-large svg.portrait{width:100%;height:100%;display:block}.new-user-home .spotlight-card .av-large .av-tag{background:var(--ppath-ink-green-800);color:var(--ppath-paper);letter-spacing:.04em;white-space:nowrap;border-radius:999px;padding:5px 14px;font-size:11px;font-weight:600;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.new-user-home .spotlight-card .meta-line{color:var(--ppath-fg-3);letter-spacing:.04em;align-items:center;gap:14px;margin-bottom:12px;font-size:12px;display:flex}.new-user-home .spotlight-card .meta-line .dot{background:var(--ppath-fg-3);border-radius:999px;width:3px;height:3px}.new-user-home .spotlight-card h3{letter-spacing:-.015em;margin:0 0 16px;font-size:26px;font-weight:800}.new-user-home .spotlight-card .quote{font-family:var(--ppath-font-display);color:var(--ppath-fg-1);border-left:2px solid var(--ppath-ink-green-700);max-width:480px;margin:0 0 24px;padding-left:16px;font-size:17px;font-style:italic;line-height:1.65}.new-user-home .spotlight-card .row{flex-wrap:wrap;gap:10px;display:flex}.new-user-home .spotlight-card .btn{appearance:none;cursor:pointer;transition:all .18s var(--ppath-ease);border-radius:10px;align-items:center;gap:6px;padding:10px 18px;font-family:inherit;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.new-user-home .spotlight-card .btn.primary{background:var(--ppath-ink-green-800);color:var(--ppath-paper);border:1px solid var(--ppath-ink-green-800)}.new-user-home .spotlight-card .btn.primary:hover{background:var(--ppath-ink-green-700)}.new-user-home .spotlight-card .btn.ghost{color:var(--ppath-fg-1);border:1px solid var(--ppath-line);background:0 0}.new-user-home .spotlight-card .btn.ghost:hover{border-color:var(--ppath-ink-green-600);color:var(--ppath-ink-green-800)}.new-user-home .new-user-trust{background:0 0;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:64px;padding:0;display:grid}.new-user-home .new-user-trust .trust-item{border:1px solid var(--ppath-line-soft);background:0 0;border-radius:14px;padding:24px 22px}.new-user-home .new-user-trust .trust-item .num{font-family:var(--ppath-font-display);color:var(--ppath-amber-700);letter-spacing:.08em;margin-bottom:10px;font-size:13px;font-weight:700}.new-user-home .new-user-trust .trust-item h4{letter-spacing:-.005em;margin:0 0 8px;font-size:16px;font-weight:700}.new-user-home .new-user-trust .trust-item p{color:var(--ppath-fg-2);margin:0;font-size:13px;line-height:1.7}.new-user-home .new-user-why-us{margin-bottom:64px}.new-user-home .new-user-why-us .why-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.new-user-home .new-user-why-us .why-item h4{color:var(--ppath-ink-green-800);letter-spacing:-.005em;margin:0 0 8px;font-size:16px;font-weight:700}.new-user-home .new-user-why-us .why-item .compare{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;font-size:12.5px;line-height:1.55;display:grid}.new-user-home .new-user-why-us .why-item .compare .col{border-radius:10px;padding:12px 14px}.new-user-home .new-user-why-us .why-item .compare .col.them{border:1px dashed var(--ppath-line);color:var(--ppath-fg-3);background:0 0}.new-user-home .new-user-why-us .why-item .compare .col.us{background:var(--ppath-ink-green-100,#d8e4d3);color:var(--ppath-ink-green-800);font-weight:500}.new-user-home .new-user-why-us .why-item .compare .tag{text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.new-user-home .new-user-why-us .why-item .compare .col.them .tag{color:var(--ppath-fg-3)}.new-user-home .new-user-why-us .why-item .compare .col.us .tag{color:var(--ppath-ink-green-700)}.new-user-home .new-user-footer{border-top:1px solid var(--ppath-line-soft);color:var(--ppath-fg-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:56px;padding-top:32px;font-size:12.5px;display:flex}.new-user-home .new-user-footer .links{gap:22px;display:flex}.new-user-home .new-user-footer .links a{color:var(--ppath-fg-2);text-decoration:none}.new-user-home .new-user-footer .links a:hover{color:var(--ppath-ink-green-800)}@media (width<=768px){.new-user-home{padding:40px 24px 60px}.nuh-greet{flex-direction:column;align-items:flex-start}.new-user-home .new-user-cta-grid{grid-template-columns:1fr}.new-user-home .spotlight-card{grid-template-columns:1fr;gap:24px;padding:28px}.new-user-home .spotlight-card .av-large{width:160px;height:160px}.new-user-home .new-user-trust{grid-template-columns:1fr}.new-user-home .new-user-why-us .why-grid{grid-template-columns:1fr;gap:18px}}@media (width<=480px){.new-user-home{padding:28px 16px 48px}.new-user-home .new-user-cta{min-height:200px;padding:24px 22px}.new-user-home .new-user-cta.primary h2{font-size:24px}.new-user-home .new-user-cta.secondary h2{font-size:18px}.new-user-home .section-title{font-size:22px}.new-user-home .spotlight-card{padding:22px}.new-user-home .spotlight-card h3{font-size:22px}.new-user-home .spotlight-card .quote{font-size:15px}.new-user-home .new-user-footer{flex-direction:column;align-items:flex-start}}:root{--stamp-red:#9b2222;--stamp-red-deep:#771c1c;--stamp-red-soft:#b73a3a}.avatar-status{background:var(--ppath-card);border:1px solid var(--ppath-line);color:var(--ppath-fg-1);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-size:12.5px;line-height:1.2;display:inline-flex;box-shadow:0 1px 2px #0f231c0a}.avatar-status .av{background:var(--ppath-paper-deep);border:1px solid var(--ppath-line);border-radius:999px;flex-shrink:0;width:26px;height:26px;overflow:hidden}.avatar-status .av svg{width:100%;height:100%;display:block}.avatar-status .meta{flex-direction:column;gap:2px;display:flex}.avatar-status .name{color:var(--ppath-ink-green-900,#0d2820);letter-spacing:-.005em;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.avatar-status .name .ver{font-family:var(--ppath-font-mono,monospace);color:var(--ppath-ink-green-600,#4a6b46);background:var(--ppath-ink-green-100,#d8e4d3);border-radius:4px;padding:1px 5px;font-size:10.5px;font-weight:500}.avatar-status .uptime{color:var(--ppath-fg-3);font-size:10.5px;font-family:var(--ppath-font-mono,monospace);align-items:center;gap:5px;display:inline-flex}.avatar-status .uptime .dot{background:#2c8a5b;border-radius:999px;width:6px;height:6px;animation:1.8s ease-in-out infinite avatar-status-breathe;box-shadow:0 0 #2c8a5b8c}@keyframes avatar-status-breathe{0%,to{box-shadow:0 0 #2c8a5b8c}50%{box-shadow:0 0 0 5px #2c8a5b00}}.avatar-status.compact{gap:8px;padding:4px 12px 4px 4px}.avatar-status.compact .av{width:22px;height:22px}.avatar-status.compact .meta{flex-direction:row;align-items:center;gap:8px}.avatar-status.on-dark{color:var(--ppath-fg-on-ink,var(--ppath-paper));background:#ffffff0f;border-color:#ffffff1f}.avatar-status.on-dark .name{color:var(--ppath-paper)}.avatar-status.on-dark .name .ver{color:#ffffffd9;background:#ffffff1a}.avatar-status.on-dark .uptime{color:#ffffff80}.coach-shell .coach-bubble.ai{background:var(--ppath-card);border:1px solid var(--ppath-line);color:var(--ppath-fg-1);border-radius:16px;align-self:flex-start;max-width:600px;padding:14px 56px 14px 20px;font-size:14.5px;line-height:1.65;position:relative;box-shadow:0 2px 6px -3px #0f231c14}.coach-shell .coach-bubble.ai .stamp-mark{pointer-events:none;filter:drop-shadow(0 1px 2px #9b22221f);opacity:.92;width:44px;height:44px;display:block;position:absolute;top:-8px;right:16px}.coach-shell .coach-bubble.ai .stamp-mark svg{width:100%;height:100%;display:block}.coach-shell .coach-bubble.ai .signoff{border-bottom:1px dashed var(--ppath-line-soft);align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;display:flex}.coach-shell .coach-bubble.ai .signoff .sig-name{color:var(--ppath-ink-green-800);letter-spacing:-.005em;font-size:12px;font-weight:600}.coach-shell .coach-bubble.ai .signoff .sig-tag{font-family:var(--ppath-font-mono,monospace);color:var(--ppath-ink-green-600,#4a6b46);background:var(--ppath-ink-green-100,#d8e4d3);border-radius:4px;padding:1px 5px;font-size:10px}.coach-shell .coach-bubble.ai .eval-badge{letter-spacing:-.005em;white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10.5px;font-weight:700}.coach-shell .coach-bubble.ai .eval-badge.eval-correct{color:var(--ppath-success-700,#2c8a5b);background:#4a6b4626}.coach-shell .coach-bubble.ai .eval-badge.eval-partial{background:var(--ppath-amber-100,#fcefd6);color:var(--ppath-amber-700)}.coach-shell .coach-bubble.ai .eval-badge.eval-wrong{color:#a63a35;background:#c0504d26}.coach-shell .coach-bubble.ai .body{color:var(--ppath-fg-1);font-size:14.5px;line-height:1.65}.coach-shell .coach-bubble.ai .review{border-top:1px solid var(--ppath-line-soft);color:var(--ppath-fg-3);align-items:center;gap:10px;margin-top:12px;padding-top:10px;font-size:11.5px;display:flex}.coach-shell .coach-bubble.ai .review .ico{color:var(--ppath-amber-600,#c2611f);flex-shrink:0}.coach-shell .coach-bubble.ai .review .by{color:var(--ppath-ink-green-700,#1a4a3e);font-weight:500}.coach-shell .coach-bubble.ai .review .when{font-family:var(--ppath-font-mono,monospace);color:var(--ppath-fg-3);margin-left:auto;font-size:11px}.coach-shell .coach-bubble.ai.thinking .typing-bubble{gap:4px;display:inline-flex}.coach-shell .coach-bubble.ai.thinking .typing-bubble span{background:var(--ppath-fg-3);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-pulse}.coach-shell .coach-bubble.ai.thinking .typing-bubble span:nth-child(2){animation-delay:.2s}.coach-shell .coach-bubble.ai.thinking .typing-bubble span:nth-child(3){animation-delay:.4s}@keyframes typing-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.teacher-card{overflow:visible}.clone-badge{background:var(--ppath-card);border:1px solid var(--ppath-line);color:var(--ppath-fg-2);letter-spacing:-.005em;z-index:2;border-radius:999px;align-items:center;gap:6px;padding:4px 9px 4px 4px;font-size:10.5px;line-height:1;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 1px 2px #0f231c0a}.clone-badge .seal{width:16px;height:16px;color:var(--stamp-red);flex-shrink:0;display:block}.clone-badge .seal svg{width:100%;height:100%;display:block}.clone-badge .v{font-family:var(--ppath-font-mono,monospace);color:var(--ppath-ink-green-700,#1a4a3e);font-size:10px;font-weight:600}.clone-badge .dot{background:var(--ppath-fg-3);border-radius:999px;width:3px;height:3px}.clone-badge .signed{color:var(--ppath-ink-green-700,#1a4a3e);font-weight:500}.clone-badge .signed.signed--beta{color:var(--ppath-amber-700)}.clone-badge .signed.signed--off{color:var(--ppath-fg-3)}.teacher-card[data-status=beta] .clone-badge{opacity:1}.app-shell .sidebar .brand,.teacher-site .sidebar .brand{align-items:center;gap:10px;display:flex}.app-shell .sidebar .brand .logo-mark,.teacher-site .sidebar .brand .logo-mark{background:var(--ppath-ink-green-800);border-radius:8px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0f}.app-shell .sidebar .brand .logo-mark .lambda,.teacher-site .sidebar .brand .logo-mark .lambda{color:var(--ppath-paper);font-family:Noto Serif SC,Georgia,serif;font-size:20px;font-style:italic;font-weight:700;line-height:1;transform:translateY(1px)}.app-shell .sidebar .brand .logo-mark:after,.teacher-site .sidebar .brand .logo-mark:after{content:"";background:linear-gradient(225deg, var(--ppath-paper) 50%, #0000002e 50%);width:11px;height:11px;position:absolute;top:0;right:0}.app-shell .sidebar .brand .brand-lockup,.teacher-site .sidebar .brand .brand-lockup{flex-direction:column;min-width:0;line-height:1.15;display:flex}.app-shell .sidebar .brand .brand-lockup strong,.teacher-site .sidebar .brand .brand-lockup strong{letter-spacing:-.01em;color:var(--ppath-fg-1);font-size:14px;font-weight:800}.app-shell .sidebar .brand .brand-lockup span,.teacher-site .sidebar .brand .brand-lockup span{letter-spacing:.04em;color:var(--ppath-fg-3);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}@keyframes carousel-nudge{0%{transform:translate(0)}35%{transform:translate(-28px)}60%{transform:translate(6px)}to{transform:translate(0)}}.welcome-page.carousel-mode .carousel-track.first-visit{scroll-snap-type:none;animation:1.4s cubic-bezier(.4,0,.2,1) 1.5s both carousel-nudge}.welcome-page.carousel-mode .welcome-carousel.paused .carousel-track.first-visit{animation:none}@media (prefers-reduced-motion:reduce){.welcome-page.carousel-mode .carousel-track.first-visit{animation:none}}@keyframes arrow-drift{0%,to{transform:translateY(-50%)}50%{transform:translate(4px,-50%)}}.welcome-page.carousel-mode .carousel-arrow.next{animation:1.6s ease-in-out infinite arrow-drift}.welcome-page.carousel-mode .carousel-arrow.next:hover,.welcome-page.carousel-mode .welcome-carousel:hover .carousel-arrow.next{animation-play-state:paused}@media (prefers-reduced-motion:reduce){.welcome-page.carousel-mode .carousel-arrow.next{animation:none}}.welcome-page.carousel-mode .carousel-dots{justify-content:center;align-items:center;gap:6px;display:flex}.welcome-page.carousel-mode .carousel-dots button{appearance:none;cursor:pointer;background:var(--ppath-line);color:#0000;white-space:nowrap;border:0;border-radius:999px;align-items:center;width:8px;height:8px;padding:0;font-family:inherit;font-size:0;transition:width .28s cubic-bezier(.4,0,.2,1),height .28s cubic-bezier(.4,0,.2,1),background .22s,color .22s,padding .22s,font-size .22s;display:inline-flex;overflow:hidden}.welcome-page.carousel-mode .carousel-dots button.active{background:var(--ppath-ink-green-800);width:auto;height:26px;color:var(--ppath-paper);letter-spacing:-.005em;padding:0 14px;font-size:12px;font-weight:600}.welcome-page.carousel-mode .carousel-dots button:focus-visible{outline:2px solid var(--ppath-ink-green-600);outline-offset:3px}.welcome-page.carousel-mode .carousel-slide.slide-stack{flex-direction:column;align-items:center;gap:0;padding:48px 60px 32px}.welcome-page.carousel-mode .stack-eyebrow{color:var(--ppath-ink-green-700);letter-spacing:.04em;text-align:center;margin-bottom:18px;font-size:13px;font-weight:600;display:block}.welcome-page.carousel-mode .stack-title{letter-spacing:-.025em;text-align:center;color:var(--ppath-fg-1);margin:0 0 18px;font-weight:900;line-height:1.12}.welcome-page.carousel-mode .stack-sub{color:var(--ppath-fg-2);text-align:center;max-width:640px;margin:0 0 28px;font-size:15px;line-height:1.7}.welcome-page.carousel-mode .slide-2 .stack-title{font-size:46px}.welcome-page.carousel-mode .method-grid{grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:880px;margin-top:8px;display:grid}.welcome-page.carousel-mode .method-card{background:var(--ppath-card);border:1px solid var(--ppath-line);text-align:center;border-radius:14px;padding:20px 18px 22px}.welcome-page.carousel-mode .method-card .tag{color:var(--ppath-ink-green-600,#4a6b46);letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:600;display:inline-block}.welcome-page.carousel-mode .method-card h4{letter-spacing:-.01em;margin:0 0 10px;font-size:17px;font-weight:800}.welcome-page.carousel-mode .method-card p{color:var(--ppath-fg-2);margin:0;font-size:12.5px;line-height:1.65}.welcome-page.carousel-mode .method-card p em{color:var(--ppath-fg-1);font-family:Georgia,Times New Roman,serif;font-style:italic}.welcome-page.carousel-mode .method-foot{justify-content:center;margin-top:22px;display:flex}.welcome-page.carousel-mode .method-foot .method-foot-link{appearance:none;cursor:pointer;border:1px solid var(--ppath-line);background:var(--ppath-card);color:var(--ppath-fg-1);border-radius:999px;padding:9px 18px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .18s}.welcome-page.carousel-mode .method-foot .method-foot-link:hover{border-color:var(--ppath-ink-green-700)}.welcome-page.carousel-mode .slide-3 .stack-title{font-size:56px}.welcome-page.carousel-mode .chat-card{background:var(--ppath-card);border:1px solid var(--ppath-line);border-radius:14px;width:100%;max-width:760px;padding:20px 22px}.welcome-page.carousel-mode .chat-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.welcome-page.carousel-mode .chat-head .lbl{color:var(--ppath-ink-green-700);letter-spacing:.04em;font-size:12.5px;font-weight:700}.welcome-page.carousel-mode .chat-head .replay{color:var(--ppath-fg-2);cursor:default;font-size:12.5px}.welcome-page.carousel-mode .chat-card .chat-row{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.welcome-page.carousel-mode .chat-card .chat-row.you{justify-content:flex-end}.welcome-page.carousel-mode .chat-card .chat-row .av{background:var(--ppath-ink-green-800);height:28px;color:var(--ppath-paper);border-radius:999px;flex:0 0 28px;place-items:center;font-size:13px;display:grid}.welcome-page.carousel-mode .chat-card .bubble{border-radius:12px;max-width:78%;padding:10px 14px;font-size:13.5px;line-height:1.6}.welcome-page.carousel-mode .chat-card .bubble.t{background:var(--ppath-paper-deep);color:var(--ppath-fg-1)}.welcome-page.carousel-mode .chat-card .bubble.u{background:var(--ppath-ink-green-800);color:var(--ppath-paper)}.welcome-page.carousel-mode .chat-card .bubble em{font-family:Georgia,serif;font-style:italic}.welcome-page.carousel-mode .carousel-slide.slide-4{flex-direction:column;justify-content:center;align-items:center;gap:32px;padding:40px 60px}.welcome-page.carousel-mode .feat-row{background:var(--ppath-card);border:1px solid var(--ppath-line);border-radius:14px;grid-template-columns:repeat(4,1fr);gap:24px;width:100%;max-width:1000px;padding:22px 26px;display:grid}.welcome-page.carousel-mode .feat-cell .ic{width:18px;height:18px;color:var(--ppath-ink-green-700);margin-bottom:6px;display:inline-flex}.welcome-page.carousel-mode .feat-cell h5{letter-spacing:-.005em;margin:0 0 6px;font-size:14.5px;font-weight:800}.welcome-page.carousel-mode .feat-cell p{color:var(--ppath-fg-2);margin:0;font-size:12.5px;line-height:1.6}@media (width<=880px){.welcome-page.carousel-mode .slide-2 .stack-title,.welcome-page.carousel-mode .slide-3 .stack-title{font-size:38px}.welcome-page.carousel-mode .method-grid{grid-template-columns:1fr}.welcome-page.carousel-mode .feat-row{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.welcome-page.carousel-mode .slide-2 .stack-title,.welcome-page.carousel-mode .slide-3 .stack-title{font-size:30px}.welcome-page.carousel-mode .feat-row{grid-template-columns:1fr}}.dashboard-card .cta-light.secondary{color:var(--ppath-ink-700);background:#ffffffb8;margin-top:8px}.welcome-page.carousel-mode{color:#fbfaf7;background:#0e2a23}.welcome-page.carousel-mode .welcome-nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0e2a23;border-bottom:1px solid #fbfaf714;padding:22px 56px}.welcome-page.carousel-mode .welcome-nav .logo-mark{color:#12352d;background:#fbfaf7;border-radius:8px;width:36px;height:36px;overflow:visible;box-shadow:inset 0 0 0 1px #12352d29}.welcome-page.carousel-mode .welcome-nav .logo-mark:before{display:none}.welcome-page.carousel-mode .welcome-nav .logo-mark:after{z-index:-1;background:#c2611f;border-radius:4px;width:15px;height:15px;top:auto;bottom:-4px;right:-4px}.welcome-page.carousel-mode .welcome-nav .logo-mark .lambda{color:#12352d;letter-spacing:-.04em;font-size:21px;font-style:normal;font-weight:900}.welcome-page.carousel-mode .welcome-nav .brand-lockup .name{color:#fbfaf7}.welcome-page.carousel-mode .welcome-nav .brand-lockup .tag{color:#fbfaf79e}.welcome-page.carousel-mode .welcome-nav-links{align-items:center;gap:6px;display:flex}.welcome-page.carousel-mode .welcome-nav-links button{color:#fbfaf7b8;box-shadow:none;background:0 0;border:0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600}.welcome-page.carousel-mode .welcome-nav-links button:hover{color:#fbfaf7;background:#fbfaf714;transform:none}.welcome-page.carousel-mode .welcome-nav-links .scan-login{border:1px solid #fbfaf72e;padding:9px 18px}.welcome-page.carousel-mode .welcome-carousel{background:#0e2a23}.welcome-page.carousel-mode .carousel-slide{color:#fbfaf7;scrollbar-width:none;background:#0e2a23}.welcome-page.carousel-mode .carousel-slide::-webkit-scrollbar{display:none}.welcome-page.carousel-mode .welcome-login-slide{padding:48px 88px 52px;position:relative;overflow:hidden}.welcome-page.carousel-mode .welcome-grid-texture{pointer-events:none;background-image:linear-gradient(#fbfaf707 1px,#0000 1px),linear-gradient(90deg,#fbfaf707 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 33%,#000 8%,#0000 75%);mask-image:radial-gradient(at 33%,#000 8%,#0000 75%)}.welcome-page.carousel-mode .welcome-ambient-glow{pointer-events:none;background:radial-gradient(circle,#c2611f1f,#0000 66%);width:560px;height:560px;position:absolute;top:-180px;left:-180px}.welcome-page.carousel-mode .login-hero-inner{z-index:1;grid-template-columns:minmax(0,1fr) minmax(360px,460px);align-items:center;gap:clamp(48px,7vw,96px);width:min(1140px,100%);margin:0 auto;display:grid;position:relative}.welcome-page.carousel-mode .login-identity{flex-direction:column;gap:34px;max-width:540px;display:flex}.welcome-page.carousel-mode .login-brand-large{align-items:center;gap:18px;display:flex}.welcome-page.carousel-mode .brand-stamp-large{color:#12352d;background:#fbfaf7;border-radius:13px;flex:none;place-items:center;width:58px;height:58px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #12352d29}.welcome-page.carousel-mode .brand-stamp-large:after{content:"";z-index:-1;background:#c2611f;border-radius:6px;width:25px;height:25px;position:absolute;bottom:-5px;right:-5px}.welcome-page.carousel-mode .brand-stamp-large span{font-family:var(--ppath-font-display,"Noto Serif SC", serif);letter-spacing:-.04em;font-size:34px;font-weight:900;line-height:1}.welcome-page.carousel-mode .login-brand-large h1{color:#fbfaf7;font-family:var(--ppath-font-display,"Noto Serif SC", serif);letter-spacing:-.035em;margin:0;font-size:34px;font-weight:900;line-height:1}.welcome-page.carousel-mode .login-brand-large p{color:#fbfaf79e;letter-spacing:.08em;margin:7px 0 0;font-size:13px;font-weight:600}.welcome-page.carousel-mode .login-status-line{flex-wrap:wrap;gap:10px;display:flex}.welcome-page.carousel-mode .login-status-line span{color:#fbfaf7c7;background:#fbfaf70f;border:1px solid #fbfaf71f;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700}.welcome-page.carousel-mode .login-boundary-list{border-top:1px solid #fbfaf71c;padding-top:24px}.welcome-page.carousel-mode .boundary-title{color:#fbfaf775;letter-spacing:.16em;margin-bottom:16px;font-size:11px;font-weight:800}.welcome-page.carousel-mode .login-boundary-list ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 24px;margin:0;padding:0;list-style:none;display:grid}.welcome-page.carousel-mode .login-boundary-list li{color:#fbfaf7d1;align-items:center;gap:10px;font-size:13.5px;font-weight:700;display:flex}.welcome-page.carousel-mode .boundary-check{color:#c2611f;background:#fbfaf712;border:1px solid #fbfaf71f;border-radius:50%;place-items:center;width:20px;height:20px;display:inline-grid}.welcome-page.carousel-mode .welcome-login-card{color:#1f2d27;background:#fbfaf7;border:1px solid #ffffff80;border-radius:22px;width:100%;padding:30px;box-shadow:0 28px 80px #00000042}.welcome-page.carousel-mode .login-card-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.welcome-page.carousel-mode .login-card-head span:first-child{color:#3f715d;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.welcome-page.carousel-mode .login-card-head h2{color:#121c18;letter-spacing:-.025em;margin:0;font-size:24px;font-weight:900;line-height:1.2}.welcome-page.carousel-mode .login-card-version{color:#789087;white-space:nowrap;margin-top:5px;font-size:12px}.welcome-page.carousel-mode .role-switch{background:#efece5;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:20px;padding:6px;display:grid}.welcome-page.carousel-mode .role-switch button{color:#7a817c;cursor:pointer;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:10px;grid-template-columns:auto 1fr;place-items:center start;gap:4px 8px;padding:13px 14px;display:grid}.welcome-page.carousel-mode .role-switch button.active{color:#12352d;background:#fbfaf7;border-color:#12352d17;box-shadow:0 4px 14px #30261614}.welcome-page.carousel-mode .role-switch strong{font-size:14px;line-height:1.2}.welcome-page.carousel-mode .role-switch small{color:#8b8d88;grid-column:2;font-size:12px;line-height:1.2}.welcome-page.carousel-mode .login-field-preview,.welcome-page.carousel-mode .login-code-preview{margin-bottom:14px}.welcome-page.carousel-mode .login-field-preview label,.welcome-page.carousel-mode .login-code-preview label{color:#29352f;margin-bottom:8px;font-size:13px;font-weight:800;display:block}.welcome-page.carousel-mode .login-field-preview button{color:#8c877e;width:100%;min-height:44px;box-shadow:none;cursor:pointer;background:#fffdf8;border:1px solid #ded8cc;border-radius:11px;justify-content:flex-start;align-items:center;gap:10px;padding:0 14px;font-size:14px;font-weight:600;display:flex}.welcome-page.carousel-mode .login-code-preview>div{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.welcome-page.carousel-mode .login-code-preview span{color:#15241e;background:#fffdf8;border:1px solid #ded8cc;border-radius:10px;place-items:center;height:44px;font-size:24px;font-weight:900;display:grid}.welcome-page.carousel-mode .login-main-action{color:#fbfaf7;cursor:pointer;background:#12352d;border:0;border-radius:12px;width:100%;height:48px;margin-top:4px;font-size:15px;font-weight:900;box-shadow:0 16px 32px #12352d3d}.welcome-page.carousel-mode .login-main-action:hover{background:#174238;transform:translateY(-1px)}.welcome-page.carousel-mode .login-card-foot{color:#8a8983;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:11.5px;display:flex}.welcome-page.carousel-mode .login-card-foot button{color:#12352d;box-shadow:none;background:0 0;border:0;padding:0;font-size:12px;font-weight:800}.welcome-page.carousel-mode .carousel-arrow{color:#fbfaf7d1;box-shadow:none;background:#fbfaf714;border:1px solid #fbfaf724}.welcome-page.carousel-mode .carousel-arrow:hover{color:#fbfaf7;background:#fbfaf724}.welcome-page.carousel-mode .carousel-dots button{background:#fbfaf74d}.welcome-page.carousel-mode .carousel-dots button:hover{background:#fbfaf794}.welcome-page.carousel-mode .carousel-dots button.active{color:#12352d;background:#fbfaf7}.welcome-page.carousel-mode .welcome-foot{color:#fbfaf775;background:#0e2a23;border-top:1px solid #fbfaf714}.welcome-page.carousel-mode .carousel-slide.slide-stack,.welcome-page.carousel-mode .carousel-slide.slide-4{background:radial-gradient(circle at 12% 12%,#c2611f1a,#0000 28%),linear-gradient(#0e2a23,#0e2a23)}.welcome-page.carousel-mode .stack-eyebrow,.welcome-page.carousel-mode .chat-head .lbl,.welcome-page.carousel-mode .method-card .tag,.welcome-page.carousel-mode .feat-cell .ic{color:#d08a53}.welcome-page.carousel-mode .stack-title,.welcome-page.carousel-mode .feat-cell h5,.welcome-page.carousel-mode .method-card h4{color:#fbfaf7}.welcome-page.carousel-mode .stack-sub,.welcome-page.carousel-mode .feat-cell p,.welcome-page.carousel-mode .method-card p,.welcome-page.carousel-mode .chat-head .replay{color:#fbfaf7ad}.welcome-page.carousel-mode .method-card,.welcome-page.carousel-mode .chat-card,.welcome-page.carousel-mode .feat-row,.welcome-page.carousel-mode .method-foot .method-foot-link{color:#fbfaf7;box-shadow:none;background:#fbfaf712;border-color:#fbfaf71f}.welcome-page.carousel-mode .method-card p em,.welcome-page.carousel-mode .chat-card .bubble em{color:#fbfaf7}.welcome-page.carousel-mode .chat-card .bubble.t{color:#fbfaf7;background:#fbfaf71a}.welcome-page.carousel-mode .chat-card .bubble.u,.welcome-page.carousel-mode .chat-card .chat-row .av{color:#12352d;background:#fbfaf7}@media (width<=980px){.welcome-page.carousel-mode .welcome-login-slide{padding:32px 28px 44px}.welcome-page.carousel-mode .login-hero-inner{grid-template-columns:1fr;gap:34px}.welcome-page.carousel-mode .welcome-nav{padding:18px 24px}.welcome-page.carousel-mode .welcome-nav-links button:not(.scan-login){display:none}}@media (width<=620px){.welcome-page.carousel-mode .welcome-login-card{padding:22px}.welcome-page.carousel-mode .login-boundary-list ul,.welcome-page.carousel-mode .role-switch{grid-template-columns:1fr}.welcome-page.carousel-mode .login-card-head,.welcome-page.carousel-mode .login-card-foot{flex-direction:column;align-items:flex-start}}.pilot-scenarios-page{gap:24px;padding-bottom:40px;display:grid}.pilot-head{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.pilot-head p:not(.eyebrow){max-width:680px;color:var(--ppath-ink-600);margin:8px 0 0}.pilot-grade-section{gap:14px;display:grid}.pilot-grade-section h2{color:var(--ppath-ink-900);margin:0}.pilot-grade-section h2 small{color:var(--ppath-ink-500);margin-left:8px;font-size:14px;font-weight:600}.pilot-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.pilot-scenario-card{border:1px solid var(--ppath-border);background:var(--ppath-paper);box-shadow:var(--ppath-shadow-soft);border-radius:8px;gap:12px;padding:18px;display:grid}.pilot-scenario-card header{align-items:center;gap:10px;display:flex}.pilot-scenario-card header span{background:var(--ppath-amber-100);color:var(--ppath-amber-800);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.pilot-scenario-card header strong{color:var(--ppath-ink-900);font-size:17px}.pilot-prompt{min-height:56px;color:var(--ppath-ink-700);margin:0;line-height:1.7}.pilot-tags{flex-wrap:wrap;gap:6px;display:flex}.pilot-tags span{background:var(--ppath-ink-green-50);color:var(--ppath-ink-green-800);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700}.pilot-nudge{min-height:46px;color:var(--ppath-ink-600);align-items:flex-start;gap:8px;margin:0;font-size:14px;line-height:1.6;display:flex}.pilot-nudge svg{color:var(--ppath-amber-700);flex:none;margin-top:3px}.pilot-scenario-card button,.ghost-button{cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;width:fit-content;padding:9px 14px;font-weight:800;display:inline-flex}.pilot-scenario-card button{background:var(--ppath-ink-green-700);color:#fff}.ghost-button{background:var(--ppath-paper);color:var(--ppath-ink-700);border:1px solid var(--ppath-border)}.pilot-footnote{background:var(--ppath-ink-green-50);color:var(--ppath-ink-green-800);border-radius:8px;padding:14px 16px;font-weight:700}.teacher-quick-nav{border-bottom:1px solid var(--ppath-border);background:var(--ppath-paper);gap:8px;padding:0 28px 14px;display:flex;overflow-x:auto}.teacher-quick-nav button{border:1px solid var(--ppath-border);background:var(--ppath-paper-deep);color:var(--ppath-ink-700);border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:800;display:inline-flex}.teacher-quick-nav button.active{background:var(--ppath-ink-green-700);border-color:var(--ppath-ink-green-700);color:#fff}@media (width<=860px){.pilot-head{display:grid}.pilot-scenario-grid{grid-template-columns:1fr}}.coach-shell.coach-two-pane{background:var(--ppath-paper);flex-direction:column;height:100%;min-height:0;display:flex}.coach-topbar{border-bottom:1px solid var(--ppath-border);background:var(--ppath-paper-deep);z-index:5;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 28px;display:flex}.coach-topbar .qtags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.coach-topbar .topic{color:var(--ppath-ink-900);font-size:14px;font-weight:800}.coach-topbar .free-judgement-tag{color:#6e4f00;background:#ffdc7859;border:1px solid #b482004d;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.coach-topbar .finish-btn{background:var(--ppath-ink-green-700);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:800}.coach-topbar .finish-btn:hover{background:var(--ppath-ink-green-800)}.coach-body{flex:auto;grid-template-columns:minmax(360px,42%) 1fr;gap:0;min-height:0;display:grid;overflow:hidden}.coach-problem-pane{border-right:1px solid var(--ppath-border);background:var(--ppath-paper-deep);flex-direction:column;min-height:0;display:flex;overflow:hidden}.problem-pane-head{letter-spacing:.5px;color:var(--ppath-fg-2);border-bottom:1px solid var(--ppath-border);text-transform:uppercase;flex:none;align-items:center;gap:6px;padding:12px 20px;font-size:12px;font-weight:800;display:flex}.problem-image-wrap{cursor:zoom-in;background:#f8f5ee;flex:auto;justify-content:center;align-items:center;min-height:0;padding:16px 20px;display:flex;overflow:auto}.problem-image-wrap img{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 4px 12px #00000014}.problem-no-image{color:var(--ppath-fg-2);border-bottom:1px dashed var(--ppath-border);background:#f8f5ee;flex-direction:column;flex:0 0 180px;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.problem-text-block{color:var(--ppath-ink-900);border-top:1px solid var(--ppath-border);background:var(--ppath-paper);white-space:pre-wrap;word-break:break-word;flex:none;max-height:38%;padding:14px 20px 18px;font-size:14px;line-height:1.65;overflow-y:auto}.coach-chat-pane{flex-direction:column;min-height:0;display:flex;overflow:hidden}.coach-chat-pane .coach-current-step{border-bottom:1px solid var(--ppath-border);background:var(--ppath-paper);flex:none;padding:14px 28px}.coach-chat-pane .step-progress{gap:6px;margin-bottom:10px;display:flex}.coach-chat-pane .step-progress span{background:var(--ppath-border);border-radius:4px;width:24px;height:4px}.coach-chat-pane .step-progress span.done{background:var(--ppath-ink-green-700)}.coach-chat-pane .step-progress span.active{background:var(--ppath-ink-green-800);width:32px}.coach-chat-pane .current-step-name{color:var(--ppath-ink-900);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;font-size:17px;font-weight:800;display:flex}.coach-chat-pane .current-step-name.free-judge-head{color:#6e4f00;font-size:16px}.coach-chat-pane .step-no{color:var(--ppath-fg-2);border:1px solid var(--ppath-border);background:var(--ppath-paper-deep);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-block}.coach-chat-pane .coach-actions{flex-wrap:wrap;gap:8px;display:flex}.coach-chat-pane .coach-actions button{border:1px solid var(--ppath-border);background:var(--ppath-paper-deep);color:var(--ppath-ink-700);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-flex}.coach-chat-pane .coach-actions button.primary{background:var(--ppath-ink-green-700);border-color:var(--ppath-ink-green-700);color:#fff}.coach-chat-pane .coach-actions button:disabled{opacity:.4;cursor:not-allowed}.coach-chat-pane .coach-thread{flex-direction:column;flex:auto;gap:14px;min-height:0;padding:16px 28px;display:flex;overflow-y:auto}.coach-chat-pane .coach-input{border-top:1px solid var(--ppath-border);background:var(--ppath-paper);flex:none;align-items:center;gap:8px;padding:12px 28px;display:flex}.coach-chat-pane .coach-text-input{border:1px solid var(--ppath-border);background:var(--ppath-paper);border-radius:8px;outline:none;flex:auto;height:38px;padding:0 12px;font-size:14px}.coach-chat-pane .coach-text-input:focus{border-color:var(--ppath-ink-green-700)}.coach-chat-pane .coach-mini-btn,.coach-chat-pane .coach-send-btn{border:1px solid var(--ppath-border);background:var(--ppath-paper-deep);width:38px;height:38px;color:var(--ppath-ink-700);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.coach-chat-pane .coach-send-btn{background:var(--ppath-ink-green-700);border-color:var(--ppath-ink-green-700);color:#fff}.coach-chat-pane .coach-send-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=980px){.coach-body{grid-template-rows:minmax(220px,38%) 1fr;grid-template-columns:1fr}.coach-problem-pane{border-right:none;border-bottom:2px solid var(--ppath-border)}.problem-image-wrap{flex:auto;min-height:160px}.problem-text-block{max-height:30%}}.capture-stage-unified{border:2px dashed var(--ppath-border);background:var(--ppath-paper-deep);border-radius:14px;flex-direction:column;gap:0;transition:border-color .2s,background .2s;display:flex;overflow:hidden}.capture-stage-unified.drag-over{border-color:var(--ppath-ink-green-700);background:#78b4820f}.capture-stage-unified .unified-image-area{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;min-height:220px;padding:28px 24px;display:flex;position:relative}.capture-stage-unified .unified-image-area.has-image{cursor:default;background:#f8f5ee;padding:16px}.capture-stage-unified .unified-image-area.has-image img{object-fit:contain;border-radius:8px;max-width:100%;max-height:320px;box-shadow:0 4px 12px #00000014}.capture-stage-unified .unified-image-empty{color:var(--ppath-fg-2);flex-direction:column;align-items:center;gap:10px;display:flex}.capture-stage-unified .unified-image-empty h3{color:var(--ppath-ink-900);margin:0;font-size:17px}.capture-stage-unified .unified-image-empty p{margin:0;font-size:13px}.capture-stage-unified .unified-image-action{border:1px solid var(--ppath-border);background:var(--ppath-paper);color:var(--ppath-ink-700);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:8px 16px;font-size:13px;font-weight:700;display:inline-flex}.capture-stage-unified .unified-image-action:hover{background:var(--ppath-paper-deep)}.capture-stage-unified .unified-image-preview-bar{background:var(--ppath-paper);border-top:1px dashed var(--ppath-border);border-bottom:1px dashed var(--ppath-border);color:var(--ppath-fg-2);justify-content:space-between;align-items:center;padding:10px 16px;font-size:12px;display:flex}.capture-stage-unified .unified-image-preview-bar .change-image-btn{border:1px solid var(--ppath-border);background:var(--ppath-paper-deep);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:700}.capture-stage-unified .unified-divider{color:var(--ppath-fg-2);letter-spacing:.5px;align-items:center;gap:10px;padding:10px 20px;font-size:12px;font-weight:700;display:flex}.capture-stage-unified .unified-divider:before,.capture-stage-unified .unified-divider:after{content:"";background:var(--ppath-border);flex:1;height:1px}.capture-stage-unified .unified-textarea{background:var(--ppath-paper);resize:vertical;box-sizing:border-box;border:none;border-radius:0;outline:none;width:100%;min-height:100px;padding:14px 20px 16px;font-size:14px;line-height:1.6}.capture-stage-unified .unified-textarea:focus{background:#fcfbf6}.capture-stage-unified .unified-footer{background:var(--ppath-paper-deep);border-top:1px solid var(--ppath-border);color:var(--ppath-fg-2);justify-content:space-between;align-items:center;padding:12px 20px;font-size:12px;display:flex}.capture-stage-unified .unified-send-btn{background:var(--ppath-ink-green-700);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:10px 22px;font-size:14px;font-weight:800;display:inline-flex}.capture-stage-unified .unified-send-btn:disabled{opacity:.4;cursor:not-allowed}.capture-stage-unified .unified-send-btn:hover:not(:disabled){background:var(--ppath-ink-green-800)}.login-field{margin:14px 0;display:block}.login-field span{color:#6b7280;margin-bottom:6px;font-size:13px;display:block}.login-field input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:12px 14px;font-size:16px;transition:border-color .15s}.login-field input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.login-agree{color:#4b5563;align-items:flex-start;gap:8px;margin:14px 0;font-size:12px;line-height:1.5;display:flex}.login-agree input{flex-shrink:0;margin-top:3px}.login-agree a{color:#2563eb;text-decoration:none}.login-agree a:hover{text-decoration:underline}.login-guardian-consent{color:#92400e;background:#f59e0b14;border:1px solid #f59e0b59;border-radius:10px;align-items:flex-start;gap:8px;margin:6px 0 10px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.login-guardian-consent input{flex-shrink:0;margin-top:3px}.login-guardian-consent a{color:#b45309;text-decoration:underline}.login-submit{color:#fff;cursor:pointer;background:#2563eb;border:0;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-size:16px;font-weight:600;transition:background .15s}.login-submit:hover:not(:disabled){background:#1d4ed8}.login-submit:disabled{cursor:not-allowed;background:#d1d5db}.login-error{color:#b91c1c;background:#fef2f2;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:13px}.login-step-hint{color:#6b7280;text-align:center;margin:12px 0 8px;font-size:13px}.login-actions{gap:8px;margin-top:8px;display:flex}.login-actions .login-submit{flex:1;margin-top:0}.login-back{color:#374151;cursor:pointer;background:#f3f4f6;border:0;border-radius:8px;padding:12px 16px;font-size:14px}.login-back:hover{background:#e5e7eb}.login-resend{color:#2563eb;cursor:pointer;background:0 0;border:0;width:100%;margin-top:10px;padding:8px;font-size:13px;display:block}.login-resend:disabled{color:#9ca3af;cursor:not-allowed}.quota-banner{color:#374151;cursor:default;background:#f3f4f6;border:0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;transition:background .15s;display:inline-flex}.quota-banner .quota-icon{font-size:14px}.quota-tier{color:#4338ca;background:#e0e7ff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.quota-count strong{color:#111827;font-weight:700}.quota-banner.quota-low{color:#92400e;background:#fef3c7}.quota-banner.quota-low .quota-tier{color:#78350f;background:#fcd34d}.quota-banner.quota-out{color:#991b1b;background:#fee2e2}.quota-banner.quota-out .quota-tier{color:#7f1d1d;background:#fca5a5}.quota-banner.quota-circuit-broken{color:#7f1d1d;background:#fee2e2;font-weight:600}.quota-banner.quota-login{cursor:pointer;color:#fff;background:#2563eb;font-weight:600}.quota-banner.quota-login:hover{background:#1d4ed8}.welcome-page.welcome-layout-a,.welcome-page.layout-a-carousel{color:#fbfaf7;min-height:100vh;font-family:var(--ppath-font-sans);background:#0e2a23;overflow:hidden}.welcome-page.layout-a-carousel{padding:0}.welcome-page.layout-a-carousel .welcome-carousel{width:100%;height:100vh}.welcome-page.layout-a-carousel .carousel-slide{background:#0e2a23;padding:0}.welcome-page.layout-a-carousel .layout-a-slide{place-items:center;display:grid;overflow:hidden}.layout-a-shell{background:#0e2a23;flex-direction:column;width:min(100%,1440px);height:calc(100vh - 48px);min-height:720px;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #0000003d}.welcome-page.layout-a-carousel .layout-a-shell{width:100vw;height:100vh;min-height:0;box-shadow:none}.welcome-page.layout-a-carousel .carousel-dots{bottom:34px}.welcome-page.layout-a-carousel .carousel-arrow{color:#fbfaf7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e2a2394;border-color:#fbfaf72e}.welcome-page.layout-a-carousel .carousel-arrow:hover{background:#0e2a23c7}.welcome-page.layout-a-carousel .slide-stack,.welcome-page.layout-a-carousel .slide-4{background:radial-gradient(circle at 12% 12%,#c2611f1a,#0000 28%),#0e2a23;padding:48px 60px 56px}.layout-a-grid{pointer-events:none;background-image:linear-gradient(#fbfaf706 1px,#0000 1px),linear-gradient(90deg,#fbfaf706 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 30% 48%,#000 12%,#0000 74%);mask-image:radial-gradient(at 30% 48%,#000 12%,#0000 74%)}.layout-a-glow{pointer-events:none;background:radial-gradient(circle,#c2611f1a,#0000 65%);width:520px;height:520px;position:absolute;top:-160px;left:-160px}.layout-a-nav{z-index:1;border-bottom:1px solid #fbfaf714;flex:none;justify-content:space-between;align-items:center;padding:26px 56px;display:flex;position:relative}.layout-a-brand{align-items:center;gap:12px;display:flex}.layout-a-brand strong{color:#fbfaf7;letter-spacing:-.02em;font-size:17px;font-weight:900;line-height:1;display:block}.layout-a-brand>div>span{color:#fbfaf79e;letter-spacing:.12em;margin-top:4px;font-size:10.5px;font-weight:700;display:block}.layout-a-calligraphy{color:#fbfaf7;font-family:"Long Cang", "Ma Shan Zheng", "STXingkai", "KaiTi", var(--ppath-font-display,"Noto Serif SC", serif);letter-spacing:0;text-shadow:0 10px 26px #00000042;font-weight:400;line-height:.92;display:inline-block}.layout-a-calligraphy-small{min-width:76px;font-size:28px}.layout-a-calligraphy-main{margin:0 0 12px;font-size:clamp(78px,7vw,116px);transform:rotate(-2deg)}.layout-a-nav nav{gap:18px;display:flex}.layout-a-nav button{color:#fbfaf7b8;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:700}.layout-a-nav button:hover{color:#fbfaf7}.layout-a-mark{color:#12352d;background:#fbfaf7;border-radius:12px;flex:none;place-items:center;width:56px;height:56px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #12352d29}.layout-a-mark:after{content:"";z-index:-1;background:#c2611f;border-radius:6px;width:24px;height:24px;position:absolute;bottom:-5px;right:-5px}.layout-a-mark.small{border-radius:7px;width:34px;height:34px}.layout-a-mark.small:after{border-radius:4px;width:14px;height:14px;bottom:-4px;right:-4px}.layout-a-mark span{font-family:var(--ppath-font-display,"Noto Serif SC", serif);letter-spacing:-.05em;font-size:32px;font-weight:900;line-height:1}.layout-a-mark.small span{font-size:20px}.layout-a-main{z-index:1;flex:auto;grid-template-columns:minmax(0,1fr) minmax(360px,430px);align-items:center;gap:clamp(72px,10vw,150px);min-height:0;padding:56px 88px 42px 118px;display:grid;position:relative}.layout-a-left{flex-direction:column;gap:36px;max-width:520px;display:flex}.layout-a-identity{align-items:center;gap:18px;display:flex}.layout-a-identity h1{color:#fbfaf7;font-family:var(--ppath-font-display,"Noto Serif SC", serif);letter-spacing:-.035em;margin:0;font-size:32px;font-weight:900;line-height:1}.layout-a-identity .layout-a-calligraphy-main{color:#fbfaf7;font-family:"Long Cang", "Ma Shan Zheng", "STXingkai", "KaiTi", var(--ppath-font-display,"Noto Serif SC", serif);letter-spacing:0;margin:0 0 12px;font-size:clamp(78px,7vw,116px);font-weight:400;line-height:.92;transform:rotate(-2deg)}.layout-a-identity p{color:#fbfaf79e;margin:8px 0 0;font-size:12.5px;font-weight:700}.layout-a-slogan{flex-direction:column;gap:9px;display:flex}.layout-a-slogan strong{color:#fbfaf7;letter-spacing:-.01em;font-size:18px;font-weight:900}.layout-a-slogan span{color:#fbfaf7b8;font-size:17px;font-weight:600}.layout-a-boundary{border-top:1px solid #fbfaf71a;padding-top:25px}.layout-a-boundary>div{color:#fbfaf76b;letter-spacing:.16em;margin-bottom:16px;font-size:11px;font-weight:900}.layout-a-boundary ul{grid-template-columns:1fr 1fr;gap:14px 34px;margin:0;padding:0;list-style:none;display:grid}.layout-a-boundary li{color:#fbfaf7d6;align-items:center;gap:10px;font-size:13.5px;font-weight:800;display:flex}.layout-a-boundary li span{color:#c2611f;background:#fbfaf712;border:1px solid #fbfaf71a;border-radius:999px;flex:none;place-items:center;width:20px;height:20px;display:inline-grid}.layout-a-login{color:#15231e;background:#fbfaf7;border-radius:22px;justify-self:end;width:100%;max-width:430px;max-height:calc(100vh - 120px);padding:40px;overflow:auto;box-shadow:0 24px 70px #00000038}.layout-a-login-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:30px;display:flex}.layout-a-login-head h2{color:#15231e;font-family:var(--ppath-font-display,"Noto Serif SC", serif);letter-spacing:-.04em;margin:0;font-size:28px;font-weight:900;line-height:1.1}.layout-a-login-head p{color:#6d7772;margin:7px 0 0;font-size:13px;font-weight:700}.layout-a-login-head>span{color:#5d756b;white-space:nowrap;font-size:11px;font-weight:700}.layout-a-login::-webkit-scrollbar{width:0;height:0}.layout-a-auth-switch,.login-mode-tabs{border-bottom:1px solid #ebe5da;gap:24px;margin-bottom:18px;display:flex}.login-mode-tabs{margin:4px 0 18px}.layout-a-auth-switch button,.login-mode-tabs button{color:#7d847f;cursor:pointer;background:0 0;border:0;padding:0 0 11px;font-size:13px;font-weight:900;position:relative}.layout-a-auth-switch button.active,.login-mode-tabs button.active{color:#15231e}.layout-a-auth-switch button.active:after,.login-mode-tabs button.active:after{content:"";background:#12352d;height:2px;position:absolute;bottom:-1px;left:0;right:0}.layout-a-input-field{margin-bottom:18px;display:block}.layout-a-input-field>span,.layout-a-code-input>span{color:#1f2b26;align-items:center;gap:8px;margin-bottom:9px;font-size:13px;font-weight:900;display:flex}.layout-a-input-field>span em{color:#8a8f8a;font-size:11px;font-style:normal;font-weight:700}.layout-a-input-field input{color:#1c2924;background:#fffdf8;border:1px solid #ded8cc;border-radius:10px;outline:none;width:100%;height:48px;padding:0 16px;font-size:15px;font-weight:700}.layout-a-input-field input:focus{border-color:#12352d;box-shadow:0 0 0 3px #12352d14}.layout-a-check{color:#727a75;grid-template-columns:18px 1fr;gap:10px;margin:2px 0 16px;font-size:12px;font-weight:600;line-height:1.65;display:grid}.layout-a-check input{accent-color:#12352d;width:16px;height:16px;margin-top:2px}.layout-a-check a{color:#335f51;margin-left:3px;font-weight:800;text-decoration:none}.layout-a-remember,.login-remember{margin-bottom:10px}.layout-a-auth-error{color:#ad2f25;background:#fff1f0;border-radius:10px;margin:0 0 14px;padding:11px 12px;font-size:13px;font-weight:700}.layout-a-code-input{margin-bottom:8px;display:block;position:relative}.layout-a-code-input input{opacity:0;z-index:2;width:100%;height:54px;position:absolute;bottom:0;left:0;right:0}.layout-a-code-boxes{z-index:1;grid-template-columns:repeat(6,1fr);gap:9px;display:grid;position:relative}.layout-a-code-boxes i{color:#17241f;background:#fffdf8;border:1px solid #ded8cc;border-radius:10px;place-items:center;height:54px;font-size:22px;font-style:normal;font-weight:900;display:grid}.layout-a-code-boxes i:empty{border-color:#d6d0c5}.layout-a-code-boxes i:empty:first-child{box-shadow:0 0 0 2px #12352d14}.layout-a-code-meta{color:#8a8f8a;justify-content:space-between;gap:12px;margin:10px 0 18px;font-size:12px;font-weight:700;display:flex}.layout-a-code-meta button{color:#335f51;cursor:pointer;background:0 0;border:0;font-weight:900}.layout-a-code-meta button:disabled{color:#9ca29d;cursor:not-allowed}.layout-a-field{margin-bottom:24px;display:block}.layout-a-field>span{color:#1f2b26;margin-bottom:9px;font-size:13px;font-weight:900;display:block}.layout-a-field button{color:#1c2924;cursor:pointer;background:#fffdf8;border:1px solid #ded8cc;border-radius:10px;align-items:center;gap:18px;width:100%;height:44px;padding:0 16px;display:flex}.layout-a-field b{color:#8b918c;font-size:12px;font-weight:700}.layout-a-field em{letter-spacing:.06em;font-size:14px;font-style:normal;font-weight:700}.layout-a-tabs{border-bottom:1px solid #ebe5da;gap:24px;margin-bottom:14px;display:flex}.layout-a-tabs button{color:#7d847f;cursor:pointer;background:0 0;border:0;padding:0 0 11px;font-size:13px;font-weight:800;position:relative}.layout-a-tabs button.active{color:#15231e}.layout-a-tabs button.active:after{content:"";background:#12352d;height:2px;position:absolute;bottom:-1px;left:0;right:0}.layout-a-code{margin-bottom:26px}.layout-a-code>div{grid-template-columns:repeat(6,1fr);gap:9px;display:grid}.layout-a-code>div span{color:#17241f;background:#fffdf8;border:1px solid #ded8cc;border-radius:9px;place-items:center;height:42px;font-size:19px;font-weight:900;display:grid}.layout-a-code>div span:nth-child(5){border-color:#1c2924;box-shadow:0 0 0 2px #12352d14}.layout-a-code p{color:#8a8f8a;justify-content:space-between;margin:9px 0 0;font-size:11px;font-weight:600;display:flex}.layout-a-submit{color:#fbfaf7;cursor:pointer;background:#12352d;border:0;border-radius:11px;width:100%;height:48px;font-size:14px;font-weight:900;box-shadow:0 12px 24px #12352d38}.layout-a-submit:hover{background:#174138}.layout-a-submit:disabled{cursor:not-allowed;box-shadow:none;background:#a9b3ae}.layout-a-login-foot{color:#8a8f8a;border-top:1px solid #ece6dc;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:18px;font-size:12px;display:flex}.layout-a-login-foot button,.layout-a-footer button{color:#12352d;cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:900}.layout-a-agreement{color:#8a8f8a;text-align:center;margin:20px 0 0;font-size:10.5px;font-weight:600}.layout-a-footer{z-index:1;color:#fbfaf773;flex:none;justify-content:space-between;align-items:center;padding:20px 56px;font-size:11.5px;font-weight:700;display:flex;position:relative}.layout-a-footer div{flex-wrap:wrap;gap:20px;display:flex}.layout-a-footer button{color:#d08a53;align-items:center;gap:6px;display:inline-flex}@media (width<=980px){.welcome-page.welcome-layout-a{padding:0}.layout-a-shell{width:100%;height:100vh;min-height:0}.layout-a-main{grid-template-columns:1fr;gap:30px;padding:34px 28px;overflow-y:auto}.layout-a-nav,.layout-a-footer{padding-inline:24px}.layout-a-nav nav button:not(:first-child){display:none}}@media (height<=760px) and (width>=900px){.welcome-page.layout-a-carousel .layout-a-shell{width:100vw;height:100vh}.layout-a-nav{padding:18px 42px}.layout-a-main{gap:clamp(56px,8vw,120px);padding:32px 70px 24px 110px}.layout-a-footer{padding:14px 42px}.layout-a-login{padding:28px}.layout-a-login-head{margin-bottom:18px}.layout-a-field{margin-bottom:16px}.layout-a-code{margin-bottom:18px}.layout-a-login-foot{margin-top:18px;padding-top:13px}.layout-a-agreement{margin-top:12px}}@media (width<=620px){.layout-a-main{padding-inline:20px}.layout-a-boundary ul{grid-template-columns:1fr}.layout-a-login{padding:28px 22px}.layout-a-footer{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=768px){.welcome-page.layout-a-carousel .carousel-arrow{display:none}.welcome-page.layout-a-carousel .carousel-dots{gap:8px;bottom:12px}.welcome-page.layout-a-carousel .carousel-dots button.active{color:#0000;width:22px;height:8px;padding:0;font-size:0}.welcome-page.layout-a-carousel .layout-a-shell{height:100dvh;min-height:100dvh}.welcome-page.layout-a-carousel .layout-a-main{gap:18px;padding:20px 18px 56px}.welcome-page.layout-a-carousel .layout-a-left{display:none}.welcome-page.layout-a-carousel .layout-a-login{width:min(100%,420px);max-height:calc(100dvh - 132px);padding:24px 20px}.welcome-page.layout-a-carousel .layout-a-footer{display:none}}.homework-upload-modal{z-index:1000;background:#0e2a23a6;justify-content:center;align-items:center;padding:20px;animation:.18s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hw-upload-card{background:#fff;border-radius:16px;width:min(560px,100%);max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 24px 60px #0006}.hw-upload-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.hw-upload-head .eyebrow{text-transform:uppercase;letter-spacing:1.2px;color:#c2611f;margin:0 0 6px;font-size:11px;font-weight:600}.hw-upload-head h2{color:#12352d;margin:0;font-size:19px;font-weight:700;line-height:1.4}.hw-upload-close{color:#12352d;cursor:pointer;background:#12352d0f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex}.hw-upload-close:hover{background:#12352d1f}.hw-upload-drop{text-align:center;cursor:pointer;color:#5b6f6a;background:#f7f9f8;border:2px dashed #12352d33;border-radius:12px;padding:40px 20px;transition:all .15s}.hw-upload-drop:hover{background:#fcf4ec;border-color:#c2611f}.hw-upload-drop.dragging{background:#eef6f2;border-color:#244f42;box-shadow:inset 0 0 0 2px #244f421f}.hw-upload-drop svg{color:#c2611f;margin-bottom:12px}.hw-upload-drop p{margin:4px 0;font-size:14px}.hw-upload-drop strong{color:#12352d;font-size:16px}.hw-upload-tip{color:#8fa5a0;line-height:1.6;margin-top:8px!important;font-size:12px!important}.hw-upload-preview{background:#f0f3f2;border-radius:12px;margin-bottom:16px;position:relative;overflow:hidden}.hw-upload-preview img{object-fit:contain;width:100%;max-height:360px;display:block}.hw-upload-preview-list{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;margin:14px 0;display:grid}.hw-upload-preview-item{background:#f7f9f8;border:1px solid #12352d1a;border-radius:10px;min-width:0;padding:8px}.hw-upload-preview-item img,.hw-upload-pdf-tile{aspect-ratio:4/3;object-fit:cover;background:#fff;border:1px solid #12352d14;border-radius:8px;width:100%}.hw-upload-pdf-tile{color:#244f42;place-items:center;font-weight:800;display:grid}.hw-upload-preview-item span{text-overflow:ellipsis;white-space:nowrap;color:#5b6f6a;margin-top:6px;font-size:11px;display:block;overflow:hidden}.hw-upload-replace{color:#12352d;cursor:pointer;background:#fffffff2;border:1px solid #12352d1f;border-radius:999px;margin:0 0 14px auto;padding:8px 14px;font-size:13px;position:static;box-shadow:0 2px 8px #00000029}.hw-upload-replace:hover{background:#fff}.hw-upload-field{margin-bottom:16px;display:block}.hw-upload-field span{color:#5b6f6a;text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.hw-upload-field input{background:#f7f9f8;border:1px solid #12352d2e;border-radius:8px;width:100%;padding:10px 14px;font-size:14px}.hw-upload-field input:focus{background:#fff;border-color:#c2611f;outline:none}.hw-upload-error{color:#a32a2a;background:#fde7e7;border-radius:8px;margin:0 0 16px;padding:10px 14px;font-size:13px}.hw-upload-foot{gap:12px;margin-top:8px;display:flex}.hw-upload-cancel,.hw-upload-submit{cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;padding:12px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.hw-upload-cancel{color:#12352d;background:#12352d0f}.hw-upload-cancel:hover{background:#12352d1f}.hw-upload-submit{color:#fff;background:#c2611f}.hw-upload-submit:hover:not(:disabled){background:#a4521a}.hw-upload-submit:disabled,.hw-upload-cancel:disabled{opacity:.5;cursor:not-allowed}.hw-upload-fine{color:#8fa5a0;margin:16px 0 0;font-size:11px;line-height:1.6}.spin{animation:1s linear infinite spin}.homework-list-page{max-width:920px;margin:0 auto;padding:24px 32px}.homework-list-page .page-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.homework-list-subtitle{color:#6f7f7a;max-width:520px;margin:8px 0 0;font-size:14px;line-height:1.6}.hw-list-actions{gap:10px;display:flex}.hw-list-refresh,.hw-list-upload{color:#12352d;cursor:pointer;background:#fff;border:1px solid #12352d29;border-radius:999px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.hw-list-refresh:hover{background:#f7f9f8;border-color:#12352d52}.hw-list-upload{color:#fff;background:#c2611f;border-color:#c2611f}.hw-list-upload:hover{background:#a4521a;border-color:#a4521a}.hw-list-upload.primary{padding:11px 20px;font-size:14px}.hw-list-empty,.hw-list-error{text-align:center;color:#5b6f6a;padding:16px}.hw-list-error{color:#a32a2a;background:#fde7e7;border-radius:8px;align-items:center;gap:8px;display:inline-flex}.hw-list-empty-state{text-align:center;color:#5b6f6a;padding:60px 20px}.hw-list-empty-state svg{color:#8fa5a0;margin-bottom:16px}.hw-list-empty-state h3{color:#12352d;margin:0 0 8px;font-size:18px}.hw-list-empty-state p{margin:0 0 24px;font-size:14px}.hw-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.hw-card{background:#fff;border:1px solid #12352d1a;border-radius:12px;transition:all .15s;overflow:hidden}.hw-card.unread{border-color:#c2611f;box-shadow:0 2px 12px #c2611f26}.hw-card:hover{box-shadow:0 2px 10px #00000014}.hw-card-head{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:14px;width:100%;padding:14px;display:flex}.hw-card-thumb{object-fit:cover;background:#f0f3f2;border-radius:8px;flex-shrink:0;width:64px;height:64px}.hw-card-pdf{color:#244f42;place-items:center;display:grid}.hw-card-pages{color:#5b6f6a;background:#f0f3f2;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.hw-card-meta{flex:1;min-width:0}.hw-card-title-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.hw-card-status,.hw-card-verdict{border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.hw-card-status.tone-pending{color:#8a5a00;background:#fff5e0}.hw-card-status.tone-ai_done{color:#1d556e;background:#e3f1f8}.hw-card-status.tone-reviewing{color:#5b3aa5;background:#f0e8fc}.hw-card-status.tone-sent,.hw-card-status.tone-approved{color:#1a5a35;background:#d5f4e0}.hw-card-status.tone-rejected{color:#a32a2a;background:#fde7e7}.hw-card-verdict.tone-correct{color:#1a5a35;background:#d5f4e0}.hw-card-verdict.tone-partial{color:#8a5a00;background:#fff5e0}.hw-card-verdict.tone-wrong{color:#a32a2a;background:#fde7e7}.hw-card-verdict.tone-noanswer{color:#5b6f6a;background:#f0f3f2}.hw-card-verdict em{opacity:.85;margin-left:2px;font-style:normal}.hw-card-meta h3{color:#12352d;margin:0 0 4px;font-size:15px;font-weight:600;line-height:1.4}.hw-card-when{color:#8fa5a0;margin:0;font-size:12px}.hw-card-arrow{color:#5b6f6a;margin-left:8px;font-size:12px;font-weight:700}.hw-card-body{border-top:1px solid #12352d14;padding:0 14px 14px}.hw-section{background:#f7f9f8;border-left:3px solid #8fa5a0;border-radius:10px;margin-top:14px;padding:14px}.hw-section.ai-section{border-left-color:#1d556e}.hw-section.teacher-section{background:#fcf4ec;border-left-color:#c2611f}.hw-file-link{color:#244f42;align-items:center;gap:6px;margin-top:14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.hw-image-strip{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:14px;display:grid}.hw-image-strip img{aspect-ratio:4/3;object-fit:cover;border:1px solid #12352d1a;border-radius:8px;width:100%}.hw-section-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.hw-section-title strong{color:#12352d;font-size:13px;font-weight:700}.hw-section-title .when{color:#8fa5a0;font-size:11px}.score-badge{color:#1d556e;background:#fff;border:1px solid #b6d6e3;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.hw-section-note{color:#5b6f6a;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.hw-feedback-text{color:#12352d;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.65}.hw-feedback-text.teacher-text{color:#5a2e0f;font-weight:500}.hw-errors{color:#5b6f6a;margin-top:10px;font-size:13px}.hw-errors ul{margin:4px 0 0;padding-left:18px}.hw-errors li{color:#a32a2a;margin:3px 0}.hw-solution{color:#12352d;background:#ffffffb8;border-radius:8px;margin-top:12px;padding:12px;font-size:13px;line-height:1.65}.hw-solution p{white-space:pre-wrap;margin:6px 0 0}.hw-next-step{color:#12352d;margin-top:10px;font-size:13px}.hw-details{margin-top:10px}.hw-details summary{cursor:pointer;color:#5b6f6a;-webkit-user-select:none;user-select:none;padding:4px 0;font-size:12px}.hw-details summary:hover{color:#12352d}.hw-ocr{color:#5b6f6a;white-space:pre-wrap;word-break:break-word;background:#f0f3f2;border-radius:6px;max-height:200px;margin:6px 0 0;padding:10px;font-family:ui-monospace,monospace;font-size:12px;overflow-y:auto}@media (width<=600px){.homework-list-page{padding:16px}.homework-list-page .page-head{flex-direction:column;align-items:flex-start}.hw-card-head{padding:12px}.hw-card-thumb{width:56px;height:56px}.hw-upload-card{padding:20px}}.tutor-live-monitor{grid-template-columns:360px 1fr;gap:18px;min-height:70vh;display:grid}.tlm-sidebar{background:#fcfaf6;border:1px solid #12352d1a;border-radius:12px;max-height:80vh;padding:16px;overflow-y:auto}.tlm-sidebar-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tlm-sidebar-head h2{color:#12352d;margin:0;font-size:16px}.tlm-meta{color:#8fa5a0;margin:2px 0 0;font-size:11px}.tlm-refresh{cursor:pointer;background:#12352d0f;border:none;border-radius:8px;padding:6px}.tlm-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tlm-item button{text-align:left;cursor:pointer;background:#fff;border:1px solid #12352d14;border-radius:10px;width:100%;padding:10px 12px;transition:all .15s}.tlm-item.active button{background:#fcf4ec;border-color:#c2611f}.tlm-item.needs-review button{background:#fff8ee;border-color:#c2611f6b}.tlm-item button:hover:not(:disabled){border-color:#12352d33}.tlm-item-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.tlm-item-head strong{color:#12352d;font-size:13px}.tlm-when{color:#8fa5a0;font-size:11px}.tlm-topic{color:#5b6f6a;margin:0;font-size:12px;line-height:1.4}.tlm-item-meta{color:#8fa5a0;gap:6px;margin-top:4px;font-size:11px;display:flex}.tlm-review-chip{color:#a85219;background:#fbe9d2;border-radius:999px;padding:1px 7px;font-weight:700}.tlm-done{color:#1a5a35;font-weight:600}.tlm-empty,.tlm-detail-empty{text-align:center;color:#8fa5a0;padding:40px 16px}.tlm-detail-empty h3{color:#12352d;margin:12px 0 4px}.tlm-error,.thr-error,.tmc-error,.tkn-error,.tpg-error,.tci-error{color:#a32a2a;background:#fde7e7;border-radius:8px;align-items:center;gap:6px;margin:8px 0;padding:8px 12px;font-size:12px;display:inline-flex}.tlm-detail{background:#fff;border:1px solid #12352d1a;border-radius:12px;flex-direction:column;padding:20px;display:flex}.tlm-detail-head{border-bottom:1px solid #12352d14;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:16px;display:flex}.tlm-detail-eyebrow{color:#c2611f;text-transform:uppercase;letter-spacing:1px;margin:0 0 4px;font-size:11px;font-weight:600}.tlm-detail-head h2{color:#12352d;margin:0 0 4px;font-size:18px}.tlm-detail-meta{color:#8fa5a0;align-items:center;gap:4px;margin:0;font-size:11px;display:flex}.tlm-detail-meta code{background:#12352d0f;border-radius:4px;padding:1px 5px;font-size:10px}.tlm-detail-image{object-fit:cover;border-radius:6px;flex-shrink:0;width:120px;height:90px}.tlm-messages{margin-bottom:16px}.tlm-messages h3{color:#5b6f6a;text-transform:uppercase;letter-spacing:.6px;margin:0 0 8px;font-size:13px}.tlm-message{border-radius:8px;margin-bottom:8px;padding:10px 12px}.tlm-message-student{background:#f0f7f4;border-left:3px solid #1a5a35}.tlm-message-teacher{background:#fcf4ec;border-left:3px solid #c2611f}.tlm-message.is-review-request{background:#fff8ee;border-left-color:#d67a1f}.tlm-role{color:#8fa5a0;text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:600}.tlm-message p{color:#12352d;margin:4px 0 0;font-size:13px;line-height:1.5}.tlm-time{color:#8fa5a0;font-size:10px}.tlm-no-msg{color:#8fa5a0;font-size:13px}.tlm-intervene{background:#fcf4ec;border:1px solid #f0d4b5;border-radius:10px;padding:14px}.tlm-intervene h3{color:#12352d;align-items:center;gap:6px;margin:0 0 8px;font-size:13px;display:flex}.tlm-intervene textarea{resize:vertical;background:#fff;border:1px solid #12352d29;border-radius:8px;width:100%;padding:10px;font-size:13px}.tlm-intervene-foot{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.tlm-char-count,.thr-char-count,.tkn-char-count{color:#8fa5a0;font-size:11px}.tlm-send,.thr-send,.tkn-save,.tmc-save,.tpg-generate,.tpg-download,.tci-import{color:#fff;cursor:pointer;background:#c2611f;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.tlm-send:hover:not(:disabled),.thr-send:hover:not(:disabled),.tkn-save:hover:not(:disabled),.tmc-save:hover:not(:disabled),.tpg-generate:hover:not(:disabled),.tpg-download:hover,.tci-import:hover:not(:disabled){background:#a4521a}.tlm-send:disabled,.thr-send:disabled,.tkn-save:disabled,.tmc-save:disabled,.tpg-generate:disabled,.tci-import:disabled{opacity:.5;cursor:not-allowed}.tlm-success{color:#1a5a35;margin:8px 0 0;font-size:12px;font-weight:600}.tutor-homework-review{grid-template-columns:380px 1fr;gap:18px;min-height:70vh;display:grid}.thr-sidebar{background:#fcfaf6;border:1px solid #12352d1a;border-radius:12px;max-height:80vh;padding:14px;overflow-y:auto}.thr-tabs{align-items:center;gap:4px;margin-bottom:12px;display:flex}.thr-tabs button{color:#5b6f6a;cursor:pointer;background:#12352d0a;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600}.thr-tabs button.active{color:#fff;background:#c2611f}.thr-refresh{margin-left:auto;padding:6px!important}.thr-tab-badge{color:#c2611f;background:#fff;border-radius:999px;margin-left:4px;padding:1px 6px;font-size:10px}.thr-empty{text-align:center;color:#8fa5a0;padding:40px 16px}.thr-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.thr-item button{cursor:pointer;text-align:left;background:#fff;border:1px solid #12352d14;border-radius:10px;gap:10px;width:100%;padding:10px;display:flex}.thr-item.active button{background:#fcf4ec;border-color:#c2611f}.thr-item.needs-review button{border-left:3px solid #c2611f}.thr-thumb{object-fit:cover;background:#f0f3f2;border-radius:6px;flex-shrink:0;width:48px;height:48px}.thr-thumb-pdf{color:#1f4b40;border:1px solid #12352d24;justify-content:center;align-items:center;display:inline-flex}.thr-item-meta{flex:1;min-width:0}.thr-row{align-items:center;gap:6px;display:flex}.thr-row strong{color:#12352d;font-size:12px}.thr-verdict{border-radius:999px;padding:1px 6px;font-size:10px;font-weight:600}.thr-verdict.v-correct{color:#1a5a35;background:#d5f4e0}.thr-verdict.v-partial{color:#8a5a00;background:#fff5e0}.thr-verdict.v-wrong{color:#a32a2a;background:#fde7e7}.thr-verdict.v-no_answer{color:#5b6f6a;background:#f0f3f2}.thr-item-meta p{color:#12352d;margin:2px 0;font-size:12px;line-height:1.3}.thr-when{color:#8fa5a0;align-items:center;gap:4px;font-size:10px;display:flex}.thr-sent{color:#1a5a35;margin-left:4px;font-weight:600}.thr-detail{background:#fff;border:1px solid #12352d1a;border-radius:12px;padding:20px}.thr-detail-empty{text-align:center;color:#8fa5a0;padding:60px 20px}.thr-detail-empty h3{color:#12352d;margin:12px 0 4px}.thr-detail-head{border-bottom:1px solid #12352d14;margin-bottom:14px;padding-bottom:12px}.thr-eyebrow{color:#c2611f;text-transform:uppercase;letter-spacing:1px;margin:0 0 4px;font-size:11px;font-weight:600}.thr-detail-head h2{color:#12352d;margin:0 0 4px;font-size:17px}.thr-meta{color:#8fa5a0;margin:0;font-size:11px}.thr-content{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.thr-image-col{flex-direction:column;gap:10px;display:flex}.thr-image{border-radius:8px;width:100%}.thr-pdf-preview{color:#12352d;background:#f7f9f8;border:1px dashed #12352d47;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:180px;text-decoration:none;display:flex}.thr-pdf-preview span{color:#6f817c;font-size:12px}.thr-section{background:#f7f9f8;border-radius:8px;margin-bottom:10px;padding:12px}.thr-section h4{color:#12352d;justify-content:space-between;align-items:center;margin:0 0 6px;font-size:12px;display:flex}.thr-ai-section{border-left:3px solid #1d556e}.thr-ocr{white-space:pre-wrap;color:#5b6f6a;background:#fff;border-radius:4px;max-height:120px;margin:0;padding:8px;font-family:ui-monospace,monospace;font-size:11px;overflow-y:auto}.thr-feedback-preview{color:#12352d;white-space:pre-wrap;margin:4px 0;font-size:13px;line-height:1.5}.thr-errors{color:#a32a2a;margin:6px 0 0;padding-left:18px;font-size:12px}.thr-feedback-form{background:#fcf4ec;border-radius:10px;padding:14px}.thr-feedback-form label{display:block}.thr-feedback-form strong{color:#12352d;font-size:12px}.thr-feedback-form textarea{resize:vertical;background:#fff;border:1px solid #12352d29;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-size:13px}.thr-feedback-foot{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.thr-already-sent{color:#1a5a35;margin:8px 0 0;font-size:12px;font-weight:600}.tutor-method-cards{grid-template-columns:340px 1fr;gap:18px;min-height:70vh;display:grid}.tmc-sidebar{background:#fcfaf6;border:1px solid #12352d1a;border-radius:12px;max-height:80vh;padding:14px;overflow-y:auto}.tmc-sidebar-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tmc-sidebar-head h2{color:#12352d;margin:0;font-size:16px}.tmc-create{color:#fff;cursor:pointer;background:#c2611f;border:none;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;display:inline-flex}.tmc-summary{color:#5b6f6a;flex-wrap:wrap;gap:6px;margin-bottom:10px;font-size:11px;display:flex}.tmc-summary strong{color:#12352d}.tmc-tabs{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.tmc-tabs button{color:#5b6f6a;cursor:pointer;background:#12352d0a;border:none;border-radius:6px;padding:4px 10px;font-size:11px}.tmc-tabs button.active{color:#fff;background:#c2611f}.tmc-empty{text-align:center;color:#8fa5a0;padding:30px 12px;font-size:13px}.tmc-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tmc-item button{text-align:left;cursor:pointer;background:#fff;border:1px solid #12352d14;border-radius:8px;width:100%;padding:8px 10px}.tmc-item.active button{background:#fcf4ec;border-color:#c2611f}.tmc-item-head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:3px;display:flex}.tmc-item-head strong{color:#12352d;font-size:12px}.tmc-status{border-radius:999px;padding:1px 5px;font-size:9px;font-weight:600}.tmc-status.v-draft{color:#5b6f6a;background:#f0f3f2}.tmc-status.v-needs_review{color:#8a5a00;background:#fff5e0}.tmc-status.v-approved{color:#1a5a35;background:#d5f4e0}.tmc-status.v-disabled{color:#a32a2a;background:#fde7e7}.tmc-item p{color:#5b6f6a;margin:0;font-size:11px;line-height:1.4}.tmc-item-meta{color:#8fa5a0;margin-top:3px;font-size:10px}.tmc-pub{color:#1a5a35;font-weight:600}.tmc-detail{background:#fff;border:1px solid #12352d1a;border-radius:12px;max-height:80vh;padding:18px;overflow-y:auto}.tmc-detail-empty{text-align:center;color:#8fa5a0;padding:60px 20px}.tmc-detail-head{border-bottom:1px solid #12352d14;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;padding-bottom:14px;display:flex}.tmc-eyebrow{color:#c2611f;text-transform:uppercase;letter-spacing:1px;margin:0 0 4px;font-size:11px;font-weight:600}.tmc-detail-head h2{color:#12352d;margin:0 0 4px;font-size:18px}.tmc-meta{color:#8fa5a0;margin:0;font-size:11px}.tmc-actions{gap:6px;display:flex}.tmc-publish{color:#fff;cursor:pointer;background:#1a5a35;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.tmc-unpublish{color:#5b6f6a;cursor:pointer;background:#12352d0f;border:none;border-radius:8px;padding:8px 14px;font-size:13px}.tmc-delete{color:#a32a2a;cursor:pointer;background:#fde7e7;border:none;border-radius:8px;padding:8px}.tmc-form{flex-direction:column;gap:12px;display:flex}.tmc-field{display:block}.tmc-field span{color:#5b6f6a;text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px;font-size:11px;font-weight:600;display:block}.tmc-field input,.tmc-field textarea{resize:vertical;background:#fcfaf6;border:1px solid #12352d29;border-radius:6px;width:100%;padding:8px 12px;font-family:inherit;font-size:13px}.tmc-field input:focus,.tmc-field textarea:focus{background:#fff;border-color:#c2611f;outline:none}.tmc-create-form{max-width:400px}.tmc-create-form h2{color:#12352d;margin:0 0 16px;font-size:18px}.tmc-create-actions{gap:8px;margin-top:14px;display:flex}.tmc-cancel{color:#5b6f6a;cursor:pointer;background:#12352d0f;border:none;border-radius:8px;padding:8px 16px;font-size:13px}.tutor-knowledge-notes{grid-template-columns:1fr 1fr;gap:18px;display:grid}.tkn-input-area,.tkn-list-area{background:#fcfaf6;border:1px solid #12352d1a;border-radius:12px;padding:18px}.tkn-input-area header h2{color:#12352d;margin:0 0 4px;font-size:18px}.tkn-input-area header p{color:#8fa5a0;margin:0 0 14px;font-size:12px}.tkn-meta-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.tkn-meta-row input,.tkn-transcript{background:#fff;border:1px solid #12352d29;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:13px}.tkn-transcript{resize:vertical;min-height:140px}.tkn-actions{gap:8px;margin-top:10px;display:flex}.tkn-mic{color:#fff;cursor:pointer;background:#c2611f;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:600;display:inline-flex}.tkn-mic.recording{background:#a32a2a;animation:1.2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.tkn-mic:disabled{opacity:.5;cursor:not-allowed}.tkn-tip{color:#8fa5a0;margin:10px 0 0;font-size:11px;line-height:1.5}.tkn-list-area h3{color:#12352d;margin:0 0 12px;font-size:14px}.tkn-empty{color:#8fa5a0;font-size:13px}.tkn-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tkn-item{background:#fff;border:1px solid #12352d14;border-radius:8px;padding:12px}.tkn-item.v-converted{opacity:.7;border-left:3px solid #1a5a35}.tkn-item-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.tkn-item-head strong{color:#12352d;font-size:13px}.tkn-source{color:#5b6f6a;background:#12352d0f;border-radius:999px;padding:1px 6px;font-size:10px}.tkn-converted{color:#1a5a35;font-size:10px;font-weight:600}.tkn-item p{color:#5b6f6a;margin:0;font-size:12px;line-height:1.5}.tkn-item-actions{justify-content:flex-end;gap:6px;margin-top:8px;display:flex}.tkn-convert{color:#c2611f;cursor:pointer;background:#c2611f1f;border:none;border-radius:6px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.tkn-del{color:#a32a2a;cursor:pointer;background:#a32a2a14;border:none;border-radius:6px;padding:5px 8px}.tutor-ppt-gen{grid-template-columns:1fr 1fr;gap:18px;display:grid}.tpg-form,.tpg-history{background:#fcfaf6;border:1px solid #12352d1a;border-radius:12px;padding:20px}.tpg-form header h2{color:#12352d;align-items:center;gap:8px;margin:0 0 4px;font-size:18px;display:inline-flex}.tpg-form header p{color:#8fa5a0;margin:0 0 18px;font-size:12px}.tpg-field{margin-bottom:14px;display:block}.tpg-field span{color:#5b6f6a;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.tpg-field input{background:#fff;border:1px solid #12352d29;border-radius:8px;width:100%;padding:10px 14px;font-size:14px}.tpg-generate{justify-content:center;width:100%;margin-top:4px;padding:12px;font-size:15px}.tpg-success{background:#d5f4e0;border-radius:10px;margin-top:14px;padding:16px}.tpg-success h3{color:#1a5a35;margin:0 0 6px;font-size:14px}.tpg-success p{color:#12352d;margin:0 0 10px;font-size:13px}.tpg-download{text-decoration:none}.tpg-download.small{padding:6px 10px;font-size:11px}.tpg-history h3{color:#12352d;margin:0 0 12px;font-size:14px}.tpg-empty{color:#8fa5a0;font-size:13px}.tpg-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tpg-item{background:#fff;border:1px solid #12352d14;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.tpg-item.v-failed{border-left:3px solid #a32a2a}.tpg-item.v-done{border-left:3px solid #1a5a35}.tpg-item.v-generating{border-left:3px solid #c2611f}.tpg-item-meta{flex:1;min-width:0}.tpg-item-meta strong{color:#12352d;margin-bottom:3px;font-size:13px;display:block}.tpg-item-meta p{color:#5b6f6a;flex-wrap:wrap;align-items:center;gap:4px;margin:0;font-size:11px;display:flex}.tpg-when{color:#8fa5a0}.tpg-audience{color:#8fa5a0!important;margin-top:4px!important}.tpg-err-msg{color:#a32a2a!important;margin-top:4px!important}.tpg-status{color:#5b6f6a;font-size:11px}.tpg-status.v-failed{color:#a32a2a}.tutor-courseware-import{padding:4px}.tci-head{margin-bottom:18px}.tci-head h2{color:#12352d;margin:0 0 4px;font-size:18px}.tci-head p{color:#8fa5a0;margin:0;font-size:12px}.tci-drop{text-align:center;cursor:pointer;color:#5b6f6a;background:#fcfaf6;border:2px dashed #12352d33;border-radius:12px;padding:50px 20px;transition:all .15s}.tci-drop:hover{background:#fcf4ec;border-color:#c2611f}.tci-drop svg{color:#c2611f;margin-bottom:12px}.tci-drop p{margin:4px 0;font-size:14px}.tci-drop strong{color:#12352d}.tci-tip{color:#8fa5a0;font-size:12px!important}.tci-preview-area{background:#fcfaf6;border-radius:12px;padding:16px}.tci-preview-img{border-radius:8px;max-width:100%;max-height:400px;margin:0 auto 12px;display:block}.tci-preview-actions{justify-content:center;gap:8px;display:flex}.tci-preview-actions button:first-child{color:#5b6f6a;cursor:pointer;background:#12352d0f;border:none;border-radius:8px;padding:8px 14px;font-size:13px}.tci-import{padding:8px 18px}.tci-results{margin-top:18px}.tci-results h3{color:#12352d;margin:0 0 12px;font-size:14px}.tci-result-card{background:#fff;border:1px solid #12352d14;border-radius:10px;grid-template-columns:160px 1fr;gap:14px;margin-bottom:12px;padding:14px;display:grid}.tci-result-img img{border-radius:6px;width:100%}.tci-result-meta p{color:#5b6f6a;margin:4px 0;font-size:12px}.tci-recog{color:#12352d!important}.tci-success{color:#1a5a35;align-items:center;gap:6px;font-weight:600;display:inline-flex}.tci-fail{color:#a32a2a}.tci-msg{color:#8a5a00}.tci-cards-preview{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.tci-cards-preview li{background:#fcf4ec;border-left:3px solid #c2611f;border-radius:6px;padding:8px 10px}.tci-cards-preview strong{color:#12352d;margin-bottom:2px;font-size:12px;display:block}.tci-cards-preview p{color:#5b6f6a;margin:0;font-size:11px}.tci-hint{font-weight:600;color:#c2611f!important;margin-top:8px!important}@media (width<=900px){.tutor-live-monitor,.tutor-homework-review,.tutor-method-cards,.tutor-knowledge-notes,.tutor-ppt-gen,.thr-content,.tci-result-card{grid-template-columns:1fr}}.ink-slide{color:#fbfaf7;background:#0e2a23;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.ink-slide:before,.ink-slide:after{content:"";pointer-events:none;position:absolute}.ink-slide:before{background:radial-gradient(circle,#c2611f14 0%,#0000 70%);width:600px;height:600px;top:-300px;left:-150px}.ink-slide:after{background:radial-gradient(circle,#8fa5a00f 0%,#0000 70%);width:800px;height:800px;bottom:-400px;right:-200px}.ink-slide-nav{z-index:2;justify-content:space-between;align-items:center;padding:28px 56px;display:flex;position:relative}.ink-brand-row{align-items:center;gap:14px;display:flex}.ink-brand-mark{color:#0e2a23;background:#fbfaf7;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;font-family:Long Cang,Ma Shan Zheng,Noto Serif SC,KaiTi,serif;font-size:28px;display:inline-flex;box-shadow:0 2px 8px #0003}.ink-brand-lockup{flex-direction:column;line-height:1.2;display:flex}.ink-brand-lockup strong{color:#fbfaf7;letter-spacing:1px;font-size:18px;font-weight:600}.ink-brand-lockup span{color:#fbfaf780;letter-spacing:.8px;text-transform:uppercase;margin-top:2px;font-size:11px}.ink-login-btn{color:#fbfaf7;cursor:pointer;background:#fbfaf70f;border:1px solid #fbfaf733;border-radius:999px;align-items:center;gap:8px;padding:9px 22px;font-size:14px;font-weight:500;transition:all .2s;display:inline-flex}.ink-login-btn:hover{background:#c2611f33;border-color:#c2611f}.ink-stage{z-index:1;flex:1;justify-content:center;align-items:center;padding:0 40px;display:flex;position:relative}.ink-mark{width:100%;max-width:1200px;height:auto;max-height:60vh;animation:1.2s ease-out ink-fade-in}@keyframes ink-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ink-stroke{stroke-dasharray:1;stroke-dashoffset:1px;animation:1.8s ease-out .6s forwards ink-stroke-draw}@keyframes ink-stroke-draw{to{stroke-dashoffset:0}}.ink-slide-foot{text-align:center;z-index:2;padding:32px 56px 44px;position:relative}.ink-tagline{color:#fbfaf7bf;letter-spacing:.5px;margin:0 0 24px;font-size:17px;font-weight:300;line-height:1.6}.ink-cta-row{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:28px;display:flex}.ink-cta-primary{color:#fff;cursor:pointer;background:#c2611f;border:none;border-radius:999px;align-items:center;gap:8px;padding:14px 32px;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #c2611f4d}.ink-cta-primary:hover{background:#a4521a;transform:translateY(-1px);box-shadow:0 6px 18px #c2611f73}.ink-cta-secondary{color:#fbfaf7;cursor:pointer;background:0 0;border:1px solid #fbfaf740;border-radius:999px;padding:14px 28px;font-size:14px;font-weight:500;transition:all .2s}.ink-cta-secondary:hover{background:#fbfaf70f;border-color:#fbfaf780}.ink-foot-meta{color:#fbfaf759;letter-spacing:.6px;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;font-size:11px;display:flex}.welcome-page.carousel-mode.layout-a-carousel .carousel-slide.layout-a-slide{padding:0;display:flex}@media (width<=768px){.ink-slide-nav{padding:20px 24px}.ink-brand-lockup span{display:none}.ink-slide-foot{padding:24px 24px 36px}.ink-tagline{font-size:15px}.ink-cta-primary,.ink-cta-secondary{padding:12px 22px;font-size:14px}}.student-unread-banner{color:#5a2e0f;cursor:pointer;text-align:left;background:linear-gradient(135deg,#fcf4ec 0%,#f7e8d6 100%);border:1px solid #c2611f;border-radius:12px;width:100%;margin-bottom:18px;padding:14px 20px;font-size:14px;transition:all .15s;display:block;box-shadow:0 2px 8px #c2611f26}.student-unread-banner:hover{background:linear-gradient(135deg,#fae5cc 0%,#f0d4b5 100%);transform:translateY(-1px)}.student-unread-banner strong{color:#c2611f;padding:0 4px;font-size:16px}.student-cta-with-badge{position:relative}.student-cta-badge{color:#fff;text-align:center;background:#c2611f;border-radius:999px;min-width:20px;padding:2px 7px;font-size:11px;font-weight:700;animation:.4s ease-out badge-pop;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 4px #c2611f66}@keyframes badge-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.coach-intervention-stack{flex-direction:column;gap:10px;margin:14px 24px;animation:.3s ease-out slide-down;display:flex}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.coach-intervention-card{background:#fcf4ec;border:1px solid #c2611f;border-left-width:4px;border-radius:10px;padding:12px 16px;box-shadow:0 2px 12px #c2611f26}.coach-intervention-head{color:#c2611f;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.coach-intervention-head strong{flex:1}.coach-intervention-close{color:#5b6f6a;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.coach-intervention-close:hover{color:#12352d}.coach-intervention-body{color:#5a2e0f;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.6}.usage-dashboard{gap:14px;display:grid}.usage-summary-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.usage-summary-card{color:#244f42;background:#fffdfa;border:1px solid #12352d1a;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;gap:8px 10px;min-height:92px;padding:16px;display:grid}.usage-summary-card svg{color:#a85d2a;grid-row:span 2}.usage-summary-card span{color:#6f7f79;font-size:12px;font-weight:800}.usage-summary-card strong{color:#12352d;font-size:26px;line-height:1}.usage-attention-panel{background:#fbf5ec;border:1px solid #a85d2a2e;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.usage-attention-panel p,.usage-attention-panel strong,.usage-attention-panel span{display:block}.usage-attention-panel strong{color:#12352d;font-size:15px}.usage-attention-panel span{color:#6f7f79;margin-top:4px;font-size:13px}.usage-attention-list{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:560px;display:flex}.usage-attention-list span,.usage-attention-ok{border-radius:999px;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.usage-attention-list span{color:#8b4318;background:#fffdfa;border:1px solid #a85d2a2e}.usage-attention-ok{color:#244f42;background:#eaf4ef}.usage-table-wrap{background:#fffdfa;border:1px solid #12352d1a;border-radius:12px;overflow-x:auto}.usage-table{border-collapse:collapse;width:100%;min-width:880px;font-size:13px}.usage-table th,.usage-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #12352d14;padding:13px 14px}.usage-table th{color:#5b6f6a;background:#f7f3ea;font-size:12px;font-weight:800}.usage-table td:first-child strong,.usage-table td:first-child span{display:block}.usage-table td:first-child span{color:#8c9a95;margin-top:3px;font-size:12px}.usage-ok,.usage-muted{border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;display:inline-flex}.usage-ok{color:#244f42;background:#eaf4ef}.usage-muted{color:#8c8278;background:#f3eee6}.usage-warn{color:#a85d2a;font-weight:900}.recent-empty{color:#7c8d87;background:#fffdfa;border:1px dashed #12352d29;border-radius:12px;padding:18px;font-size:14px}.dropzone.drag-over{background:#fff7ed;border-color:#c2611f;box-shadow:0 0 0 4px #c2611f14}.preview-wrap .file-preview{color:#12352d;background:#fcfaf6;border:1px solid #12352d1a;border-radius:12px;justify-content:center;align-items:center;gap:14px;min-height:220px;padding:28px;display:flex}.preview-wrap .file-preview svg{color:#c2611f;flex:none}.preview-wrap .file-preview b{text-overflow:ellipsis;white-space:nowrap;max-width:420px;font-size:15px;display:block;overflow:hidden}.preview-wrap .file-preview span{color:#6e695c;margin-top:4px;font-size:12px;display:block}.tbl-empty-note{text-align:center;color:#8a8372;padding:24px 8px;font-size:13px}@media (width<=960px){.usage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.usage-attention-panel{flex-direction:column;align-items:flex-start}.usage-attention-list{justify-content:flex-start}}@media (width<=520px){.usage-summary-grid{grid-template-columns:1fr}}.fb-toast-stack{z-index:4000;pointer-events:none;flex-direction:column;gap:8px;width:max-content;max-width:min(92vw,420px);display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.fb-toast{background:var(--ppath-card,#fff);border:1px solid var(--ppath-line,#eadfce);color:var(--ppath-fg-1,#10201b);pointer-events:auto;border-radius:12px;align-items:flex-start;gap:8px;padding:11px 14px;font-size:13.5px;line-height:1.5;animation:.18s ease-out fb-toast-in;display:flex;box-shadow:0 8px 24px #10201b1f}.fb-toast-icon{flex-shrink:0;margin-top:1px;display:flex}.fb-toast-msg{word-break:break-word}.fb-toast--success{border-color:var(--ppath-success-100,#d8eedf)}.fb-toast--success .fb-toast-icon{color:var(--ppath-success-700,#16613f)}.fb-toast--info .fb-toast-icon{color:var(--ppath-info-700,#1d4ed8)}.fb-toast--warning{border-color:var(--ppath-warning-100,#fef3c7)}.fb-toast--warning .fb-toast-icon{color:var(--ppath-warning-700,#92400e)}.fb-toast--error{border-color:var(--ppath-danger-100,#f7d8d8)}.fb-toast--error .fb-toast-icon{color:var(--ppath-danger-700,#9b2226)}@keyframes fb-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.fb-confirm-backdrop{z-index:4100;background:#10201b61;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out fb-fade-in;display:flex;position:fixed;inset:0}.fb-confirm-card{background:var(--ppath-card,#fff);border-radius:18px;width:100%;max-width:360px;padding:22px 22px 18px;animation:.16s ease-out fb-pop-in;box-shadow:0 20px 50px #10201b40}.fb-confirm-title{color:var(--ppath-fg-1,#10201b);margin:0 0 8px;font-size:16.5px;font-weight:700}.fb-confirm-msg{color:var(--ppath-fg-2,#5d6964);margin:0 0 18px;font-size:14px;line-height:1.6}.fb-prompt-input{border:1px solid var(--ppath-line,#eadfce);width:100%;color:var(--ppath-fg-1,#10201b);background:var(--ppath-card-soft,#fbfaf7);box-sizing:border-box;resize:vertical;border-radius:10px;margin:0 0 16px;padding:10px 12px;font-family:inherit;font-size:14px;line-height:1.5;display:block}.fb-prompt-input:focus{border-color:var(--ppath-ink-green-600,#2f6a5a);outline:none}.fb-confirm-actions{gap:10px;display:flex}.fb-btn{cursor:pointer;border:0;border-radius:11px;flex:1;padding:10px 14px;font-size:14px;font-weight:600;transition:opacity .15s,transform 50ms}.fb-btn:hover{opacity:.92}.fb-btn:active{transform:translateY(1px)}.fb-btn--ghost{background:var(--ppath-line-soft,#f0e9dc);color:var(--ppath-fg-2,#5d6964)}.fb-btn--primary{background:var(--ppath-ink-green-800,#12352d);color:var(--ppath-fg-on-ink,#fbfaf7)}.fb-btn--danger{background:var(--ppath-danger-700,#9b2226);color:#fff}@keyframes fb-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fb-pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
