/* Code generated by swapeteer; DO NOT EDIT. */
/* Generated by Swapeteer design. Edit the design JSON/TOML source. */
@namespace html url("http://www.w3.org/1999/xhtml");
@namespace svg url("http://www.w3.org/2000/svg");
@namespace math url("http://www.w3.org/1998/Math/MathML");
@layer swapeteer-theme, swapeteer-reset, swapeteer-defaults, swapeteer-components, swapeteer-recipes, swapeteer-utilities;
@layer swapeteer-theme, swapeteer-reset, swapeteer-defaults, swapeteer-utilities;

@layer swapeteer-theme {
  :root {
    --sw-color-neutral-50: #f0f1f3;
    --sw-color-neutral-400: #8390a2;
    --sw-color-neutral-700: #404a58;
    --sw-color-neutral-950: #121519;
    --sw-color-accent-700: #055c71;
    --sw-color-green-600: #12853d;
    --sw-surface: var(--sw-color-neutral-50);
    --sw-text: var(--sw-color-neutral-950);
    --sw-muted: var(--sw-color-neutral-700);
    --sw-border: var(--sw-color-neutral-400);
    --sw-accent: var(--sw-color-accent-700);
    --sw-success: var(--sw-color-green-600);
    --sw-on-accent: #ffffff;
    --sw-radius-md: 0.5rem;
  }
  @keyframes sw-defaults-fade { from { opacity: 0; } to { opacity: 1; } }
  @keyframes sw-defaults-pulse { 50% { opacity: 0.5; } }
  @media (prefers-reduced-motion: reduce) {
    :root { }
  }
}

@layer swapeteer-defaults {
}

@layer swapeteer-theme {
  :root {
    color-scheme: dark;
    --sw-accent: #b8b3ef;
    --sw-border: #303342;
    --sw-canvas: #181a25;
    --sw-color-accent-700: #055c71;
    --sw-color-green-600: #12853d;
    --sw-color-neutral-400: #8390a2;
    --sw-color-neutral-50: #f0f1f3;
    --sw-color-neutral-700: #404a58;
    --sw-color-neutral-950: #121519;
    --sw-gutter: #090b10;
    --sw-muted: #a0a3b5;
    --sw-on-accent: #1c1935;
    --sw-radius-md: 0.5rem;
    --sw-selection: #303047;
    --sw-success: #87c4a5;
    --sw-surface: #1c1e2a;
    --sw-surface-raised: #242735;
    --sw-text: #ececf3;
    --sw-ui-font-size: 11px;
    --sw-ui-spacing: 0.5;
  }
  :root[data-theme="light"] {
    color-scheme: light;
    --sw-accent: #b8b3ef;
    --sw-border: #303342;
    --sw-canvas: #181a25;
    --sw-color-accent-700: #055c71;
    --sw-color-green-600: #12853d;
    --sw-color-neutral-400: #8390a2;
    --sw-color-neutral-50: #f0f1f3;
    --sw-color-neutral-700: #404a58;
    --sw-color-neutral-950: #121519;
    --sw-gutter: #090b10;
    --sw-muted: #a0a3b5;
    --sw-on-accent: #1c1935;
    --sw-radius-md: 0.5rem;
    --sw-selection: #303047;
    --sw-success: #87c4a5;
    --sw-surface: #1c1e2a;
    --sw-surface-raised: #242735;
    --sw-text: #ececf3;
    --sw-ui-font-size: 11px;
    --sw-ui-spacing: 0.5;
  }
  :root[data-theme="dark"] {
    color-scheme: dark;
    --sw-accent: #b8b3ef;
    --sw-border: #303342;
    --sw-canvas: #181a25;
    --sw-color-accent-700: #055c71;
    --sw-color-green-600: #12853d;
    --sw-color-neutral-400: #8390a2;
    --sw-color-neutral-50: #f0f1f3;
    --sw-color-neutral-700: #404a58;
    --sw-color-neutral-950: #121519;
    --sw-gutter: #090b10;
    --sw-muted: #a0a3b5;
    --sw-on-accent: #1c1935;
    --sw-radius-md: 0.5rem;
    --sw-selection: #303047;
    --sw-success: #87c4a5;
    --sw-surface: #1c1e2a;
    --sw-surface-raised: #242735;
    --sw-text: #ececf3;
    --sw-ui-font-size: 11px;
    --sw-ui-spacing: 0.5;
  }
  @media (prefers-color-scheme: light) {
  :root[data-theme="system"] {
    color-scheme: light;
    --sw-accent: #b8b3ef;
    --sw-border: #303342;
    --sw-canvas: #181a25;
    --sw-color-accent-700: #055c71;
    --sw-color-green-600: #12853d;
    --sw-color-neutral-400: #8390a2;
    --sw-color-neutral-50: #f0f1f3;
    --sw-color-neutral-700: #404a58;
    --sw-color-neutral-950: #121519;
    --sw-gutter: #090b10;
    --sw-muted: #a0a3b5;
    --sw-on-accent: #1c1935;
    --sw-radius-md: 0.5rem;
    --sw-selection: #303047;
    --sw-success: #87c4a5;
    --sw-surface: #1c1e2a;
    --sw-surface-raised: #242735;
    --sw-text: #ececf3;
    --sw-ui-font-size: 11px;
    --sw-ui-spacing: 0.5;
  }
  }
  @media (prefers-color-scheme: dark) {
  :root[data-theme="system"] {
    color-scheme: dark;
    --sw-accent: #b8b3ef;
    --sw-border: #303342;
    --sw-canvas: #181a25;
    --sw-color-accent-700: #055c71;
    --sw-color-green-600: #12853d;
    --sw-color-neutral-400: #8390a2;
    --sw-color-neutral-50: #f0f1f3;
    --sw-color-neutral-700: #404a58;
    --sw-color-neutral-950: #121519;
    --sw-gutter: #090b10;
    --sw-muted: #a0a3b5;
    --sw-on-accent: #1c1935;
    --sw-radius-md: 0.5rem;
    --sw-selection: #303047;
    --sw-success: #87c4a5;
    --sw-surface: #1c1e2a;
    --sw-surface-raised: #242735;
    --sw-text: #ececf3;
    --sw-ui-font-size: 11px;
    --sw-ui-spacing: 0.5;
  }
  }
  @media (prefers-reduced-motion: reduce) {
    :root, :root[data-theme], :root:not([data-theme="light"]):not([data-theme="dark"]) {
    }
  }
}

@layer swapeteer-defaults {
}

@layer swapeteer-recipes {
}

/* App-owned aliases for component variables. */
:root {
  --accent: var(--sw-accent);
  --accent-bg: var(--sw-selection);
  --bg: var(--sw-canvas);
  --border: var(--sw-border);
  --green: var(--sw-success);
  --gutter: var(--sw-gutter);
  --sw-kit-control-radius-fe05816c: var(--sw-radius-md);
  --sw-kit-focus-ring-34fa0afa: var(--sw-accent);
  --sw-kit-ghost-foreground-f68de0b2: var(--sw-muted);
  --sw-kit-ghost-hover-eb01d66f: var(--sw-surface-raised);
  --sw-kit-outline-foreground-295c3e83: var(--sw-text);
  --sw-kit-outline-hover-3170acf2: var(--sw-surface-raised);
  --sw-kit-primary-background-04abc159: var(--sw-accent);
  --sw-kit-primary-foreground-f920f16d: var(--sw-on-accent);
  --sw-kit-primary-hover-b5e2cf67: var(--sw-text);
  --sw-kit-secondary-background-46fac7d7: var(--sw-surface-raised);
  --sw-kit-secondary-foreground-8d744af6: var(--sw-text);
  --sw-kit-secondary-hover-6d810eb0: var(--sw-border);
  --muted: var(--sw-muted);
  --panel: var(--sw-surface);
  --panel-raised: var(--sw-surface-raised);
  --soft: var(--sw-muted);
  --text: var(--sw-text);
  --ui-font-size: var(--sw-ui-font-size);
  --ui-spacing: var(--sw-ui-spacing);
}

:root {
  --sw-theme-radius-md-44004192: var(--sw-radius-md);
  --sw-theme-surface-da5f863b: var(--sw-surface);
  --sw-theme-text-3ece2864: var(--sw-text);
}

