:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f6f3;--bg-raised:#fff;--bg-subtle:#f1f0ec;--bg-sunken:#ebe9e4;--bg-inverse:#1b1c1f;--text:#1b1c1f;--text-2:#55565c;--text-3:#686970;--text-inverse:#f7f6f3;--line:#e3e1db;--line-2:#d3d1ca;--line-3:#bebcb4;--accent:#0a7697;--accent-strong:#075a74;--accent-soft:#e0f0f5;--accent-line:#a3d0df;--accent-ink:#fff;--motion:var(--accent);--place:var(--series-b);--part:var(--motion);--signal:#e0570c;--signal-soft:#e0570c1c;--signal-ink:#1d0e05;--good:#22744a;--bad:#b3261e;--series-a:#8f5a14;--series-a2:#cf9d55;--series-b:#6159ad;--series-b2:#9b6aa8;--series-c:var(--accent);--series-c2:#4ea7c3;--series-ink:#4b4d53;--grip:#858a93;--grip-hot:#4a4b50;--win-frame:#eef0f3;--win-bar:#f9fafb;--win-well:#e4e7eb;--win-edge:#dcdad5;--win-text:#1d1d1f;--win-muted:#5f5f64;--win-r:10px;--win-paper:#fff;--win-paper-line:#d3d3d4;--win-light-1:#16b8d8;--win-light-2:#f2c94c;--win-light-3:#e8467c;--d-floor:#e9e7e1;--d-ink:#2a2c31;--d-ink-text:#f4f3ef;--d-panel:#f3f4f3;--d-panel-head:#e3e6e5;--d-panel-line:#cfd3d2;--d-rail:#dfe2e1;--d-doc:#fff;--d-doc-line:#d9d6ce;--d-doc-rule:#e9e6df;--d-float:#fff;--d-float-head:#d6ebf2;--d-float-line:#9ccbdb;--r:8px;--r-sm:6px;--r-xs:4px;--shadow-1:0 1px 1px #1c1a140a, 0 1px 3px #1c1a140a;--shadow-2:0 1px 2px #1c1a140a, 0 4px 10px -4px #1c1a1412, 0 18px 40px -24px #1c1a1429;--shadow-pop:0 1px 2px #1c1a140f, 0 6px 14px -6px #1c1a1429, 0 20px 36px -16px #1c1a1438;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--font-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Text", "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Menlo, Consolas, monospace;--t-2xs:11px;--t-xs:12px;--t-sm:13px;--t-base:15px;--t-md:17px;--t-lg:20px;--t-xl:28px;--t-2xl:40px;--max:1200px;--gutter:24px;--topbar:56px;--ease:cubic-bezier(.2, .8, .2, 1);--fast:.12s}@media (width<=640px){:root{--gutter:16px}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111214;--bg-raised:#17181b;--bg-subtle:#1c1d21;--bg-sunken:#0c0d0f;--bg-inverse:#ececee;--text:#ececee;--text-2:#a5a6ad;--text-3:#8a8b93;--text-inverse:#111214;--line:#25262b;--line-2:#303137;--line-3:#43444b;--accent:#5cc4e0;--accent-strong:#8fd8ec;--accent-soft:#5cc4e024;--accent-line:#5cc4e073;--accent-ink:#06222c;--signal:#ff8a4c;--signal-soft:#ff8a4c26;--signal-ink:#1d0e05;--good:#67c48f;--bad:#ff8a80;--series-a:#e0a356;--series-a2:#f0c88e;--series-b:#9a93ea;--series-b2:#d39be0;--series-c2:#9edff0;--series-ink:#c2c4ca;--grip:#7d838e;--grip-hot:#c9cbd1;--win-frame:#24262b;--win-bar:#2b2e34;--win-well:#1d1f23;--win-edge:#34343a;--win-text:#ececee;--win-muted:#9a9aa2;--win-paper:#3a3d44;--win-paper-line:#575960;--d-floor:#141518;--d-ink:#d8dade;--d-ink-text:#15161a;--d-panel:#202227;--d-panel-head:#292c32;--d-panel-line:#383b42;--d-rail:#1b1d21;--d-doc:#33363c;--d-doc-line:#45484f;--d-doc-rule:#4d5057;--d-float:#262a30;--d-float-head:#1b3a46;--d-float-line:#2e6276;--shadow-1:0 1px 1px #0000004d, 0 1px 3px #00000040;--shadow-2:0 1px 2px #00000059, 0 4px 10px -4px #0006, 0 18px 40px -24px #0009;--shadow-pop:0 1px 2px #0006, 0 6px 14px -6px #00000080, 0 20px 36px -16px #000000a6}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111214;--bg-raised:#17181b;--bg-subtle:#1c1d21;--bg-sunken:#0c0d0f;--bg-inverse:#ececee;--text:#ececee;--text-2:#a5a6ad;--text-3:#8a8b93;--text-inverse:#111214;--line:#25262b;--line-2:#303137;--line-3:#43444b;--accent:#5cc4e0;--accent-strong:#8fd8ec;--accent-soft:#5cc4e024;--accent-line:#5cc4e073;--accent-ink:#06222c;--signal:#ff8a4c;--signal-soft:#ff8a4c26;--signal-ink:#1d0e05;--good:#67c48f;--bad:#ff8a80;--series-a:#e0a356;--series-a2:#f0c88e;--series-b:#9a93ea;--series-b2:#d39be0;--series-c2:#9edff0;--series-ink:#c2c4ca;--grip:#7d838e;--grip-hot:#c9cbd1;--win-frame:#24262b;--win-bar:#2b2e34;--win-well:#1d1f23;--win-edge:#34343a;--win-text:#ececee;--win-muted:#9a9aa2;--win-paper:#3a3d44;--win-paper-line:#575960;--d-floor:#141518;--d-ink:#d8dade;--d-ink-text:#15161a;--d-panel:#202227;--d-panel-head:#292c32;--d-panel-line:#383b42;--d-rail:#1b1d21;--d-doc:#33363c;--d-doc-line:#45484f;--d-doc-rule:#4d5057;--d-float:#262a30;--d-float-head:#1b3a46;--d-float-line:#2e6276;--shadow-1:0 1px 1px #0000004d, 0 1px 3px #00000040;--shadow-2:0 1px 2px #00000059, 0 4px 10px -4px #0006, 0 18px 40px -24px #0009;--shadow-pop:0 1px 2px #0006, 0 6px 14px -6px #00000080, 0 20px 36px -16px #000000a6}:root{--ink:var(--text);--muted:var(--text-2);--win:var(--bg-raised);--lab-win-edge:var(--accent);--title:var(--accent-soft);--ok:var(--good);--drop:var(--signal);--lift-shadow:var(--shadow-pop)}*{box-sizing:border-box}.controls{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}fieldset{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:6px 10px;display:flex}.stage{border:1px solid var(--line);touch-action:none;border-radius:8px;width:720px;max-width:100%;height:420px;position:relative;overflow:hidden}.win{transform-origin:0 0;will-change:transform;position:absolute}.win .frame{background:linear-gradient(var(--title) 26px, var(--win) 26px);border:1.5px solid var(--lab-win-edge);border-radius:6px;position:absolute;top:0;left:0}.win .content{padding:0 0 8px;position:absolute;inset:0;overflow:hidden}.win .title{cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;height:26px;padding:4px 8px;font-size:12px;font-weight:600}.win .body{color:var(--muted);white-space:nowrap;padding:6px 8px;font-size:12px}.win.lifted{z-index:5}.win.focused .frame{border-width:2.5px;border-color:var(--ok)}.win.lifted .title{cursor:grabbing}.win.lifted .frame{box-shadow:var(--lift-shadow)}.hint{border:2px solid var(--drop);background:color-mix(in srgb, var(--drop) 16%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--drop) 22%, transparent), inset 0 0 24px color-mix(in srgb, var(--drop) 28%, transparent);pointer-events:none;z-index:4;border-radius:8px;position:absolute}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:4px 6px}td.ok{color:var(--ok)}td.bad{color:var(--bad)}canvas{border:1px solid var(--line);border-radius:6px;width:720px;max-width:100%;height:160px}.readout{color:var(--muted);margin:0 0 8px;font-size:13px}.idea{max-width:960px;margin:0 0 6px;font-size:13px}.controls input[type=range]{width:150px}.controls output{font-variant-numeric:tabular-nums;min-width:2.6em;color:var(--muted)}.controls fieldset[hidden]{display:none}.stage.desk,.deskwin{--d-desk:var(--win-well);--d-panel:var(--win-bar);--d-sunken:var(--win-frame);--d-edge:var(--win-edge);--d-edge-lifted:var(--line-3);--d-hair:var(--line);--d-ink:var(--win-text);--d-ink-2:var(--text-2);--d-muted:var(--win-muted);--d-hover:color-mix(in srgb, var(--accent) 12%, transparent);--d-press:color-mix(in srgb, var(--accent) 20%, transparent);--d-accent:var(--accent);--d-accent-soft:var(--accent-soft);--d-shadow:var(--shadow-2);--d-lift:var(--shadow-pop);--d-grip:var(--grip);--d-grip-hover:var(--grip-hot);--d-grip-hi:color-mix(in srgb, var(--win-bar) 95%, transparent);--d-well:var(--win-frame);--d-radius:8px;--d-gap:8px;--d-title:22px}.stage.desk{background:var(--d-desk);width:962px;max-width:none;height:562px;color:var(--d-ink);border-color:var(--d-edge)}.stage.desk .hint{z-index:8}.stage.desk .hint,.stage.desk .hint-label{opacity:0;transition:opacity var(--hint-fade) ease-out, left var(--hint-glide) cubic-bezier(.2, .8, .2, 1), top var(--hint-glide) cubic-bezier(.2, .8, .2, 1), width var(--hint-glide) cubic-bezier(.2, .8, .2, 1), height var(--hint-glide) cubic-bezier(.2, .8, .2, 1)}.stage.desk .win.doc.draggable .title{cursor:grab}.stage.desk .hint.on,.stage.desk .hint-label.on{opacity:1}.hint-label{z-index:9;pointer-events:none;background:var(--drop);color:#1d1d1b;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;position:absolute;overflow:hidden}.stage.desk .win.hidden{pointer-events:none}.stage.desk .win .frame{background:var(--d-panel);border:1px solid var(--d-edge);border-radius:var(--d-radius)}.stage.desk .win .content{padding:0}.stage.desk .win .title{height:var(--d-title);padding:0 4px 0 var(--d-gap);border-bottom:1px solid var(--d-hair);color:var(--d-ink);text-overflow:ellipsis;font:600 12px/21px system-ui,sans-serif;overflow:hidden}.stage.desk .win .body{padding:6px var(--d-gap);color:var(--d-ink-2);font-size:12px;line-height:18px}.stage.desk .win.shadow .frame{border-color:var(--d-edge-lifted);box-shadow:var(--d-shadow)}.stage.desk .win.lifted .frame{border-color:var(--d-edge-lifted);box-shadow:var(--d-lift)}.stage.desk .win.accent .frame{border:1px solid var(--d-edge)}.stage.desk .win.accent.shadow .frame{border-color:var(--d-edge-lifted)}.stage.desk .win.toolbar .tb{height:100%;padding:0 var(--d-gap);flex-wrap:nowrap;justify-content:center;align-items:center;gap:2px;display:flex;overflow:hidden}.stage.desk .win.toolbar[data-look=bar] .tb{justify-content:flex-start}.stage.desk .win.toolbar[data-look=pill] .frame{border-radius:999px}.stage.desk .win.toolbar[data-look=bar] .frame{border-width:0 0 1px;border-radius:0}.stage.desk .win.toolbar .tb-cell:not(.tgroup .tb-cell){width:26px;height:26px;color:var(--d-ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.stage.desk .win.toolbar .tb-cell:not(.tgroup .tb-cell):hover{background:var(--d-hover);color:var(--d-ink)}.stage.desk .win.toolbar .tb-cell:not(.tgroup .tb-cell):active{background:var(--d-press)}.stage.desk .win.toolbar .tb-sep{background:var(--d-edge);flex:none;width:1px;height:16px;margin:0 6px}.stage.desk .win.panel .content,.stage.desk .win.doc .content{flex-direction:column;display:flex}.stage.desk .win.panel .title,.stage.desk .win.doc .title{flex:none}.stage.desk .win.panel .body,.stage.desk .win.doc .body{white-space:normal;flex:auto;min-height:0;overflow:hidden}.win.panel .title{touch-action:none;align-items:center;display:flex}.stage.desk .win.panel .title{padding-left:0}.win.panel .title>.name{text-overflow:ellipsis;min-width:0;overflow:hidden}.stage.desk .win.panel[data-look=header] .title{cursor:pointer;border-bottom-color:#0000}.stage.desk .grip-handle{cursor:grab;border-radius:4px;outline:none;flex:none;align-self:stretch;place-items:center;width:18px;display:grid}.stage.desk .grip-handle:focus-visible{box-shadow:inset 0 0 0 2px var(--d-accent)}.stage.desk .grip-dots{width:8px;height:13px;color:var(--d-grip);background:radial-gradient(circle at 1.5px 1.5px,currentColor 1.25px,#0000 1.65px) 0 0/5px 5px;flex:none;transition:color .12s ease-out,opacity .12s ease-out;display:block}.stage.desk .win.panel[data-look=header] .grip-dots,.stage.desk .grip-handle[data-density=compact] .grip-dots{width:3px}.stage.desk .segment .grip-dots{width:13px;height:3px}.stage.desk[data-grip=line] .grip-dots{background:currentColor;border-radius:1.5px;width:3px;height:13px}.stage.desk[data-grip=line] .win.panel[data-look=header] .grip-dots{height:9px}.stage.desk[data-grip=line] .segment .grip-dots{width:9px;height:3px}.stage.desk[data-finish=engraved]:not([data-grip=line]) .grip-dots{background:radial-gradient(circle at 1.5px 1.5px, currentColor 1.25px, transparent 1.65px) 0 0 / 5px 5px, radial-gradient(circle at 1.5px 1.5px, var(--d-grip-hi) 1.25px, transparent 1.65px) 0 1px / 5px 5px;height:14px}.stage.desk[data-finish=engraved]:not([data-grip=line]) .segment .grip-dots{height:4px}.stage.desk[data-finish=engraved][data-grip=line] .grip-dots{box-shadow:0 1px 0 var(--d-grip-hi)}.stage.desk[data-finish=well] .grip-handle{background:var(--d-well);border-radius:0;margin-right:4px}.stage.desk[data-finish=well] .win.panel .grip-handle{border-top-left-radius:calc(var(--d-radius) - 1px)}.stage.desk[data-finish=well] .win.panel[data-look=header] .grip-handle{border-bottom-left-radius:calc(var(--d-radius) - 1px)}.stage.desk[data-finish=well] .segment .grip-dots{box-shadow:0 0 0 3px var(--d-well);background-color:var(--d-well);border-radius:1px}.stage.desk .win.panel .title:hover .grip-dots,.stage.desk .grip-handle:hover .grip-dots,.stage.desk .grip-handle:focus-visible .grip-dots,.stage.desk .segment:hover .grip-dots{color:var(--d-grip-hover)}.stage.desk .win.lifted .grip-dots{color:var(--d-accent)}.stage.desk .win.lifted .grip-handle,.stage.desk .win.lifted .title{cursor:grabbing}.stage.desk.frozen .grip-handle,.stage.desk.frozen .grip-dots{visibility:hidden}.stage.desk.frozen .win.panel .title,.stage.desk.frozen .segment{cursor:not-allowed}.stage.desk .win.chrome[data-look=tabs] .grip-handle{border-radius:0;border-top-left-radius:calc(var(--d-radius) - 1px);margin:-3px 0 0 -3px}.stage.desk .grip-menu{z-index:30;background:var(--d-panel);border:1px solid var(--d-edge-lifted);border-radius:var(--d-radius);min-width:176px;box-shadow:var(--d-shadow);color:var(--d-ink);padding:4px;font:12.5px/1.2 system-ui,sans-serif;position:absolute}.stage.desk .grip-note{color:var(--d-muted);border-bottom:1px solid var(--d-hair);margin-bottom:4px;padding:5px 8px 6px;font-size:11.5px}.stage.desk .grip-sep{background:var(--d-hair);height:1px;margin:4px 2px}.stage.desk .grip-item{width:100%;height:26px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding:0 8px 0 4px;display:flex}.stage.desk .grip-item .mark{width:14px;color:var(--d-accent);text-align:center;flex:none}.stage.desk .grip-item .label{white-space:nowrap;flex:auto}.stage.desk .grip-item .hint{color:var(--d-muted);flex:none;font-size:11px}.stage.desk .grip-item:hover:not(:disabled),.stage.desk .grip-item:focus-visible{background:var(--d-hover);outline:none}.stage.desk .grip-item:disabled{color:var(--d-muted);opacity:.55;cursor:default}#grip-options .sep{color:var(--muted)}.win.panel[data-look=bare] .title{display:none}.stage.desk .win.panel[data-look=bare] .frame{border-radius:0 0 var(--d-radius) var(--d-radius);border-top:0}.stage.desk .rows{margin:0 calc(-1 * var(--d-gap) + 4px);padding:0;list-style:none}.stage.desk .rows li{align-items:center;gap:var(--d-gap);white-space:nowrap;border-radius:4px;height:22px;padding:0 4px;display:flex}.stage.desk .rows li:hover{background:var(--d-hover)}.stage.desk .rows .name{text-overflow:ellipsis;min-width:0;color:var(--d-ink);flex:auto;overflow:hidden}.stage.desk .rows .aside{color:var(--d-muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.stage.desk .rows .glyph{color:var(--d-muted);flex:none}.stage.desk .rows.files li:first-child{background:var(--d-accent-soft)}.stage.desk .rows.files li:first-child .glyph{color:var(--d-accent)}.stage.desk .rows.outline li{text-overflow:ellipsis;line-height:22px;display:block;overflow:hidden}.stage.desk .rows.outline .h1{color:var(--d-ink);font-weight:600}.stage.desk .rows.outline .h2{color:var(--d-ink);padding-left:16px}.stage.desk .rows.outline .h3{color:var(--d-muted);padding-left:28px}.stage.desk .rows.notes li{color:var(--d-ink)}.stage.desk .rows.notes li:before{content:"";border:1.5px solid var(--d-muted);border-radius:3px;flex:none;width:12px;height:12px}.stage.desk .rows.history time{width:34px;color:var(--d-muted);font-variant-numeric:tabular-nums;flex:none;font-size:11px}.stage.desk .props{gap:3px var(--d-gap);grid-template-columns:max-content 1fr;margin:0;display:grid}.stage.desk .props dt{color:var(--d-muted);white-space:nowrap}.stage.desk .props dd{color:var(--d-ink);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.stage.desk .win.doc .title{cursor:default;color:var(--d-muted);background:var(--d-sunken);border-radius:var(--d-radius) var(--d-radius) 0 0;font-weight:500}.stage.desk .win.doc .body{padding:10px 14px}.stage.desk .page h3{color:var(--d-ink);margin:0 0 2px;font-size:16px;font-weight:650;line-height:22px}.stage.desk .page p{margin:0 0 var(--d-gap);color:var(--d-ink-2);max-width:62ch;font-size:12.5px;line-height:19px}.stage.desk .page p.meta{color:var(--d-muted);margin-bottom:10px;font-size:11.5px}.stage.desk .win.doc.focused .frame{border:1px solid var(--d-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--d-accent) 22%, transparent)}.stage.desk .win.doc.focused .title{color:var(--d-ink);background:var(--d-accent-soft);font-weight:600}.stage.desk .win.doc.focused.lifted .frame{box-shadow:0 0 0 2px color-mix(in srgb, var(--d-accent) 22%, transparent), var(--d-lift)}.win.chrome[data-look=rail] .content{padding:var(--d-gap) 0;flex-direction:column;align-items:center;gap:4px;display:flex}.stage.desk .win.chrome[data-look=rail] .frame{background:var(--d-sunken);border-width:0;border-radius:0}.stage.desk .win.chrome .icon{width:28px;height:28px;color:var(--d-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.stage.desk .win.chrome .icon.segment{cursor:grab;flex-direction:column;justify-content:center;align-items:center;gap:5px;height:36px;display:flex}.stage.desk .win.chrome .icon:hover{background:var(--d-hover);color:var(--d-ink)}.stage.desk .win.chrome .icon:active{background:var(--d-press)}.stage.desk .win.chrome[data-look=tabs] .frame{background:var(--d-sunken);border-radius:var(--d-radius) var(--d-radius) 0 0;border-bottom-width:0}.win.chrome[data-look=tabs] .content{gap:2px;padding:3px 3px 0;display:flex}.stage.desk .win.chrome .tab{min-width:0;color:var(--d-muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;touch-action:none;background:0 0;border:0;border-radius:6px 6px 0 0;flex:1 1 0;padding:0 6px;font:500 12px system-ui,sans-serif;overflow:hidden}.stage.desk .win.chrome .tab:hover{background:var(--d-hover);color:var(--d-ink)}.stage.desk .win.chrome .tab[aria-pressed=true]{background:var(--d-panel);color:var(--d-ink);font-weight:600}.stage.desk .win.chrome[data-look=track] .frame{background:color-mix(in srgb, var(--d-edge) 60%, transparent);border:0;border-radius:3px}.stage.desk .win.chrome[data-look=thumb] .frame{background:var(--d-muted);opacity:.6;border:0;border-radius:3px}.deskwin{color:var(--d-ink);position:relative}.deskwin .tf-bar{z-index:20;background:var(--d-sunken);border:1px solid var(--d-edge);box-sizing:border-box;position:absolute;overflow:hidden}.deskwin .tf-bar.gone{visibility:hidden}.deskwin .tf-title{border-bottom:0;border-radius:10px 10px 0 0}.deskwin .tf-bottom{border-top:0;border-radius:0 0 10px 10px}.deskwin .tf-left{border-right:0}.deskwin .tf-right{border-left:0}.deskwin .tf-bottom.floating{border:1px solid var(--d-edge-lifted);background:var(--d-panel);box-shadow:var(--d-shadow);border-radius:999px}.deskwin .tf-controls{cursor:default;gap:7px;margin-top:-6px;display:flex;position:absolute;top:50%;left:14px}.deskwin .tf-controls i{background:var(--d-edge);border-radius:50%;width:12px;height:12px}.deskwin .tg-host{position:relative}.deskwin .tg-measure{visibility:hidden;position:absolute;top:0;left:-9999px}.deskwin .tg-measure .tgroup{display:inline-block;position:static}.deskwin .tg-measure .tgroup .tg-in{width:auto;height:auto}.deskwin .tgroup{transform-origin:0 0;transition:opacity .12s ease-out;position:absolute;top:0;left:0}.deskwin .tgroup.tg-away{visibility:hidden}.deskwin .tg-in{box-sizing:border-box;white-space:nowrap;align-items:center;width:100%;height:100%;padding:0;display:flex}.deskwin .tgroup.v .tg-in{flex-direction:column}.deskwin .tg-ctl{align-items:center;gap:2px;display:flex}.deskwin .tgroup.v .tg-ctl{flex-direction:column}.deskwin .tg-handle{width:3px;height:13px;color:var(--d-muted);cursor:grab;border-radius:2px;flex-direction:column;flex:none;justify-content:space-between;margin-right:3px;display:flex;position:relative}.deskwin .tg-handle:before{content:"";position:absolute;inset:-8px -5px -8px -6px}.deskwin .tgroup.v .tg-handle{flex-direction:row;width:13px;height:3px;margin:0 0 3px}.deskwin .tgroup.v .tg-handle:before{inset:-6px -8px -5px}.deskwin .tg-handle i{background:currentColor;border-radius:50%;width:3px;height:3px;display:block}.deskwin .tg-handle:hover{color:var(--d-ink)}.deskwin .tg-handle:active{color:var(--d-accent);cursor:grabbing}.deskwin .tg-handle:focus-visible{outline:2px solid var(--d-accent);outline-offset:3px}:is(.deskwin .tf-bar:has(.tg-handle:hover,.tg-handle:focus) .tgroup:not(:has(.tg-handle:hover,.tg-handle:focus)),.deskwin .tg-host:has(.tg-handle:hover,.tg-handle:focus) .tgroup:not(:has(.tg-handle:hover,.tg-handle:focus))){opacity:.35}.deskwin .tgroup:not(.collapsed) .tb-cell.tg-over,.deskwin .tgroup.collapsed .tg-ctl{display:none}.deskwin .tgroup.collapsed .tg-over{min-width:18px;display:grid}.deskwin .tgroup.floating,.deskwin .tgroup.lifted{background:var(--d-panel);box-shadow:0 0 0 5px var(--d-panel), 0 0 0 6px var(--d-edge-lifted), var(--d-shadow);border-radius:5px}.deskwin .tgroup.lifted{z-index:2;box-shadow:0 0 0 5px var(--d-panel), 0 0 0 6px var(--d-edge-lifted), var(--d-lift)}.deskwin .tgroup.lifted .tg-handle{color:var(--d-accent);cursor:grabbing}.deskwin.frozen:not(.alt) .tg-handle{visibility:hidden}.deskwin .tgroup .tb-cell{min-width:26px;height:26px;color:var(--d-ink-2);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;font-size:13px;display:grid}.deskwin .tgroup .tb-cell:hover{background:var(--d-hover);color:var(--d-ink)}.deskwin .tgroup .tg-word{padding:0 7px;font-size:12px;font-weight:600}.deskwin .tgroup .tg-word .i{display:none}.deskwin .tgroup.v .tg-word{padding:0}.deskwin .tgroup.v .tg-word .t{display:none}.deskwin .tgroup.v .tg-word .i{font-size:14px;display:inline}.deskwin .tgroup .tg-title{color:var(--d-ink);align-items:center;gap:8px;padding:0 6px;font-size:12.5px;font-weight:600;display:flex}.deskwin .tg-dot{background:var(--d-accent);border-radius:50%;flex:none;width:9px;height:9px}.deskwin .tgroup .tg-page{color:var(--d-muted);padding:0 4px;font:11px ui-monospace,monospace}.deskwin .tgroup .tg-zoom{color:var(--d-muted);padding:0 2px;font:11px ui-monospace,monospace}.deskwin .tgroup.v[data-g=doc] .tg-ctl{display:none}.deskwin .tgroup.v[data-g=doc] .tb-cell.tg-over{min-width:26px;display:grid}.deskwin .tgroup.v[data-g=zoom] .tg-ctl{flex-direction:column-reverse}.deskwin .tgroup.v .tg-pct{display:none}.deskwin .tgroup.v .tg-zoom{min-width:26px;height:18px;padding:0;font-size:10px}.deskwin .tgroup .tb-cell.tg-over{font-size:14px}.deskwin .tgroup .tb-cell.tg-over:focus-visible{box-shadow:inset 0 0 0 2px var(--d-accent);outline:none}.deskwin .tgroup .tb-cell.tg-over[aria-expanded=true]{background:var(--d-press);color:var(--d-ink)}.deskwin .tg-pop{z-index:12;pointer-events:auto;background:var(--d-panel);border:1px solid var(--d-edge-lifted);box-shadow:var(--d-shadow);border-radius:8px;padding:5px 6px;position:absolute}.deskwin .tg-pop .tg-popgroup{position:static;transform:none}.deskwin .tg-pop .tg-in{width:auto;height:auto}.deskwin .tg-pop .tb-cell:focus-visible{box-shadow:inset 0 0 0 2px var(--d-accent);outline:none}.controls{--sel:var(--accent)}.deskwin .tb-cell[aria-pressed=true]{--sel:var(--d-accent)}.deskwin .tb-cell[aria-pressed=true],.controls button[aria-pressed=true]{color:var(--sel);box-shadow:inset 0 0 0 1.5px var(--sel);background:0 0;outline:none}.deskwin .tg-layer{z-index:30;pointer-events:none;position:absolute;inset:0;overflow:hidden}.deskwin .tg-floats{z-index:25;pointer-events:none;position:absolute;inset:0}.deskwin .tg-floats .tgroup{pointer-events:auto}.deskwin .tg-menu{z-index:10;pointer-events:auto;background:var(--d-panel);border:1px solid var(--d-edge);min-width:190px;box-shadow:var(--d-shadow);color:var(--d-ink);border-radius:8px;margin:0;padding:4px;font-size:12.5px;list-style:none;position:absolute}.deskwin .tg-menu li{position:relative}.deskwin .tg-menu button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding:5px 8px;display:flex}.deskwin .tg-menu button:hover:not([disabled]),.deskwin .tg-menu button:focus{background:var(--d-hover);outline:none}.deskwin .tg-menu button[disabled]{color:var(--d-muted);cursor:default;opacity:.6}.deskwin .tg-menu-check{width:12px;color:var(--d-accent);flex:none}.deskwin .tg-menu-label{flex:1}.deskwin .tg-menu-note{border-bottom:1px solid var(--d-hair);color:var(--d-muted);margin-bottom:3px;padding:5px 8px 7px;font-size:11.5px}.deskwin .tg-submenu{margin-left:4px;display:none;position:absolute;top:-5px;left:100%}.deskwin .tg-menu li.open>.tg-submenu{display:block}.deskwin .tg-strip{opacity:0;background:repeating-linear-gradient(45deg, transparent 0 6px, color-mix(in srgb, var(--d-muted) 22%, transparent) 6px 12px);outline:1px dashed color-mix(in srgb, var(--d-muted) 50%, transparent);outline-offset:-1px;border-radius:6px;transition:opacity .12s;position:absolute}.deskwin .tg-strip.on{opacity:1}.deskwin .tg-ind{z-index:3;opacity:0;background:var(--drop);border-radius:2px;transition:opacity 90ms,left .11s cubic-bezier(.2,.8,.2,1),top .11s cubic-bezier(.2,.8,.2,1),width .11s,height .11s;position:absolute}.deskwin .tg-ind.area{background:color-mix(in srgb, var(--drop) 14%, transparent);border:2px solid var(--drop);box-sizing:border-box;border-radius:8px}.deskwin .tg-ind.on{opacity:1}.deskwin .tg-ind-label{z-index:4;opacity:0;background:var(--drop);color:var(--signal-ink);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;transition:opacity 90ms;position:absolute}.deskwin .tg-ind-label.on{opacity:1}.lock{--lock-accent:var(--accent);--lock-soft:var(--accent-soft);border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:9px;padding:5px 12px 5px 6px;transition:border-color .15s,background .15s;display:inline-flex}.lock:hover{border-color:color-mix(in srgb, var(--lock-accent) 45%, var(--line))}.lock:has(input:checked){border-color:var(--lock-accent);background:var(--lock-soft)}.lock input{appearance:none;background:color-mix(in srgb, currentColor 25%, transparent);cursor:pointer;border-radius:999px;flex:none;width:34px;height:20px;margin:0;transition:background .15s;position:relative}.lock input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.lock input:checked{background:var(--lock-accent)}.lock input:checked:after{transform:translate(14px)}.lock input:focus-visible{outline:2px solid var(--lock-accent);outline-offset:2px}.lock .ico{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;opacity:.7;width:15px;height:15px}:is(.lock .ico.shut,.lock:has(input:checked) .ico.open){display:none}.lock:has(input:checked) .ico.shut{color:var(--lock-accent);opacity:1;display:block}.lock .state:before{content:"Layout unlocked";font-weight:600}.lock:has(input:checked) .state:before{content:"Layout frozen";color:var(--lock-accent)}.lock .lockhint{opacity:.7;display:none}.lock:has(input:checked) .lockhint{display:inline}.lock kbd{border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font:11px ui-monospace,monospace}#toolbar-cases{flex-wrap:wrap;gap:4px;display:flex}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:400 var(--t-sm) / 1.55 var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}button,input,select{font:inherit;color:inherit}::selection{background:var(--accent-soft);color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}code{font-family:var(--font-mono);font-size:.92em}a{color:var(--accent-strong);text-underline-offset:3px}.lab{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.lab-embed .lab{display:block}.lab-side{gap:var(--s4);height:100vh;padding:var(--s4) var(--s3);border-right:1px solid var(--line);background:var(--bg-subtle);scrollbar-width:thin;flex-direction:column;display:flex;position:sticky;top:0;overflow-y:auto}.lab-main{min-width:0;padding:0 var(--s6) var(--s7)}.lab-main:not(.wide) .lab-page,.lab-main:not(.wide) .lab-head{max-width:1040px}.lab-embed .lab-main{padding:var(--s3)}.lab-brand{letter-spacing:-.02em;color:var(--text);align-items:center;gap:8px;padding:4px 6px 8px;font-size:14.5px;font-weight:680;text-decoration:none;display:flex}.brand-mark{fill:none;stroke-linecap:round;flex:none;width:24px;height:24px;margin-top:-1px}.brand-target{stroke:var(--text-3);stroke-width:1.2px}.brand-curve{stroke:var(--text);stroke-width:2.6px}.brand-dot{fill:var(--accent);stroke:none}.wordmark{white-space:nowrap}.brand-ns,.brand-amp{color:var(--text-2);letter-spacing:-.01em;font-weight:500}.lab-brand .brand-ns{display:none}.lab-badge{border:1px solid var(--accent);color:var(--accent);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-left:auto;padding:0 7px;font-size:10.5px;font-weight:650;line-height:17px}.lab-menu>summary{cursor:pointer;list-style:none;display:none}.lab-menu>summary::-webkit-details-marker{display:none}.lab-nav{gap:var(--s4);display:grid}.lab-group-k{font-size:var(--t-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 4px;padding:0 8px;font-weight:650}.lab-group ul{gap:1px;margin:0;padding:0;list-style:none;display:grid}.lab-group a{border-radius:var(--r-sm);color:var(--text-2);transition:color var(--fast) var(--ease), background-color var(--fast) var(--ease);align-items:center;gap:6px;padding:5px 8px;font-size:13.5px;font-weight:520;text-decoration:none;display:flex;position:relative}.lab-group a:hover{color:var(--text);background:var(--bg-sunken)}.lab-group a[aria-current=page]{color:var(--text);background:var(--bg-raised);box-shadow:var(--shadow-1), inset 2px 0 0 var(--accent)}.lab-group a>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lab-side-foot{font-size:var(--t-xs);margin:auto 0 0;padding:0 8px}.lab-side-foot a{color:var(--text-3);text-decoration:none}.lab-side-foot a:hover{color:var(--text)}.lab-head{gap:var(--s2);padding:var(--s6) 0 var(--s5);display:grid}.lab-head h1{font-size:var(--t-xl);letter-spacing:-.024em;color:var(--text);text-wrap:balance;margin:0;font-weight:650;line-height:1.12}.eyebrow{align-items:center;gap:var(--s2);font-size:var(--t-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0;font-weight:650;display:inline-flex}.eyebrow .n{font-family:var(--font-mono);color:var(--text-3);letter-spacing:.04em}.lead{font-size:var(--t-md);color:var(--text-2);text-wrap:pretty;max-width:72ch;margin:0;line-height:1.55}.lab-meta{justify-content:space-between;align-items:center;gap:var(--s2) var(--s4);margin-top:var(--s1);flex-wrap:wrap;display:flex}.built-with{align-items:baseline;gap:4px var(--s3);font-size:var(--t-sm);color:var(--text-2);flex-wrap:wrap;margin:0;display:flex}.built-with .bw-k{font-size:var(--t-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:650}.lab-actions{flex-wrap:wrap;gap:6px;display:flex}.lab-btn{border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-raised);height:30px;color:var(--text);cursor:pointer;transition:border-color var(--fast) var(--ease), color var(--fast) var(--ease);align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:550;text-decoration:none;display:inline-flex}.lab-btn:hover{border-color:var(--accent-line);color:var(--accent-strong)}.lab-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.lab-btn.primary:hover{background:var(--accent-strong);color:var(--accent-ink)}.lab-btn[disabled]{opacity:.5;pointer-events:none}.lab-about{max-width:80ch;font-size:var(--t-sm);color:var(--text-2)}.lab-about summary{width:max-content;color:var(--text-3);font-size:var(--t-xs);cursor:pointer;font-weight:600}.lab-about summary:hover{color:var(--text)}.lab-about p{margin:6px 0 0}.pager{gap:var(--s4);max-width:1040px;padding-top:var(--s7);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pager a{padding:var(--s3) var(--s5);border:1px solid var(--line);border-radius:var(--r);background:var(--bg-raised);box-shadow:var(--shadow-1);transition:border-color var(--fast) var(--ease);gap:2px;text-decoration:none;display:grid}.pager a:hover{border-color:var(--line-3)}.pager .next{text-align:right}.pager .k{font-size:var(--t-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:650}.pager .t{font-size:var(--t-base);letter-spacing:-.01em;color:var(--text);font-weight:620}.pager a:hover .t{color:var(--accent-strong)}.pager .prev .t:before{content:"← ";color:var(--text-3)}.pager .next .t:after{content:" →";color:var(--text-3)}.lab-section{gap:var(--s2);max-width:72ch;margin-bottom:var(--s6);display:grid}.lab-section p{color:var(--text-2);margin:0}.section-title{font-size:var(--t-lg);letter-spacing:-.015em;color:var(--text);margin:0;font-weight:650;line-height:1.2}.lab-cards{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));max-width:none;display:grid}.lab-card{align-content:start;gap:var(--s2);padding:var(--s4) var(--s5);border:1px solid var(--line);border-radius:var(--r);background:var(--bg-raised);box-shadow:var(--shadow-1);color:inherit;transition:border-color var(--fast) var(--ease);text-decoration:none;display:grid}.lab-card:hover{border-color:var(--accent-line)}.lab-card h3{font-size:var(--t-md);color:var(--text);margin:0;font-weight:650}.lab-card p{color:var(--text-2);margin:0}.lab-card-links{font-size:var(--t-xs);color:var(--text-3)!important}.lab-code{padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--r);background:var(--bg-subtle);font-size:var(--t-xs);margin:0;overflow-x:auto}.ext-arrow{color:var(--text-3);margin-left:2px;font-size:.85em}.lab-page h2{font-size:var(--t-md);letter-spacing:-.01em;color:var(--text);margin:var(--s5) 0 var(--s2);font-weight:650}.lab-page fieldset{border-color:var(--line);border-radius:var(--r);background:var(--bg-raised)}.lab-page legend{font-size:var(--t-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding:0 4px;font-weight:650}.lab-page .controls button{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--bg-raised);height:26px;color:var(--text);cursor:pointer;padding:0 10px;font-size:12.5px}.lab-page .controls button:hover{border-color:var(--accent-line);color:var(--accent-strong)}.lab-page input[type=radio],.lab-page input[type=checkbox],.lab-page input[type=range]{accent-color:var(--accent)}.lab-page th{font-size:var(--t-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-weight:650}.lab-checks-bar{align-items:center;gap:var(--s2);margin-bottom:var(--s3);flex-wrap:wrap;display:flex}.lab-checks-status{color:var(--text-2);flex-basis:100%;margin:0}.lab-checks-sum{margin:0 0 var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r);font-weight:600}.lab-checks-sum.ok{color:var(--good);background:color-mix(in srgb, var(--good) 10%, transparent)}.lab-checks-sum.bad{color:var(--bad);background:color-mix(in srgb, var(--bad) 10%, transparent)}.lab-checks-run{gap:var(--s5);grid-template-columns:minmax(0,1fr) 400px;align-items:start;display:grid}.lab-checks-table td{font-size:var(--t-xs)}.lab-checks-table tr.bad td{background:color-mix(in srgb, var(--bad) 6%, transparent)}.lab-checks-frame{top:var(--s4);gap:6px;margin:0;display:grid;position:sticky}.lab-checks-viewport{border:1px solid var(--line);border-radius:var(--r);background:var(--bg-subtle);width:400px;height:275px;overflow:hidden}.lab-checks-viewport iframe{transform-origin:0 0;pointer-events:none;border:0;transform:scale(.25)}.lab-checks-frame figcaption{font-size:var(--t-xs);color:var(--text-3)}@media (width<=1100px){.lab-checks-run{grid-template-columns:minmax(0,1fr)}}@media (width<=900px){.lab{grid-template-columns:minmax(0,1fr)}.lab-side{border-right:0;border-bottom:1px solid var(--line);flex-direction:column;height:auto;position:static}.lab-nav{grid-auto-columns:max-content;grid-auto-flow:column;overflow-x:auto}.lab-main{padding:0 var(--s4) var(--s6)}.pager{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.lab-side{gap:var(--s2);padding-bottom:var(--s3)}.lab-side-foot{display:none}.lab-menu>summary{justify-content:space-between;align-items:center;gap:var(--s3);border:1px solid var(--line-2);border-radius:var(--r);background:var(--bg-raised);min-height:44px;color:var(--text);font:600 var(--t-sm) var(--font-sans);padding:0 12px;display:flex}.lab-menu>summary:after{content:"▾";color:var(--text-3);transition:transform var(--fast) var(--ease)}.lab-menu[open]>summary:after{transform:rotate(180deg)}.lab-menu-cur{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);margin-left:auto;font-weight:500;overflow:hidden}.lab-menu .lab-nav{padding-top:var(--s3);grid-auto-columns:auto;grid-auto-flow:row;overflow:visible}.lab-group a{min-height:40px}}
