@layer components{.nb-toast__viewport{gap:var(--space-5);width:360px;max-width:100vw;padding:var(--space-10);z-index:var(--z-toast);outline:none;flex-direction:column;margin:0;list-style:none;display:flex;position:fixed;bottom:0;right:0}.nb-toast{align-items:flex-start;gap:var(--space-5);background:var(--card);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow-lg);padding:var(--space-6) var(--space-7);font-size:var(--text-lg);color:var(--ink-900);display:flex;position:relative;overflow:hidden}.nb-toast:before{content:"";width:3px;position:absolute;top:0;bottom:0;left:0}.nb-toast--success:before{background:var(--ok)}.nb-toast--error:before{background:var(--danger)}.nb-toast--warning:before{background:var(--warn)}.nb-toast--info:before{background:var(--info)}.nb-toast .nb-toast__icon{font-size:var(--text-3xl);flex-shrink:0}.nb-toast--success .nb-toast__icon{color:var(--ok)}.nb-toast--error .nb-toast__icon{color:var(--danger)}.nb-toast--warning .nb-toast__icon{color:var(--warn)}.nb-toast--info .nb-toast__icon{color:var(--info)}.nb-toast .nb-toast__msg{flex:1;margin:0;line-height:1.4}.nb-toast .nb-toast__close{color:var(--ink-500);cursor:pointer;padding:var(--space-1);border-radius:var(--r-xs);background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.nb-toast .nb-toast__close:hover{color:var(--ink-700);background:var(--bg)}.nb-toast[data-state=open]{animation:nb-toast-in .18s var(--ease-out-quint)}.nb-toast[data-state=closed]{animation:.18s ease-in nb-toast-out}.nb-toast[data-swipe=move]{transform:translateX(var(--radix-toast-swipe-move-x))}.nb-toast[data-swipe=end]{animation:.18s ease-in nb-toast-out}@keyframes nb-toast-in{0%{opacity:0;transform:translate(110%)}to{opacity:1;transform:translate(0)}}@keyframes nb-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(110%)}}.nb-dialog__overlay,.nb-drawer__overlay{background:var(--scrim);position:fixed;inset:0}.nb-dialog__overlay{-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal)}.nb-dialog__overlay[data-state=open]{animation:.18s fade}.nb-dialog__overlay[data-state=closed]{animation:.18s fade-out}.nb-dialog{background:var(--card);border:1px solid var(--line);border-radius:var(--overlay-radius);width:min(440px,100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);z-index:calc(var(--z-modal) + 1);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.nb-dialog[data-state=open]{animation:nb-dialog-in .22s var(--ease-out-quint)}.nb-dialog[data-state=closed]{animation:.18s ease-in nb-dialog-out}.nb-dialog--md{width:min(560px,100vw - 32px)}.nb-dialog--lg{width:min(680px,100vw - 32px)}.nb-dialog--wide{width:min(920px,100vw - 32px)}.nb-dialog__head,.nb-drawer__head{justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding:var(--panel-padding);border-bottom:1px solid var(--line);flex-shrink:0;display:flex}.nb-dialog__head>div,.nb-drawer__heading{min-width:0}.nb-dialog__title,.nb-drawer__title{font-size:var(--section-title-size);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);color:var(--ink-900);overflow-wrap:anywhere}.nb-dialog__title{margin:0 0 var(--space-1);line-height:var(--leading-snug)}.nb-dialog__desc,.nb-drawer__desc{margin:var(--space-3) 0 0;font-size:var(--text-lg);color:var(--ink-500);overflow-wrap:anywhere}.nb-dialog__close,.nb-drawer__close{width:var(--control-h);height:var(--control-h);border-radius:var(--control-radius);color:var(--ink-500);cursor:pointer;background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.nb-dialog__close:hover,.nb-drawer__close:hover{background:var(--surface-hover)}.nb-dialog__close{margin:-4px -6px 0 0}.nb-dialog__close:disabled{opacity:.5;cursor:default;background:0 0}.nb-dialog__body,.nb-drawer__body{min-height:0;padding:var(--panel-padding);overscroll-behavior:contain;overflow-y:auto}.nb-dialog__body,.nb-dialog__form{gap:var(--space-8);flex-direction:column;display:flex}.nb-dialog__foot,.nb-drawer__foot{border-top:1px solid var(--line);background:var(--surface-subtle);gap:var(--space-4);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;display:flex}.nb-dialog__foot{padding:var(--space-6) var(--panel-padding);border-radius:0 0 var(--overlay-radius) var(--overlay-radius)}@keyframes nb-dialog-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}}@keyframes nb-dialog-out{to{opacity:0;transform:translate(-50%,calc(6px - 50%))}}@media (prefers-reduced-motion:reduce){.nb-dialog__overlay[data-state],.nb-dialog[data-state],.nb-drawer__overlay[data-state],.nb-drawer[data-state]{animation:none!important}}.nb-drawer__overlay{z-index:calc(var(--z-modal) - 2)}.nb-drawer__overlay[data-state=open]{animation:fade var(--dur-med) ease}.nb-drawer__overlay[data-state=closed]{animation:fade-out var(--dur-fast) ease}.nb-drawer{background:var(--card);border-left:1px solid var(--line);width:min(760px,100vw);height:100dvh;box-shadow:var(--shadow-lg);z-index:calc(var(--z-modal) - 1);flex-direction:column;display:flex;position:fixed;inset:0 0 0 auto}.nb-drawer[data-state=open]{animation:nb-drawer-in var(--dur-slow) var(--ease-out-quint)}.nb-drawer[data-state=closed]{animation:nb-drawer-out var(--dur-med) ease-in}.nb-drawer__title{margin:0}.nb-drawer__close{margin:-4px -4px 0 0}.nb-drawer__close:hover{color:var(--ink-900)}.nb-drawer__body{flex:1}.nb-drawer__foot{padding:var(--space-6) var(--panel-padding);padding-bottom:max(var(--space-6), env(safe-area-inset-bottom))}@keyframes nb-drawer-in{0%{transform:translateX(var(--drawer-enter-from,100%))}}@keyframes nb-drawer-out{to{transform:translateX(var(--drawer-enter-from,100%))}}@media (width<=640px){.nb-drawer{border-left:0}}.nb-avatar{border-radius:var(--r-full);background:var(--brand-50);color:var(--brand-600);font-weight:var(--weight-semibold);border:1px solid var(--brand-100);flex-shrink:0;place-items:center;display:inline-grid;overflow:hidden}.nb-avatar__img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.nb-avatar__fallback{place-items:center;width:100%;height:100%;display:grid}.skip-link{top:var(--space-4);left:var(--space-4);z-index:var(--z-tooltip);padding:var(--space-5) var(--space-8);border-radius:var(--r-base);background:var(--card);color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(calc(-100% - var(--space-8)));position:fixed}.skip-link:focus{transform:translateY(0)}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:100dvh;min-height:100dvh;display:grid}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-ink);border-right:1px solid var(--sidebar-line);flex-direction:column;min-height:0;display:flex;overflow:hidden}.sidebar-brand{align-items:center;gap:var(--space-5);padding:var(--space-8);border-bottom:1px solid var(--sidebar-line);flex-shrink:0;display:flex}.sidebar-brand:focus-visible{outline-color:var(--brand-300);outline-offset:-3px}.sidebar-brand .logo{width:var(--card-icon-size);height:var(--card-icon-size);padding:var(--space-2);border-radius:var(--r-md);background:var(--card);place-items:center;display:grid}.sidebar-brand .logo img{object-fit:contain;width:100%;height:100%}.sidebar-brand .name{font-weight:var(--weight-semibold);font-size:var(--text-xl);letter-spacing:var(--tracking-snug);color:var(--ink-on-accent)}.sidebar-brand .sub{font-size:var(--text-2xs);color:var(--sidebar-muted);letter-spacing:var(--tracking-wider);text-transform:uppercase;margin-top:1px}.sidebar-nav{padding:var(--space-5) var(--space-5);flex:1;overflow:auto}.sidebar-section-label{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-muted);padding:var(--space-6) var(--space-5) var(--space-3);font-weight:var(--weight-medium)}.sidebar-nav a.nav-item{align-items:center;gap:var(--space-5);width:100%;color:var(--sidebar-ink);padding:var(--space-4) var(--space-5);min-height:var(--control-h-lg);border-radius:var(--r-base);font-size:var(--text-lg);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast);background:0 0;border:0;display:flex;position:relative}.sidebar-nav a.nav-item:hover{background:var(--sidebar-hover);color:var(--ink-on-accent)}.sidebar-nav a.nav-item:focus-visible{outline-color:var(--brand-300);outline-offset:-2px}.sidebar-nav a.nav-item.active{background:var(--sidebar-active);color:var(--ink-on-accent);box-shadow:inset 0 0 0 1px var(--sidebar-active-line);font-weight:var(--weight-semibold)}.sidebar-nav a.nav-item.active .nb-icon{color:var(--sidebar-active-ink)}.sidebar-nav a.nav-item .nb-icon{font-size:var(--text-4xl);color:var(--sidebar-muted)}.sidebar-foot{padding:var(--space-6) var(--space-5);border-top:1px solid var(--sidebar-line);flex-shrink:0}.sidebar-user{align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);border-radius:var(--r-base);cursor:pointer;transition:background var(--dur-fast);display:flex}.sidebar-user:hover{background:var(--sidebar-hover)}.sidebar-user .who{font-size:var(--text-md);color:var(--ink-on-accent);font-weight:var(--weight-medium);line-height:var(--leading-tight)}.sidebar-user .role{font-size:var(--text-2xs);color:var(--sidebar-muted)}.main{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:var(--space-7);padding:0 var(--page-gutter);flex-shrink:0;display:flex}.topbar .crumbs{min-width:0;font-size:var(--text-lg);color:var(--ink-500);flex:1}.topbar .crumbs ol{align-items:center;gap:var(--space-3);margin:0;padding:0;list-style:none;display:flex}.topbar .crumbs li{align-items:center;gap:var(--space-3);min-width:0;display:flex}.topbar .crumbs a,.topbar .crumbs .current{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar .crumbs a{color:var(--ink-500);cursor:pointer}.topbar .crumbs a:hover{color:var(--ink-900)}.topbar .crumbs .current{color:var(--ink-900);font-weight:var(--weight-medium)}.topbar .crumbs .sep{color:var(--ink-300);flex-shrink:0}.topbar .search{align-items:center;gap:var(--space-4);background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:var(--control-radius);padding:var(--space-3) var(--space-5);width:260px;min-height:var(--control-h);color:var(--ink-500);font-size:var(--text-md);transition:background var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast);display:flex}.topbar .search:hover{border-color:var(--line-strong);background:var(--card)}.topbar .search:focus-within{border-color:var(--brand);background:var(--card);box-shadow:0 0 0 var(--ring) var(--brand-ring)}.topbar .search .nb-icon{font-size:var(--text-3xl)}.topbar .search input{min-width:0;color:var(--ink-900);font-size:var(--text-md);background:0 0;border:0;outline:0;flex:1}.topbar .search input::placeholder{color:var(--ink-500)}.topbar .search .kbd{white-space:nowrap;flex-shrink:0;margin-left:auto}.scroll{scrollbar-gutter:stable;min-height:0;scroll-padding-block:var(--space-8);flex:1;overflow:auto}.scroll:focus-visible{outline-offset:-3px}.page{max-width:1440px;padding:var(--space-14) var(--page-gutter) var(--space-16);margin:0 auto}.page-workspace{gap:var(--annot-gap);height:100%;min-height:560px;padding:var(--space-6) var(--space-8);--canvas-bg:var(--canvas-dark);--canvas-checker:var(--canvas-dark-checker);flex-direction:column;display:flex;container:workspace/inline-size}.scroll:has(>.page-workspace){scrollbar-gutter:auto}@media (width>=901px){.app:has(.page-workspace[data-focus]){grid-template-columns:minmax(0,1fr)}:is(.app:has(.page-workspace[data-focus])>.sidebar,.main:has(.page-workspace[data-focus])>.topbar){display:none}}@media (width<=800px){.page-workspace{height:auto;min-height:0}}.page-hero{justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--section-gap);flex-wrap:wrap;display:flex}.page-hero__heading{overflow-wrap:anywhere;flex:280px;min-width:0}.page-hero__actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-hero h1{font-size:var(--page-title-size);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);font-weight:var(--weight-semibold);margin:0 0 var(--space-3)}.page-hero .lead{color:var(--ink-500);font-size:var(--text-base);max-width:620px;margin:0}.project-search{flex-shrink:0;position:relative}.project-search__results{top:calc(100% + var(--space-3));background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);width:320px;box-shadow:var(--shadow-md);padding:var(--space-3);z-index:var(--z-dropdown);position:absolute;right:0}.project-search__row{justify-content:space-between;align-items:center;gap:var(--space-5);width:100%;min-height:var(--control-h-lg);padding:var(--space-4) var(--space-5);border-radius:var(--r-base);color:var(--ink-900);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.project-search__row:hover,.project-search__row[aria-selected=true]{background:var(--brand-50)}.project-search__name{font-size:var(--text-lg);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-search__empty{padding:var(--space-4) var(--space-5)}.topbar .navigation-toggle{display:none}.mobile-navigation{--drawer-enter-from:-100%;background:var(--sidebar-bg);border-color:var(--sidebar-line);width:min(320px,100vw);inset:0 auto 0 0}.mobile-navigation .nb-drawer__head{background:var(--sidebar-bg);border-color:var(--sidebar-line)}.mobile-navigation .nb-drawer__title,.mobile-navigation .nb-drawer__close{color:var(--ink-on-accent)}.mobile-navigation .nb-drawer__close:hover{background:var(--sidebar-hover)}.mobile-navigation .nb-drawer__body{padding:0;display:flex}.mobile-navigation .sidebar{border-right:0;flex:1}@media (width<=900px){.app{grid-template-columns:minmax(0,1fr)}.app>.sidebar{display:none}.topbar .navigation-toggle{flex-shrink:0;display:inline-flex}.topbar{padding:0 var(--space-6);gap:var(--space-4)}.page{padding-top:var(--space-8)}}@media (width<=600px){.topbar{height:auto;padding-block:var(--space-4);flex-wrap:wrap}.topbar .crumbs{min-width:0}.topbar .project-search{flex-basis:100%;min-width:0}.topbar .project-search .search,.project-search__results,.page-hero__actions{width:100%}}.btn{min-height:var(--control-h);justify-content:center;align-items:center;gap:var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-medium);padding:var(--space-3) var(--space-6);border-radius:var(--control-radius);color:var(--ink-700);cursor:pointer;transition:background var(--dur-fast), border-color var(--dur-fast), box-shadow var(--dur-fast), color var(--dur-fast);white-space:nowrap;line-height:var(--leading-snug);background:0 0;border:1px solid #0000;display:inline-flex}.btn:hover{background:var(--surface-hover)}.btn .nb-icon{font-size:var(--text-3xl)}.btn.primary{background:var(--brand);color:var(--ink-on-accent);border-color:var(--brand);box-shadow:var(--shadow-xs)}.btn.primary:hover{background:var(--brand-600);border-color:var(--brand-600)}.btn.ghost{border-color:var(--control-border);background:var(--card)}.btn.ghost:hover{background:var(--surface-hover);border-color:var(--line-strong)}.btn.danger{color:var(--danger-700)}.btn.danger:hover{background:var(--danger-50)}.btn.danger-solid{background:var(--danger-700);color:var(--ink-on-accent)}.btn.danger-solid:hover{background:color-mix(in srgb, var(--danger-700) 88%, #000)}.btn.accent{background:var(--accent);color:var(--ink-900)}.btn.accent:hover{background:var(--accent-600)}.btn.sm{min-height:var(--control-h-sm);padding:var(--space-3) var(--space-5);font-size:var(--text-base)}.btn.lg{min-height:var(--control-h-lg);padding:var(--space-4) var(--space-7);font-size:var(--text-xl)}.btn:focus-visible{box-shadow:0 0 0 4px var(--brand-ring)}.btn[disabled],.btn.disabled{opacity:.5;pointer-events:none}:where(.icon-btn){width:var(--control-h-sm);height:var(--control-h-sm);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}:where(.card){background:var(--card);border:1px solid var(--line);border-radius:var(--card-radius);min-width:0;box-shadow:var(--shadow-sm);flex-direction:column;display:flex}:where(.card-header){align-items:center;gap:var(--space-4);min-width:0;min-height:48px;padding:var(--space-4) var(--card-padding);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}:where(.card-header) h3{min-width:0;font-size:var(--card-title-size);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);overflow-wrap:anywhere;margin:0}:where(.card-header) .sub{color:var(--ink-500);font-size:var(--card-description-size);font-weight:var(--weight-normal);overflow-wrap:anywhere}:where(.card-header) .spacer{flex:1}:where(.card-header>.nb-icon){color:var(--ink-500);flex-shrink:0}:where(.card-body){min-width:0;padding:var(--card-padding);flex:1}:where(.card-footer){align-items:center;gap:var(--space-4) var(--space-6);padding:var(--space-4) var(--card-padding);border-top:1px solid var(--line);border-radius:0 0 var(--card-radius) var(--card-radius);background:var(--surface-subtle);font-size:var(--text-base);color:var(--ink-500);flex-wrap:wrap;margin-top:auto;display:flex}:where(.card-header--tight) h3{flex:180px}:where(.card-header--tight)>.muted{overflow-wrap:anywhere;min-width:0}.card-description,:where(.project-card) .desc{color:var(--ink-500);font-size:var(--card-description-size);font-weight:var(--weight-normal);line-height:var(--leading-normal);overflow-wrap:anywhere;margin:0}.card-label{color:var(--ink-500);font-size:var(--card-label-size);font-weight:var(--weight-medium)}.card-value{color:var(--ink-900);font-size:var(--card-value-size);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.card-facts{gap:var(--space-4) var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.card-facts>div{min-width:0}.card-facts dt{color:var(--ink-500);font-size:var(--card-label-size);font-weight:var(--weight-medium);line-height:var(--leading-normal)}.card-facts dd{margin:var(--space-1) 0 0;color:var(--ink-900);font-size:var(--card-value-size);font-weight:var(--weight-medium);line-height:var(--leading-normal);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.card--clickable{--lift-border:var(--brand-100);cursor:pointer;transition:box-shadow var(--dur-fast), border-color var(--dur-fast)}.card--clickable:hover{box-shadow:var(--shadow-md);border-color:var(--lift-border)}.card-grid{gap:var(--card-gap);grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));align-items:stretch;display:grid}.card-grid--fit{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}.stat-grid{gap:var(--card-gap);margin-bottom:var(--section-gap);grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));display:grid}.stat-grid>*{min-width:0;height:100%}@media (width<=600px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.field{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.field label,.field>span:where(:not(.field-error)){font-size:var(--text-md);font-weight:var(--weight-medium);color:var(--ink-700)}.field .hint{font-size:var(--text-sm);color:var(--ink-500)}.field-error{font-size:var(--text-sm);color:var(--danger-700)}.input,.select,.textarea{background:var(--card);border:1px solid var(--control-border);border-radius:var(--control-radius);padding:var(--space-3) var(--space-5);font-size:var(--text-lg);color:var(--ink-900);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);outline:none;width:100%;min-width:0}.input::placeholder,.select::placeholder,.textarea::placeholder{color:var(--ink-500);opacity:1}.input:hover:not(:disabled):not(:focus),.select:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus){border-color:var(--line-strong)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-subtle);color:var(--ink-500);cursor:not-allowed}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 var(--ring) var(--brand-ring)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:none}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus,.select[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:0 0 0 var(--ring) var(--danger-50)}.textarea{resize:vertical;min-height:80px}.input,.select{min-height:var(--control-h)}.select--sm{min-height:var(--control-h-sm);width:auto;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.kbd{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--r-xs);background:var(--card);border:1px solid var(--line);color:var(--ink-500)}.form-grid{gap:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.form-grid.cols-1{grid-template-columns:1fr}@media (width<=600px){.form-grid{grid-template-columns:minmax(0,1fr)}}.table-container{border-radius:inherit;max-width:100%;overflow-x:auto}.table-container:focus-visible{outline-offset:-2px}.table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.table th,.table td{text-align:left;padding:var(--space-5) var(--space-6);font-size:var(--text-lg);border-bottom:1px solid var(--line)}.table th:first-child,.table td:first-child{padding-left:var(--card-padding)}.table th:last-child,.table td:last-child{padding-right:var(--card-padding)}.table th{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--ink-500);background:var(--surface-subtle);line-height:var(--leading-normal)}.table tr:last-child td{border-bottom:0}.table :where(tr:hover,tr:focus-within)>:where(td){background:var(--surface-hover)}.table .is-selected>td{background:var(--brand-50)}.table .mono{font-family:var(--font-mono);font-size:var(--text-base)}.table-link{border-radius:var(--r-2xs);color:var(--ink-900);text-align:left;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;display:block}.table-link:hover{color:var(--brand);text-underline-offset:3px;text-decoration:underline}.table-link:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.notice{background:var(--brand-50);border:1px solid var(--brand-100);border-radius:var(--r-md);padding:var(--space-5) var(--space-6);align-items:flex-start;gap:var(--space-5);color:var(--brand-600);font-size:var(--text-md);display:flex;position:relative;overflow:hidden}.notice:before{content:"";background:var(--brand);width:3px;position:absolute;top:0;bottom:0;left:0}.notice .nb-icon{font-size:var(--text-3xl);flex-shrink:0}.notice.danger{background:var(--danger-50);border-color:var(--danger-100);color:var(--danger-700)}.notice.danger:before{background:var(--danger)}.notice.warn{background:var(--warn-50);border-color:var(--warn-100);color:var(--warn-700)}.notice.warn:before{background:var(--warn)}.empty{margin-top:var(--space-8);padding:var(--space-18) var(--panel-padding);text-align:center;border:1px solid var(--line);border-radius:var(--card-radius);background:var(--card)}.empty .ico{border-radius:var(--r-lg);width:40px;height:40px;margin:0 auto var(--space-6);background:var(--brand-50);color:var(--brand);border:1px solid var(--brand-100);place-items:center;display:grid}.empty .ico .nb-icon{font-size:var(--text-4xl)}.empty h4{margin:0 0 var(--space-3);font-size:var(--section-title-size);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);overflow-wrap:anywhere}.empty p{margin:0 auto var(--space-6);color:var(--ink-500);font-size:var(--text-lg);max-width:360px}.card>.empty,td>.empty{background:0 0;border:0;margin:0}.empty[data-accent] .ico{background:var(--accent-50);color:var(--accent-600);border-color:var(--accent-100)}.loading-state{justify-content:center;align-items:center;gap:var(--space-5);display:flex}.loading-state h4{margin:0}.pill{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-4);border-radius:var(--r-full);background:var(--surface-subtle);color:var(--ink-600);border:1px solid var(--line);line-height:var(--leading-normal);font-variant-numeric:tabular-nums;display:inline-flex}.pill .dot{border-radius:var(--r-full);background:currentColor;width:6px;height:6px}.pill.live{color:var(--ok-700);background:var(--ok-50);border-color:var(--ok-100)}.pill.training{color:var(--brand);background:var(--brand-50);border-color:var(--brand-100)}.pill.training .dot{animation:1.2s infinite pulse}.pill.best{color:var(--brand-600);background:var(--brand-50);border-color:var(--brand-100);font-weight:var(--weight-semibold)}.pill.brand{color:var(--brand);background:var(--brand-50);border-color:var(--brand-100)}.pill.draft{color:var(--ink-500)}.pill.failed{color:var(--danger-700);background:var(--danger-50);border-color:var(--danger-100)}.pill.pending{color:var(--warn-700);background:var(--warn-50);border-color:var(--warn-100)}.seg{background:var(--surface-hover);border:1px solid var(--line);border-radius:var(--control-radius);max-width:100%;padding:var(--space-1);min-height:var(--control-h);flex-wrap:wrap;display:inline-flex}.seg button{align-items:center;gap:var(--space-2);min-height:calc(var(--control-h) - 6px);padding:var(--space-3) var(--space-6);font-size:var(--text-md);font-weight:var(--weight-medium);border-radius:var(--r-sm);color:var(--ink-500);cursor:pointer;transition:background var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast);background:0 0;border:0;display:inline-flex}.seg button:hover:not(:disabled):not([data-state=on]):not([data-state=active]){background:var(--surface-subtle);color:var(--ink-700)}.seg button[data-state=on],.seg button[data-state=active]{background:var(--card);color:var(--brand-600);box-shadow:var(--shadow-xs), inset 0 0 0 1px var(--brand-100)}.seg button:disabled{opacity:.45;cursor:not-allowed}.seg button:focus-visible{z-index:1;position:relative}.seg.full{width:100%;display:flex}.seg.full button{text-transform:capitalize;flex:1;justify-content:center}.stepper{overscroll-behavior-x:contain;min-width:0;max-width:100%;scroll-padding-inline:var(--space-9);margin:0 0 var(--section-gap);padding:var(--space-4) var(--space-6);background:var(--card);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow-xs);align-items:center;gap:0;display:flex;overflow-x:auto}.stepper .step{align-items:center;gap:var(--space-5);padding:var(--space-2) var(--space-4);min-height:var(--control-h-lg);border-radius:var(--r-base);cursor:pointer;transition:background var(--dur-fast);font:inherit;color:inherit;text-align:left;background:0 0;border:0;flex:1 0 132px;display:flex;position:relative}.stepper .step:hover{background:var(--surface-hover)}.stepper .step .step-num{border-radius:var(--r-full);width:24px;height:24px;font-size:var(--text-base);font-weight:var(--weight-semibold);background:var(--bg);color:var(--ink-500);border:1px solid var(--line);flex-shrink:0;place-items:center;display:grid}.stepper .step.done .step-num{background:var(--ok-700);color:var(--ink-on-accent);border-color:var(--ok-700)}.stepper .step.active .step-num{background:var(--brand);color:var(--ink-on-accent);border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-ring)}.stepper .step.active{background:var(--brand-50)}.stepper .step .step-meta{line-height:var(--leading-snug);gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.stepper .step .step-meta .name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink-900)}.stepper .step .step-meta .role{font-size:var(--text-xs);color:var(--ink-500)}.stepper .connector{background:var(--line);flex:0 0 18px;height:1px}[data-accent] .stepper .step.active .step-num{background:var(--accent);border-color:var(--accent);color:var(--ink-900);box-shadow:0 0 0 4px var(--accent-50)}[data-accent] .stepper .step.active{background:var(--accent-50)}[data-accent] .stepper .step.done .step-num{background:var(--accent);border-color:var(--accent);color:var(--ink-900)}.step-dots{align-items:center;gap:var(--space-3);display:flex}.step-dots__dot{border-radius:var(--r-full);background:var(--line);flex:1;height:4px}.step-dots__dot.done{background:var(--accent)}.project-card{background:var(--card);border:1px solid var(--line);border-radius:var(--card-radius);width:100%;min-width:0;box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;transition:box-shadow var(--dur-fast), border-color var(--dur-fast);flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-md);border-color:var(--lift-border,var(--accent-100))}.project-card--static,.project-card.resource-card{cursor:default;--lift-border:var(--line-strong)}.project-card .accent-bar{background:var(--accent);flex-shrink:0;height:3px}.project-card .accent-bar--muted{background:var(--line)}.project-card .body{gap:var(--space-6);min-width:0;padding:var(--card-padding);flex-direction:column;flex:1;display:flex}.project-card .head{align-items:flex-start;gap:var(--space-6);flex:1;min-width:0;display:flex}.project-card .titles{flex:1;min-width:0}.project-card .top{justify-content:space-between;align-items:flex-start;gap:var(--space-6);min-width:0;display:flex}.project-card h3{font-size:var(--card-title-size);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-snug);overflow-wrap:anywhere;margin:0}.project-card .id{margin-top:var(--space-2);color:var(--ink-500);font-family:var(--font-mono);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-card .project-card__owner{min-width:0;display:flex}.project-card .project-card__owner .pill{min-width:0;max-width:100%}.project-card .project-card__owner .pill .dot{display:none}.project-card .project-card__owner .pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-card .meta{align-items:center;gap:var(--space-4) var(--space-6);min-height:48px;padding:var(--space-4) var(--card-padding);border-top:1px solid var(--line);background:var(--surface-subtle);color:var(--ink-500);font-size:var(--text-base);flex-wrap:wrap;display:flex}.project-card .meta .nb-icon{flex-shrink:0}.project-card .meta .spacer{flex:1}.resource-card{cursor:default;container-type:inline-size}.resource-card .body{gap:var(--space-5)}.resource-card .id{white-space:normal;overflow-wrap:anywhere}.resource-card__heading{align-items:flex-start;gap:var(--space-5);width:100%;min-width:0;display:flex}.resource-card__identity{flex:1;min-width:0}.resource-card__logo{width:var(--card-icon-size);height:var(--card-icon-size);border-radius:var(--control-radius);background:var(--accent-50);border:1px solid var(--accent-100);flex-shrink:0;place-items:center;display:grid}.resource-card__logo-icon{color:var(--accent-700)}.resource-card__title{overflow-wrap:anywhere}.resource-card__stats dd{font-variant-numeric:tabular-nums}.resource-card__status{align-items:center;gap:var(--space-3);width:fit-content;padding:var(--space-1) var(--space-3);border-radius:var(--r-xs);background:var(--surface-subtle);color:var(--ink-600);font-size:var(--text-xs);font-weight:var(--weight-medium);display:flex}.resource-card__status--validated{background:var(--ok-50);color:var(--ok-700)}.resource-card__stats,.resource-card__details{padding-top:var(--space-5);border-top:1px solid var(--line);margin:0}.resource-card__details{gap:var(--space-5);display:grid}.resource-card__revision{grid-column:1/-1}.resource-card__revision .mono{font-size:var(--text-xs);font-weight:var(--weight-normal)}.resource-card__tags p,.resource-card__recipe p{margin:var(--space-1) 0 0;color:var(--ink-600);font-size:var(--text-xs);line-height:var(--leading-normal);overflow-wrap:anywhere}.resource-card__tags summary{width:fit-content;min-height:24px;padding-block:var(--space-2);border-radius:var(--r-xs);color:var(--ink-600);font-size:var(--card-label-size);font-weight:var(--weight-medium);cursor:pointer}.resource-card__tags summary:hover{color:var(--accent-700)}.resource-card__tags summary span{color:var(--ink-500);font-weight:var(--weight-normal)}.resource-card__tags[open] p{margin-top:var(--space-3)}.resource-card__recipe-heading{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.resource-card__recipe-heading>span:last-child{color:var(--ink-900);font-size:var(--text-xs);font-weight:var(--weight-medium)}.resource-card__error{color:var(--danger-700);background:var(--danger-50);border:1px solid var(--danger-100);border-radius:var(--r-base);padding:var(--space-4) var(--space-5);overflow-wrap:anywhere}.resource-card__footer{gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.resource-card__footer>a:not(.btn){width:fit-content;min-height:var(--control-h-sm);border-radius:var(--r-xs);font-size:var(--text-xs);color:var(--ink-600);white-space:nowrap}.resource-card__footer>a:not(.btn):hover,.resource-card__footer>a:not(.btn):focus-visible{color:var(--accent-700);text-decoration:underline}.resource-card .btn.resource-card__selection{justify-content:center;align-items:center;gap:var(--space-3);min-height:var(--control-h-sm);color:var(--accent-700);font-size:var(--card-value-size);font-weight:var(--weight-semibold);white-space:nowrap;border-color:var(--accent-100);background:var(--accent-50);display:inline-flex}.resource-card .btn.resource-card__selection:hover{background:var(--accent-100)}.resource-card__selected-mark{border-radius:var(--r-full);width:20px;height:20px;color:var(--ink-on-accent);background:var(--accent-700);flex-shrink:0;place-items:center;display:grid}.resource-card.resource-card--selected{--lift-border:var(--accent-600);border-color:var(--accent-600);box-shadow:0 0 0 1px var(--accent-600);background:color-mix(in srgb, var(--accent-50) 35%, var(--card))}.resource-card.resource-card--selected .resource-card__footer{background:var(--accent-50);border-color:var(--accent-100)}@container (width<=320px){.resource-card__footer{grid-template-columns:minmax(0,1fr)}.resource-card__footer>.btn,.resource-card__footer>.disabled-hint,.resource-card__footer>.disabled-hint>.btn{width:100%}}.resource-toolbar,.filter-bar{align-items:center;gap:var(--space-6);margin-bottom:var(--card-gap);padding:var(--space-4) var(--card-padding);background:var(--card);border:1px solid var(--line);border-radius:var(--card-radius);box-shadow:var(--shadow-xs);flex-wrap:wrap;display:flex}.resource-toolbar__sort.select{flex-shrink:0;width:220px;max-width:100%}.resource-browser__sentinel{height:1px}.resource-browser__summary{margin-bottom:var(--space-6);color:var(--ink-600);font-size:var(--card-description-size);line-height:var(--leading-normal);overflow-wrap:anywhere}.resource-browser__pagination-error{justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-8);padding:var(--space-6) var(--card-padding);border:1px solid var(--danger-100);border-radius:var(--r-base);background:var(--danger-50);color:var(--danger-700);font-size:var(--card-description-size);flex-wrap:wrap;display:flex}.resource-browser__load-more{margin-top:var(--space-10);justify-content:center;display:flex}@media (width<=600px){.resource-toolbar>.nb-search{flex-basis:100%}.resource-toolbar__sort.select{flex:200px;width:auto}}@media (pointer:coarse){.resource-card__footer>a:not(.btn),.resource-card__tags summary{align-content:center;min-height:44px}}.account-trigger{width:100%;font:inherit;text-align:left;background:0 0;border:0}.account-trigger__meta{flex:1;min-width:0}.account-trigger__chevron{width:16px;height:16px;color:var(--sidebar-muted);flex-shrink:0}.account-trigger .who,.account-trigger .role{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.role-trigger{min-height:var(--control-h-sm);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-5);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--ink-700);background:var(--card);border:1px solid var(--control-border);border-radius:var(--control-radius);cursor:pointer;transition:border-color var(--dur-fast), background var(--dur-fast);display:inline-flex}.role-trigger .nb-icon{color:var(--ink-400)}.role-trigger:hover:not(:disabled){border-color:var(--brand);background:var(--surface-hover)}.role-trigger:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.role-trigger[data-state=open]{border-color:var(--brand)}.role-trigger:disabled{opacity:.6;cursor:default}.account-menu,.nb-popover{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);max-width:calc(100vw - 24px);box-shadow:var(--shadow-lg);z-index:calc(var(--z-modal) + 10)}.account-menu[data-state=open],.nb-popover[data-state=open]{animation:slide-up .18s var(--ease-out-quint)}.account-menu[data-state=closed],.nb-popover[data-state=closed]{animation:fade var(--dur-fast) ease-in reverse}.nb-popover{padding:var(--space-6);transform-origin:var(--radix-popover-content-transform-origin)}.account-menu{min-width:240px;padding:var(--space-3);transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.account-menu__profile{align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-5) var(--space-6);display:flex}.account-menu__id{min-width:0}.account-menu__name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink-700);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-menu__email{font-size:var(--text-sm);color:var(--ink-500);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-menu__sep{height:1px;margin:var(--space-2) 0;background:var(--line)}.account-menu__item{min-height:var(--control-h);align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--r-base);font-size:var(--text-lg);color:var(--ink-700);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;display:flex}.account-menu__item:hover,.account-menu__item[data-highlighted]{background:var(--surface-hover)}.account-menu__item[data-disabled]{color:var(--ink-400);cursor:not-allowed}.account-menu__item[data-disabled]:hover{background:0 0}.role-menu{min-width:268px}.role-menu__item{align-items:flex-start;gap:var(--space-5)}.role-menu__text{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.role-menu__label{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--ink-700)}.role-menu__desc{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink-500)}.role-menu__check{color:var(--brand);flex-shrink:0;align-self:center}}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");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}@layer tokens{:root{--font-sans:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, monospace;--brand-50:#f0ecff;--brand-100:#e0d8ff;--brand-300:#7c5cff;--brand:#5233fd;--brand-600:#4228d0;--brand-700:#3702bc;--brand-ring:#5233fd24;--navy-900:#0b1024;--navy-700:#1c1c4d;--detect-50:#fff7e6;--detect-100:#fce5b5;--detect:#f59e0b;--detect-600:#d97706;--detect-700:#92400e;--classify-50:#e6faf7;--classify-100:#b5eae2;--classify:#14b8a6;--classify-600:#0f9c8c;--classify-700:#0f766e;--segment-50:#fdf4ff;--segment-100:#f5d0fe;--segment:#e879f9;--segment-600:#d946ef;--segment-700:#a21caf;--bg:#f7f8fc;--card:#fff;--surface-subtle:#fafbfe;--surface-hover:#f0f2f8;--ink-on-accent:#fff;--line:#e6e8f0;--line-strong:#cbd2e0;--control-border:#d5dae5;--ink-900:#0f172a;--ink-700:#334155;--ink-600:#475569;--ink-500:#64748b;--ink-400:#94a3b8;--ink-300:#cbd5e1;--ok-50:#ecfdf5;--ok-100:#a7f3d0;--ok:#10b981;--ok-700:#047857;--warn-50:#fffbeb;--warn-100:#fcd34d;--warn:#f59e0b;--warn-700:#92400e;--danger-50:#fef2f2;--danger-100:#fecaca;--danger:#ef4444;--danger-700:#b91c1c;--info:#3b82f6;--scrim:#0f172a73;--scrim-strong:#0f172ad9;--ink-badge:#0f172ab3;--canvas-checker:#f0f2f7;--canvas-bg:#f7f9fc;--canvas-dark:#1b1f2e;--canvas-dark-checker:#20253a;--sidebar-muted:#a5aed0;--sidebar-ink:#c8cde3;--sidebar-line:#ffffff14;--sidebar-bg:#151329;--sidebar-hover:#ffffff0f;--sidebar-active:#7c5cff2e;--sidebar-active-line:#a790ff3d;--sidebar-active-ink:#d5caff;--code-ink:#b8c7e4;--shadow-xs:0 1px 2px #140e3c0a;--shadow-sm:0 1px 3px #140e3c0a;--shadow-md:0 4px 14px #140e3c12, 0 2px 4px #140e3c0a;--shadow-lg:0 24px 48px -12px #140e3c2e;--swatch-ring:inset 0 0 0 1px color-mix(in srgb, var(--ink-900) 15%, transparent);--ring:3px;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-9:18px;--space-10:20px;--space-12:24px;--space-14:28px;--space-16:32px;--space-18:36px;--space-24:48px;--text-2xs:11px;--text-xs:12px;--text-sm:12px;--text-base:13px;--text-md:13px;--text-lg:13px;--text-xl:14px;--text-2xl:15px;--text-3xl:16px;--text-4xl:18px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.45;--leading-relaxed:1.5;--tracking-tight:-.02em;--tracking-snug:-.01em;--tracking-wider:.04em;--r-2xs:2px;--r-xs:4px;--r-sm:6px;--r-base:8px;--r-md:10px;--r-lg:14px;--r-full:999px;--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--dur-fast:.15s;--dur-med:.2s;--dur-slow:.35s;--dur-bar:.6s;--z-dropdown:50;--z-tooltip:200;--z-modal:300;--z-lightbox:400;--z-toast:1000;--accent:var(--brand);--accent-600:var(--brand-600);--accent-700:var(--brand-700);--accent-50:var(--brand-50);--accent-100:var(--brand-100);--sidebar-w:232px;--topbar-h:56px;--annot-head-h:max(44px, calc(var(--control-h-sm) + var(--space-4)));--annot-gap:var(--space-6);--annot-panel-w:256px;--annot-thumb:72px;--control-h-sm:32px;--control-h:36px;--control-h-lg:40px;--control-radius:var(--r-base);--page-title-size:26px;--section-title-size:16px;--metric-value-size:28px;--page-gutter:clamp(16px, 2.5vw, 32px);--panel-padding:var(--space-10);--overlay-radius:16px;--card-padding:var(--space-8);--card-gap:var(--space-8);--card-radius:12px;--card-title-size:var(--text-2xl);--card-description-size:var(--text-base);--card-label-size:var(--text-xs);--card-value-size:var(--text-base);--card-icon-size:32px;--section-gap:var(--space-12)}@media (width<=600px){:root{--card-padding:12px;--card-gap:12px;--panel-padding:var(--space-8);--section-gap:var(--space-8);--page-title-size:22px;--metric-value-size:24px}}@media (pointer:coarse){:root{--control-h:44px;--control-h-sm:44px;--control-h-lg:44px}}[data-accent=detect]{--accent:var(--detect);--accent-600:var(--detect-600);--accent-700:var(--detect-700);--accent-50:var(--detect-50);--accent-100:var(--detect-100)}[data-accent=classify]{--accent:var(--classify);--accent-600:var(--classify-600);--accent-700:var(--classify-700);--accent-50:var(--classify-50);--accent-100:var(--classify-100)}[data-accent=segment]{--accent:var(--segment);--accent-600:var(--segment-600);--accent-700:var(--segment-700);--accent-50:var(--segment-50);--accent-100:var(--segment-100)}}@layer base{*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--ink-900);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-relaxed);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}#root{height:100%}::selection{background:var(--brand-100);color:var(--brand-700)}b,strong{font-weight:var(--weight-semibold)}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}.mono{font-family:var(--font-mono)}.code-block{padding:var(--space-6);border:1px solid var(--line);border-radius:var(--r-base);background:var(--bg);color:var(--ink-700);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-relaxed);margin:0;overflow:auto}.code-block--dark{background:var(--navy-900);color:var(--code-ink);border:0}.nb-icon{vertical-align:-.125em;-webkit-user-select:none;user-select:none;flex-shrink:0;width:1em;height:1em}.nb-icon--spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}.fade-in{animation:slide-up var(--dur-slow) var(--ease-out-quint)}.fade-in.d-1{animation-delay:40ms;animation-fill-mode:both}.fade-in.d-2{animation-delay:80ms;animation-fill-mode:both}.fade-in.d-3{animation-delay:.12s;animation-fill-mode:both}.fade-in.d-4{animation-delay:.16s;animation-fill-mode:both}.skeleton{background:linear-gradient(90deg, var(--bg) 25%, var(--line) 37%, var(--bg) 63%);border-radius:var(--r-sm);background-size:400% 100%;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer utilities{.flex-row{align-items:center;gap:var(--space-5);display:flex}.flex-end{justify-content:flex-end}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.min-w-0{min-width:0}.gap-1{gap:var(--space-2)}.gap-2{gap:var(--space-4)}.gap-3{gap:var(--space-6)}.mt-1{margin-top:var(--space-2)}.mt-2{margin-top:var(--space-4)}.mt-3{margin-top:var(--space-6)}.mt-4{margin-top:var(--space-8)}.mt-6{margin-top:var(--space-12)}.mb-2{margin-bottom:var(--space-4)}.mb-3{margin-bottom:var(--space-6)}.mb-4{margin-bottom:var(--space-8)}.muted{color:var(--ink-500)}.text-sm{font-size:var(--text-md)}.text-xs{font-size:var(--text-sm)}.fw-600{font-weight:var(--weight-semibold)}.m-0{margin:0}}