@layer swapeteer-utilities {
.s009ea04838{overflow-y:visible}.s0192fbc472{inset-block-end:var(--sw-kit-layout-base-insetblockend-6aa4a7be)}.s0609f49f00{overflow-x:scroll}.s093040e6d6{font-weight:700}.s11eb79e717{column-gap:1rem}.s11f79d3559{align-self:start}.s137d24934b{border-top-right-radius:50%}.s151cc02852{padding-top:1rem}.s175269c5f8{width:var(--sw-tile-width-952eb537)}.s192412732c{column-gap:2px}.s1c7726dd24{background-color:var(--sw-kit-secondary-background-46fac7d7)}.s1ce7ca7454{justify-content:center}.s202fef69f8{background-color:var(--sw-theme-surface-da5f863b)}.s23ad0999ac{align-self:stretch}.s2400f9e1c8{justify-content:flex-end}.s248bd9cd79{justify-self:center}.s24d42ef43c{position:static}.s26b88fc8c6{grid-template-columns:minmax(0px,1fr) minmax(0px,2fr)}.s291dfb4457{align-items:flex-start}.s2b0dc4f10c{overflow-y:clip}.s2de39a1c5e{align-items:stretch}.s2e3ff1a7ef{align-self:center}.s2ec78a2598{overflow-x:auto}.s2f0228311c{overflow-x:hidden}.s2f27030aa0{justify-content:end}.s312b272703{grid-column-end:var(--sw-kit-layout-base-columnend-26e05194)}.s32c3c1f0bc{padding-bottom:0.625rem}.s32d5075b2d{grid-template-rows:var(--sw-kit-layout-base-rows-7b0c942f)}.s34aaa59c19{padding-top:0.375rem}.s36a45a4844{align-self:auto}.s38fb16170b{justify-content:stretch}.s391b93ad46{background-color:var(--sw-kit-destructive-background-637a9c49)}.s3a013066ef{overflow-x:clip}.s3dfe138b5f{padding-bottom:0.875rem}.s408c29ff13{flex-direction:row}.s41f5925269{overflow-y:scroll}.s4375502ac3{justify-content:start}.s457543a6e4{justify-content:normal}.s48b0ba9670{padding-block-end:var(--sw-kit-layout-base-paddingblockend-290eb7dd)}.s48efba7812{display:inline-block}.s4a6babfd05{align-items:normal}.s4b5355348b{align-items:baseline}.s4b7160e85f{padding-bottom:0.75rem}.s4c805b98c2{justify-self:normal}.s4ce03b263d{background-color:var(--sw-kit-primary-background-04abc159)}.s4d4a139d61{flex-grow:0}.s4f3f3ed5c5{align-items:end}.s4f5d61668f{overflow-x:visible}.s5338f41632{color:var(--sw-kit-primary-foreground-f920f16d)}.s5395ecee26{width:0.875rem}.s539f730152{inset-inline-end:var(--sw-kit-layout-base-insetinlineend-ed3a8b9c)}.s541620f89c{padding-left:0.65rem}.s5665255628{background-color:var(--sw-kit-outline-background-04dddcc6)}.s5a4e75551a{justify-self:stretch}.s5bfcded221{flex-shrink:1}.s5cde10bbb1{border-bottom-left-radius:50%}.s5cec8bc2ba{row-gap:0.75rem}.s5e540b35c9{min-width:var(--sw-kit-layout-base-minwidth-3bf0f869)}.s5ef3d78ea1{inset-block-start:var(--sw-kit-layout-base-insetblockstart-c9a504bf)}.s5efc1c3f32{color:var(--sw-kit-ghost-foreground-f68de0b2)}.s5f59c7f0e6{border-top-left-radius:50%}.s621b570f89{position:relative}.s6315588abd{align-items:flex-end}.s63acc1b0be{min-width:0px}.s64007b8fc5{padding-inline-end:var(--sw-kit-layout-base-paddinginlineend-14315849)}.s6643553036{left:var(--sw-tile-left-934d333b);top:var(--sw-tile-top-42646617)}.s68d540324a{column-gap:0.5rem}.s690be02240{padding-left:0.75rem}.s692a32ec0e{grid-column-start:var(--sw-kit-layout-base-columnstart-3449eb3d)}.s6b81aa318a{padding-right:1rem}.s6bb5f5de1f{justify-self:auto}.s6dc7a11954{min-height:3rem}.s6e1387169a{height:var(--sw-kit-layout-base-height-9d32e6f8)}.s6e7bc80d0b{align-self:baseline}.s6f1e9b3b10{max-width:var(--sw-kit-layout-base-maxwidth-beb7c1d8)}.s704fe03788{overflow-y:auto}.s719e0211dd{color:var(--sw-kit-secondary-foreground-8d744af6)}.s732ea0820a{row-gap:var(--sw-kit-layout-base-rowgap-4298ec9c)}.s76b838fcb2{row-gap:0.5rem}.s76c4dddcea{grid-template-columns:var(--sw-kit-layout-base-columns-f74c6c2b)}.s785e9b9f89{align-items:center}.s79978a472e{padding-right:1.25rem}.s79e51eb22b{border-bottom-right-radius:50%}.s7b0fec0888{color:var(--sw-kit-destructive-foreground-e4434865)}.s7c14c07f4f{flex-grow:1}.s7e2a06d0ee{flex-wrap:nowrap}.s7f14d60ade{margin-block-end:var(--sw-kit-layout-base-marginblockend-867bb6a8)}.s808cd0a642{font-size:1rem}.s82152565b3{justify-self:end}.s82374777a1{align-self:end}.s8560ca4b84{border-top-right-radius:var(--sw-kit-control-radius-fe05816c)}.s86e73466a1{flex-basis:var(--sw-kit-layout-base-basis-784bff93)}.s884f0a528e{justify-content:space-around}.s897bcbb84d{max-height:var(--sw-kit-layout-base-maxheight-5013d047)}.s89dceeccba{font-size:0.875rem}.s8c6943dd7c{min-height:2.5rem}.s8e3b7b2eb0{row-gap:8px}.s906274d83b{height:0.875rem}.s9068002f35{background-color:var(--sw-kit-ghost-background-d27c5935)}.s91be6ffb67{flex-direction:column}.s9316c462c7{flex-wrap:wrap}.s935e1fad41{grid-row-start:var(--sw-kit-layout-base-rowstart-7a21aff9)}.s9587d34dca{padding-top:0.75rem}.s960d353ff4{padding-bottom:0.45rem}.s961eefeecc{align-items:start}.s97ba48cd06{row-gap:2px}.s99786067c3{padding-block-start:var(--sw-kit-layout-base-paddingblockstart-8efdbc47)}.s9b74570045{margin-inline-end:var(--sw-kit-layout-base-margininlineend-708d796f)}.s9ed7e5849e{display:grid}.sa0f53cd8af{border-bottom-right-radius:var(--sw-kit-control-radius-fe05816c)}.sa26965611d{border-top-left-radius:var(--sw-kit-control-radius-fe05816c)}.sa2fe3bb71c{padding-top:0.625rem}.sa4def0b734{line-height:1.25}.sa53849105b{border-top-left-radius:var(--sw-theme-radius-md-44004192)}.sa5acfbb09b{padding-left:1rem}.sa6b9d6a1b0{padding-bottom:0.375rem}.sa8261f8903{padding-top:0.875rem}.sabbf582d05{color:var(--sw-kit-outline-foreground-295c3e83)}.sac4befa98c{display:inline-flex}.saed2d34fde{margin-inline-start:var(--sw-kit-layout-base-margininlinestart-cb908716)}.sb012340edc{width:var(--sw-kit-layout-base-width-4ee42988)}.sb0e31c7dec{inset-inline-start:var(--sw-kit-layout-base-insetinlinestart-f021a8fc)}.sb181a747d8{padding-left:1.25rem}.sb463e4e567{margin-block-start:var(--sw-kit-layout-base-marginblockstart-ce7690ff)}.sb5e1c37bb8{font-size:1.125rem}.sb633e5fa22{flex-direction:column-reverse}.sbba9a02dec{position:fixed}.sbfb650fc60{padding-bottom:1rem}.sc1fc029786{min-height:var(--sw-kit-layout-base-minheight-7c1a162e)}.sc30fc539e4{column-gap:var(--sw-kit-layout-base-gap-18940c27)}.sc496cb914e{align-self:flex-start}.sc7e0fb9755{justify-content:space-between}.sca9ad0de70{padding-top:0.45rem}.sccdf30e71a{padding-right:0.65rem}.sd1dfdfe161{border-bottom-left-radius:var(--sw-theme-radius-md-44004192)}.sd2fe05fe3f{row-gap:var(--sw-kit-layout-base-gap-18940c27)}.sd3816c926b{grid-row-end:var(--sw-kit-layout-base-rowend-161e6149)}.sd3da5b9f5c{z-index:var(--sw-kit-layout-base-zindex-b3f21264)}.sd702ff1823{column-gap:var(--sw-kit-layout-base-columngap-3af15a98)}.sd7ac9d8b29{border-bottom-right-radius:var(--sw-theme-radius-md-44004192)}.sd7d4c94319{flex-wrap:wrap-reverse}.sda552b51c4{border-bottom-left-radius:var(--sw-kit-control-radius-fe05816c)}.sdd110e4afb{height:var(--sw-tile-height-adbefe51)}.sde5457d943{margin:0px}.sde87028fdd{overflow-y:hidden}.sdf21677c24{align-self:normal}.se1460584f4{flex-shrink:0}.se381bd6cda{position:sticky}.se485779fab{justify-content:flex-start}.se6b2220aae{justify-content:space-evenly}.se6ba25afe2{justify-self:start}.se78d48248f{display:flex}.se7a1b81c15{min-height:2rem}.se87d73ee18{column-gap:8px}.se9cd8dfb51{color:var(--sw-theme-text-3ece2864)}.seabbb9953c{border-top-right-radius:var(--sw-theme-radius-md-44004192)}.sebb0b574ff{font-weight:600}.sf0bbd88c45{align-self:flex-end}.sf430fc1578{padding-right:0.75rem}.sf79464d399{font-size:0.8125rem}.sf7b6d82441{flex-direction:row-reverse}.sfcbaddffdb{position:absolute}.sfe60548652{padding-inline-start:var(--sw-kit-layout-base-paddinginlinestart-1cb64b42)}.s2bb0bf1f1d:hover{background-color:var(--sw-kit-primary-hover-b5e2cf67)}.s48dd289a61:hover{background-color:var(--sw-kit-outline-hover-3170acf2)}.s5a81f80006:hover{background-color:var(--sw-kit-secondary-hover-6d810eb0)}.s6a3cb2be06:hover{background-color:var(--sw-kit-destructive-hover-77fd3cbf)}.sfb1c6a43e3:hover{background-color:var(--sw-kit-ghost-hover-eb01d66f)}.s0d0c7365b8:disabled{opacity:0.5}.s52adbca9a2:disabled{opacity:0.55}@media(min-width:40rem){.s02466eeba6{overflow-y:scroll}}@media(min-width:40rem){.s0734ed409a{justify-content:flex-start}}@media(min-width:40rem){.s07a2c44fc1{padding-block-end:var(--sw-kit-layout-sm-paddingblockend-395abea4)}}@media(min-width:40rem){.s07f9dc043d{inset-inline-end:var(--sw-kit-layout-sm-insetinlineend-02e103de)}}@media(min-width:40rem){.s09034baa88{flex-direction:row}}@media(min-width:40rem){.s0c3bda813e{justify-self:auto}}@media(min-width:40rem){.s12cc57da51{grid-column-start:var(--sw-kit-layout-sm-columnstart-7d99977d)}}@media(min-width:40rem){.s147a1544b7{grid-row-end:var(--sw-kit-layout-sm-rowend-a311c20b)}}@media(min-width:40rem){.s15f3ba8b3a{row-gap:var(--sw-kit-layout-sm-gap-28684960)}}@media(min-width:40rem){.s1a668d639b{justify-content:flex-end}}@media(min-width:40rem){.s2102291b58{align-items:end}}@media(min-width:40rem){.s22210bd730{padding-inline-end:var(--sw-kit-layout-sm-paddinginlineend-f1582554)}}@media(min-width:40rem){.s249c379cf7{column-gap:var(--sw-kit-layout-sm-gap-28684960)}}@media(min-width:40rem){.s24ed503c18{position:fixed}}@media(min-width:40rem){.s2af919d361{justify-content:stretch}}@media(min-width:40rem){.s2c46420c08{flex-grow:1}}@media(min-width:40rem){.s2e912bb3a9{justify-content:center}}@media(min-width:40rem){.s31a6b162a0{justify-self:start}}@media(min-width:40rem){.s33161f0669{justify-self:center}}@media(min-width:40rem){.s36a7bfa6d2{flex-direction:column-reverse}}@media(min-width:40rem){.s3f0544a93f{column-gap:var(--sw-kit-layout-sm-columngap-de7e859e)}}@media(min-width:40rem){.s40aac31767{flex-wrap:wrap}}@media(min-width:40rem){.s45df761772{overflow-x:visible}}@media(min-width:40rem){.s4c3aa69d0e{justify-content:end}}@media(min-width:40rem){.s4ec5cfb56d{position:sticky}}@media(min-width:40rem){.s5313fb8d92{overflow-y:auto}}@media(min-width:40rem){.s59506e9073{position:relative}}@media(min-width:40rem){.s5956a5d8ca{grid-template-rows:var(--sw-kit-layout-sm-rows-e8cbcacd)}}@media(min-width:40rem){.s5d9cf92707{row-gap:var(--sw-kit-layout-sm-rowgap-caf75f69)}}@media(min-width:40rem){.s5f04832576{flex-wrap:wrap-reverse}}@media(min-width:40rem){.s60d312ba50{align-items:flex-start}}@media(min-width:40rem){.s61c5a08d90{align-items:stretch}}@media(min-width:40rem){.s639488cc5f{padding-block-start:var(--sw-kit-layout-sm-paddingblockstart-645423c2)}}@media(min-width:40rem){.s65a0f202fa{align-self:flex-start}}@media(min-width:40rem){.s67477773f9{flex-direction:column}}@media(min-width:40rem){.s67608ff6bc{max-width:var(--sw-kit-layout-sm-maxwidth-ebb3a6b9)}}@media(min-width:40rem){.s69179699ea{align-items:start}}@media(min-width:40rem){.s69514aaf96{overflow-x:hidden}}@media(min-width:40rem){.s6c91eca7d3{flex-basis:var(--sw-kit-layout-sm-basis-88415109)}}@media(min-width:40rem){.s6cc171efa3{margin-inline-end:var(--sw-kit-layout-sm-margininlineend-c85f95fe)}}@media(min-width:40rem){.s6d9a034e73{min-height:var(--sw-kit-layout-sm-minheight-7558b9ba)}}@media(min-width:40rem){.s711a2bec3d{inset-inline-start:var(--sw-kit-layout-sm-insetinlinestart-9f0f0994)}}@media(min-width:40rem){.s7175c5d8f3{justify-content:start}}@media(min-width:40rem){.s79f7d7435e{min-width:var(--sw-kit-layout-sm-minwidth-12f4433b)}}@media(min-width:40rem){.s7e7a413d44{align-self:stretch}}@media(min-width:40rem){.s7f8573a92e{justify-content:space-between}}@media(min-width:40rem){.s80f341cd9b{justify-content:space-around}}@media(min-width:40rem){.s816b4d0964{margin-inline-start:var(--sw-kit-layout-sm-margininlinestart-7ecd9328)}}@media(min-width:40rem){.s8647eab42e{overflow-y:hidden}}@media(min-width:40rem){.s8abf7cc444{flex-wrap:nowrap}}@media(min-width:40rem){.s8e1141ba1d{flex-shrink:0}}@media(min-width:40rem){.s99717af696{align-items:baseline}}@media(min-width:40rem){.s9a45bf12c6{align-self:auto}}@media(min-width:40rem){.sa01c8230d5{overflow-x:auto}}@media(min-width:40rem){.sa38030653d{overflow-y:visible}}@media(min-width:40rem){.sa7753280be{flex-grow:0}}@media(min-width:40rem){.saf349f0b7e{justify-self:stretch}}@media(min-width:40rem){.sb06938386f{position:static}}@media(min-width:40rem){.sb162ccb3ed{flex-shrink:1}}@media(min-width:40rem){.sb1a6ff9a8b{width:var(--sw-kit-layout-sm-width-ec7dbd93)}}@media(min-width:40rem){.sb449d3fb91{align-self:center}}@media(min-width:40rem){.sbcb86aede8{grid-column-end:var(--sw-kit-layout-sm-columnend-3d83702b)}}@media(min-width:40rem){.sbcfd0eb89e{align-items:center}}@media(min-width:40rem){.sbe62866fe5{align-items:normal}}@media(min-width:40rem){.sbf9c84c961{justify-self:normal}}@media(min-width:40rem){.sbfb7c30f2b{margin-block-start:var(--sw-kit-layout-sm-marginblockstart-4e6c8aa0)}}@media(min-width:40rem){.sc0d9c56ef7{align-self:normal}}@media(min-width:40rem){.sc4bf17c3b2{max-height:var(--sw-kit-layout-sm-maxheight-02ed1b7c)}}@media(min-width:40rem){.sc784eaeab7{align-items:flex-end}}@media(min-width:40rem){.sc800bc6e15{align-self:flex-end}}@media(min-width:40rem){.sca098b159b{inset-block-end:var(--sw-kit-layout-sm-insetblockend-52583a71)}}@media(min-width:40rem){.scabfff1d70{position:absolute}}@media(min-width:40rem){.sd405e95ade{justify-content:normal}}@media(min-width:40rem){.sd81b92600f{justify-self:end}}@media(min-width:40rem){.sd8d21ec7d3{align-self:start}}@media(min-width:40rem){.sd98d271384{overflow-x:clip}}@media(min-width:40rem){.sdffeae776e{margin-block-end:var(--sw-kit-layout-sm-marginblockend-97af29af)}}@media(min-width:40rem){.se19ca1cb8d{overflow-y:clip}}@media(min-width:40rem){.se9f03a81c2{padding-inline-start:var(--sw-kit-layout-sm-paddinginlinestart-c8b72ade)}}@media(min-width:40rem){.sedd9642ccb{overflow-x:scroll}}@media(min-width:40rem){.sf22ebbc1c6{align-self:baseline}}@media(min-width:40rem){.sf2802965cd{grid-row-start:var(--sw-kit-layout-sm-rowstart-a5744ee7)}}@media(min-width:40rem){.sf2b98e1952{align-self:end}}@media(min-width:40rem){.sf2f32f1d59{justify-content:space-evenly}}@media(min-width:40rem){.sf563f68a01{grid-template-columns:var(--sw-kit-layout-sm-columns-af0c8bc6)}}@media(min-width:40rem){.sf5fe088ce0{inset-block-start:var(--sw-kit-layout-sm-insetblockstart-220523d1)}}@media(min-width:40rem){.sfbc4468e04{flex-direction:row-reverse}}@media(min-width:40rem){.sfe90489bcb{height:var(--sw-kit-layout-sm-height-abf06122)}}@media(min-width:40rem){.sfe96bc0327{z-index:var(--sw-kit-layout-sm-zindex-5e555d10)}}@media(min-width:48rem){.s019eeb95ed{align-items:baseline}}@media(min-width:48rem){.s04ebeccbc6{overflow-x:clip}}@media(min-width:48rem){.s0533ee7381{min-height:var(--sw-kit-layout-md-minheight-3a8c5cf6)}}@media(min-width:48rem){.s0c208b40e3{justify-content:center}}@media(min-width:48rem){.s0c97249cee{padding-inline-end:var(--sw-kit-layout-md-paddinginlineend-b3ea7b36)}}@media(min-width:48rem){.s1112e106eb{column-gap:var(--sw-kit-layout-md-columngap-8fd56c61)}}@media(min-width:48rem){.s15a28e6302{align-items:end}}@media(min-width:48rem){.s15b3fff2b5{overflow-x:auto}}@media(min-width:48rem){.s1b3c9e1946{margin-block-start:var(--sw-kit-layout-md-marginblockstart-9accbf49)}}@media(min-width:48rem){.s1b5625f494{justify-content:space-evenly}}@media(min-width:48rem){.s2a97b29a0e{flex-grow:0}}@media(min-width:48rem){.s2c7d441a59{justify-self:normal}}@media(min-width:48rem){.s2e81addce7{inset-inline-end:var(--sw-kit-layout-md-insetinlineend-8398b1ba)}}@media(min-width:48rem){.s31bbed152e{grid-column-start:var(--sw-kit-layout-md-columnstart-be266142)}}@media(min-width:48rem){.s340725a23e{justify-content:start}}@media(min-width:48rem){.s35bf5eae5d{justify-self:stretch}}@media(min-width:48rem){.s3c4cd45bff{padding-block-start:var(--sw-kit-layout-md-paddingblockstart-c0f9079a)}}@media(min-width:48rem){.s3c970dc0bd{max-height:var(--sw-kit-layout-md-maxheight-b872cb7f)}}@media(min-width:48rem){.s402212dc12{overflow-y:visible}}@media(min-width:48rem){.s41ed383ff6{flex-basis:var(--sw-kit-layout-md-basis-de2d4961)}}@media(min-width:48rem){.s43072cc3c1{align-items:stretch}}@media(min-width:48rem){.s4f9c29f378{overflow-y:hidden}}@media(min-width:48rem){.s55ff83a6db{margin-block-end:var(--sw-kit-layout-md-marginblockend-c4caeeff)}}@media(min-width:48rem){.s5f557aeaf0{min-width:var(--sw-kit-layout-md-minwidth-dce09ada)}}@media(min-width:48rem){.s5fc5327f7c{align-self:baseline}}@media(min-width:48rem){.s622b444332{flex-direction:column}}@media(min-width:48rem){.s62858d91df{flex-wrap:wrap}}@media(min-width:48rem){.s64c44bcae9{overflow-x:scroll}}@media(min-width:48rem){.s6e71c82f69{justify-content:flex-end}}@media(min-width:48rem){.s707b8fdaed{align-self:flex-end}}@media(min-width:48rem){.s7436e6e9ea{inset-inline-start:var(--sw-kit-layout-md-insetinlinestart-7952c250)}}@media(min-width:48rem){.s74e0713806{justify-content:normal}}@media(min-width:48rem){.s755c539e90{align-items:normal}}@media(min-width:48rem){.s7bbdf94037{justify-self:center}}@media(min-width:48rem){.s7bf385d802{justify-content:space-around}}@media(min-width:48rem){.s800cc48694{grid-column-end:var(--sw-kit-layout-md-columnend-984f5fe7)}}@media(min-width:48rem){.s884ba2f48e{flex-grow:1}}@media(min-width:48rem){.s8a00cc0b72{align-self:normal}}@media(min-width:48rem){.s8a522ab700{flex-wrap:wrap-reverse}}@media(min-width:48rem){.s8cad36f09f{align-self:auto}}@media(min-width:48rem){.s8d8059f2a3{grid-row-end:var(--sw-kit-layout-md-rowend-d132aaa3)}}@media(min-width:48rem){.s919b0fda20{max-width:var(--sw-kit-layout-md-maxwidth-def95fde)}}@media(min-width:48rem){.s91f0c4af5f{flex-wrap:nowrap}}@media(min-width:48rem){.s94253dbfe0{justify-self:start}}@media(min-width:48rem){.s949c8eabff{align-self:flex-start}}@media(min-width:48rem){.s94a4ff992d{padding-block-end:var(--sw-kit-layout-md-paddingblockend-c54721dc)}}@media(min-width:48rem){.s9550a274d8{overflow-x:hidden}}@media(min-width:48rem){.s977cc07c75{row-gap:var(--sw-kit-layout-md-rowgap-560250b3)}}@media(min-width:48rem){.s9a64b53923{grid-template-columns:var(--sw-kit-layout-md-columns-ff4fd293)}}@media(min-width:48rem){.sa2b1c1f406{align-self:center}}@media(min-width:48rem){.sa49de940db{align-self:start}}@media(min-width:48rem){.sa4ea7a2333{inset-block-end:var(--sw-kit-layout-md-insetblockend-d091bc4a)}}@media(min-width:48rem){.sa7647b3b3e{flex-shrink:1}}@media(min-width:48rem){.sa8269794f8{position:sticky}}@media(min-width:48rem){.sa880a88a66{position:relative}}@media(min-width:48rem){.sab3a7b2618{align-items:flex-start}}@media(min-width:48rem){.sb0addabfbe{height:var(--sw-kit-layout-md-height-fe8ffe76)}}@media(min-width:48rem){.sb1d87bb15d{position:static}}@media(min-width:48rem){.sb52a91db05{inset-block-start:var(--sw-kit-layout-md-insetblockstart-68c08ba9)}}@media(min-width:48rem){.sbcab67637b{justify-content:space-between}}@media(min-width:48rem){.sc172f76029{padding-inline-start:var(--sw-kit-layout-md-paddinginlinestart-d71ab5ee)}}@media(min-width:48rem){.sc51cfec658{align-items:flex-end}}@media(min-width:48rem){.sc66bd4a870{position:absolute}}@media(min-width:48rem){.sc98d6db000{flex-direction:row-reverse}}@media(min-width:48rem){.sc990d8b1d3{width:var(--sw-kit-layout-md-width-29e6e672)}}@media(min-width:48rem){.sca6cc7cd94{grid-template-rows:var(--sw-kit-layout-md-rows-4ffdd6e1)}}@media(min-width:48rem){.scd3dd15b1f{grid-row-start:var(--sw-kit-layout-md-rowstart-5d216287)}}@media(min-width:48rem){.scfed77b4ed{justify-content:stretch}}@media(min-width:48rem){.sd0348e7119{justify-content:flex-start}}@media(min-width:48rem){.sd590db379a{align-self:stretch}}@media(min-width:48rem){.sd6da47425b{overflow-y:clip}}@media(min-width:48rem){.sd7d1809afa{justify-self:end}}@media(min-width:48rem){.sdb977b82a7{justify-self:auto}}@media(min-width:48rem){.sdc2bbd9a80{column-gap:var(--sw-kit-layout-md-gap-448dfa40)}}@media(min-width:48rem){.sdf204bcfff{align-items:center}}@media(min-width:48rem){.se4d43d4e0b{overflow-y:auto}}@media(min-width:48rem){.se832625f24{margin-inline-end:var(--sw-kit-layout-md-margininlineend-19550279)}}@media(min-width:48rem){.se8e3cde070{justify-content:end}}@media(min-width:48rem){.se91ae40ef5{margin-inline-start:var(--sw-kit-layout-md-margininlinestart-3d97e46a)}}@media(min-width:48rem){.se97db4a153{align-self:end}}@media(min-width:48rem){.sea8b59c509{row-gap:var(--sw-kit-layout-md-gap-448dfa40)}}@media(min-width:48rem){.sec3cece23f{z-index:var(--sw-kit-layout-md-zindex-80a61f0a)}}@media(min-width:48rem){.sef73f648a2{flex-direction:row}}@media(min-width:48rem){.sf3037e7a79{overflow-y:scroll}}@media(min-width:48rem){.sf3979fce7f{position:fixed}}@media(min-width:48rem){.sf8db967ef1{flex-shrink:0}}@media(min-width:48rem){.sf9d5e965b8{overflow-x:visible}}@media(min-width:48rem){.sfd2abdca0c{flex-direction:column-reverse}}@media(min-width:48rem){.sff1c2ad232{align-items:start}}@media(min-width:64rem){.s02712cf3ac{flex-basis:var(--sw-kit-layout-lg-basis-50f41cca)}}@media(min-width:64rem){.s03653917b0{position:sticky}}@media(min-width:64rem){.s050348f22a{position:static}}@media(min-width:64rem){.s095138a12a{flex-shrink:0}}@media(min-width:64rem){.s0a1fa1a826{flex-wrap:wrap-reverse}}@media(min-width:64rem){.s1033c3b2f2{justify-content:stretch}}@media(min-width:64rem){.s117ff8c474{grid-template-columns:var(--sw-kit-layout-lg-columns-683ffa98)}}@media(min-width:64rem){.s15d03d0e7a{flex-direction:column-reverse}}@media(min-width:64rem){.s1b35edc3ab{overflow-x:hidden}}@media(min-width:64rem){.s1c9824318e{justify-self:start}}@media(min-width:64rem){.s1f9d5e6cec{overflow-y:scroll}}@media(min-width:64rem){.s1fe68f3615{flex-wrap:wrap}}@media(min-width:64rem){.s2207925bf2{justify-content:space-around}}@media(min-width:64rem){.s22095cf169{justify-self:normal}}@media(min-width:64rem){.s236390480a{row-gap:var(--sw-kit-layout-lg-rowgap-b0fc66bd)}}@media(min-width:64rem){.s28e6fc1365{flex-shrink:1}}@media(min-width:64rem){.s2a31004d70{justify-self:stretch}}@media(min-width:64rem){.s2ab489e35d{overflow-x:visible}}@media(min-width:64rem){.s30f5c2bb02{align-self:start}}@media(min-width:64rem){.s311107967d{inset-inline-end:var(--sw-kit-layout-lg-insetinlineend-10513724)}}@media(min-width:64rem){.s34b6b44482{margin-block-start:var(--sw-kit-layout-lg-marginblockstart-ca75591d)}}@media(min-width:64rem){.s39d3ff605d{align-items:end}}@media(min-width:64rem){.s3b5cb9da2c{align-items:start}}@media(min-width:64rem){.s3b775aeb66{flex-direction:column}}@media(min-width:64rem){.s3c1067dd4d{inset-block-start:var(--sw-kit-layout-lg-insetblockstart-ecaf8260)}}@media(min-width:64rem){.s47ded28d0c{position:relative}}@media(min-width:64rem){.s4a0cf12481{max-width:var(--sw-kit-layout-lg-maxwidth-43643627)}}@media(min-width:64rem){.s4a88894afb{flex-grow:0}}@media(min-width:64rem){.s4cbe2d8eb3{padding-inline-start:var(--sw-kit-layout-lg-paddinginlinestart-43346d0a)}}@media(min-width:64rem){.s4cfd783982{align-items:center}}@media(min-width:64rem){.s52b6f0beb7{position:fixed}}@media(min-width:64rem){.s536d7e1e04{margin-block-end:var(--sw-kit-layout-lg-marginblockend-56904c12)}}@media(min-width:64rem){.s56512639a6{column-gap:var(--sw-kit-layout-lg-columngap-c0a4366e)}}@media(min-width:64rem){.s5769ecbfc0{align-self:normal}}@media(min-width:64rem){.s57ff0b33db{justify-content:space-between}}@media(min-width:64rem){.s5cabbfe29b{row-gap:var(--sw-kit-layout-lg-gap-19a3715a)}}@media(min-width:64rem){.s64d24cbd0e{z-index:var(--sw-kit-layout-lg-zindex-d5d5313f)}}@media(min-width:64rem){.s6b810d0f93{justify-content:flex-end}}@media(min-width:64rem){.s6c3fd73897{padding-inline-end:var(--sw-kit-layout-lg-paddinginlineend-39f02fd6)}}@media(min-width:64rem){.s6d35508cf2{justify-content:space-evenly}}@media(min-width:64rem){.s6e861225c0{height:var(--sw-kit-layout-lg-height-d31b4554)}}@media(min-width:64rem){.s7058f3b34b{column-gap:var(--sw-kit-layout-lg-gap-19a3715a)}}@media(min-width:64rem){.s71f63b8328{align-items:stretch}}@media(min-width:64rem){.s799b3e3d77{align-self:end}}@media(min-width:64rem){.s7b349e25c6{align-items:flex-start}}@media(min-width:64rem){.s80a979018c{overflow-y:hidden}}@media(min-width:64rem){.s8966115bf2{margin-inline-end:var(--sw-kit-layout-lg-margininlineend-cc4ec746)}}@media(min-width:64rem){.s8ba4c71b46{overflow-y:auto}}@media(min-width:64rem){.s8cefce93af{align-self:stretch}}@media(min-width:64rem){.s8d23d08971{position:absolute}}@media(min-width:64rem){.s9199377235{align-self:baseline}}@media(min-width:64rem){.s9393d6cc8d{inset-inline-start:var(--sw-kit-layout-lg-insetinlinestart-b1030337)}}@media(min-width:64rem){.s969214665c{justify-content:start}}@media(min-width:64rem){.s9853c0d7bb{max-height:var(--sw-kit-layout-lg-maxheight-3af20130)}}@media(min-width:64rem){.s98f013d2c3{justify-self:end}}@media(min-width:64rem){.s9a61795eef{align-self:auto}}@media(min-width:64rem){.s9da4060bf9{padding-block-end:var(--sw-kit-layout-lg-paddingblockend-7c8946db)}}@media(min-width:64rem){.sa05e266019{margin-inline-start:var(--sw-kit-layout-lg-margininlinestart-5710b6df)}}@media(min-width:64rem){.sa147acd489{align-items:flex-end}}@media(min-width:64rem){.sa32c6aa777{flex-direction:row-reverse}}@media(min-width:64rem){.sa4ba88cfc2{justify-self:center}}@media(min-width:64rem){.sa99db4738f{flex-direction:row}}@media(min-width:64rem){.sad1acc1cca{justify-content:center}}@media(min-width:64rem){.sb4c7ce710d{justify-content:normal}}@media(min-width:64rem){.sb64fffd4a8{align-self:flex-start}}@media(min-width:64rem){.sbea169508b{grid-row-end:var(--sw-kit-layout-lg-rowend-a991f460)}}@media(min-width:64rem){.sc307196c47{overflow-y:clip}}@media(min-width:64rem){.sc4d3cc30b8{justify-content:flex-start}}@media(min-width:64rem){.sc8b32a7f7e{inset-block-end:var(--sw-kit-layout-lg-insetblockend-a3be6859)}}@media(min-width:64rem){.scb0d3bea89{align-self:center}}@media(min-width:64rem){.scb1789c95c{grid-row-start:var(--sw-kit-layout-lg-rowstart-1737a748)}}@media(min-width:64rem){.scd7208b8f3{grid-column-end:var(--sw-kit-layout-lg-columnend-53ef4814)}}@media(min-width:64rem){.scdbcd812a6{align-items:normal}}@media(min-width:64rem){.scfcaf6972b{min-height:var(--sw-kit-layout-lg-minheight-cf6ba831)}}@media(min-width:64rem){.sd0f5aed300{min-width:var(--sw-kit-layout-lg-minwidth-e73167e9)}}@media(min-width:64rem){.sd5d932e6e3{overflow-x:scroll}}@media(min-width:64rem){.sd9a4eab4ef{padding-block-start:var(--sw-kit-layout-lg-paddingblockstart-8e3a3f3f)}}@media(min-width:64rem){.sdda4034a9d{flex-wrap:nowrap}}@media(min-width:64rem){.sdeb051ff59{grid-column-start:var(--sw-kit-layout-lg-columnstart-1fc454f8)}}@media(min-width:64rem){.se1751af842{justify-self:auto}}@media(min-width:64rem){.se1c4afb874{overflow-x:auto}}@media(min-width:64rem){.se26ea94ee6{width:var(--sw-kit-layout-lg-width-82b8e5fc)}}@media(min-width:64rem){.se45cda552d{align-items:baseline}}@media(min-width:64rem){.se47c7831ce{align-self:flex-end}}@media(min-width:64rem){.sec55216be3{overflow-y:visible}}@media(min-width:64rem){.sf056f35eea{justify-content:end}}@media(min-width:64rem){.sf367442ddc{overflow-x:clip}}@media(min-width:64rem){.sf6f8765021{grid-template-rows:var(--sw-kit-layout-lg-rows-8919cbdc)}}@media(min-width:64rem){.sf9ba6b8a93{flex-grow:1}}@media(min-width:80rem){.s0027ec7501{flex-direction:column-reverse}}@media(min-width:80rem){.s088ed36e39{justify-content:stretch}}@media(min-width:80rem){.s0a1a1aae46{column-gap:var(--sw-kit-layout-xl-columngap-d2584e7f)}}@media(min-width:80rem){.s1245bea139{position:static}}@media(min-width:80rem){.s18ffd4a027{max-width:var(--sw-kit-layout-xl-maxwidth-3a9d9a01)}}@media(min-width:80rem){.s1bc4ba84b5{flex-wrap:wrap}}@media(min-width:80rem){.s1e83bbddf2{position:sticky}}@media(min-width:80rem){.s1faeb6ceca{align-items:flex-end}}@media(min-width:80rem){.s2062557d16{flex-shrink:0}}@media(min-width:80rem){.s22301e1375{position:fixed}}@media(min-width:80rem){.s26866d763b{justify-content:space-around}}@media(min-width:80rem){.s2b6fe7c479{align-self:flex-start}}@media(min-width:80rem){.s3013b997ca{justify-self:auto}}@media(min-width:80rem){.s33cdafaaf4{margin-inline-start:var(--sw-kit-layout-xl-margininlinestart-88520c56)}}@media(min-width:80rem){.s35ad03ac44{justify-content:flex-start}}@media(min-width:80rem){.s3965c3856b{height:var(--sw-kit-layout-xl-height-b19c1498)}}@media(min-width:80rem){.s3ba59dc3ad{justify-content:space-between}}@media(min-width:80rem){.s3be7402c36{grid-column-end:var(--sw-kit-layout-xl-columnend-4794a7e3)}}@media(min-width:80rem){.s4121e7b813{align-self:end}}@media(min-width:80rem){.s420fc9e0eb{padding-block-end:var(--sw-kit-layout-xl-paddingblockend-9b04587c)}}@media(min-width:80rem){.s489b3737eb{flex-grow:1}}@media(min-width:80rem){.s495b18b2f4{flex-direction:row-reverse}}@media(min-width:80rem){.s4b78de1cda{grid-row-start:var(--sw-kit-layout-xl-rowstart-0a7194a9)}}@media(min-width:80rem){.s4b81ff86a5{align-self:flex-end}}@media(min-width:80rem){.s50d2db6217{padding-block-start:var(--sw-kit-layout-xl-paddingblockstart-883ba1d9)}}@media(min-width:80rem){.s510bfd2b8f{align-items:start}}@media(min-width:80rem){.s54a6648508{position:absolute}}@media(min-width:80rem){.s54d343b894{min-width:var(--sw-kit-layout-xl-minwidth-c81e10ac)}}@media(min-width:80rem){.s551d70558c{align-items:flex-start}}@media(min-width:80rem){.s5616dab4e0{overflow-x:auto}}@media(min-width:80rem){.s569d6762d2{column-gap:var(--sw-kit-layout-xl-gap-9bf965a7)}}@media(min-width:80rem){.s5b09e1549e{align-self:center}}@media(min-width:80rem){.s5dc18ed3bf{grid-template-columns:var(--sw-kit-layout-xl-columns-86152253)}}@media(min-width:80rem){.s5ef949dae0{align-self:auto}}@media(min-width:80rem){.s60c60de851{margin-block-end:var(--sw-kit-layout-xl-marginblockend-909d4fef)}}@media(min-width:80rem){.s614221520a{flex-wrap:nowrap}}@media(min-width:80rem){.s61f116f15c{inset-inline-start:var(--sw-kit-layout-xl-insetinlinestart-4df70f04)}}@media(min-width:80rem){.s63182b850a{align-items:end}}@media(min-width:80rem){.s6864d9ad98{justify-content:flex-end}}@media(min-width:80rem){.s697275862e{overflow-x:visible}}@media(min-width:80rem){.s69aeb400e7{margin-inline-end:var(--sw-kit-layout-xl-margininlineend-83b2b942)}}@media(min-width:80rem){.s7314b11f30{grid-row-end:var(--sw-kit-layout-xl-rowend-62de6636)}}@media(min-width:80rem){.s737693204f{margin-block-start:var(--sw-kit-layout-xl-marginblockstart-5ce222cd)}}@media(min-width:80rem){.s73abb34a55{grid-template-rows:var(--sw-kit-layout-xl-rows-f82ef7f2)}}@media(min-width:80rem){.s7834e86621{padding-inline-start:var(--sw-kit-layout-xl-paddinginlinestart-a854292f)}}@media(min-width:80rem){.s7aee1ab634{padding-inline-end:var(--sw-kit-layout-xl-paddinginlineend-88c4c9df)}}@media(min-width:80rem){.s7da5aefbb2{align-items:center}}@media(min-width:80rem){.s83603e10ea{flex-grow:0}}@media(min-width:80rem){.s859a67ae11{justify-content:end}}@media(min-width:80rem){.s8edc2e0e7e{align-items:baseline}}@media(min-width:80rem){.s90622e3e7f{inset-block-start:var(--sw-kit-layout-xl-insetblockstart-b14a670e)}}@media(min-width:80rem){.s93c4e39ffa{justify-self:end}}@media(min-width:80rem){.s9473266f35{justify-content:normal}}@media(min-width:80rem){.s9709d5b9c4{min-height:var(--sw-kit-layout-xl-minheight-2ecadbea)}}@media(min-width:80rem){.s9e006d073c{justify-self:stretch}}@media(min-width:80rem){.sa0f6bad8f0{z-index:var(--sw-kit-layout-xl-zindex-1d21b67b)}}@media(min-width:80rem){.sa952058c7f{flex-direction:column}}@media(min-width:80rem){.saa1fcd7ef1{width:var(--sw-kit-layout-xl-width-0809c1dc)}}@media(min-width:80rem){.sae6c00c9f2{overflow-y:scroll}}@media(min-width:80rem){.sb11af0878f{align-self:start}}@media(min-width:80rem){.sb56a4e002a{overflow-x:clip}}@media(min-width:80rem){.sb5b5546ea3{align-self:baseline}}@media(min-width:80rem){.sb71e16c449{inset-block-end:var(--sw-kit-layout-xl-insetblockend-1039cd40)}}@media(min-width:80rem){.sbd9d00cc6b{justify-self:start}}@media(min-width:80rem){.sbe5c030174{justify-self:normal}}@media(min-width:80rem){.sbeea33eff4{justify-content:start}}@media(min-width:80rem){.sbff836fcfa{overflow-y:clip}}@media(min-width:80rem){.sc3a60687ac{overflow-x:hidden}}@media(min-width:80rem){.sc4c23c1a44{justify-content:space-evenly}}@media(min-width:80rem){.sc8ec3e28a8{justify-self:center}}@media(min-width:80rem){.sc9c8b41a5f{overflow-x:scroll}}@media(min-width:80rem){.scbfb3568e8{overflow-y:hidden}}@media(min-width:80rem){.scf16064bb9{align-self:stretch}}@media(min-width:80rem){.sd34ad04641{align-items:normal}}@media(min-width:80rem){.sdbe248357f{flex-shrink:1}}@media(min-width:80rem){.sdbf23e7785{overflow-y:auto}}@media(min-width:80rem){.sdfe17ff8e3{overflow-y:visible}}@media(min-width:80rem){.se4460e5aba{row-gap:var(--sw-kit-layout-xl-gap-9bf965a7)}}@media(min-width:80rem){.se7863f39f0{flex-basis:var(--sw-kit-layout-xl-basis-6b72077e)}}@media(min-width:80rem){.sea0d1b490d{grid-column-start:var(--sw-kit-layout-xl-columnstart-904a7790)}}@media(min-width:80rem){.sea52925a21{align-items:stretch}}@media(min-width:80rem){.sf08ce92d88{align-self:normal}}@media(min-width:80rem){.sf10ea50399{flex-direction:row}}@media(min-width:80rem){.sf388870f59{max-height:var(--sw-kit-layout-xl-maxheight-b14d97c8)}}@media(min-width:80rem){.sf6c6f58d91{position:relative}}@media(min-width:80rem){.sfd1065fae3{row-gap:var(--sw-kit-layout-xl-rowgap-0de5a5d4)}}@media(min-width:80rem){.sfdfd393d79{inset-inline-end:var(--sw-kit-layout-xl-insetinlineend-a92f8ea6)}}@media(min-width:80rem){.sfe68562a45{flex-wrap:wrap-reverse}}@media(min-width:80rem){.sfed169d026{justify-content:center}}
}

