:root{--bg:#f5f7fa;--panel:#ffffff;--sunk:#edf2fe;--line:#dfe5ef;--fg:#0b1f33;--muted:#66727f;--accent:#0d4cd3;--accent-hover:#0b3fb0;--accent-ink:#ffffff;--accent-soft:#e4ecfd;--warn:#e2394f;--warn-soft:#fdecee;--ok:#1d9f63;--grid:#dde5f3;--canvas:#fbfcfe;--shadow:0 2px 8px rgba(11,31,51,.08);--shadow-hover:0 6px 18px rgba(13,76,211,.16);--hl-kw:#0d4cd3;--hl-arrow:#c2410c;--hl-str:#6b3fc7;--hl-com:#8d97a5;--hl-num:#0a7a6b;--f-ui:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;--f-code:"JetBrains Mono",ui-monospace,"SFMono-Regular",Consolas,monospace;--r:8px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1828;--panel:#15223a;--sunk:#1b2a45;--line:#263755;--fg:#e8eef8;--muted:#9aa9c0;--accent:#6b9cf5;--accent-hover:#8ab1f8;--accent-ink:#0a1830;--accent-soft:#1f3560;--warn:#ff7d8c;--warn-soft:#3d1f29;--ok:#5fd39b;--grid:#1f2e4a;--canvas:#111d31;--shadow:0 2px 8px rgba(0,0,0,.25);--shadow-hover:0 6px 18px rgba(0,0,0,.35);--hl-kw:#8ab1f8;--hl-arrow:#ffad7a;--hl-str:#c9b1f5;--hl-com:#6f7f99;--hl-num:#6fd6c2;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1828;--panel:#15223a;--sunk:#1b2a45;--line:#263755;--fg:#e8eef8;--muted:#9aa9c0;--accent:#6b9cf5;--accent-hover:#8ab1f8;--accent-ink:#0a1830;--accent-soft:#1f3560;--warn:#ff7d8c;--warn-soft:#3d1f29;--ok:#5fd39b;--grid:#1f2e4a;--canvas:#111d31;--shadow:0 2px 8px rgba(0,0,0,.25);--shadow-hover:0 6px 18px rgba(0,0,0,.35);--hl-kw:#8ab1f8;--hl-arrow:#ffad7a;--hl-str:#c9b1f5;--hl-com:#6f7f99;--hl-num:#6fd6c2;color-scheme:dark}html,body{height:100%}body{margin:0}img{max-width:100%}[hidden]{display:none!important}body{background:var(--bg);color:var(--fg);font-family:var(--f-ui);font-size:15px;line-height:1.5}*{box-sizing:border-box}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{height:100%;display:grid;grid-template-rows:auto 1fr;grid-template-columns:var(--side-w,248px) 1fr;grid-template-areas:"top top" "side main"}.app.collapsed{--side-w:64px}.app.collapsed .side{padding-inline:10px}.app.collapsed .side h3,.app.collapsed .side .lbl,.app.collapsed .side .docs-sec{display:none}.app.collapsed .side li button{justify-content:center;padding:8px 0}.app.collapsed .side section{display:flex;flex-direction:column;gap:6px}.app.collapsed .side section+section{border-top:1px solid var(--line);padding-top:12px}#sideBtn{padding:0;width:36px}.top{grid-area:top;display:flex;align-items:center;gap:20px;padding:12px 24px;background:var(--panel);box-shadow:var(--shadow);position:relative;z-index:2}.brand{border:0;background:transparent;padding:0;cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:900;font-size:19px;letter-spacing:-.01em;white-space:nowrap;color:var(--fg)}.brand b{color:var(--accent);font-weight:900}.brand svg{flex:none}.tabs{display:flex;gap:2px;background:var(--sunk);padding:3px;border-radius:10px}.tabs button{border:0;background:transparent;padding:7px 14px;border-radius:8px;cursor:pointer;font-weight:700;color:var(--muted)}.tabs button[aria-pressed=true]{background:var(--panel);color:var(--accent);box-shadow:var(--shadow)}.top .spacer{flex:1}.crumb{border:0;background:transparent;color:var(--accent);padding:6px 4px;cursor:pointer;font-weight:700;white-space:nowrap}.crumb:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:3px}.cp-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line)}.cp-head .grow{flex:1}.cp-head .tabs button{padding:5px 12px}.ref{flex:1;min-height:0;overflow:auto;padding:16px 16px 28px;display:flex;flex-direction:column;gap:14px}.ref .lead{margin:0;color:var(--muted);max-width:62ch}.ref h4{margin:6px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.ref-item{border:1px solid var(--line);border-radius:9px;background:var(--bg);overflow:hidden}.ref-item .rh{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 0}.ref-item b{font-size:13.5px}.ref-item p{margin:2px 12px 8px;color:var(--muted);font-size:12.5px;max-width:62ch}.ref-item pre{margin:0;padding:9px 12px;background:var(--sunk);font-family:var(--f-code);font-size:12.5px;line-height:1.55;white-space:pre;overflow-x:auto;border-top:1px solid var(--line)}.ref-item .ins{border:0;background:transparent;color:var(--accent);font-size:12.5px;font-weight:600;cursor:pointer;padding:2px 4px;border-radius:5px;white-space:nowrap}.ref-item .ins:hover{background:var(--accent-soft)}.ref table{border-collapse:collapse;font-size:12.5px;width:100%}.ref td{border-top:1px solid var(--line);padding:6px 8px;vertical-align:top}.ref td:first-child{font-family:var(--f-code);white-space:nowrap;color:var(--hl-arrow);width:1%}.ref-tbl{overflow-x:auto}.ref>*{flex-shrink:0}.iconbtn{border:0;background:var(--accent-soft);color:var(--accent);font-weight:700;border-radius:8px;height:36px;min-width:36px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap}.iconbtn:hover{background:color-mix(in srgb,var(--accent) 16%,var(--panel))}#themeBtn{padding:0;width:36px}.btn{border:0;background:var(--accent);color:var(--accent-ink);border-radius:8px;height:36px;padding:0 18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn:hover{background:var(--accent-hover)}.side{grid-area:side;background:var(--panel);border-right:1px solid var(--line);overflow:auto;padding:14px 10px 24px;display:flex;flex-direction:column;gap:18px}.side h3{margin:0 10px 6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.side ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.side li button{width:100%;text-align:left;border:0;background:transparent;padding:7px 10px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:10px;color:var(--fg)}.side li button:hover{background:var(--sunk);color:var(--accent)}.side li button.on{background:var(--accent-soft);color:var(--accent);font-weight:700}.glyph{width:24px;height:24px;flex:none;border-radius:6px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent)}.side li button.on .glyph{background:var(--panel)}.docs li{display:flex;align-items:center;gap:2px}.docs li button.open{flex:1;min-width:0}.docs .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs .del{border:0;background:transparent;color:var(--muted);cursor:pointer;width:26px;height:26px;border-radius:6px;flex:none;font-size:12px}.docs .del:hover{background:var(--warn-soft);color:var(--warn)}.docs .del.arm{background:var(--warn);color:#fff;width:auto;padding:0 6px}.empty-note{margin:0 8px;color:var(--muted);font-size:12.5px}.main{grid-area:main;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.gallery{overflow:auto;padding-block:clamp(16px,2.5vw,32px) 40px;padding-inline:clamp(16px,2.5vw,40px)}.intro{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:clamp(16px,2vw,28px)}.intro h1{margin:0 0 8px;font-size:clamp(24px,2.4vw,34px);font-weight:900;letter-spacing:-.01em;line-height:1.15;text-wrap:balance}.intro p{margin:0;color:var(--muted);max-width:60ch}.intro .actions{display:flex;gap:8px;flex-wrap:wrap;min-width:0;max-width:100%}.intro .actions .iconbtn{max-width:100%;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:36px}.group{margin-bottom:clamp(20px,2.5vw,32px)}.group-h{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:8px}.group-h h2{margin:0;font-size:17px}.group-h span{color:var(--muted);font-size:13px}.cards{display:grid;grid-template-columns:repeat(var(--cols,auto-fill),minmax(min(100%,var(--card-min,180px)),1fr));gap:clamp(12px,1.4vw,20px)}.card{border:0;background:var(--panel);border-radius:12px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;text-align:left;padding:0;box-shadow:var(--shadow);transition:box-shadow .15s,transform .15s}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card:hover b{color:var(--accent)}.card .pv{height:clamp(100px,8vw,150px);background-color:#fff;background-image:radial-gradient(#e6eaf0 1px,transparent 1px);background-size:14px 14px;display:grid;place-items:center;padding:10px;border-bottom:1px solid var(--line);overflow:hidden}.card .pv svg{width:100%;height:100%;display:block}.card .pv .ld{color:#66727f;font-size:12px}.card .meta{padding:9px 12px 11px;display:flex;flex-direction:column;gap:4px}.card .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 8px}.card b{font-size:14.5px;font-weight:700}.kw{font-family:var(--f-code);font-size:11px;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:6px;white-space:nowrap}.card .d{color:var(--muted);font-size:12px;line-height:1.4}.editor{flex:1;min-height:0;display:grid;grid-template-columns:clamp(280px,var(--split,40%),calc(100% - 280px)) 1fr;grid-template-rows:auto 1fr auto}.ed-bar{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--panel)}.ed-bar input#docName{border:1px solid transparent;background:transparent;font:inherit;font-weight:600;font-size:15px;padding:4px 6px;border-radius:6px;min-width:0;width:240px;max-width:100%}.ed-bar input#docName:hover,.ed-bar input#docName:focus{border-color:var(--line);background:var(--bg);outline:none}.ed-bar .sep{width:1px;height:20px;background:var(--line)}.ed-bar .grow{flex:1}.pane-switch{display:none}.code-pane{position:relative;display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line);background:var(--panel)}.splitter{position:absolute;top:0;bottom:0;right:-5px;width:10px;cursor:col-resize;z-index:3;touch-action:none}.splitter:after{content:"";position:absolute;left:4px;top:0;bottom:0;width:2px;background:transparent;transition:background .15s}.splitter:hover:after,.splitter.on:after{background:var(--accent)}.snips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line)}.snips .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-right:2px}.chip{border:0;background:var(--accent-soft);color:var(--accent);font-weight:700;border-radius:999px;padding:4px 12px;font-size:12.5px;cursor:pointer}.chip:hover{background:var(--accent);color:var(--accent-ink)}.code{flex:1;min-height:0;position:relative;display:flex;font-family:var(--f-code);font-size:13.5px;line-height:21px;font-variant-ligatures:none;font-feature-settings:"calt" 0,"liga" 0}.code *{font-variant-ligatures:none;font-feature-settings:"calt" 0,"liga" 0}.gutter{flex:none;width:44px;padding:12px 8px 12px 0;text-align:right;color:var(--muted);background:var(--sunk);overflow:hidden;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}.gutter div{height:21px}.gutter div.err{color:var(--warn);font-weight:700;background:var(--warn-soft)}.field{position:relative;flex:1;min-width:0}.field pre,.field textarea{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:12px 14px;font:inherit;line-height:inherit;white-space:pre;overflow:auto;-moz-tab-size:2;tab-size:2;border:0;letter-spacing:0}.field pre{pointer-events:none;color:var(--fg)}.field textarea{resize:none;background:transparent;color:transparent;caret-color:var(--fg);outline:none}.field textarea::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)}.t-kw{color:var(--hl-kw);font-weight:600}.t-ar{color:var(--hl-arrow);font-weight:600}.t-st{color:var(--hl-str)}.t-cm{color:var(--hl-com);font-style:italic}.t-nm{color:var(--hl-num)}.view-pane{position:relative;min-width:0;min-height:0;overflow:hidden;background-color:var(--canvas);background-image:radial-gradient(var(--grid) 1.2px,transparent 1.2px);background-size:18px 18px;cursor:default}.scroller{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;display:flex;padding:24px 24px 64px}.stage{margin:auto;flex:none}.stage svg{display:block}.zoom{position:absolute;right:12px;bottom:12px;display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:4px;align-items:center}.zoom button{border:0;background:transparent;width:30px;height:28px;border-radius:6px;cursor:pointer;font-size:15px}.zoom button:hover{background:var(--sunk)}.zoom span{font-size:12px;min-width:44px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}.errbox{position:absolute;left:12px;right:12px;top:12px;background:var(--warn-soft);color:var(--fg);border:1px solid var(--warn);border-radius:8px;padding:10px 12px;font-size:12.5px;max-height:40%;overflow:auto}.errbox b{color:var(--warn)}.errbox pre{margin:6px 0 0;font-family:var(--f-code);font-size:12px;white-space:pre-wrap}.status{grid-column:1/-1;display:flex;gap:16px;align-items:center;padding:5px 12px;border-top:1px solid var(--line);background:var(--panel);font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap}.status .dot{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block;margin-right:6px}.status .dot.bad{background:var(--warn)}.status .grow{flex:1}#stSave.bad{color:var(--warn);font-weight:600}.offline{position:fixed;left:16px;right:16px;top:12px;margin:auto;max-width:560px;background:var(--warn-soft);border:1px solid var(--warn);color:var(--fg);padding:10px 14px;border-radius:9px;z-index:30;font-size:13px}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);background:var(--fg);color:var(--bg);padding:8px 14px;border-radius:8px;font-size:13px;z-index:20;box-shadow:0 6px 20px #0003}.menu{position:relative}.menu .pop{position:absolute;right:0;max-width:calc(100vw - 32px);top:36px;background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:4px;min-width:200px;z-index:10;box-shadow:0 8px 24px #00000024;display:flex;flex-direction:column}.menu .pop button{border:0;background:transparent;text-align:left;padding:7px 10px;border-radius:6px;cursor:pointer}.menu .pop button:hover{background:var(--sunk)}.menu .pop small{color:var(--muted);display:block}@media(max-width:860px){.splitter,#sideBtn{display:none}.app,.app.collapsed{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;grid-template-areas:"top" "side" "main"}.side{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:8px 16px;gap:16px}.side section{flex:none}.side ul{flex-direction:row;gap:4px}.side h3{display:none}.side li button{white-space:nowrap}.app.collapsed .side .lbl{display:inline}.app.collapsed .side li button{padding:7px 10px}.app.collapsed .side section{flex-direction:row}.app.collapsed .side section+section{border-top:0;padding-top:0}.side .docs-sec{display:none}.gallery{padding-inline:16px}.editor{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.pane-switch{display:flex}.editor[data-pane=code] .view-pane,.editor[data-pane=view] .code-pane{display:none}.code-pane{border-right:0}.brand .full{display:none}.brand>span{display:none}.cp-head .tabs button#cpRef{font-size:13px}.top{gap:10px}.ed-bar input#docName{flex:1 1 100%;width:auto}.ed-bar .grow,.status .hint{display:none}}@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}.view-pane,.view-pane *,.card .pv,.card .pv *{-webkit-user-select:none;user-select:none}.stage svg,.stage svg *,.card .pv svg *{pointer-events:none}.stage svg{-webkit-user-drag:none}.view-pane .errbox,.view-pane .errbox *{-webkit-user-select:text;user-select:text}.stage svg{background:#fff;border-radius:6px;box-shadow:0 1px 4px #0b1f331f,0 0 0 1px #0b1f330f}.ad-slot{display:none}.ad-slot.on{display:block}.ad-top.on{margin:0 0 clamp(16px,2vw,28px);min-height:90px}.ad-side.on{margin-top:auto;padding-top:12px;min-height:250px}.side-nav{display:flex;flex-direction:column;gap:18px}.app.collapsed .ad-side{display:none}@media(max-width:860px){.ad-side{display:none!important}.side-nav{flex-direction:row;gap:16px}}.site-foot{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:16px;margin-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px}.site-foot a{color:var(--accent);font-weight:700;text-decoration:none}.site-foot a:hover{text-decoration:underline}.top-nav{display:flex;gap:4px;align-items:center}.top-nav a{color:var(--accent);font-weight:700;text-decoration:none;padding:8px 12px;border-radius:8px;white-space:nowrap}.top-nav a:hover{background:var(--accent-soft)}@media(max-width:560px){.top-nav a{padding:8px 6px;font-size:14px}.top-nav a:nth-child(3){display:none}}
