@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./public-sans-vietnamese-wght-normal-CtlIRbEm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./public-sans-latin-ext-wght-normal-MQgHevqp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./public-sans-latin-wght-normal-DdeTHZLK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:only light;--src-bg: #eceef2;--src-surface: #fbfbfc;--src-fg: #1a1d23;--src-muted: #5a616e;--src-border: oklch(0 0 0 / 12%);--src-rule: #7f858f;--plum: #8052ff;--plum-deep: #6b3ae0;--syn-keyword: #6b3ae0;--syn-typename: #9a4a06;--syn-propertyname: #14602a;--syn-atom: #0b57d0;--syn-number: #0f6f7a;--syn-string: #8a5a00;--syn-comment: #5a616e;--syn-operator: #464d59;--paper: #f5f2ea;--paper-panel: #fbfaf5;--ink: #1c2430;--ink-muted: #5b6470;--hairline: #cfc9bb;--grid-line: rgb(28 36 48 / 7%);--redline: #c2362b;--redline-ink: #b3261e;--ok: #2e7d32;--warn-ink: #7a6000;--font-display: "Archivo Variable", Archivo, "Arial Narrow", sans-serif;--font-body: "Public Sans Variable", "Public Sans", -apple-system, "Segoe UI", Roboto, Helvetica, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace}:root,:root[data-theme=dark]{color-scheme:dark;--src-bg: #0d1117;--src-surface: #161b22;--src-fg: #e6edf3;--src-muted: #8b949e;--src-border: rgba(255, 255, 255, .08);--src-rule: #30363d;--plum: #a371f7;--plum-deep: #bc8cff;--syn-keyword: #bc8cff;--syn-typename: #ff9b5e;--syn-propertyname: #7ee787;--syn-atom: #79c0ff;--syn-number: #56d4dd;--syn-string: #e3b341;--syn-comment: #8b949e;--syn-operator: #c9d1d9;--paper: #090d12;--paper-panel: #161b22;--ink: #e6edf3;--ink-muted: #8b949e;--hairline: #282e38;--grid-line: rgba(255, 255, 255, .04);--redline: #f85149;--redline-ink: #ff7b72;--ok: #3fb950;--warn-ink: #d29922;--bg: var(--paper);--panel: var(--paper-panel);--muted: var(--ink-muted);--accent: var(--redline-ink);--border: var(--hairline);--err: var(--redline-ink);--sans: var(--font-body);--mono: var(--font-mono);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .5);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .55), 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 16px -2px rgba(0, 0, 0, .65), 0 2px 4px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px -4px rgba(0, 0, 0, .75), 0 4px 10px rgba(0, 0, 0, .5);--shadow-sheet: 0 14px 44px -6px rgba(0, 0, 0, .85), 0 0 0 1px rgba(255, 255, 255, .08);--shadow-glow-plum: 0 0 0 3px rgba(163, 113, 247, .35);--transition-fast: .15s cubic-bezier(.16, 1, .3, 1);--transition-smooth: .25s cubic-bezier(.16, 1, .3, 1)}:root[data-theme=light]{color-scheme:only light;--src-bg: #eceef2;--src-surface: #fbfbfc;--src-fg: #1a1d23;--src-muted: #5a616e;--src-border: oklch(0 0 0 / 12%);--src-rule: #7f858f;--plum: #8052ff;--plum-deep: #6b3ae0;--syn-keyword: #6b3ae0;--syn-typename: #9a4a06;--syn-propertyname: #14602a;--syn-atom: #0b57d0;--syn-number: #0f6f7a;--syn-string: #8a5a00;--syn-comment: #5a616e;--syn-operator: #464d59;--paper: #f5f2ea;--paper-panel: #fbfaf5;--ink: #1c2430;--ink-muted: #5b6470;--hairline: #cfc9bb;--grid-line: rgb(28 36 48 / 7%);--redline: #c2362b;--redline-ink: #b3261e;--ok: #2e7d32;--warn-ink: #7a6000;--shadow-xs: 0 1px 2px rgb(28 36 48 / .05);--shadow-sm: 0 2px 5px rgb(28 36 48 / .06), 0 1px 2px rgb(28 36 48 / .04);--shadow-md: 0 4px 14px -2px rgb(28 36 48 / .08), 0 2px 4px rgb(28 36 48 / .04);--shadow-lg: 0 12px 28px -4px rgb(28 36 48 / .12), 0 4px 8px rgb(28 36 48 / .05);--shadow-sheet: 0 14px 40px -6px rgb(28 36 48 / .14), 0 3px 10px rgb(28 36 48 / .06);--shadow-glow-plum: 0 0 0 3px color-mix(in srgb, var(--plum) 25%, transparent)}#preview,#describe,#lint,#intent{flex:1;min-height:0;display:none}#preview{flex-direction:column}#preview.active{display:flex}.pz-viewport{position:relative;flex:1;min-height:0;overflow:hidden;background-color:var(--paper);background-image:repeating-linear-gradient(0deg,var(--grid-line) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,var(--grid-line) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,var(--grid-line) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,var(--grid-line) 0 1px,transparent 1px 40px);cursor:grab;touch-action:none}.pz-viewport.pz-grabbing{cursor:grabbing}.pz-stage svg [data-span]{cursor:pointer}.room-tip{position:absolute;z-index:6;pointer-events:none;padding:4px 8px;border-radius:3px;border:1px solid var(--hairline);font-family:var(--font-mono);font-size:11.5px;white-space:nowrap;background:var(--src-surface);color:var(--src-fg);box-shadow:0 2px 8px #1c24302e}.pz-stage{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.pz-stage svg{display:block;max-width:none;max-height:none;border:1px solid var(--hairline);border-radius:var(--radius-xs);box-shadow:var(--shadow-sheet);background:transparent;transition:box-shadow var(--transition-smooth)}.pz-viewport:fullscreen{background-color:var(--paper);background-image:repeating-linear-gradient(0deg,var(--grid-line) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,var(--grid-line) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,var(--grid-line) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,var(--grid-line) 0 1px,transparent 1px 40px)}.pz-toolbar{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:3px;padding:4px 6px;border:1px solid color-mix(in srgb,var(--hairline) 70%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--paper-panel) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-md);z-index:10;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.pz-toolbar:hover{box-shadow:var(--shadow-lg);border-color:var(--hairline)}.pz-toolbar button{font:inherit;font-size:13px;line-height:1;min-width:28px;height:28px;padding:0 8px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.pz-toolbar button:hover{background:color-mix(in srgb,var(--plum) 12%,transparent);color:var(--plum-deep);transform:scale(1.05)}.pz-toolbar button:active{transform:scale(.96)}.pz-toolbar button[data-pz=copysvg],.pz-toolbar button[data-pz=copypng],.pz-toolbar button[data-pz=out],.pz-toolbar button[data-pz=in],.pz-toolbar button[data-pz=fit],.pz-toolbar button[data-pz=full]{font-family:var(--font-mono)}.pz-toolbar button[data-pz=copysvg],.pz-toolbar button[data-pz=copypng]{font-size:10.5px;font-weight:500}.pz-toolbar button[data-pz=paths]{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.pz-toolbar button.active{background:var(--redline);color:#fff}.pz-toolbar button.active:hover{background:color-mix(in srgb,var(--redline) 90%,#000);color:#fff}.pz-sep{width:1px;height:16px;background:var(--hairline);margin:0 2px}.shared-notice{display:flex;align-items:baseline;gap:12px;padding:8px 12px;border-bottom:1px solid var(--hairline);background:var(--paper-panel);font-family:var(--font-body);font-size:12.5px;line-height:1.45;color:var(--ink-muted)}.shared-notice-text{margin:0;flex:1;min-width:0}.shared-notice-dismiss{flex:none;padding:3px 9px;border:1px solid var(--src-rule);border-radius:3px;background:var(--paper);font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);cursor:pointer}.shared-notice-dismiss:hover{border-color:var(--redline);color:var(--redline-ink)}.facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;border-top:1px solid var(--hairline);background:color-mix(in srgb,var(--paper-panel) 85%,var(--paper));font-size:12px;color:var(--ink-muted);min-height:38px}.facts .fact{display:inline-flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--paper) 65%,transparent);border:1px solid color-mix(in srgb,var(--hairline) 60%,transparent);font-family:var(--font-display);font-variation-settings:"wdth" 85;font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);box-shadow:var(--shadow-xs);transition:all var(--transition-fast)}.facts .fact:hover{background:var(--paper);border-color:var(--hairline)}.facts .fact b{font-family:var(--font-mono);font-variation-settings:normal;font-weight:600;font-size:12px;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;color:var(--ink)}.facts .fact-bad b{color:var(--redline-ink)}.facts .fact-ok b{color:var(--ok)}.facts:empty{display:none}#describe{margin:0;padding:14px;overflow:auto;background:var(--paper-panel);font-size:12.5px;line-height:1.5;color:var(--ink)}#describe.active{display:block}#describe .empty{color:var(--ink-muted);font-size:13px;margin:0}.ag-wrap{margin-bottom:14px}.ag{display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding-bottom:4px}.ag-col{display:flex;flex-direction:column;gap:6px;min-width:120px}.ag-col-h{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-weight:600;padding:0 2px 2px}.ag-col-h-bad{color:var(--redline-ink)}.ag-card{border:1px solid var(--hairline);border-left:2px solid var(--ink);border-radius:3px;padding:7px 9px;background:var(--paper-panel)}.ag-card-label{font-size:12.5px;font-weight:600;color:var(--ink)}.ag-card-meta{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-muted);margin-top:2px}.ag-unreachable{border-left-color:var(--redline);background:color-mix(in srgb,var(--redline) 6%,var(--paper-panel))}.ag-unreachable .ag-card-meta{color:var(--redline-ink)}.ag-door{font-family:var(--font-mono);font-size:11.5px;color:var(--ink);border:1px dashed var(--hairline);border-radius:3px;padding:7px 9px;background:var(--paper-panel)}.ag-arrow{align-self:center;color:var(--ink-muted);font-size:14px;padding:0 1px}.ag-note{color:var(--ink-muted);font-size:13px;margin:0 0 14px}.ag-note code{font-family:var(--font-mono);font-size:12px;color:var(--redline-ink)}.describe-json summary{cursor:pointer;font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);-webkit-user-select:none;user-select:none}.describe-json[open] summary{margin-bottom:8px}.describe-json pre{margin:0;padding:10px 12px;border:1px solid var(--hairline);border-radius:3px;background:var(--paper-panel);font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--ink);white-space:pre;overflow:auto}#lint{overflow:auto;padding:12px 14px;background:var(--paper-panel);flex-direction:column;gap:8px}#lint.active{display:flex}.lint-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--hairline)}.lint-controls label{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted)}.lint-controls select{font:inherit;font-size:12.5px;padding:4px 9px;border:1px solid var(--hairline);border-radius:2px;background:var(--paper-panel);color:var(--ink);cursor:pointer}.lint-controls select:hover{border-color:var(--redline)}.lint-caption{flex-basis:100%;margin:0;font-size:12px;color:var(--ink-muted)}#lintOutput{display:flex;flex-direction:column;gap:8px}.lintrow{font-size:13px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--warn-ink) 25%,var(--hairline));border-left:3px solid var(--warn-ink);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warn-ink) 5%,var(--paper-panel));box-shadow:var(--shadow-xs);transition:all var(--transition-fast)}.lintrow:hover{border-color:var(--warn-ink);box-shadow:var(--shadow-sm)}.lintrow code{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--warn-ink);margin-right:6px}.lintrow .hint{display:block;color:var(--ink-muted);font-size:12px;margin-top:4px}#lint .ok{color:var(--ok);font-size:13px;margin:0}#lint .empty{color:var(--ink-muted);font-size:13px;margin:0}#errors{padding:8px 10px;border-top:2px solid var(--redline);background:var(--paper);display:none;max-height:34%;overflow:auto;flex-direction:column;gap:6px}#errors.show{display:flex}.diagrow{border:1px solid var(--hairline);border-left:3px solid var(--redline);border-radius:var(--radius-sm);background:var(--paper-panel);overflow:hidden;box-shadow:var(--shadow-xs);transition:all var(--transition-fast)}.diagrow:hover{box-shadow:var(--shadow-sm)}.diagrow.diag-warning{border-left-color:var(--warn-ink);background:color-mix(in srgb,var(--warn-ink) 5%,var(--paper-panel))}.diag-head{display:flex;align-items:baseline;gap:8px;padding:7px 10px;cursor:pointer;font-size:13px}.diag-head:hover{background:color-mix(in srgb,var(--redline) 7%,var(--paper-panel))}.diag-warning .diag-head:hover{background:color-mix(in srgb,var(--warn-ink) 10%,var(--paper-panel))}.diag-head code{font-family:var(--font-mono);font-size:11px;color:var(--redline-ink);flex:none}.diag-warning .diag-head code{color:var(--warn-ink)}.diag-msg{flex:1;color:var(--ink)}.diag-loc{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-muted);flex:none}.diag-toggle{font-size:10px;color:var(--ink-muted);transition:transform .15s;flex:none}.diagrow.open .diag-toggle{transform:rotate(90deg)}.diag-fix{padding:0 10px 8px;font-size:12.5px;line-height:1.5;color:var(--ink)}.diag-fix b{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-right:5px}.diag-detail{display:none;padding:2px 10px 10px;font-size:12.5px;line-height:1.5}.diagrow.open .diag-detail{display:block}.diag-detail p{margin:4px 0;color:var(--ink)}.diag-detail b{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-right:5px}.diag-detail pre{margin:6px 0 0;padding:8px 10px;background:var(--paper);border:1px solid var(--hairline);border-radius:3px;font-family:var(--font-mono);font-size:11.5px;line-height:1.5;white-space:pre-wrap;overflow:auto}.repair-btn{font:inherit;font-size:12px;font-weight:500;padding:5px 12px;border:1px solid color-mix(in srgb,var(--redline) 70%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--redline) 6%,var(--paper-panel));color:var(--redline-ink);cursor:pointer;box-shadow:var(--shadow-xs);transition:all var(--transition-fast)}.repair-btn:hover{background:color-mix(in srgb,var(--redline) 12%,transparent);border-color:var(--redline);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.repair-btn:active{transform:translateY(0)}.repair-btn[hidden]{display:none}.repair-panel{border:1px solid var(--hairline);border-radius:var(--radius-md);background:var(--paper-panel);padding:12px 14px;box-shadow:var(--shadow-sm)}.repair-panel[hidden]{display:none}.repair-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.repair-head strong{font-size:12.5px}.repair-apply{font:inherit;font-size:12px;padding:5px 14px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--redline);color:#fff;cursor:pointer;font-weight:600;box-shadow:var(--shadow-xs);transition:all var(--transition-fast)}.repair-apply:hover{background:color-mix(in srgb,var(--redline) 88%,#000);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.repair-apply:active{transform:translateY(0)}.repair-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.repair-list li{font-size:12.5px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.repair-list code{font-family:var(--font-mono);font-size:11.5px;color:var(--ink)}.repair-cat{font-size:11px;color:var(--ink-muted)}.repair-move{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink)}.repair-reason{flex-basis:100%;color:var(--ink-muted);font-size:12px}.repair-un code{color:var(--warn-ink)}.repair-un-h{margin:10px 0 6px;font-size:12px;color:var(--ink-muted)}.repair-none{margin:0;font-size:13px;color:var(--ok)}.embed-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ink) 45%,transparent);padding:16px}.embed-box{width:min(560px,100%);background:var(--paper-panel);border:1px solid var(--hairline);border-radius:3px;box-shadow:0 12px 40px #1c243047;padding:0;display:flex;flex-direction:column;gap:0;overflow:hidden}.embed-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--hairline);background:var(--paper)}.embed-head strong{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.embed-close{font:inherit;font-size:20px;line-height:1;width:30px;height:30px;border:0;border-radius:2px;background:transparent;color:var(--ink-muted);cursor:pointer}.embed-close:hover{background:color-mix(in srgb,var(--redline) 10%,transparent);color:var(--redline-ink)}.embed-box label{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:12px 18px 0}.embed-code,.embed-link{font-family:var(--font-mono);font-size:12px;color:var(--ink);width:calc(100% - 36px);margin:6px 18px 0;border:1px solid var(--hairline);border-radius:3px;padding:8px 10px;background:var(--paper);resize:vertical}.embed-actions{display:flex;align-items:center;gap:8px;margin:12px 18px 16px}.embed-copy{font:inherit;font-size:12.5px;padding:6px 14px;border:1px solid transparent;border-radius:2px;background:var(--redline);color:#fff;cursor:pointer;font-weight:500}.embed-copy:hover{background:color-mix(in srgb,var(--redline) 88%,#000)}.embed-copy[data-snippet=md]{background:transparent;color:var(--redline-ink);border-color:var(--redline)}.embed-copy[data-snippet=md]:hover{background:color-mix(in srgb,var(--redline) 10%,transparent)}.embed-open{font-size:12.5px;color:var(--redline-ink);text-decoration:none;margin-left:auto;padding:6px 4px}.embed-open:hover{text-decoration:underline}.snap-pop{position:fixed;z-index:50;width:280px;max-height:60vh;overflow:auto;background:var(--paper-panel);color:var(--ink);border:1px solid var(--hairline);border-radius:3px;box-shadow:0 8px 28px #1c243033;padding:6px}.snap-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 6px 8px;border-bottom:1px solid var(--hairline)}.snap-head strong{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.snap-save{font:inherit;font-size:12px;padding:4px 10px;border:1px solid var(--redline);border-radius:2px;background:transparent;color:var(--redline-ink);cursor:pointer}.snap-save:hover{background:color-mix(in srgb,var(--redline) 10%,transparent)}.snap-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.snap-row{display:flex;align-items:stretch;gap:4px}.snap-restore{flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:10px;font:inherit;text-align:left;padding:7px 9px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--ink);cursor:pointer}.snap-restore:hover{background:color-mix(in srgb,var(--ink) 5%,var(--paper-panel));border-color:var(--hairline)}.snap-name{font-size:12.5px;font-weight:600}.snap-time{font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.snap-del{font:inherit;font-size:12px;width:28px;border:1px solid transparent;border-radius:2px;background:transparent;color:var(--ink-muted);cursor:pointer}.snap-del:hover{background:color-mix(in srgb,var(--redline) 10%,transparent);color:var(--redline-ink);border-color:color-mix(in srgb,var(--redline) 40%,var(--hairline))}.snap-empty{list-style:none;padding:12px 9px;color:var(--ink-muted);font-size:12.5px}#intent{overflow:auto;padding:12px 14px;background:var(--paper-panel);flex-direction:column;gap:8px}#intent.active{display:flex}.sug-group+.sug-group{margin-top:12px;padding-top:10px;border-top:1px solid var(--hairline)}.sug-problem{margin:0 0 7px;font-size:12.5px;color:var(--ink)}.sug-problem code{font-family:var(--font-mono);font-size:11.5px;color:var(--warn-ink);margin-right:6px}.sug-cand{align-items:center}.sug-stmt{flex:1 1 auto;font-family:var(--font-mono);font-size:11.5px;color:var(--ink);background:var(--src-surface);border:1px solid var(--src-border);border-radius:2px;padding:3px 6px}.sug-why{flex-basis:100%;color:var(--ink-muted);font-size:12px}.sug-insert{font:inherit;font-size:12px;padding:3px 10px;border:1px solid var(--src-rule);border-radius:2px;background:transparent;color:var(--ink);cursor:pointer}.sug-insert:hover{background:color-mix(in srgb,var(--plum) 10%,transparent);border-color:var(--plum-deep)}.intent-src{width:100%;min-height:132px;resize:vertical;font-family:var(--font-mono);font-size:12px;line-height:1.55;color:var(--src-fg);background:var(--src-surface);border:1px solid var(--src-rule);border-radius:3px;padding:9px 10px;margin-bottom:10px}.intent-src:focus-visible{outline:2px solid var(--plum-deep);outline-offset:1px}.intent-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--hairline);border-radius:3px;background:var(--paper-panel);font-size:12.5px}.intent-head.intent-ok strong{color:var(--ok)}.intent-head.intent-miss strong{color:var(--redline-ink)}.intent-count{font-family:var(--font-mono);font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.intent-sub{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}.intent-sub li{display:flex;align-items:center;gap:8px;font-size:12px}.intent-sub-name{flex:0 0 74px;color:var(--ink-muted)}.intent-bar{flex:1 1 auto;height:6px;border-radius:3px;background:var(--hairline);overflow:hidden}.intent-bar i{display:block;height:100%;background:var(--plum)}.intent-sub-val{flex:0 0 34px;text-align:right;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink-muted)}.intent-vh{margin:14px 0 6px;font-size:12px;color:var(--ink-muted)}.intent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.intent-list li{font-size:12.5px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;color:var(--ink)}.intent-list code{font-family:var(--font-mono);font-size:11.5px}.intent-gate code{color:var(--redline-ink)}.intent-adv code{color:var(--warn-ink)}.intent-tag{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);border:1px solid var(--hairline);border-radius:2px;padding:0 4px}.intent-none,.intent-bad{margin:10px 0 0;font-size:12.5px;color:var(--ink-muted)}.intent-bad{color:var(--redline-ink)}.intent-errs{margin:6px 0 0;padding-left:18px;font-size:12.5px;color:var(--ink)}.diag-apply{font:inherit;font-size:11.5px;margin-left:8px;padding:2px 9px;border:1px solid var(--src-rule);border-radius:2px;background:transparent;color:var(--ink);cursor:pointer;vertical-align:baseline}.diag-apply:hover{background:color-mix(in srgb,var(--plum) 10%,transparent);border-color:var(--plum-deep)}.pz-viewport.arch-dragging-object{cursor:grabbing!important}.arch-edit-layer{pointer-events:all}.arch-sel-box{fill:color-mix(in srgb,var(--plum) 8%,transparent);stroke:var(--plum);stroke-width:1.5;stroke-dasharray:4 3;cursor:move;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--plum) 35%,transparent))}.arch-sel-handle{fill:#fff;stroke:var(--plum);stroke-width:2;cursor:move;transition:transform .15s cubic-bezier(.16,1,.3,1),fill .15s ease}.arch-sel-handle:hover{transform:scale(1.35);fill:var(--plum-deep)}.arch-sel-handle.arch-handle-nw,.arch-sel-handle.arch-handle-se{cursor:nwse-resize}.arch-sel-handle.arch-handle-ne,.arch-sel-handle.arch-handle-sw{cursor:nesw-resize}.pz-viewport.arch-resizing-object{cursor:crosshair!important}.arch-rot-stem{stroke:var(--plum);stroke-width:1.5;stroke-dasharray:2 2}.arch-rot-handle{fill:var(--plum);stroke:#fff;stroke-width:2;cursor:pointer;transition:transform .15s cubic-bezier(.16,1,.3,1),fill .15s ease}.arch-rot-handle:hover{fill:var(--plum-deep);transform:scale(1.18);transform-origin:center}.arch-rot-icon{fill:#fff;font-family:var(--font-body);font-size:10px;font-weight:700;pointer-events:none;-webkit-user-select:none;user-select:none}.arch-sel-dims{fill:var(--ink);font-family:var(--font-mono);font-size:11px;font-weight:600;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 4px var(--paper),0 0 2px var(--paper)}.arch-edit-pill{position:absolute;z-index:25;display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--hairline) 80%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--paper-panel) 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-md);color:var(--ink);font-family:var(--font-body);font-size:12px;-webkit-user-select:none;user-select:none;transition:opacity .15s ease,transform .15s ease;pointer-events:auto}.arch-edit-pill[hidden]{display:none}.arch-edit-pill .pill-badge{font-weight:600;font-size:11.5px;color:var(--ink);display:inline-flex;align-items:center;gap:4px}.arch-edit-pill .pill-coords{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-muted)}.arch-edit-pill .pill-size-ctrl{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--paper) 60%,transparent);border:1px solid color-mix(in srgb,var(--hairline) 65%,transparent)}.arch-edit-pill .pill-dim-tag{font-family:var(--font-display);font-variation-settings:"wdth" 85;font-size:9.5px;font-weight:700;text-transform:uppercase;color:var(--ink-muted)}.arch-edit-pill .pill-size-input{width:52px;height:20px;padding:0 4px;border:1px solid var(--hairline);border-radius:3px;background:var(--paper-panel);color:var(--ink);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;text-align:right;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.arch-edit-pill .pill-size-input:focus{outline:none;border-color:var(--plum);box-shadow:0 0 0 2px color-mix(in srgb,var(--plum) 25%,transparent)}.arch-edit-pill .pill-dim-x{font-size:10px;color:var(--ink-muted);-webkit-user-select:none;user-select:none}.arch-edit-pill .pill-dim-unit{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-muted);-webkit-user-select:none;user-select:none;margin-left:1px}.arch-edit-pill .pill-sep{width:1px;height:14px;background:var(--hairline);margin:0 2px}.arch-edit-pill .pill-btn{font:inherit;font-size:11px;font-weight:500;padding:3px 8px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--paper);color:var(--ink);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:3px}.arch-edit-pill .pill-btn:hover{background:color-mix(in srgb,var(--plum) 12%,transparent);border-color:var(--plum);color:var(--plum-deep);transform:translateY(-1px)}.arch-edit-pill .pill-btn-del:hover{background:color-mix(in srgb,var(--redline) 12%,transparent);border-color:var(--redline);color:var(--redline-ink)}.arch-edit-pill .pill-btn-close{min-width:20px;height:20px;padding:0;justify-content:center;font-size:11px;border-radius:50%}
