@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-opsz-normal-oos9povj.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-opsz-normal-Bf69Tn_J.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"DM Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--bg:#f5f6f8;--canvas-bg:#eceef2;--dot:#cdd1d8;--surface:#fff;--surface-2:#f8f9fb;--hover:#f0f2f5;--pressed:#e7eaef;--border:#e2e5ea;--border-strong:#cdd2d9;--ink:#14171c;--ink-2:#454b56;--ink-3:#626873;--accent:#3553d9;--accent-hover:#2b46c2;--accent-soft:#eaeefc;--accent-ink:#2a45bd;--focus:0 0 0 2px var(--surface), 0 0 0 4px color-mix(in srgb, var(--accent) 65%, transparent);--ok:#177245;--ok-soft:#e3f4ea;--danger:#c2253c;--danger-soft:#fde8eb;--sev-critical:#c2253c;--sev-high:#c2410c;--sev-medium:#a55a06;--sev-low:#2f5fd6;--sev-none:#6b5bd6;--pin-comment:#6546d6;--pin-done:#6b7280;--st-open-ink:#2a45bd;--st-open-bg:#eaeefc;--st-progress-ink:#8a4b04;--st-progress-bg:#fcefd9;--st-resolved-ink:#177245;--st-resolved-bg:#e3f4ea;--st-wontfix-ink:#4b5260;--st-wontfix-bg:#eceef1;--phone:#1b1c1f;--screen-bg:#fff;--e-forward:#3553d9;--e-replace:#7c4ddb;--e-drawer:#d66a0e;--e-layout:#0f8a73;--e-back:#8a9099;--e-inferred:#8a9099;--e-guessed:#d02f4b;--dir-out:#3553d9;--dir-in:#df5a12;--minimap-mask:#eceef2b3;--shadow-sm:0 1px 2px #1018280f;--shadow:0 1px 2px #1018280f, 0 8px 24px #1018281a;--shadow-lg:0 4px 8px #1018280f, 0 20px 48px #10182829;--phone-shadow:0 2px 10px #00000024;--r-sm:6px;--r:8px;--r-lg:12px;--side-w:300px;--panel-w:400px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111317;--canvas-bg:#0c0d10;--dot:#262a31;--surface:#181b20;--surface-2:#1d2026;--hover:#22262d;--pressed:#2a2f37;--border:#2b3038;--border-strong:#3a404a;--ink:#eceef2;--ink-2:#b9bec8;--ink-3:#959ba6;--accent:#7b93ff;--accent-hover:#93a7ff;--accent-soft:#1f2744;--accent-ink:#a9b8ff;--ok:#4cc38a;--ok-soft:#17301f;--danger:#ff6b81;--danger-soft:#3a1820;--sev-critical:#d8324e;--sev-high:#cc4a12;--sev-medium:#a86208;--sev-low:#3a66dc;--sev-none:#6d5ddc;--pin-comment:#6a4fdc;--pin-done:#5d636e;--st-open-ink:#a9b8ff;--st-open-bg:#1f2744;--st-progress-ink:#f3c178;--st-progress-bg:#3a2a10;--st-resolved-ink:#7fdcab;--st-resolved-bg:#16311f;--st-wontfix-ink:#b9bec8;--st-wontfix-bg:#262a31;--phone:#000;--e-forward:#7b93ff;--e-replace:#ad8cff;--e-drawer:#f59a4a;--e-layout:#3cc3a7;--e-back:#7c828c;--e-inferred:#7c828c;--e-guessed:#ff6b82;--dir-out:#7b93ff;--dir-in:#ff8a3d;--minimap-mask:#0c0d10b3;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px #00000073;--shadow-lg:0 4px 8px #0006, 0 20px 48px #0009;--phone-shadow:0 2px 10px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#111317;--canvas-bg:#0c0d10;--dot:#262a31;--surface:#181b20;--surface-2:#1d2026;--hover:#22262d;--pressed:#2a2f37;--border:#2b3038;--border-strong:#3a404a;--ink:#eceef2;--ink-2:#b9bec8;--ink-3:#959ba6;--accent:#7b93ff;--accent-hover:#93a7ff;--accent-soft:#1f2744;--accent-ink:#a9b8ff;--ok:#4cc38a;--ok-soft:#17301f;--danger:#ff6b81;--danger-soft:#3a1820;--sev-critical:#d8324e;--sev-high:#cc4a12;--sev-medium:#a86208;--sev-low:#3a66dc;--sev-none:#6d5ddc;--pin-comment:#6a4fdc;--pin-done:#5d636e;--st-open-ink:#a9b8ff;--st-open-bg:#1f2744;--st-progress-ink:#f3c178;--st-progress-bg:#3a2a10;--st-resolved-ink:#7fdcab;--st-resolved-bg:#16311f;--st-wontfix-ink:#b9bec8;--st-wontfix-bg:#262a31;--phone:#000;--e-forward:#7b93ff;--e-replace:#ad8cff;--e-drawer:#f59a4a;--e-layout:#3cc3a7;--e-back:#7c828c;--e-inferred:#7c828c;--e-guessed:#ff6b82;--dir-out:#7b93ff;--dir-in:#ff8a3d;--minimap-mask:#0c0d10b3;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 2px #0006, 0 8px 24px #00000073;--shadow-lg:0 4px 8px #0006, 0 20px 48px #0009;--phone-shadow:0 2px 10px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font:13.5px/1.45 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow:hidden}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}a{color:var(--accent-ink);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{box-shadow:var(--focus);outline:none}.mono{font-family:var(--mono);font-size:.94em}.muted{color:var(--ink-3)}.small{font-size:12px}.grow{flex:1}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.loading{height:100%;color:var(--ink-2);text-align:center;place-items:center;padding:16px;display:grid}.error-text{color:var(--danger);margin:6px 0;font-size:12.5px}.hint-text{color:var(--ink-3);margin:6px 0;font-size:12px}.kbd{text-align:center;min-width:20px;font:11.5px/18px var(--mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:0 5px;display:inline-block}.btn{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);height:32px;color:var(--ink);white-space:nowrap;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--hover);border-color:var(--border-strong);text-decoration:none}.btn:active{background:var(--pressed)}.btn:disabled{opacity:.5;cursor:default;pointer-events:none}.btn svg{flex:none}.btn.sm{height:28px;padding:0 9px;font-size:12.5px}.btn.icon-only{width:32px;padding:0}.btn.sm.icon-only{width:28px}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover)}.btn.on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent-ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}:root[data-theme=dark] .btn.primary{color:#0b1030}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.primary{color:#0b1030}}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger-soft)}.btn .caret{opacity:.6;margin-right:-3px}.btn .count{background:var(--hover);min-width:18px;height:18px;color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:9px;padding:0 5px;font-size:11px;font-weight:650;line-height:18px}.btn .count.hot{background:var(--sev-high);color:#fff}.link-btn{color:var(--accent-ink);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:var(--danger)}.seg{border-radius:var(--r);background:var(--hover);border:1px solid var(--border);gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:3px 10px;font-size:12.5px;font-weight:500}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.input,.field input,.field select,.field textarea,select.select,textarea.input{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);width:100%;height:32px;color:var(--ink);padding:0 10px;font-size:13px}textarea.input,.field textarea{resize:vertical;height:auto;padding:8px 10px;line-height:1.45}select.select,.field select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23808690' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:26px}.input:hover,.field input:hover,.field select:hover,.field textarea:hover,select.select:hover{border-color:var(--border-strong)}.input:focus,.field input:focus,.field select:focus,.field textarea:focus,select.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.input:disabled,.field input:disabled,.field select:disabled{opacity:.6;cursor:not-allowed}.field{flex-direction:column;flex:1;gap:4px;min-width:0;margin:10px 0;display:flex}.field>span{color:var(--ink-2);font-size:12px;font-weight:550}.field-row{gap:10px;display:flex}.search-input{align-items:center;display:flex;position:relative}.search-input>svg{color:var(--ink-3);pointer-events:none;position:absolute;left:10px}.search-input .input{background:var(--surface-2);padding-left:32px}.search-input .kbd{pointer-events:none;position:absolute;right:8px}.search-input .input:focus+.kbd,.search-input .input:not(:placeholder-shown)+.kbd{display:none}.check{color:var(--ink-2);cursor:pointer;align-items:center;gap:7px;font-size:12.5px;display:inline-flex}.check input{accent-color:var(--accent);width:14px;height:14px;margin:0}.badge{white-space:nowrap;background:var(--hover);height:20px;color:var(--ink-2);border-radius:5px;align-items:center;gap:5px;padding:0 7px;font-size:11.5px;font-weight:600;display:inline-flex}.badge.st-open{background:var(--st-open-bg);color:var(--st-open-ink)}.badge.st-in_progress{background:var(--st-progress-bg);color:var(--st-progress-ink)}.badge.st-resolved{background:var(--st-resolved-bg);color:var(--st-resolved-ink)}.badge.st-wontfix{background:var(--st-wontfix-bg);color:var(--st-wontfix-ink)}.badge.sev{border:1px solid var(--border);color:var(--ink);background:0 0;padding:0 7px 0 6px}.badge.sev i{background:var(--c,var(--ink-3));border-radius:2px;width:8px;height:8px}.badge.sev-critical{--c:var(--sev-critical)}.badge.sev-high{--c:var(--sev-high)}.badge.sev-medium{--c:var(--sev-medium)}.badge.sev-low{--c:var(--sev-low)}.badge.sev-none{--c:var(--pin-done)}.badge.outline{border:1px solid var(--border);background:0 0}.badge.warn{background:var(--danger-soft);color:var(--danger)}.badge.accent{background:var(--accent-soft);color:var(--accent-ink)}.badge.hot{background:var(--sev-high);color:#fff}.kind-dot{color:#fff;background:var(--pin-comment);border-radius:6px;flex:none;place-items:center;width:20px;height:20px;display:inline-grid}.kind-dot.issue{background:var(--sev-high)}.kind-dot.issue.sev-critical{background:var(--sev-critical)}.kind-dot.issue.sev-medium{background:var(--sev-medium)}.kind-dot.issue.sev-low{background:var(--sev-low)}.kind-dot.done{background:var(--pin-done)}.menu{display:inline-flex;position:relative}.popover{z-index:80;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);min-width:220px;max-width:min(340px,100vw - 24px);box-shadow:var(--shadow-lg);padding:5px;position:absolute;top:calc(100% + 6px)}.popover.right{right:0}.popover.left{left:0}.popover-label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);padding:6px 9px 4px;font-size:11px;font-weight:650}.popover-sep{background:var(--border);height:1px;margin:5px 4px}.popover .item{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:9px;padding:7px 9px;font-size:13px;display:flex}.popover .item:hover,.popover .item:focus-visible{background:var(--hover);box-shadow:none}.popover .item small{color:var(--ink-3);font-size:11.5px;display:block}.popover .item .item-end{color:var(--ink-3);margin-left:auto;font-size:12px}.popover .item>svg{color:var(--ink-2);flex:none}.popover .item.off{color:var(--ink-3)}.popover .item .swatch{background:var(--c);border-radius:2px;flex:none;width:18px;height:3px}.popover .item.off .swatch{outline:1px dashed var(--c);background:0 0}.popover-block{padding:6px 9px 8px}.identity-form{width:280px;padding:6px 8px 4px}.row-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:10px;display:flex}.page{grid-template-rows:auto 1fr;height:100dvh;display:grid}.app-header{z-index:60;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:12px;height:52px;padding:0 16px;display:flex;position:relative}.brand{color:var(--ink);flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.brand:hover{text-decoration:none}.brand-mark{color:#fff;letter-spacing:.02em;background:linear-gradient(145deg,#4a67e8,#2c44b8);border-radius:7px;flex:none;place-items:center;width:28px;height:28px;font-size:11.5px;font-weight:750;display:grid}.brand-name{flex-direction:column;font-size:13.5px;font-weight:650;line-height:1.15;display:flex}.brand-name small{color:var(--ink-3);font-size:11px;font-weight:500}.app-nav{align-self:stretch;gap:2px;margin-left:12px;display:flex}.app-nav a{color:var(--ink-2);border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:0 12px;font-weight:550;display:flex}.app-nav a:hover{color:var(--ink);text-decoration:none}.app-nav a.active{color:var(--ink);border-bottom-color:var(--accent)}.nav-count{background:var(--sev-high);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:650;line-height:18px}.identity{color:var(--ink-2);align-items:center;gap:8px;max-width:220px;font-size:12.5px;display:inline-flex}.identity-menu .menu-trigger{max-width:220px;padding:0 8px 0 4px}.identity-name{text-overflow:ellipsis;overflow:hidden}.avatar{background:var(--accent-soft);width:24px;height:24px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-size:11.5px;font-weight:700;display:inline-grid}.avatar.none{background:var(--hover);color:var(--ink-3)}.page-main{overflow:auto}.page-inner{max-width:1320px;margin:0 auto;padding:24px 24px 56px}.page-head{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head h1{font-size:22px}.page-head p{color:var(--ink-3);margin:4px 0 0}.page-head .grow{min-width:0}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:14px 16px}.stat dt{color:var(--ink-3);font-size:12px;font-weight:550}.stat dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:24px;font-weight:650}.stat dd small{color:var(--ink-3);letter-spacing:0;margin-left:4px;font-size:13px;font-weight:500}.stat .stat-foot{flex-wrap:wrap;gap:6px;min-height:20px;margin-top:8px;display:flex}.stat.hot dd{color:var(--sev-high)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.toolbar .search-input{flex:0 280px;min-width:180px}.toolbar .result-count{color:var(--ink-3);margin-left:4px;font-size:12.5px}.filter{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);align-items:center;height:32px;display:inline-flex}.filter>span{color:var(--ink-3);white-space:nowrap;padding:0 2px 0 10px;font-size:12px}.filter select{height:30px;box-shadow:none;background-color:#0000;border:0;font-weight:550}.filter select:focus{box-shadow:none}.filter:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.filter.set{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-soft)}.callout{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);margin-bottom:20px;padding:16px 18px}.callout h2{margin-bottom:6px;font-size:15px}.callout p{color:var(--ink-2);margin:6px 0}.callout pre{border-radius:var(--r);background:var(--surface-2);border:1px solid var(--border);font:12.5px/1.6 var(--mono);margin:10px 0 4px;padding:12px 14px;overflow-x:auto}.empty{text-align:center;color:var(--ink-3);padding:40px 16px}.empty b{color:var(--ink);margin-bottom:4px;font-size:14px;display:block}.banner-error{border-radius:var(--r);background:var(--danger-soft);color:var(--danger);margin-bottom:14px;padding:10px 14px}.canvas-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:16px;display:grid}.canvas-card{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);flex-direction:column;transition:border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.canvas-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.canvas-card.archived{opacity:.7}.cc-preview{background:linear-gradient(180deg, var(--canvas-bg), var(--surface-2));border-bottom:1px solid var(--border);height:168px;color:inherit;gap:8px;padding:16px 16px 0;display:flex;position:relative;overflow:hidden}.cc-preview:hover{text-decoration:none}.cc-preview img{aspect-ratio:390/844;object-fit:cover;object-position:top;border:3px solid var(--phone);width:72px;box-shadow:var(--shadow-sm);background:#fff;border-radius:10px;flex:none}.cc-preview-empty{text-align:center;color:var(--ink-3);border:1.5px dashed var(--border-strong);border-radius:var(--r);flex:1;place-content:center;gap:2px;margin-bottom:16px;font-size:12.5px;display:grid}.cc-preview-empty b{color:var(--ink-2);font-size:15px}.cc-preview .badge{position:absolute;top:12px;right:12px}.cc-body{flex-direction:column;flex:1;gap:12px;padding:14px 16px 16px;display:flex}.cc-title-row{align-items:center;gap:8px;min-width:0;display:flex}.cc-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;overflow:hidden}.cc-notes{color:var(--ink-2);white-space:pre-wrap;margin:-4px 0 0;font-size:12.5px}.cc-meta{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;font-size:12.5px;display:grid}.cc-meta dt{color:var(--ink-3);margin-bottom:1px;font-size:11.5px}.cc-meta dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.meter{color:var(--ink-2);align-items:center;gap:10px;font-size:12px;display:flex}.meter-bar{background:var(--hover);border-radius:3px;flex:1;height:6px;overflow:hidden}.meter-bar i{background:var(--ok);border-radius:3px;height:100%;display:block}.cc-threads{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.cc-threads b{color:var(--ink);font-variant-numeric:tabular-nums}.cc-threads .hot b{color:var(--sev-high)}.cc-foot{border-top:1px solid var(--border);align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.cc-foot .mono{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.table-wrap{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);max-height:calc(100dvh - 260px);overflow:auto}table.table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.table th{z-index:1;text-align:left;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px;font-size:11.5px;font-weight:600;position:sticky;top:0}.table td{border-bottom:1px solid var(--border);vertical-align:top;padding:10px 12px}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{cursor:pointer}.table tbody tr:hover td{background:var(--surface-2)}.table tr.done .t-title a{color:var(--ink-3)}.table .num-col{width:64px;font-family:var(--mono);color:var(--ink-3);font-size:12px}.t-title{align-items:flex-start;gap:9px;min-width:260px;max-width:520px;display:flex}.t-title a{color:var(--ink);font-weight:600}.t-sub{color:var(--ink-3);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;display:-webkit-box;overflow:hidden}.t-canvas{max-width:220px}.t-canvas div{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nowrap{white-space:nowrap}.toasts{z-index:200;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;border-radius:var(--r-lg);background:var(--ink);max-width:420px;color:var(--surface);box-shadow:var(--shadow-lg);align-items:flex-start;gap:10px;padding:10px 8px 10px 12px;font-size:13px;display:flex}.toast>svg{opacity:.8;flex:none;margin-top:2px}.toast a{color:inherit;font-weight:600;text-decoration:underline}.toast .btn{color:inherit;width:22px;height:22px}.toast .btn:hover{background:#7f7f7f40}.toast.error{background:var(--danger);color:#fff}.board-app{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid}.board-bar{z-index:60;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:8px;min-width:0;height:52px;padding:0 12px;display:flex;position:relative}.board-bar .brand-mark{width:26px;height:26px;font-size:10.5px}.crumb{flex:0 auto;align-items:center;gap:6px;min-width:0;display:flex}.crumb a.crumb-root{color:var(--ink-3);white-space:nowrap;font-weight:550}.crumb>svg{color:var(--ink-3);flex:none}.crumb-title{flex-direction:column;min-width:0;line-height:1.2;display:flex}.crumb-title b{text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-weight:650;overflow:hidden}.crumb-title span{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:260px;font-size:11.5px;overflow:hidden}.bar-sep{background:var(--border);flex:none;width:1px;height:22px;margin:0 4px}.board-search{flex:0 300px;min-width:160px;margin-left:8px;position:relative}.results{z-index:80;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);width:max(100%,380px);max-height:60vh;box-shadow:var(--shadow-lg);padding:5px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto}.res{border-radius:var(--r-sm);text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:7px 9px;display:flex}.res.active,.res:hover{background:var(--hover)}.res .res-dot{background:var(--g);border-radius:2px;flex:none;width:8px;height:8px}.res span{min-width:0}.res small{color:var(--ink-3);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;display:block;overflow:hidden}.res-empty{color:var(--ink-3);padding:8px 10px}.stage{background:var(--canvas-bg);position:relative;overflow:hidden}.canvas{--inv:10;position:absolute;inset:0}.canvas .react-flow{background:var(--canvas-bg)}.canvas .react-flow__pane{cursor:grab}.canvas .react-flow__pane.dragging{cursor:grabbing}.canvas .react-flow__background{--xy-background-pattern-color:var(--dot)}.edge-markers{width:0;height:0;position:absolute;overflow:hidden}.rf-handle{opacity:0;pointer-events:none;border:0!important;width:1px!important;min-width:0!important;height:1px!important;min-height:0!important}.react-flow__node.rf-bg{pointer-events:none!important}.react-flow__node-screen,.react-flow__node-pill{cursor:pointer}.react-flow__edge{pointer-events:none!important}.react-flow__attribution{opacity:.55;font-size:10px;background:0 0!important}.react-flow__attribution a{color:var(--ink-3)!important}.react-flow__minimap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);margin:12px;transition:transform .2s;overflow:hidden}.stage.side-open .react-flow__minimap{transform:translateX(calc(var(--side-w) + 12px))}.float{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}.zoombar{z-index:20;align-items:center;gap:2px;padding:3px;transition:right .2s;display:flex;position:absolute;bottom:12px;right:12px}.stage.panel-open .zoombar{right:calc(var(--panel-w) + 24px)}.zoombar .zoomv{text-align:center;font-variant-numeric:tabular-nums;min-width:50px;color:var(--ink-2);font-size:12px}.mode-banner{z-index:25;background:var(--accent);color:#fff;box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 14px;font-weight:550;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%)}.mode-banner .btn{color:#fff;height:26px;box-shadow:none;background:#ffffff2e;border-color:#0000;border-radius:999px}.mode-banner .btn:hover{background:#ffffff4d}:root[data-theme=dark] .mode-banner,:root[data-theme=dark] .mode-banner .btn{color:#0b1030}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .mode-banner,:root:not([data-theme=light]) .mode-banner .btn{color:#0b1030}}.side{width:var(--side-w);z-index:31;flex-direction:column;display:flex;position:absolute;top:12px;bottom:12px;left:12px;overflow:hidden}.side-head{border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:8px 8px 0;display:flex}.side-tabs{flex:1;gap:2px;display:flex}.side-tabs button{color:var(--ink-3);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:8px 10px 9px;font-weight:600;display:flex}.side-tabs button:hover{color:var(--ink)}.side-tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.side-tabs .count{background:var(--hover);min-width:18px;height:18px;color:var(--ink-2);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;line-height:18px}.side-tabs .count.hot{background:var(--sev-high);color:#fff}.side-body{flex:1;padding:8px;overflow:auto}.side-tools{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:10px 10px 6px;display:flex}.side-tools .row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.side-tools select.select{flex:40%;width:auto;height:28px;font-size:12px}.side-tools .input{height:30px}.outline-group{margin-bottom:4px}.outline-head{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:6px 8px;font-weight:650;display:flex}.outline-head:hover{background:var(--hover)}.outline-head .chev{color:var(--ink-3);flex:none;transition:transform .15s}.outline-head.open .chev{transform:rotate(90deg)}.outline-head .swatch{background:var(--g);border-radius:3px;flex:none;width:10px;height:10px}.outline-head .n{color:var(--ink-3);margin-left:auto;font-size:12px;font-weight:500}.outline-section{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding:8px 8px 2px 34px;font-size:10.5px;font-weight:650}.outline-item{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--ink-2);background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px 5px 34px;font-size:13px;display:flex}.outline-item:hover{background:var(--hover);color:var(--ink)}.outline-item.sel{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.outline-item .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.outline-item .cap{background:var(--border-strong);border-radius:50%;flex:none;width:6px;height:6px}.outline-item .cap.on{background:var(--ok)}.outline-item .n{color:#fff;background:var(--pin-comment);border-radius:9px;padding:0 6px;font-size:11px;font-weight:650;line-height:17px}.outline-item .n.issue{background:var(--sev-high)}.outline-legend{border-top:1px solid var(--border);color:var(--ink-3);gap:12px;padding:8px 10px;font-size:11.5px;display:flex}.outline-legend span{align-items:center;gap:5px;display:inline-flex}.outline-legend i{background:var(--border-strong);border-radius:50%;width:6px;height:6px}.outline-legend i.on{background:var(--ok)}.side-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:flex}.tlist{margin:4px 0;padding:0;list-style:none}.trow{border-radius:var(--r);text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:flex-start;gap:10px;padding:8px;display:flex}.trow:hover{background:var(--hover)}.trow.done{color:var(--ink-3)}.trow-main{flex:1;min-width:0}.trow-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:550;display:-webkit-box;overflow:hidden}.trow-meta{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:3px 8px;margin-top:3px;font-size:11.5px;display:flex}.trow-id{font-family:var(--mono);color:var(--ink-3);font-size:11.5px}.panel{width:var(--panel-w);z-index:30;flex-direction:column;display:flex;position:absolute;top:12px;bottom:12px;right:12px;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);padding:14px 16px 0}.panel-head .top{align-items:flex-start;gap:8px;display:flex}.panel-head h2{flex:1;min-width:0;font-size:16px;line-height:1.3}.panel-head .route{font:12px var(--mono);color:var(--ink-3);word-break:break-all;margin-top:2px}.panel-tabs{gap:2px;margin-top:10px;display:flex}.panel-tabs button{color:var(--ink-3);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:7px 10px 9px;font-weight:600;display:flex}.panel-tabs button:hover{color:var(--ink)}.panel-tabs button.on{color:var(--ink);border-bottom-color:var(--accent)}.panel-tabs .count{background:var(--hover);min-width:18px;color:var(--ink-2);text-align:center;border-radius:9px;padding:0 5px;font-size:11px;line-height:18px}.panel-body{flex:1;padding:12px 16px 20px;overflow:auto}.panel h3{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);align-items:center;gap:6px;margin:18px 0 6px;font-size:11px;font-weight:650;display:flex}.panel h3 .dot{border-radius:50%;width:8px;height:8px}.tags{flex-wrap:wrap;gap:6px;display:flex}.props{border:1px solid var(--border);border-radius:var(--r);margin:12px 0 0;font-size:12.5px;overflow:hidden}.props .row{border-bottom:1px solid var(--border);grid-template-columns:92px 1fr;align-items:center;gap:10px;padding:7px 10px;display:grid}.props .row:last-child{border-bottom:0}.props dt{color:var(--ink-3)}.props dd{word-break:break-all;align-items:center;gap:6px;margin:0;display:flex}.props dd .btn{margin-left:auto}.elist{margin:0;padding:0;list-style:none}.elist button{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--ink);background:0 0;border:0;padding:7px 8px;display:block}.elist button:hover{background:var(--hover)}.elist .k{min-width:60px;font-size:11px;font-weight:650;display:inline-block}.elist small{color:var(--ink-3);word-break:break-all;margin-left:64px;font-size:11.5px;display:block}.mlist{flex-direction:column;gap:4px;display:flex}.mlist button{border-radius:var(--r);text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);align-items:center;gap:8px;padding:7px 9px;display:flex}.mlist button:hover{background:var(--hover)}.mlist button.cur{border-color:var(--accent);background:var(--accent-soft)}.mlist button>svg{color:var(--ink-3);flex:none}.mlist small{color:var(--ink-3);font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.panel-empty{color:var(--ink-3);font-size:12.5px}.composer,.thread{flex-direction:column;display:flex}.composer-head,.thread-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.composer-head b{margin-right:auto;font-size:14px}.pin-where{color:var(--ink-3);align-items:center;gap:6px;margin:8px 0 2px;font-size:12px;display:flex}.composer textarea,.thread textarea{margin-top:10px}.composer .actions,.thread .actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.actions .grow{flex:1}.name-needed{border-radius:var(--r);background:var(--surface-2);border:1px dashed var(--border-strong);margin-top:12px;padding:10px 12px}.name-needed .identity-form{width:auto;padding:0}.name-needed .field{margin:0}.thread .back{align-self:flex-start;align-items:center;gap:4px;margin-bottom:10px;font-size:12.5px;display:inline-flex}.thread-head .grow{flex:1}.thread-title{margin:10px 0 2px;font-size:15px;font-weight:650}.thread-meta{color:var(--ink-3);margin-top:6px;font-size:12px}.thread-meta .warn{color:var(--sev-high)}select.select.status-select{width:auto;height:28px;font-size:12.5px;font-weight:600}.status-select.st-open{color:var(--st-open-ink)}.status-select.st-in_progress{color:var(--st-progress-ink)}.status-select.st-resolved{color:var(--st-resolved-ink)}.messages{border-top:1px solid var(--border);margin:14px 0 0;padding:0;list-style:none}.messages .msg{border-bottom:1px solid var(--border);padding:10px 0}.msg-head{align-items:center;gap:8px;font-size:12px;display:flex}.msg-head .avatar{width:22px;height:22px;font-size:10.5px}.msg-head b{font-size:12.5px}.msg-actions{gap:10px;margin-left:auto;font-size:12px;display:flex}.msg-body{white-space:pre-wrap;word-break:break-word;margin:5px 0 0 30px;font-size:13.5px}.messages .event{color:var(--ink-3);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:7px 0 7px 8px;font-size:12px;display:flex}.messages .event:before{content:"";background:var(--border-strong);border-radius:50%;flex:none;width:6px;height:6px;margin-right:6px}.screen-comments .actions{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.dialog-backdrop{z-index:90;background:color-mix(in srgb, var(--canvas-bg) 55%, transparent);place-items:center;display:grid;position:absolute;inset:0}.dialog{width:min(520px,100% - 32px);max-height:calc(100% - 32px);padding:18px 20px;overflow:auto}.dialog-head{align-items:center;margin-bottom:10px;display:flex}.dialog-head h2{flex:1;font-size:16px}.shortcuts{grid-template-columns:auto 1fr;align-items:center;gap:8px 16px;margin:0;font-size:13px;display:grid}.shortcuts dt{justify-content:flex-end;gap:4px;display:flex}.shortcuts dd{color:var(--ink-2);margin:0}.export-overlay{z-index:95;background:color-mix(in srgb, var(--canvas-bg) 55%, transparent);place-items:center;display:grid;position:absolute;inset:0}.export-overlay>div{text-align:center;max-width:360px;padding:18px 22px}.export-overlay p{color:var(--ink-2);margin:6px 0 12px}.region{background:color-mix(in srgb, var(--g) 6%, var(--canvas-bg));border:3px solid color-mix(in srgb, var(--g) 20%, transparent);border-radius:56px;width:100%;height:100%;position:relative}.region-title{white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.015em;max-width:100%;font-weight:700;line-height:1.1;font-size:min(clamp(60px, calc(22px * var(--inv)), 900px), calc(var(--rw) / 8));color:color-mix(in srgb, var(--g) 70%, var(--ink));position:absolute;bottom:calc(100% + 18px);left:8px;overflow:hidden}.region-title small{color:var(--ink-3);letter-spacing:0;text-overflow:ellipsis;margin-top:.15em;font-size:.38em;font-weight:500;display:block;overflow:hidden}.section-label{white-space:nowrap;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb, var(--g) 60%, var(--ink-2));font-weight:650;line-height:1;font-size:clamp(26px, calc(11px * var(--inv)), 110px)}.canvas.far .section-label{opacity:.8}.screen{width:414px;height:868px;transition:opacity .15s;position:relative}.screen.dim,.pill.dim{opacity:.25}.screen.kind-helper,.screen.kind-dev,.screen.kind-system{opacity:.7}.screen.dim.kind-helper,.screen.dim.kind-dev,.screen.dim.kind-system{opacity:.2}.s-head{white-space:nowrap;position:absolute;bottom:calc(100% + 14px);left:4px;right:4px;overflow:hidden}.s-title{text-overflow:ellipsis;color:var(--ink);font-size:25px;font-weight:700;overflow:hidden}.s-route{font:17px var(--mono);color:var(--ink-3);text-overflow:ellipsis;overflow:hidden}.phone{background:var(--phone);width:414px;height:868px;box-shadow:var(--phone-shadow);border-radius:58px;padding:12px;position:relative}.canvas.far .phone{box-shadow:none}.screen.sel .phone{box-shadow:0 0 0 calc(3px * var(--inv)) var(--accent), var(--phone-shadow)}.scr{background:var(--screen-bg);color:#1d1d1b;border-radius:46px;width:390px;height:844px;position:relative;overflow:hidden}.scr>img,.scr>video,.scr>iframe{object-fit:cover;pointer-events:none;border:0;width:100%;height:100%;display:block}.scr>video.live,.scr>iframe.live{pointer-events:auto}.strip{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:calc(100% + 14px);left:0;right:0}.strip button,.strip .chip{cursor:pointer;background:var(--surface);border:2px solid var(--border);color:var(--ink-2);border-radius:999px;padding:5px 13px;font-size:17px;line-height:1.3}.strip button.cur{border-color:var(--accent);color:var(--accent-ink)}.strip .chip{cursor:default;background:0 0;border-style:dashed}.strip .chip.warn{color:var(--e-guessed);border-color:color-mix(in srgb, var(--e-guessed) 45%, transparent)}.canvas.far .s-route,.canvas.far .strip{display:none}.canvas.far .s-title{font-size:40px}.pill{background:var(--surface);width:360px;height:78px;box-shadow:var(--shadow);border:3px solid color-mix(in srgb, var(--e-layout) 55%, transparent);border-radius:39px;flex-direction:column;justify-content:center;padding:0 28px;transition:opacity .15s;display:flex}.pill b{white-space:nowrap;text-overflow:ellipsis;font-size:22px;overflow:hidden}.pill span{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:16px;overflow:hidden}.pill.sel{box-shadow:0 0 0 calc(3px * var(--inv)) var(--accent), var(--shadow)}.ph{background:linear-gradient(170deg, color-mix(in srgb, var(--g) 13%, #fff), color-mix(in srgb, var(--g) 4%, #fff));flex-direction:column;gap:10px;padding:70px 34px 44px;display:flex;position:absolute;inset:0}.ph-group{text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb, var(--g) 70%, #333);font-size:17px;font-weight:650}.ph-title{letter-spacing:-.01em;color:#16181d;font-size:40px;font-weight:750;line-height:1.1}.ph-route{font:19px var(--mono);color:#4b5260;word-break:break-all}.ph-note{color:#4b5260;font-size:19px}.ph-fill{flex:1}.ph-badge{border:2px dashed color-mix(in srgb, var(--g) 45%, #999);color:#4b5260;background:#fffc;border-radius:999px;align-self:flex-start;padding:6px 14px;font-size:17px;font-weight:600}.ph-meta{font:15px var(--mono);color:#626873;word-break:break-all}.ph.sheet-ph{background:color-mix(in srgb, var(--g) 10%, #d8d8d4);padding:0}.ph.sheet-ph .sheet{background:#fff;border-radius:40px 40px 0 0;flex-direction:column;gap:10px;height:64%;padding:22px 34px 40px;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0000001f}.ph.sheet-ph .sheet:before{content:"";background:#d0d0cb;border-radius:4px;align-self:center;width:64px;height:7px;margin-bottom:14px}.ph.sheet-ph .ph-title{font-size:34px}.canvas.far .ph>:not(.ph-title):not(.ph-group),.canvas.far .ph .sheet>:not(.ph-title):not(.ph-group){visibility:hidden}.canvas.far .ph-title{font-size:52px}path.e{fill:none;stroke-linecap:round;stroke-width:calc(1.6px * var(--inv))}path.e.base{opacity:.5}path.e.gut{opacity:.75;stroke-width:clamp(4px, calc(1.8px * var(--inv)), 12px)}.canvas.focus path.e.base{opacity:.06}path.e.c-forward{stroke:var(--e-forward)}path.e.c-replace{stroke:var(--e-replace)}path.e.c-drawer{stroke:var(--e-drawer)}path.e.c-layout{stroke:var(--e-layout)}path.e.c-back{stroke:var(--e-back);stroke-dasharray:calc(14px * var(--inv)) calc(8px * var(--inv))}path.e.c-inferred{stroke-dasharray:calc(1px * var(--inv)) calc(6px * var(--inv))}path.e.c-inferred.base{stroke:var(--e-inferred)}path.e.guessed{stroke:var(--e-guessed);stroke-dasharray:calc(9px * var(--inv)) calc(6px * var(--inv))}path.e.d-out{stroke:var(--dir-out);stroke-width:calc(2.6px * var(--inv))}path.e.d-in{stroke:var(--dir-in);stroke-width:calc(2.6px * var(--inv))}path.e.hov{opacity:.5;stroke-width:calc(1.6px * var(--inv))}.canvas.placing .react-flow__node-screen .scr{cursor:crosshair}.canvas.placing .scr>video,.canvas.placing .scr>iframe{pointer-events:none!important}.canvas.placing .react-flow__node-screen .scr:after{content:"";pointer-events:none;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 calc(2px * var(--inv)) color-mix(in srgb, var(--accent) 60%, transparent);position:absolute;inset:0}.pins{pointer-events:none;z-index:2;position:absolute;inset:0}.pin{pointer-events:auto;cursor:pointer;padding:0 calc(var(--size) * .22);--size:clamp(40px, calc(15px * var(--inv)), 150px);min-width:var(--size);height:var(--size);border-radius:calc(var(--size) / 2) calc(var(--size) / 2) calc(var(--size) / 2) 0;line-height:1;font-family:var(--font);font-weight:750;font-size:calc(var(--size) * .42);font-variant-numeric:tabular-nums;color:#fff;border:calc(var(--size) * .07) solid #fff;background:var(--pin-comment);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 10px #00000059}.pin.issue.sev-critical{background:var(--sev-critical)}.pin.issue.sev-high,.pin.issue.sev-none{background:var(--sev-high)}.pin.issue.sev-medium{background:var(--sev-medium)}.pin.issue.sev-low{background:var(--sev-low)}.pin.done{background:var(--pin-done);opacity:.85}.pin.active{outline:calc(var(--size) * .08) solid var(--accent);outline-offset:calc(var(--size) * .06)}.pin:focus-visible{outline:calc(var(--size) * .08) solid var(--accent);box-shadow:none}.pin.draft{width:var(--size);background:var(--accent);pointer-events:none;padding:0;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}.cbadge{top:calc(var(--b) / -3);right:calc(var(--b) / -3);z-index:3;--b:clamp(46px, calc(18px * var(--inv)), 220px);min-width:var(--b);height:var(--b);padding:0 calc(var(--b) * .25);border-radius:calc(var(--b) / 2);font-weight:750;font-size:calc(var(--b) * .5);color:#fff;background:var(--pin-comment);border:calc(var(--b) * .07) solid var(--canvas-bg);place-items:center;display:grid;position:absolute;box-shadow:0 2px 8px #00000040}.cbadge.issue.sev-critical{background:var(--sev-critical)}.cbadge.issue.sev-high,.cbadge.issue.sev-none{background:var(--sev-high)}.cbadge.issue.sev-medium{background:var(--sev-medium)}.cbadge.issue.sev-low{background:var(--sev-low)}.canvas.exporting *,.canvas.exporting :before,.canvas.exporting :after{transition:none!important;animation:none!important}.canvas.exporting .screen.dim,.canvas.exporting .pill.dim{opacity:1}.canvas.exporting .screen.sel .phone{box-shadow:var(--phone-shadow)}.canvas.exporting .pill.sel{box-shadow:var(--shadow)}.canvas.exporting .pin.active{outline:none}.canvas.exporting .scr:after{display:none}.export-caption{white-space:nowrap;line-height:1.2;position:absolute;top:0;left:0}.export-caption b{font-size:calc(26px * var(--inv));display:block}.export-caption span{font-size:calc(14px * var(--inv));color:var(--ink-2);display:block}.show-sm{display:none!important}@media (width<=1180px){.hide-md{display:none!important}}@media (width<=720px){.hide-sm{display:none!important}.show-sm{display:inline-flex!important}.app-header{gap:8px;padding:0 10px}.brand-name,.identity-name{display:none}.app-nav{margin-left:4px}.app-nav a{padding:0 8px}.page-inner{padding:16px 12px 40px}.page-head h1{font-size:19px}.stats{grid-template-columns:1fr 1fr}.toolbar .search-input{flex:100%}.table-wrap{max-height:none}.table .hide-col{display:none}.t-title{min-width:200px}.board-bar{gap:6px;padding:0 8px}.crumb-title b,.crumb-title span{max-width:150px}.board-search{flex:auto;min-width:0;margin-left:0}.board-search .kbd{display:none}.side{z-index:70;border-radius:0;width:auto;inset:0}.panel{border-radius:var(--r-lg) var(--r-lg) 0 0;width:auto;height:60%;inset:auto 0 0}.stage.panel-open .zoombar{bottom:calc(60% + 12px);right:12px}.react-flow__minimap{display:none}.mode-banner{top:auto;bottom:64px}.mode-banner .hide-sm{display:none}}.compare-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.compare-bar .btn small{color:var(--ink-3);margin-left:4px}.compare-body{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:16px;display:grid}.compare-list{flex-direction:column;gap:2px;max-height:calc(100vh - 260px);display:flex;position:sticky;top:0;overflow:auto}.compare-item{text-align:left;border-radius:var(--r);color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;gap:8px;padding:6px 10px;display:flex}.compare-item:hover{background:var(--hover)}.compare-item.on{background:var(--accent-soft);color:var(--accent-ink)}.compare-miss{background:var(--sev-high);color:#fff;text-align:center;border-radius:9px;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:18px}.compare-row h2{margin:0 0 12px;font-size:16px}.compare-row h2 small{color:var(--ink-3);margin-left:8px;font-weight:400}.compare-cells{align-items:flex-start;gap:20px;padding-bottom:12px;display:flex;overflow-x:auto}.compare-cell{flex:none;margin:0}.compare-cell figcaption{flex-direction:column;margin-bottom:6px;font-size:12.5px;display:flex}.compare-cell figcaption small{color:var(--ink-3)}.compare-cell img{border:1px solid var(--border);background:var(--surface);border-radius:10px;display:block}.compare-none{border:1px dashed var(--border-strong);color:var(--ink-3);border-radius:10px;place-items:center;font-size:12.5px;display:grid}@media (width<=800px){.compare-body{grid-template-columns:1fr}.compare-list{max-height:180px;position:static}}
