:root{--bg:#ffffff;--bg-soft:#f7f7fb;--card:#ffffff;--text:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--border:#e5e7eb;--accent:#7c3aed;--accent2:#ec4899;--accent-light:rgba(124,58,237,0.08);--code-bg:#0b1020;--code-text:#e6edf3;--user-bg:#f3f4f6;color-scheme:light}.dark{--bg:#0d1117;--bg-soft:#111827;--card:#161b26;--text:#f3f4f6;--text-secondary:#c7cdd6;--text-muted:#8b93a1;--border:#242b38;--accent:#a78bfa;--accent2:#f472b6;--accent-light:rgba(167,139,250,0.12);--code-bg:#080c14;--code-text:#e6edf3;--user-bg:#1c2432;color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}body,html{background:var(--bg);color:var(--text)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button{font-family:inherit}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:20;height:58px;justify-content:space-between;padding:0 24px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand,.nav{display:flex;align-items:center}.brand{gap:10px;font-weight:800;font-size:17px}.brand .sub{color:var(--text-muted);font-weight:500}.secmenu{position:relative;margin-left:6px}.secmenu summary{list-style:none;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;padding:5px 11px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.secmenu summary::-webkit-details-marker{display:none}.secmenu summary:after{content:" ▾";font-size:10px;color:var(--text-muted)}.secmenu summary:hover,.secmenu[open] summary{border-color:var(--accent);color:var(--accent)}.secmenu-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.14);padding:6px;z-index:60}.secmenu-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--text-secondary)}.secmenu-item:hover{background:var(--accent-light);color:var(--accent)}.secmenu-item svg{width:17px;height:17px;flex-shrink:0}.secmenu-glyph{width:17px;text-align:center;font-family:Times New Roman,serif;font-size:15px;flex-shrink:0}.secmenu-sep{height:1px;background:var(--border);margin:5px 8px}.nav-links{display:flex;align-items:center;gap:22px;font-size:14px;color:var(--text-secondary)}.nav-links a:hover{color:var(--text)}.nav-links a.active{color:var(--accent);font-weight:600}.nav-right{display:flex;align-items:center;gap:12px}.btn{padding:7px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--card);color:var(--text)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none}.theme{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--card);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary)}.pill{font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-light);padding:3px 9px;border-radius:20px}.nav-search{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--border);border-radius:9px;width:340px;max-width:40vw;color:var(--text-muted);font-size:13px;background:var(--card);cursor:pointer}.nav-search .kbd{margin-left:auto;border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-size:11px}.hero{text-align:center;padding:70px 24px 40px;background:radial-gradient(1200px 400px at 50% -80px,var(--accent-light),transparent)}.hero h1{font-size:44px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}.hero h1 .grad{background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:17px;color:var(--text-secondary);max-width:560px;margin:0 auto 28px}.searchwrap{max-width:620px;margin:0 auto;position:relative}.search{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:var(--card);box-shadow:0 8px 30px rgba(0,0,0,.06);cursor:text}.search .mag{color:var(--text-muted);display:flex}.search input{flex:1 1;border:none;background:none;outline:none;color:var(--text);font-size:15px}.search .ask{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));padding:6px 11px;border-radius:8px;cursor:pointer}.search .ask .spark{font-family:Times New Roman,serif}.search .kbd{font-size:11px;border:1px solid var(--border);border-radius:5px;padding:2px 6px}.hint,.search .kbd{color:var(--text-muted)}.hint{font-size:12px;margin-top:10px}.wrap{max-width:1080px;margin:0 auto;padding:24px}.sec-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:36px 0 16px}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px;transition:transform .15s,border-color .15s;cursor:pointer;display:block}.card:hover{transform:translateY(-3px);border-color:var(--accent)}.card.soon{cursor:default;opacity:.72}.card.soon:hover{transform:none;border-color:var(--border)}.card .ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);margin-bottom:12px;color:var(--accent)}.card .ico svg{width:30px;height:30px}.card h3{font-size:16px;font-weight:700;margin-bottom:5px}.card p{font-size:13px;color:var(--text-secondary);line-height:1.5}.card .count{font-size:11px;color:var(--text-muted);margin-top:10px;font-weight:600}.allguides{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:28px 32px;gap:28px 32px;margin-bottom:8px}.ag-col{display:flex;flex-direction:column;gap:3px}.ag-title{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:700;margin-bottom:6px}.ag-title svg{width:16px;height:16px;flex-shrink:0}.ag-title:hover{color:var(--accent)}.ag-link{font-size:13.5px;color:var(--text-secondary);padding:2px 0}.ag-link:hover{color:var(--accent)}.page-head{max-width:1080px;margin:0 auto;padding:44px 24px 4px}.page-head h1{font-size:32px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.page-head p{font-size:15.5px;color:var(--text-secondary);max-width:640px}.page-head a{color:var(--accent)}.refwrap{max-width:860px;margin:0 auto;padding:16px 24px 56px}.refwrap h2{font-size:20px;font-weight:700;margin:30px 0 10px}.refwrap h2:first-child{margin-top:8px}.changelog{max-width:780px;margin:0 auto;padding:12px 24px 56px}.cl-entry{display:grid;grid-template-columns:120px 1fr;grid-gap:20px;gap:20px;padding:22px 0;border-bottom:1px solid var(--border)}.cl-entry:last-child{border-bottom:none}.cl-date{font-size:13px;font-weight:600;color:var(--text-muted);padding-top:2px;white-space:nowrap}.cl-body h3{font-size:16px;font-weight:700;margin-bottom:6px}.cl-body ul{margin:0 0 0 18px;font-size:14px;line-height:1.65;color:var(--text-secondary)}.cl-body li+li{margin-top:4px}@media (max-width:620px){.cl-entry{grid-template-columns:1fr;gap:4px}}.popular{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px 32px;gap:8px 32px}.pop{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--border);font-size:14px}.pop .dot{font-size:12px}.pop .dot,.pop:hover{color:var(--accent)}footer{max-width:1080px;margin:40px auto 0;padding:24px;border-top:1px solid var(--border);color:var(--text-muted);font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.layout{display:grid;grid-template-columns:250px minmax(0,1fr) 220px;max-width:1240px;margin:0 auto;grid-gap:0;gap:0}.side{border-right:1px solid var(--border);padding:20px 14px;height:calc(100vh - 58px);position:-webkit-sticky;position:sticky;top:58px;overflow-y:auto}.side .grp{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:16px 8px 6px}.side .grp:first-child{margin-top:0}.side a{display:block;padding:6px 8px;border-radius:7px;font-size:13.5px;color:var(--text-secondary)}.side a.active,.side a:hover{background:var(--accent-light)}.side a.active{color:var(--accent);font-weight:600}.article{padding:28px 40px;min-width:0}.crumbs{font-size:12.5px;color:var(--text-muted);margin-bottom:14px}.crumbs a:hover{color:var(--accent)}.article h1{font-size:32px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.article .lead{font-size:16px;color:var(--text-secondary);margin-bottom:24px}.article-body{line-height:1.7}.article-body h2{font-size:20px;margin:28px 0 10px}.article-body h2,.article-body h3{font-weight:700;scroll-margin-top:78px}.article-body h3{font-size:16.5px;margin:22px 0 8px}.article-body p{margin-bottom:14px}.article-body ol,.article-body ul{margin:0 0 14px 22px}.article-body li{margin-bottom:6px}.article-body a{color:var(--accent);font-weight:500}.article-body a:hover{text-decoration:underline}.article-body strong{color:var(--text);font-weight:700}.article-body code{background:var(--accent-light);color:var(--accent);padding:1px 6px;border-radius:5px;font-size:13.5px}.article-body code,.article-body pre{font-family:SF Mono,Menlo,Consolas,monospace}.article-body pre{background:var(--code-bg);color:var(--code-text);border-radius:12px;padding:16px 18px;overflow-x:auto;font-size:13px;line-height:1.6;margin:14px 0;position:relative;border:1px solid var(--border)}.article-body pre code{background:none;color:inherit;padding:0;font-size:inherit}.article-body .flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--accent-light);font-size:13.5px}.article-body .flow+.flow{margin-top:-8px}.article-body .flow-step{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:4px 10px;font-weight:600}.article-body .flow-arrow{color:var(--accent);font-weight:700}.article-body blockquote{border-left:3px solid var(--accent);background:var(--accent-light);border-radius:0 10px 10px 0;padding:12px 16px;font-size:14px;margin:16px 0;color:var(--text-secondary)}.article-body blockquote strong{color:var(--accent)}.article-body table{width:100%;border-collapse:collapse;margin:14px 0;font-size:14px}.article-body td,.article-body th{border:1px solid var(--border);padding:8px 12px;text-align:left}.article-body th{background:var(--bg-soft);font-weight:700}.article-body hr{border:none;border-top:1px solid var(--border);margin:24px 0}.article-body .math-block{margin:16px 0;overflow-x:auto}.copy-btn{position:absolute;top:10px;right:10px;font-size:11px;color:#9aa4b2;border:1px solid #2a3342;border-radius:6px;padding:3px 8px;cursor:pointer;background:transparent}.copy-btn:hover{color:#fff;border-color:var(--accent)}.pager{display:flex;justify-content:space-between;gap:12px;margin-top:32px;padding-top:18px;border-top:1px solid var(--border)}.pager a{border:1px solid var(--border);border-radius:10px;padding:12px 16px;font-size:13px;max-width:47%}.pager a:hover{border-color:var(--accent)}.pager .lbl{font-size:11px;color:var(--text-muted)}.toc{padding:24px 16px;height:calc(100vh - 58px);position:-webkit-sticky;position:sticky;top:58px;overflow-y:auto}.toc .h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px}.toc a{display:block;font-size:13px;color:var(--text-secondary);padding:4px 0 4px 10px;border-left:2px solid var(--border)}.toc a.lvl3{padding-left:20px}.toc a:hover{color:var(--text)}.toc a.active{color:var(--accent);border-left-color:var(--accent);font-weight:600}.ai{margin-top:22px;border:1px solid var(--border);border-radius:14px;padding:14px;background:linear-gradient(180deg,var(--accent-light),transparent)}.ai .t{display:flex;align-items:center;gap:7px;font-weight:700;font-size:13.5px;margin-bottom:6px}.ai .t .spark{font-family:Times New Roman,serif;color:var(--accent)}.ai .badge{font-size:9px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));padding:2px 6px;border-radius:5px}.ai p{font-size:12.5px;color:var(--text-secondary);margin-bottom:10px}.ai .q{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 10px;font-size:13px;background:var(--bg);color:var(--text)}.ai .go{width:100%;margin-top:8px;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;border-radius:9px;padding:9px;cursor:pointer}.ai .priv{font-size:10.5px;color:var(--text-muted);margin-top:8px;text-align:center}.search-overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.4);display:flex;align-items:flex-start;justify-content:center;padding:12vh 20px 20px}.search-panel{width:100%;max-width:620px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden}.search-panel .field{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.search-panel .field input{flex:1 1;border:none;background:none;outline:none;color:var(--text);font-size:16px}.search-panel .field .mag{color:var(--text-muted);display:flex}.search-results{max-height:50vh;overflow-y:auto;padding:8px}.search-results .empty{padding:22px 16px;color:var(--text-muted);font-size:14px;text-align:center}.result-item{display:block;padding:10px 12px;border-radius:9px}.result-item.hl,.result-item:hover{background:var(--accent-light)}.result-item .rt{font-size:14px;font-weight:600}.result-item .rc{font-size:11.5px;color:var(--text-muted);margin-bottom:2px}.result-item .rd{font-size:12.5px;color:var(--text-secondary)}.search-panel .footer{padding:8px 14px;border-top:1px solid var(--border);font-size:11.5px;color:var(--text-muted);display:flex;justify-content:space-between}.ask-cta{display:flex;align-items:center;gap:6px;color:var(--accent);font-weight:700}.ask-page{height:calc(100vh - 58px);display:flex;flex-direction:column;overflow:hidden}.chat{flex:1 1;min-height:0;overflow-y:auto;max-width:760px;width:100%;margin:0 auto;padding:26px 20px 20px;scrollbar-gutter:stable}.row{gap:12px;margin-bottom:26px}.av,.row{display:flex}.av{width:30px;height:30px;border-radius:8px;flex-shrink:0;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff}.av.u{background:#6b7280}.av.a{background:linear-gradient(135deg,var(--accent),var(--accent2));font-family:Times New Roman,serif}.msg{flex:1 1;min-width:0}.who{font-size:12px;font-weight:700;color:var(--text-muted);margin-bottom:4px}.bubble{font-size:14.5px;line-height:1.65;overflow-wrap:break-word}.bubble code{background:var(--accent-light);color:var(--accent);padding:1px 6px;border-radius:5px;font-size:13px}.bubble code,.bubble pre{font-family:SF Mono,Menlo,monospace}.bubble pre{background:var(--code-bg);color:var(--code-text);border-radius:10px;padding:14px 16px;overflow-x:auto;font-size:12.5px;margin:10px 0;line-height:1.6}.steps{font-size:12px;color:var(--text-muted);margin-bottom:8px;display:flex;align-items:center;gap:6px}.dotpulse{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:dotpulse 1s ease-in-out infinite}@keyframes dotpulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}.chat .row{animation:bubble-in .22s ease}@keyframes bubble-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.sources{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.sources .h{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:8px}.src{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;padding:5px 10px;margin:0 6px 6px 0}.src:hover{border-color:var(--accent)}.src .n,.src:hover{color:var(--accent)}.src .n{width:16px;height:16px;border-radius:4px;background:var(--accent-light);font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}.composer{flex-shrink:0;border-top:1px solid var(--border);background:var(--bg);padding:14px 20px 18px}.cbox{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:var(--card);box-shadow:0 10px 30px rgba(0,0,0,.08)}.cbox .spark{color:var(--text-muted);font-family:Times New Roman,serif}.cbox input{flex:1 1;border:none;background:none;outline:none;color:var(--text);font-size:15px}.send{width:36px;height:36px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:16px;cursor:pointer}.composer .priv{max-width:760px;margin:8px auto 0;text-align:center;font-size:11.5px;color:var(--text-muted)}.chips{max-width:760px;margin:0 auto 10px;display:flex;gap:8px;flex-wrap:wrap}.chip{font-size:12.5px;color:var(--text-secondary);border:1px solid var(--border);border-radius:20px;padding:6px 12px;cursor:pointer;background:none}.pstrip{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:10px}.pstrip-bar{width:min(420px,100%);height:4px;border-radius:4px;background:var(--border);overflow:hidden;position:relative}.pstrip-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s ease}.pstrip-fill.indet{position:absolute;width:36%;animation:pstrip-slide 1.1s ease-in-out infinite}@keyframes pstrip-slide{0%{left:-36%}to{left:100%}}.chat-tools,.pstrip-label{font-size:12px;color:var(--text-muted)}.chat-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-bottom:14px}.chat-tools button{border:1px solid var(--border);background:none;border-radius:14px;padding:2px 10px;cursor:pointer;font-size:12px;color:var(--text-secondary)}.chat-tools button:hover{border-color:var(--accent);color:var(--accent)}.fb{display:flex;align-items:center;gap:8px;margin-top:6px;color:var(--text-muted)}.fb,.fb button{font-size:12.5px}.fb button{border:1px solid var(--border);background:none;border-radius:14px;padding:2px 9px;cursor:pointer;color:var(--text-secondary)}.chip.on,.fb button:hover{border-color:var(--accent);color:var(--accent)}.chip.on{background:var(--accent-light);font-weight:600}.chip:hover{border-color:var(--accent);color:var(--accent)}@media (max-width:960px){.layout{grid-template-columns:1fr}.side,.toc{position:static;height:auto;border-right:none}.toc{display:none}.allguides,.grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.allguides,.grid,.popular{grid-template-columns:1fr}.hero h1{font-size:34px}.nav-links{display:none}}:root{--app-bg:#f7f7fb;--sidebar:#f3f4f6}.dark{--app-bg:#0f1420;--sidebar:#161b26}.side a.secnav{display:flex;align-items:center;gap:8px}.side a.secnav svg{width:15px;height:15px;flex-shrink:0}.section-hero{display:flex;align-items:center;gap:14px;margin-bottom:8px}.section-hero h1{margin-bottom:0}.section-hero-ico{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-light);color:var(--accent)}.section-hero-ico svg{width:32px;height:32px}.appview{border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.1);margin:18px 0 8px;background:var(--app-bg)}.app-chrome{height:34px;display:flex;align-items:center;gap:7px;padding:0 12px;background:var(--card);border-bottom:1px solid var(--border)}.app-chrome .dot{width:11px;height:11px;border-radius:50%}.app-chrome .url{margin-left:10px;font-size:11px;color:var(--text-muted);background:var(--app-bg);border-radius:6px;padding:3px 10px}.app-shot{display:block;width:100%;height:auto}.app-body{position:relative;font-size:11px;background:var(--bg)}.pin{position:absolute;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(124,58,237,.5);border:2px solid #fff;z-index:5}.dark .pin{border-color:#0d1117}.legend{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 28px;gap:10px 28px;margin:16px 0 4px}.leg{display:flex;gap:10px;font-size:13.5px}.leg .n{width:22px;height:22px;border-radius:50%;background:var(--accent-light);color:var(--accent);font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.leg b{color:var(--text)}.callout,.leg span{color:var(--text-secondary)}.callout{border-left:3px solid var(--accent);background:var(--accent-light);border-radius:0 10px 10px 0;padding:12px 16px;font-size:14px;margin:16px 0}.callout b{color:var(--accent)}.modes-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:14px 0}.mode-card{border:1px solid var(--border);border-radius:12px;padding:14px}.mode-card h4{font-size:14px;font-weight:700;margin-bottom:3px;display:flex;align-items:center;gap:7px}.mode-card p{font-size:12.5px;color:var(--text-secondary);margin:0}.mode-card .tag{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;background:rgba(5,150,105,.14);color:#059669}.mode-card .tag.pro{background:var(--accent-light);color:var(--accent)}.ed{height:340px;font-size:11px;background:var(--bg)}.ed,.ed-nav{display:flex}.ed-nav{position:absolute;top:0;left:0;right:0;height:34px;align-items:center;gap:10px;padding:0 12px;background:var(--card);border-bottom:1px solid var(--border);z-index:2}.ed-tab{font-size:11px;padding:3px 8px;border-radius:6px;color:var(--text-secondary)}.ed-tab.on{background:var(--accent);color:#fff;font-weight:600}.ed-outline{width:150px;border-right:1px solid var(--border);padding:42px 10px 10px;background:var(--app-bg);color:var(--text-secondary)}.ed-outline div{padding:3px 6px;border-radius:5px}.ed-outline .cur{background:var(--accent-light);color:var(--accent);font-weight:600}.ed-canvas{flex:1 1;padding:42px 22px 10px;background:var(--bg);font-family:SF Mono,Menlo,monospace;color:var(--text);overflow:hidden}.ed-canvas .k{color:var(--accent)}.ed-canvas .s{color:#059669}.ed-pdf{width:210px;border-left:1px solid var(--border);background:var(--app-bg);padding:42px 12px 10px}.ed-pdf .page{background:#fff;height:100%;border-radius:3px;box-shadow:0 2px 10px rgba(0,0,0,.12);padding:14px;color:#111;font-size:8px;line-height:1.5}.ed-pdf .page h5{font-size:11px;margin-bottom:4px}.ed-grp{font-size:8px;text-transform:uppercase;letter-spacing:.05em;opacity:.6;margin:2px 0 4px}.ed-caret{display:inline-block;width:1.5px;height:10px;background:var(--accent);vertical-align:-1px;animation:dotpulse 1s ease-in-out infinite}.ed-pop{position:absolute;top:16px;left:64px;background:var(--card);border:1px solid var(--border);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.15);font-size:8px;padding:3px;z-index:5;white-space:nowrap}.ed-pop div{padding:2px 6px;border-radius:4px;color:var(--text-secondary)}.ed-pop .on{background:var(--accent-light);color:var(--accent);font-weight:700}.ed-pdf-h{justify-content:space-between;font-weight:700;margin-bottom:4px}.ed-pdf-h,.ed-status{display:flex;font-size:8px;color:var(--text-muted)}.ed-status{align-items:center;gap:12px;border-top:1px solid var(--border);padding:4px 10px;background:var(--sidebar)}.fs-modes{display:flex;align-items:center;gap:9px;height:30px;padding:0 12px;background:var(--card);border-bottom:1px solid var(--border);overflow:hidden}.fs-modes .m{color:var(--text-secondary);white-space:nowrap}.fs-modes .m.on{border-bottom:2px solid var(--accent);height:30px;display:flex;align-items:center}.fs-modes .b,.fs-modes .m.on{color:var(--accent);font-weight:700}.fs-modes .b{font-size:8px;padding:1px 5px;border-radius:4px;background:var(--accent-light)}.fs-modes .b.free{background:rgba(5,150,105,.14);color:#059669}.fs-modes .b.soon{background:var(--sidebar);color:var(--text-muted)}.fs-main{display:flex;height:320px}.fs-side{width:150px;border-right:1px solid var(--border);background:var(--sidebar);padding:8px}.fs-side .h{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px}.fs-side .row{display:flex;align-items:center;gap:5px;padding:4px 5px;border-radius:5px;margin-bottom:2px}.fs-side .row.on{background:var(--accent-light);color:var(--accent)}.fs-side .ic{width:16px;height:12px;border-radius:3px;background:#6366f1;color:#fff;font-size:6px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fs-data{width:230px;border-right:1px solid var(--border);padding:10px;background:var(--bg)}.fs-data .r{display:flex;gap:6px;margin-bottom:5px}.fs-data .cell{flex:1 1;border:1px solid var(--border);border-radius:5px;padding:4px 6px;background:var(--bg)}.fs-prev{flex:1 1;background:var(--app-bg);padding:14px;display:flex;align-items:flex-end;justify-content:center;gap:16px}.fs-prev .bar{width:34px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,var(--accent),var(--accent2))}.fs-panel{width:170px;border-left:1px solid var(--border);background:var(--sidebar);padding:10px}.fs-panel .tab{display:inline-block;font-size:9px;font-weight:700;margin-right:8px;color:var(--text-muted)}.fs-panel .tab.on{color:var(--accent);border-bottom:2px solid var(--accent)}.fs-panel .fld{margin-top:10px}.fs-panel .fld label{font-size:8px;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:3px}.fs-panel .fld .box{border:1px solid var(--border);border-radius:5px;padding:4px 6px;background:var(--bg);font-size:10px}.fs-export{position:absolute;top:40px;right:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:9px;font-weight:700;padding:4px 9px;border-radius:6px;z-index:3}.fs-prevwrap{flex:1 1;display:flex;flex-direction:column;background:var(--app-bg);padding:8px 14px 6px}.fs-prevwrap .fs-prev{flex:1 1;padding:6px 10px 0;border-left:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);background:none}.fs-col{position:relative;display:flex;align-items:flex-end;flex:1 1;height:100%}.fs-col .bar{width:100%}.fs-err{width:1.5px;transform:translate(-50%,50%)}.fs-err,.fs-err:after,.fs-err:before{position:absolute;left:50%;background:var(--text-muted)}.fs-err:after,.fs-err:before{content:"";transform:translateX(-50%);width:7px;height:1.5px}.fs-err:before{top:0}.fs-err:after{bottom:0}.fs-xlabels{display:flex;justify-content:space-around;font-size:8px;color:var(--text-muted);border-top:1px solid var(--border);padding-top:2px}.fs-thumb{width:26px;height:20px;border-radius:4px;background:linear-gradient(140deg,var(--accent),var(--accent2));opacity:.8}.pp-bar{gap:8px;height:34px;padding:0 12px;background:var(--card);border-bottom:1px solid var(--border)}.pp-bar,.pp-bar .field{display:flex;align-items:center}.pp-bar .field{flex:1 1;gap:6px;border:1px solid var(--border);border-radius:7px;padding:4px 8px;background:var(--bg);color:var(--text-muted)}.pp-bar .src{font-size:8px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--accent-light);color:var(--accent)}.pp-filters{display:flex;align-items:center;gap:6px;padding:5px 10px;border-bottom:1px solid var(--border);font-size:8px;color:var(--text-secondary)}.pp-filters span{border:1px solid var(--border);border-radius:10px;padding:2px 8px}.pp-filters .on{border-color:var(--accent);color:var(--accent);background:var(--accent-light);font-weight:700}.pp-filters span:last-child{border:none}.pp-netlegend{position:absolute;bottom:6px;left:10px;display:flex;gap:12px;font-size:8px;color:var(--text-muted)}.pp-netlegend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px;vertical-align:-1px}.pp-main{display:flex;height:300px}.pp-list{width:320px;border-right:1px solid var(--border);padding:10px;background:var(--bg);overflow:hidden}.pp-card{border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px;background:var(--card)}.pp-card.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pp-card .ti{font-weight:700;color:var(--text);margin-bottom:3px}.pp-card .meta{color:var(--text-muted);font-size:10px;display:flex;justify-content:space-between;align-items:center}.pp-card .add{background:var(--accent);color:#fff;border-radius:5px;padding:2px 7px;font-weight:700;font-size:9px}.pp-net{flex:1 1;background:var(--app-bg);position:relative}.pp-net .cap{position:absolute;top:8px;left:10px;font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.cb-perm{margin-left:auto;font-size:8px;font-weight:700;color:#059669;border:1px solid #059669;border-radius:8px;padding:2px 8px}.cb-sel{border-radius:3px;padding:0 2px}.cb-ref{color:var(--accent);font-weight:700}.cb-react{display:inline-block;font-size:7.5px;border:1px solid var(--border);border-radius:8px;padding:1px 6px;margin-top:3px;color:var(--text-secondary)}.cb-typing{font-size:8px;color:var(--text-muted);font-style:italic;padding:4px 2px 0}.lb-top{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--border);font-size:8px}.lb-search{border:1px solid var(--border);border-radius:8px;padding:3px 10px;color:var(--text-muted);min-width:110px}.lb-chip{border:1px solid var(--border);border-radius:10px;padding:2px 8px;color:var(--text-secondary)}.lb-chip.on{border-color:var(--accent);color:var(--accent);background:var(--accent-light);font-weight:700}.lb-badges{display:flex;gap:4px;margin-top:3px}.lb-badges span{font-size:7px;border:1px solid var(--border);border-radius:6px;padding:1px 5px;color:var(--text-muted)}.lb-main{display:flex;height:320px}.lb-list{width:250px;border-right:1px solid var(--border);padding:10px;background:var(--bg);overflow:hidden}.lb-ref{display:flex;gap:8px;padding:7px;border-radius:8px;margin-bottom:6px}.lb-ref.on{background:var(--accent-light)}.lb-ref .thumb{width:26px;height:34px;border-radius:3px;background:linear-gradient(160deg,#ef4444,#f59e0b);flex-shrink:0;opacity:.85}.lb-ref .ti{font-weight:700;color:var(--text);line-height:1.35}.lb-ref .au{color:var(--text-muted);font-size:10px}.lb-detail{flex:1 1;padding:12px;background:var(--app-bg);overflow:hidden}.lb-detail .h{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:10px 0 5px}.lb-detail .h:first-child{margin-top:0}.lb-bib{background:var(--code-bg);color:var(--code-text);border-radius:7px;padding:8px 10px;font-family:SF Mono,Menlo,monospace;font-size:9px;line-height:1.5}.lb-bib .k{color:#a78bfa}.lb-notes{border:1px solid var(--border);border-radius:7px;padding:8px 10px;background:var(--bg);color:var(--text-secondary);min-height:46px}.lb-pdf{display:flex;gap:8px}.lb-pdf .page{flex:1 1;height:60px;background:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.12);padding:7px;color:#111;font-size:6px;line-height:1.5;overflow:hidden}.lb-pdf .page .hl{background:#fde68a}.cb-top{gap:6px;height:34px;padding:0 12px;background:var(--card);border-bottom:1px solid var(--border)}.cb-av,.cb-top{display:flex;align-items:center}.cb-av{width:20px;height:20px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;justify-content:center;border:2px solid var(--card);margin-left:-6px}.cb-av:first-child{margin-left:0}.cb-share{margin-left:auto;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:9px;font-weight:700;padding:4px 10px;border-radius:6px}.cb-main{display:flex;height:320px}.cb-canvas{flex:1 1;padding:16px 22px;background:var(--bg);position:relative;line-height:1.9;color:var(--text)}.cb-cursor{position:absolute;font-size:9px;font-weight:700;color:#fff;padding:1px 6px;border-radius:4px 4px 4px 0;white-space:nowrap}.cb-cursor:before{content:"";position:absolute;left:0;top:-2px;bottom:-14px;width:2px;background:inherit}.cb-comment{position:absolute;width:18px;height:18px;border-radius:50%;background:#f59e0b;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}.cb-hl{background:rgba(245,158,11,.22);border-bottom:1.5px solid #f59e0b;padding:0 1px}.cb-panel{width:210px;border-left:1px solid var(--border);background:var(--sidebar);padding:10px}.cb-panel .tabs{display:flex;gap:10px;margin-bottom:8px}.cb-panel .tabs span{font-size:9px;font-weight:700;color:var(--text-muted);padding-bottom:3px}.cb-panel .tabs .on{color:var(--accent);border-bottom:2px solid var(--accent)}.cb-msg{display:flex;gap:6px;margin-bottom:9px}.cb-msg .who{font-weight:700;color:var(--text)}.cb-msg .bubble{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:5px 8px;color:var(--text-secondary)}@media (max-width:1080px){.app-body{overflow-x:auto}.cb-main,.ed,.fs-main,.lb-main,.pp-main{min-width:720px}.legend,.modes-grid{grid-template-columns:1fr}}