:root{--bg:#edf8f4;--surface:#fff;--soft:#f5f9f8;--text:#20332f;--muted:#65766f;--accent:#009d80;--line:#dcebe5;--selected:#d9f4e9;--code:#192d28;--code-text:#e7f4ed;--gray:#e6e8eb;--gray-text:#59616b;--shadow:0 5px 24px #183f3212;color-scheme:light;font-family:Inter,"Noto Sans",Arial,"Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg);font-size:16px;line-height:1.8}
:root[data-theme=dark]{--bg:#142520;--surface:#1b3029;--soft:#223b32;--text:#e0ece6;--muted:#acbfb4;--accent:#64d6b1;--line:#365045;--selected:#214d3e;--code:#102019;--code-text:#e4f1e8;--gray:#424b49;--gray-text:#e0e5e2;--shadow:0 5px 24px #0003;color-scheme:dark}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}button,input,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{color:var(--text)}[hidden]{display:none!important}img{max-width:100%}h1,h2,h3{line-height:1.4}h1{font-size:34px;margin:0 0 12px}h2{font-size:24px;margin:30px 0 14px}h3{font-size:19px;margin:24px 0 10px}p{margin:12px 0 18px}h1,h2,h3,[id]{scroll-margin-top:90px}.topbar{height:68px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:22px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--text);text-decoration:none;white-space:nowrap}.brand img{width:36px;height:36px}.brand strong{font-size:23px;letter-spacing:-.04em}.brand>span{color:var(--accent);font-size:16px;font-weight:600}.top-links{display:flex;justify-content:center;gap:28px;flex:1}.top-links a{color:var(--text);text-decoration:none;font-size:14px;font-weight:650}.top-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.top-actions button,.lang-switch,.menu-toggle{border:1px solid var(--line);background:var(--surface);border-radius:9px;min-height:40px;padding:5px 12px;text-decoration:none;font-size:14px}.search-trigger{display:flex;gap:12px;align-items:center;color:var(--muted)!important}.search-trigger>span:first-child{font-size:24px;line-height:1}.search-trigger kbd{font:11px monospace;border:1px solid var(--line);border-radius:4px;padding:0 4px}.theme-toggle{font-size:23px!important;padding:0 12px!important}.menu-toggle{width:42px;display:grid;place-items:center;padding:10px}.hamburger{display:flex;flex-direction:column;justify-content:space-between;width:17px;height:13px}.hamburger i{height:1.6px;width:100%;background:currentColor;border-radius:2px;display:block}
.layout{display:grid;grid-template-columns:248px minmax(0,1fr);padding-top:68px;min-height:100vh;width:100%}.sidebar{position:sticky;top:68px;align-self:start;height:calc(100dvh - 68px);overflow:auto;padding:20px 14px 40px;background:var(--bg);border-right:1px solid var(--line);scrollbar-width:thin;font-size:14px}.nav-area{margin-bottom:14px}.nav-area>summary{padding:11px 10px;font-size:16px;font-weight:650;list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer}.nav-area>summary>a{flex:1;color:var(--text);text-decoration:none}.nav-area[open]>summary>a,.nav-area>summary>a[aria-current]{color:var(--accent)}summary::-webkit-details-marker{display:none}.chevron{display:inline-block;transition:transform .15s;font-size:20px;line-height:1}.nav-area[open]>summary>.chevron,.nav-group[open]>summary>.chevron{transform:rotate(90deg)}.nav-groups{border-left:1px solid var(--line);margin-left:12px;padding-left:9px}.nav-group>summary{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:7px 8px;list-style:none;cursor:pointer}.nav-group a{display:block;padding:7px 10px 7px 17px;text-decoration:none;color:var(--muted);line-height:1.6;border-radius:8px;margin:2px 0}.nav-group a:hover{background:var(--soft);color:var(--accent)}.nav-group a.active{color:var(--accent);background:var(--selected);font-weight:700}.nav-group>div{padding-left:6px}main{min-width:0;background:var(--surface);padding:22px 32px 0}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted);margin-bottom:14px}.breadcrumbs a{text-decoration:none}.markdown{width:100%;min-width:0}.markdown p,.markdown li{overflow-wrap:anywhere}.markdown li{margin:5px 0}.markdown :not(pre)>code,.dependencies code{font:14px/1.5 ui-monospace,"Cascadia Code","SFMono-Regular",Consolas,monospace;padding:2px 4px;background:var(--soft);border:1px solid var(--line);border-radius:4px;color:var(--accent);overflow-wrap:anywhere}.markdown>h2{border-bottom:1px solid var(--line);padding-bottom:10px}.heading-anchor{text-decoration:none;font-size:16px;margin-left:10px;opacity:0}h2:hover .heading-anchor,h3:hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.markdown table{border-collapse:collapse;width:100%;margin:18px 0;font-size:15px;display:block;overflow:auto}.markdown table th,.markdown table td{padding:10px 14px;border:1px solid var(--line);vertical-align:top;min-width:130px}.markdown table th{background:var(--soft);text-align:left}.markdown table:has(tr>th:nth-child(3)){display:table;table-layout:fixed}.markdown blockquote{border-left:3px solid var(--accent);padding:2px 20px;margin:20px 0;background:var(--soft)}.markdown hr{border:0;border-top:1px solid var(--line);margin:30px 0}.markdown figure{margin:0 0 24px;width:100%}.preview-image{display:block;width:100%;height:auto;object-fit:contain;background:white;border:1px solid var(--line);border-radius:9px;cursor:zoom-in}.markdown>p>.preview-image{margin:20px 0}.example-module>h2{margin:22px 0 12px}.source-tabs{display:flex;gap:4px;overflow:auto;align-items:center;padding:6px;border:1px solid var(--line);border-radius:9px 9px 0 0;background:var(--soft)}.source-tabs button{border:0;background:transparent;padding:7px 18px;border-radius:7px;white-space:nowrap;font-size:14px;font-weight:650}.source-tabs button[aria-selected=true]{background:var(--accent);color:var(--surface)}.code-block{margin:16px 0;background:var(--code);color:var(--code-text);border-radius:9px;overflow:hidden}.example-module .code-block{margin-top:0}.source-tabs+div .code-block{border-radius:0 0 9px 9px}.code-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff09;color:#b9d3c6;padding:7px 13px;font:12px/1.5 ui-monospace,monospace;overflow:hidden}.code-topbar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-topbar>div{display:flex;flex:none;gap:8px}.code-topbar button{background:transparent;color:inherit;border:0;border-radius:4px;padding:4px 7px;font-size:12px}.code-topbar button:hover{background:#ffffff18}.code-topbar button[aria-pressed=false]{opacity:.6}.code-block pre{margin:0;padding:14px 0;overflow:auto;max-height:600px;tab-size:4}.code-block code{font:14px/1.8 ui-monospace,"Cascadia Code","SFMono-Regular",Consolas,monospace}.code-line{display:flex;min-height:1.8em}.line-number{width:45px;flex:none;text-align:right;padding-right:14px;color:#8baba0;user-select:none}.line-text{white-space:pre;display:block;min-width:0;padding-right:18px}.wrap .line-text{white-space:pre-wrap;overflow-wrap:anywhere}.tok-string{color:#b2e79d}.tok-number{color:#b5def1}.tok-keyword{color:#81d6ee}.tok-comment{color:#8fac9f}.source-note{font-size:14px;color:var(--muted)}.dependencies{border:1px solid var(--line);background:var(--soft);border-radius:8px;margin:14px 0 22px}.dependencies>summary{cursor:pointer;padding:10px 16px;font-size:14px;font-weight:600}.dependencies>summary>span{font-weight:400;color:var(--muted);margin-left:10px}.dependencies>p,.dependencies>ul{margin:10px 18px}.dependencies li{font-size:14px}.dependencies a{overflow-wrap:anywhere}
:root[data-nav=closed] .layout{grid-template-columns:minmax(0,1fr)}:root[data-nav=closed] .sidebar{display:none}.floating-toc{position:fixed;z-index:40;right:24px;top:94px;width:224px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.toc-toggle{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:var(--gray);color:var(--gray-text);z-index:1}.toc-toggle:before{content:"";position:absolute;inset:-4px}.toc-toggle .hamburger{width:15px;height:12px}.floating-toc h2{font-size:17px;margin:14px 48px 12px 18px}.floating-toc nav{max-height:min(62vh,520px);overflow:auto;padding:0 14px 14px;scrollbar-width:thin}.floating-toc a{display:block;padding:7px 10px;color:var(--muted);text-decoration:none;font-size:14px;line-height:1.6;border-left:2px solid var(--line);border-radius:0 5px 5px 0}.floating-toc .toc-3{padding-left:21px;font-size:13px}.floating-toc a[aria-current=true]{color:var(--accent);border-left:3px solid var(--accent);background:var(--soft);font-weight:650}:root[data-toc=closed] .floating-toc{width:36px;height:36px;border:0;background:transparent;box-shadow:none}:root[data-toc=closed] .toc-toggle{top:0;right:0}:root[data-toc=closed] #page-toc{display:none}
.entry-links{display:flex;flex-wrap:wrap;gap:16px 32px;margin:20px 0 30px}.entry-links a{text-decoration:none;font-weight:650}.directory{border-top:1px solid var(--line);margin:24px 0}.directory-row{display:grid;grid-template-columns:minmax(180px,22%) 1fr;gap:24px;padding:23px 0;border-bottom:1px solid var(--line)}.directory-row h2{font-size:22px;margin:0}.directory-row h2 a{text-decoration:none}.directory-row>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;align-content:start}.directory-row>div a{font-size:15px;color:var(--muted);text-decoration:none}.directory-row>div a span{color:var(--accent);margin-left:8px}.directory-row p{margin:0;color:var(--muted)}.example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 28px}.example-card{display:block;border:1px solid var(--line);border-radius:9px;text-decoration:none;overflow:hidden;color:var(--text);min-width:0}.example-card .preview-image{height:220px;object-fit:contain;border:0;border-radius:0;cursor:pointer}.example-card strong{display:block;padding:10px 14px;font-size:16px}.example-card p{font-size:13px;color:var(--muted);padding:0 14px 12px;margin:0}.example-card:hover{border-color:var(--accent);box-shadow:var(--shadow)}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.gallery-filters button{border:1px solid var(--line);background:var(--surface);border-radius:7px;font-size:14px;padding:7px 15px}.gallery-filters button[aria-pressed=true]{background:var(--selected);color:var(--accent);border-color:var(--accent)}.home-intro{display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;padding:28px 0 38px}.home-intro h1{font-size:clamp(32px,3.1vw,48px)}.home-intro .preview-image{height:380px;object-fit:contain}.home-directory{margin-top:0}.legacy-anchor:empty{margin:0}.legacy-anchor{font-size:14px}footer{display:flex;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:13px;margin-top:36px}footer a{text-decoration:none}
.search-dialog{width:min(720px,calc(100vw - 32px));border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);padding:0;box-shadow:0 20px 80px #0004;margin-top:100px}.search-dialog::backdrop,.image-dialog::backdrop{background:#10241ec0}.search-dialog form{display:flex;padding:15px;gap:10px;border-bottom:1px solid var(--line)}.search-dialog input{flex:1;min-width:0;background:transparent;color:var(--text);border:0;padding:8px}.search-dialog button{background:var(--soft);border:1px solid var(--line);border-radius:6px;font-size:13px}.search-results{max-height:65vh;overflow:auto;padding:10px}.search-result{display:flex;flex-direction:column;padding:12px;text-decoration:none;border-radius:8px}.search-result:hover{background:var(--soft)}.search-result span:last-child{font-size:12px;color:var(--muted)}.search-hint{padding:14px}.image-dialog{position:fixed;inset:0;width:96vw;height:94vh;max-width:none;max-height:none;border:1px solid var(--line);border-radius:12px;padding:0;background:var(--surface);color:var(--text);overflow:hidden}.image-toolbar{display:flex;justify-content:center;gap:14px;height:52px;align-items:center}.image-toolbar button{background:var(--soft);border:1px solid var(--line);border-radius:6px;min-width:36px;height:34px}.image-close{position:absolute;right:14px}.image-stage{height:calc(100% - 92px);overflow:auto;display:grid;place-items:start center;padding:20px;cursor:grab}.image-stage img{max-width:none;background:white;display:block;flex:none}.image-dialog p{height:40px;margin:0;padding:7px 20px;font-size:13px;text-align:center}.mobile-scrim{display:none}
@media(min-width:1920px){.example-card .preview-image{height:280px}}
@media(max-width:1279px){.layout,:root[data-nav=closed] .layout{grid-template-columns:minmax(0,1fr)}.sidebar,:root[data-nav=closed] .sidebar{display:none;position:fixed;top:68px;left:0;bottom:0;z-index:60;width:280px;height:auto;box-shadow:8px 0 24px #0002}body.menu-open .sidebar{display:block}.mobile-scrim:not([hidden]){display:block;position:fixed;inset:68px 0 0;background:#0005;z-index:55}.top-links{gap:16px}.topbar{gap:14px}.directory-row>div{grid-template-columns:repeat(2,minmax(0,1fr))}.example-card .preview-image{height:200px}}
@media(max-width:1023px){.top-links{display:none}.floating-toc{top:86px;right:16px;width:224px}.floating-toc nav{max-height:65vh}.home-intro{gap:24px}.home-intro .preview-image{height:300px}.markdown table:has(tr>th:nth-child(3)){display:block;table-layout:auto}}
@media(max-width:640px){.topbar{gap:10px;padding:0 12px;height:60px}.brand{gap:8px}.brand img{width:30px;height:30px}.brand strong{font-size:19px}.brand>span,.search-word,.search-trigger kbd{display:none}.top-actions{gap:6px}.top-actions button,.lang-switch,.menu-toggle{padding:4px 8px;min-height:36px}.menu-toggle{width:36px}.topbar .theme-toggle{padding:0 8px!important}.layout{padding-top:60px}main{padding:18px 18px 0}.sidebar,:root[data-nav=closed] .sidebar{top:60px}.mobile-scrim:not([hidden]){top:60px}.breadcrumbs{font-size:12px;gap:6px}h1{font-size:28px}h2{font-size:22px}.directory-row{grid-template-columns:1fr;gap:14px;padding:20px 0}.directory-row>div{gap:12px 18px}.example-grid{grid-template-columns:1fr}.example-card .preview-image{height:auto;max-height:290px}.home-intro{grid-template-columns:1fr;padding:16px 0 24px}.home-intro .preview-image{height:260px}.entry-links{gap:12px 20px}.source-tabs button{padding:7px 12px}.source-tabs{gap:0}.code-block code{font-size:14px}.line-number{width:34px;padding-right:9px}.code-topbar{font-size:11px;padding:7px 9px}.code-topbar>div{gap:0}.floating-toc{top:78px;right:14px}.source-note{font-size:13px}.image-dialog{width:100vw;height:100dvh;border-radius:0}.image-stage{padding:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Keep figure proportions while giving the preview frame the full article width. */
.example-module figure .preview-image{max-height:480px;object-fit:contain}
.legacy-redirect{display:block;height:0;overflow:hidden}
.nav-icon{width:22px;height:22px;flex:none}.nav-area>summary>a{display:flex;gap:14px;align-items:center}.nav-area>summary{padding:9px 10px}.nav-area{margin-bottom:12px}.example-module>h2{margin-top:18px}.example-module figure .preview-image{max-height:320px}.example-module .code-topbar{padding-top:4px;padding-bottom:4px}.markdown>p:first-of-type{margin-bottom:14px}
@media(max-width:640px){.example-module figure .preview-image{max-height:none}}
.image-stage{display:block}.image-stage img{margin:0 auto}
.featured-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.featured-heading>a{text-decoration:none;font-size:14px;white-space:nowrap}.reading-links{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:20px;margin-top:36px}.reading-links a{display:flex;flex-direction:column;max-width:48%;text-decoration:none}.reading-links small{color:var(--muted);font-size:12px}.reading-links a:last-child{text-align:right}

/* Live examples retain the same full-width content geometry. */
/* Unified example workspace. It occupies the article width; the TOC remains an overlay. */
.example-module{margin:22px 0 28px;min-width:0}
.example-workspace{container:workspace / inline-size;border:1px solid var(--line);border-radius:10px;background:var(--soft);min-width:0}
.workspace-toolbar{display:flex;align-items:center;gap:8px;min-height:50px;padding:5px 12px;border-bottom:1px solid var(--line);border-radius:10px 10px 0 0;background:var(--soft)}
.workspace-toolbar button,.workspace-toolbar summary,.workspace-status button,.workspace-status summary{font-size:14px;line-height:1.5}
.example-workspace button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:5px;padding:6px 9px;background:transparent;font-size:14px;line-height:1.5;white-space:nowrap}
.example-workspace button:hover,.example-workspace summary:hover{background:#7ea79520}
.example-workspace button:disabled{opacity:.4;cursor:default}
.example-workspace svg{flex:none;width:17px;height:17px}
.example-workspace .source-tabs{border:0;padding:0;background:none;gap:4px;overflow:visible;border-radius:0;flex:none}
.example-workspace .source-tabs button{font-weight:650;padding:8px 18px}
.example-workspace .source-tabs button[aria-pressed=true]{background:var(--accent);color:var(--surface)}
.example-workspace .summary-edit{font-size:13px;color:var(--muted);margin-left:auto}
.live-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}
.live-run{font-weight:650}.live-font-file{display:none}.example-workspace .icon-button{width:34px;height:34px;flex:none;padding:7px}
.font-menu,.timing-details{position:relative}
.font-menu>summary,.timing-details>summary{display:flex;align-items:center;gap:4px;cursor:pointer;list-style:none;padding:6px 9px;border-radius:5px;white-space:nowrap}
.font-popover,.timing-popover{position:absolute;z-index:12;right:0;top:calc(100% + 8px);width:280px;max-width:calc(100vw - 48px);padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:0 6px 24px #001c1926;font-size:13px;line-height:1.7;color:var(--text)}
.font-popover button,.live-font-label{display:flex!important;align-items:center;min-height:40px;width:100%;padding:8px 10px!important;text-align:left;justify-content:flex-start!important;font-size:14px;cursor:pointer;border-radius:5px}
.live-font-label:hover{background:var(--soft)}.font-note{margin:8px 10px!important;font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.workspace-body{display:grid;grid-template-columns:minmax(320px,var(--code-width,calc(50% - 4px))) 8px minmax(320px,1fr);height:clamp(360px,60vh,640px);min-width:0}
.workspace-source{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--code);color:var(--code-text)}
.source-files{display:flex;align-items:center;gap:0;flex:none;overflow:auto;scrollbar-width:thin;border-bottom:1px solid #ffffff14;padding:0 6px;background:#ffffff06}
.source-files button{border-radius:0!important;flex:none;color:#a9c4b8;font:12px/1.5 ui-monospace,monospace!important;padding:7px 12px!important;border-bottom:2px solid transparent!important}
.source-files button[aria-selected=true]{color:#e7f4ed;border-bottom-color:#42c7a6!important;background:#ffffff0a}
.summary-panel,.source-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
.example-workspace .code-block{border-radius:0;margin:0;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;overflow:hidden}
.example-workspace .code-topbar{height:40px;min-height:40px;padding:4px 12px;gap:8px;flex:none;font-size:12px}
.example-workspace .code-topbar button{color:inherit;font-size:12px;line-height:1.5;padding:4px 7px}
.example-workspace .code-block pre{flex:1;min-height:0;max-height:none;scrollbar-width:thin;padding:10px 0}
.example-workspace .code-block code{font-size:14px;line-height:1.8}
.summary-panel pre{cursor:text}.summary-panel pre:hover .code-line:hover{background:#ffffff08}
.summary-panel pre:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.live-editor{flex:1;min-height:0;min-width:0}.cm-editor{height:100%;border-radius:0;overflow:hidden}.cm-editor.cm-focused{outline:2px solid var(--accent);outline-offset:-2px}.cm-scroller{scrollbar-width:thin}
.workspace-splitter{background:color-mix(in srgb,var(--code),white 10%);cursor:col-resize;position:relative;touch-action:none;z-index:2;outline-offset:-2px}
.workspace-splitter span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:32px;border-radius:5px;background:#41534c;border:1px solid #61716a;box-shadow:0 1px 4px #0003}
.workspace-splitter span:after{content:"";position:absolute;inset:8px 5px;border-left:2px solid #d5dfdb;border-right:2px solid #d5dfdb}
.workspace-preview{position:relative;min-height:0;min-width:0;display:flex;flex-direction:column;background:#141817;color:#e4eae7}
.preview-toolbar{height:40px;flex:none;display:flex;align-items:center;gap:12px;padding:3px 12px;background:#252d29;color:#d6e2dc}
.example-workspace .preview-toolbar h2{font-size:14px;line-height:1.5;margin:0;font-weight:550}
.preview-backgrounds{margin-left:auto;display:flex;gap:6px;align-items:center;font-size:12px}.preview-backgrounds>span{margin-right:5px}
.example-workspace [data-preview-background]{height:20px;width:20px;padding:0;border:1px solid #74817a;border-radius:3px;background:#141817}
.example-workspace [data-preview-background=light]{background:white}
.example-workspace [data-preview-background=checker]{background-color:#f5f5f5;background-image:conic-gradient(#a9adab 25%,transparent 0 50%,#a9adab 0 75%,transparent 0);background-size:8px 8px}
.example-workspace [data-preview-background][aria-pressed=true]{outline:2px solid #68cdb1;outline-offset:2px}
.preview-toolbar button{color:inherit}
.preview-viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:#141817;outline-offset:-3px;isolation:isolate}
.preview-viewport[data-background=light]{background:white}
.preview-viewport[data-background=checker]{background-color:#f5f5f5;background-image:conic-gradient(#c8ccca 25%,transparent 0 50%,#c8ccca 0 75%,transparent 0);background-size:20px 20px}
.preview-canvas{position:absolute;left:50%;top:50%;width:calc(100% - 48px);height:calc(100% - 48px);transform:translate(-50%,-50%);user-select:none;pointer-events:none}
.example-workspace .preview-canvas figure{margin:0;width:100%;height:100%}
.example-workspace .preview-canvas .original-preview{height:100%}
.example-workspace .preview-canvas img{display:block;width:100%;height:100%;max-height:none;max-width:none;object-fit:contain;background:transparent;border:0;border-radius:0;cursor:default}
.preview-state{position:absolute;top:12px;left:12px;padding:3px 8px;border:1px solid #897d4a;border-radius:5px;background:#302c1cee;color:#ffefbf;font-size:12px;pointer-events:none}
.preview-zoom{position:relative;align-self:flex-end;flex:none;margin:5px 12px 9px;z-index:1;display:flex;align-items:center;gap:4px;border-radius:7px;padding:3px;background:#222a27eb;color:#e4eae7;box-shadow:0 2px 8px #0003}
.preview-zoom button{color:inherit;min-width:34px}.preview-zoom .preview-fit{font-size:13px;padding:5px 9px}
.example-workspace .workspace-status{margin:0;padding:6px 14px;min-height:38px;display:flex;align-items:center;gap:16px;flex-wrap:nowrap;border:0;border-top:1px solid var(--line);border-radius:0 0 10px 10px;background:var(--soft);font-size:12px;color:var(--muted);line-height:1.5}
.live-status{display:flex;gap:8px;align-items:center;color:var(--text);min-width:0}.live-status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none}
.example-module[data-preview-state=error] .live-status:before{background:#d18546}
.example-module[data-preview-state=pending] .live-status:before{background:#9ba69f}
.timing-control{display:flex;align-items:center;gap:6px;margin-left:auto;white-space:nowrap}.workspace-status .timing-details>summary{font-size:12px;padding:3px 5px}
.timing-popover{top:auto;bottom:calc(100% + 12px);width:300px}.timing-popover p{font-size:12px;margin:6px}.live-metrics{white-space:pre-line;color:var(--text)}
.live-modified{font-size:12px;white-space:nowrap}.example-module[data-modified=true] .live-modified{color:var(--accent)}
.example-workspace .diagnostics-toggle{font-size:12px;color:#a26324;padding:3px 6px;text-decoration:underline}
.live-diagnostics{margin:0;padding:12px 16px;border-top:1px solid var(--line);border-left:3px solid #ba8130;border-radius:0 0 10px 10px;background:var(--surface);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;font:13px/1.7 ui-monospace,monospace}
.example-module>.dependencies{margin:10px 0 20px}.example-module>.dependencies>summary{padding:7px 14px;font-size:13px}
.workspace-dialog{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:16px;border:0;background:var(--surface);color:var(--text);overflow:auto}
.workspace-dialog::backdrop{background:#102019b3}.workspace-dialog .example-workspace{width:100%;min-height:calc(100dvh - 32px)}
.workspace-dialog .workspace-body{height:calc(100dvh - 132px)}
.font-dialog{max-width:min(520px,90vw);border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--surface);color:var(--text)}
.font-dialog select{display:block;width:100%;margin:20px 0}.font-dialog button,.font-dialog select{font:inherit;border:1px solid var(--line);border-radius:6px;background:var(--soft);color:var(--text);padding:7px 12px}.font-dialog button{margin-right:12px}
@container workspace (max-width:899px){
 .workspace-body,.workspace-dialog .workspace-body{display:flex;flex-direction:column;height:auto}
 .workspace-splitter{display:none}.workspace-source{height:360px;flex:none}
 .workspace-preview{flex:none}.preview-viewport{flex:none;height:auto;min-height:220px;aspect-ratio:var(--figure-ratio,1.5);max-height:600px}
 .preview-canvas{max-width:none}.workspace-status{gap:8px!important;flex-wrap:wrap!important}
 .workspace-status .live-modified{margin-left:auto}.timing-control{margin-left:auto}
}
@container workspace (max-width:599px){
 .workspace-toolbar{flex-wrap:wrap;padding:6px 8px;gap:4px;min-height:88px}
 .example-workspace .source-tabs button{padding:7px 12px}
 .workspace-expand{margin-left:auto}.live-toolbar{order:3;width:100%;margin-left:0;gap:8px}
 .example-workspace .summary-edit{order:3;flex-basis:100%;justify-content:flex-start;font-size:12px;margin:0}
 .preview-toolbar{padding:3px 9px;gap:8px}.preview-backgrounds>span{display:none}
 .example-workspace .workspace-status{padding:8px 10px;font-size:12px}
 .live-status{max-width:100%}.live-modified{flex-basis:100%;font-size:11px}
 .timing-popover{position:fixed;bottom:20px;right:20px;z-index:65}
}
