:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-brand:#de090a;--color-bg:#090909;--color-surface-1:#121212;--color-surface-2:#1a1a1a;--color-text-primary:#f5f5f5;--color-text-secondary:#bdbdbd;--color-text-muted:#8f8f8f;--color-border-subtle:#343434;--color-border-control:#707070;--color-focus:#fff;--color-error:#ff6b6b;--color-complete:#4ade80;--type-page-title:1.5rem;--line-page-title:1.875rem;--type-shell-title:1.375rem;--line-shell-title:1.75rem;--type-section-title:1.25rem;--line-section-title:1.625rem;--type-body:1rem;--line-body:1.5rem;--type-label:.875rem;--line-label:1.25rem;--type-meta:.75rem;--line-meta:1rem;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-base:16px;--space-lg:20px;--space-xl:24px;--space-2xl:32px;--space-3xl:40px;--space-4xl:48px;--layout-gutter:var(--space-base);--layout-section-gap:var(--space-xl);--layout-component-gap:var(--space-md);--layout-control-gap:var(--space-sm);--layout-content-max:760px;--header-min:56px;--bottom-min:64px;--target-min:44px;--radius-control:8px;--radius-surface:12px;--radius-overlay:16px;--stroke:1px;--focus-width:2px;--focus-offset:2px;--selection-width:2px;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--layer-base:0;--layer-header:1;--layer-bottom:2;--dialog-max:560px;--overlay-backdrop-opacity:72%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text-primary);font-size:var(--type-body);line-height:var(--line-body);margin:0}h1,h2,h3,p{overflow-wrap:anywhere;margin:0}h1{font-size:var(--type-page-title);line-height:var(--line-page-title);font-weight:var(--weight-bold)}h2,h3{font-size:var(--type-section-title);line-height:var(--line-section-title);font-weight:var(--weight-semibold)}h2{margin-bottom:var(--layout-component-gap)}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.shell-header{padding-top:env(safe-area-inset-top);background:var(--color-bg)}.header-content{max-width:var(--layout-content-max);min-height:var(--header-min);padding-inline:var(--layout-gutter);align-items:center;gap:var(--layout-control-gap);flex-wrap:wrap;margin-inline:auto;display:flex}.brand-name{font-size:var(--type-shell-title);line-height:var(--line-shell-title);font-weight:var(--weight-bold);margin-right:auto}.settings-link{padding-inline:var(--space-sm);min-height:var(--target-min);min-width:var(--target-min);color:var(--color-text-primary);font-size:var(--type-label);line-height:var(--line-label);border-radius:var(--radius-control);justify-content:center;align-items:center;display:inline-flex}.settings-link:active{background:var(--color-surface-2)}.brand-logo{width:var(--icon-lg);height:var(--icon-lg);object-fit:contain;flex:none;display:block}.shell-main{max-width:var(--layout-content-max);padding:var(--space-xl) max(var(--layout-gutter), env(safe-area-inset-right)) calc(var(--bottom-rendered,var(--bottom-min)) + var(--space-base)) max(var(--layout-gutter), env(safe-area-inset-left));margin-inline:auto}.lab-notice{color:var(--color-text-secondary);margin-bottom:var(--space-xl);font-size:var(--type-label);line-height:var(--line-label)}.root-page{gap:var(--layout-section-gap);min-width:0;display:grid}.session-shell .shell-main{padding-bottom:max(var(--space-base), env(safe-area-inset-bottom))}.secondary{color:var(--color-text-secondary)}.meta{color:var(--color-text-muted);font-size:var(--type-meta);line-height:var(--line-meta);font-weight:var(--weight-medium)}.card{background:var(--color-surface-1);border:var(--stroke) solid var(--color-border-subtle);border-radius:var(--radius-surface);padding:var(--space-base);align-items:flex-start;gap:var(--layout-component-gap);flex-direction:column;min-width:0;display:flex}.card>*{max-width:100%}.button{font:var(--weight-semibold) var(--type-label)/var(--line-label) system-ui, sans-serif;min-height:var(--target-min);min-width:var(--target-min);padding:var(--space-sm) var(--space-base);border:var(--stroke) solid var(--color-brand);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-brand);overflow-wrap:anywhere;cursor:pointer}.button:active:not([aria-disabled=true]){box-shadow:inset 0 0 0 var(--stroke) var(--color-text-primary)}.button[aria-disabled=true]{color:var(--color-text-muted);background:var(--color-surface-1);border-color:var(--color-border-subtle);cursor:default}.status-label{padding:var(--space-xs) var(--space-sm);font-size:var(--type-label);line-height:var(--line-label);font-weight:var(--weight-semibold);border-radius:var(--radius-control);color:var(--color-text-secondary)}.status-label.complete{color:var(--color-complete)}.error{color:var(--color-error);font-size:var(--type-body);line-height:var(--line-body)}.bottom-nav{z-index:var(--layer-bottom);background:var(--color-surface-1);padding:0 max(var(--layout-gutter), env(safe-area-inset-right)) env(safe-area-inset-bottom) max(var(--layout-gutter), env(safe-area-inset-left));position:fixed;inset:auto 0 0}.nav-content{max-width:var(--layout-content-max);grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto;display:grid}.nav-content a{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-xs);min-height:var(--bottom-min);min-width:var(--target-min);color:var(--color-text-secondary);font-size:var(--type-label);line-height:var(--line-label);font-weight:var(--weight-semibold);border-top:var(--selection-width) solid transparent;text-align:center;overflow-wrap:anywhere;flex-direction:column;text-decoration:none;display:flex}.nav-content a[aria-current=page]{color:var(--color-text-primary);border-top-color:var(--color-brand)}.nav-content a:active{background:var(--color-surface-2)}.nav-content a>span{max-width:100%}.nav-icon-slot{width:var(--icon-lg);height:var(--icon-lg)}[hidden]{display:none!important}.field-stack{gap:var(--layout-component-gap);min-width:0;display:grid}.field{gap:var(--layout-control-gap);min-width:0;font-size:var(--type-label);display:grid}.field input,.field select{width:100%;min-width:0;min-height:var(--target-min);padding:var(--space-sm) var(--space-md);font:inherit;font-size:var(--type-body);line-height:var(--line-body);color:var(--color-text-primary);background:var(--color-surface-1);border:var(--stroke) solid var(--color-border-control);border-radius:var(--radius-control)}input:focus-visible,select:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}.action-group{gap:var(--layout-control-gap);flex-wrap:wrap;display:flex}.action-group>*{flex:1 1 max-content}.catalog-list{gap:var(--layout-control-gap);margin:0;padding:0;list-style:none;display:grid}.catalog-list li{min-width:0}.catalog-list a{min-height:var(--target-min);color:var(--color-text-primary);padding:var(--space-sm) var(--space-base);overflow-wrap:anywhere;align-items:center;max-width:100%;display:inline-flex}.module-shell>h1{font-size:var(--type-shell-title);line-height:var(--line-shell-title)}.module-shell{gap:var(--layout-component-gap)}.module-tabs{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.module-tabs button{min-height:var(--space-4xl);min-width:var(--target-min);padding:var(--space-sm) var(--space-xs);font:inherit;font-size:var(--type-label);line-height:var(--line-label);background:var(--color-bg);color:var(--color-text-primary);border:0;border-bottom:var(--selection-width) solid transparent;overflow-wrap:anywhere;cursor:pointer}.module-tabs button[aria-selected=true]{border-bottom-color:var(--color-brand)}.module-tabs button:active{background:var(--color-surface-2)}.dialog{width:calc(100% - 2 * var(--layout-gutter));max-width:var(--dialog-max);max-height:calc(100dvh - 2 * var(--layout-gutter) - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:var(--space-lg);border:var(--stroke) solid var(--color-border-control);border-radius:var(--radius-overlay);background:var(--color-surface-2);color:var(--color-text-primary);overflow:auto}.dialog::backdrop{background:color-mix(in srgb,var(--color-bg) var(--overlay-backdrop-opacity),transparent)}
