:root{--af-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif;--af-font-mono: "SFMono-Regular", "JetBrains Mono", Menlo, Monaco, Consolas, ui-monospace, monospace;--af-space-1: 4px;--af-space-2: 8px;--af-space-3: 12px;--af-space-4: 16px;--af-space-5: 20px;--af-space-6: 24px;--af-space-7: 32px;--af-space-8: 40px;--af-space-9: 48px;--af-radius-xs: 4px;--af-radius-sm: 6px;--af-radius-md: 8px;--af-radius-lg: 10px;--af-brand-100: #eef0ff;--af-brand-600: #5e6ad2;--af-brand-700: #4f5bc4;--af-brand-800: #3f4ab0;--af-neutral-950: #0f1011;--af-neutral-700: #6b6f76;--af-neutral-500: #8a8f98;--af-neutral-300: #d0d4dc;--af-canvas: #f7f8f9;--af-surface: #ffffff;--af-surface-muted: #f3f4f6;--af-surface-elevated: #ffffff;--af-border: #e6e8eb;--af-border-strong: #d7dbe0;--af-success: #10b981;--af-success-soft: #e8faf3;--af-warning: #f59e0b;--af-warning-soft: #fff7e8;--af-danger: #ef4444;--af-danger-soft: #fef1f1;--af-info: #3b82f6;--af-info-soft: #eff6ff;--af-focus-ring: color-mix(in srgb, var(--af-brand-600) 40%, transparent);--af-on-primary: #ffffff;--af-on-danger: #ffffff;--af-code-bg: #16181d;--af-code-fg: #e8eaed;--af-shadow-sm: 0 1px 1px rgb(15 16 17 / 4%);--af-shadow-md: 0 1px 2px rgb(15 16 17 / 4%), 0 4px 12px rgb(15 16 17 / 5%);--af-shadow-lg: 0 2px 8px rgb(15 16 17 / 6%), 0 16px 40px rgb(15 16 17 / 8%);--af-shadow-card: none;--af-shadow-card-hover: 0 1px 2px rgb(15 16 17 / 5%);--af-color-primary: var(--af-brand-600);--af-color-primary-hover: var(--af-brand-700);--af-color-danger: var(--af-danger);--af-color-warning: var(--af-warning);--af-color-success: var(--af-success);--af-color-info: var(--af-info);--af-color-surface: var(--af-surface);--af-color-surface-muted: var(--af-surface-muted);--af-color-text: var(--af-neutral-950);--af-color-muted: var(--af-neutral-700);--af-color-border: var(--af-border);--af-button-min-height: 32px;--af-button-padding: 6px 12px;--af-button-radius: var(--af-radius-sm);--af-empty-min-height: 12rem;--af-empty-padding: 36px 20px;--af-progress-height: 4px;--af-badge-padding: 1px 7px;--af-badge-border: 1px solid transparent;--af-badge-font-size: 12px}@media(prefers-color-scheme:dark){:root{--af-brand-100: #22264a;--af-brand-600: #7b85e8;--af-brand-700: #8f97ef;--af-brand-800: #a7adff;--af-neutral-950: #f4f5f7;--af-neutral-700: #a0a5b0;--af-neutral-500: #7a8090;--af-canvas: #0c0d10;--af-surface: #13141a;--af-surface-muted: #171821;--af-surface-elevated: #1b1c24;--af-border: #262833;--af-border-strong: #343644;--af-success: #34d399;--af-success-soft: #123028;--af-warning: #fbbf24;--af-warning-soft: #2f2612;--af-danger: #f87171;--af-danger-soft: #341818;--af-info: #60a5fa;--af-info-soft: #152238;--af-focus-ring: color-mix(in srgb, var(--af-brand-600) 45%, transparent);--af-on-primary: #0c0d10;--af-on-danger: #1a0a0a;--af-code-bg: #0a0b0f;--af-code-fg: #e8eaed;--af-shadow-sm: 0 1px 1px rgb(0 0 0 / 35%);--af-shadow-md: 0 1px 2px rgb(0 0 0 / 35%), 0 6px 18px rgb(0 0 0 / 40%);--af-shadow-lg: 0 4px 16px rgb(0 0 0 / 40%), 0 20px 48px rgb(0 0 0 / 45%);--af-shadow-card: none;--af-shadow-card-hover: 0 1px 2px rgb(0 0 0 / 40%)}}.af-logo{display:inline-grid;width:28px;height:28px;flex:0 0 auto;place-items:center;border-radius:var(--af-radius-sm);background:linear-gradient(145deg,#6b75db,#4f5bc4);color:#fff;box-shadow:inset 0 0 0 1px #ffffff1a}@media(prefers-color-scheme:dark){.af-logo{background:linear-gradient(145deg,#7b85e8,#5e6ad2);color:#f4f5ff}}.af-logo svg{display:block;width:18px;height:18px}.af-logo--lg{width:40px;height:40px;border-radius:var(--af-radius-md)}.af-logo--lg svg{width:22px;height:22px}.button{display:inline-flex;min-height:var(--af-button-min-height);align-items:center;justify-content:center;gap:var(--af-space-2);padding:var(--af-button-padding);border:1px solid transparent;border-radius:var(--af-button-radius);color:var(--af-on-primary);background:var(--af-color-primary);cursor:pointer;font:inherit;font-size:13px;font-weight:500;line-height:1.2;letter-spacing:-.005em;text-decoration:none;transition:background 80ms ease-out,border-color 80ms ease-out,color 80ms ease-out,box-shadow 80ms ease-out}.button:focus-visible{outline:2px solid var(--af-focus-ring);outline-offset:2px}.button:active:not(:disabled){transform:translateY(.5px) scale(.99)}.button:disabled{cursor:not-allowed;color:color-mix(in srgb,var(--af-color-text) 42%,transparent);background:var(--af-surface-muted);border-color:var(--af-color-border);opacity:1;transform:none}.button--primary{background:var(--af-color-primary);color:var(--af-on-primary);box-shadow:none}.button--primary:hover:not(:disabled){background:var(--af-color-primary-hover);box-shadow:none}.button--primary:active:not(:disabled){background:var(--af-brand-800);box-shadow:none}.button--secondary{border-color:var(--af-color-border);background:var(--af-color-surface);color:var(--af-color-text)}.button--secondary:hover:not(:disabled){border-color:var(--af-border-strong);background:var(--af-surface-muted)}.button--secondary:disabled{color:var(--af-color-muted)}.button--danger{background:var(--af-color-danger);color:var(--af-on-danger)}.button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--af-color-danger) 88%,#000)}.button--danger:disabled{color:color-mix(in srgb,var(--af-color-danger) 55%,transparent);background:var(--af-danger-soft);border-color:color-mix(in srgb,var(--af-color-danger) 22%,transparent)}.button--ghost{background:transparent;color:var(--af-color-muted)}.button--ghost:hover:not(:disabled){background:var(--af-surface-muted);color:var(--af-color-text)}.button--ghost:disabled{background:transparent;border-color:transparent}.button__spinner{width:14px;height:14px;border:2px solid rgb(255 255 255 / 35%);border-top-color:currentcolor;border-radius:50%;animation:af-spin .7s linear infinite}.button--secondary .button__spinner,.button--ghost .button__spinner{border-color:color-mix(in srgb,var(--af-color-muted) 30%,transparent);border-top-color:var(--af-color-muted)}.error-alert{margin-top:0;padding:12px 14px;border:1px solid color-mix(in srgb,var(--af-color-danger) 22%,transparent);border-radius:var(--af-radius-md);background:var(--af-danger-soft);color:var(--af-color-danger)}.error-alert strong{display:block;margin-bottom:4px;font-weight:600;color:var(--af-color-danger)}.error-alert p{margin:2px 0;color:color-mix(in srgb,var(--af-color-danger) 92%,var(--af-color-text));font-size:13px;line-height:1.5}.empty-state{display:grid;min-height:var(--af-empty-min-height);place-items:center;align-content:center;gap:6px;padding:var(--af-empty-padding);color:var(--af-color-muted);text-align:center}.empty-state__icon{display:grid;width:44px;height:44px;margin-bottom:6px;place-items:center;border:1px solid color-mix(in srgb,var(--af-color-border) 90%,var(--af-color-muted));border-radius:12px;color:var(--af-color-primary);background:color-mix(in srgb,var(--af-color-primary) 7%,var(--af-color-surface))}.empty-state__icon[data-icon=error]{color:var(--af-color-danger);background:var(--af-danger-soft);border-color:color-mix(in srgb,var(--af-color-danger) 18%,transparent)}.empty-state__icon svg{width:20px;height:20px}.empty-state h2{margin:0;color:var(--af-color-text);font-size:15px;font-weight:600;line-height:22px}.empty-state p{margin:0;max-width:28rem;font-size:13px;line-height:1.55}.empty-state__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.status-badge{display:inline-flex;width:fit-content;align-items:center;gap:5px;padding:var(--af-badge-padding);border:var(--af-badge-border);border-radius:999px;background:var(--af-color-surface-muted);color:var(--af-color-muted);font-size:var(--af-badge-font-size);font-weight:500;line-height:1.45;letter-spacing:-.01em;text-transform:none}.status-badge--info{background:var(--af-info-soft);color:var(--af-color-info);border-color:color-mix(in srgb,var(--af-color-info) 22%,transparent)}.status-badge--success{background:var(--af-success-soft);color:var(--af-color-success);border-color:color-mix(in srgb,var(--af-color-success) 22%,transparent)}.status-badge--warning{background:var(--af-warning-soft);color:var(--af-color-warning);border-color:color-mix(in srgb,var(--af-color-warning) 24%,transparent)}.status-badge--danger{background:var(--af-danger-soft);color:var(--af-color-danger);border-color:color-mix(in srgb,var(--af-color-danger) 22%,transparent)}.progress,.progress__meta{display:grid;gap:6px}.progress__meta{grid-template-columns:1fr auto;color:var(--af-color-muted);font-size:12px;font-variant-numeric:tabular-nums}.progress__track{height:var(--af-progress-height);overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--af-color-border) 88%,var(--af-color-muted))}.progress__value{display:block;height:100%;border-radius:inherit;background:var(--af-color-primary);transition:width .18s ease-out}.dialog{width:min(92vw,520px);padding:0;border:1px solid var(--af-color-border);border-radius:var(--af-radius-lg);color:var(--af-color-text);background:var(--af-color-surface);box-shadow:var(--af-shadow-lg)}.dialog::backdrop{background:#151a1e6b}.dialog__header,.dialog__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--af-space-4);padding:14px 18px}.dialog__header{border-bottom:1px solid var(--af-color-border)}.dialog__header h2{margin:0;font-size:16px;font-weight:600;line-height:1.35}.dialog__body{padding:16px 18px;font-size:14px;line-height:1.55;color:var(--af-color-text)}.dialog__actions{justify-content:flex-end;border-top:1px solid var(--af-color-border);background:var(--af-surface-muted);border-radius:0 0 var(--af-radius-lg) var(--af-radius-lg)}@keyframes af-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.button,.button__spinner,.progress__value{transition-duration:.01ms;animation-duration:.01ms;animation-iteration-count:1}}:root{color-scheme:light dark;font-family:var(--af-font-sans);--color-bg: var(--af-canvas);--color-surface: var(--af-surface);--color-surface-muted: var(--af-surface-muted);--color-text: var(--af-color-text);--color-text-muted: var(--af-color-muted);--color-border: var(--af-color-border);--color-primary: var(--af-color-primary);--color-primary-hover: var(--af-color-primary-hover);--color-danger: var(--af-color-danger);--color-warning: var(--af-color-warning);--color-success: var(--af-color-success);--color-info: var(--af-color-info);--shadow-sm: var(--af-shadow-sm);--shadow-md: var(--af-shadow-md);--shadow-lg: var(--af-shadow-lg);--shadow-card: var(--af-shadow-card);--shadow-card-hover: var(--af-shadow-card-hover);--radius-sm: var(--af-radius-sm);--radius-md: var(--af-radius-md);--radius-lg: var(--af-radius-lg);--sidebar-width: 220px;--topbar-height: 48px;--content-max: 1200px;--reading-width: 720px;--af-button-radius: var(--af-radius-sm);--af-empty-min-height: 240px;--af-button-min-height: 32px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial}}}@layer theme{:root,:host{--color-neutral-950:oklch(14.5% 0 none);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:var(--af-radius-sm);--radius-md:var(--af-radius-md);--radius-lg:var(--af-radius-lg);--shadow-md:var(--af-shadow-md);--shadow-lg:var(--af-shadow-lg);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--color-surface:var(--af-surface);--color-surface-muted:var(--af-surface-muted);--color-border:var(--af-border);--color-primary:var(--af-color-primary);--color-success:var(--af-success);--color-warning:var(--af-warning);--color-danger:var(--af-danger)}}@layer base,components;@layer utilities{.\@container\/field-group{container:field-group/inline-size}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-4{right:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.\!m-0{margin:0!important}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-1{margin-block:var(--spacing)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-1{height:var(--spacing)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-full{height:100%}.h-px{height:1px}.min-h-48{min-height:calc(var(--spacing) * 48)}.min-h-\[96px\]{min-height:96px}.w-2\/3{width:66.6667%}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-52{min-width:calc(var(--spacing) * 52)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-\[12px\]{border-radius:12px}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--af-radius-md)}.rounded-sm{border-radius:var(--af-radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--af-border)}.border-destructive\/25{border-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.border-destructive\/25{border-color:color-mix(in oklab,var(--destructive) 25%,transparent)}}.border-input{border-color:var(--input)}.border-primary{border-color:var(--af-color-primary)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-border{background-color:var(--af-border)}.bg-destructive,.bg-destructive\/5{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,var(--destructive) 5%,transparent)}}.bg-input{background-color:var(--input)}.bg-muted{background-color:var(--af-surface-muted)}.bg-neutral-950\/40{background-color:#0a0a0a66}@supports (color:color-mix(in lab,red,red)){.bg-neutral-950\/40{background-color:color-mix(in oklab,var(--color-neutral-950) 40%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\/10{background-color:var(--af-color-primary)}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,var(--af-color-primary) 10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-surface{background-color:var(--af-surface)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-9{padding:calc(var(--spacing) * 9)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\[7px\]{padding-inline:7px}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.leading-none{--tw-leading:1;line-height:1}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.005em\]{--tw-tracking:-.005em;letter-spacing:-.005em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--af-color-primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:var(--af-shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:var(--af-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,border-color\,color\,transform\]{transition-property:background,border-color,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-has-\[\[data-orientation\=horizontal\]\]\/field\:text-balance:is(:where(.group\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.group-data-\[disabled\=true\]\/field\:opacity-50:is(:where(.group\/field)[data-disabled=true] *){opacity:.5}.group-data-\[variant\=outline\]\/field-group\:-mb-2:is(:where(.group\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--spacing) * -2)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-\[13px\]::file-selector-button{font-size:13px}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\:mt-0:last-child{margin-top:0}@media(hover:hover){.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary-hover:hover{background-color:var(--af-color-primary-hover)}.hover\:bg-secondary:hover{background-color:var(--secondary)}.hover\:bg-surface-muted:hover{background-color:var(--af-surface-muted)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:bg-surface-muted:focus{background-color:var(--af-surface-muted)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:text-foreground:focus{color:var(--foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 40%, transparent)}}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-px:active{--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.active\:scale-\[0\.99\]:active{scale:.99}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-surface-muted:disabled{background-color:var(--af-surface-muted)}.disabled\:text-muted-foreground:disabled{color:var(--muted-foreground)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-100:disabled{opacity:1}.has-\[\[data-state\=checked\]\]\:border-primary:has([data-state=checked]){border-color:var(--af-color-primary)}.has-\[\[data-state\=checked\]\]\:bg-primary\/5:has([data-state=checked]){background-color:var(--af-color-primary)}@supports (color:color-mix(in lab,red,red)){.has-\[\[data-state\=checked\]\]\:bg-primary\/5:has([data-state=checked]){background-color:color-mix(in oklab,var(--af-color-primary) 5%,transparent)}}.has-\[\>\[data-slot\=button-group\]\]\:gap-2:has(>[data-slot=button-group]){gap:calc(var(--spacing) * 2)}.has-\[\>\[data-slot\=checkbox-group\]\]\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--spacing) * 3)}.has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.has-\[\>\[data-slot\=field\]\]\:w-full:has(>[data-slot=field]){width:100%}.has-\[\>\[data-slot\=field\]\]\:flex-col:has(>[data-slot=field]){flex-direction:column}.has-\[\>\[data-slot\=field\]\]\:rounded-md:has(>[data-slot=field]){border-radius:var(--af-radius-md)}.has-\[\>\[data-slot\=field\]\]\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.has-\[\>\[data-slot\=radio-group\]\]\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--spacing) * 3)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[invalid\=true\]\:text-destructive[data-invalid=true]{color:var(--destructive)}.data-\[orientation\=vertical\]\:h-auto[data-orientation=vertical]{height:auto}.data-\[slot\=checkbox-group\]\:gap-3[data-slot=checkbox-group]{gap:calc(var(--spacing) * 3)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--af-color-primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[variant\=label\]\:text-sm[data-variant=label]{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.data-\[variant\=legend\]\:text-base[data-variant=legend]{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.nth-last-2\:-mt-1:nth-last-child(2){margin-top:calc(var(--spacing) * -1)}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-x-2{column-gap:calc(var(--spacing) * 2)}.sm\:rounded-lg{border-radius:var(--af-radius-lg)}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:w-full{width:100%}}@container field-group (min-width:28rem){.\@md\/field-group\:flex-row{flex-direction:row}.\@md\/field-group\:items-center{align-items:center}.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}@media(prefers-color-scheme:dark){.dark\:has-\[\[data-state\=checked\]\]\:bg-primary\/10:has([data-state=checked]){background-color:var(--af-color-primary)}@supports (color:color-mix(in lab,red,red)){.dark\:has-\[\[data-state\=checked\]\]\:bg-primary\/10:has([data-state=checked]){background-color:color-mix(in oklab,var(--af-color-primary) 10%,transparent)}}}.\[\&_\>\[data-slot\=field\]\]\:p-3>[data-slot=field]{padding:calc(var(--spacing) * 3)}.\[\&_p\]\:leading-relaxed p{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-5 svg:not([class*=size-]){width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.\[\&_svg\:not\(\[class\*\=\\\'size-\\\'\]\)\]\:size-4 svg:not([class*="'size-'"]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>\*\]\:w-full>*{width:100%}@container field-group (min-width:28rem){.\@md\/field-group\:\[\&\>\*\]\:w-auto>*{width:auto}}.\[\&\>\*\:focus-visible\]\:relative>:focus-visible{position:relative}.\[\&\>\*\:focus-visible\]\:z-10>:focus-visible{z-index:10}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-t-none>:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:rounded-l-none>:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-t-0>:not(:first-child){border-top-style:var(--tw-border-style);border-top-width:0}.\[\&\>\*\:not\(\:first-child\)\]\:border-l-0>:not(:first-child){border-left-style:var(--tw-border-style);border-left-width:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-r-none>:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.\[\&\>\*\:not\(\:last-child\)\]\:rounded-b-none>:not(:last-child){border-bottom-right-radius:0;border-bottom-left-radius:0}.\[\&\>\.sr-only\]\:w-auto>.sr-only{width:auto}.\[\&\>\[data-slot\=field-group\]\]\:gap-4>[data-slot=field-group]{gap:calc(var(--spacing) * 4)}.\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (min-width:28rem){.\@md\/field-group\:\[\&\>\[data-slot\=field-label\]\]\:flex-auto>[data-slot=field-label]{flex:auto}}.has-\[select\[aria-hidden\=true\]\:last-child\]\:\[\&\>\[data-slot\=select-trigger\]\:last-of-type\]\:rounded-r-md:has(:is(select[aria-hidden=true]:last-child))>[data-slot=select-trigger]:last-of-type{border-top-right-radius:var(--af-radius-md);border-bottom-right-radius:var(--af-radius-md)}.\[\&\>\[data-slot\=select-trigger\]\:not\(\[class\*\=\'w-\'\]\)\]\:w-fit>[data-slot=select-trigger]:not([class*=w-]){width:fit-content}.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}@container field-group (min-width:28rem){.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.\@md\/field-group\:has-\[\>\[data-slot\=field-content\]\]\:\[\&\>\[role\=checkbox\]\,\[role\=radio\]\]\:mt-px:has(>[data-slot=field-content]) [role=radio]{margin-top:1px}}.\[\&\>a\]\:underline>a{text-decoration-line:underline}.\[\&\>a\]\:underline-offset-4>a{text-underline-offset:4px}.\[\&\>a\:hover\]\:text-primary>a:hover{color:var(--af-color-primary)}.\[\&\>input\]\:flex-1>input{flex:1}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:top-3>svg{top:calc(var(--spacing) * 3)}.\[\&\>svg\]\:left-3>svg{left:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:var(--destructive)}.\[\&\>svg\]\:text-foreground>svg{color:var(--foreground)}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:calc(var(--spacing) * 7)}[data-variant=legend]+.\[\[data-variant\=legend\]\+\&\]\:-mt-1\.5{margin-top:calc(var(--spacing) * -1.5)}}:root{--background:var(--af-canvas);--foreground:var(--af-color-text);--card:var(--af-surface);--card-foreground:var(--af-color-text);--popover:var(--af-surface);--popover-foreground:var(--af-color-text);--primary-foreground:var(--af-on-primary);--secondary:var(--af-surface-muted);--secondary-foreground:var(--af-color-text);--muted-foreground:var(--af-color-muted);--accent:var(--af-surface-muted);--accent-foreground:var(--af-color-text);--destructive:var(--af-danger);--destructive-foreground:var(--af-on-danger);--input:var(--af-border);--ring:var(--af-brand-600);--radius:6px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}*,*:before,*:after{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text)}body{margin:0;min-width:320px;min-height:100vh;line-height:1.5;font-family:var(--af-font-sans);-webkit-font-smoothing:antialiased}::selection{background:color-mix(in srgb,var(--color-primary) 28%,transparent);color:var(--color-text)}button,input,select,textarea{font:inherit}a{color:var(--color-primary)}h1,h2,h3,p{margin-top:0}h1{margin-bottom:6px;font-size:22px;font-weight:600;line-height:28px;letter-spacing:-.022em}h2{font-size:15px;font-weight:600;line-height:22px;letter-spacing:-.01em}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--af-focus-ring);outline-offset:2px}.public-shell{display:grid;min-height:100vh;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:var(--color-bg)}.public-shell__brand{display:grid;align-content:center;gap:18px;padding:clamp(32px,6vw,72px);border-right:1px solid var(--color-border);background:radial-gradient(110% 70% at 0% 0%,color-mix(in srgb,var(--color-primary) 14%,transparent),transparent 55%),var(--color-surface)}.public-shell__brand-title{margin:0;font-size:28px;font-weight:600;letter-spacing:-.03em}.public-shell__points{display:grid;gap:10px;margin:0;padding:0;list-style:none;color:var(--color-text-muted);font-size:14px;line-height:1.55;max-width:28rem}.public-shell__points li{display:grid;grid-template-columns:18px 1fr;gap:10px;align-items:start}.public-shell__points li:before{content:"";width:6px;height:6px;margin-top:8px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 75%,var(--color-border))}.public-shell__panel{display:grid;place-items:center;padding:24px}.login-card{width:min(100%,380px);padding:28px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md)}.login-card__header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.login-card__header h1{margin:0;font-size:20px}.login-card>.muted{margin-bottom:20px;font-size:13px;line-height:1.55}.login-card__brand,.placeholder-panel__mark{display:none}.app-shell{display:grid;min-height:100vh;grid-template-columns:var(--sidebar-width) minmax(0,1fr);background:var(--color-bg)}.topbar{display:none}.brand-block{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:2px 6px;color:var(--color-text);text-decoration:none}.brand-block strong{display:block;font-size:13px;font-weight:600;letter-spacing:-.02em}.brand-block small{display:block;color:var(--color-text-muted);font-size:11px;font-weight:500;letter-spacing:0}.sidebar{display:flex;flex-direction:column;min-height:100vh;padding:16px 10px 12px;border-right:1px solid var(--color-border);background:var(--color-surface)}.sidebar nav{display:grid;gap:2px}.sidebar nav a{display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:13px;font-weight:500;letter-spacing:-.005em;text-decoration:none;transition:background 80ms ease-out,color 80ms ease-out}.sidebar nav a:hover{background:var(--color-surface-muted);color:var(--color-text)}.sidebar nav a.nav-link--active{background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));color:var(--color-text);font-weight:600;box-shadow:inset 3px 0 0 var(--color-primary),inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 18%,var(--color-border))}.sidebar__footer{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--color-border)}.sidebar__identity{display:flex;min-width:0;flex:1;align-items:center;gap:8px;padding-left:4px}.sidebar__avatar{display:inline-flex;width:28px;height:28px;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);background:var(--color-surface-muted)}.sidebar__avatar svg{width:16px;height:16px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sidebar__user{min-width:0;overflow:hidden;color:var(--color-text);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.logout-button{width:32px;min-height:32px;flex:0 0 32px;padding:0}.logout-button svg{width:17px;height:17px;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.page-content{min-width:0;padding:24px clamp(18px,2.5vw,32px) 48px;background:var(--color-bg)}.page-content>*{width:min(100%,var(--content-max))}.page-stack{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);gap:16px}.page-stack>*{min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:2px}.page-header h1{margin-bottom:4px;font-size:20px;line-height:26px;letter-spacing:-.025em}.page-header .muted,.page-header>div>p{margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.5}.surface{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none}.loading-panel{min-height:160px;padding:32px;color:var(--color-text-muted);text-align:center;font-size:14px}.data-surface{overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:10px 14px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;font-size:13px}.data-table th{background:transparent;color:var(--color-text-muted);font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:uppercase}.data-table tbody tr{transition:background 80ms ease-out}.data-table tbody tr:hover{background:var(--color-surface-muted)}.data-table tr:last-child td{border-bottom:0}.data-table td>small,.data-table td>span{display:block;margin-top:4px;color:var(--color-text-muted);font-size:12px}.item-title,.back-link{color:var(--color-text);font-weight:600;text-decoration:none}.item-title:hover,.back-link:hover{color:var(--color-primary)}.back-link{display:inline-flex;margin-bottom:10px;color:var(--color-text-muted);font-size:13px;font-weight:500}.mono{font-family:var(--af-font-mono);font-size:12px;overflow-wrap:anywhere}.inline-warning,.warning-text,.success-text{padding:10px 12px;border-radius:var(--radius-sm);background:var(--af-warning-soft);color:var(--color-warning);font-size:13px}.success-text{background:var(--af-success-soft);color:var(--color-success)}.detail-section{padding:16px 18px}.section-heading,.action-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.section-heading h2{margin-bottom:0}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;padding:1px;margin:16px 0;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.detail-grid>div{min-width:0;padding:12px 14px;background:var(--color-surface)}.detail-grid dt{margin-bottom:4px;color:var(--color-text-muted);font-size:12px;font-weight:500}.detail-grid dd{margin:0;overflow-wrap:anywhere;font-size:14px;font-weight:600}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.health-grid>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--af-success-soft);color:var(--color-success);font-size:13px;font-weight:600}.health-grid .health-item--bad{background:var(--af-danger-soft);color:var(--color-danger)}.action-row{flex-wrap:wrap;justify-content:flex-start;margin-top:16px;gap:8px}.current-task-card,.attempt-card{padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.current-task-card .progress{margin-top:14px}.attempt-list{display:grid;gap:10px;margin-top:14px}.attempt-card p,.attempt-card small{margin:6px 0 0}.error-summary{color:var(--color-danger);font-size:13px}.secret-value,.command-block{width:100%;padding:12px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--af-code-bg);color:var(--af-code-fg);font-family:var(--af-font-mono);font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.command-block{overflow-x:auto;white-space:pre}.placeholder-panel{display:grid;min-height:280px;place-items:center;align-content:center;padding:40px;text-align:center}.form-stack{display:grid;gap:16px;margin-top:20px}.field{display:grid;gap:6px}.field__label{font-size:13px;font-weight:600}.input{width:100%;min-height:34px;padding:6px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:13px;transition:border-color 80ms ease-out,box-shadow 80ms ease-out}.input--textarea{min-height:88px;padding:8px 10px;line-height:1.5;resize:vertical}.input:hover{border-color:var(--af-border-strong)}.input:focus{border-color:color-mix(in srgb,var(--color-primary) 55%,var(--color-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent)}.input--error{border-color:var(--color-danger)}.skeleton-panel{display:grid;gap:12px;padding:20px 16px}.skeleton-line{height:14px;border-radius:6px;background:linear-gradient(90deg,var(--color-surface-muted) 0%,color-mix(in srgb,var(--color-border) 65%,transparent) 50%,var(--color-surface-muted) 100%);background-size:200% 100%;animation:skeleton-shine 1.2s ease-in-out infinite}.skeleton-line--short{width:42%}@keyframes skeleton-shine{0%{background-position:100% 0}to{background-position:-100% 0}}.field__error{color:var(--color-danger);font-size:12px}.not-found-page,.fatal-config{display:grid;min-height:100vh;place-items:center;padding:24px}.fatal-config{align-content:center;text-align:center}.menu-button,.nav-backdrop{display:none}.article-reading{font-size:16px;line-height:1.75}.article-reading h1,.article-reading h2,.article-reading h3{letter-spacing:-.02em}.article-reading img{max-width:100%;height:auto;border-radius:var(--radius-sm)}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skeleton-line{animation:none}}@media(max-width:1199px){.app-shell{--sidebar-width: 200px}}@media(max-width:767px){.public-shell{grid-template-columns:1fr}.public-shell__brand{display:flex;flex-direction:column;gap:8px;padding:28px 24px 8px;border-right:0;background:var(--color-bg)}.public-shell__brand-title{font-size:20px}.public-shell__points{display:none}.public-shell__panel{padding:12px 24px 32px;align-content:start}.app-shell{display:block;padding-top:var(--topbar-height)}.topbar{position:fixed;z-index:30;inset:0 0 auto;display:flex;align-items:center;gap:10px;height:var(--topbar-height);padding:0 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.topbar .brand-block{margin:0}.topbar .brand-block small{display:none}.menu-button{display:inline-flex}.user-name{display:none}.topbar-spacer{flex:1}.sidebar{position:fixed;z-index:50;inset:var(--topbar-height) auto 0 0;width:min(84vw,var(--sidebar-width));min-height:auto;transform:translate(-100%);transition:transform .18s ease-out;box-shadow:var(--shadow-lg)}.sidebar--open{transform:translate(0)}.nav-backdrop{position:fixed;z-index:40;inset:var(--topbar-height) 0 0;display:block;width:100%;border:0;background:#151a1e66}.page-content{padding:20px 16px 32px}.page-header{align-items:stretch;flex-direction:column}.login-card{padding:24px 20px}.data-surface{overflow:visible;border:0;background:transparent;box-shadow:none}.data-table,.data-table tbody,.data-table tr,.data-table td{display:block}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.data-table tr{margin-bottom:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.data-table tbody tr:hover{background:var(--color-surface)}.data-table td{display:grid;grid-template-columns:minmax(88px,.36fr) minmax(0,1fr);gap:10px;padding:12px 14px}.data-table td:before{color:var(--color-text-muted);content:attr(data-label);font-size:12px;font-weight:600}.section-heading{align-items:stretch;flex-direction:column}}.muted{color:var(--color-text-muted)}.page-kicker{margin:0 0 6px;color:var(--color-text-muted);font-size:13px;font-weight:500;letter-spacing:0;line-height:1.4}.eyebrow{margin:0 0 6px;color:var(--color-text-muted);font-size:13px;font-weight:500;letter-spacing:0;text-transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tabular{font-variant-numeric:tabular-nums}
