@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8bf306ca80378054-s.0wrvhjkynj2h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d33cd7f74dcc750d-s.p.3n9die0f0oztg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7a514bda021b6b92-s.p.0bzcjdl2q1bg1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8bf306ca80378054-s.0wrvhjkynj2h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d33cd7f74dcc750d-s.p.3n9die0f0oztg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7a514bda021b6b92-s.p.0bzcjdl2q1bg1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8bf306ca80378054-s.0wrvhjkynj2h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d33cd7f74dcc750d-s.p.3n9die0f0oztg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:League Spartan;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7a514bda021b6b92-s.p.0bzcjdl2q1bg1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:League Spartan Fallback;src:local(Arial);ascent-override:75.47%;descent-override:23.72%;line-gap-override:0.0%;size-adjust:92.75%}.league_spartan_d9aaec5-module__RLVihW__className{font-family:League Spartan,League Spartan Fallback;font-style:normal}.league_spartan_d9aaec5-module__RLVihW__variable{--font-display:"League Spartan", "League Spartan Fallback"}
@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/0b1dc8ddaa74ba49-s.0e__wj8580tc5.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e629b5bc06499d58-s.10u7vx61f1ie7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1a099d89ee94ee96-s.p.35a5cae5tspm2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}.plus_jakarta_sans_19b6e4d5-module__noG0pG__className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.plus_jakarta_sans_19b6e4d5-module__noG0pG__variable{--font-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.p.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1kd-r_s9smv5m.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.3hlisc-pwq13z.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0-oo9_1x_xmvg.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.36fqqi66-3tjb.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.p.3_z45zcoc-xoz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1bkzbscqrt8rl.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_7bc63b6f-module__fthOna__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_7bc63b6f-module__fthOna__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
﻿.diagram-editor{color:#1c2a24;flex-direction:column;flex:1;min-height:32.5rem;display:flex;position:relative}.diagram-editor button:focus-visible{outline-offset:2px;outline:2px solid #2d6149}.diagram-editor__canvas{border-top:1px solid #ece7df;flex:1;min-height:0;display:flex;position:relative;overflow:clip}.diagram-editor__viewport{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-color:#faf8f4;background-image:radial-gradient(circle,#2d61493d 1px,#0000 1.5px);flex:1;position:relative;overflow:clip}.diagram-editor__viewport--panning{cursor:grabbing}.diagram-editor__viewport--connecting{cursor:crosshair}.diagram-editor__stage{transform-origin:0 0;position:absolute;top:0;left:0}.diagram-editor__links{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.diagram-editor__empty{color:#8a8f88;text-align:center;pointer-events:none;place-items:center;margin:0;padding:1.5rem;font-size:.9375rem;display:grid;position:absolute;inset:0}.diagram-toolbar{-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.diagram-toolbar__actions{flex-wrap:wrap;gap:.5rem;display:flex}.diagram-toolbar__group{position:relative}.diagram-toolbar__button{color:#1c2a24;height:2.25rem;font:inherit;cursor:pointer;background-color:#fff;border:1px solid #ece7df;border-radius:.5rem;align-items:center;gap:.5rem;padding:0 .875rem;font-size:.9375rem;font-weight:600;transition:background-color .15s,border-color .15s;display:inline-flex}.diagram-toolbar__button svg{color:#2d6149}.diagram-toolbar__button:hover:not(:disabled),.diagram-toolbar__button[aria-expanded=true],.diagram-toolbar__button--active{background-color:#5c665f;border-color:#a1b8ad}.diagram-toolbar__button:disabled{opacity:.5;cursor:not-allowed}.diagram-toolbar__zoom{align-items:center;gap:.125rem;margin-left:auto;display:inline-flex}.diagram-toolbar__icon{color:#1c2a24;cursor:pointer;background-color:#0000;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:2.125rem;height:2.125rem;display:inline-flex}.diagram-toolbar__icon:hover:not(:disabled){background-color:#5c665f}.diagram-toolbar__icon:disabled{opacity:.4;cursor:not-allowed}.diagram-toolbar__zoom-level{color:#8a8f88;font-variant-numeric:tabular-nums;text-align:center;min-width:3rem;font-size:.8125rem}.diagram-menu{z-index:20;background-color:#fff;border:1px solid #ece7df;border-radius:.625rem;flex-direction:column;min-width:18.125rem;max-height:26.875rem;padding:.375rem;display:flex;position:absolute;top:calc(100% + .375rem);left:0;overflow-y:auto;box-shadow:0 .75rem 1.75rem #1c2a2429}.diagram-menu__item{color:#1c2a24;width:100%;font:inherit;text-align:left;cursor:pointer;background-color:#0000;border:none;border-radius:.5rem;align-items:center;gap:.75rem;padding:.5rem .625rem;display:flex}.diagram-menu__item:hover,.diagram-menu__item:focus-visible{background-color:#5c665f}.diagram-menu__text{flex-direction:column;gap:.125rem;min-width:0;display:flex}.diagram-menu__name{font-size:.9375rem;font-weight:600}.diagram-menu__hint{color:#8a8f88;font-size:.8125rem}.diagram-preview{fill:#fff;stroke:#1c2a24;stroke-width:1.5px;stroke-linejoin:round;flex-shrink:0}.diagram-preview__fill{fill:#5c665f}.diagram-preview--link{fill:none}.diagram-node{color:#1c2a24;cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;background-color:#fff;border:1.5px solid #1c2a24;border-radius:.25rem;flex-direction:column;min-width:7.5rem;max-width:18.75rem;font-size:.8125rem;line-height:1.35;display:flex;position:absolute;box-shadow:0 1px 2px #1c2a241a}.diagram-node:focus-visible{outline-offset:3px;outline:2px dashed #2d6149}.diagram-node--selected,.diagram-node--source{outline-offset:3px;outline:2px solid #2d6149}.diagram-node--source{box-shadow:0 0 0 .4375rem #2d614929}.diagram-node--candidate{cursor:crosshair}.diagram-node--candidate:hover{outline-offset:3px;outline:2px dashed #2d6149}.diagram-node--readonly{cursor:default}.diagram-node__head{text-align:center;flex-direction:column;align-items:center;padding:.375rem .75rem;display:flex}.diagram-node__stereotype{color:#8a8f88;font-size:.6875rem}.diagram-node__name{overflow-wrap:anywhere;font-weight:700}.diagram-node__section{border-top:1px solid #1c2a24;min-height:.875rem;margin:0;padding:.3125rem .625rem;list-style:none}.diagram-node__section li{white-space:pre-wrap;overflow-wrap:anywhere}.diagram-node__section--columns li{align-items:baseline;gap:.375rem;display:flex}.diagram-node__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.diagram-node--abstract-class .diagram-node__name{font-style:italic}.diagram-node--table{min-width:10.625rem}.diagram-node--table .diagram-node__head{background-color:#5c665f;border-radius:.1875rem .1875rem 0 0}.diagram-node__column--pk .diagram-node__column{text-decoration:underline}.diagram-node__key{border-radius:.25rem;flex-shrink:0;padding:0 .3125rem;font-size:.625rem;font-weight:700;line-height:1rem}.diagram-node__key--pk{color:#fff;background-color:#2d6149}.diagram-node__key--fk{color:#2d6149;background-color:#5c665f;border:1px solid #b6c8bf}.diagram-node--entity,.diagram-node--weak-entity,.diagram-node--relationship,.diagram-node--attribute{text-align:center;justify-content:center;align-items:center}.diagram-node--entity,.diagram-node--weak-entity{border-radius:0;min-width:8.125rem;min-height:3.25rem;padding:.625rem 1.125rem}.diagram-node--weak-entity,.diagram-node--multivalued{box-shadow:inset 0 0 0 .1875rem #fff,inset 0 0 0 .28125rem #1c2a24}.diagram-node--relationship{min-width:8.75rem;min-height:5rem;box-shadow:none;background-color:#0000;border:none;padding:.75rem 1.875rem}.diagram-node--relationship .diagram-node__name{position:relative}.diagram-node__diamond{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.diagram-node__diamond polygon{fill:#fff;stroke:#1c2a24;stroke-width:1.5px;vector-effect:non-scaling-stroke}.diagram-node--attribute{border-radius:50%;min-width:6.25rem;min-height:2.75rem;padding:.5rem 1.375rem}.diagram-node--attribute .diagram-node__name{font-weight:500}.diagram-node--key .diagram-node__name{text-decoration:underline}.diagram-node--derived{border-style:dashed}.diagram-node--note{color:#4a3b00;background-color:#fff7d6;border-color:#c9a227;border-radius:0;max-width:16.25rem;padding:.625rem 1.375rem .625rem .75rem}.diagram-node--note:after{content:"";border-top:0 solid #0000;border-bottom:.875rem solid #ecd488;border-left:0 solid #0000;border-right:.875rem solid #faf8f4;position:absolute;top:-1.5px;right:-1.5px}.diagram-link__hit{stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.diagram-link__line{fill:none;stroke:#1c2a24;stroke-width:1.5px}.diagram-link__marker{stroke:#1c2a24;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.diagram-link__marker--none{fill:none}.diagram-link__marker--background{fill:#fff}.diagram-link__marker--stroke{fill:#1c2a24}.diagram-link__label{fill:#1c2a24;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#faf8f4;stroke-width:4px;stroke-linejoin:round;pointer-events:none;font-size:.75rem;font-weight:600}.diagram-link__preview{stroke:#2d6149;stroke-width:1.5px;stroke-dasharray:6 4;pointer-events:none}.diagram-link:hover .diagram-link__line,.diagram-link:hover .diagram-link__marker,.diagram-link--selected .diagram-link__line,.diagram-link--selected .diagram-link__marker{stroke:#2d6149}.diagram-link--selected .diagram-link__line{stroke-width:2.5px}.diagram-link:hover .diagram-link__marker--stroke,.diagram-link--selected .diagram-link__marker--stroke{fill:#2d6149}.diagram-actions{z-index:15;background-color:#1c2a24;border-radius:.625rem;gap:.125rem;padding:.25rem;display:inline-flex;position:absolute;transform:translate(-50%,-100%);box-shadow:0 .375rem 1rem #1c2a2440}.diagram-actions--below{transform:translate(-50%)}.diagram-actions button{color:#fff;cursor:pointer;background-color:#0000;border:none;border-radius:.4375rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.diagram-actions button:hover{background-color:#ffffff29}.diagram-actions button.diagram-actions__danger:hover{background-color:#b4502a}.diagram-connect{z-index:16;color:#fff;background-color:#1c2a24;border-radius:62.4375rem;align-items:center;gap:.75rem;max-width:calc(100% - 1.5rem);padding:.375rem .375rem .375rem 1rem;font-size:.9375rem;display:inline-flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%);box-shadow:0 .375rem 1rem #1c2a2440}.diagram-connect__cancel{color:#fff;height:1.875rem;font:inherit;cursor:pointer;background-color:#0000;border:1px solid #fff6;border-radius:62.4375rem;flex-shrink:0;padding:0 .75rem;font-weight:600}.diagram-connect__cancel:hover{background-color:#ffffff24}.diagram-inspector{z-index:18;background-color:#fff;border:1px solid #ece7df;border-radius:.75rem;flex-direction:column;width:18.75rem;max-width:calc(100% - 1.5rem);display:flex;position:absolute;top:.75rem;bottom:.75rem;right:.75rem;overflow:hidden;box-shadow:0 .75rem 2rem #1c2a2424}.diagram-inspector__header{border-bottom:1px solid #ece7df;justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .625rem .625rem 1rem;display:flex}.diagram-inspector__title{color:#1c2a24;margin:0;font-size:1rem;font-weight:700}.diagram-inspector__close{color:#1c2a24;cursor:pointer;background-color:#0000;border:none;border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:inline-flex}.diagram-inspector__close:hover{background-color:#5c665f}.diagram-inspector__body{flex-direction:column;gap:.875rem;padding:1rem;display:flex;overflow-y:auto}.diagram-inspector__field{flex-direction:column;gap:.375rem;display:flex}.diagram-inspector__field label{color:#1c2a24;font-size:.8125rem;font-weight:600}.diagram-inspector__field input,.diagram-inspector__field textarea,.diagram-inspector__field select{color:#1c2a24;width:100%;font:inherit;background-color:#fff;border:1px solid #ece7df;border-radius:.4375rem;padding:.4375rem .625rem;font-size:.8125rem}.diagram-inspector__field input:focus,.diagram-inspector__field textarea:focus,.diagram-inspector__field select:focus{outline-offset:0;border-color:#2d6149;outline:2px solid #2d61494d}.diagram-inspector__field textarea{resize:vertical;min-height:5.25rem;line-height:1.45}.diagram-inspector__help{color:#8a8f88;margin:0;font-size:.8125rem}.diagram-inspector__checks{border:none;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}.diagram-inspector__check{cursor:pointer;align-items:center;gap:.5rem;font-size:.9375rem;display:flex}.diagram-inspector__check input{accent-color:#2d6149;width:1rem;height:1rem}.diagram-inspector__ends{grid-template-columns:1fr 1fr;gap:.5rem;margin:0;display:grid}.diagram-inspector__ends div{min-width:0}.diagram-inspector__ends dt{color:#8a8f88;font-size:.8125rem}.diagram-inspector__ends dd{overflow-wrap:anywhere;margin:0;font-weight:600}.diagram-inspector__secondary{color:#1c2a24;height:2rem;font:inherit;cursor:pointer;background-color:#fff;border:1px solid #ece7df;border-radius:.4375rem;align-self:flex-start;align-items:center;gap:.375rem;padding:0 .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.diagram-inspector__secondary:hover{background-color:#5c665f}.editor-card--git{min-height:640px}.editor-card--git .editor-card__file{white-space:nowrap}.editor-card--git .editor-card__hint+.button{margin-left:0}.git-panel__graph{flex:1;min-height:260px;display:flex}.git-panel__bottom{background:#0b1813;border-top:1px solid #ffffff12;flex-direction:column;height:300px;display:flex}.git-panel__tabs{gap:2px;padding:.5rem .75rem 0;display:flex}.git-panel__tabs button{color:#6b8a7b;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:8px 8px 0 0;padding:.375rem .75rem;font-size:.75rem;font-weight:600}.git-panel__tabs button[aria-selected=true]{color:#c9d6cf;background:#ffffff0f}.git-panel__tabs button:hover{color:#e8eeea}.git-graph{flex:1;min-height:0;position:relative;overflow:auto}.git-graph--empty{color:#6b8a7b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex}.git-graph--empty p{margin:0;font-size:.875rem}.git-graph--empty code{color:#c9d6cf;font-family:var(--font-mono),monospace;background:#ffffff0f;border-radius:6px;padding:.25rem .625rem;font-size:.8125rem}.git-graph__canvas{min-width:100%;position:relative}.git-graph__svg{z-index:1;pointer-events:none;position:absolute;top:0;left:0}.git-graph__svg path,.git-graph__svg circle{transition:d .25s,cx .25s,cy .25s}.git-graph__node{animation:.25s ease-out git-node-in}.git-graph__rows{margin:0;padding:0;list-style:none}.git-graph__row{padding:0 .875rem 0 calc(var(--graph-width) + .25rem);font-family:var(--font-mono),monospace;white-space:nowrap;align-items:center;gap:.5rem;font-size:.78125rem;display:flex;position:absolute;left:0;right:0}.git-graph__row--orphan{opacity:.5}.git-graph__row--selected{background:#ffffff0f}.git-graph__hit{cursor:pointer;background:0 0;border:0;position:absolute;inset:0}.git-graph__hit:hover:not(:disabled){background:#ffffff08}.git-graph__hit:disabled{cursor:default}.git-graph__hit:focus-visible{outline-offset:-2px;outline:2px solid #db6739}.git-graph__id{color:#e57a4f;pointer-events:none;position:relative}.git-graph__labels{z-index:2;gap:.25rem;display:flex;position:relative}.git-graph__message{color:#e8eeea;text-overflow:ellipsis;pointer-events:none;position:relative;overflow:hidden}@keyframes git-node-in{0%{opacity:0;transform:translateY(-6px)}}.git-label{font-family:var(--font-mono),monospace;cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:.25rem;padding:.0625rem .5rem;font-size:.6875rem;font-weight:600;line-height:1.6;display:inline-flex}.git-label:disabled{cursor:default}.git-label:focus-visible{outline-offset:1px;outline:2px solid #db6739}.git-label--branch{border-color:var(--lane);background:color-mix(in srgb, var(--lane) 16%, transparent);color:var(--lane)}.git-label--current{background:var(--lane);color:#10211a}.git-label--head{color:#fff;background:#db6739}.git-label--remote{color:#c9d6cf;background:0 0;border-style:dashed;border-color:#6b8a7b}.git-label--tag{color:#f2d479;background:#f2d47924;border-color:#f2d479}.git-label--stash{color:#6b8a7b;background:0 0;border-color:#6b8a7b}.git-label--selected{box-shadow:0 0 0 2px #fff}.git-actions{background:#ffffff05;border-bottom:1px solid #ffffff12;flex-wrap:wrap;align-items:center;gap:.375rem;min-height:2.875rem;padding:.5rem .875rem;display:flex}.git-actions__title{color:#c9d6cf;align-items:center;gap:.375rem;margin-right:.25rem;font-size:.75rem;font-weight:600;display:inline-flex}.git-actions__close{color:#c9d6cf;cursor:pointer;background:#ffffff14;border:0;border-radius:4px;padding:.125rem;display:inline-flex}.git-actions__button{color:#e8eeea;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:8px;padding:.3125rem .6875rem;font-size:.75rem}.git-actions__button:hover:not(:disabled){background:#ffffff17;border-color:#ffffff47}.git-actions__button:disabled{opacity:.45;cursor:not-allowed}.git-actions__button--primary{color:#fff;background:#2d6149;border-color:#2d6149}.git-actions__button--primary:hover:not(:disabled){background:#3a7a5c;border-color:#3a7a5c}.git-actions__button--danger{color:#f0a27f;border-color:#f0a27f73}.git-actions__hint{color:#6b8a7b;font-size:.75rem}.git-actions input,.git-actions select{color:#e8eeea;min-width:10rem;font-family:var(--font-mono),monospace;background:#10211a;border:1px solid #ffffff29;border-radius:8px;flex:1;padding:.3125rem .625rem;font-size:.78125rem}.git-actions input:focus,.git-actions select:focus{border-color:#db6739;outline:none}.git-terminal{cursor:text;flex-direction:column;flex:1;min-height:0;display:flex}.git-terminal__screen{color:#c9d6cf;min-height:0;font-family:var(--font-mono),monospace;flex:1;padding:.625rem 1.25rem .25rem;font-size:.78125rem;line-height:1.6;overflow:auto}.git-terminal__screen pre{font:inherit;white-space:pre-wrap;word-break:break-word;margin:0 0 .375rem}.git-terminal__screen .bad{color:#f0a27f}.git-terminal__screen .dim{color:#6b8a7b}.git-terminal__entry>div{color:#e8eeea}.git-terminal__prompt{color:#8fd1a8;white-space:nowrap}.git-terminal__input{font-family:var(--font-mono),monospace;align-items:center;gap:.5rem;padding:.5rem 1.25rem .75rem;font-size:.78125rem;display:flex}.git-terminal__input input{color:#e8eeea;min-width:0;font:inherit;caret-color:#db6739;background:0 0;border:0;flex:1}.git-terminal__input input:focus{outline:none}.git-terminal__input input::placeholder{color:#3e5a4c}.git-files{flex:1;min-height:0;padding:.5rem .75rem .75rem;overflow:auto}.git-files ul{margin:0;padding:0;list-style:none}.git-files__empty{color:#6b8a7b;margin:.75rem .5rem;font-size:.8125rem}.git-files__new{color:#c9d6cf;cursor:pointer;background:0 0;border:1px dashed #fff3;border-radius:8px;align-items:center;gap:.375rem;margin:.5rem .5rem 0;padding:.3125rem .625rem;font-size:.75rem;display:inline-flex}.git-files__new:hover{color:#e8eeea;border-color:#fff6}.git-files__editor{flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:.625rem .875rem .75rem;display:flex}.git-files__editor textarea{color:#e8eeea;min-height:0;font-family:var(--font-mono),monospace;resize:none;background:#10211a;border:1px solid #ffffff1f;border-radius:8px;flex:1;padding:.625rem .75rem;font-size:.78125rem;line-height:1.6}.git-files__editor textarea:focus{border-color:#db6739;outline:none}.git-files__editor-head{align-items:center;gap:.5rem;display:flex}.git-files__editor-head .button--ghost-dark{color:#c9d6cf;background:0 0;border-color:#ffffff29;margin-left:auto}.git-files__path{color:#e8eeea;font-family:var(--font-mono),monospace;font-size:.8125rem}.git-files__name{color:#e8eeea;font-family:var(--font-mono),monospace;background:#10211a;border:1px solid #ffffff29;border-radius:8px;flex:1;padding:.3125rem .625rem;font-size:.78125rem}.git-files__name:focus{border-color:#db6739;outline:none}.git-files__hint{color:#6b8a7b;margin:0;font-size:.71875rem}.git-files__hint code{color:#c9d6cf}.git-file{min-height:2.125rem;font-family:var(--font-mono),monospace;border-radius:8px;align-items:center;gap:.625rem;padding:0 .5rem;font-size:.78125rem;display:flex}.git-file:hover{background:#ffffff0a}.git-file__name{color:#e8eeea;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.git-file__state{font-family:var(--font-sans),system-ui,sans-serif;white-space:nowrap;border-radius:999px;padding:0 .4375rem;font-size:.6875rem}.git-file--untracked .git-file__state{color:#c9d6cf;background:#ffffff14}.git-file--modified .git-file__state,.git-file--staged-modified .git-file__state,.git-file--deleted .git-file__state{color:#f0a27f;background:#f0a27f29}.git-file--staged .git-file__state{color:#8fd1a8;background:#8fd1a829}.git-file--conflict .git-file__state{color:#fff;background:#db6739}.git-file--deleted .git-file__name{color:#6b8a7b;text-decoration:line-through}.git-file__actions{gap:.25rem;margin-left:auto;display:flex}.git-file__actions button{color:#6b8a7b;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.25rem;display:inline-flex}.git-file__actions button:hover{color:#e8eeea;background:#ffffff14}.git-admin{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start;gap:1.25rem;display:grid}.git-admin__preview{border-radius:var(--radius-m);background:#10211a;min-height:280px;max-height:420px;display:flex;overflow:hidden}.git-admin__preview>.notice{align-self:flex-start;margin:1rem}.git-admin__reference{margin-top:.75rem}.git-admin__reference td:first-child{white-space:nowrap}.git-answer{border-radius:var(--radius-m);background:#10211a;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid;overflow:hidden}.git-answer__commands{background:#0b1813;border-right:1px solid #ffffff12;max-height:420px;overflow:auto}.git-answer__commands ol{color:#6b8a7b;font-family:var(--font-mono),monospace;margin:0;padding:.5rem 1rem .875rem 2.5rem;font-size:.75rem;line-height:1.8}.git-answer__commands code{color:#e8eeea}.git-answer__commands .bad code{color:#f0a27f}.git-answer__head{color:#c9d6cf;padding:.75rem 1rem 0;font-size:.75rem;font-weight:600}.git-answer__graph{min-height:280px;max-height:420px;display:flex}.infra-cat--client{--cat:#5fb4e6}.infra-cat--network{--cat:#a48bf0}.infra-cat--compute{--cat:#4cc38a}.infra-cat--data{--cat:#e9b048}.infra-cat--external{--cat:#ec7fae}.infra-cat--tooling{--cat:#93a4b5}.rail__nav+.rail__section{margin-top:1.5rem}.infra-visibility{white-space:normal;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.infra-visibility span{flex:1;min-width:14rem}.infra-card h3{font-size:1.25rem}.infra-card__link{color:inherit;text-decoration:none}.infra-card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.infra-card{position:relative}.infra-card .ex-card__actions{z-index:1;position:relative}.infra-workspace{gap:1rem;padding-bottom:1rem}.infra-workspace__title{flex:1}.infra-workspace__name{width:100%;max-width:40ch;color:var(--ink);font-family:var(--font-display),serif;background:0 0;border:1px solid #0000;border-radius:8px;margin-left:-.35rem;padding:.1rem .35rem;font-size:2rem;font-weight:600;line-height:1.1}.infra-workspace__name:hover{border-color:var(--line-strong)}.infra-workspace__name:focus{border-color:var(--green);background:var(--surface);outline:none}.infra{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);height:calc(100dvh - 9.5rem);min-height:600px;box-shadow:var(--shadow-card);flex:none;grid-template-rows:minmax(0,1fr);grid-template-columns:236px minmax(0,1fr) 320px;display:grid;overflow:hidden}@media (max-width:1180px){.infra{grid-template-rows:auto;grid-template-columns:210px minmax(0,1fr);height:auto}.infra .infra-canvas{height:70dvh;min-height:520px}.infra .infra-inspector{border-top:1px solid var(--line);border-left:0;grid-column:1/-1}}@media (max-width:760px){.infra{grid-template-columns:minmax(0,1fr)}.infra .infra-palette{border-right:0;border-bottom:1px solid var(--line);max-height:220px}}.infra-palette{border-right:1px solid var(--line);background:var(--bg);padding:.875rem .75rem 1.25rem;overflow-y:auto}.infra-palette__hint{color:var(--soft);margin:0 .25rem .75rem;font-size:.75rem}.infra-palette__group+.infra-palette__group{margin-top:1rem}.infra-palette__group h3{color:var(--faint);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;margin:0 .25rem .375rem;font-family:inherit;font-size:.6875rem;font-weight:600;display:flex}.infra-palette__group h3:before{content:"";background:var(--cat);border-radius:50%;width:7px;height:7px}.infra-palette__item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:grab;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:.55rem;padding:.4rem .5rem;font-size:.8125rem;font-weight:500;display:flex}.infra-palette__item:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.infra-palette__item:disabled{cursor:not-allowed;opacity:.5}.infra-palette__item:focus-visible{outline:2px solid var(--green);outline-offset:1px}.infra-palette__icon{background:color-mix(in srgb, var(--cat) 16%, white);width:26px;height:26px;color:color-mix(in srgb, var(--cat) 75%, black);border-radius:7px;flex-shrink:0;place-items:center;display:inline-grid}.infra-canvas{background:#10211a;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.infra-canvas__viewport{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background-color:#10211a;background-image:radial-gradient(circle,#ffffff17 1px,#0000 1.5px);flex:1;min-height:0;position:relative;overflow:clip}.infra-canvas__viewport--panning{cursor:grabbing}.infra-canvas__viewport--linking{cursor:crosshair}.infra-canvas__stage{transform-origin:0 0;position:absolute;top:0;left:0}.infra-canvas__links,.infra-canvas__pulses{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.infra-canvas__empty{color:#93ab9f;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem;font-size:.875rem;line-height:1.6;display:flex;position:absolute;inset:0}.infra-canvas__empty strong{color:#e8eeea;font-size:1.125rem}.infra-canvas__empty span{max-width:46ch}.infra-toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem;padding:.75rem .875rem;display:flex}.infra-toolbar__sim{flex-wrap:wrap;flex:1;align-items:flex-end;gap:.625rem;display:flex}.infra-toolbar__field{flex-direction:column;gap:.25rem;min-width:10rem;display:flex}.infra-toolbar__field>span{color:var(--muted);font-size:.75rem;font-weight:600}.infra-toolbar__field .input,.infra-toolbar__field .select{min-height:2.5rem;padding-block:.45rem}.infra-toolbar__field--grow{flex:1;min-width:12rem}.infra-toolbar__zoom{align-items:center;gap:.375rem;display:flex}.infra-toolbar__zoom span{min-width:3.25rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;font-size:.75rem}.infra-node{border:1px solid #ffffff17;border-left:3px solid var(--cat);color:#e8eeea;cursor:move;touch-action:none;background:#142a20;border-radius:12px;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;transition:box-shadow .25s,border-color .25s,opacity .25s;display:flex;position:absolute;box-shadow:0 8px 24px -12px #0009}.infra-node:focus-visible{outline:2px solid var(--cat);outline-offset:3px}.infra-node__icon{background:color-mix(in srgb, var(--cat) 18%, transparent);width:34px;height:34px;color:var(--cat);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.infra-node__body{flex-direction:column;gap:1px;min-width:0;display:flex}.infra-node__body strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:600;overflow:hidden}.infra-node__body small{color:#93ab9f;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.infra-node__techs{gap:3px;margin-top:4px;display:flex;overflow:hidden}.infra-node__techs i{color:#cfe0d7;white-space:nowrap;background:#ffffff12;border-radius:5px;flex-shrink:0;padding:1px 6px;font-size:.625rem;font-style:normal}.infra-node__ms{color:#93ab9f;font-family:var(--font-mono),monospace;background:#10211a;border:1px solid #ffffff17;border-radius:6px;padding:1px 6px;font-size:.625rem;position:absolute;top:-9px;right:10px}.infra-node__handle{background:var(--cat);cursor:crosshair;opacity:0;border:2px solid #10211a;border-radius:50%;width:14px;height:14px;transition:opacity .15s,transform .15s;position:absolute;top:50%;right:-8px;transform:translateY(-50%)scale(.7)}.infra-node__handle:after{content:"";position:absolute;inset:-8px}.infra-node:hover .infra-node__handle,.infra-node--selected .infra-node__handle{opacity:1;transform:translateY(-50%)scale(1)}.infra-node--selected{border-color:#fff6;border-left-color:var(--cat);box-shadow:0 0 0 2px color-mix(in srgb, var(--cat) 55%, transparent),0 10px 28px -12px #000000b3}.infra-node--target:hover{border-color:var(--cat);box-shadow:0 0 0 3px color-mix(in srgb, var(--cat) 45%, transparent)}.infra--simulating .infra-node{cursor:default;opacity:.55}.infra--simulating .infra-node--visited,.infra--simulating .infra-node--origin{opacity:1;border-color:color-mix(in srgb, var(--cat) 45%, transparent)}.infra--simulating .infra-node--active{opacity:1;border-color:var(--cat);animation:.9s ease-in-out infinite alternate infra-node-glow}@keyframes infra-node-glow{0%{box-shadow:0 0 0 1px var(--cat),0 0 14px 2px color-mix(in srgb, var(--cat) 45%, transparent)}to{box-shadow:0 0 0 2px var(--cat),0 0 34px 8px color-mix(in srgb, var(--cat) 60%, transparent)}}.infra-link__hit{stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.infra--simulating .infra-link__hit{pointer-events:none}.infra-link__line{fill:none;stroke:#ffffff52;stroke-width:2px;transition:stroke .3s,stroke-width .3s}.infra-link--async .infra-link__line{stroke-dasharray:7 6}.infra-link--request .infra-link__line{stroke:#ff8a4cb3;stroke-width:2.5px}.infra-link--response .infra-link__line{stroke:#4fe0a0bf;stroke-width:2.5px}.infra-link--selected .infra-link__line{stroke:#fff;stroke-width:2.5px}.infra-link__label rect{fill:#10211a;stroke:#ffffff29}.infra-link__label text{fill:#cfe0d7;font-family:var(--font-mono),monospace;font-size:10.5px}.infra-link--selected .infra-link__label rect{stroke:#fff}.infra-link__preview{stroke:#fff;stroke-width:2px;stroke-dasharray:6 5}.infra-arrow{fill:#ffffff73}.infra-arrow--request{fill:#ff8a4c}.infra-arrow--response{fill:#4fe0a0}.infra-arrow--selected{fill:#fff}.infra-pulse line{stroke-width:4px;stroke-linecap:round;opacity:.7}.infra-pulse--request line{stroke:#ff8a4c}.infra-pulse--request circle{fill:#ff8a4c}.infra-pulse--response line{stroke:#4fe0a0}.infra-pulse--response circle{fill:#4fe0a0}.infra-pulse--async line{stroke:#b69bff}.infra-pulse--async circle{fill:#b69bff}.infra-log{color:#c9d6cf;background:#0b1813;border-top:1px solid #ffffff14;flex-direction:column;min-height:9rem;max-height:34%;font-size:.8125rem;display:flex}.infra-log__head{border-bottom:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.625rem 1rem;display:flex}.infra-log__head strong{color:#e8eeea}.infra-log__head>span{color:#6b8a7b;font-size:.75rem}.infra-log__legend{align-items:center;gap:.35rem;margin-left:auto;display:inline-flex}.infra-log__dot{border-radius:50%;width:8px;height:8px;margin-left:.5rem;display:inline-block}.infra-log__dot--request{background:#ff8a4c;box-shadow:0 0 6px #ff8a4c}.infra-log__dot--response{background:#4fe0a0;box-shadow:0 0 6px #4fe0a0}.infra-log__dot--async{background:#b69bff;box-shadow:0 0 6px #b69bff}.infra-log ol{flex:1;margin:0;padding:.5rem 0;list-style:none;overflow-y:auto}.infra-log__step{border-left:2px solid #0000;gap:.75rem;padding:.2rem 1rem;line-height:1.5;display:flex}.infra-log__step time{color:#6b8a7b;min-width:4.5rem;font-family:var(--font-mono),monospace;text-align:right;flex-shrink:0;font-size:.75rem}.infra-log__step--request{color:#efa173}.infra-log__step--response{color:#74ddae}.infra-log__step--current{color:#e8eeea;background:#ffffff0a;border-left-color:currentColor}.infra-inspector{border-left:1px solid var(--line);background:var(--surface);overflow-y:auto}.infra-inspector__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 1rem;display:flex}.infra-inspector__actions{gap:.375rem;display:flex}.infra-inspector__body{flex-direction:column;gap:1rem;padding:1rem;display:flex}.infra-inspector__body h2{font-size:1.25rem}.infra-inspector__body .textarea{min-height:4.5rem}.infra-inspector__route{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:.875rem;display:flex}.infra-inspector__route span{color:var(--soft)}.infra-techs{flex-direction:column;gap:.5rem;display:flex}.infra-techs__list{flex-wrap:wrap;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.infra-techs__list li{background:var(--green-wash);color:var(--green);border-radius:8px;align-items:center;gap:.25rem;padding:.25rem .375rem .25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.infra-techs__list button{width:18px;height:18px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:inline-grid}.infra-techs__list button:hover{background:#2d61491f}.infra-techs__suggestions{flex-wrap:wrap;gap:.3rem;display:flex}.infra-techs__suggestions span{width:100%;color:var(--soft);font-size:.6875rem}.infra-techs__suggestions button{border:1px dashed var(--line-hover);color:var(--muted);font:inherit;cursor:pointer;background:0 0;border-radius:7px;padding:.2rem .5rem;font-size:.71875rem}.infra-techs__suggestions button:hover{border-color:var(--green);color:var(--green)}.infra-stack{flex-direction:column;gap:.875rem;margin:0;padding:0;list-style:none;display:flex}.infra-stack strong{align-items:center;gap:.4rem;margin-bottom:.375rem;font-size:.8125rem;display:flex}.infra-stack strong i{background:var(--cat);border-radius:50%;width:8px;height:8px}.infra-stack strong small{color:var(--soft);font-weight:500}.infra-stack__techs{flex-wrap:wrap;gap:.3rem;display:flex}.infra-help{border-radius:var(--radius-m);background:var(--sand);padding:.875rem 1rem;font-size:.8125rem}.infra-help strong{color:var(--ink)}.infra-help ul{color:var(--muted);margin:.5rem 0 0;padding-left:1.1rem;line-height:1.55}:root{--bg:#f7f5f1;--surface:#fff;--sand:#f4f1eb;--sand-deep:#efebe4;--ink:#1c2a24;--text:#4a544e;--muted:#5c665f;--soft:#8a8f88;--faint:#a6a59e;--line:#ece7df;--line-strong:#e3ded4;--line-hover:#d9d2c6;--green:#2d6149;--green-wash:#e6f0ea;--green-nav:#eef3ef;--orange:#db6739;--orange-hover:#e57a4f;--orange-ink:#b4502a;--orange-wash:#fbe9e1;--warn:#a8701a;--code-bg:#10211a;--console-bg:#0b1813;--accent:var(--green);--pass:var(--green);--fail:var(--orange-ink);--pending:#c9c3b8;--radius-s:8px;--radius-m:12px;--radius-l:16px;--rail:260px;--shadow-card:0 1px 2px #1c2a240a;--shadow-lift:0 12px 32px -12px #1c2a242e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans),system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:.9375rem;line-height:1.5}h1,h2,h3{font-family:var(--font-display),var(--font-sans),sans-serif;color:var(--ink);margin:0;line-height:1.1}h1{letter-spacing:-.01em;font-size:2.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:600}h3{font-size:1.0625rem;font-weight:600}p{margin:0}a{color:var(--green)}a:hover{color:var(--orange)}code,pre,kbd,.mono{font-family:var(--font-mono),ui-monospace,monospace}:focus-visible{outline:2px solid var(--orange);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eyebrow{color:var(--orange);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.625rem;font-size:.75rem;font-weight:600;display:block}.shell{grid-template-columns:var(--rail) minmax(0, 1fr);min-height:100dvh;display:grid}.shell>main{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.rail{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;height:100dvh;padding:1.75rem 1.125rem 1.25rem;display:flex;position:sticky;top:0}.rail__brand{align-items:center;gap:.75rem;padding:0 .5rem 1.75rem;text-decoration:none;display:flex}.rail__brand img{width:52px;height:auto;display:block}.rail__brand strong{color:var(--green);font-family:var(--font-display),sans-serif;letter-spacing:.02em;font-size:1.25rem;font-weight:700;line-height:1;display:block}.rail__brand small{color:var(--soft);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:.6875rem;display:block}.rail__section{color:var(--faint);letter-spacing:.1em;text-transform:uppercase;padding:0 .75rem .625rem;font-size:.6875rem;font-weight:600}.rail__nav{flex-direction:column;gap:4px;display:flex}.rail__link{color:var(--muted);border-radius:10px;align-items:center;gap:.75rem;padding:.6875rem .75rem;font-size:.875rem;font-weight:600;text-decoration:none;display:flex}.rail__link:before{content:"";background:#d3cec4;border-radius:50%;flex-shrink:0;width:8px;height:8px}.rail__link:hover{color:var(--green);background:#f7f9f7}.rail__link[aria-current=page]{background:var(--green-nav);color:var(--green)}.rail__link[aria-current=page]:before{background:var(--orange)}.rail__link small{color:var(--soft);margin-left:auto;font-size:.75rem;font-weight:600}.rail__bottom{flex-direction:column;gap:1rem;margin-top:auto;display:flex}.rail__progress{border-radius:var(--radius-m);background:var(--sand);padding:.875rem}.rail__progress>div:first-child{color:var(--muted);justify-content:space-between;margin-bottom:.5rem;font-size:.75rem;display:flex}.rail__progress>div:first-child strong{color:var(--green)}.rail__bar{background:var(--line-strong);border-radius:3px;height:6px;overflow:hidden}.rail__bar span{background:var(--green);border-radius:3px;height:100%;transition:width .4s;display:block}.rail__user{border-top:1px solid var(--line);align-items:center;gap:.625rem;padding:.75rem .5rem 0;display:flex}.rail__avatar{background:var(--orange);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.8125rem;font-weight:700;display:flex}.rail__who{flex:1;min-width:0}.rail__who strong{font-size:.8125rem;font-weight:600;display:block}.rail__who span{color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;display:block;overflow:hidden}.rail__account{gap:6px;display:flex}.icon-button{border:1px solid var(--line-strong);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-button:hover:not(:disabled){border-color:var(--green);color:var(--green)}.icon-button--small{border-radius:8px;width:30px;height:30px}.icon-button--large{width:42px;height:42px;color:var(--ink);border-radius:12px}.icon-button--solid{border-color:var(--green);background:var(--green);color:#fff}.icon-button--solid:hover:not(:disabled){border-color:var(--orange);background:var(--orange);color:#fff}.icon-button--danger:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.page{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:2.75rem 3rem 2rem}.page--narrow{max-width:72rem}.page--wide{max-width:none}.page__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2rem;display:flex}.page__head>div>p{max-width:64ch;color:var(--muted);margin-top:.625rem;font-size:1rem}.page__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.footer{color:var(--faint);text-align:center;padding:1.25rem;font-size:.75rem}.back-link{color:var(--soft);align-items:center;gap:.35rem;margin-bottom:1rem;font-size:.8125rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--green)}.topbar,.rail-scrim,.rail__close{display:none}@media (max-width:900px){.shell{grid-template-columns:1fr}.topbar{z-index:40;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:1rem;height:4rem;padding:0 1rem;display:flex;position:sticky;top:0}.topbar__brand{align-items:center;gap:.625rem;text-decoration:none;display:flex}.topbar__brand img{width:34px;height:auto;display:block}.topbar__brand strong{color:var(--green);font-family:var(--font-display),sans-serif;letter-spacing:.02em;font-size:1.0625rem;font-weight:700;line-height:1;display:block}.topbar__brand small{color:var(--soft);letter-spacing:.08em;text-transform:uppercase;margin-top:2px;font-size:.625rem;display:block}.rail-scrim{z-index:50;opacity:0;visibility:hidden;background:#1c2a2461;transition:opacity .25s,visibility 0s linear .25s;display:block;position:fixed;inset:0}.rail-scrim[data-open]{opacity:1;visibility:visible;transition:opacity .25s}.rail{z-index:60;width:min(20rem,86vw);height:100dvh;padding:1.5rem 1rem calc(1.25rem + env(safe-area-inset-bottom));overscroll-behavior:contain;box-shadow:var(--shadow-lift);visibility:hidden;border-right:0;transition:transform .25s,visibility 0s linear .25s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.rail[data-open]{visibility:visible;transition:transform .25s;transform:none}.rail__close{display:inline-flex;position:absolute;top:1.5rem;right:1rem}.rail__brand{padding:0 3.5rem 1.5rem .5rem}.rail__brand img{width:44px}.rail__link{padding:.875rem;font-size:1rem}.rail__bottom{padding-top:1.5rem}.rail__account .icon-button--small{border-radius:10px;width:40px;height:40px}.page{padding:1.5rem 1rem 2rem}h1{font-size:2rem}}.button{border:1px solid var(--line-strong);background:var(--surface);min-height:2.5rem;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1.1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.button:hover:not(:disabled){border-color:var(--green);color:var(--green)}.button:disabled{cursor:not-allowed;border-color:var(--sand-deep);color:var(--faint);background:#ece8e1}.button--primary{border-color:var(--green);background:var(--green);color:#fff}.button--primary:hover:not(:disabled),.button--run{border-color:var(--orange);background:var(--orange);color:#fff}.button--run:hover:not(:disabled){border-color:var(--orange-hover);background:var(--orange-hover);color:#fff}.button--danger{color:var(--orange-ink)}.button--danger:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.button--quiet{color:var(--muted);background:0 0;border-color:#0000}.button--quiet:hover:not(:disabled){background:var(--sand);color:var(--green);border-color:#0000}.button--done{border-color:var(--green-wash);background:var(--green-wash);color:var(--green)}.button--small{border-radius:10px;min-height:2rem;padding:.3rem .75rem;font-size:.8125rem}.button--large{border-radius:14px;min-height:3rem;padding:.85rem 1.25rem}.segmented{background:var(--sand-deep);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented a,.segmented button{color:var(--neutral-ink,#6e746e);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;text-decoration:none}.segmented a:hover,.segmented button:hover{color:var(--ink)}.segmented a[aria-current=true],.segmented button[aria-current=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1c2a241f}.field{flex-direction:column;gap:.35rem;display:flex}.field>span{color:var(--muted);font-size:.8125rem;font-weight:600}.field small{color:var(--soft);font-size:.75rem}.input,.select,.textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:2.625rem;color:var(--ink);font:inherit;border-radius:12px;padding:.6rem .875rem;font-size:.875rem}.input:focus,.select:focus,.textarea:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #2d61491f}.input::placeholder,.select::placeholder,.textarea::placeholder{color:var(--faint)}.search{width:220px}.textarea{resize:vertical;min-height:6rem;line-height:1.6}.textarea--code{font-family:var(--font-mono),monospace;font-size:.8125rem}.form-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;display:grid}.form-grid .span-all{grid-column:1/-1}.check{align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.check input{width:1rem;height:1rem;accent-color:var(--green)}.filters{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.5rem;display:flex}.filters .field{min-width:12rem}.notice{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface);color:var(--text);white-space:pre-wrap;padding:.875rem 1.125rem}.notice--error{background:var(--orange-wash);color:var(--orange-ink);border-color:#f3d3c4}.notice--ok{background:var(--green-wash);color:var(--green);border-color:#cfe2d6}.notice--warn{color:#7d5513;background:#fbf3e4;border-color:#f0dcb8}.empty{color:var(--soft);text-align:center;padding:4rem 1rem}.empty .button{margin-top:1rem}.blank{flex:1;justify-content:center;align-items:center;padding:3rem;display:flex}.blank>div{text-align:center;max-width:440px}.blank img{opacity:.9;width:88px;margin-bottom:1.25rem}.blank h1{margin-bottom:.625rem;font-size:2rem}.blank p{color:var(--muted);margin-bottom:1.5rem;line-height:1.6}.panel{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-card)}.panel__head{border-bottom:1px solid #f0ece5;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:1.25rem 1.375rem;display:flex}.panel__head p{margin-top:.25rem}.panel__body{padding:1.375rem}.panel+.panel{margin-top:1.25rem}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:1.125rem;display:grid}.ex-card{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);color:inherit;box-shadow:var(--shadow-card);flex-direction:column;gap:1rem;padding:1.5rem 1.625rem;text-decoration:none;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex}.ex-card:hover{border-color:var(--line-hover);box-shadow:var(--shadow-lift);color:inherit;transform:translateY(-2px)}.ex-card__top{align-items:center;gap:.625rem;display:flex}.ex-card__num{color:var(--faint);font-family:var(--font-mono),monospace;font-size:.75rem}.ex-card__actions{gap:.5rem;margin-left:auto;display:flex}.ex-card h3{font-size:1.375rem;line-height:1.15}.ex-card__desc{color:var(--muted);-webkit-line-clamp:3;text-wrap:pretty;border-top:1px solid #f0ece5;-webkit-box-orient:vertical;padding-top:1rem;font-size:.84375rem;line-height:1.6;display:-webkit-box;overflow:hidden}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--sand);color:var(--muted);border-radius:8px;padding:.3rem .625rem;font-size:.75rem}.chip strong{color:var(--ink);font-weight:600}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);box-shadow:var(--shadow-card);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.84375rem}.table th,.table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f0ece5;padding:.875rem 1.125rem}.table th{color:var(--soft);white-space:nowrap;background:#fbfaf7;font-size:.75rem;font-weight:600}.table tr:last-child td{border-bottom:0}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table a:not(.button){color:var(--ink);font-weight:600;text-decoration:none}.table a:not(.button):hover{color:var(--green)}.table__row-link:hover td{background:#fbfaf7}.meta{color:var(--soft);font-size:.8125rem}.tag{color:#6e746e;white-space:nowrap;background:#f1eee8;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;display:inline-flex}.tag--accent,.tag--pass{background:var(--green-wash);color:var(--green)}.tag--fail{background:var(--orange-wash);color:var(--orange-ink)}.tag--warn{color:var(--warn);background:#fbf3e4}.tags{flex-wrap:wrap;gap:.25rem;display:flex}.grade{font-family:var(--font-mono),monospace;font-variant-numeric:tabular-nums;font-weight:500}.grade--pass{color:var(--green)}.grade--fail{color:var(--orange-ink)}.strip{vertical-align:middle;flex-wrap:wrap;gap:3px;display:inline-flex}.strip__pip{background:var(--line-strong);border-radius:50%;width:.75rem;height:.75rem;position:relative}.strip__pip--passed{background:var(--green)}.strip__pip--failed,.strip__pip--error,.strip__pip--timeout{background:var(--orange)}.strip__pip--running{background:var(--pending);animation:1.1s ease-in-out infinite pip-pulse}.strip__pip--hidden:after{content:"";background:#ffffffb3;border-radius:50%;position:absolute;inset:3px}@keyframes pip-pulse{50%{opacity:.4}}.prose{max-width:72ch;color:var(--text);text-wrap:pretty;font-size:.875rem;line-height:1.7}.prose>*+*{margin-top:.75rem}.prose h1,.prose h2,.prose h3{margin-top:1.25rem;font-size:1.0625rem}.prose strong{color:var(--ink)}.prose ul,.prose ol{margin-bottom:0;padding-left:1.25rem}.prose li+li{margin-top:.25rem}.prose code{background:var(--sand);color:var(--ink);border-radius:5px;padding:.1rem .35rem;font-size:.85em}.prose pre{border-radius:var(--radius-m);background:var(--code-bg);color:#e8eeea;padding:.875rem 1rem;font-size:.8125rem;overflow-x:auto}.prose pre code{color:inherit;font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse}.prose table th,.prose table td{border:1px solid var(--line);padding:.3rem .6rem}.workspace{flex-direction:column;gap:1.5rem;min-height:100dvh;padding:2rem 2.5rem 1.75rem;display:flex}.workspace__head{flex-wrap:wrap;align-items:center;gap:1.125rem;display:flex}.workspace__title{min-width:0}.workspace__title>span{color:var(--soft);margin-bottom:.25rem;font-size:.75rem;display:block}.workspace__title h1{font-size:2rem;line-height:1.05}.workspace__tools{flex-wrap:wrap;align-items:center;gap:.875rem;margin-left:auto;display:flex}.workspace__body{flex:1;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));gap:1.25rem;min-height:0;display:grid}.workspace__side{flex-direction:column;gap:1.25rem;min-width:0;display:flex}@media (max-width:900px){.workspace{padding:1.25rem 1rem}}.card{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);padding:1.375rem}.card--grow{flex:1}.card__head{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.card__pills{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.pill{background:var(--sand);color:var(--muted);white-space:nowrap;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.pill--pass{background:var(--green-wash);color:var(--green)}.pill--fail{background:var(--orange-wash);color:var(--orange-ink)}.timer{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:.75rem;padding:.5rem 1rem;display:inline-flex}.timer__dot{background:var(--orange);border-radius:50%;width:8px;height:8px}.timer small{color:var(--muted);font-size:.75rem}.timer strong{color:var(--green);font-family:var(--font-mono),monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.5rem;font-weight:500}.timer--low strong{color:var(--orange-ink)}.save-state{color:var(--soft);white-space:nowrap;font-size:.75rem}.save-state--error{color:var(--orange-ink)}.test-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.test-row{border:1px solid var(--line);border-radius:var(--radius-m);background:#fbfaf7;overflow:hidden}.test-row summary{color:var(--ink);cursor:pointer;align-items:center;gap:.75rem;padding:.8rem 1rem;font-size:.875rem;font-weight:500;list-style:none;display:flex}.test-row summary::-webkit-details-marker{display:none}.test-row summary:after{content:"▼";color:var(--faint);margin-left:auto;font-size:.6875rem}.test-row[open] summary:after{content:"▲"}.test-row__icon{background:var(--surface);color:#fff;border:2px solid #c9c3b8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:flex}.test-row__icon--passed{background:var(--green);border:0}.test-row__icon--failed,.test-row__icon--error,.test-row__icon--timeout{background:var(--orange);border:0}.test-row__icon--running{animation:1.1s ease-in-out infinite pip-pulse}.test-row__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.test-row__detail{color:var(--muted);font-family:var(--font-mono),monospace;gap:.25rem;padding:0 1rem .875rem 3.125rem;font-size:.75rem;line-height:1.7;display:grid}.test-row__detail pre{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0}.test-row__detail .expected{color:var(--green)}.editor-card{background:var(--code-bg);border-radius:18px;flex-direction:column;min-width:0;min-height:560px;display:flex;overflow:hidden;box-shadow:0 24px 48px -24px #10211a80}.editor-card__bar{border-bottom:1px solid #ffffff12;align-items:center;gap:.75rem;padding:.75rem .875rem .75rem 1.25rem;display:flex}.editor-card__dots{gap:6px;display:flex}.editor-card__dots span{background:#3b5d4c;border-radius:50%;width:10px;height:10px}.editor-card__dots span:first-child{background:var(--orange)}.editor-card__file{color:#c9d6cf;font-family:var(--font-mono),monospace;background:#ffffff0f;border-radius:8px;padding:.375rem .75rem;font-size:.75rem}.editor-card__hint{color:#6b8a7b;white-space:nowrap;margin-left:auto;font-size:.6875rem}.editor-card__code{flex:1;min-height:340px}.editor-card__console{background:var(--console-bg);border-top:1px solid #ffffff12}.editor-card__console>span{color:#c9d6cf;letter-spacing:.06em;text-transform:uppercase;padding:.625rem 1.25rem;font-size:.75rem;font-weight:600;display:block}.editor-card__console pre{color:#c9d6cf;min-height:6rem;max-height:14rem;font-family:var(--font-mono),monospace;white-space:pre-wrap;margin:0;padding:0 1.25rem 1rem;font-size:.78125rem;line-height:1.7;overflow:auto}.editor-card__console .ok{color:#8fd1a8}.editor-card__console .bad{color:#f0a27f}.editor-card__console .dim{color:#6b8a7b}.editor-card__foot{color:#8fa99b;border-top:1px solid #ffffff0d;padding:.75rem 1.25rem;font-size:.75rem}.editor-card--diagram{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card)}.tabs{background:var(--sand-deep);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.tabs__tab{color:#6e746e;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;display:inline-flex}.tabs__tab[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1c2a241f}.exam-session .workspace{min-height:auto;padding-top:0}.exam-session__tabs{padding:1.5rem 2.5rem 1rem}.results__head{border-bottom:1px solid #f0ece5;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.875rem 1.125rem;font-size:.8125rem;display:flex}.results__message{background:var(--orange-wash);color:var(--orange-ink);font-family:var(--font-mono),monospace;white-space:pre-wrap;border-bottom:1px solid #f0ece5;margin:0;padding:.875rem 1.125rem;font-size:.78125rem}.results .test-list{padding:.875rem 1.125rem}.dialog{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);width:min(32rem,100vw - 2rem);padding:0;box-shadow:0 24px 48px -16px #10211a59}.dialog::backdrop{background:#10211a73}.dialog--wide{width:min(56rem,100vw - 2rem)}.dialog--success{text-align:center}.dialog--success[open]{animation:.28s cubic-bezier(.2,.9,.3,1.25) dialog-pop}.dialog--success .dialog__body{justify-items:center;padding-top:2rem}.dialog--success .dialog__foot{justify-content:center}.dialog__badge{background:var(--green-wash);width:64px;height:64px;color:var(--green);border-radius:50%;order:-1;place-items:center;animation:.6s ease-out .15s both badge-bounce;display:grid}.dialog__body{gap:1rem;padding:1.5rem 1.625rem;display:grid}.dialog__body>p{color:var(--text)}.dialog__foot{border-top:1px solid var(--line);background:#fbfaf7;justify-content:flex-end;gap:.5rem;padding:1rem 1.625rem;display:flex}@keyframes dialog-pop{0%{opacity:0;transform:scale(.92)}}@keyframes badge-bounce{0%{transform:scale(.4)}60%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.dialog--success[open],.dialog__badge{animation:none}}.secret{border:1px dashed var(--green);border-radius:var(--radius-s);background:var(--green-wash);color:var(--green);font-family:var(--font-mono),monospace;letter-spacing:.04em;-webkit-user-select:all;user-select:all;padding:.35rem .75rem;font-size:.9375rem;display:inline-block}.landing{grid-template-columns:minmax(0,2fr) minmax(0,3fr);min-height:100dvh;display:grid}.landing__form{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;padding:4.5rem 5.5rem;display:flex}.landing__brand{align-items:center;gap:.875rem;display:flex}.landing__brand img{width:64px;height:auto;display:block}.landing__brand strong{color:var(--green);font-family:var(--font-display),sans-serif;letter-spacing:.02em;font-size:1.625rem;font-weight:700;line-height:1;display:block}.landing__brand small{color:var(--orange);letter-spacing:.14em;text-transform:uppercase;margin-top:.4rem;font-size:.875rem;font-weight:500;display:block}.landing__content{flex-direction:column;flex:1;justify-content:center;gap:1.75rem;width:100%;max-width:33rem;padding-block:3rem;display:flex}.landing__content form{gap:1.5rem;display:grid}.landing__content .field>span{color:var(--ink);font-size:1rem;font-weight:500}.landing__content .input{border-color:var(--line);background:#faf8f4;border-radius:14px;min-height:4.125rem;padding:.875rem 1.125rem;font-size:1rem}.landing__content .input:focus{background:var(--surface)}.landing__content .button--primary{border-radius:14px;min-height:4.375rem;font-size:1.125rem}.landing__intro h2{letter-spacing:-.01em;font-size:3rem;font-weight:700}.landing__intro p{max-width:44ch;color:var(--muted);margin-top:.875rem;font-size:1.0625rem;line-height:1.55}.landing__copy{color:var(--soft);font-size:.9375rem}.landing__show{background:#f3f0ea;flex-direction:column;justify-content:center;gap:1.75rem;padding:4.5rem 6.5rem 4.5rem 5.5rem;display:flex}.landing__show h1{letter-spacing:-.015em;font-size:clamp(2.5rem,3.9vw,4.25rem);font-weight:700;line-height:1.02}.landing__show>p{max-width:44ch;color:var(--text);font-size:1.3125rem;line-height:1.7}@media (max-width:1100px){.landing__form,.landing__show{padding:3rem 2.5rem}}@media (min-width:821px){.landing{height:100dvh;overflow:hidden}.landing__form,.landing__show{min-height:0;padding-block:clamp(1.5rem,6.5vh,4.5rem)}.landing__content{gap:clamp(1rem,2.6vh,1.75rem);padding-block:clamp(1rem,4vh,3rem)}.landing__content form{gap:clamp(.875rem,2.2vh,1.5rem)}.landing__content .input{min-height:clamp(2.75rem,6vh,4.125rem)}.landing__content .button--primary{min-height:clamp(3rem,6.4vh,4.375rem)}.landing__intro h2{font-size:clamp(2rem,4.4vh,3rem)}.landing__show{gap:clamp(1rem,2.6vh,1.75rem)}.landing__show h1{font-size:clamp(2rem,min(3.9vw,6.2vh),4.25rem)}.landing__show>p{font-size:clamp(.9375rem,1.95vh,1.3125rem)}}@media (max-width:820px){.landing{grid-template-columns:minmax(0,1fr)}.landing__form{border-right:0;border-bottom:1px solid var(--line);padding:2rem 1.25rem}.landing__content{max-width:none;padding-block:2.5rem 2rem}.landing__intro h2{font-size:2.25rem}.landing__show{padding:2.5rem 1.25rem 3rem}.landing__show>p{font-size:1.0625rem}}.code-mock{background:var(--code-bg);border-radius:22px;width:100%;max-width:52rem;overflow:hidden;box-shadow:0 32px 64px -28px #10211a8c}.code-mock__bar{border-bottom:1px solid #ffffff12;align-items:center;gap:1.25rem;padding:1rem 1.25rem;display:flex}.code-mock__dots{gap:9px;display:flex}.code-mock__dots span{background:#3b5d4c;border-radius:50%;width:13px;height:13px}.code-mock__dots span:first-child{background:var(--orange)}.code-mock__file{color:#e8eeea;font-family:var(--font-mono),monospace;background:#ffffff0f;border-radius:9px;padding:.45rem .875rem;font-size:.9375rem}.code-mock pre{font-family:var(--font-mono),monospace;margin:0;font-size:clamp(.8125rem,1.15vw,1.0625rem);line-height:1.9;overflow-x:auto}.code-mock__code{color:#e8eeea;padding:1.75rem 2rem}.code-mock__console{background:var(--console-bg);color:#8fd1a8;border-top:1px solid #ffffff0d;padding:1.5rem 2rem 1.75rem}.code-mock__total{color:#e8eeea;margin-top:.25rem}.code-mock .tok-kw{color:#f0a27f}.code-mock .tok-type{color:#8fd1a8}.code-mock .tok-fn{color:#e8eeea}.code-mock .tok-ok{color:#8fd1a8}@media (min-width:821px){.code-mock pre{font-size:clamp(.75rem,min(1.15vw,1.9vh),1.0625rem);line-height:1.8}.code-mock__bar{padding-block:clamp(.625rem,1.5vh,1rem)}.code-mock__code{padding-block:clamp(.875rem,2.6vh,1.75rem)}.code-mock__console{padding-block:clamp(.75rem,2.2vh,1.5rem) clamp(.875rem,2.6vh,1.75rem)}}@media (min-width:821px) and (max-height:640px){.code-mock{display:none}}.code-sample{border-radius:var(--radius-m);background:var(--code-bg);color:#e8eeea;margin:.5rem 0 0;padding:.875rem 1rem;font-size:.78125rem;line-height:1.6;overflow-x:auto}.stack{gap:1rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.consent{border:1px solid var(--line);border-radius:var(--radius-m);background:var(--sand);gap:.75rem;padding:1rem 1.125rem;display:grid}.consent h3{font-size:1rem}.consent ul{color:var(--text);gap:.5rem;margin:0;padding-left:1.125rem;font-size:.875rem;line-height:1.5;display:grid}.consent .check{border-top:1px solid var(--line-strong);color:var(--ink);padding-top:.75rem;font-weight:500}.lockout{z-index:50;background:#10211a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.lockout>div{border-radius:var(--radius-l);background:var(--surface);gap:1rem;width:min(30rem,100%);padding:1.75rem;display:grid;box-shadow:0 24px 48px -16px #10211a59}.lockout h2{font-size:1.25rem}.lockout p{color:var(--text)}.monitoring{margin-bottom:1.25rem}.monitoring__sub{color:var(--ink);cursor:default;margin-bottom:.625rem;font-size:.9375rem;font-weight:600}details>.monitoring__sub{cursor:pointer}.signals{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.signal{border-radius:var(--radius-s);color:var(--ink);background:#fbf3e4;align-items:flex-start;gap:.625rem;padding:.625rem .875rem;font-size:.875rem;display:flex}.signal svg{color:var(--warn);flex:none;margin-top:.15rem}.signal small{color:var(--soft);margin-top:.125rem;font-size:.75rem;display:block}.signal--strong{background:var(--orange-wash)}.signal--strong svg{color:var(--orange-ink)}.signal--none{background:var(--green-wash)}.signal--none svg{color:var(--green)}.telemetry{margin:0;padding:0;list-style:none}.authorship{gap:.875rem;display:grid}.authorship .monitoring__sub{margin-bottom:0}.authorship__stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:.75rem;display:grid}.authorship__stat{border:1px solid var(--line);border-radius:var(--radius-m);gap:.125rem;padding:.75rem .875rem;display:grid}.authorship__stat span{color:var(--muted);font-size:.75rem;font-weight:500}.authorship__stat strong{color:var(--ink);font-size:1.5rem;font-weight:600;line-height:1.2}.authorship__stat small{color:var(--soft);font-size:.75rem}.authorship__stat--flag{background:var(--orange-wash);border-color:#f1c8b6}.authorship__stat--flag strong{color:var(--orange-ink)}.authorship__table{box-shadow:none}.authorship__table td small{color:var(--soft);white-space:nowrap;margin-top:.125rem;font-size:.75rem;display:block}.authorship__table td.num{white-space:nowrap}.authorship td.authorship__flag{background:var(--orange-wash);color:var(--orange-ink);font-weight:600}.authorship td.authorship__flag small{color:var(--orange-ink);font-weight:400}.authorship__help dl{grid-template-columns:max-content 1fr;gap:.5rem 1rem;margin:.75rem 0;font-size:.8125rem;display:grid}@media (max-width:640px){.authorship__help dl{grid-template-columns:1fr}}.authorship__help dt{color:var(--ink);font-weight:600}.authorship__help dd{color:var(--text);margin:0;line-height:1.55}.sessions{gap:.75rem;margin:0 0 .5rem;padding:0;list-style:none;display:grid}.session{border:1px solid var(--line);border-radius:var(--radius-m);gap:.875rem;padding:.875rem 1rem;display:grid}.session__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.audit{gap:.375rem;margin:.5rem 0 0;padding:0;font-size:.8125rem;list-style:none;display:grid}.player{gap:.75rem;min-width:0;display:grid}.player__stage{border-radius:var(--radius-s);background:var(--sand-deep,#efebe4);min-height:12rem;position:relative;overflow:hidden}.player__host{aspect-ratio:16/10;width:100%;position:relative;overflow:hidden}.player__host .replayer-wrapper{transform-origin:0 0;position:absolute;top:0;left:0}.player__host iframe{background:var(--surface);border:0}.player__status{color:var(--muted);text-align:center;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.player__controls{flex-wrap:wrap;align-items:center;gap:.625rem .875rem;display:flex}.player__time{color:var(--muted);font-family:var(--font-mono),monospace;font-variant-numeric:tabular-nums;font-size:.8125rem}.player__seek{accent-color:var(--green);flex:12rem}.player__speed{width:auto;min-height:2.25rem}.player__fullscreen{margin-left:auto}.player--fullscreen{background:var(--surface);grid-template-rows:minmax(0,1fr) auto auto;height:100vh;padding:1rem}.player--fullscreen .player__stage{place-items:center;min-height:0;display:grid}.player--fullscreen .player__marks{max-height:4.5rem}.player__marks{flex-wrap:wrap;gap:.375rem;max-height:7.5rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.player__mark{background:var(--neutral-pill,#f1eee8);color:var(--text);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:.25rem .625rem;font-size:.75rem}.player__mark--bad{background:var(--orange-wash);color:var(--orange-ink)}.player__mark:hover{filter:brightness(.96)}.player__mark:focus-visible{outline:2px solid var(--green);outline-offset:2px}.diagram-frame{border:1px solid var(--line);border-radius:var(--radius-s);height:clamp(24rem,62vh,36rem);display:flex;overflow:hidden}.diagram-frame .diagram-editor{min-width:0;min-height:0}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius-l);background:var(--surface);color:inherit;box-shadow:var(--shadow-card);gap:.375rem;padding:1.25rem 1.375rem;text-decoration:none;display:grid}.stat--link{transition:box-shadow .2s,border-color .2s}.stat--link:hover{border-color:var(--line-hover);box-shadow:var(--shadow-lift);color:inherit}.stat__label{color:var(--muted);font-size:.8125rem;font-weight:500}.stat__value{color:var(--ink);font-size:2.25rem;font-weight:600;line-height:1.1}.stat__note{color:var(--soft);font-size:.8125rem}.alerts{flex-wrap:wrap;gap:.625rem;margin-bottom:1.25rem;display:flex}.alerts__item{background:var(--orange-wash);color:var(--orange-ink);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}.alerts__item:hover{color:var(--ink)}.dashboard__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.dashboard__grid .panel+.panel{margin-top:0}.dashboard__grid>.panel{overflow:hidden}@media (max-width:1100px){.dashboard__grid{grid-template-columns:minmax(0,1fr)}}.dashboard__wide{grid-column:1/-1}.dashboard__table{overflow-x:auto}.dashboard__more{margin-top:1.125rem}.dashboard__empty{color:var(--soft);text-align:center;padding:2rem 0}.dashboard .table th:first-child,.dashboard .table td:first-child{padding-left:1.375rem}.dashboard .table th:last-child,.dashboard .table td:last-child{padding-right:1.375rem}.legend{color:var(--muted);flex-wrap:wrap;gap:.375rem 1rem;font-size:.75rem;display:flex}.legend span{align-items:center;gap:.375rem;display:inline-flex}.legend__swatch{border-radius:3px;width:10px;height:10px}.legend__swatch--accent{background:var(--green)}.legend__swatch--warn{background:var(--orange)}.columns{--plot-height:200px;grid-template-columns:auto 1fr;gap:.625rem;padding-bottom:1.5rem;display:grid}.columns__ticks{height:var(--plot-height);color:var(--faint);font-variant-numeric:tabular-nums;text-align:right;flex-direction:column;justify-content:space-between;margin-top:-.4rem;margin-bottom:-.4rem;font-size:.6875rem;display:flex}.columns__plot{height:var(--plot-height);border-bottom:1px solid var(--line-strong);background:linear-gradient(var(--line) 1px, transparent 1px) 0 0/100% 50%;align-items:stretch;gap:2px;display:flex;position:relative}.columns__slot{cursor:default;outline:none;flex:1;justify-content:center;align-items:flex-end;min-width:0;display:flex;position:relative}.columns__slot:hover,.columns__slot:focus-visible{background:#1c2a240a}.columns__slot:hover .columns__tip,.columns__slot:focus-visible .columns__tip{visibility:visible;opacity:1}.columns__slot:hover .columns__bar,.columns__slot:focus-visible .columns__bar{filter:brightness(1.15)}.columns__slot:focus-visible{box-shadow:inset 0 0 0 2px var(--green)}.columns__bar{background:var(--soft);border-radius:4px 4px 0 0;width:100%;max-width:24px}.columns__bar--accent{background:var(--green)}.columns__bar--warn{background:var(--orange)}.columns__tick{color:var(--soft);white-space:nowrap;font-size:.6875rem;position:absolute;top:calc(100% + .375rem)}.columns__tip{z-index:5;border-radius:var(--radius-s);background:var(--ink);color:#e8eeea;white-space:nowrap;min-width:11rem;box-shadow:var(--shadow-lift);visibility:hidden;opacity:0;pointer-events:none;gap:.125rem;padding:.5rem .75rem;font-size:.75rem;transition:opacity .12s;display:grid;position:absolute;top:.25rem;left:50%;transform:translate(-50%)}.columns__tip small{color:#a9bbb1;font-size:.6875rem}.columns__tip small:first-letter{text-transform:uppercase}.columns__tip strong{color:#fff;font-size:.875rem}.columns__slot:nth-child(-n+3) .columns__tip{left:0;transform:none}.columns__slot:nth-last-child(-n+3) .columns__tip{left:auto;right:0;transform:none}.columns--dense .columns__bar{max-width:16px}.bars{gap:.875rem;margin:0;padding:0;list-style:none;display:grid}.bars li{grid-template-columns:minmax(8rem,12rem) 1fr 3.5rem;align-items:center;gap:1rem;display:grid}.bars__label{min-width:0;display:grid}.bars__label a,.bars__label>span{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:600;text-decoration:none;overflow:hidden}.bars__label a:hover{color:var(--green)}.bars__label small{color:var(--soft);font-size:.75rem}.bars__value{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:.8125rem}.meter{background:var(--green-wash);border-radius:999px;height:8px;display:block;overflow:hidden}.meter>span{background:var(--green);border-radius:999px;height:100%;display:block}.rate{grid-template-columns:minmax(4rem,1fr) 3rem;align-items:center;gap:.75rem;min-width:9rem;display:grid}.rate>span:last-child{font-variant-numeric:tabular-nums;text-align:right}
