:root,[data-theme=light]{--ink: #10243a;--brand: #2f6fb0;--brand-soft: #5b93cc;--accent: #e07a3d;--gold: #c99a2e;--paper: #ffffff;--page-bg: #eaf3fb;--line: rgba(16, 36, 58, .12);--shadow: 0 18px 50px rgba(47, 111, 176, .14);--icon-bg: rgba(255, 255, 255, .78);--icon-bg-hover: rgba(255, 255, 255, .95);--surface: color-mix(in srgb, var(--paper) 96%, var(--page-bg));--surface-solid: #ffffff;--chip-bg: rgba(47, 111, 176, .08);--field-bg: #ffffff;--muted: rgba(16, 36, 58, .64);--muted-strong: rgba(16, 36, 58, .78);--overlay: rgba(16, 36, 58, .42);--stage-top: rgba(255, 255, 255, .95);--stage-bottom: rgba(234, 243, 251, .92);--answer: #9a4a1c;--error: #b3412c;--ok: #127a5e;--primary-fg: #ffffff;--wash-1: rgba(201, 154, 46, .3);--wash-2: rgba(47, 111, 176, .18);--wash-3: rgba(224, 122, 61, .16);--grid-line: rgba(47, 111, 176, .05);--board-bg: #eaf3fb;--board-ink: #24435f;--board-ink-strong: #10243a;color-scheme:light}[data-theme=dark]{--ink: #e7f1ef;--brand: #7dcdc4;--brand-soft: #5fb3aa;--accent: #e8945a;--gold: #e2c36a;--paper: #1a2624;--page-bg: #141d1b;--line: rgba(231, 241, 239, .14);--shadow: 0 18px 50px rgba(0, 0, 0, .35);--icon-bg: rgba(26, 38, 36, .88);--icon-bg-hover: rgba(36, 52, 49, .95);--surface: color-mix(in srgb, var(--paper) 88%, #0c1211);--surface-solid: #1c2a27;--chip-bg: rgba(255, 255, 255, .06);--field-bg: rgba(8, 14, 13, .45);--muted: rgba(231, 241, 239, .58);--muted-strong: rgba(231, 241, 239, .72);--overlay: rgba(0, 0, 0, .55);--stage-top: rgba(28, 42, 39, .95);--stage-bottom: rgba(20, 30, 28, .92);--answer: #f0b27a;--error: #f08a72;--ok: #9ff0e6;--primary-fg: #0d1a18;--wash-1: rgba(226, 195, 106, .16);--wash-2: rgba(125, 205, 196, .14);--wash-3: rgba(232, 148, 90, .12);--grid-line: rgba(125, 205, 196, .06);--board-bg: #1a2624;--board-ink: #dde8e6;--board-ink-strong: #e6efed;color-scheme:dark}:root{font-family:Noto Sans SC,system-ui,sans-serif;color:var(--ink);background:var(--page-bg);line-height:1.55;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:light dark}html,body{background:var(--page-bg);color:var(--ink);transition:background .25s ease,color .25s ease}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-width:320px}button,textarea{font:inherit}.app{position:relative;min-height:100vh;overflow:hidden}.feed-app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.feed-shell::-webkit-scrollbar{width:0;height:0}.feed-shell{position:relative;z-index:1;flex:1;width:min(480px,100%);margin:0 auto;padding:0;display:flex;flex-direction:column;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:calc(3.15rem + env(safe-area-inset-bottom,0px))}.app-topbar{position:relative;z-index:6;flex-shrink:0;display:flex;align-items:center;gap:.55rem;width:min(480px,100%);margin:0 auto;padding:.55rem .55rem .2rem}.app-topbar-title{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;font-size:.95rem;font-weight:700;color:var(--ink)}.feed-stage{position:relative;flex:0 0 auto;min-height:0;border-radius:0;overflow:visible;border:0;box-shadow:none;background:var(--board-bg);display:grid;grid-template-columns:1fr;grid-template-rows:auto auto}.feed-board{position:relative;grid-column:1;grid-row:2;min-height:0}.feed-frame{position:relative;inset:auto;width:100%;height:auto;min-height:42vh;border:0;display:block;background:var(--board-bg);pointer-events:none;z-index:1}.feed-hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;border:0;padding:0;margin:0;background:#0000;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;outline:none;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.feed-hit:focus,.feed-hit:focus-visible,.feed-hit:active{outline:none;box-shadow:none;border:0}.feed-board,.feed-frame,.feed-stage{outline:none;-webkit-tap-highlight-color:transparent}.feed-top{grid-column:1 / -1;grid-row:1;z-index:6;background:var(--board-bg);padding:3.1rem 0 .45rem;transition:padding-top .22s ease}.rail-btn{border:0;background:transparent;color:var(--board-ink);display:grid;gap:.2rem;justify-items:center;cursor:pointer;padding:0;text-shadow:0 1px 6px color-mix(in srgb,var(--board-bg) 60%,transparent)}.rail-btn:disabled{opacity:.35;cursor:default}.rail-ico{width:2.2rem;height:2.2rem;display:grid;place-items:center;filter:drop-shadow(0 1px 4px color-mix(in srgb,var(--board-bg) 55%,transparent))}.rail-btn span:last-child{font-size:.62rem;font-weight:500;letter-spacing:.02em}.rail-btn.fav.is-on{color:var(--gold)}.rail-btn.mastered.is-on{color:var(--brand)}.douyin-dock{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(480px,100%);z-index:45;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;height:calc(3.15rem + env(safe-area-inset-bottom,0px));padding:0 .25rem env(safe-area-inset-bottom,0px);background:var(--surface-solid);border-top:0;color:var(--muted)}.dock-item{position:relative;border:0;background:transparent;color:inherit;display:grid;place-items:center;padding:.2rem .15rem;cursor:pointer;font-size:.92rem;font-weight:600;letter-spacing:.02em;min-height:2.85rem}.dock-item:disabled{opacity:.4;cursor:default}.dock-item.is-on{color:var(--ink)}.dock-badge{position:absolute;top:.35rem;right:.08rem;min-width:.95rem;height:.95rem;padding:0 .22rem;border-radius:999px;background:#fe2c55;color:#fff;font-size:.58rem;font-style:normal;line-height:.95rem;text-align:center}.dock-plus-wrap{display:grid;place-items:center;height:100%}.dock-plus{width:2.9rem;height:2.9rem;margin:0;border:0;border-radius:999px;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;box-shadow:none;transition:opacity .15s ease}.dock-plus:active{opacity:.7}.dock-plus.is-busy{animation:dock-plus-busy 1.4s ease-in-out infinite}@keyframes dock-plus-busy{0%,to{opacity:1}50%{opacity:.45}}.dock-plus:disabled{opacity:.4;cursor:default}.dock-plus svg{width:1.8rem;height:1.8rem}.feed-empty{flex:1;display:grid;place-content:center;color:var(--muted-strong);font-weight:600}.awaiting{margin-top:auto;margin-bottom:auto;display:flex;flex-direction:column;gap:.7rem;padding:0 .9rem;animation:sheet-up .28s ease}.awaiting-card{padding:.9rem 1rem 1.05rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.awaiting-strip-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:0 .9rem .4rem;font-size:.74rem;color:var(--muted-strong)}.awaiting-strip-index{font-variant-numeric:tabular-nums;color:var(--brand);font-weight:700}.awaiting-strip{display:flex;gap:.55rem;cursor:grab;-webkit-user-select:none;user-select:none;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;padding:0 .9rem .3rem}.awaiting-strip:active{cursor:grabbing}.awaiting-strip-tip{margin-left:.45rem;font-size:.72rem;font-weight:400;opacity:.6}.awaiting-strip::-webkit-scrollbar{width:0;height:0}.awaiting-strip-card{flex:0 0 calc(100% - 1.8rem);scroll-snap-align:center;text-align:left;font:inherit;color:inherit;cursor:pointer;opacity:.72;transition:opacity .18s ease,border-color .18s ease}.awaiting-strip-card.is-active{opacity:1;border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.awaiting-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem}.awaiting-type{padding:.16rem .52rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand);font-size:.72rem;font-weight:700}.awaiting-problem{margin:0;white-space:pre-wrap;font-size:.95rem;line-height:1.62;font-weight:500;color:var(--ink)}.awaiting-figure{margin-top:.75rem;max-width:100%;overflow:hidden;border-radius:12px;border:1px solid var(--line)}.awaiting-figure .figure-zoom{max-height:240px}.awaiting-figure .figure-frame{display:block;width:100%;height:100%;border:0;background:transparent}.awaiting-card,.awaiting-strip-card{overflow:hidden}.awaiting-status.is-top{margin:0 0 .75rem;justify-content:flex-start;padding:.5rem .75rem}.awaiting-status{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0;padding:.7rem;font-size:.84rem;font-weight:600;color:var(--muted-strong)}.awaiting-spin{width:.85rem;height:.85rem;border:2px solid color-mix(in srgb,var(--brand) 40%,transparent);border-top-color:var(--brand);border-radius:999px;animation:awaiting-spin .8s linear infinite}@keyframes awaiting-spin{to{transform:rotate(360deg)}}.onboarding{justify-items:center;text-align:center;padding:1.2rem 1.1rem 2rem;gap:0}.onboarding-icon{display:grid;place-items:center;width:3.6rem;height:3.6rem;margin-bottom:.9rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.onboarding h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;color:var(--ink)}.onboarding p{margin:0;max-width:20rem;font-size:.86rem;line-height:1.6;font-weight:500;color:var(--muted-strong)}.onboarding-steps{margin:1.1rem 0 1.35rem;padding:0;list-style:none;counter-reset:step;display:grid;gap:.5rem;width:100%;max-width:20rem;text-align:left}.onboarding-steps li{counter-increment:step;display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:.82rem;font-weight:600;color:var(--ink)}.onboarding-steps li:before{content:counter(step);flex:none;display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);font-size:.72rem;font-weight:700}.onboarding-cta{width:min(20rem,100%)}.compose-back{margin-top:.75rem;width:100%}.feed-loading{flex:1;min-height:min(70vh,640px);border-radius:22px;border:1px solid var(--line);background:var(--surface);display:grid;place-content:center;gap:.85rem;text-align:center;box-shadow:var(--shadow)}.feed-loading p{margin:0;color:var(--muted-strong);font-weight:600}.gen-progress{width:min(280px,60vw);height:6px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--line) 70%,transparent)}.gen-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-soft),var(--brand));transition:width .35s ease}.bg-wash{position:absolute;inset:-20% -10% auto;height:70vh;background:radial-gradient(ellipse at 20% 30%,var(--wash-1),transparent 55%),radial-gradient(ellipse at 80% 10%,var(--wash-2),transparent 50%),radial-gradient(ellipse at 50% 80%,var(--wash-3),transparent 45%);pointer-events:none}.bg-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at 50% 20%,black,transparent 75%);mask-image:radial-gradient(circle at 50% 20%,black,transparent 75%);pointer-events:none}.topbar{position:relative;z-index:2;width:min(920px,calc(100% - 2rem));margin:0 auto;padding:1.1rem 0 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem}.topbar-left,.topbar-right{display:flex;align-items:center;gap:.55rem}.topbar-right{justify-content:flex-end}.topbar-brand{border:none;background:transparent;padding:0;cursor:pointer;font-family:ZCOOL XiaoWei,"Noto Serif SC",serif;font-size:1.7rem;letter-spacing:.04em;color:var(--brand);line-height:1;justify-self:center}.icon-entry{position:relative;width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);background:var(--icon-bg);color:var(--brand);border-radius:50%;cursor:pointer;transition:transform .15s ease,border-color .2s ease,background .2s ease}.icon-entry:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--brand) 45%,transparent);background:var(--icon-bg-hover)}.icon-entry:disabled{opacity:.55;cursor:wait}.icon-entry .badge{position:absolute;top:-4px;right:-4px;min-width:1.15rem;height:1.15rem;padding:0 .28rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.72rem;font-style:normal;font-weight:700;display:grid;place-items:center;line-height:1}.source-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;align-items:end}.source-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#0000008c;cursor:pointer}.source-card{position:relative;z-index:1;margin:0 auto;width:min(420px,100%);padding:1rem 1rem calc(1.25rem + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;background:var(--surface-solid);color:var(--ink);box-shadow:0 -12px 40px color-mix(in srgb,var(--ink) 22%,transparent);display:grid;gap:.55rem;animation:sheet-up .25s ease}.feed-copy{position:relative;left:auto;right:auto;bottom:auto;z-index:5;pointer-events:none;color:var(--board-ink-strong);display:flex;flex-direction:column;gap:.22rem;padding:0 .85rem .06rem}.feed-handle{font-size:.78rem;font-weight:700;letter-spacing:.01em}.feed-problem{margin:0;white-space:pre-wrap;font-size:.86rem;line-height:1.5;font-weight:500;letter-spacing:.01em;max-height:none;overflow:visible;opacity:.95}.math-opts{display:flex;flex-wrap:wrap;column-gap:.9em;row-gap:.18em;margin-top:.3rem}.math-opt{flex:0 1 auto;min-width:0;max-width:100%;white-space:normal;overflow-wrap:break-word}.math-frac{display:inline-grid;grid-template-columns:auto;justify-items:center;vertical-align:middle;margin:0 .1em;line-height:1;font-size:.92em}.math-frac-num{display:block;width:100%;border-bottom:1.5px solid currentColor;padding:0 .2em .04em;font-weight:700}.math-frac-den{display:block;padding:.05em .2em 0;font-weight:700}.feed-cap{display:none}.feed-subtitle{position:absolute;left:50%;bottom:.55rem;z-index:6;transform:translate(-50%);width:max-content;max-width:min(92vw,calc(100% - .5rem));margin:0;padding:.45rem .75rem;border-radius:12px;background:#1a2624db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--board-ink);font-size:.82rem;line-height:1.45;font-weight:600;pointer-events:none;text-align:center}.feed-subtitle-line{display:block}.feed-subtitle .math-frac{color:inherit}.feed-subtitle-line+.feed-subtitle-line{margin-top:.12rem}@keyframes sheet-up{0%{transform:translateY(24px);opacity:.7}to{transform:translateY(0);opacity:1}}.source-title{margin:.15rem 0 .35rem;text-align:center;font-weight:700;color:var(--ink)}.source-option{display:flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid var(--line);background:var(--chip-bg);color:var(--ink);border-radius:14px;padding:.95rem 1rem;font-weight:600;cursor:pointer}.source-option:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.source-cancel{border:none;background:transparent;color:var(--muted);padding:.75rem;font-weight:600;cursor:pointer}.composer{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:1.1rem 1.1rem 1.2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.job-strip{position:absolute;top:3.45rem;left:50%;transform:translate(-50%);z-index:55;width:min(420px,calc(100% - 1.5rem));margin:0;padding:.45rem .85rem;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:.4rem;background:color-mix(in srgb,var(--surface-solid) 88%,transparent);border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);color:var(--brand);font-size:.82rem;font-weight:600;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.source-hint{margin:-.15rem 0 .35rem;text-align:center;font-size:.82rem;color:var(--muted)}.notebook-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;min-width:0;max-width:100%;overflow-x:clip}.notebook-card{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:.55rem;padding:.85rem .9rem .95rem;border-radius:14px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-solid) 70%,var(--chip-bg));box-shadow:0 1px color-mix(in srgb,var(--ink) 4%,transparent)}.notebook-card-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.35rem .5rem}.notebook-status{display:inline-flex;align-items:center;gap:.28rem;font-size:.82rem;font-weight:700}.notebook-status.is-pending{color:#e35d4d}.notebook-status.is-busy{color:var(--accent)}.notebook-status.is-mastered{color:var(--brand)}.notebook-status.is-ready{color:#e35d4d}.notebook-card-tools{display:flex;align-items:center;gap:.4rem;flex-shrink:1;min-width:0;margin-left:auto}.notebook-card-tools time{font-size:.78rem;color:var(--muted)}.notebook-gen{border:1px solid color-mix(in srgb,var(--brand) 40%,transparent);background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);border-radius:999px;padding:.18rem .62rem;font-size:.76rem;font-weight:700;cursor:pointer}.notebook-del{border:0;background:transparent;color:var(--muted);font-size:.76rem;padding:.18rem .2rem;cursor:pointer}.notebook-card-body{border:0;background:transparent;padding:0;text-align:left;cursor:pointer;color:inherit;display:grid;gap:.55rem;width:100%}.notebook-figure{width:100%;max-height:160px;overflow:hidden;border-radius:10px;background:color-mix(in srgb,var(--chip-bg) 80%,transparent);pointer-events:none}.notebook-figure .figure-zoom{max-height:150px}.notebook-figure .figure-frame{display:block;width:100%;height:100%;border:0;background:transparent;pointer-events:none}.figure-zoom{position:relative;display:block;width:100%;height:100%;max-height:100%;pointer-events:auto}.figure-zoom:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;cursor:zoom-in;border-radius:inherit}.figure-zoom-hint{position:absolute;right:.35rem;bottom:.35rem;padding:.1rem .4rem;border-radius:999px;background:#0b1413b8;color:#cfe8e4;font-size:.62rem;font-weight:600;opacity:0;transition:opacity .18s ease;pointer-events:none}.figure-zoom:hover .figure-zoom-hint,.figure-zoom:focus-visible .figure-zoom-hint{opacity:1}.figure-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem;pointer-events:auto}.figure-lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#000000d1;cursor:zoom-out}.figure-lightbox-body{position:relative;width:min(1000px,calc(100vw - 2.2rem));height:min(80vh,700px);padding:.5rem;box-sizing:border-box;border-radius:16px;background:var(--surface-solid, #0b1413);box-shadow:0 20px 60px #0009;overflow:hidden;animation:figure-zoom-in .18s ease;touch-action:none;cursor:zoom-in}.figure-lightbox-canvas{position:relative;width:100%;height:100%;transform-origin:0 0;will-change:transform}.figure-lightbox-canvas .figure-frame{width:100%;height:100%;border:0;background:transparent;pointer-events:none}.figure-lightbox-actions{position:absolute;right:.6rem;bottom:.6rem;display:flex;gap:.4rem}.figure-lightbox-btn{border:1px solid var(--line);background:#0b1413d9;color:#e8f6f3;border-radius:999px;padding:.3rem .8rem;font-size:.78rem;font-weight:600;cursor:pointer}.figure-lightbox-btn.is-primary{border-color:transparent;background:var(--brand);color:var(--primary-fg)}.figure-lightbox-btn.is-icon{width:2.3rem;height:2.3rem;padding:0;display:grid;place-items:center}@keyframes figure-zoom-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.figure-frame.is-invert{filter:invert(.92) hue-rotate(180deg)}.notebook-figure svg,.notebook-figure img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain}.notebook-problem{margin:0;font-size:.95rem;line-height:1.55;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.notebook-tag{justify-self:start;font-size:.72rem;color:var(--muted-strong);background:color-mix(in srgb,var(--ink) 6%,transparent);border-radius:6px;padding:.18rem .45rem}.notebook-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}button.notebook-tag{display:inline-flex;align-items:center;gap:.2rem;border:0;font-family:inherit;font-style:normal;cursor:pointer}.notebook-tag-grade{flex-shrink:0;margin-right:.32rem;padding:.04rem .3rem;border-radius:6px;background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand);font-size:.68rem;font-style:normal;font-weight:700}.notebook-tag.is-link{color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent)}.notebook-end{margin:1.1rem 0 .4rem;text-align:center;font-size:.78rem;color:var(--muted)}.photo-scanning{position:relative;margin-bottom:1rem;overflow:hidden;border-radius:14px;border:1px dashed color-mix(in srgb,var(--brand) 35%,transparent);background:var(--chip-bg);padding:1.4rem 1rem;text-align:center;color:var(--brand-soft);font-weight:600}.photo-scanning p{margin:0}.scan-line{position:absolute;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:scan 1.2s ease-in-out infinite}@keyframes scan{0%{top:18%;opacity:.2}50%{opacity:1}to{top:78%;opacity:.2}}.photo-preview{margin-bottom:1rem;display:grid;gap:.65rem}.photo-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:var(--field-bg)}.preview-clear{justify-self:start;padding:.45rem .9rem}.field{display:grid;gap:.45rem}.field span{font-size:.92rem;font-weight:600}.field-label{display:flex;align-items:center;gap:.4rem}.field-type{font-style:normal;font-size:.7rem;font-weight:700;padding:.12rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}.field textarea{width:100%;resize:none;max-height:45vh;overflow-y:auto;border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;background:var(--field-bg);color:var(--ink);outline:none;line-height:1.6}.field textarea:focus{border-color:#0b4f4a73;box-shadow:0 0 0 3px #0b4f4a1a}.primary-btn,.ghost-btn{border-radius:999px;padding:.7rem 1.15rem;cursor:pointer;border:1px solid transparent;transition:transform .15s ease,background .2s ease,opacity .2s ease}.primary-btn:hover,.ghost-btn:hover:not(:disabled){transform:translateY(-1px)}.primary-btn:disabled,.ghost-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.primary-btn{background:var(--brand);color:var(--primary-fg)}.ghost-btn{background:transparent;border-color:var(--line);color:var(--ink)}.generate{margin-top:1rem;width:100%;font-weight:600}.hint,.error{margin:.85rem 0 0;font-size:.9rem}.hint{color:var(--muted)}.error{color:var(--error)}.generating{text-align:center;padding:3.5rem 1.5rem}.generating h2{margin:1rem 0 .4rem;font-size:1.25rem}.generating p{margin:0;color:var(--muted)}.pulse{width:54px;height:54px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--gold),var(--brand));animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(.92);filter:saturate(1)}50%{transform:scale(1.08);filter:saturate(1.2)}}.player-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.eyebrow{margin:0 0 .35rem;color:var(--brand-soft);font-size:.88rem;font-weight:600}.player-head h2{margin:0;font-size:1.35rem}.origin-problem{margin:.9rem 0 1rem;padding:.75rem .9rem;border-left:3px solid var(--accent);background:#e07a3d14;border-radius:0 10px 10px 0}.stage-card{min-height:280px;border-radius:18px;background:linear-gradient(180deg,var(--stage-top),var(--stage-bottom)),repeating-linear-gradient(0deg,transparent,transparent 27px,color-mix(in srgb,var(--brand) 8%,transparent) 28px);border:1px solid var(--line);display:grid;place-items:center;padding:1.25rem}.stage-inner{width:100%}.narration{margin-top:1rem}.step-meta{display:flex;gap:.75rem;align-items:baseline;margin-bottom:.35rem}.step-meta span{color:var(--brand-soft);font-size:.86rem;font-weight:600}.narration p{margin:0;font-size:1.02rem}.progress-track{margin-top:1.1rem;height:6px;border-radius:999px;background:#0b4f4a1a;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand),var(--accent));transition:width .35s ease}.player-controls{margin-top:1rem;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:.6rem}.eq-stage{text-align:center}.eq-row{display:flex;justify-content:center;align-items:center;gap:.85rem;flex-wrap:wrap;min-height:88px}.eq-side{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:700;padding:.35rem .7rem;border-radius:12px;transition:background .25s ease,color .25s ease}.eq-side.is-hot{background:#0b4f4a1a;color:var(--brand)}.eq-side.is-answer{background:#e07a3d29;color:var(--answer)}.eq-eq{font-size:2rem;font-weight:600;color:var(--muted)}.eq-note{margin:.85rem 0 0;color:var(--muted-strong)}.frac-stage{display:grid;gap:1rem;justify-items:center}.frac-bars{display:flex;flex-wrap:wrap;gap:1rem;align-items:end;justify-content:center}.frac-block{width:min(220px,70vw)}.frac-label{font-weight:700;margin-bottom:.4rem;text-align:center}.frac-track{display:grid;gap:4px;height:54px}.frac-cell{border-radius:8px;transform-origin:bottom;border:1px solid rgba(11,79,74,.12)}.frac-op{font-size:2rem;font-weight:700;color:var(--accent);align-self:center}.frac-result{font-weight:700;color:var(--brand);font-size:1.15rem}.geo-stage{width:100%;text-align:center}.geo-svg{width:min(420px,100%);height:auto}.geo-measure{margin-top:.4rem;font-weight:600;color:var(--brand)}.flow-stage{display:grid;gap:1.2rem;justify-items:center}.flow-nodes{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}.flow-node{min-width:110px;text-align:center;padding:.85rem 1rem;border-radius:14px;border:1px dashed color-mix(in srgb,var(--brand) 30%,transparent);background:var(--chip-bg);color:var(--muted);font-weight:600}.flow-node.is-active{border-style:solid;border-color:#0b4f4a59;background:#0b4f4a1a;color:var(--brand)}.flow-formula{font-size:1.45rem;font-weight:700;color:var(--answer);background:#e07a3d1f;padding:.55rem 1rem;border-radius:12px}@media (max-width: 640px){.notebook-panel{width:min(100%,calc(100vw - 36px))}}.notebook-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;justify-items:center;pointer-events:none}.notebook-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:var(--overlay);cursor:pointer}.notebook-panel{position:relative;z-index:1;width:min(480px,100%);min-width:0;max-width:100%;height:100%;pointer-events:auto;display:flex;flex-direction:column;background:color-mix(in srgb,var(--page-bg) 88%,var(--surface-solid));box-shadow:16px 0 40px var(--shadow);padding:.55rem 0 0;overflow:hidden;animation:slide-in .28s ease}@keyframes slide-in{0%{transform:translate(-24px);opacity:.6}to{transform:translate(0);opacity:1}}.notebook-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;flex-shrink:0;padding:.15rem .35rem .35rem;gap:.15rem}.notebook-head h2{margin:0;text-align:center;font-size:1.05rem;font-weight:700}.notebook-back{width:40px;height:40px;border:0;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;border-radius:10px}.notebook-count{font-size:.82rem;color:var(--muted-strong);font-weight:600;text-align:right;padding-right:.3rem}.notebook-search-btn{width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}.notebook-search-btn.is-on{color:var(--brand)}.notebook-search{flex-shrink:0;display:flex;align-items:center;gap:.45rem;margin:0 .9rem .5rem;padding:.42rem .6rem;border:1px solid var(--line);border-radius:12px;background:var(--field-bg);color:var(--muted)}.notebook-search input{flex:1;min-width:0;border:0;background:transparent;font-size:.88rem;color:var(--ink);outline:none}.notebook-search-clear{border:0;background:transparent;color:var(--muted-strong);font-size:1.15rem;line-height:1;padding:0 .15rem;cursor:pointer}.notebook-subjects{display:flex;align-items:center;gap:.7rem;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.notebook-subjects::-webkit-scrollbar{display:none}.notebook-subject{flex:none;border:0;background:transparent;padding:.15rem 0;color:var(--muted-strong);font-size:.86rem;font-weight:600;cursor:pointer}.notebook-subject.is-on{color:var(--brand);box-shadow:inset 0 -2px 0 var(--brand)}.notebook-attr-bar .notebook-count{flex:none;margin-left:auto;align-self:center;color:var(--muted-strong)}.notebook-attr-bar{position:relative;z-index:3;flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.55rem .9rem .65rem}.notebook-attr{position:relative}.notebook-attr-btn{display:inline-flex;align-items:center;gap:.22rem;border:0;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--muted-strong);border-radius:8px;padding:.32rem .55rem;font-size:.78rem;font-weight:600;cursor:pointer}.notebook-attr-btn.is-on{color:var(--brand);background:color-mix(in srgb,var(--brand) 12%,transparent)}.notebook-menu{position:absolute;top:calc(100% + .3rem);left:0;min-width:7.5rem;display:grid;gap:.1rem;padding:.35rem;border-radius:10px;border:1px solid var(--line);background:var(--surface-solid);box-shadow:0 10px 28px var(--shadow);z-index:5}.notebook-menu button{border:0;background:transparent;color:var(--ink);text-align:left;padding:.45rem .55rem;border-radius:7px;font-size:.82rem;cursor:pointer}.notebook-menu button.is-on,.notebook-menu button:hover{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.notebook-menu-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border:0;background:transparent;cursor:default}.notebook-scroll{flex:1;min-height:0;overflow:auto;padding:.15rem .9rem 1.5rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 28%,transparent) transparent;overflow-x:hidden;padding-bottom:calc(3.6rem + env(safe-area-inset-bottom,0px))}.notebook-scroll::-webkit-scrollbar{width:5px}.notebook-scroll::-webkit-scrollbar-track{background:transparent}.notebook-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 30%,transparent);border-radius:99px}.notebook-scroll::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ink) 48%,transparent)}.notebook-empty{margin-top:3.5rem;text-align:center;color:var(--muted);display:grid;gap:.35rem;justify-items:center}.notebook-empty p{margin:.4rem 0 0;color:var(--ink);font-weight:600}.notebook-empty span{max-width:16rem;font-size:.9rem}.chat-overlay{position:fixed;left:0;right:0;top:0;bottom:calc(3.15rem + env(safe-area-inset-bottom,0px));z-index:28;display:grid;justify-items:center;pointer-events:none}.chat-panel{pointer-events:auto;position:relative;width:min(480px,100%);height:100%;display:flex;flex-direction:column;background:var(--surface-solid);color:var(--ink);overflow:hidden;--chat-drawer-w: min(78%, 21rem)}.chat-main{flex:1;min-height:0;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.22,.61,.36,1)}.chat-panel.is-pushed .chat-main{transform:translate(var(--chat-drawer-w))}.chat-head{display:grid;grid-template-columns:2.4rem 1fr 2.4rem;align-items:center;gap:.45rem;padding:.75rem .75rem .65rem;border-bottom:0;flex-shrink:0}.chat-head-title{text-align:center;min-width:0}.chat-head-title h2{margin:0;font-size:1.05rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-icon-btn{width:2.4rem;height:2.4rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0}.chat-icon-btn[aria-pressed=true],.chat-icon-btn[aria-expanded=true]{border-color:color-mix(in srgb,var(--brand) 55%,transparent);background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand)}.chat-icon-bars{display:grid;gap:3px;width:14px}.chat-icon-bars i{display:block;height:1.5px;border-radius:99px;background:currentColor}.chat-drawer{position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--chat-drawer-w);display:flex;flex-direction:column;background:var(--page-bg);transform:translate(-100%);visibility:hidden;transition:transform .3s cubic-bezier(.22,.61,.36,1),visibility 0s linear .3s}.chat-drawer.is-open{transform:translate(0);visibility:visible;transition:transform .3s cubic-bezier(.22,.61,.36,1),visibility 0s}@media (prefers-reduced-motion: reduce){.chat-main,.chat-drawer,.chat-drawer.is-open{transition:none}}.chat-new-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.7rem .85rem .2rem;padding:.62rem 1rem;border:0;border-radius:999px;background:var(--chip-bg);color:var(--ink);font-size:.95rem;font-weight:700;cursor:pointer}.chat-new-btn:hover{background:color-mix(in srgb,var(--ink) 12%,transparent)}.chat-history{flex:1;min-height:0;overflow:auto;padding:.15rem .7rem 1rem}.chat-history-title{margin:.9rem .25rem .3rem;font-size:.78rem;font-weight:700;color:var(--muted)}.chat-history-list{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}.chat-history-list button{width:100%;display:flex;align-items:center;gap:.5rem;border:0;border-radius:12px;background:transparent;color:var(--ink);text-align:left;padding:.62rem .6rem;font:inherit;font-size:.92rem;cursor:pointer}.chat-history-list button:hover{background:var(--chip-bg)}.chat-history-list button.is-on{background:color-mix(in srgb,var(--brand) 12%,transparent);color:var(--brand);font-weight:700}.chat-history-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-list button em{flex:none;font-style:normal;font-size:.68rem;font-weight:700;color:var(--brand)}.chat-drawer-empty{text-align:center;color:var(--muted);font-size:.86rem;padding:2rem .5rem}.chat-context{margin:.65rem .85rem 0;padding:.65rem .75rem;border-radius:12px;background:color-mix(in srgb,var(--brand) 10%,transparent);border:1px solid color-mix(in srgb,var(--brand) 22%,transparent);flex-shrink:0}.chat-context-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.chat-context span{font-size:.72rem;color:var(--brand);font-weight:700}.chat-context-clear{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--brand) 14%,transparent);color:var(--brand);cursor:pointer}.chat-context-clear:active{background:color-mix(in srgb,var(--brand) 26%,transparent)}.chat-context p{margin:.25rem 0 0;font-size:.82rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;opacity:.9}.chat-list{flex:1;min-height:0;overflow:auto;padding:.85rem;display:flex;flex-direction:column;gap:.65rem}.chat-list,.chat-history,.settings-body,.class-book-main,.notebook-menu{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 26%,transparent) transparent}.chat-list::-webkit-scrollbar,.chat-history::-webkit-scrollbar,.settings-body::-webkit-scrollbar,.class-book-main::-webkit-scrollbar,.notebook-menu::-webkit-scrollbar{width:5px;height:5px}.chat-list::-webkit-scrollbar-track,.chat-history::-webkit-scrollbar-track,.settings-body::-webkit-scrollbar-track,.class-book-main::-webkit-scrollbar-track,.notebook-menu::-webkit-scrollbar-track{background:transparent}.chat-list::-webkit-scrollbar-thumb,.chat-history::-webkit-scrollbar-thumb,.settings-body::-webkit-scrollbar-thumb,.class-book-main::-webkit-scrollbar-thumb,.notebook-menu::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 26%,transparent);border-radius:99px}.chat-list::-webkit-scrollbar-thumb:hover,.chat-history::-webkit-scrollbar-thumb:hover,.settings-body::-webkit-scrollbar-thumb:hover,.class-book-main::-webkit-scrollbar-thumb:hover,.notebook-menu::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ink) 44%,transparent)}@media (pointer: coarse){.chat-list::-webkit-scrollbar,.chat-history::-webkit-scrollbar,.settings-body::-webkit-scrollbar,.class-book-main::-webkit-scrollbar,.notebook-menu::-webkit-scrollbar{width:3px;height:3px}}.chat-row{display:flex;flex-direction:column;gap:.35rem;min-width:0}.chat-row.user{align-items:flex-end}.chat-row.assistant{align-items:stretch}.chat-add-problem{gap:.1rem;font-size:.68rem;white-space:nowrap}.chat-row.has-add{flex-direction:row;align-items:center;justify-content:flex-end;gap:.3rem}.chat-row.has-add .chat-add-problem{align-self:center}.chat-add-problem .rail-ico{width:1.9rem;height:1.9rem;filter:none}.notebook-card.is-previewing{border-color:color-mix(in srgb,var(--brand) 55%,transparent)}.chat-empty{flex:1;display:grid;place-content:center;justify-items:center;gap:1.1rem;text-align:center;padding-bottom:2.4rem}.chat-empty-logo{width:3.1rem;height:auto}.chat-empty p{margin:0;font-size:1.04rem;font-weight:600;color:var(--ink)}.chat-bubble{max-width:88%;padding:.7rem .85rem;border-radius:14px;line-height:1.5;font-size:.9rem;white-space:pre-wrap;word-break:break-word}.chat-bubble p{margin:0}.chat-md>p{margin:0}.chat-md>p+p,.chat-md>p+.md-list,.chat-md>.md-list+p,.chat-md>.md-list+.md-list{margin-top:.45rem}.chat-md strong{font-weight:700;color:var(--ink)}.md-h{margin:.15rem 0 .1rem;font-weight:700;font-size:.98rem;color:var(--ink)}.md-list{margin:.15rem 0 0;padding-left:1.15rem}.md-list li{margin:.18rem 0}.md-code{padding:.05rem .3rem;border-radius:5px;background:var(--chip-bg);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.md-pre{margin:.55rem 0;padding:.55rem .7rem;border-radius:10px;background:var(--chip-bg);overflow-x:auto;scrollbar-width:thin}.md-pre code{display:block;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;line-height:1.55;white-space:pre;-moz-tab-size:2;tab-size:2}.md-hr{margin:.75rem 0;border:0;border-top:1px solid var(--line)}.chat-bubble-img{display:block;width:min(100%,12rem);max-height:10rem;object-fit:cover;border-radius:10px;margin-bottom:.45rem}.chat-bubble.user{align-self:flex-end;background:color-mix(in srgb,var(--brand) 22%,transparent);border-bottom-right-radius:4px}.chat-bubble.assistant{align-self:stretch;max-width:100%;background:var(--chip-bg);border-bottom-left-radius:4px}.chat-typing{opacity:.65}.chat-error{margin:0 .85rem .35rem;color:var(--error);font-size:.85rem}.chat-pending-img{position:relative;margin:0 .75rem .35rem;width:fit-content;max-width:calc(100% - 1.5rem)}.chat-pending-img img{display:block;height:4.2rem;width:auto;max-width:8rem;object-fit:cover;border-radius:10px;border:1px solid color-mix(in srgb,var(--brand) 35%,transparent)}.chat-pending-img button{position:absolute;top:-.35rem;right:-.35rem;width:1.35rem;height:1.35rem;border:0;border-radius:999px;background:#000000b8;color:#fff;font-size:.95rem;line-height:1;cursor:pointer}.chat-composer{flex-shrink:0;display:flex;flex-direction:column;gap:.3rem;margin:0 .7rem calc(.6rem + env(safe-area-inset-bottom,0px));padding:.7rem .7rem .5rem;border:0;border-radius:20px;background:var(--surface);box-shadow:0 6px 20px color-mix(in srgb,var(--ink) 8%,transparent)}.chat-composer .chat-input{width:100%;min-height:1.65rem;max-height:8.25rem;border:0;outline:none;background:transparent;color:var(--ink);padding:.1rem .15rem 0;resize:none;overflow-y:auto;font:inherit;font-size:.94rem;line-height:1.5;box-sizing:border-box;scrollbar-width:none}.chat-composer .chat-input::-webkit-scrollbar{width:0;height:0}.chat-composer .chat-input::placeholder{color:var(--muted)}.chat-composer-bar{display:flex;align-items:center;gap:.4rem}.chat-composer-bar .chat-send{margin-left:auto}.chat-attach-btn{flex-shrink:0;width:2.2rem;height:2.2rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted-strong);display:grid;place-items:center;cursor:pointer;padding:0}.chat-attach-btn:disabled{opacity:.45;cursor:wait}.chat-send{flex-shrink:0;width:2.2rem;height:2.2rem;border:0;border-radius:999px;background:var(--brand);color:var(--primary-fg);display:grid;place-items:center;cursor:pointer;transition:background .15s ease,transform .15s ease}.chat-send:not(:disabled):active{transform:scale(.94)}.chat-send:disabled{background:var(--chip-bg);color:var(--muted);cursor:default}.chat-composer .primary-btn{flex-shrink:0;height:2.45rem;min-height:2.45rem;border-radius:999px;padding:0 1rem;white-space:nowrap;font-size:.9rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;transform:none}.chat-composer .primary-btn:hover{transform:none}.profile-overlay{position:fixed;left:0;right:0;top:0;bottom:calc(3.15rem + env(safe-area-inset-bottom,0px));z-index:28;display:grid;justify-items:center;pointer-events:none}.profile-panel{pointer-events:auto;width:min(480px,100%);height:100%;max-height:100%;overflow:auto;background:var(--page-bg);color:var(--ink);padding-bottom:.75rem;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ink) 28%,transparent) transparent}.profile-panel::-webkit-scrollbar{width:5px}.profile-panel::-webkit-scrollbar-track{background:transparent}.profile-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ink) 30%,transparent);border-radius:99px}.profile-hero{position:relative;padding:.85rem 1rem 1.1rem;background:radial-gradient(ellipse at 20% 0%,color-mix(in srgb,var(--brand) 35%,transparent),transparent 55%),radial-gradient(ellipse at 90% 20%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 50%),linear-gradient(180deg,color-mix(in srgb,var(--brand) 18%,var(--surface-solid)),var(--surface-solid))}.profile-identity{display:flex;gap:.55rem;align-items:center}.profile-id-block{flex:1;min-width:0}.profile-avatar{width:3.2rem;height:3.2rem;border-radius:999px;display:grid;place-items:center;font-size:1.15rem;font-weight:800;color:var(--primary-fg);background:linear-gradient(145deg,var(--brand),var(--brand-soft));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 35%,transparent);flex-shrink:0}.profile-id-block h2{margin:0;font-size:1.25rem}.profile-name-btn{border:0;background:transparent;padding:0;color:inherit;text-align:left;cursor:pointer}.profile-name-btn h2{margin:0;font-size:1.25rem}.profile-id-block p{margin:.2rem 0 0;font-size:.78rem;color:var(--muted)}.profile-tx-id{letter-spacing:.02em;font-variant-numeric:tabular-nums}.profile-edit-row{display:flex;gap:.4rem;align-items:center}.profile-edit-row input{border:1px solid var(--line);border-radius:8px;background:var(--field-bg);color:var(--ink);padding:.28rem .5rem;font-size:1rem;font-weight:700;width:min(100%,10rem)}.profile-body{margin-top:-.35rem;padding:.85rem 1rem 1.2rem;border-radius:18px 18px 0 0;background:var(--surface-solid);min-height:60%}.profile-stat-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-bottom:.95rem}.profile-stat-tabs button{border:1px solid var(--line);background:color-mix(in srgb,var(--chip-bg) 70%,transparent);color:var(--ink);border-radius:12px;padding:.55rem .25rem .5rem;display:grid;gap:.12rem;justify-items:center;cursor:pointer}.profile-stat-tabs button strong{font-size:1.1rem;font-weight:800;line-height:1.1}.profile-stat-tabs button span{font-size:.68rem;color:var(--muted);font-weight:600}.profile-stat-tabs button.is-on{border-color:color-mix(in srgb,var(--brand) 45%,transparent);background:color-mix(in srgb,var(--brand) 14%,transparent)}.profile-stat-tabs button.is-on strong,.profile-stat-tabs button.is-on span{color:var(--brand)}.profile-chart-card{border:1px solid var(--line);border-radius:14px;padding:.85rem .9rem;background:color-mix(in srgb,var(--chip-bg) 80%,transparent);margin-bottom:.95rem}.profile-chart-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.45rem}.profile-chart-head h3{margin:0;font-size:.92rem}.profile-chart-head em{font-style:normal;font-weight:800;color:var(--brand)}.profile-progress{height:8px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden;margin-bottom:.75rem}.profile-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-soft),var(--brand))}.profile-type-bars{display:grid;gap:.4rem}.profile-type-row{display:grid;grid-template-columns:2.2rem 1fr 1.4rem;gap:.45rem;align-items:center;font-size:.78rem}.profile-type-row em{font-style:normal;text-align:right;color:var(--muted)}.profile-mini-bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--ink) 8%,transparent);overflow:hidden}.profile-mini-bar i{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--brand) 75%,var(--accent))}.profile-points{margin-top:.85rem;padding-top:.7rem;border-top:1px solid var(--line)}.profile-points-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.profile-points h4{margin:0;font-size:.82rem;color:var(--muted-strong)}.profile-points-toggle{display:inline-flex;align-items:center;gap:.22rem;flex:none;border:0;background:transparent;padding:0;color:var(--brand);font-size:.72rem;font-weight:600;cursor:pointer}.profile-points-toggle svg{transition:transform .18s ease}.profile-points ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.profile-points li>div:first-child{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:.2rem}.profile-points li span{color:var(--muted)}button.profile-point{display:inline-flex;align-items:center;gap:.2rem;border:0;padding:0;background:transparent;font:inherit;font-weight:700;color:var(--brand);text-align:left;cursor:pointer}.profile-empty-tip{margin:0;font-size:.8rem;color:var(--muted)}.profile-grid{list-style:none;margin:0;padding:0;column-count:2;column-gap:.55rem}.profile-grid>li{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;margin:0 0 .55rem;display:block}.profile-grid-empty{column-span:all;text-align:center;color:var(--muted);font-size:.86rem;padding:1.5rem .5rem}.profile-card{width:100%;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--chip-bg) 70%,transparent);color:inherit;text-align:left;padding:.65rem .7rem;cursor:pointer;display:grid;gap:.28rem;min-height:0}.profile-card-badge{justify-self:start;font-size:.65rem;font-weight:700;border-radius:6px;padding:.12rem .35rem}.profile-card-badge.ok{color:#0b4f4a;background:#7dcdc447}.profile-card-badge.ready{color:#9a4a1c;background:#e07a3d2e}.profile-card-badge.wait{color:#b3412c;background:#b3412c24}[data-theme=dark] .profile-card-badge.ok{color:#7ee0c8;background:#7ee0c824}.profile-card-head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.profile-card-format{flex:none;font-size:.65rem;font-weight:600;color:var(--muted-strong);border:1px solid var(--line);border-radius:6px;padding:.1rem .32rem;white-space:nowrap}.profile-card strong{font-size:.8rem;line-height:1.35;color:var(--brand)}.profile-card p{margin:0;font-size:.78rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.profile-end{margin:1rem 0 .4rem;text-align:center;font-size:.76rem;color:var(--muted)}@media (max-width: 380px){.profile-stat-tabs button strong{font-size:1rem}.profile-stat-tabs button span{font-size:.62rem}}.auth-screen{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.2rem}.auth-card{position:relative;z-index:1;width:min(380px,100%);display:flex;flex-direction:column;gap:.8rem;padding:1.5rem 1.35rem 1.25rem;border-radius:22px;background:var(--surface-solid);box-shadow:var(--shadow)}.auth-brand{text-align:center}.auth-brand h1{margin:0 0 .2rem;font-size:1.7rem;letter-spacing:.08em;color:var(--ink)}.auth-brand p{margin:0;font-size:.8rem;color:var(--muted)}.auth-tabs{display:flex;gap:.4rem;padding:.25rem;border-radius:999px;background:var(--chip-bg)}.auth-tab{flex:1;padding:.45rem 0;border:0;border-radius:999px;background:transparent;font-size:.85rem;color:var(--muted-strong);cursor:pointer}.auth-tab.is-on{background:var(--brand);color:var(--primary-fg);font-weight:600}.auth-card .field{display:flex;flex-direction:column;gap:.3rem}.auth-card .field input{padding:.6rem .7rem;border:1px solid var(--line);border-radius:12px;background:var(--field-bg);font-size:.9rem;color:var(--ink)}.auth-error{margin:0}.auth-submit{width:100%}.auth-hint{margin:.2rem 0 0;font-size:.72rem;line-height:1.5;text-align:center;color:var(--muted)}.feed-answer{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;font-size:.72rem;line-height:1.5;color:var(--error)}.feed-answer-tag,.feed-topic-tag{display:inline-flex;align-items:center;flex:0 0 auto;min-height:1.35rem;padding:0 .5rem;border-radius:999px;font-size:.68rem;font-weight:600;line-height:1.2}.feed-answer-tag{background:#f3c96b29;color:var(--gold)}.rail-scrub{position:relative;flex:0 0 auto;width:1.35rem;height:34vh;min-height:140px;margin-bottom:.15rem;cursor:pointer;touch-action:none}.rail-scrub-track,.rail-scrub-fill,.rail-scrub-thumb{position:absolute;left:50%;transform:translate(-50%);border-radius:999px}.rail-scrub-track{top:0;bottom:0;width:3px;background:color-mix(in srgb,var(--ink) 16%,transparent)}.rail-scrub-fill{top:0;width:3px;background:var(--brand)}.rail-scrub-thumb{width:.72rem;height:.72rem;margin-top:-.36rem;background:var(--brand);box-shadow:0 0 0 3px #34a99a38}.feed-subq-label{flex:none;font-weight:700;color:var(--brand)}.feed-subq-text{min-width:0;overflow-wrap:anywhere}.answer-part.is-right{color:var(--ok)}.answer-part.is-wrong{color:var(--error);font-weight:600}.feed-answer-value{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.feed-answer-value.is-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}button.feed-answer-value{border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;text-align:left;cursor:pointer}button.feed-answer-value.is-open{flex:1 1 100%;max-width:100%;display:block;-webkit-line-clamp:unset;white-space:pre-wrap;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.feed-error-tag{display:inline-flex;align-items:center;flex:0 0 auto;min-height:1.35rem;padding:0 .5rem;border-radius:999px;font-size:.68rem;font-weight:700;background:var(--chip-bg);color:var(--muted-strong)}.feed-error-tag.is-未作答,.feed-error-tag.is-漏解{background:#f3b7a82e;color:var(--error)}.feed-error-tag.is-过程错{background:#f3c96b2e;color:var(--gold)}.feed-topic-tag{flex:0 1 auto;min-width:0;background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand);word-break:break-word}button.feed-topic-tag{border:0;font-family:inherit;font-style:normal;cursor:pointer;gap:.2rem;word-break:normal}.feed-figure{margin-top:.4rem;width:auto;height:auto;min-height:72px;max-height:36vh;overflow:hidden;border-radius:12px;background:transparent;border:1px solid var(--line)}.feed-figure .figure-frame{display:block;width:100%;height:100%;border:0;background:transparent}.notebook-no{margin-left:.35rem;font-size:.68rem;color:var(--muted)}.notebook-answer{display:flex;align-items:center;gap:.4rem;margin:.25rem 0 0;font-size:.76rem;color:var(--muted-strong)}.notebook-wrong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notebook-mark{flex:none;padding:.05rem .35rem;border-radius:999px;background:#b3412c1f;color:var(--error);font-size:.66rem;font-style:normal}.profile-settings-btn{display:grid;place-items:center;width:2.2rem;height:2.2rem;padding:0;border:1px solid var(--line);background:transparent;color:var(--muted-strong);border-radius:999px;cursor:pointer}.profile-settings-btn:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.profile-tx-id{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-toast{position:absolute;top:3.45rem;left:50%;transform:translate(-50%);z-index:56;max-width:min(420px,calc(100% - 1.5rem));padding:.5rem .95rem;border-radius:999px;background:linear-gradient(160deg,var(--brand-soft),var(--brand));color:var(--primary-fg);font-size:.82rem;font-weight:700;text-align:center;box-shadow:var(--shadow);animation:toast-in .24s ease;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}.feed-review-btn{pointer-events:auto;display:grid;place-items:center;width:2.1rem;height:2.1rem;flex:none;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer}.feed-review-btn:disabled{opacity:.4;cursor:default}.feed-review-btn svg{width:1.15rem;height:1.15rem}.sheet-close-btn{margin-left:auto;flex:none;display:grid;place-items:center;width:1.9rem;height:1.9rem;border:0;border-radius:999px;background:transparent;color:var(--muted-strong);cursor:pointer}.sheet-close-btn:hover{color:var(--ink)}.review-card{max-height:min(72vh,34rem)}.review-title{font-size:.95rem}.review-sub{margin:.15rem 0 0;font-size:.75rem;color:var(--muted-strong)}.review-hit{display:flex;align-items:center;gap:.6rem}.review-rank{flex:none;width:1.4rem;height:1.4rem;display:grid;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand);font-size:.72rem;font-weight:700}.review-main{flex:1 1 auto;min-width:0;display:grid;gap:.15rem}.review-problem{font-size:.82rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-reasons{font-size:.7rem;color:var(--muted-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jobs-actions{display:flex;align-items:center;gap:.35rem}.jobs-row{display:flex;align-items:flex-start;gap:.55rem;padding:.5rem .6rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.jobs-status{flex:none;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;background:var(--chip-bg);color:var(--muted-strong)}.jobs-status.is-running{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand)}.jobs-status.is-failed{background:#f3b7a833;color:var(--error)}.jobs-status.is-done{background:#7dcdc42e;color:var(--brand)}.jobs-main{flex:1 1 auto;min-width:0;display:grid;gap:.15rem}.jobs-text{font-size:.8rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jobs-error{font-size:.7rem;color:var(--error)}.jobs-foot{margin:.6rem 0 0;font-size:.72rem;color:var(--muted-strong);text-align:center}.class-finish{flex:none;display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.5rem .9rem calc(.9rem + env(safe-area-inset-bottom,0px))}.class-finish-text{margin:0;font-size:.76rem;color:var(--muted-strong)}.class-finish-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.72rem 1rem;border:0;border-radius:999px;background:var(--brand);color:var(--primary-fg);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.class-finish-soon{font-size:.74rem;color:var(--brand);padding:.3rem .7rem;border-radius:999px;border:1px dashed var(--line)}@media (max-height: 720px){.class-nav-btn{min-width:5rem;padding:.42rem .7rem;font-size:.78rem}.class-dots i{width:.34rem;height:.34rem}.class-finish{padding:.35rem .9rem calc(.6rem + env(safe-area-inset-bottom,0px))}.class-finish-btn{padding:.6rem 1rem;font-size:.84rem}}.class-view-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem calc(.75rem + env(safe-area-inset-bottom,0px));background:inherit}.class-nav-btn{flex:none;min-width:6.2rem;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.class-nav-btn.is-icon{min-width:0;width:2.7rem;height:2.7rem;padding:0;display:grid;place-items:center}.class-nav-btn.is-icon svg{display:block}.class-nav-btn.is-primary{border-color:transparent;background:var(--brand);color:var(--primary-fg)}.class-nav-btn:disabled{opacity:.42;cursor:default}.class-dots{display:flex;align-items:center;gap:.32rem}.class-dots i{width:.42rem;height:.42rem;border-radius:999px;background:var(--line)}.class-dots i.is-on{background:var(--brand);transform:scale(1.15)}.class-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;background:var(--board-bg, #0b1413)}.class-view-head{flex:none;display:flex;align-items:center;gap:.55rem;padding:calc(.5rem + env(safe-area-inset-top,0px)) .7rem .5rem;border-bottom:1px solid var(--line)}.class-view-close{flex:none;width:2rem;height:2rem;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--ink);cursor:pointer}.class-view-title{flex:1 1 auto;min-width:0;display:grid;gap:.1rem}.class-view-title strong{font-size:.88rem}.class-view-title span{font-size:.68rem;color:var(--muted-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-view-step{flex:none;font-size:.72rem;color:var(--brand);font-variant-numeric:tabular-nums}.class-view-head,.class-view-body,.class-view-foot{width:min(480px,100%);margin-inline:auto}.class-view-body{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.class-view-frame{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:transparent}.class-view-foot,.class-finish{flex:0 0 auto}.class-view-status{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.2rem;text-align:center;color:var(--ink);font-size:.86rem}.class-view-status small{color:var(--muted-strong);font-size:.72rem}.class-view-status.is-error{color:var(--error)}.class-panel-wrap{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.class-panel{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:.2rem .9rem calc(4.2rem + env(safe-area-inset-bottom,0px));scrollbar-width:none}.class-panel::-webkit-scrollbar{width:0;height:0}.class-panel-bar{display:none;position:absolute;top:0;right:.1rem;width:4px;border-radius:999px;background:color-mix(in srgb,var(--ink) 26%,transparent);pointer-events:none;will-change:transform}@media (max-width: 430px){.class-panel-bar{right:.05rem;width:3px}}.class-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.1rem .1rem .7rem}.class-book{position:relative;flex:0 0 auto}.class-book-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .6rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--ink);font:inherit;font-size:.94rem;font-weight:700;cursor:pointer}.class-book-btn.is-open{border-color:var(--brand)}.class-book-caret{font-size:.7rem;color:var(--brand)}.class-book-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;flex-direction:column;background:var(--surface-solid)}.class-book-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border:0;background:transparent}.class-book-sheet-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .7rem .65rem .9rem;border-bottom:1px solid var(--line)}.class-book-sheet-head strong{font-size:.95rem}.class-book-panes{position:relative;z-index:1;flex:1 1 auto;min-height:0;display:flex}.class-book-rail{flex:0 0 5.4rem;margin:0;padding:.3rem 0;list-style:none;overflow-y:auto;background:var(--page-bg);scrollbar-width:none}.class-book-rail::-webkit-scrollbar{width:0}.class-book-rail button{width:100%;border:0;background:transparent;color:var(--muted-strong);padding:.68rem .4rem;font:inherit;font-size:.86rem;font-weight:600;text-align:center;cursor:pointer}.class-book-rail button.is-on{background:var(--surface-solid);color:var(--brand);font-weight:700}.class-book-main{flex:1 1 auto;min-width:0;overflow-y:auto;padding:.85rem .9rem calc(.9rem + env(safe-area-inset-bottom,0px))}.class-book-label{margin:0 0 .5rem;font-size:.74rem;font-weight:700;color:var(--muted)}.class-book-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.05rem}.class-book-chip{border:0;border-radius:.7rem;background:var(--chip-bg);color:var(--ink);padding:.52rem .9rem;font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.class-book-chip.is-on{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand);font-weight:700}.chat-history-tag{flex-shrink:0;padding:.05rem .32rem;border-radius:6px;background:color-mix(in srgb,var(--brand) 16%,transparent);font-style:normal}.settings-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:48;display:flex;flex-direction:column;background:var(--page-bg);color:var(--ink);animation:settings-in .18s ease}@keyframes settings-in{0%{opacity:0;transform:translateY(10px)}}.settings-head{flex-shrink:0;display:flex;align-items:center;gap:.55rem;width:min(480px,100%);margin:0 auto;padding:calc(.5rem + env(safe-area-inset-top,0px)) .85rem .5rem;box-sizing:border-box}.settings-head h2{margin:0;font-size:1.02rem;font-weight:700}.settings-back{flex-shrink:0;width:2.15rem;height:2.15rem;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:var(--chip-bg);color:var(--ink);cursor:pointer}.settings-body{flex:1;min-height:0;overflow-y:auto;width:min(480px,100%);margin:0 auto;padding:.1rem .85rem calc(1.2rem + env(safe-area-inset-bottom,0px));box-sizing:border-box}.settings-group{margin:1rem 0 .45rem;padding-left:.15rem;font-size:.76rem;font-weight:700;color:var(--muted)}.settings-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}.settings-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.75rem .85rem;border:1px solid transparent;border-radius:14px;background:var(--surface-solid);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.settings-row.is-on{border-color:color-mix(in srgb,var(--brand) 45%,transparent)}.settings-row-main{display:flex;flex-direction:column;gap:.12rem;min-width:0}.settings-row-title{font-size:.92rem;font-weight:600}.settings-row-desc{font-size:.74rem;color:var(--muted)}.settings-row-arrow{display:inline-flex;color:var(--muted)}.settings-radio{flex-shrink:0;width:1.3rem;height:1.3rem;display:grid;place-items:center;border-radius:999px;border:1.5px solid color-mix(in srgb,var(--ink) 25%,transparent);color:var(--primary-fg)}.settings-radio.is-on{border-color:var(--brand);background:var(--brand)}.settings-switch{position:relative;flex-shrink:0;width:2.5rem;height:1.5rem;border-radius:999px;background:color-mix(in srgb,var(--ink) 18%,transparent);transition:background .16s ease}.settings-switch.is-on{background:var(--brand)}.settings-switch i{position:absolute;top:.17rem;left:.17rem;width:1.16rem;height:1.16rem;border-radius:999px;background:#fff;transition:transform .16s ease}.settings-switch.is-on i{transform:translate(1rem)}.settings-segment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;padding:.28rem;border-radius:14px;background:var(--surface-solid)}.settings-segment-btn{padding:.55rem .3rem;border:0;border-radius:11px;background:transparent;color:var(--muted-strong);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.settings-segment-btn.is-on{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--brand);font-weight:700}.settings-segment-hint{margin:.4rem 0 0;padding-left:.15rem;font-size:.74rem;color:var(--muted)}.settings-textarea{width:100%;box-sizing:border-box;padding:.75rem .85rem;border:1px solid transparent;border-radius:14px;background:var(--surface-solid);color:var(--ink);font:inherit;font-size:.9rem;line-height:1.55;resize:vertical;outline:none}.settings-textarea::placeholder,.settings-input::placeholder{color:var(--muted)}.settings-textarea:focus,.settings-input:focus{border-color:color-mix(in srgb,var(--brand) 45%,transparent)}.settings-input{width:100%;box-sizing:border-box;padding:.75rem .85rem;border:1px solid transparent;border-radius:14px;background:var(--surface-solid);color:var(--ink);font:inherit;font-size:.9rem;outline:none}.settings-error{margin:.7rem 0 0;padding-left:.15rem;font-size:.8rem;color:var(--error)}.settings-submit{width:100%;margin-top:1.2rem;padding:.85rem;border:0;border-radius:14px;background:var(--brand);color:var(--primary-fg);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.settings-submit:disabled{opacity:.5;cursor:default}.settings-done-title{margin:.4rem 0 .3rem;font-size:1rem;font-weight:700}.settings-done-desc{margin:0 0 1rem;font-size:.82rem;color:var(--muted)}.settings-done-again{border-color:var(--line)}.settings-logout{width:100%;margin-top:1.5rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--error) 40%,transparent);border-radius:14px;background:transparent;color:var(--error);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.settings-version{margin:.9rem 0 0;text-align:center;font-size:.72rem;color:var(--muted)}.settings-doc-meta{margin:0 0 .85rem;font-size:.74rem;color:var(--muted)}.settings-doc{margin-bottom:1rem}.settings-doc h3{margin:0 0 .35rem;font-size:.88rem}.settings-doc p{margin:0 0 .4rem;font-size:.84rem;line-height:1.6;color:var(--muted-strong)}.problem-ask{position:fixed;left:50%;bottom:calc(3.15rem + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:44;width:min(480px,100%);display:flex;flex-direction:column;gap:.4rem;margin:0;padding:.3rem .6rem .25rem;background:var(--board-bg);border-radius:1.1rem 1.1rem 0 0}.ask-dots{flex-shrink:0;width:2.2rem;height:2.2rem;padding:0;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted-strong);display:grid;place-items:center;cursor:pointer}.ask-dots.is-on{color:var(--brand);border-color:color-mix(in srgb,var(--brand) 45%,transparent);background:color-mix(in srgb,var(--brand) 12%,transparent)}.ask-actions{position:absolute;right:.75rem;bottom:calc(100% + .5rem);width:2.2rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:0;border:0;background:transparent;box-shadow:none;animation:ask-actions-in .16s ease}@keyframes ask-actions-in{0%{opacity:0;transform:translateY(8px)}}.ask-actions .rail-btn{gap:.1rem;font-size:.66rem;white-space:nowrap}.ask-actions .rail-ico{width:1.75rem;height:1.75rem;filter:none}.ask-actions .rail-btn.is-on{color:var(--brand)}.ask-thread-slot{width:min(480px,100%);margin:0 auto;padding:0 .85rem;background:var(--board-bg)}.problem-ask-thread{display:flex;flex-direction:column;gap:.55rem;padding:.2rem 0 .6rem}.feed-copy .feed-topic-tag.is-link,.feed-copy a,.feed-copy button{pointer-events:auto}.problem-ask-thread .chat-bubble.user{align-self:flex-end;background:color-mix(in srgb,var(--brand) 24%,var(--surface-solid))}.problem-ask-thread .chat-bubble.assistant{align-self:stretch;background:var(--surface-solid)}.problem-ask .chat-composer{margin:0;flex-direction:row;align-items:center;gap:.45rem;padding:.15rem .15rem .15rem .7rem;border:0;border-radius:999px;background:transparent;box-shadow:none}.ask-input{flex:1;min-width:0;padding:.5rem 0;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:.92rem;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ask-input::placeholder{color:var(--muted)}.feed-shell.has-ask{padding-bottom:7.2rem;background:var(--board-bg)}.problem-ask-error{margin:0 .15rem;color:var(--error);font-size:.82rem}.class-head-meta{flex:1 1 auto;min-width:0;text-align:right;font-size:.72rem;line-height:1.3;color:var(--muted-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-title{font-size:.95rem}.class-sub{margin:.15rem 0 0;font-size:.72rem;color:var(--muted-strong)}.class-chapters{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.class-chapter{border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.class-chapter.is-current{border-color:color-mix(in srgb,var(--brand) 60%,var(--line))}.class-chapter.is-current .class-chapter-title{color:var(--brand)}.class-chapter-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .75rem;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:.86rem;text-align:left;cursor:pointer}.class-chapter-toolbar{display:flex;align-items:center;gap:.4rem}.class-chapter-toolbar .class-chapter-head{flex:1;min-width:0}.class-chapter-meta{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:500;color:var(--muted-strong)}.class-caret{width:.42rem;height:.42rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-.1rem);transition:transform .18s ease}.class-caret.is-open{transform:rotate(-135deg) translateY(-.1rem)}.class-sections{display:grid;gap:.55rem;padding:0 .55rem .7rem}.class-section-title{margin:.15rem 0 .35rem;font-size:.76rem;font-weight:700;color:var(--brand)}.class-lessons{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.class-lesson{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .7rem;border:1px solid transparent;border-radius:12px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.class-lesson:active{transform:scale(.99)}.class-lesson.kind-concept{background:color-mix(in srgb,#34a99a 14%,transparent)}.class-lesson.kind-method{background:color-mix(in srgb,#e8a33d 16%,transparent)}.class-lesson.kind-advanced{background:color-mix(in srgb,#a78bfa 16%,transparent)}.class-lesson.kind-practice{background:color-mix(in srgb,#64748b 18%,transparent)}.class-lesson.is-locked{opacity:.55;cursor:default}.class-lesson.is-current{box-shadow:inset 0 0 0 1.5px var(--brand)}.class-lesson-main{display:grid;gap:.15rem;min-width:0}.class-lesson-title{font-size:.84rem;font-weight:600}.class-lesson-meta{font-size:.68rem;color:var(--muted-strong)}.class-lesson-icon{flex:none;width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:999px;background:#0b141380;color:#e8f6f3}.class-lesson-icon svg{width:1rem;height:1rem}.class-lesson.is-locked .class-lesson-icon{opacity:.5}.notebook-error-tag{font-style:normal;font-size:.66rem;font-weight:600;padding:.08rem .4rem;border-radius:999px;background:var(--chip-bg);color:var(--muted-strong)}.notebook-similar{margin-top:.15rem}.notebook-similar-chip{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--line);background:transparent;color:var(--brand);border-radius:999px;padding:.16rem .55rem;font-size:.7rem;font-weight:600;cursor:pointer}.notebook-similar-list{list-style:none;margin:.4rem 0 0;padding:0;display:grid;gap:.3rem}.notebook-similar-list button{width:100%;text-align:left;border:1px dashed var(--line);background:transparent;color:var(--ink);border-radius:10px;padding:.35rem .5rem;font-size:.74rem;cursor:pointer}.class-view-title.is-tappable{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}.class-view-title.is-tappable:focus{outline:none}.class-view-title.is-tappable:focus-visible{outline:none;box-shadow:inset 0 -2px 0 var(--brand);border-radius:.2rem}.class-view-title-caret{margin-left:.35rem;font-size:.72rem;color:var(--brand)}.class-view-title .class-view-kind{margin-left:.42rem;padding:.05rem .38rem;border:1px solid var(--line);border-radius:999px;font-size:.64rem;font-weight:600;color:var(--muted-strong);vertical-align:.1em}.class-picker{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:flex-end;justify-content:center}.class-picker-mask{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#00000080}.class-picker-sheet{position:relative;z-index:1;display:flex;flex-direction:column;width:min(520px,100%);max-height:82dvh;border-radius:1.1rem 1.1rem 0 0;border:1px solid var(--line);background:var(--surface-solid);overflow:hidden}.class-picker-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border-bottom:1px solid var(--line)}.class-picker-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.class-picker-body .class-panel{padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0px))}.home-chat-entry{display:flex;align-items:center;gap:.6rem;width:100%;max-width:22rem;margin:1rem auto 0;padding:.72rem .9rem;border-radius:999px;border:1px solid var(--line);background:var(--chip-bg);color:inherit;font-size:.88rem;text-align:left;cursor:pointer}.home-chat-entry:active{background:color-mix(in srgb,var(--ink) 12%,transparent)}.home-chat-entry-ico{display:grid;place-items:center;flex:0 0 auto;color:var(--brand)}.home-chat-entry-text{flex:1 1 auto;color:var(--muted-strong);line-height:1.35}.home-chat-entry-go{flex:0 0 auto;color:var(--brand);font-weight:700}.class-picker.is-page{align-items:stretch;inset:0 0 calc(3.15rem + env(safe-area-inset-bottom,0px)) 0;z-index:44;background:var(--page-bg)}.class-picker.is-page .class-picker-head,.class-picker.is-page .class-picker-mask{display:none}.class-picker.is-page .class-picker-sheet{width:min(480px,100%);margin:0 auto;max-height:none;height:100dvh;border:0;border-radius:0;background:var(--page-bg)}.class-picker.is-page .class-picker-head{padding-top:calc(.7rem + env(safe-area-inset-top,0px))}.subject-bar{flex:0 0 auto;display:flex;gap:.4rem;overflow-x:auto;padding:.6rem .9rem .35rem;scrollbar-width:none}.subject-bar::-webkit-scrollbar{display:none}.subject-tab{flex:0 0 auto;padding:.32rem .8rem;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted-strong);font-size:.86rem;cursor:pointer}.subject-tab.is-on{border-color:transparent;background:var(--brand);color:var(--primary-fg);font-weight:700}.subject-tab.is-soon{opacity:.4;cursor:not-allowed}.notebook-subject-bar{display:flex;gap:.4rem;overflow-x:auto;padding:.6rem .9rem .15rem;scrollbar-width:none}.notebook-subject-bar::-webkit-scrollbar{display:none}.notebook-subject.is-soon{opacity:.4;cursor:not-allowed}.notebook-subject-sep{flex:0 0 auto;align-self:center;width:1px;height:.95rem;margin:0 .3rem;background:var(--line)}.feed-stage.is-scrolled .feed-titlebar{transform:translateY(-110%);opacity:0;pointer-events:none}.feed-stage.is-scrolled .feed-top{padding-top:.1rem}.feed-titlebar{position:fixed;top:0;left:max(0px,calc(50vw - 240px));width:min(480px,100%);height:3.1rem;box-sizing:border-box;z-index:7;display:flex;align-items:center;gap:.55rem;padding:.55rem .55rem .35rem;pointer-events:none;transition:transform .22s ease,opacity .22s ease;background:var(--board-bg)}.feed-menu-btn{pointer-events:auto;flex-shrink:0;width:2.2rem;height:2.2rem;margin:0;border:0;border-radius:8px;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}.feed-brand{display:none}.feed-tabs{pointer-events:auto;flex:1;min-width:0;display:flex;align-items:center;gap:.85rem;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent)}.feed-tabs-spacer{flex:1;min-width:0}.feed-tabs::-webkit-scrollbar{display:none}.feed-tab{border:0;background:transparent;color:var(--muted);font-size:.95rem;font-weight:700;padding:.2rem 0;cursor:pointer;white-space:nowrap;position:relative;flex-shrink:0}.feed-tab:disabled{opacity:.28;cursor:default}.feed-tab.is-on{color:var(--board-ink-strong)}.feed-tab.is-on:after{content:"";position:absolute;left:50%;bottom:0;width:1rem;height:2px;transform:translate(-50%);border-radius:999px;background:var(--board-ink-strong)}.feed-tab-topic{font-size:.9rem;font-weight:600;color:var(--muted)}.feed-tab-topic.is-on{color:var(--brand)}.feed-tab-topic.is-on:after{background:var(--brand)}.feed-titlebar-right{margin-left:auto;display:flex;align-items:center;gap:.35rem;pointer-events:none}.feed-job-badge{pointer-events:auto;cursor:pointer;border:0;min-width:1.35rem;height:1.35rem;padding:0 .36rem;border-radius:999px;background:color-mix(in srgb,var(--gold) 22%,transparent);color:var(--gold);font-size:.72rem;font-weight:700;line-height:1.35rem;text-align:center;animation:job-pulse 1.6s ease-in-out infinite}@keyframes job-pulse{0%,to{opacity:1}50%{opacity:.55}}.feed-search-btn{pointer-events:auto;margin-left:auto;flex-shrink:0;width:2.2rem;height:2.2rem;border:0;border-radius:999px;background:transparent;color:var(--ink);display:grid;place-items:center;cursor:pointer}.feed-search-sheet{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;align-items:start}.feed-search-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#0000008c;cursor:pointer}.feed-search-card{position:relative;z-index:1;width:min(480px,calc(100% - 1.3rem));margin:.6rem auto 0;border-radius:14px;background:var(--surface-solid);border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow)}.feed-search-row{display:flex;align-items:center;gap:.45rem;padding:.65rem .7rem;border-bottom:1px solid var(--line);color:var(--ink)}.feed-search-row input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font-size:.95rem}.feed-search-list{list-style:none;margin:0;padding:.35rem;max-height:min(52vh,420px);overflow:auto}.feed-search-empty{padding:1rem;text-align:center;color:var(--muted);font-size:.88rem}.feed-search-hit{width:100%;border:0;background:transparent;color:var(--ink);text-align:left;padding:.65rem .55rem;border-radius:10px;cursor:pointer;display:grid;gap:.2rem}.feed-search-hit:hover:not(:disabled){background:var(--chip-bg)}.feed-search-hit:disabled{opacity:.45;cursor:default}.feed-search-hit strong{font-size:.82rem;color:var(--brand)}.feed-search-hit span{font-size:.86rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.9}.service-wake{position:fixed;top:3.45rem;left:50%;transform:translate(-50%);z-index:57;display:flex;align-items:center;gap:.4rem;max-width:min(420px,calc(100% - 1.5rem));padding:.45rem .9rem;border-radius:999px;background:color-mix(in srgb,var(--surface-solid) 92%,transparent);border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);color:var(--brand);font-size:.82rem;font-weight:600;box-shadow:var(--shadow);pointer-events:none}.service-wake-dot{width:.5rem;height:.5rem;border-radius:50%;background:currentColor;animation:service-wake-pulse 1.1s ease-in-out infinite}@keyframes service-wake-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}.feed-loading .feed-loading-hint{max-width:22rem;margin:0;font-size:.78rem;font-weight:500;line-height:1.6;color:var(--muted)}.origin-return{position:fixed;top:3.45rem;left:.7rem;z-index:57;display:inline-flex;align-items:center;gap:.32rem;max-width:min(60vw,320px);padding:.32rem .7rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);background:color-mix(in srgb,var(--surface-solid) 92%,transparent);color:var(--brand);font-size:.78rem;font-weight:600;cursor:pointer}.origin-return-tag{padding:.02rem .34rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 18%,transparent);font-size:.7rem}.origin-return-text{color:var(--muted-strong);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.similar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.2rem .2rem .55rem}.similar-head-text strong{display:block;font-size:.92rem}.similar-head-text p{margin:.18rem 0 0;font-size:.76rem;line-height:1.5;color:var(--muted)}.similar-origin{display:flex;align-items:baseline;gap:.45rem;width:100%;margin-bottom:.5rem;padding:.5rem .65rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--brand) 26%,transparent);background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--muted-strong);font:inherit;font-size:.78rem;line-height:1.5;text-align:left;cursor:pointer}.similar-origin-tag{flex-shrink:0;padding:.04rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 22%,transparent);color:var(--brand);font-size:.7rem;font-weight:700}.similar-origin-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.similar-foot{padding:.6rem .2rem .1rem}.similar-foot .primary-btn{width:100%}.notebook-orphan{flex-shrink:0;padding:.06rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted);font-size:.68rem;font-weight:600}
