@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/atkinson-hyperlegible-next-latin-wght-normal-VX3WN42K.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Mono;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/atkinson-hyperlegible-mono-latin-wght-normal-PW4Y5VER.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--c-bg: #12100e;--c-surface: #1d1a17;--c-surface-2: #2a2622;--c-text: #f6f0e6;--c-text-muted: #b8ad9f;--c-border: #4a433c;--c-border-strong: #8a7f73;--c-primary: #f2e2c2;--c-on-primary: #1a140e;--c-in: #3ccf8e;--c-on-in: #04291a;--c-out: #7cb0ff;--c-on-out: #0a1a33;--c-ok: #4fd88f;--c-warn: #ffa040;--c-on-warn: #2b1500;--c-full: #ff6b5e;--c-on-full: #240503;--c-danger: #ff7b6f;--c-on-danger: #240503;--c-focus: #ffd84d;--c-scrim: rgb(0 0 0 / .62);--c-selection: rgb(242 226 194 / .3);--shadow-1: 0 1px 2px rgb(0 0 0 / .5), 0 2px 8px rgb(0 0 0 / .35);--shadow-2: 0 8px 24px rgb(0 0 0 / .55), 0 2px 6px rgb(0 0 0 / .4);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-s: .5rem;--radius-m: .875rem;--radius-l: 1.375rem;--font-sans: "Atkinson Hyperlegible Next", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-num: "Atkinson Hyperlegible Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-xs: .8125rem;--fs-s: .9375rem;--fs-m: 1.0625rem;--fs-l: 1.3125rem;--fs-xl: 1.75rem;--fs-2xl: 2.5rem;--fs-hero: clamp(5rem, 27vw, 9.5rem);--tap-min: 56px;--ease-out: cubic-bezier(.23, 1, .32, 1);--dur-press: 90ms;--dur-fast: .16s;--dur-base: .24s;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}:root[data-theme=dark]{color-scheme:dark;--c-bg: #12100e;--c-surface: #1d1a17;--c-surface-2: #2a2622;--c-text: #f6f0e6;--c-text-muted: #b8ad9f;--c-border: #4a433c;--c-border-strong: #8a7f73;--c-primary: #f2e2c2;--c-on-primary: #1a140e;--c-in: #3ccf8e;--c-on-in: #04291a;--c-out: #7cb0ff;--c-on-out: #0a1a33;--c-ok: #4fd88f;--c-warn: #ffa040;--c-on-warn: #2b1500;--c-full: #ff6b5e;--c-on-full: #240503;--c-danger: #ff7b6f;--c-on-danger: #240503;--c-focus: #ffd84d;--c-scrim: rgb(0 0 0 / .62);--c-selection: rgb(242 226 194 / .3);--shadow-1: 0 1px 2px rgb(0 0 0 / .5), 0 2px 8px rgb(0 0 0 / .35);--shadow-2: 0 8px 24px rgb(0 0 0 / .55), 0 2px 6px rgb(0 0 0 / .4)}:root[data-theme=light]{color-scheme:light;--c-bg: #f4efe6;--c-surface: #fffcf6;--c-surface-2: #e9e1d4;--c-text: #1b1612;--c-text-muted: #5c5046;--c-border: #cfc3b2;--c-border-strong: #8a7d6d;--c-primary: #2a2019;--c-on-primary: #fcf8f1;--c-in: #0b7a47;--c-on-in: #ffffff;--c-out: #1d5cc0;--c-on-out: #ffffff;--c-ok: #0a6a3a;--c-warn: #984500;--c-on-warn: #ffffff;--c-full: #b0211a;--c-on-full: #ffffff;--c-danger: #b8261b;--c-on-danger: #ffffff;--c-focus: #6b2fd6;--c-scrim: rgb(27 22 18 / .5);--c-selection: rgb(42 32 25 / .18);--shadow-1: 0 1px 2px rgb(60 40 20 / .12), 0 2px 8px rgb(60 40 20 / .08);--shadow-2: 0 10px 28px rgb(60 40 20 / .18), 0 2px 6px rgb(60 40 20 / .1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;hanging-punctuation:first last}body{margin:0;min-height:100dvh;overscroll-behavior:none}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}ul[role=list],ol[role=list]{list-style:none;padding:0}img,svg,video,canvas{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:0;padding:0;cursor:pointer}button,a,[role=button],[role=tab],summary,label{touch-action:manipulation}button,[role=button],[role=tab],summary{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,select,textarea{font-size:max(16px,1rem)}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{background:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);font-size:100%;line-height:1.45;accent-color:var(--c-primary);caret-color:var(--c-primary);scrollbar-color:var(--c-border-strong) transparent}body{background:var(--c-bg);color:var(--c-text);font-size:var(--fs-m);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--c-selection);color:var(--c-text)}h1,h2,h3,h4{line-height:1.15;font-weight:700;letter-spacing:-.01em;text-wrap:balance}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-l)}h3{font-size:var(--fs-m)}p{text-wrap:pretty}small{font-size:var(--fs-s)}a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:.2em}strong,b{font-weight:700}hr{border:0;border-top:1px solid var(--c-border);margin:var(--space-5) 0}code,kbd{font-family:var(--font-num);font-size:.92em}:focus{outline:none}:focus-visible{outline:3px solid var(--c-focus);outline-offset:3px;box-shadow:0 0 0 6px var(--c-bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--c-border-strong);border:3px solid transparent;border-radius:999px;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.page{width:100%;max-width:72rem;margin-inline:auto;padding-top:calc(var(--space-5) + var(--page-safe-top, 0px));padding-bottom:calc(var(--space-6) + var(--safe-bottom));padding-left:calc(var(--space-4) + var(--safe-left));padding-right:calc(var(--space-4) + var(--safe-right))}@media(min-width:640px){.page{padding-left:calc(var(--space-6) + var(--safe-left));padding-right:calc(var(--space-6) + var(--safe-right))}}.page__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-4);margin-bottom:var(--space-5)}.page__title{font-size:var(--fs-xl);font-weight:800;letter-spacing:-.015em}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack--s{gap:var(--space-2)}.stack--l{gap:var(--space-6)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:var(--space-4)}.btn{--btn-bg: var(--c-surface-2);--btn-fg: var(--c-text);--btn-border: var(--c-border);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-min);min-width:var(--tap-min);padding:var(--space-2) var(--space-5);border:1.5px solid var(--btn-border);border-radius:var(--radius-m);background:var(--btn-bg);color:var(--btn-fg);font-family:var(--font-sans);font-size:var(--fs-m);font-weight:700;line-height:1.15;text-align:center;text-decoration:none;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;transition:transform var(--dur-press) var(--ease-out),background-color var(--dur-fast) var(--ease-out),filter var(--dur-press) var(--ease-out)}.btn:active:not(:disabled,[aria-disabled=true]){transform:scale(.97);filter:brightness(.88)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn>app-icon,.btn>svg{flex:none}@media(hover:hover)and (pointer:fine){.btn:hover:not(:disabled,[aria-disabled=true]){filter:brightness(1.08)}}.btn--primary{--btn-bg: var(--c-primary);--btn-fg: var(--c-on-primary);--btn-border: var(--c-primary)}.btn--secondary{--btn-bg: var(--c-surface-2);--btn-fg: var(--c-text);--btn-border: var(--c-border-strong)}.btn--danger{--btn-bg: var(--c-danger);--btn-fg: var(--c-on-danger);--btn-border: var(--c-danger)}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--c-text);--btn-border: transparent}.btn--block{display:flex;width:100%}.btn--sm{min-height:44px;min-width:44px;padding:var(--space-1) var(--space-4);font-size:var(--fs-s);border-radius:var(--radius-s)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field>label,.field>.field__label{font-size:var(--fs-s);font-weight:700;color:var(--c-text)}.field__hint{font-size:var(--fs-s);color:var(--c-text-muted)}.field__error{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-s);font-weight:700;color:var(--c-danger)}.input,.select{display:block;width:100%;min-height:var(--tap-min);padding:var(--space-3) var(--space-4);border:1.5px solid var(--c-border-strong);border-radius:var(--radius-m);background:var(--c-surface);color:var(--c-text);font-size:max(16px,var(--fs-m));line-height:1.3;transition:border-color var(--dur-fast) var(--ease-out)}.input::placeholder,.select::placeholder{color:var(--c-text-muted);opacity:1}.input:focus-visible,.select:focus-visible{border-color:var(--c-focus)}.input:disabled,.select:disabled{opacity:.55;cursor:not-allowed}.input[aria-invalid=true],.input.ng-invalid.ng-touched,.select[aria-invalid=true],.select.ng-invalid.ng-touched{border-color:var(--c-danger)}textarea.input{min-height:7rem;resize:vertical}.select{appearance:none;padding-right:var(--space-7);background-image:linear-gradient(45deg,transparent 50%,currentcolor 50%),linear-gradient(135deg,currentcolor 50%,transparent 50%);background-position:calc(100% - 1.4rem) 50%,calc(100% - 1rem) 50%;background-size:.4rem .4rem;background-repeat:no-repeat}.checkbox{appearance:none;flex:none;display:inline-grid;place-content:center;width:1.5rem;height:1.5rem;margin:0;border:2px solid var(--c-border-strong);border-radius:.375rem;background:var(--c-surface);cursor:pointer;vertical-align:middle}.checkbox:after{content:"";width:.75rem;height:.4rem;border:solid var(--c-on-primary);border-width:0 0 3px 3px;transform:translateY(-2px) rotate(-45deg) scale(0);transition:transform var(--dur-press) var(--ease-out)}.checkbox:checked{background:var(--c-primary);border-color:var(--c-primary)}.checkbox:checked:after{transform:translateY(-2px) rotate(-45deg) scale(1)}.checkbox:disabled{opacity:.5;cursor:not-allowed}.checkbox[type=radio]{border-radius:50%}.checkbox[type=radio]:after{width:.625rem;height:.625rem;border:0;border-radius:50%;background:var(--c-on-primary);transform:scale(0)}.checkbox[type=radio]:checked:after{transform:scale(1)}label:has(>.checkbox){display:inline-flex;align-items:center;gap:var(--space-3);min-height:var(--tap-min);cursor:pointer}.card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--c-border);border-radius:var(--radius-l);background:var(--c-surface);box-shadow:var(--shadow-1)}.card__title{font-size:var(--fs-l);font-weight:700;line-height:1.2}.card__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.table-wrap{width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--c-border);border-radius:var(--radius-m);background:var(--c-surface)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-s);font-variant-numeric:tabular-nums}.table th,.table td{padding:var(--space-3) var(--space-4);text-align:left;vertical-align:middle;border-bottom:1px solid var(--c-border);white-space:nowrap}.table th{position:sticky;top:0;background:var(--c-surface-2);color:var(--c-text);font-size:var(--fs-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.table tbody tr:last-child td{border-bottom:0}.table .is-num{text-align:right}.table td.is-num,.table td .num{font-family:var(--font-num);font-size:inherit;line-height:inherit}.badge{--badge-bg: var(--c-surface-2);--badge-fg: var(--c-text);display:inline-flex;align-items:center;gap:var(--space-1);min-height:1.75rem;padding:.125rem var(--space-3);border-radius:999px;background:var(--badge-bg);color:var(--badge-fg);font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:nowrap}.badge--ok{--badge-bg: color-mix(in srgb, var(--c-ok) 18%, var(--c-surface));--badge-fg: var(--c-ok);box-shadow:inset 0 0 0 1.5px var(--c-ok)}.badge--warn{--badge-bg: var(--c-warn);--badge-fg: var(--c-on-warn)}.badge--full{--badge-bg: var(--c-full);--badge-fg: var(--c-on-full)}.badge--muted{--badge-bg: transparent;--badge-fg: var(--c-text-muted);box-shadow:inset 0 0 0 1.5px var(--c-border)}.alert{--alert-accent: var(--c-text-muted);display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1.5px solid var(--alert-accent);border-radius:var(--radius-m);background:color-mix(in srgb,var(--alert-accent) 12%,var(--c-surface));color:var(--c-text);font-size:var(--fs-s);line-height:1.4}.alert>app-icon:first-child{color:var(--alert-accent);margin-top:.05rem}.alert strong{display:block;font-size:var(--fs-m)}.alert--info{--alert-accent: var(--c-out)}.alert--warn{--alert-accent: var(--c-warn)}.alert--error{--alert-accent: var(--c-danger)}.alert--success{--alert-accent: var(--c-ok)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);border:1.5px dashed var(--c-border);border-radius:var(--radius-l);color:var(--c-text-muted);text-align:center}.empty-state>app-icon:first-child{color:var(--c-text-muted)}.empty-state strong,.empty-state h2,.empty-state h3{color:var(--c-text);font-size:var(--fs-l)}.spinner{display:inline-block;flex:none;width:1.5rem;height:1.5rem;border:3px solid color-mix(in srgb,currentcolor 25%,transparent);border-top-color:currentcolor;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:spinner-pulse 1.6s ease-in-out infinite}}@keyframes spinner-pulse{50%{opacity:.35}}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums slashed-zero;font-feature-settings:"tnum" 1;font-size:var(--fs-2xl);font-weight:700;line-height:1;letter-spacing:-.02em}.text-muted{color:var(--c-text-muted)}