.waiting-logout { margin-top: 18px; }
body:has(> #workspace.sign-in-card) { display: grid; place-items: center; min-height: 100dvh; }
.test-sign-in-actions { display: grid; gap: 10px; margin: 20px 0; }
.test-sign-in-actions > button { justify-content: center; min-height: 36px; }
.project-access.kit-dialog { position: fixed; position-area: none; position-anchor: none; inset: 0; margin: auto; width: min(640px, calc(100vw - 32px)); height: fit-content; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); color: var(--text); font-family: inherit; font-size: var(--ui-font-size); box-shadow: 0 20px 80px #0008; }
.project-access::backdrop { background: #080a10a8; }
.project-access[open]:not(:modal) { z-index: 100; box-shadow: 0 0 0 100vmax #080a10a8, 0 20px 80px #0008; }
.access-heading { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.access-heading h2 { font-size: calc(var(--ui-font-size) * 1.3); font-weight: 600; letter-spacing: 0; }
.access-heading p { margin-top: 7px; color: var(--muted); line-height: 1.5; }
.access-heading > .kit-button { padding: 4px; min-width: 28px; min-height: 28px; }
.access-heading .icon { width: 16px; height: 16px; }
.access-content { margin-top: 20px; }
.access-description,.access-note { color: var(--muted); line-height: 1.6; }
.access-content .access-users { margin-top: 16px; }
.access-content .access-row { gap: 12px; min-width: 0; }
.access-identity { min-width: 0; flex: 1; }
.access-identity p { overflow-wrap: anywhere; }
.access-note { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); }
.access-managed { display: grid; gap: 12px; color: var(--muted); }
@media (max-width: 480px) { .project-access.kit-dialog { width: calc(100vw - 16px); max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: 16px; } .access-content .access-row { flex-wrap: wrap; } .access-content .kit-button { min-height: 40px; } }
@media print { .project-access { display: none !important; } }

.camera-controls { display: none; position: absolute; top: 68px; left: 12px; z-index: 4; max-width: calc(100% - 24px); max-height: calc(52% - 90px); overflow: auto; padding: 9px 11px; border: 1px solid var(--border); border-radius: 7px; background: var(--panel); }
.js details.camera-controls:not([hidden]),.camera-popover:popover-open { display: block; }
.camera-popover.kit-popover { position: fixed; position-anchor: none; position-area: none; position-try-fallbacks: none; inset: 0; margin: auto; width: min(280px,calc(100vw - 24px)); max-width: none; max-height: calc(100dvh - 24px); padding: 10px 12px; color: var(--text); font: inherit; font-size: var(--ui-font-size); box-shadow: 0 6px 24px #0005; }
.camera-popover-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.camera-popover .camera-close { display: grid; place-items: center; width: 26px; height: 26px; padding: 3px; }
.camera-close .icon { width: 14px; height: 14px; }
.model-panel:has(.camera-popover[hidden]) .camera-tool { display: none; }
.model-panel:has(.camera-popover:popover-open) .camera-tool { color: var(--accent); background: var(--accent-bg); border-color: var(--accent); }
.camera-controls summary { cursor: pointer; }
.camera-fields { display: grid; width: 255px; max-width: 100%; gap: 9px; padding-top: 10px; }
.camera-fields label, .camera-fields [data-camera-path-controls]:not([hidden]) { display: grid; gap: 7px; }
.camera-fields select, .camera-fields input[type="range"] { width: 100%; min-width: 0; }
.camera-fields label > span { display: flex; justify-content: space-between; gap: 9px; }
.camera-fields label.camera-follow { display: flex; align-items: center; gap: 7px; }
.camera-fields p { font-size: .85em; color: var(--muted); line-height: 1.4; }
.camera-fields output { font-variant-numeric: tabular-nums; }
.camera-fields .motion-buttons { flex-wrap: wrap; }
@supports (position-area: left) {
 .camera-popover.kit-popover { position-anchor: auto; position-area: left span-bottom; position-try-fallbacks: flip-block, flip-inline; inset: auto; margin: 0 8px; }
}
@media (pointer: coarse) { .camera-popover button,.camera-popover select { min-height: 44px; } .camera-popover .camera-close { width: 44px; height: 44px; } }
@media print { .camera-controls { display: none !important; } }

.alternative-control { gap: 3px; }
.tree-compare { font-size: max(10px, calc(var(--ui-font-size) - 1px)); padding: 2px 5px; min-height: 22px; background: transparent; color: var(--muted); }
.tree-compare:hover, .tree-compare:focus-visible { color: var(--accent); border-color: var(--accent); background: var(--accent-bg); }
.camera-link-control { display: flex; margin: 0; }
.camera-link-control button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 6px; color: var(--muted); }
.camera-link-control button .icon { width: 13px; height: 13px; flex: none; }
.camera-link-control button[aria-pressed="true"] { color: var(--accent); background: var(--accent-bg); }
.camera-link-control.compact button { width: 22px; height: 22px; padding: 2px; border: 0; border-radius: 3px; background: transparent; }
.camera-link-control.compact button[aria-pressed="true"] { background: var(--accent-bg); }
.view-tool-grid > .camera-link-control { grid-column: 1 / -1; }
.view-tool-grid > .camera-link-control > button { width: 100%; }
@media (pointer: coarse) { .tree-compare, .camera-link-control.compact button { min-height: 44px; min-width: 44px; } }

.drawing-popover.kit-popover { position: fixed; position-anchor: none; position-area: none; position-try-fallbacks: none; inset: 0; margin: auto; width: calc(100vw - 40px); height: calc(100dvh - 40px); max-width: none; max-height: none; padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 6px; background: var(--panel); color: var(--text); font: inherit; box-shadow: 0 16px 56px #0008; }
.drawing-popover:popover-open { display: flex; flex-direction: column; animation: drawing-popover-in 120ms ease-out; }
.drawing-popover::backdrop { background: #0008; }
.drawing-popover-header { display: flex; flex: none; align-items: center; gap: 14px; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.drawing-popover-header h2 { flex: 1; min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: inherit; font-weight: 500; }
.drawing-original-size { display: flex; align-items: center; gap: 6px; white-space: nowrap; cursor: pointer; }
.drawing-original-size input { width: auto; margin: 0; }
.drawing-popover .drawing-popover-close { display: grid; place-items: center; width: 30px; height: 30px; padding: 6px; }
.drawing-popover-close .icon { width: 16px; height: 16px; }
.drawing-popover-body { position: relative; flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; background: white; color: #242424; }
.drawing-popover-image { width: 100%; height: 100%; }
.drawing-popover-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.drawing-popover:has(.drawing-original-size input:checked) .drawing-popover-image { display: grid; place-items: center; width: max-content; height: max-content; min-width: 100%; min-height: 100%; }
.drawing-popover:has(.drawing-original-size input:checked) .drawing-popover-image img { width: auto; height: auto; max-width: none; }
.drawing-popover-loading, .drawing-popover-error { display: none; position: absolute; inset: 20px auto auto 20px; margin: 0; padding: 8px 12px; background: white; }
.drawing-popover[data-image-state="loading"] .drawing-popover-loading, .drawing-popover[data-image-state="error"] .drawing-popover-error { display: block; }
@keyframes drawing-popover-in { from { opacity: .5; } to { opacity: 1; } }
@media (max-width: 650px) { .drawing-popover.kit-popover { width: calc(100vw - 12px); height: calc(100dvh - 12px); } .drawing-popover-header { gap: 8px; padding: 6px 8px; } .drawing-popover .drawing-popover-close { width: 40px; height: 40px; } }
@media print { .drawing-popover { display: none !important; } }

.measure-tool { position: absolute; z-index: 4; top: 86px; right: 58px; width: min(330px,calc(100% - 68px)); max-height: calc(100% - 126px); overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 14px; border: 1px solid var(--border); border-radius: 5px; box-shadow: 0 6px 22px #0004; background: var(--panel); color: var(--text); font-size: var(--ui-font-size); }
.measure-tool[hidden],.measure-tool [hidden] { display: none !important; }
.measure-tool header { display: flex; align-items: start; gap: 8px; justify-content: space-between; margin-bottom: 12px; }
.measure-header-actions { display: flex; gap: 5px; }
.measure-tool header button { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; padding: 5px; }
.measure-tool header .icon { width: 14px; height: 14px; }
.measure-tool p { margin: 7px 0; font-size: max(10px,calc(var(--ui-font-size) - 1px)); line-height: 1.5; }
.measure-tool label { display: flex; flex-direction: column; min-width: 0; gap: 5px; margin: 9px 0; color: var(--soft); }
.measure-tool select,.measure-tool input { width: 100%; min-width: 0; padding: 6px; background: var(--bg); color: var(--text); }
.measure-tool button { padding: 6px 8px; font-size: inherit; }
.measure-tool button[aria-pressed="true"] { color: var(--gold); border-color: var(--gold); background: var(--accent-bg); }
.measure-actions { display: flex; flex-wrap: wrap; gap: 5px; }
.measure-tool .measure-cut { display: flex; align-items: center; justify-content: center; gap: 6px; width: 100%; margin: 8px 0; }
.measure-cut .icon { width: 16px; height: 16px; }
.measure-plane-editor [data-measure-action="create"] { width: 100%; }
.measure-method-picker > p:first-child { color: var(--soft); }
.measure-methods { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
.measure-methods button { display: grid; place-items: center; min-height: 44px; padding: 8px; background: var(--bg); color: var(--soft); border: 1px solid var(--border); border-radius: 4px; }
.measure-methods .icon { width: 26px; height: 26px; }
.measure-method-picker .measure-method-name { min-height: 2.8em; margin: 6px 0 10px; color: var(--text); }
.measure-inputs { margin: 10px 0; }
.measure-input { display: flex; align-items: stretch; border: 1px solid var(--border); border-radius: 4px; margin-bottom: 7px; overflow: hidden; }
.measure-input-pick { display: flex; gap: 8px; align-items: center; min-width: 0; flex: 1; text-align: left; background: transparent; border: 0; }
.measure-input-pick span { overflow-wrap: anywhere; font-size: max(10px,calc(var(--ui-font-size) - 1px)); }
.measure-input > button { border: 0; background: transparent; }
.measure-input > [data-measure-clear] { flex: none; }
.measure-input .icon { width: 12px; height: 12px; }
.measure-input[data-active="true"] { outline: 1px solid var(--accent); }
.measure-input[data-invalid="true"] { border-color: var(--gold); }
.measure-input[data-measure-input="a"] strong { color: #79b8f0; }
.measure-input[data-measure-input="b"] strong { color: #eabe78; }
[data-measure-result] { padding: 14px 0; user-select: text; }
[data-measure-result] > strong { display: block; padding-right: calc(var(--measure-copy-size) + 12px); font-size: calc(var(--ui-font-size) * 1.7); font-weight: 500; font-variant-numeric: tabular-nums; }
[data-measure-result] > small { display: block; padding-right: calc(var(--measure-copy-size) + 12px); margin-top: 4px; color: var(--muted); }
.measure-delta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 8px; color: var(--soft); font-variant-numeric: tabular-nums; }
.measure-delta > span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.measure-delta-label { color: var(--muted); }
.measure-delta-value { overflow-wrap: anywhere; }
.measure-result-row { --measure-copy-size: 30px; position: relative; min-height: calc(var(--measure-copy-size) + 14px); }
.measure-result-row > [data-measure-result] { min-width: 0; }
.measure-tool .measure-copy { display: inline-flex; align-items: center; justify-content: center; position: absolute; top: 14px; right: 0; width: var(--measure-copy-size); height: var(--measure-copy-size); padding: 6px; }
.measure-copy .icon { width: 16px; height: 16px; }
.measure-numbers { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.measure-name-row { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,3fr); align-items: end; gap: 6px; margin: 9px 0; }
.measure-name-row:has(.measure-flip[hidden]) { grid-template-columns: 1fr; }
.measure-tool .measure-name-row label { margin: 0; }
.measure-name-row input,.measure-tool .measure-flip { min-height: 32px; }
.measure-tool .measure-flip { display: grid; place-items: center; }
.measure-flip .icon { width: 16px; height: 16px; }
.measure-tool details { border-top: 1px solid var(--border); margin-top: 12px; padding-top: 10px; }
.measure-tool summary { cursor: pointer; color: var(--text); }
.measure-tool [data-measure-status][data-error="true"] { color: var(--gold); }
.measure-tool [data-measure-status]:not([data-error="true"]) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[data-measure-construction-slot] { display: flex; align-items: end; gap: 6px; padding: 8px; border-left: 2px solid var(--border); margin: 10px 0; }
.measure-construction-settings { border-bottom: 1px solid var(--border); padding-bottom: 5px; margin-bottom: 8px; }
[data-measure-construction-slot] > label { flex: 1; margin: 0; }
.measure-tool .measure-model-pick { display: grid; place-items: center; flex: none; width: 32px; height: 32px; padding: 6px; }
.measure-model-pick .icon { width: 16px; height: 16px; }
[data-measure-construction-slot][data-active="true"] { border-color: var(--accent); background: var(--accent-bg); }
[data-measure-references] > div { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 8px 0; border-bottom: 1px solid var(--border); }
[data-measure-references] > div > span { flex: 1 0 100%; }
[data-measure-library] { list-style: none; padding: 0; margin: 8px 0; }
[data-measure-library] li { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding: 8px 0; border-bottom: 1px solid var(--border); }
[data-measure-library] small { flex: 1 0 100%; color: var(--muted); }
.measure-callout,.measure-hover { position: absolute; z-index: 3; pointer-events: none; max-width: 190px; padding: 6px 8px; background: var(--panel); border: 1px solid var(--border); border-radius: 4px; font-size: var(--ui-font-size); white-space: pre-line; }
.measure-callout[hidden],.measure-hover[hidden] { display: none; }
.measure-hover { font-size: max(10px,calc(var(--ui-font-size) - 1px)); }
@media (pointer: coarse) { .measure-tool button,.measure-tool select,.measure-tool input:not([type="checkbox"]) { min-height: 44px; } .measure-tool header button { width: 44px; height: 44px; } .measure-result-row { --measure-copy-size: 44px; } }
@media print { .measure-tool,.measure-callout,.measure-hover { display: none !important; } }

.motion-buttons { display: flex; gap: 6px; }
.motion-buttons button { padding: 4px 9px; }
.motion-poses { display: grid; gap: 6px; }
.motion-poses nav, .motion-pose-outputs { display: flex; flex-wrap: wrap; gap: 6px; }
.motion-poses a { padding: 4px 7px; border: 1px solid var(--border); border-radius: 5px; color: inherit; }
.motion-poses a[aria-current] { border-color: var(--accent); color: var(--accent); }
.document-sheet .linked-media > img:not(.qr-code) { display: block; max-width: 100%; height: auto; }
.motion-coordinate { display: flex; justify-content: space-between; gap: 8px; color: var(--soft); }

.orientation-trigger { position: absolute; z-index: 3; top: 12px; right: 14px; display: grid; place-items: center; width: 76px; height: 76px; padding: 3px; border: 1px solid transparent; border-radius: 5px; background: transparent; cursor: pointer; }
.orientation-trigger:hover,.orientation-trigger[aria-expanded="true"] { background: transparent; border-color: transparent; }
.orientation-trigger:focus-visible { outline-offset: -2px; }
.orientation-trigger > .orientation { position: static; width: 68px; height: 68px; }
.orientation-cube { color: var(--accent); fill: none; transform-box: fill-box; transform-origin: center; transform: scale(.5); transition: transform .16s ease; }
.orientation-cube line { stroke-width: 1; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.orientation-trigger:hover .orientation-cube,.orientation-trigger:focus-visible .orientation-cube,.orientation-trigger[aria-expanded="true"] .orientation-cube { transform: scale(1); }
.canvas-host canvas.selecting-view { cursor: crosshair; }
.view-selector-panel { position: absolute; z-index: 5; bottom: 36px; left: 50%; transform: translateX(-50%); width: min(420px,calc(100% - 100px)); max-height: calc(100% - 150px); overflow: auto; padding: 10px 12px; color: var(--text); background: var(--panel); border: 1px solid var(--border); border-radius: 5px; box-shadow: 0 6px 24px #0005; font-size: var(--ui-font-size); }
.view-selector-panel[hidden] { display: none !important; }
.view-selector-panel header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.view-selector-panel header button { display: grid; place-items: center; width: 26px; height: 26px; padding: 3px; background: transparent; border-color: transparent; }
.view-selector-panel header .icon { width: 16px; height: 16px; }
.view-selector-panel p { margin: 6px 0; color: var(--soft); min-height: 2.6em; line-height: 1.4; }
.view-selector-panel summary { color: var(--accent); cursor: pointer; padding: 4px 0; }
.view-selector-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding-top: 7px; }
.view-selector-choices button { padding: 7px 8px; color: var(--text); background: var(--panel-raised); font-size: inherit; text-align: left; }
.view-selector-choices button:hover,.view-selector-choices button:focus-visible { border-color: var(--accent); background: var(--accent-bg); }
.model-panel:has(.view-orientation[data-open="true"]) :is(.measure-tool,.measure-callout,.measure-hover,.viewport-selection) { visibility: hidden; }
@media (pointer: coarse) { .view-selector-panel { width: min(420px,calc(100% - 140px)); } .view-selector-panel button,.view-selector-panel summary { min-height: 44px; } .view-selector-panel button { min-width: 44px; } }
@media (prefers-reduced-motion: reduce) { .orientation-cube { transition: none; } }
@media print { .view-orientation { display: none !important; } }

.part-context-menu { position: fixed; inset: auto; margin: 0; width: 326px; max-width: calc(100vw - 16px); max-height: calc(100vh - 16px); overflow: auto; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); color: var(--text); box-shadow: 0 12px 40px #0008; font-size: var(--ui-font-size); }
.part-context-menu:popover-open { display: grid; gap: 10px; }
.part-context-menu:not(:popover-open) { display: none; }
.part-context-menu header { display: flex; align-items: start; gap: 12px; }
.part-context-menu header > div { flex: 1; min-width: 0; display: grid; gap: 4px; }
.part-context-menu strong { overflow-wrap: anywhere; font-weight: 600; }
.part-context-menu small, .part-context-menu dt { color: var(--muted); }
.part-context-menu header button { display: grid; place-items: center; width: 24px; height: 24px; padding: 3px; background: transparent; border: 0; }
.part-context-menu .icon { width: 14px; height: 14px; flex-shrink: 0; }
.part-context-menu dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 12px; margin: 0; }
.part-context-menu dd { margin: 0; text-align: right; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.part-menu-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; border-top: 1px solid var(--border); padding-top: 10px; }
.part-menu-actions button { display: flex; align-items: center; gap: 6px; padding: 7px; text-align: left; }
.part-menu-opacity { display: grid; gap: 8px; border-top: 1px solid var(--border); padding-top: 10px; }
.part-menu-opacity > span { display: flex; justify-content: space-between; gap: 12px; }
.part-menu-opacity output { color: var(--accent); font-variant-numeric: tabular-nums; }
.part-menu-opacity input { width: 100%; padding: 0; accent-color: var(--accent); }
.part-context-menu .part-menu-reset { justify-self: end; padding: 4px 8px; color: var(--soft); background: transparent; border: 0; }
.part-menu-navigation { display: grid; gap: 2px; }
.part-menu-navigation a, .part-menu-parallels a, .part-menu-unavailable { display: flex; align-items: center; gap: 9px; padding: 8px; border-radius: 4px; line-height: 1.35; }
.part-menu-navigation a:hover, .part-menu-parallels a:hover { color: var(--accent); background: var(--accent-bg); }
.part-menu-navigation a:first-child { background: var(--accent-bg); color: var(--accent); margin-bottom: 3px; }
.part-menu-unavailable { opacity: .45; cursor: default; }
.part-menu-parallels { display: grid; gap: 5px; padding-top: 10px; border-top: 1px solid var(--border); }
.part-menu-parallels h2 { display: flex; align-items: center; gap: 7px; font-size: inherit; font-weight: 500; }
.part-menu-parallels small { display: block; padding: 6px 8px 0; }
.part-menu-parallels p { color: var(--muted); font-size: .92em; line-height: 1.5; padding: 2px 0; }
.part-context-menu details { border-top: 1px solid var(--border); padding-top: 9px; }
.part-context-menu summary { cursor: pointer; color: var(--soft); }
.part-context-menu details[open] > summary { margin-bottom: 10px; }
.part-menu-appearance .part-menu-actions { border-top: 0; padding-top: 0; }
.part-menu-opacity { margin-top: 10px; }
.component-tree .tree-found { background: var(--accent-bg); color: var(--accent); outline: 1px solid var(--accent); outline-offset: -1px; border-radius: 3px; }
@media print { .part-context-menu { display: none !important; } }

.project-registry.kit-dialog { position: fixed; position-anchor: none; position-area: none; inset: 0; margin: auto; width: min(620px, calc(100vw - 32px)); height: fit-content; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: var(--panel); font-family: inherit; font-size: var(--ui-font-size); box-shadow: 0 20px 80px #0008; }
.project-registry::backdrop { background: #080a10a8; }
.project-registry[open]:not(:modal) { z-index: 100; box-shadow: 0 0 0 100vmax #080a10a8, 0 20px 80px #0008; }
.registry-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.registry-heading h2 { font-size: calc(var(--ui-font-size) * 1.3); font-weight: 600; letter-spacing: 0; }
.registry-heading > .kit-button { padding: 4px; min-width: 28px; min-height: 28px; }
.registry-heading .icon { width: 16px; height: 16px; }
.registry-description { margin-top: 10px; max-width: 62ch; color: var(--muted); line-height: 1.6; }
.registry-status { margin-top: 14px; color: var(--accent); line-height: 1.5; overflow-wrap: anywhere; }
.registry-status:empty,.registry-project-error:empty { display: none; }
.registry-form { display: grid; justify-items: start; gap: 16px; margin-top: 22px; }
.registry-field { display: grid; gap: 7px; width: 100%; min-width: 0; }
.registry-field label { font-weight: 500; }
.registry-field input { box-sizing: border-box; width: 100%; min-width: 0; height: 34px; padding: 7px 10px; border: 1px solid var(--border); border-radius: 4px; background: var(--bg); color: var(--text); font: inherit; }
.registry-field input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.registry-replace { display: flex; align-items: center; gap: 8px; color: var(--muted); line-height: 1.5; }
.registry-replace input { margin: 0; accent-color: var(--accent); }
.registry-form > .kit-button { gap: 6px; }
.registry-form > .kit-button .icon { width: 14px; height: 14px; }
.registry-projects { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--border); }
.registry-projects h3 { margin-bottom: 12px; font-size: inherit; font-weight: 500; }
.registry-project-list { display: grid; gap: 8px; }
.registry-project { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px; border: 1px solid var(--border); border-radius: 5px; }
.registry-project-identity { display: grid; gap: 5px; min-width: 0; }
.registry-project-identity a { color: var(--text); text-decoration: none; }
.registry-project-identity a:hover { color: var(--accent); }
.registry-project-identity code,.registry-project-identity small { color: var(--muted); font-size: max(10px, calc(var(--ui-font-size) - 1px)); overflow-wrap: anywhere; }
.registry-project-error { color: var(--muted); overflow-wrap: anywhere; }
.registry-empty { color: var(--muted); line-height: 1.6; }
.registry-landing { min-height: 100dvh; background: var(--bg); }
.registry-landing > header { display: flex; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid var(--border); }
.registry-landing a { color: var(--muted); }
.registry-reopen { margin: 24px; }
.project-menu .registry-trigger { width: 100%; justify-content: flex-start; border-top: 1px solid var(--border); border-radius: 0; margin-top: 5px; padding: 10px; font-size: inherit; }
@media (max-width: 480px) { .project-registry.kit-dialog { width: calc(100vw - 16px); max-width: calc(100vw - 16px); max-height: calc(100dvh - 16px); padding: 16px; } .registry-project { align-items: start; gap: 10px; } .registry-field input,.registry-form .kit-button { min-height: 40px; } }
@media (prefers-reduced-motion: no-preference) { .project-registry { transition: opacity .12s ease, display .12s allow-discrete, overlay .12s allow-discrete; } @starting-style { .project-registry[open] { opacity: 0; } } }
@media print { .project-registry { display: none !important; } }

.js .simulation-controls-store:not([hidden]) { display: contents; }
.simulation-popup { position: fixed; inset: auto; margin: 0; width: min(335px, calc(100vw - 16px)); max-height: calc(100vh - 16px); overflow: auto; padding: 11px; border: 1px solid var(--border); border-radius: 8px; background: var(--panel); color: var(--text); box-shadow: 0 10px 35px #0007; }
.simulation-popup:popover-open { display: grid; gap: 9px; }
.simulation-popup:not(:popover-open) { display: none; }
.simulation-popup-header { display: flex; align-items: start; gap: 8px; cursor: grab; touch-action: none; }
.simulation-popup-header > div { flex: 1; min-width: 0; display: flex; align-items: start; gap: 7px; }
.simulation-popup-header strong { font-weight: 600; overflow-wrap: anywhere; }
.simulation-popup-header button { flex-shrink: 0; width: 24px; height: 24px; padding: 4px; }
.simulation-popup-header .icon { width: 15px; height: 15px; flex-shrink: 0; }
.simulation-popup-header:active { cursor: grabbing; }
.simulation-popup p { font-size: .85em; line-height: 1.4; color: var(--muted); }
.simulation-popup [data-motion-owner] { display: grid; gap: 7px; }
.simulation-popup label { display: grid; grid-template-columns: 65px minmax(40px, 1fr) 45px; gap: 7px; align-items: center; }
.simulation-popup input[type="range"], .simulation-popup input[type="number"] { width: 100%; min-width: 0; }
.simulation-popup input[type="range"] { padding: 0; }
.simulation-popup output { text-align: right; font-variant-numeric: tabular-nums; }
.simulation-popup .camera-controls { position: static; inset: auto; max-height: none; max-width: none; padding: 9px 0 0; border: 0; border-top: 1px solid var(--border); border-radius: 0; overflow: visible; }
.simulation-popup .camera-fields { width: auto; }
.simulation-popup .camera-fields label { grid-template-columns: none; }
.simulation-popup .camera-fields label.camera-follow { display: flex; }
.simulation-popup .camera-fields output { text-align: right; }
.simulation-tree-row { display: flex; align-items: center; gap: 4px; min-height: 23px; }
.simulation-tree-name { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 0; color: var(--muted); padding: 3px 1px; }
.simulation-tree-name span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.simulation-tree-name .icon, .simulation-tree-controls .icon { width: 13px; height: 13px; flex-shrink: 0; }
.simulation-tree-controls { display: grid; place-items: center; width: 23px; height: 23px; flex-shrink: 0; color: var(--muted); border-radius: 4px; }
.simulation-tree-controls:hover, .simulation-tree-name:hover { color: var(--text); background: var(--hover); }
.simulation-controls-store > [data-motion-error]:not([hidden]) { position: absolute; z-index: 5; bottom: 12px; left: 12px; padding: 9px; border: 1px solid var(--border); border-radius: 6px; background: var(--panel); }
@media print { .simulation-popup, .simulation-controls-store { display: none !important; } }

.tree-parallel-state { flex: none; color: var(--muted); font-size: max(10px, calc(var(--ui-font-size) - 1px)); padding-left: 5px; }
.tree-active-state { flex: none; font-size: max(10px, calc(var(--ui-font-size) - 1px)); color: var(--accent); margin-left: auto; }
.tree-alternative { color: var(--muted); }
.tree-alternative-identity { display: flex; align-items: center; gap: 5px; flex: 1; min-width: 0; padding: calc(5px * var(--ui-spacing)) 4px; opacity: .65; }
.tree-alternative-identity > .icon { width: 13px; height: 13px; flex: none; }
.tree-alternative-identity .part-tree-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.alternative-control { display: inline-flex; flex: none; }
.tree-activate { font-size: max(10px, calc(var(--ui-font-size) - 1px)); padding: 2px 5px; min-height: 22px; color: var(--text); background: transparent; }
.tree-activate:hover, .tree-activate:focus-visible { color: var(--accent); background: var(--accent-bg); border-color: var(--accent); }
.tree-alternative .tree-load { opacity: .7; }
@media (pointer: coarse) { .tree-activate { min-height: 44px; min-width: 44px; } .tree-alternative-identity { min-height: 44px; } }
@media print { .tree-alternative { display: none !important; } }

.model-panel > .view-controls { position: absolute; z-index: 3; right: 10px; top: 96px; display: flex; flex-direction: column; gap: 6px; padding: 4px; max-height: calc(100% - 126px); overflow-y: auto; scrollbar-width: none; border: 1px solid var(--border); border-radius: 5px; background: var(--panel); user-select: none; }
.view-tool-actions,.view-tool-switches { display: grid; gap: 4px; }
.view-tool-switches { border-top: 1px solid var(--border); padding-top: 6px; }
.view-controls .tool-button { position: relative; display: grid; place-items: center; width: 30px; height: 30px; min-height: 30px; padding: 0; border: 1px solid transparent; border-radius: 4px; color: var(--soft); background: transparent; }
.view-controls .tool-button .icon { width: 16px; height: 16px; }
.view-controls .tool-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.view-controls .tool-button:hover:not(:disabled) { color: var(--text); background: var(--panel-raised); border-color: var(--border); }
.view-controls .tool-button[aria-pressed="true"] { color: var(--accent); background: var(--accent-bg); border-color: var(--accent); }
.view-controls .tool-button:focus-visible { outline-offset: -2px; }
.view-controls .view-tool-switch { height: 36px; padding-bottom: 8px; }
.view-tool-state { position: absolute; bottom: 3px; left: 50%; transform: translateX(-50%); width: 16px; height: 7px; border: 1px solid var(--muted); border-radius: 6px; background: var(--bg); }
.view-tool-state::after { content: ""; position: absolute; top: 1px; left: 1px; width: 3px; height: 3px; border-radius: 50%; background: var(--muted); transition: left .12s ease; }
[aria-pressed="true"] > .view-tool-state { border-color: var(--accent); background: var(--accent); }
[aria-pressed="true"] > .view-tool-state::after { left: 10px; background: var(--bg); }
@media (pointer: coarse) { .view-controls .tool-button { width: 44px; height: 44px; min-height: 44px; } .view-controls .view-tool-switch { height: 44px; } }
@media print { .model-panel > .view-controls { display: none !important; } }

.working-plane-tree { flex: none; min-height: 0; max-height: 40%; overflow: auto; overscroll-behavior: contain; scrollbar-width: thin; margin: 4px 6px 6px; padding-top: 6px; border-top: 1px solid var(--border); font-size: var(--ui-font-size); }
.working-plane-tree > summary { display: flex; align-items: center; gap: 6px; cursor: pointer; padding: 5px 2px; }
.working-plane-tree > summary::before { content: '▸'; color: var(--muted); }
.working-plane-tree[open] > summary::before { content: '▾'; }
.working-plane-tree > summary > span:last-of-type { flex: 1; }
.working-plane-tree .icon { flex: none; width: 14px; height: 14px; }
.working-plane-tree [hidden] { display: none !important; }
.working-plane-empty,.working-plane-source { margin: 6px 4px 4px 16px; color: var(--muted); font-size: max(10px,calc(var(--ui-font-size) - 1px)); }
.working-plane-row { display: flex; align-items: stretch; gap: 2px; margin: 2px 0 2px 12px; }
.working-plane-row button { min-width: 22px; padding: 4px; border: 1px solid transparent; background: transparent; font-size: inherit; }
.working-plane-row .working-plane-name { display: flex; align-items: center; gap: 5px; flex: 1; min-width: 0; text-align: left; }
.working-plane-name > span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.working-plane-row button[aria-pressed="true"] { color: var(--gold); border-color: var(--border); background: var(--accent-bg); }
.working-plane-visibility[aria-pressed="true"] [data-icon="eye-off"],.working-plane-visibility[aria-pressed="false"] [data-icon="eye"] { display: none; }
.working-plane-row[data-invalid="true"] .working-plane-name { color: var(--muted); }
[data-working-plane-error] { color: var(--gold); margin: 6px; }
@font-face {
  font-family: "DM Sans";
  src: url("/static/fonts/dm-sans-variable.ttf") format("truetype");
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}
:root {
  color-scheme: dark;
  font-family: "DM Sans", "Segoe UI", sans-serif;
  font-size: var(--ui-font-size);
  font-synthesis: none;
  --gold: #d9ba83;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; overflow: hidden; }
body { background: var(--gutter, #090b10); color: var(--text, #ececf3); }
body:has(> .workspace) { display: grid; grid-template-rows: minmax(0, 1fr); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
button:disabled { opacity: .4; cursor: not-allowed; }
button, input, select { border: 1px solid var(--border); border-radius: 5px; background: var(--panel-raised); }
input, select { padding: calc(7px * var(--ui-spacing)) calc(9px * var(--ui-spacing)); }
input { min-width: 0; }
select { cursor: pointer; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--accent, #b8b3ef); outline-offset: 3px; }
button:hover { background: var(--border); }
button[aria-pressed="true"] { color: var(--accent); background: var(--accent-bg); }
h1, h2, h3, p, dl, dd { margin: 0; }
h1 { font-size: calc(var(--ui-font-size) * 1.7692); font-weight: 500; letter-spacing: -.5px; }
h2 { font-size: calc(var(--ui-font-size) * 1.3077); font-weight: 500; }
h3 { font-size: var(--ui-font-size); font-weight: 500; }
p { line-height: 1.65; color: var(--soft); }
.icon { width: 18px; height: 18px; flex-shrink: 0; vertical-align: middle; }
.workspace { --left-width: 232px; --right-width: 238px; display: grid; grid-template-columns: var(--left-width) minmax(0, 1fr) var(--right-width); grid-template-rows: minmax(0, 1fr) 24px; gap: calc(6px * var(--ui-spacing)); min-height: 0; min-width: 0; padding: calc(6px * var(--ui-spacing)) calc(6px * var(--ui-spacing)) 0; }
.workspace-sidebar { display: flex; flex-direction: column; gap: calc(6px * var(--ui-spacing)); min-height: 0; min-width: 0; }
.sidebar { display: flex; flex: 1; min-height: 0; flex-direction: column; overflow: hidden; }
.brand-row { display: flex; align-items: center; justify-content: space-between; min-height: max(1.5em, calc(61px * var(--ui-spacing))); padding: 0 calc(17px * var(--ui-spacing)); }
.brand { display: flex; align-items: center; gap: calc(8px * var(--ui-spacing)); color: var(--text); }
.brand .icon { width: 24px; height: 24px; }
.brand strong { font-size: calc(var(--ui-font-size) * 1.6923); font-weight: 600; letter-spacing: -.9px; }
.search-shortcut { color: var(--muted); padding: calc(5px * var(--ui-spacing)); display: grid; place-items: center; }
.search-shortcut .icon { width: 17px; height: 17px; }
.configuration-form { display: flex; flex-direction: column; gap: calc(7px * var(--ui-spacing)); margin: 0 calc(15px * var(--ui-spacing)) calc(12px * var(--ui-spacing)); }
.configuration-form label { color: var(--muted); font-size: var(--ui-font-size); }
.configuration-form .kit-select { width: 100%; font: inherit; border: 1px solid var(--border); min-height: max(1.5em, calc(33px * var(--ui-spacing))); padding: calc(6px * var(--ui-spacing)) calc(9px * var(--ui-spacing)); }
.native-submit { align-self: flex-start; }
.js .native-submit { display: none; }
.search-form { display: flex; gap: calc(7px * var(--ui-spacing)); align-items: center; margin: 0 calc(15px * var(--ui-spacing)) calc(15px * var(--ui-spacing)); padding: 0 calc(8px * var(--ui-spacing)); min-height: max(1.5em, calc(31px * var(--ui-spacing))); border: 1px solid var(--border); border-radius: 4px; }
.search-form > .icon { width: 13px; height: 13px; color: var(--muted); }
.search-form input:not([type="hidden"]) { width: 100%; background: transparent; border: 0; font-size: var(--ui-font-size); padding: calc(6px * var(--ui-spacing)) 0; }
.search-form input::placeholder { color: var(--muted); }
.search-submit { display: grid; place-items: center; background: transparent; border: 0; padding: calc(3px * var(--ui-spacing)); color: var(--muted); }
.search-submit .icon { height: 13px; width: 13px; }
.tree-root, .panel-heading { display: flex; align-items: center; justify-content: space-between; gap: calc(8px * var(--ui-spacing)); min-height: max(1.5em, calc(39px * var(--ui-spacing))); padding: 0 calc(16px * var(--ui-spacing)); font-size: var(--ui-font-size); font-weight: 400; }
.tree-root { min-height: max(1.5em, calc(30px * var(--ui-spacing))); color: var(--muted); font-size: var(--ui-font-size); }
.panel-heading > .icon { width: 15px; height: 15px; color: var(--muted); }
.count { color: var(--muted); font-size: var(--ui-font-size); font-variant-numeric: tabular-nums; }
.component-tree { flex: 1; min-height: 80px; overflow: auto; padding-bottom: calc(10px * var(--ui-spacing) + var(--tree-focus-tail, 0px)); scrollbar-width: thin; scrollbar-color: var(--border) transparent; }
.tree-modes { display: flex; gap: calc(12px * var(--ui-spacing)); margin: 0 calc(16px * var(--ui-spacing)) calc(6px * var(--ui-spacing)); border-bottom: 1px solid var(--border); }
.tree-modes .text-link { padding: calc(7px * var(--ui-spacing)) 0; font-size: var(--ui-font-size); color: var(--muted); border-bottom: 1px solid transparent; }
.tree-modes .text-link.active { color: var(--text); border-bottom-color: var(--accent); }
.tree-modes .icon { display: none; }
.tree-path { color: var(--muted); font-size: var(--ui-font-size); padding: calc(4px * var(--ui-spacing)) calc(16px * var(--ui-spacing)) calc(8px * var(--ui-spacing)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tree-group { font-size: var(--ui-font-size); color: var(--muted); padding: calc(12px * var(--ui-spacing)) calc(16px * var(--ui-spacing)) calc(6px * var(--ui-spacing)); }
.tree-part { display: flex; align-items: center; gap: calc(9px * var(--ui-spacing)); min-height: max(1.5em, calc(34px * var(--ui-spacing))); padding: calc(7px * var(--ui-spacing)) calc(12px * var(--ui-spacing)) calc(7px * var(--ui-spacing)) calc(18px * var(--ui-spacing)); font-size: var(--ui-font-size); border-left: 2px solid transparent; }
.tree-part > .icon { height: 15px; width: 15px; color: var(--muted); }
.part-tree-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tree-part:hover, .workspace-view:hover { background: var(--panel-raised); }
.tree-part.selected { border-left-color: var(--accent); background: var(--accent-bg); color: var(--text); }
.tree-part.selected .icon { color: var(--accent); }
.instance-row { display: flex; align-items: center; min-width: 0; }
.instance-row .tree-part { flex: 1; min-width: 0; }
.tree-expand { display: flex; align-items: center; gap: calc(3px * var(--ui-spacing)); padding: calc(7px * var(--ui-spacing)); font-size: var(--ui-font-size); color: var(--muted); }
.tree-expand .icon { width: 12px; height: 12px; }
.tree-up { display: flex; align-items: center; gap: calc(5px * var(--ui-spacing)); padding: calc(7px * var(--ui-spacing)) calc(16px * var(--ui-spacing)); color: var(--accent); font-size: var(--ui-font-size); }
.tree-up .icon { transform: rotate(180deg); width: 12px; }
.tree-pages { display: flex; flex-wrap: wrap; gap: calc(7px * var(--ui-spacing)); justify-content: space-between; padding: calc(10px * var(--ui-spacing)); font-size: var(--ui-font-size); }
.workspace-views { display: flex; flex-direction: column; gap: calc(1px * var(--ui-spacing)); padding: calc(10px * var(--ui-spacing)) calc(8px * var(--ui-spacing)); border-top: 1px solid var(--border); }
.workspace-view { display: flex; align-items: center; gap: calc(10px * var(--ui-spacing)); padding: calc(9px * var(--ui-spacing)) calc(11px * var(--ui-spacing)); min-height: max(1.5em, calc(35px * var(--ui-spacing))); border-radius: 4px; font-size: var(--ui-font-size); color: var(--muted); }
.workspace-view > .icon { width: 17px; height: 17px; }
.workspace-view.active { background: var(--panel-raised); color: var(--text); }
.workspace-view.active > .icon { color: var(--accent); }
.account-panel { min-height: max(1.5em, calc(49px * var(--ui-spacing))); display: flex; align-items: center; gap: calc(10px * var(--ui-spacing)); padding: calc(7px * var(--ui-spacing)) calc(13px * var(--ui-spacing)); }
.account-avatar { width: 29px; height: 29px; display: grid; place-items: center; background: var(--panel-raised); border: 1px solid var(--border); border-radius: 50%; }
.account-avatar .icon { height: 15px; width: 15px; color: var(--muted); }
.account-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: calc(2px * var(--ui-spacing)); font-size: var(--ui-font-size); }
.account-info small { font-size: var(--ui-font-size); color: var(--muted); }
.account-state { display: flex; }
.logout-button { font-size: var(--ui-font-size); padding: calc(5px * var(--ui-spacing)); }
.editor { display: flex; flex-direction: column; min-width: 0; min-height: 0; overflow: hidden; background: var(--bg); }
.model-panel { position: relative; flex: 1; min-height: 0; overflow: hidden; background: var(--bg); }
.scene-shell, .canvas-host { position: absolute; inset: 0; }
.canvas-host canvas { display: block; width: 100%; height: 100%; touch-action: none; }
.canvas-host canvas.measuring { cursor: crosshair; }
.viewport-heading { position: absolute; z-index: 2; top: 21px; left: 21px; right: 105px; display: flex; align-items: flex-start; gap: calc(40px * var(--ui-spacing)); pointer-events: none; }
.viewport-context { display: flex; align-items: center; gap: calc(10px * var(--ui-spacing)); }
.viewport-context > .icon { height: 27px; width: 27px; color: var(--muted); }
.breadcrumbs { display: block; font-size: var(--ui-font-size); color: var(--muted); margin-bottom: calc(5px * var(--ui-spacing)); }
.viewport-context h1 { font-size: calc(var(--ui-font-size) * 1.0769); font-weight: 400; letter-spacing: -.1px; }
.viewport-metrics { display: flex; gap: calc(24px * var(--ui-spacing)); font-variant-numeric: tabular-nums; padding-top: calc(1px * var(--ui-spacing)); }
.viewport-metrics > span { display: flex; flex-direction: column; gap: calc(4px * var(--ui-spacing)); font-size: var(--ui-font-size); }
.viewport-metrics small { font-size: var(--ui-font-size); color: var(--muted); white-space: nowrap; }
.orientation { position: absolute; right: 20px; top: 18px; width: 68px; height: 68px; pointer-events: none; }
.orientation line { stroke: currentColor; stroke-width: 1; }
.orientation circle { fill: currentColor; }
.orientation text { fill: var(--text); font-size: var(--ui-font-size); text-anchor: middle; dominant-baseline: central; }
.orientation .axis-z { color: #51556e; }
.orientation .axis-x { color: #a74750; }
.orientation .axis-y { color: #478d66; }
.scene-loading { position: absolute; z-index: 3; inset: 0; display: flex; align-items: center; justify-content: center; gap: calc(12px * var(--ui-spacing)); background: var(--bg); color: var(--muted); font-size: var(--ui-font-size); }
.scene-loading[hidden] { display: none; }
.loading-ring { border: 1px solid var(--border); border-top-color: var(--accent); border-radius: 50%; height: 20px; width: 20px; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.viewport-selection { position: absolute; z-index: 2; bottom: 18px; left: 21px; max-width: calc(100% - 42px); display: flex; align-items: center; gap: calc(14px * var(--ui-spacing)); padding: calc(9px * var(--ui-spacing)) calc(11px * var(--ui-spacing)); background: var(--panel); border: 1px solid var(--border); border-radius: 5px; font-size: var(--ui-font-size); box-shadow: 0 4px 15px #0002; }
.viewport-selection > span { display: flex; align-items: center; gap: calc(8px * var(--ui-spacing)); color: var(--muted); }
.viewport-selection .icon { height: 15px; width: 15px; }
.clear-selection { display: flex; align-items: center; gap: calc(5px * var(--ui-spacing)); color: var(--accent); font-size: var(--ui-font-size); }
.clear-selection .icon { width: 12px; }
.mini-dot { display: inline-block; height: 5px; width: 5px; border-radius: 50%; background: var(--green, #87c4a5); flex-shrink: 0; }
.inspector { display: flex; flex-direction: column; gap: calc(6px * var(--ui-spacing)); min-width: 0; min-height: 0; }
.view-controls { flex: none; overflow: hidden; }
.view-controls .panel-heading { min-height: max(1.5em, calc(36px * var(--ui-spacing))); font-size: var(--ui-font-size); color: var(--muted); }
.view-tool-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(4px * var(--ui-spacing)); padding: 0 calc(6px * var(--ui-spacing)) calc(7px * var(--ui-spacing)); }
.view-tool-grid .tool-button { display: flex; flex-direction: column; justify-content: center; gap: calc(6px * var(--ui-spacing)); border: 1px solid #303342; border-radius: 4px; background: var(--panel-raised); height: max(1.5em, calc(57px * var(--ui-spacing))); padding: calc(6px * var(--ui-spacing)) 0; color: var(--muted); font-size: var(--ui-font-size); font-weight: 400; min-width: 0; }
.view-tool-grid .tool-button:hover { background: var(--border); color: var(--text); }
.view-tool-grid .tool-button > .icon { height: 23px; width: 23px; stroke-width: 1; color: var(--text); }
.view-tool-grid .tool-button[aria-pressed="true"] { color: var(--accent); border-color: #5c587e; background: var(--accent-bg); }
.view-tool-grid .tool-button[aria-pressed="true"] .icon { color: var(--accent); }
.inspector-panel { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; }
.inspector-panel > .panel-heading { border-bottom: 1px solid var(--border); }
.inspector-content { flex: 1; min-height: 0; overflow: auto; scrollbar-width: thin; scrollbar-color: var(--border) transparent; }
.component-identity { padding: calc(19px * var(--ui-spacing)) calc(16px * var(--ui-spacing)) calc(17px * var(--ui-spacing)); }
.eyebrow { display: block; font-size: var(--ui-font-size); color: var(--muted); letter-spacing: 0; }
.component-identity h2 { font-size: calc(var(--ui-font-size) * 1.1538); line-height: 1.45; margin-top: calc(5px * var(--ui-spacing)); }
.component-identity p { font-size: var(--ui-font-size); margin-top: calc(8px * var(--ui-spacing)); }
.property-list { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; padding: 0; font-size: var(--ui-font-size); line-height: 1.5; }
.property-list dt, .property-list dd { padding: calc(11px * var(--ui-spacing)) calc(13px * var(--ui-spacing)); margin: 0; overflow-wrap: anywhere; font-weight: 400; }
.property-list dt { color: var(--muted); }
.property-list dd { border-left: 1px solid var(--border); font-variant-numeric: tabular-nums; color: var(--text); }
.property-list dt:nth-of-type(odd), .property-list dd:nth-of-type(odd) { background: var(--panel-raised); }
.inspector-section { border-top: 1px solid var(--border); padding: calc(15px * var(--ui-spacing)) calc(15px * var(--ui-spacing)) calc(8px * var(--ui-spacing)); }
.inspector-section h3 { display: flex; align-items: center; justify-content: space-between; font-size: var(--ui-font-size); font-weight: 400; margin-bottom: calc(13px * var(--ui-spacing)); }
.inspector-section h3 .icon { width: 12px; height: 12px; color: var(--muted); }
.dimensions-section { padding: 0; }
.dimensions-section h3 { margin: 0; padding: calc(13px * var(--ui-spacing)) calc(15px * var(--ui-spacing)); }
.inspector-tip { padding: calc(21px * var(--ui-spacing)) calc(16px * var(--ui-spacing)); display: flex; align-items: flex-start; gap: calc(10px * var(--ui-spacing)); }
.inspector-tip > .icon { color: var(--accent); height: 18px; width: 18px; margin-top: calc(2px * var(--ui-spacing)); }
.inspector-tip p, .parameter-note { font-size: var(--ui-font-size); line-height: 1.7; color: var(--muted); }
.parameter-note { padding: calc(16px * var(--ui-spacing)); border-top: 1px solid var(--border); }
.parameter-note .icon { width: 13px; height: 13px; margin-right: calc(6px * var(--ui-spacing)); }
.stage-row { display: flex; gap: calc(10px * var(--ui-spacing)); margin-bottom: calc(13px * var(--ui-spacing)); font-size: var(--ui-font-size); }
.stage-number { display: grid; place-items: center; height: 20px; width: 20px; border: 1px solid var(--border); border-radius: 50%; color: var(--accent); flex: none; font-size: var(--ui-font-size); }
.stage-row strong { font-weight: 400; }
.stage-row small { display: block; color: var(--muted); font-size: var(--ui-font-size); margin-top: calc(3px * var(--ui-spacing)); }
.export-links { display: flex; flex-wrap: wrap; gap: calc(6px * var(--ui-spacing)); padding-bottom: calc(8px * var(--ui-spacing)); }
.export-link { display: flex; align-items: center; gap: calc(5px * var(--ui-spacing)); border: 1px solid var(--border); border-radius: 4px; padding: calc(7px * var(--ui-spacing)); font-size: var(--ui-font-size); }
.export-link .icon { height: 12px; width: 12px; color: var(--muted); }
.export-link:hover { background: var(--panel-raised); }
.supplier-link { display: flex; align-items: center; gap: calc(6px * var(--ui-spacing)); color: var(--accent); font-size: var(--ui-font-size); margin-bottom: calc(8px * var(--ui-spacing)); }
.supplier-link .icon { height: 12px; width: 12px; }
.replacement-check { font-size: var(--ui-font-size); margin: calc(8px * var(--ui-spacing)) 0; }
.statusbar { display: flex; align-items: center; gap: calc(16px * var(--ui-spacing)); padding: 0 calc(11px * var(--ui-spacing)); font-size: var(--ui-font-size); color: var(--muted); white-space: nowrap; overflow: hidden; }
.status-project { display: flex; align-items: center; gap: calc(6px * var(--ui-spacing)); }
#build-revision { opacity: .75; }
.status-spacer { flex: 1; }
#notifications { position: fixed; z-index: 100; bottom: 37px; right: 254px; max-width: min(450px, calc(100% - 30px)); color: var(--text); background: var(--panel-raised); border: 1px solid #5c587e; border-radius: 6px; padding: calc(13px * var(--ui-spacing)) calc(16px * var(--ui-spacing)); font-size: var(--ui-font-size); box-shadow: 0 8px 30px #0005; opacity: 0; transform: translateY(5px); pointer-events: none; transition: opacity .16s, transform .16s; }
#notifications.visible { opacity: 1; transform: none; }
.badge { display: inline-flex; align-items: center; padding: calc(3px * var(--ui-spacing)) calc(6px * var(--ui-spacing)); border: 1px solid var(--border); border-radius: 3px; color: var(--accent); background: var(--accent-bg); font-size: var(--ui-font-size); }
.badge.muted { color: var(--muted); background: var(--panel); }
.badge.success { color: var(--green); }
.editor-tab { display: inline-flex; align-items: center; gap: calc(7px * var(--ui-spacing)); padding: calc(10px * var(--ui-spacing)); font-size: var(--ui-font-size); color: var(--muted); border-bottom: 1px solid transparent; }
.editor-tab.active { color: var(--text); border-bottom-color: var(--accent); }
.editor-tab .icon { height: 14px; width: 14px; }
.tool-button { display: inline-flex; align-items: center; gap: calc(7px * var(--ui-spacing)); font-size: var(--ui-font-size); }
.property-row { display: flex; justify-content: space-between; gap: calc(16px * var(--ui-spacing)); padding: calc(7px * var(--ui-spacing)) 0; font-size: var(--ui-font-size); border-bottom: 1px solid var(--border); }
.property-row strong { font-weight: 500; text-align: right; }
.skip-link { position: fixed; top: -100px; left: 12px; padding: calc(10px * var(--ui-spacing)) calc(16px * var(--ui-spacing)); z-index: 100; border-radius: 5px; background: var(--accent, #b8b3ef); color: #181a25; }
.skip-link:focus { top: 12px; }
.nojs-note { position: absolute; z-index: 4; top: 45%; left: 10%; width: 80%; padding: calc(25px * var(--ui-spacing)); background: var(--panel); border: 1px solid var(--border); border-radius: 6px; }
.js .nojs-note { display: none; }

.document-panel {
  overflow: auto;
  flex: 1;
  padding: calc(30px * var(--ui-spacing));
  scrollbar-width: thin;
}
.page-heading {
  margin-bottom: calc(26px * var(--ui-spacing));
  animation: document-heading-in 120ms ease-out;
}
@keyframes document-heading-in { from { opacity: .65; } to { opacity: 1; } }
.page-heading p {
  font-size: var(--ui-font-size);
  margin-top: calc(9px * var(--ui-spacing));
}
.page-heading > .tool-button {
  margin-top: calc(12px * var(--ui-spacing));
  border-color: #46415c;
}
.drawing-card {
  border: 1px solid var(--border);
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: calc(23px * var(--ui-spacing));
}
.drawing-card-header {
  display: flex;
  align-items: center;
  gap: calc(10px * var(--ui-spacing));
  padding: calc(12px * var(--ui-spacing)) calc(15px * var(--ui-spacing));
  background: var(--panel-raised);
}
.drawing-card-header h3 {
  font-size: var(--ui-font-size);
}
.drawing-card-header .text-link {
  margin-left: auto;
  font-size: var(--ui-font-size);
}
.technical-drawing {
  width: 100%;
  height: auto;
  display: block;
  background: white;
}
.text-link {
  display: inline-flex;
  align-items: center;
  gap: calc(5px * var(--ui-spacing));
  color: var(--accent);
  font-size: var(--ui-font-size);
}
.text-link > .icon {
  width: 13px;
  height: 13px;
}
.empty-panel {
  padding: calc(50px * var(--ui-spacing)) calc(28px * var(--ui-spacing));
  color: var(--muted);
  text-align: center;
}
.empty-panel > .icon {
  height: 34px;
  width: 34px;
  margin-bottom: calc(18px * var(--ui-spacing));
}
.empty-panel p {
  font-size: var(--ui-font-size);
  margin-top: calc(12px * var(--ui-spacing));
}
.table-wrap {
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: 5px;
}
.bom-table {
  border-collapse: collapse;
  width: 100%;
  font-size: var(--ui-font-size);
  white-space: nowrap;
}
.bom-table th {
  text-align: left;
  padding: calc(12px * var(--ui-spacing));
  color: var(--muted);
  background: var(--panel);
  font-size: var(--ui-font-size);
  letter-spacing: .7px;
  font-weight: 500;
}
.bom-table td {
  padding: calc(13px * var(--ui-spacing)) calc(12px * var(--ui-spacing));
  border-top: 1px solid var(--border);
}
.bom-table tr:hover td {
  background: var(--panel-raised);
}
.bom-table input {
  accent-color: var(--accent);
}
.bom-table td small {
  display: block;
  margin-top: calc(4px * var(--ui-spacing));
  color: var(--muted);
  font-size: var(--ui-font-size);
}
.bom-table td a {
  color: var(--text);
}
.code-cell {
  font: inherit; font-size: var(--ui-font-size);
  color: #a4a0c6;
}
.bom-table .number {
  text-align: right;
  font-family: Consolas, monospace;
  color: #b4b7cc;
}
.format-cell {
  font: 8px Consolas, monospace;
  color: #767d96;
}
.download-toolbar {
  display: flex;
  align-items: center;
  gap: calc(8px * var(--ui-spacing));
  flex-wrap: wrap;
  margin-bottom: calc(16px * var(--ui-spacing));
  font-size: var(--ui-font-size);
  color: var(--muted);
}
.download-toolbar form {
  display: flex;
  gap: calc(8px * var(--ui-spacing));
  margin-left: auto;
}
.download-toolbar select {
  font-size: var(--ui-font-size);
}
.download-toolbar > .text-link {
  margin-left: auto;
}
.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(7px * var(--ui-spacing));
  background: #a29bd7;
  color: #181727;
  border: 1px solid #b2a8e4;
  padding: calc(8px * var(--ui-spacing)) calc(12px * var(--ui-spacing));
  border-radius: 4px;
  font-size: var(--ui-font-size);
  font-weight: 600;
}
.primary-button:hover {
  background: #b8b0e5;
}
.primary-button .icon {
  width: 14px;
  height: 14px;
}
.secondary-button {
  font-size: var(--ui-font-size);
  background: #2b293d;
  border-color: #47415e;
  color: #b9add8;
}
.panel-footnote {
  font-size: var(--ui-font-size);
  margin-top: calc(17px * var(--ui-spacing));
  line-height: 1.8;
  color: var(--muted);
}
.document-sheet {
  background: #f2f1ed;
  color: #2c3340;
  padding: 40px 45px;
  border-radius: 3px;
  font-size: 12px;
  max-width: 900px;
  margin: 0 auto;
}
.document-sheet p {
  color: #59606a;
  line-height: 1.85;
}
.document-title {
  border-bottom: 1px solid #d5d5d1;
  padding-bottom: 21px;
  margin-bottom: 22px;
}
.document-title h1 {
  font-size: 27px;
}
.document-title p {
  font-size: 10px;
  margin-top: 8px;
}
.document-sheet h2 {
  font-size: 17px;
  margin: 25px 0 12px;
}
.document-sheet strong {
  color: #2c3340;
  font-weight: 600;
}
.document-warning {
  display: flex;
  align-items: start;
  gap: 10px;
  padding: 13px;
  background: #e6e3dc;
  border-left: 2px solid #aa946c;
}
.document-warning p {
  font-size: 10px;
  line-height: 1.65;
}
.document-warning .icon {
  width: 16px;
  height: 16px;
  color: #927d58;
  flex-shrink: 0;
}
.document-sheet figure {
  margin: 20px 0;
}
.doc-drawing {
  width: 100%;
  height: auto;
  border: 1px solid #d9d9d3;
}
.document-sheet figcaption {
  font-size: 10px;
  color: #848791;
  margin-top: 7px;
}
.document-sheet li {
  padding: 4px 0;
  line-height: 1.7;
  color: #555d68;
}
.linked-media {
  display: flex;
  gap: 20px;
  align-items: center;
  border: 1px solid #d3d3cf;
  padding: 17px;
  margin-top: 26px;
}
.linked-media p {
  font-size: 10px;
  margin: 5px 0 9px;
}
.linked-media .text-link {
  color: #5c5489;
}
.qr-code {
  width: 86px;
  height: 86px;
  background: white;
  padding: 3px;
  flex-shrink: 0;
}
.document-footer {
  border-top: 1px solid #d4d4d0;
  margin-top: 27px;
  padding-top: 14px;
  font-size: 9px;
  color: #828591;
}
.video-figure video {
  width: 100%;
}
.print-poster {
  display: none;
}
.access-users {
  border: 1px solid var(--border);
  border-radius: 5px;
  overflow: hidden;
}
.access-row {
  padding: calc(18px * var(--ui-spacing));
  display: flex;
  align-items: center;
  gap: calc(20px * var(--ui-spacing));
  border-bottom: 1px solid var(--border);
}
.access-row:last-child {
  border: 0;
}
.access-row > div {
  flex: 1;
}
.access-row p {
  font-size: var(--ui-font-size);
  margin-top: calc(4px * var(--ui-spacing));
}
.access-row strong {
  font-size: var(--ui-font-size);
  font-weight: 500;
}
.sign-in-body {
  display: grid;
  place-items: center;
  background: #171720;
}
.sign-in-card {
  width: 420px;
  max-width: calc(100vw - 40px);
  background: #20202e;
  padding: calc(40px * var(--ui-spacing));
  border: 1px solid #393548;
  border-radius: 9px;
}
.sign-in-logo {
  display: block;
  margin-bottom: calc(26px * var(--ui-spacing));
  color: var(--accent);
}
.sign-in-logo > .icon {
  height: 36px;
  width: 36px;
}
.sign-in-card h1 {
  font-size: calc(var(--ui-font-size) * 1.8462);
  margin-bottom: calc(14px * var(--ui-spacing));
  line-height: 1.35;
}
.sign-in-card p {
  font-size: var(--ui-font-size);
}
.sign-in-card .primary-button {
  width: 100%;
  margin: calc(22px * var(--ui-spacing)) 0 calc(17px * var(--ui-spacing));
}
.sign-in-card small {
  font-size: var(--ui-font-size);
  color: #747c94;
  display: block;
  text-align: center;
}
.auth-message {
  color: #dbb978 !important;
  margin-top: calc(15px * var(--ui-spacing));
}
.request-error {
  padding: calc(40px * var(--ui-spacing));
  display: block;
}
.request-error a {
  display: inline-block;
  color: var(--accent);
  margin-top: calc(20px * var(--ui-spacing));
}

.report-tabs{display:flex;flex-wrap:wrap;gap:calc(2px * var(--ui-spacing));border-bottom:1px solid var(--border,#303044);margin-bottom:20px}.report-tabs .editor-tab{flex:none}.document-stage{break-inside:avoid;margin:20px 0}.document-sheet+.document-sheet{margin-top:28px;break-before:page}.document-content .property-row{color:#303544;border-color:#d8dde5}.document-content .text-link{color:#31567a}.bom-table td p{margin:4px 0}.bom-table td{vertical-align:top}
@media print{.report-tabs{display:none}.document-sheet{break-after:page}.document-sheet:last-child{break-after:auto}}
.image-figure{margin:18px 0}.image-figure>img:not(.qr-code){max-width:100%;height:auto}.image-figure figcaption{margin:8px 0;color:var(--muted)}



.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.workspace:has(> .left-panel:not([open])) { --left-width: 0px; }
.workspace:has(> .right-panel:not([open])) { --right-width: 0px; }
.panel-disclosure { position: relative; min-height: 0; min-width: 0; }
.panel-disclosure[open]::details-content { height: 100%; min-height: 0; }
.panel-content, .panel-content > .workspace-sidebar, .panel-content > .inspector { height: 100%; min-height: 0; }
.panel-handle { position: absolute; top: 17px; right: 11px; width: 25px; height: 25px; cursor: pointer; list-style: none; z-index: 5; color: var(--muted); }
.panel-handle::-webkit-details-marker { display: none; }
.panel-handle-icon { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid transparent; border-radius: 5px; }
.panel-handle .icon { width: 15px; height: 15px; }
.panel-handle:hover .panel-handle-icon { background: var(--panel-raised); color: var(--text); }
.left-panel[open] > .panel-handle .icon, .right-panel:not([open]) > .panel-handle .icon { transform: rotate(180deg); }
.right-panel[open] > .panel-handle { top: 6px; right: 7px; }
.right-panel[open] .view-controls > .panel-heading > .icon, .right-panel[open] .inspector-panel > .panel-heading > .icon { visibility: hidden; }
.panel-disclosure[open] > .panel-handle .panel-show-label, .panel-disclosure:not([open]) > .panel-handle .panel-hide-label { display: none; }
.panel-disclosure:not([open]) > .panel-handle { position: fixed; top: 6px; bottom: 30px; height: auto; width: 24px; }
.left-panel:not([open]) > .panel-handle { left: 0; right: auto; }
.right-panel:not([open]) > .panel-handle { right: 0; }
.panel-disclosure:not([open]) > .panel-handle .panel-handle-icon { position: absolute; top: clamp(24px, var(--panel-edge-y, 50%), calc(100% - 24px)); transform: translateY(-50%); opacity: 0; background: var(--panel-raised); color: var(--accent); border-color: var(--border); box-shadow: 0 3px 12px #0005; transition: opacity .12s ease; }
.left-panel:not([open]) > .panel-handle .panel-handle-icon { left: 4px; }
.right-panel:not([open]) > .panel-handle .panel-handle-icon { right: 4px; }
.panel-disclosure:not([open]) > .panel-handle:hover .panel-handle-icon, .panel-disclosure:not([open]) > .panel-handle:focus-visible .panel-handle-icon { opacity: 1; }
.panel-handle:focus-visible { outline: none; }
.panel-handle:focus-visible .panel-handle-icon { outline: 2px solid var(--accent); outline-offset: 2px; }
.panel-handle-space { width: 25px; height: 25px; }
.statusbar { grid-column: 1 / -1; padding: 0 calc(5px * var(--ui-spacing)); }
#viewer-status { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.language-form { display: flex; align-items: center; gap: calc(6px * var(--ui-spacing)); flex: none; }
.language-form .kit-select { font: inherit; font-size: var(--ui-font-size); padding: calc(2px * var(--ui-spacing)) calc(4px * var(--ui-spacing)); min-height: max(1.5em, calc(22px * var(--ui-spacing))); border: 0; background: transparent; width: 89px; }
.sign-in-card .language-form { justify-content: center; margin-top: calc(20px * var(--ui-spacing)); }
.sign-in-card .language-form .kit-select { background: var(--panel-raised); min-height: max(1.5em, calc(30px * var(--ui-spacing))); font-size: var(--ui-font-size); width: 115px; }
@media (pointer: coarse), (hover: none) {
 .panel-disclosure:not([open]) > .panel-handle .panel-handle-icon { opacity: 1; }
}

@media (max-width: 1200px) {
 .workspace { --left-width: 210px; --right-width: 218px; }
 .brand-row { padding: 0 calc(13px * var(--ui-spacing)); }
 .brand strong { font-size: calc(var(--ui-font-size) * 1.5385); }
 .viewport-heading { gap: calc(24px * var(--ui-spacing)); }
 .viewport-metrics { gap: calc(17px * var(--ui-spacing)); }
 .viewport-metrics small { font-size: var(--ui-font-size); }
 .property-list dt, .property-list dd { padding: calc(10px * var(--ui-spacing)); }
 .view-tool-grid .tool-button { font-size: var(--ui-font-size); }
 .document-panel { padding: calc(23px * var(--ui-spacing)); }
}
@media (max-width: 980px) {
 html, body { height: auto; min-height: 100%; overflow: auto; }
 body:has(> .workspace) { display: block; }
 .workspace { --left-width: 205px; grid-template-columns: var(--left-width) minmax(0, 1fr); grid-template-rows: minmax(550px, 72dvh) auto auto; }
 .left-panel { grid-column: 1; grid-row: 1 / 3; }
 .right-panel { grid-column: 2; grid-row: 2; }
 .statusbar { grid-row: 3; }
 .sidebar { flex: none; max-height: 700px; }
 .component-tree { max-height: 260px; }
 .editor { grid-column: 2; min-height: 550px; }
 .inspector { grid-column: 2; display: grid; grid-template-columns: 185px minmax(0, 1fr); align-items: start; }
 .inspector:not(:has(.view-controls)) { grid-template-columns: 1fr; }
 .inspector-panel { max-height: 480px; }
 .inspector-content { overflow: auto; }
 .viewport-heading { right: 92px; flex-wrap: wrap; gap: calc(16px * var(--ui-spacing)); }
 .viewport-metrics { gap: calc(22px * var(--ui-spacing)); }
 .view-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .view-tool-grid .tool-button { font-size: var(--ui-font-size); height: max(1.5em, calc(60px * var(--ui-spacing))); }
 .document-panel { overflow: auto; }
 .download-toolbar { flex-wrap: wrap; }
 .access-row { flex-wrap: wrap; }
 .statusbar { min-height: 25px; }
 #build-revision, .statusbar > a { display: none; }
 #notifications { right: 15px; }
}
@media (max-width: 650px) {
 .workspace { display: flex; flex-direction: column; padding: calc(5px * var(--ui-spacing)); gap: calc(5px * var(--ui-spacing)); }
 .editor { order: 0; min-height: 510px; }
 .model-panel { min-height: 510px; }
 .left-panel { order: 2; }
 .right-panel { order: 1; }
 .statusbar { order: 3; }
 .sidebar { max-height: none; }
 .brand-row { min-height: max(1.5em, calc(52px * var(--ui-spacing))); }
 .configuration-form { flex-direction: row; align-items: center; }
 .configuration-form label { flex: 1; }
 .configuration-form .kit-select { width: auto; max-width: 60%; }
 .search-form { margin-bottom: calc(8px * var(--ui-spacing)); }
 .component-tree { max-height: 240px; }
 .workspace-views { display: grid; grid-template-columns: 1fr 1fr; }
 .workspace-view { font-size: var(--ui-font-size); }
 .inspector { order: 1; display: flex; align-items: stretch; }
 .inspector-panel { max-height: 470px; }
 .view-tool-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .view-tool-grid .tool-button { height: max(1.5em, calc(59px * var(--ui-spacing))); font-size: var(--ui-font-size); }
 .view-controls .panel-heading { min-height: max(1.5em, calc(34px * var(--ui-spacing))); }
 .viewport-heading { top: 16px; left: 16px; gap: calc(17px * var(--ui-spacing)); }
 .viewport-context h1 { font-size: var(--ui-font-size); }
 .viewport-metrics { margin-left: calc(37px * var(--ui-spacing)); }
 .viewport-selection { left: 15px; bottom: 15px; max-width: calc(100% - 30px); flex-wrap: wrap; }
 .clear-selection { font-size: var(--ui-font-size); }
 .document-panel { padding: calc(20px * var(--ui-spacing)) calc(15px * var(--ui-spacing)); }
 .drawing-card-header { flex-wrap: wrap; }
 .document-sheet { padding: 20px; }
 .page-heading h1 { font-size: calc(var(--ui-font-size) * 1.7692); }
 .statusbar { gap: calc(8px * var(--ui-spacing)); font-size: var(--ui-font-size); }
 #render-stats { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
 ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}

@media print {
  @page {
    size: A4;
    margin: 14mm;
  }
  html,
  body {
    height: auto;
    overflow: visible;
    background: white;
    color: black;
    color-scheme: light;
  }
  .titlebar,
  .activitybar,
  .panel-disclosure,
  .workspace-sidebar,
  .sidebar,
  .inspector,
  .statusbar,
  .editor-tabs,
  .breadcrumbs,
  .page-heading,
  .viewport-toolbar,
  #notifications,
  .nojs-note,
  .download-toolbar {
    display: none !important;
  }
  .app-shell,
  .workspace,
  .editor,
  .document-panel {
    display: block;
    height: auto;
    overflow: visible;
    border: 0;
    padding: 0;
  }
  .document-sheet {
    padding: 0;
    margin: 0;
    border: 0;
    background: white;
    max-width: none;
  }
  .document-warning {
    background: #f3f3f3;
  }
  .document-sheet h2 {
    break-after: avoid;
  }
  .document-sheet figure,
  .linked-media,
  .drawing-card {
    break-inside: avoid;
  }
  .document-sheet p,
  .document-sheet li {
    orphans: 3;
    widows: 3;
  }
  .document-sheet .text-link {
    display: none;
  }
  .document-footer {
    font-size: 8pt;
  }
  .technical-drawing {
    max-height: 240mm;
    object-fit: contain;
  }
  .drawing-card {
    border: 0;
  }
  .drawing-card-header {
    background: white;
    color: black;
  }
  .drawing-card-header a {
    display: none;
  }
  .video-figure video {
    display: none;
  }
  .print-poster {
    display: block;
    max-width: 100%;
  }
  .qr-code {
    print-color-adjust: exact;
  }
  .model-panel {
    display: none;
  }
  .table-wrap {
    overflow: visible;
    border-color: #ccc;
  }
  .bom-table {
    font-size: 8pt;
    color: black;
  }
  .bom-table td,
  .bom-table th {
    background: white !important;
    color: black !important;
    border-color: #ddd;
  }
  .bom-table input {
    display: none;
  }
  .bom-table .format-cell {
    display: none;
  }
}

.assembly-tree, .panel-handle, .panel-dock, .view-tool-grid { user-select: none; }

.account-panel { padding: 0; }
.workspace .kit-button.profile-trigger { display: flex; align-items: center; gap: calc(10px * var(--ui-spacing)); width: 100%; padding: calc(7px * var(--ui-spacing)) calc(13px * var(--ui-spacing)); border: 0; border-radius: 5px; text-align: left; min-height: max(32px, calc(49px * var(--ui-spacing))); }
.profile-trigger:hover, .workspace:has(.profile-menu:popover-open) .profile-trigger { background: var(--panel-raised); }
.profile-trigger .account-info { min-width: 0; }
.profile-trigger .account-info > span, .profile-trigger .account-info small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-trigger .account-avatar { width: 25px; height: 25px; flex: none; }
.profile-chevron { display: flex; color: var(--muted); }
.profile-chevron .icon { width: 12px; height: 12px; transform: rotate(-90deg); }
.workspace:has(.profile-menu:popover-open) .profile-chevron .icon { transform: rotate(90deg); }
.profile-menu.kit-popover { position: fixed; position-area: none; position-anchor: none; position-try-fallbacks: none; inset: auto auto calc(var(--dock-height) + max(32px, 49px * var(--ui-spacing)) + 12px) 6px; margin: 0; inline-size: min(260px, calc(100vw - 12px)); min-inline-size: 0; max-height: calc(100dvh - var(--dock-height) - 70px); overflow: auto; padding: 5px; background: var(--panel-raised); color: var(--text); border: 1px solid var(--border); border-radius: 6px; font: inherit; box-shadow: 0 8px 25px #0006; }
.workspace .profile-menu .kit-button, .workspace .profile-menu .profile-access { display: flex; align-items: center; justify-content: flex-start; gap: 8px; width: 100%; min-height: 30px; padding: calc(8px * var(--ui-spacing)) calc(12px * var(--ui-spacing)); text-align: left; }
.profile-menu .kit-button:hover:not(:disabled), .profile-menu .kit-button:focus-visible, .profile-menu .profile-access:hover, .profile-menu .profile-access:focus-visible { background: var(--accent-bg); color: var(--text); }
.profile-menu .kit-button:disabled { cursor: default; opacity: .45; }
.profile-menu .icon { width: 15px; height: 15px; flex: none; }
.profile-menu hr { border: 0; border-top: 1px solid var(--border); margin: 4px 0; }
.profile-local-note { color: var(--muted); font-size: max(10px, calc(var(--ui-font-size) - 1px)); padding: 2px 6px 6px; line-height: 1.5; }
@supports (position-area: top) {
 .profile-menu.kit-popover { position-anchor: auto; position-area: top span-right; position-try-fallbacks: flip-block, flip-inline; inset: auto; margin: 6px 0; max-height: calc(100dvh - 90px); }
}
@media (pointer: coarse) { .workspace .kit-button.profile-trigger, .workspace .profile-menu .kit-button, .workspace .profile-menu .profile-access { min-height: 44px; } }
.display-settings::backdrop { background: #0b0d1455; }
@media print { .profile-menu { display: none !important; transition: none !important; } }

.workspace .kit-button.project-switcher { display: flex; align-items: center; justify-content: flex-start; flex: 1; min-width: 0; gap: calc(8px * var(--ui-spacing)); padding: 3px 0; border: 0; border-radius: 4px; text-align: left; color: var(--text); background: transparent; }
.workspace .kit-button.project-switcher:hover, .workspace:has(.project-menu:popover-open) .kit-button.project-switcher { background: var(--panel-raised); }
.project-switcher strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--ui-font-size); font-weight: 500; }
.project-switcher > .icon { width: 17px; height: 17px; flex: none; color: var(--muted); }
.project-switcher-chevron { display: flex; flex: none; margin-left: auto; color: var(--muted); }
.project-switcher-chevron .icon { width: 12px; height: 12px; transform: rotate(90deg); }
.workspace:has(.project-menu:popover-open) .project-switcher-chevron .icon { transform: rotate(-90deg); }
.project-menu.kit-popover { position: fixed; position-area: none; position-anchor: none; position-try-fallbacks: none; inset: 40px auto auto 8px; margin: 0; inline-size: min(360px, calc(100vw - 16px)); min-inline-size: 0; max-height: calc(100dvh - 64px); overflow: auto; padding: 4px; background: var(--panel-raised); color: var(--text); border: 1px solid var(--border); border-radius: 6px; font: inherit; box-shadow: 0 8px 28px #0006; }
.project-menu-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: calc(9px * var(--ui-spacing)) calc(12px * var(--ui-spacing)); border-bottom: 1px solid var(--border); color: var(--muted); }
.project-menu-list { display: grid; gap: 2px; padding-top: 3px; }
.project-menu-item { display: flex; align-items: center; gap: 8px; min-height: max(34px, calc(42px * var(--ui-spacing))); padding: calc(8px * var(--ui-spacing)) calc(10px * var(--ui-spacing)); border-radius: 3px; color: var(--text); }
.project-menu-item:hover, .project-menu-item:focus-visible { background: var(--accent-bg); outline: 1px solid var(--accent); outline-offset: -1px; }
.project-menu-item.active { background: var(--panel); }
.project-menu-item > .icon { width: 15px; height: 15px; flex: none; color: var(--muted); }
.project-menu-check { display: flex; width: 14px; flex: none; color: var(--accent); }
.project-menu-check .icon { width: 14px; height: 14px; visibility: hidden; }
.project-menu-item.active .project-menu-check .icon { visibility: visible; }
.project-menu-identity { display: grid; flex: 1; min-width: 0; gap: 2px; }
.project-menu-identity strong { font-size: var(--ui-font-size); font-weight: 500; overflow-wrap: anywhere; }
.project-menu-identity small { color: var(--muted); font-size: max(10px, calc(var(--ui-font-size) - 1px)); overflow-wrap: anywhere; }
@supports (position-area: bottom) {
 .project-menu.kit-popover { position-anchor: auto; position-area: bottom span-right; position-try-fallbacks: flip-block, flip-inline; inset: auto; margin: 6px 0; }
}
@media (pointer: coarse) { .workspace .kit-button.project-switcher, .project-menu-item { min-height: 44px; } }
@media print { .project-menu { display: none !important; transition: none !important; animation: none !important; } }

.panel-resize { display: none; }
@media (min-width: 981px) {
 .workspace[data-panel-widths] { --panel-side-limit: min(560px, calc((100vw - 360px - 24px * var(--ui-spacing)) / 2)); --left-width: clamp(180px, var(--panel-left-width, var(--left-default-width)), var(--panel-side-limit)); --right-width: clamp(180px, var(--panel-right-width, var(--right-default-width)), var(--panel-side-limit)); }
 .workspace[data-panel-widths]:has(> .panel-disclosure:not([open])) { --panel-side-limit: min(560px, calc(100vw - 360px - 24px * var(--ui-spacing))); }
 .workspace[data-panel-widths]:has(> .left-panel:not([open])) { --left-width: 0px; }
 .workspace[data-panel-widths]:has(> .right-panel:not([open])) { --right-width: 0px; }
 .js .panel-disclosure[open] .panel-resize { display: block; position: absolute; top: 0; bottom: 0; width: 8px; z-index: 6; cursor: col-resize; touch-action: none; user-select: none; outline: none; }
 .left-panel .panel-resize { right: -4px; }
 .right-panel .panel-resize { left: -4px; }
 .panel-resize::after { content: ""; position: absolute; top: 0; bottom: 0; left: 3px; width: 2px; border-radius: 2px; background: var(--accent); opacity: 0; transition: opacity .12s ease; }
 .panel-resize:hover::after, .panel-resize:focus-visible::after, .panel-resize[data-panel-drag]::after { opacity: 1; }
 .workspace[data-panel-resizing], .workspace[data-panel-resizing] * { cursor: col-resize !important; user-select: none !important; }
}
@media (min-width: 981px) and (pointer: coarse) {
 .js .panel-disclosure[open] .panel-resize { width: 16px; }
 .left-panel .panel-resize { right: -8px; }
 .right-panel .panel-resize { left: -8px; }
 .panel-resize::after { left: 7px; }
}
@media print { .panel-resize { display: none !important; } }

.tile-region { position: relative; height: 100%; min-height: 0; min-width: 0; }
.tile-scroll { height: 100%; min-width: 0; min-height: 0; overflow: hidden; position: relative; }
.tile-scroll[data-mode="rolling"] { overflow-x: auto; overflow-y: hidden; container-type: inline-size; scrollbar-width: thin; overscroll-behavior-x: contain; }
.tile-scroll[data-mode="rolling"] > .tile-workspace { --rolling-unit: min(100cqw, max(320px, 50cqw)); width: calc(var(--rolling-unit) * var(--rolling-span)); margin-inline: auto; }
.tile-scroll[data-mode="rolling"] > .tile-workspace[data-columns="1"] { width: 100%; margin-inline: 0; }
.tile-workspace[data-columns="1"] > .column-divider { display: none; }
.column-single-width { display: grid; place-items: center; width: 32px; height: 22px; color: var(--muted); font-size: max(10px,calc(var(--ui-font-size) - 1px)); font-variant-numeric: tabular-nums; }
.pane-edge.kit-link { position: absolute; z-index: 8; top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; gap: 2px; width: 36px; height: 64px; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: max(10px,calc(var(--ui-font-size) - 1px)); text-decoration: none; }
.pane-edge-left { left: 0; }.pane-edge-right { right: 0; }
.pane-edge::before { content: ""; position: absolute; top: calc(50% - 9px); width: 3px; height: 18px; border-radius: 2px; background: var(--accent); transition: opacity 100ms; }
.pane-edge-left::before { left: 4px; }.pane-edge-right::before { right: 4px; }
.pane-edge::after { content: ""; position: absolute; inset: 18px 4px; border: 1px solid var(--border); border-radius: 4px; background: var(--panel-raised); box-shadow: 0 2px 8px #0005; opacity: 0; transition: opacity 100ms; }
.pane-edge > * { position: relative; z-index: 1; opacity: 0; transition: opacity 100ms; }
.pane-edge .icon { width: 12px; height: 12px; flex: none; }
.pane-edge-left .icon { transform: rotate(180deg); }
.pane-edge:is(:hover,:focus-visible)::before { opacity: 0; }
.pane-edge:is(:hover,:focus-visible)::after,.pane-edge:is(:hover,:focus-visible) > * { opacity: 1; }
.pane-edge:focus-visible { outline: none; }
.pane-edge:focus-visible::after { border-color: var(--accent); background: var(--accent-bg); outline: 2px solid var(--accent); outline-offset: 2px; }
.pane-edge[hidden] { display: none !important; }
.js .pane-edge:not([data-count]) { visibility: hidden; }
.column-divider { display: none; position: absolute; z-index: 5; top: 0; bottom: 0; width: 6px; cursor: col-resize; touch-action: none; user-select: none; }
.js .column-divider { display: block; }
.column-divider:hover,.column-divider:focus-visible,.column-divider[data-column-drag] { background: var(--accent); border-radius: 2px; outline: none; }
.workspace .column-width-action { width: 32px; font-size: max(10px,calc(var(--ui-font-size) - 1px)); font-variant-numeric: tabular-nums; }
.layout-control { display: flex; align-items: center; }
.workspace #workspace-layout-trigger { display: grid; place-items: center; width: calc(20px + 12px * var(--ui-spacing)); height: max(22px, calc(28px * var(--ui-spacing))); padding: 0; color: var(--muted); }
#workspace-layout-trigger .icon { width: max(14px,var(--ui-font-size)); height: max(14px,var(--ui-font-size)); }
.layout-control:has(:popover-open) #workspace-layout-trigger { color: var(--accent); background: var(--accent-bg); }
.workspace-layout-menu { position: fixed; inset: auto 8px calc(var(--dock-height) + 8px) auto; margin: 0; min-width: 150px; padding: 4px; border: 1px solid var(--border); border-radius: 5px; background: var(--panel); color: var(--text); box-shadow: 0 6px 24px #0006; font: inherit; font-size: var(--ui-font-size); }
.layout-option { display: block; padding: 8px 12px; border-radius: 3px; color: var(--muted); }
.layout-option:hover,.layout-option[aria-current="page"] { background: var(--accent-bg); color: var(--accent); text-decoration: none; }
.object-views-popover hr { border: 0; border-top: 1px solid var(--border); margin: 5px 0; }
.object-tab-heading { display: block; color: var(--muted); padding: 6px 10px 3px; font-size: max(10px,calc(var(--ui-font-size) - 1px)); }
@media (pointer: coarse) { .workspace #workspace-layout-trigger,.workspace .column-width-action { width: 44px; height: 44px; min-height: 44px; } .layout-option { min-height: 44px; } .pane-edge.kit-link { min-width: 44px; min-height: 44px; justify-content: center; } .column-single-width { width: 44px; height: 44px; } }
@media (hover: none), (pointer: coarse) {
 .pane-edge.kit-link { width: 44px; height: 44px; }
 .pane-edge::before { opacity: 0; }
 .pane-edge::after { inset: 0; }
 .pane-edge::after,.pane-edge > * { opacity: 1; }
}
@media (max-width:650px) {
 .tile-scroll[data-mode="tiled"] { height: auto; overflow: visible; }
 .tile-region:has(> .tile-scroll[data-mode="tiled"]) { height: auto; }
 .editor:has(.tile-scroll[data-mode="rolling"]) { overflow: hidden; }
 .tile-scroll[data-mode="rolling"] { height: 540px; }
 .tile-scroll[data-mode="rolling"] > .tile-workspace { height: 100%; min-height: 0; }
 .tile-scroll[data-mode="rolling"] .tile-divider { display: block; }
}
@media (max-width:440px) and (pointer:coarse) {
 .workspace .status-controls { display: contents; }
 .status-controls > .layout-control { grid-column: 1; grid-row: 2; justify-self: start; }
 .status-controls > .shortcuts-control { grid-column: 2; grid-row: 1; justify-self: start; }
 .status-controls > .right-dock { grid-column: 2; grid-row: 1; justify-self: end; }
}
@media print {
 .tile-region { position: static; height: auto; }
 .tile-scroll,.tile-scroll[data-mode="rolling"] { position: static; height: auto; overflow: visible; container-type: normal; }
 .tile-scroll[data-mode="rolling"] > .tile-workspace { width: 100%; margin: 0; }
 .column-divider,.column-width-action,.column-single-width,.layout-control,.workspace-layout-menu,.pane-edge { display: none !important; }
}

.shortcuts-control { display: flex; align-items: center; }
.workspace .shortcuts-trigger { display: grid; place-items: center; width: calc(20px + 12px * var(--ui-spacing)); height: max(22px, calc(28px * var(--ui-spacing))); padding: 0; color: var(--muted); }
.shortcuts-trigger .icon { width: max(14px, var(--ui-font-size)); height: max(14px, var(--ui-font-size)); }
.shortcuts-trigger:hover, .workspace:has(.shortcuts-popover:popover-open) .shortcuts-trigger { color: var(--accent); background: var(--accent-bg); }
.shortcuts-popover.kit-popover { position: fixed; position-anchor: none; position-area: none; inset: 0; margin: auto; width: min(calc(35 * var(--ui-font-size) + 80px), calc(100vw - 24px)); height: fit-content; max-height: min(590px, calc(100dvh - 32px)); padding: 0; overflow: hidden; border: 1px solid var(--muted); border-radius: 5px; background: var(--panel); color: var(--text); font: inherit; font-size: var(--ui-font-size); white-space: normal; text-align: left; box-shadow: 0 12px 45px #0006; }
.shortcuts-popover:popover-open { display: flex; flex-direction: column; }
.shortcuts-heading { display: flex; flex: none; align-items: center; justify-content: space-between; gap: 12px; padding: calc(12px * var(--ui-spacing)) calc(18px * var(--ui-spacing)); border-bottom: 1px solid var(--border); }
.shortcuts-heading h2 { margin: 0; font-size: var(--ui-font-size); font-weight: 500; letter-spacing: 0; }
.workspace .shortcuts-close { display: grid; place-items: center; width: 24px; height: 24px; padding: 0; color: var(--muted); }
.shortcuts-close .icon { width: 13px; height: 13px; }
.shortcuts-list { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: calc(10px * var(--ui-spacing)); scrollbar-width: thin; }
.shortcuts-list:focus-visible { outline: 1px solid var(--accent); outline-offset: -2px; }
.shortcut-group { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.shortcut-group + .shortcut-group { margin-top: calc(14px * var(--ui-spacing)); }
.shortcut-group caption { margin: 0; padding: calc(6px * var(--ui-spacing)) calc(8px * var(--ui-spacing)); color: var(--muted); font-weight: 400; font-size: max(10px, calc(var(--ui-font-size) - 1px)); text-align: left; }
.shortcut-row th, .shortcut-row td { padding: calc(7px * var(--ui-spacing)) calc(8px * var(--ui-spacing)); border: 0; line-height: 1.5; overflow-wrap: anywhere; text-align: left; vertical-align: top; }
.shortcut-row th { width: 41%; font-weight: 400; }
.shortcut-row kbd { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; white-space: normal; }
.shortcut-description { display: flex; gap: 8px; color: var(--muted); }
.shortcut-description::before { content: "→"; flex: none; }
.shortcut-current, .shortcut-row:hover { background: var(--panel-raised); }
.shortcut-current th, .shortcut-current .shortcut-description { color: var(--accent); }
.shortcuts-hint { flex: none; margin: 0; padding: calc(12px * var(--ui-spacing)) calc(18px * var(--ui-spacing)); border-top: 1px solid var(--border); color: var(--muted); font-size: max(10px, calc(var(--ui-font-size) - 1px)); line-height: 1.5; }
@media (pointer: coarse) {
 .workspace .shortcuts-trigger, .workspace .shortcuts-close { width: 44px; height: 44px; min-height: 44px; }
}
@media print { .shortcuts-control, .shortcuts-popover { display: none !important; } }

.sidebar-view { display: flex; flex: 1; flex-direction: column; min-height: 90px; overflow: hidden; }
.workspace-sidebar .workspace-view { min-height: max(1.5em, calc(30px * var(--ui-spacing))); padding: calc(6px * var(--ui-spacing)) calc(11px * var(--ui-spacing)); font-size: var(--ui-font-size); }
.workspace-sidebar .project-link { min-height: max(1.5em, calc(34px * var(--ui-spacing))); padding: calc(8px * var(--ui-spacing)) calc(16px * var(--ui-spacing)); }
.workspace-sidebar .project-link .icon { width: 18px; height: 18px; }
.sidebar-scroll { flex: 1; min-height: 0; overflow: auto; scrollbar-width: thin; scrollbar-color: var(--border) transparent; }
.sidebar-view .tree-root > .icon { width: 13px; height: 13px; color: var(--muted); }
.sidebar-hint { margin: 0 calc(15px * var(--ui-spacing)) calc(12px * var(--ui-spacing)); font-size: var(--ui-font-size); line-height: 1.6; }
.sidebar-empty { padding: calc(20px * var(--ui-spacing)) calc(16px * var(--ui-spacing)); font-size: var(--ui-font-size); color: var(--muted); line-height: 1.7; }
.sidebar-empty > .icon { width: 23px; height: 23px; margin-bottom: calc(12px * var(--ui-spacing)); }
.outline-group { border-bottom: 1px solid var(--border); }
.outline-group > summary { display: flex; align-items: center; gap: calc(7px * var(--ui-spacing)); padding: calc(10px * var(--ui-spacing)) calc(13px * var(--ui-spacing)); list-style: none; cursor: pointer; font-size: var(--ui-font-size); }
.outline-group > summary::-webkit-details-marker { display: none; }
.outline-chevron .icon { width: 11px; height: 11px; color: var(--muted); }
.outline-group[open] > summary .outline-chevron { transform: rotate(90deg); }
.outline-group.selected > summary { background: var(--accent-bg); color: var(--accent); }
.outline-group > summary:hover { background: var(--panel-raised); }
.outline-group > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.outline-context { display: flex; flex-wrap: wrap; gap: calc(6px * var(--ui-spacing)); justify-content: space-between; align-items: center; padding: 0 calc(13px * var(--ui-spacing)) calc(10px * var(--ui-spacing)); color: var(--muted); font-size: var(--ui-font-size); }
.outline-inspect { display: inline-flex; gap: calc(4px * var(--ui-spacing)); align-items: center; color: var(--accent); }
.outline-inspect .icon { width: 11px; height: 11px; }
.parameter-outline .property-list { font-size: var(--ui-font-size); }
.parameter-outline .property-list dt, .parameter-outline .property-list dd { padding: calc(8px * var(--ui-spacing)) calc(12px * var(--ui-spacing)); }
.sidebar-view .configuration-form { flex-direction: column; align-items: stretch; flex: none; margin: calc(10px * var(--ui-spacing)) calc(13px * var(--ui-spacing)); }
.sidebar-view .configuration-form .kit-select { width: 100%; max-width: none; }
.version-group { padding: 0 calc(13px * var(--ui-spacing)) calc(17px * var(--ui-spacing)); }
.version-group h3 { font-size: var(--ui-font-size); font-weight: 400; color: var(--muted); overflow-wrap: anywhere; padding: calc(8px * var(--ui-spacing)) 0; }
.version-group ul { list-style: none; margin: 0; padding: 0 0 0 calc(7px * var(--ui-spacing)); border-left: 1px solid var(--border); }
.version-row { padding: calc(10px * var(--ui-spacing)) calc(8px * var(--ui-spacing)); border-radius: 4px; margin-bottom: calc(4px * var(--ui-spacing)); }
.version-row.active { background: var(--accent-bg); }
.version-identity { display: flex; align-items: center; gap: calc(6px * var(--ui-spacing)); font-size: var(--ui-font-size); }
.version-identity > .icon { width: 13px; height: 13px; color: var(--muted); }
.version-identity strong { font-weight: 400; overflow-wrap: anywhere; min-width: 0; }
.version-state { margin-left: auto; color: var(--muted); font-size: var(--ui-font-size); }
.version-row.active .version-state, .version-row.active .icon { color: var(--accent); }
.version-row p { font-size: var(--ui-font-size); margin-top: calc(6px * var(--ui-spacing)); }
.versions-note { padding-top: calc(10px * var(--ui-spacing)); margin-bottom: calc(10px * var(--ui-spacing)); border-top: 1px solid var(--border); }
.action-context { border-top: 1px solid var(--border); }
.action-context h2 { font-size: var(--ui-font-size); }
.action-model-link { display: flex; gap: calc(8px * var(--ui-spacing)); align-items: center; padding: calc(18px * var(--ui-spacing)) calc(16px * var(--ui-spacing)); font-size: var(--ui-font-size); color: var(--accent); }
.action-model-link .icon { width: 17px; height: 17px; }
.action-center .view-controls { padding-top: calc(5px * var(--ui-spacing)); }
.action-center .view-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.action-center .view-tool-grid .tool-button { height: max(1.5em, calc(64px * var(--ui-spacing))); font-size: var(--ui-font-size); }
.workspace { --dock-height: 32px; grid-template-rows: minmax(0, 1fr) var(--dock-height); }
.statusbar { position: relative; z-index: 10; gap: calc(10px * var(--ui-spacing)); overflow: visible; padding: 0; }
.status-dock-slot { flex: none; }
.status-info { display: flex; flex: 1; align-items: center; gap: calc(12px * var(--ui-spacing)); min-width: 0; height: 100%; overflow: hidden; }
.panel-dock { flex: none; height: 100%; }
.left-dock { padding-right: calc(8px * var(--ui-spacing)); border-right: 1px solid var(--border); }
.right-dock { padding-left: calc(8px * var(--ui-spacing)); border-left: 1px solid var(--border); }
.panel-dock .dock-tab { position: relative; display: flex; align-items: center; justify-content: center; width: 32px; height: 28px; border-radius: 4px; color: var(--muted); font-weight: 400; transition: background .12s ease, color .12s ease; }
.dock-tab .icon { width: 16px; height: 16px; }
.panel-dock .dock-tab:hover { background: var(--panel-raised); color: var(--text); text-decoration: none; }
.panel-dock .dock-tab[aria-expanded="true"] { background: var(--accent-bg); color: var(--accent); }
.dock-tab[aria-expanded="true"]::after { content: ""; position: absolute; bottom: 0; left: 9px; right: 9px; height: 2px; background: var(--accent); border-radius: 1px; }
.dock-tooltip { position: absolute; bottom: calc(100% + 9px); left: 0; z-index: 12; padding: calc(7px * var(--ui-spacing)) calc(9px * var(--ui-spacing)); border-radius: 4px; border: 1px solid var(--border); background: var(--panel-raised); color: var(--text); white-space: nowrap; font-size: var(--ui-font-size); font-weight: 400; box-shadow: 0 3px 12px #0005; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .12s ease; }
.right-dock .dock-tooltip { left: auto; right: 0; }
.dock-tab:hover .dock-tooltip, .dock-tab:focus-visible .dock-tooltip { opacity: 1; visibility: visible; }
.panel-disclosure:not([open]) > .panel-handle { bottom: calc(var(--dock-height) + 6px); }
@media (pointer: coarse) {
 .workspace { --dock-height: 44px; }
 .panel-dock .dock-tab { min-width: 44px; height: 44px; }
}
@media (max-width: 980px) {
 .workspace { grid-template-rows: minmax(550px, 72dvh) auto var(--dock-height); }
 .inspector { display: flex; }
 .action-center .view-tool-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
 .status-info > #build-revision, .status-info > a { display: none; }
}
@media (max-width: 650px) {
 .workspace { padding-bottom: calc(50px * var(--ui-spacing)); --dock-height: 44px; }
 .statusbar { position: fixed; bottom: 0; left: 0; right: 0; height: 44px; background: var(--gutter); padding: 0 calc(5px * var(--ui-spacing)); gap: calc(6px * var(--ui-spacing)); }
 .status-info { justify-content: flex-end; }
 .status-info > :not(.language-form) { display: none; }
 .left-dock { padding-right: calc(4px * var(--ui-spacing)); }
 .right-dock { padding-left: calc(4px * var(--ui-spacing)); }
 .panel-dock .dock-tab { width: 36px; height: 36px; }
 .sidebar-view { min-height: 180px; }
 .sidebar-scroll { max-height: 350px; }
 .status-info .language-form .kit-select { width: 82px; }
 .panel-disclosure:not([open]) > .panel-handle { bottom: 50px; }
}
@media (max-width: 650px) and (pointer: coarse) {
 .panel-dock .dock-tab { width: 44px; }
 .status-info .language-form .kit-select { width: 78px; }
}
@media (prefers-reduced-motion: reduce) {
 .panel-dock .dock-tab, .dock-tooltip { transition: none; }
}

.editor:has(.tile-workspace) { overflow: hidden; background: var(--gutter); }
.tile-workspace { position: relative; width: 100%; height: 100%; min-height: 0; }
.tile-group { min-width: 0; min-height: 0; border: 2px solid var(--gutter); border-radius: 5px; background: var(--bg); overflow: hidden; }
.tile-group[data-active="true"] > .tile-bar::after { content: ""; position: absolute; z-index: 1; top: 0; left: 0; right: 0; height: 1px; background: var(--accent); pointer-events: none; }
.tile-bar { position: relative; display: flex; align-items: center; flex: none; min-width: 0; height: max(26px, calc(24px * var(--ui-spacing) + 12px)); background: var(--panel); border-bottom: 1px solid var(--border); }
.tile-tabs { display: flex; min-width: 0; flex: 1; overflow-x: auto; scrollbar-width: thin; height: 100%; }
.tile-tab-item { display: flex; align-items: center; flex: none; max-width: 260px; border-right: 1px solid var(--border); }
.tile-tab.kit-link { display: flex; align-items: center; gap: 5px; padding: 0 calc(8px * var(--ui-spacing)); min-width: 0; height: 100%; color: var(--muted); font-size: var(--ui-font-size); text-decoration: none; }
.tile-tab span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tile-tab .icon { width: 13px; height: 13px; flex: none; }
.tile-tab[aria-current="page"] { color: var(--text); background: var(--panel-raised); }
.tile-tab-item:has(.tile-tab[aria-current="page"]) { background: var(--panel-raised); }
.tile-tab-close.kit-link, .tile-action.kit-link { display: grid; place-items: center; flex: none; width: 22px; height: 22px; padding: 0; color: var(--muted); border-radius: 3px; text-decoration: none; }
.tile-tab-close .icon { width: 11px; height: 11px; }
.tile-action .icon { width: 13px; height: 13px; }
.tile-tab-close:hover,.tile-action:hover { background: var(--panel-raised); color: var(--text); }
.tile-focus { flex: none; display: grid; place-items: center; width: 20px; height: 100%; color: var(--muted); text-decoration: none; font-size: 10px; }
.tile-group[data-active="true"] .tile-focus { color: var(--accent); }
.tile-actions { display: flex; flex: none; align-items: center; padding: 0 2px; }
.tile-documents { position: relative; flex: 1; min-height: 0; min-width: 0; overflow: hidden; }
.tile-document { position: absolute; inset: 0; min-width: 0; min-height: 0; overflow: hidden; }
.tile-document[hidden] { display: none !important; }
.runtime-document { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.runtime-document > .model-panel { flex: 1; min-height: 0; }
.runtime-document > .document-panel { flex: 1; min-height: 0; overflow: auto; padding: calc(14px * var(--ui-spacing)); }
.project-runtime-stream { flex: 0 1 auto; max-height: 35%; overflow: auto; border-top: 1px solid var(--border); padding: 8px 14px; }
.project-runtime-stream:has(.project-runtime-content:empty) { display: none; }
@media print { .runtime-document { height: auto; } .project-runtime-stream { max-height: none; overflow: visible; } }
.tile-document > .model-panel { height: 100%; min-height: 0; }
.tile-document > .document-panel { height: 100%; min-height: 0; overflow: auto; padding: calc(14px * var(--ui-spacing)); }
.tile-document .page-heading { margin-bottom: calc(14px * var(--ui-spacing)); }
.tile-document .page-heading h1 { font-size: calc(var(--ui-font-size) * 1.25); }
.tile-document .viewport-heading { top: 10px; left: 10px; right: 80px; gap: 10px; }
.tile-document .viewport-metrics { gap: 10px; }
.tile-document .viewport-context h1 { max-width: 230px; }
.tile-document .viewport-selection { bottom: 10px; left: 10px; right: 10px; max-width: max-content; }
.tile-notice { position: absolute; z-index: 6; bottom: 10px; left: 10px; right: 10px; padding: 10px; border: 1px solid var(--gold); border-radius: 4px; background: var(--panel-raised); color: var(--text); }
.tile-empty { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; padding: 20px; color: var(--muted); }
.tile-empty > .icon { width: 25px; height: 25px; }
.tile-empty small { max-width: 280px; line-height: 1.6; }
.tile-divider { display: none; position: absolute; z-index: 5; outline: none; touch-action: none; user-select: none; cursor: col-resize; }
.js .tile-divider { display: block; }
.tile-divider[data-axis="y"] { cursor: row-resize; }
.tile-divider:hover,.tile-divider:focus-visible,.tile-divider[data-drag] { background: var(--accent); border-radius: 2px; }
.tile-workspace[data-resizing] * { user-select: none !important; }
.tile-tab, .tile-focus { touch-action: none; user-select: none; }
.tile-workspace[data-docking] { outline: none; }
.tile-workspace[data-docking="pointer"], .tile-workspace[data-docking="pointer"] * { cursor: grabbing !important; user-select: none !important; }
.tile-drop-preview { position: absolute; z-index: 20; pointer-events: none; border: 1px solid var(--accent); border-radius: 5px; background: color-mix(in srgb, var(--accent) 18%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent); }
.tile-drop-status { position: absolute; z-index: 21; bottom: 12px; left: 12px; right: 12px; padding: 9px 12px; color: var(--text); background: var(--panel-raised); border: 1px solid var(--border); border-radius: 4px; pointer-events: none; font-size: var(--ui-font-size); line-height: 1.5; }
.tile-drop-preview[hidden],.tile-drop-status[hidden] { display: none !important; }
.tile-move-control { display: contents; }
.workspace .tile-move-trigger { display: grid; place-items: center; flex: none; width: 22px; height: 22px; min-height: 22px; padding: 0; border: 0; color: var(--muted); }
.tile-move-trigger .icon { width: 13px; height: 13px; }
.tile-move-menu { width: min(280px, calc(100vw - 20px)); padding: 12px; background: var(--panel); color: var(--text); border: 1px solid var(--border); border-radius: 5px; box-shadow: 0 8px 30px #0006; }
.tile-move-form { display: grid; gap: 7px; }
.tile-move-menu .kit-select { width: 100%; font-size: var(--ui-font-size); }
.tile-move-menu p { margin-top: 10px; color: var(--muted); line-height: 1.5; font-size: max(10px,calc(var(--ui-font-size) - 1px)); }
@media (pointer: coarse) { .workspace .tile-move-trigger { width: 44px; height: 44px; min-height: 44px; } }
@media print { .tile-drop-preview,.tile-drop-status,.tile-move-menu { display: none !important; } }
@media (max-width: 650px) {
 .editor:has(.tile-workspace) { min-height: 540px; }
 .tile-workspace { min-height: 540px; }
 .tile-scroll[data-mode="tiled"] .tile-group { position: relative !important; inset: auto !important; width: 100% !important; height: 420px !important; margin-bottom: 4px; }
 .tile-scroll[data-mode="tiled"] > .tile-workspace { height: auto; }
 .js .tile-divider { display: none; }
 .editor:has(.tile-workspace) { overflow: visible; }
 .tile-document > .model-panel { min-height: 0; }
 .tile-document .viewport-metrics { display: none; }
}
@media (pointer: coarse) {
 .tile-bar { height: 44px; }
 .tile-tab.kit-link,.tile-tab-close.kit-link,.tile-action.kit-link { min-height: 44px; }
 .tile-tab-close.kit-link,.tile-action.kit-link { width: 44px; }
 .tile-focus { width: 44px; }
 .tile-tab-item { max-width: 230px; }
}
@media print {
 .tile-workspace { position: static; height: auto; min-height: 0; }
 .tile-group { position: static !important; width: 100% !important; height: auto !important; border: 0; }
 .tile-group[data-active="false"],.tile-bar,.tile-divider,.tile-notice { display: none !important; }
 .tile-documents,.tile-document:not([hidden]) { position: static; height: auto; overflow: visible; }
 .tile-document > .document-panel { height: auto; overflow: visible; padding: 0; }
}

.assembly-tree, .assembly-children > ul { list-style: none; margin: 0; padding: 0; }
.assembly-children { margin-left: 12px; border-left: 1px solid var(--border); }
.assembly-node > summary { display: flex; align-items: center; min-width: 0; padding: 0 5px 0 3px; list-style: none; cursor: pointer; }
.assembly-node > summary::-webkit-details-marker { display: none; }
.assembly-node > summary:focus-visible { outline: 1px solid var(--accent); outline-offset: -1px; }
.assembly-node > summary:hover { background: var(--panel-raised); }
.assembly-chevron { display: flex; flex: none; color: var(--muted); }
.assembly-chevron .icon { width: 10px; height: 10px; transition: transform 120ms ease; }
.assembly-node[open] > summary > .assembly-chevron .icon { transform: rotate(90deg); }
.assembly-node > summary .count { flex: none; padding-left: 4px; }
.assembly-tree .tree-part { flex: 1; min-width: 0; padding: calc(5px * var(--ui-spacing)) 4px; gap: 5px; }
.assembly-leaf { display: flex; min-width: 0; padding-left: 13px; }
.assembly-tree .tree-part > .icon { width: 13px; height: 13px; flex: none; }
.assembly-tree .count { font-size: max(10px, calc(var(--ui-font-size) - 1px)); }
.tree-view-scope { border-radius: 4px; background: color-mix(in srgb, var(--accent) 5%, transparent); outline: 1px solid color-mix(in srgb, var(--accent) 30%, transparent); outline-offset: -1px; }
.tree-view-scope > summary { border-left: 2px solid var(--accent); }
.tree-view-scope > .assembly-children { border-left-color: color-mix(in srgb, var(--accent) 55%, var(--border)); }
.tree-alternative-identity.selected { opacity: 1; color: var(--accent); background: var(--accent-bg); border-radius: 3px; }
.tree-load { display: block; padding: 5px 8px; color: var(--muted); }
.tree-load[aria-busy="true"] { opacity: .5; }
.tree-load-error { padding: 5px 8px; color: var(--gold); font-size: var(--ui-font-size); }
.tree-load-error[hidden] { display: none; }
.assembly-children .tree-pages { padding: 7px 5px; font-size: max(10px, calc(var(--ui-font-size) - 1px)); }
.tree-page { color: var(--accent); }
.object-view-controls { display: inline-flex; align-items: center; gap: 1px; flex: none; }
.object-view-icon { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 18px; min-height: 18px; border-radius: 3px; color: var(--muted); }
.object-view-icon .icon { width: 12px; height: 12px; }
.object-view-icon:hover, .object-view-icon:focus-visible { color: var(--text); background: var(--accent-bg); outline: 1px solid var(--accent); outline-offset: -1px; }
.object-view-icon.active { color: var(--accent); background: var(--accent-bg); }
.workspace .kit-button.object-views-trigger { flex: none; width: 18px; min-width: 18px; min-height: 18px; padding: 2px; border: 0; background: transparent; color: var(--muted); opacity: 0; }
.object-views-trigger .icon { width: 12px; height: 12px; }
.assembly-leaf:hover > .object-view-controls > .object-views-trigger, .assembly-node > summary:hover > .object-view-controls > .object-views-trigger, .assembly-leaf:focus-within > .object-view-controls > .object-views-trigger, .assembly-node > summary:focus-within > .object-view-controls > .object-views-trigger, .assembly-leaf:has(.selected) > .object-view-controls > .object-views-trigger, .assembly-node > summary:has(.selected) > .object-view-controls > .object-views-trigger { opacity: 1; }
.workspace .kit-button.object-views-trigger:hover, .workspace .kit-button.object-views-trigger:focus-visible { color: var(--text); background: var(--accent-bg); }
.object-views-popover.kit-popover { position: fixed; position-anchor: none; position-area: none; position-try-fallbacks: none; inset: 0; margin: auto; width: min(240px, calc(100vw - 24px)); height: fit-content; max-height: calc(100dvh - 24px); overflow: auto; padding: 4px; background: var(--panel-raised); color: var(--text); border: 1px solid var(--border); border-radius: 6px; box-shadow: 0 8px 28px #0006; font: inherit; }
.object-views-heading { display: grid; gap: 3px; padding: calc(12px * var(--ui-spacing)); border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.object-views-heading strong { font-weight: 500; }
.object-views-heading small { color: var(--muted); font-size: max(10px, calc(var(--ui-font-size) - 1px)); }
.object-views-popover nav { display: grid; gap: 2px; padding-top: 4px; }
.object-view { display: flex; align-items: center; gap: 8px; padding: calc(8px * var(--ui-spacing)) 8px; min-height: max(26px, calc(34px * var(--ui-spacing))); border-radius: 3px; }
.object-view .icon { width: 14px; height: 14px; flex: none; color: var(--muted); }
.object-view:hover, .object-view:focus-visible { background: var(--accent-bg); outline: 1px solid var(--accent); outline-offset: -1px; }
.object-view.active { color: var(--accent); background: var(--panel); }
.object-context { display: grid; gap: 3px; margin-bottom: 5px; overflow-wrap: anywhere; }
.object-context strong { font-weight: 500; }
.object-context small { color: var(--muted); }
@supports (position-area: right) {
 .object-views-popover.kit-popover { position-anchor: auto; position-area: right span-bottom; position-try-fallbacks: flip-block, flip-inline; inset: auto; margin: 0 6px; }
}
@media (hover: none) { .workspace .kit-button.object-views-trigger { opacity: 1; } }
@media (pointer: coarse) { .workspace .kit-button.object-views-trigger { width: 44px; min-width: 44px; min-height: 44px; opacity: 1; } .object-view-icon { width: 44px; min-height: 44px; } .object-view { min-height: 44px; } }
@media (max-width: 650px) { .object-views-popover.kit-popover { position-anchor: none; position-area: none; inset: 0; margin: auto; } }
@media print { .object-views-popover, .object-view-controls { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .assembly-chevron .icon { transition: none; } }
@media (pointer: coarse) { .assembly-tree .tree-part, .tree-load, .tree-page { min-height: 44px; } .tree-page { display: inline-flex; align-items: center; } }

.workspace {
 font-size: var(--ui-font-size);
 --left-width: var(--left-default-width); --right-width: var(--right-default-width);
 --left-default-width: calc(176px + 56px * var(--ui-spacing) + (var(--ui-font-size) - 11px) * 12);
 --right-default-width: calc(188px + 50px * var(--ui-spacing) + (var(--ui-font-size) - 11px) * 12);
 --dock-height: max(24px, calc(16px + 16px * var(--ui-spacing)));
}
.count, .eyebrow, .tree-path, .component-identity p, .stage-row small, .account-info small, .statusbar, .sidebar-hint, .version-row p, .version-state { font-size: max(10px, calc(var(--ui-font-size) - 1px)); }
.brand strong { font-size: calc(var(--ui-font-size) * 1.5); }
.brand .icon { width: calc(12px + 12px * var(--ui-spacing)); height: calc(12px + 12px * var(--ui-spacing)); }
.property-list, .parameter-outline .property-list, .format-cell { font-size: var(--ui-font-size); }
.panel-heading { min-height: max(22px, calc(39px * var(--ui-spacing))); }
.panel-disclosure[open] > .panel-handle { top: max(2px, calc(17px * var(--ui-spacing) - 3px)); right: max(3px, calc(11px * var(--ui-spacing))); width: 22px; height: 22px; }
.panel-disclosure[open] > .panel-handle .panel-handle-icon { width: 22px; height: 22px; }
.right-panel[open] > .panel-handle { top: max(0px, calc(6px * var(--ui-spacing) - 2px)); right: 3px; }
.workspace .kit-button { font-size: var(--ui-font-size); min-height: 22px; padding: calc(6px * var(--ui-spacing)) calc(10px * var(--ui-spacing)); }
.action-center .view-tool-grid .tool-button { flex-direction: row; height: auto; min-height: max(26px, calc(64px * var(--ui-spacing))); padding: calc(3px * var(--ui-spacing)); gap: calc(6px * var(--ui-spacing)); line-height: 1.25; }
.action-center .view-tool-grid .tool-button .icon { width: max(14px, var(--ui-font-size)); height: max(14px, var(--ui-font-size)); }
.action-center .view-tool-grid .tool-button span { min-width: 0; overflow-wrap: anywhere; }
.panel-dock .dock-tab { width: calc(20px + 12px * var(--ui-spacing)); height: max(22px, calc(28px * var(--ui-spacing))); }
.dock-tab .icon { width: max(14px, var(--ui-font-size)); height: max(14px, var(--ui-font-size)); }
.language-form .kit-select { width: max(78px, calc(var(--ui-font-size) * 6.8)); font-size: inherit; }
.status-controls { display: flex; align-items: center; gap: 3px; }
.display-settings.kit-dialog { position: fixed; position-area: none; position-anchor: none; inset: 0; margin: auto; width: min(400px, calc(100vw - 32px)); height: fit-content; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); overflow: auto; padding: max(12px, calc(18px * var(--ui-spacing))); border: 1px solid var(--border); border-radius: 8px; background: var(--panel); color: var(--text); font: inherit; box-shadow: 0 16px 56px #0006; }
.display-settings h2 { font-size: calc(var(--ui-font-size) * 1.2); letter-spacing: 0; }
.display-settings-heading > .kit-button { padding: 3px; min-width: 24px; min-height: 24px; }
.display-settings-heading .icon { width: 14px; height: 14px; }
.display-settings > p { margin-top: 8px; font-size: var(--ui-font-size); line-height: 1.5; }
.display-field { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 6px; margin-top: 18px; }
.display-field output { color: var(--accent); font-variant-numeric: tabular-nums; }
.display-field input[type="range"] { grid-column: 1 / -1; width: 100%; min-width: 0; min-height: 24px; padding: 0; margin: 0; border: 0; background: transparent; accent-color: var(--accent); }
.display-field small { grid-column: 1 / -1; color: var(--muted); font-size: max(10px, calc(var(--ui-font-size) - 1px)); }
.display-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 20px; }
#display-preview-status { margin-top: 10px; font-size: var(--ui-font-size); }
.display-settings-note { border-top: 1px solid var(--border); padding-top: 12px; }
.display-notice { position: fixed; z-index: 15; right: 12px; bottom: calc(var(--dock-height) + 12px); display: flex; align-items: center; gap: 10px; padding: 9px 12px; max-width: min(440px, calc(100vw - 24px)); border: 1px solid var(--border); border-radius: 5px; background: var(--panel-raised); font-size: var(--ui-font-size); box-shadow: 0 5px 20px #0005; }
.display-notice[role="alert"] { border-color: var(--gold); }
@media (max-width: 1200px) {
 .workspace { --left-default-width: calc(164px + 46px * var(--ui-spacing) + (var(--ui-font-size) - 11px) * 10); --right-default-width: calc(173px + 45px * var(--ui-spacing) + (var(--ui-font-size) - 11px) * 10); }
}
@media (max-width: 980px) {
 .workspace { grid-template-rows: minmax(550px, 72dvh) auto var(--dock-height); }
 .action-center .view-tool-grid .tool-button { min-height: max(30px, calc(48px * var(--ui-spacing))); }
}
@media (pointer: coarse) {
 .workspace { --dock-height: 44px; }
 .panel-dock .dock-tab { width: 44px; min-width: 44px; height: 44px; min-height: 44px; }
 .display-field input[type="range"], .display-actions .kit-button, .display-settings-heading > .kit-button { min-height: 44px; }
 .dock-tab:hover:not(:focus-visible) .dock-tooltip { visibility: hidden; opacity: 0; }
}
@media (max-width: 650px) {
 .workspace { --dock-height: 44px; }
 .statusbar { height: var(--dock-height); }
 .action-center .view-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 440px) and (pointer: coarse) {
 .workspace { --dock-height: 88px; padding-bottom: 94px; }
 .statusbar { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 44px 44px; gap: 0; }
 .statusbar > .status-dock-slot:first-child { grid-column: 1; grid-row: 1; }
 .status-controls { grid-column: 2; grid-row: 1; justify-self: end; }
 .status-info { grid-column: 1 / -1; grid-row: 2; justify-content: flex-end; }
 .status-info .language-form .kit-select { min-height: 40px; width: max(78px, calc(var(--ui-font-size) * 6.8)); }
 .panel-disclosure:not([open]) > .panel-handle { bottom: 94px; }
}
@media print {
 .workspace { --ui-font-size: 12px !important; --ui-spacing: 1 !important; }
 .display-settings, .display-notice { display: none !important; transition: none !important; animation: none !important; }
}

@layer swapeteer-components {
:root{--sw-kit-control-radius-fe05816c:0.5rem;--sw-kit-danger-color-8d125184:#b91c1c;--sw-kit-destructive-background-637a9c49:#b91c1c;--sw-kit-destructive-foreground-e4434865:white;--sw-kit-destructive-hover-77fd3cbf:#991b1b;--sw-kit-focus-ring-34fa0afa:#2563eb;--sw-kit-ghost-background-d27c5935:#0000;--sw-kit-ghost-foreground-f68de0b2:#27272a;--sw-kit-ghost-hover-eb01d66f:#f4f4f5;--sw-kit-info-color-2c3a9946:#0369a1;--sw-kit-outline-background-04dddcc6:#0000;--sw-kit-outline-foreground-295c3e83:#27272a;--sw-kit-outline-hover-3170acf2:#f4f4f5;--sw-kit-primary-background-04abc159:#18181b;--sw-kit-primary-foreground-f920f16d:white;--sw-kit-primary-hover-b5e2cf67:#3f3f46;--sw-kit-secondary-background-46fac7d7:#f4f4f5;--sw-kit-secondary-foreground-8d744af6:#18181b;--sw-kit-secondary-hover-6d810eb0:#e4e4e7;--sw-kit-success-color-d4b5bc91:#166534;--sw-kit-warning-color-95d6a4e1:#854d0e}
.kit-button {
  box-sizing: border-box;
  border: 1px solid transparent;
  font-family: inherit;
  cursor: pointer;
  vertical-align: middle;
  text-decoration: none;
  transition: background-color 120ms ease, color 120ms ease, opacity 120ms ease;
}
.kit-button-outline {
  border-color: currentColor;
}
.kit-button:focus-visible {
  outline: 2px solid var(--sw-kit-focus-ring-34fa0afa);
  outline-offset: 3px;
}
.kit-button:disabled {
  cursor: not-allowed;
}
.kit-button-spinner {
  box-sizing: border-box;
  border: 2px solid currentColor;
  border-inline-end-color: transparent;
  animation: kit-button-spin 750ms linear infinite;
}
@keyframes kit-button-spin {
  to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
.kit-button { transition: none; }
.kit-button-spinner { animation: none; }
}
@media (forced-colors: active) {
.kit-button { border-color: ButtonText; }
.kit-button:disabled { border-color: GrayText; }
.kit-button:focus-visible { outline-color: Highlight; }
}

:where(.kit-overlay) { box-sizing: border-box; min-width: 0; }
:where(.kit-overlay) {
  position: fixed; inset: 0; margin: auto; border: 0; font: inherit;
  width: 32rem; height: fit-content;
  max-width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem);
  overflow: auto; overscroll-behavior: contain;
  box-shadow: 0 12px 48px #0003;
  opacity: 1; transform: none;
  transition: opacity 180ms ease, transform 180ms ease, display 180ms allow-discrete, overlay 180ms allow-discrete;
}
:where(.kit-overlay[popover]:not(:popover-open)),:where(.kit-overlay:not([popover]):not([open])) {
  display: none !important; opacity: 0; transform: var(--kit-overlay-from, translateY(0.5rem));
}
:where(.kit-overlay)::backdrop { background: transparent; }
:where(.kit-overlay:modal)::backdrop { background: #0006; }
@starting-style {
:where(.kit-overlay:popover-open),:where(.kit-overlay[open]) { opacity: 0; transform: var(--kit-overlay-from, translateY(0.5rem)); }
}
:where(.kit-overlay):focus-visible { outline: 2px solid var(--sw-kit-focus-ring-34fa0afa); outline-offset: -4px; }
@media (prefers-reduced-motion: reduce) {
:where(.kit-overlay) { transition: none; }
}
@media (forced-colors: active) {
:where(.kit-overlay) { border: 1px solid CanvasText; }
:where(.kit-overlay):focus-visible { outline-color: Highlight; }
}

:where(.kit-popover) { width: 20rem; }
@supports (position-area: bottom) {
:where(.kit-popover) {
    inset: auto; position-anchor: auto; position-area: bottom span-right;
    position-try-fallbacks: flip-block, flip-inline;
    margin: 0.75rem; max-height: min(24rem, calc(100dvh - 2rem));
  }
}

:where(.kit-drawer) {
  inset: 0 auto 0 0; margin: 0; width: 22rem; height: auto;
  max-width: 100vw; max-height: 100dvh; border-radius: 0;
  --kit-overlay-from: translateX(-100%);
}
:where(.kit-drawer.kit-edge-right) { inset: 0 0 0 auto; --kit-overlay-from: translateX(100%); }
:where(.kit-drawer.kit-edge-start) { inset: 0 auto 0 0; --kit-overlay-from: translateX(-100%); }
:where(.kit-drawer.kit-edge-end) { inset: 0 0 0 auto; --kit-overlay-from: translateX(100%); }
:where(.kit-drawer.kit-edge-start:dir(rtl)) { inset: 0 0 0 auto; --kit-overlay-from: translateX(100%); }
:where(.kit-drawer.kit-edge-end:dir(rtl)) { inset: 0 auto 0 0; --kit-overlay-from: translateX(-100%); }
:where(.kit-drawer.kit-edge-top),:where(.kit-drawer.kit-edge-bottom) {
  inset: 0 0 auto 0; width: auto; height: fit-content; max-height: 80dvh;
  --kit-overlay-from: translateY(-100%);
}
:where(.kit-drawer.kit-edge-bottom) { inset: auto 0 0 0; --kit-overlay-from: translateY(100%); }
:where(.kit-drawer.kit-drawer-floating) {
  margin: 1rem; max-width: calc(100vw - 2rem); max-height: calc(100dvh - 2rem);
  border-radius: var(--sw-kit-control-radius-fe05816c);
}

:where(.kit-link) { color: inherit; text-decoration: underline; text-underline-offset: .2em; }

:where(.kit-control) { box-sizing: border-box; font: inherit; inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; border: 1px solid color-mix(in srgb, currentColor 30%, transparent); }
:where(.kit-control:disabled) { cursor: not-allowed; }
:where(.kit-control[aria-invalid=true]) { border-color: var(--sw-kit-danger-color-8d125184); }
:where(.kit-control):focus-visible { outline: 2px solid var(--sw-kit-focus-ring-34fa0afa); outline-offset: 3px; }
@media(forced-colors:active) {
:where(.kit-control) { border: 1px solid CanvasText; }
}

:where(.kit-select) { appearance: auto; }

:where(.kit-dropdown-menu a):focus-visible,:where(.kit-dropdown-menu button):focus-visible { outline: 2px solid var(--sw-kit-focus-ring-34fa0afa); outline-offset: 3px; }
:where(.kit-dropdown-menu) { inline-size: max-content; min-inline-size: 12rem; padding: .5rem; }
:where(.kit-dropdown-menu a),:where(.kit-dropdown-menu button) { display: block; inline-size: 100%; box-sizing: border-box; text-align: start; padding: .65rem .8rem; border: 0; border-radius: var(--sw-kit-control-radius-fe05816c); background: transparent; color: inherit; font: inherit; text-decoration: none; cursor: pointer; }
@media print {
:where(.kit-dropdown-menu) { display: none; }
}

:where(.kit-description-list dd) { overflow-wrap: anywhere; }

:where(.kit-range-input) { padding: 0; inline-size: 100%; min-inline-size: 0; accent-color: currentColor; cursor: pointer; }


}
