/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size: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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--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-lg:1.125rem;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tighter:-.05em;--tracking-tight:-.025em;--radius-xs:.125rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}html{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}}@layer components;@layer utilities{.m-0{margin:0}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.w-9{width:calc(var(--spacing) * 9)}.max-w-md{max-width:var(--container-md)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.self-start{align-self:flex-start}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--input)}.bg-background{background-color:var(--background)}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-card{outline-color:var(--card)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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-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))}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.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\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}}.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{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 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-font-weight{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{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}:root{--gray-1:#fcfdfe;--gray-2:#f7f9fc;--gray-3:#eef1f7;--gray-4:#e5e9f1;--gray-5:#dbe1ec;--gray-6:#ccd4e2;--gray-7:#b0bad0;--gray-8:#8590a6;--gray-9:#646e83;--gray-10:#4e5768;--gray-11:#343c4b;--gray-12:#121722;--bg:#f5f7fb;--surface:#fff;--surface-muted:var(--gray-3);--surface-sunken:var(--gray-2);--border:var(--gray-5);--border-strong:var(--gray-6);--border-divider:var(--gray-4);--text:var(--gray-12);--text-muted:var(--gray-9);--text-subtle:var(--gray-8);--accent:#2563eb;--accent-hover:#1d51d6;--accent-active:#1a45b8;--accent-fg:#fff;--accent-soft:#eef4ff;--accent-soft-border:#c6d9fb;--accent-text:#1d51d6;--accent-ring:#2563eb4d;--link:#1d51d6;--link-hover:#1a45b8;--success-bg:#ecfdf3;--success-border:#a6e9c3;--success-fg:#0a6a3a;--success-solid:#16a34a;--warning-bg:#fffaeb;--warning-border:#fcd97a;--warning-fg:#92400e;--warning-solid:#f59e0b;--danger-bg:#fef2f2;--danger-border:#fca5a5;--danger-fg:#991b1b;--danger:#dc2626;--info-bg:#eff6ff;--info-border:#93c5fd;--info-fg:#1e40af;--info-solid:#2563eb;--warn-bg:var(--warning-bg);--warn-text:var(--warning-fg);--ok-bg:var(--success-bg);--ok-text:var(--success-fg);--info-text:var(--info-fg);--overlay-soft:#0000000a;--overlay-med:#00000014;--overlay-strong:#0f172a8c;--overlay-white:#ffffffb8;--font-sans:"Inter", "Hiragino Sans", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:32px;--lh-xs:16px;--lh-sm:16px;--lh-base:20px;--lh-md:20px;--lh-lg:24px;--lh-xl:28px;--lh-2xl:32px;--lh-3xl:40px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--tracking-tight:-.01em;--tracking-tighter:-.02em;--space-0_5:2px;--space-1:4px;--space-1_5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-24:96px;--radius-xs:3px;--radius-sm:5px;--radius-md:7px;--radius-lg:10px;--radius-xl:14px;--radius-full:9999px;--shadow-xs:0 1px 2px #0f0f0f0a;--shadow-sm:0 1px 2px #0f0f0f0a, 0 1px 3px #0f0f0f0f;--shadow-md:0 4px 8px -2px #0f0f0f14, 0 2px 4px -2px #0f0f0f0a;--shadow-lg:0 12px 24px -6px #0f0f0f1f, 0 4px 8px -4px #0f0f0f0f;--shadow-xl:0 24px 48px -12px #0f0f0f2e;--ring-focus:0 0 0 2px #fff, 0 0 0 4px var(--accent-ring);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur-base:.18s;--dur-slow:.28s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern", "liga", "calt", "cv11";text-rendering:optimizelegibility;margin:0;line-height:1.5}code,pre,.mono{font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:focus{outline:none}:focus-visible{box-shadow:var(--ring-focus);border-radius:var(--radius-md);outline:none}a{color:var(--link);border-radius:4px;text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}button{font:inherit;font-size:var(--text-md);font-weight:var(--fw-medium);border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);touch-action:manipulation;padding:8px 14px;line-height:1.2}button:hover{background:var(--gray-2);border-color:var(--border-strong)}button:active{background:var(--gray-3)}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);box-shadow:0 1px 2px #1a45b82e}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.primary:active{background:var(--accent-active);border-color:var(--accent-active)}button.danger{color:var(--danger);border-color:var(--danger-border);background:var(--surface)}button.danger:hover{background:var(--danger-bg);border-color:var(--danger)}button.danger-solid{background:var(--danger);color:#fff;border-color:var(--danger)}button.danger-solid:hover{background:#b91c1c;border-color:#b91c1c}button.ghost{background:0 0;border-color:#0000}button.ghost:hover{background:var(--overlay-soft);border-color:#0000}button.small{font-size:var(--text-sm);border-radius:var(--radius-sm);padding:4px 10px}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible{box-shadow:var(--ring-focus);outline:none}input,select,textarea{font:inherit;font-size:var(--text-md);height:38px;padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);width:100%;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out)}textarea{height:auto;padding:var(--space-2) var(--space-3);line-height:1.55}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--text-subtle)}textarea{font-family:var(--font-mono);font-size:var(--text-base);line-height:1.55}.shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.content{min-width:0}.content-inner{max-width:1320px;padding:var(--space-8) var(--space-8) var(--space-16);margin:0 auto}.sidebar{gap:var(--space-1);height:100vh;padding:var(--space-5) var(--space-3);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:var(--space-2_5,10px);padding:var(--space-2) var(--space-3) var(--space-5);display:flex}.sidebar-brand:hover{text-decoration:none}.brand-mark{border-radius:var(--radius-md);background:var(--accent);width:26px;height:26px;color:var(--accent-fg);font-weight:var(--fw-bold);letter-spacing:-.02em;place-items:center;font-size:13px;display:grid}.brand-name{font-weight:var(--fw-semibold);font-size:var(--text-md);letter-spacing:var(--tracking-tight);color:var(--text)}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-nav .nav-item{align-items:center;gap:var(--space-2_5,10px);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-md);font-weight:var(--fw-medium);line-height:1.2;display:flex}.sidebar-nav .nav-item:hover{background:var(--surface-muted);color:var(--text);text-decoration:none}.sidebar-nav .nav-item.active{background:var(--accent-soft);color:var(--accent-text);font-weight:var(--fw-semibold)}.sidebar-nav .nav-item svg{opacity:.9;flex:none}.nav-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-count{font-size:var(--text-xs);color:var(--text-subtle);font-variant-numeric:tabular-nums;flex:none}.sidebar-nav .nav-item.active .nav-count{color:var(--accent-text)}.nav-section-label{letter-spacing:.08em;font-size:10.5px;font-weight:var(--fw-semibold);color:var(--text-subtle);text-transform:uppercase;padding:var(--space-4) var(--space-3) var(--space-1)}.nav-client-row{border-radius:var(--radius-md);align-items:center;display:flex}.nav-client-row:hover{background:var(--surface-muted)}.nav-client-row.active{background:var(--accent-soft)}.nav-client-main{align-items:center;gap:var(--space-2_5,10px);min-width:0;padding:var(--space-2) var(--space-1) var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--text-md);font-weight:var(--fw-medium);flex:1;display:flex}.nav-client-main:hover{color:var(--text);text-decoration:none}.nav-client-row.active .nav-client-main{color:var(--accent-text);font-weight:var(--fw-semibold)}.nav-folder{color:var(--text-subtle);flex:none;display:inline-flex}.nav-client-row.active .nav-folder,.nav-client.active .nav-folder{color:var(--accent-text)}.nav-folder-none{opacity:.6}.nav-gear-spacer{width:26px;margin-right:var(--space-1);flex:none}.nav-gear{width:26px;height:26px;margin-right:var(--space-1);cursor:pointer;border-radius:var(--radius-sm);color:var(--text-subtle);opacity:0;transition:opacity var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.nav-client-row:hover .nav-gear,.nav-client-row.active .nav-gear{opacity:1}.nav-gear:hover{background:var(--overlay-med);color:var(--text)}.nav-add{color:var(--text-subtle);width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none}.nav-add-plus{justify-content:center;align-items:center;width:16px;font-size:14px;display:inline-flex}.sidebar-foot{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-divider);flex-direction:column;margin-top:auto;display:flex}.user-chip{align-items:center;gap:var(--space-2);padding:0 var(--space-2);display:flex}.user-avatar{border-radius:var(--radius-full);background:var(--gray-4);width:26px;height:26px;color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--fw-semibold);flex:none;place-items:center;display:grid}.user-email{font-size:var(--text-sm);color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-signout{justify-content:center;width:100%}@media (width<=720px){.shell{grid-template-columns:1fr}.sidebar{align-items:center;gap:var(--space-2);height:auto;padding:var(--space-3) var(--space-4);border-right:none;border-bottom:1px solid var(--border);flex-flow:wrap;position:static}.sidebar-brand{padding:0}.sidebar-nav{flex-direction:row}.sidebar-foot{border-top:none;flex-direction:row;align-items:center;margin-top:0;margin-left:auto;padding-top:0}.user-email{display:none}.content-inner{padding:var(--space-5) var(--space-4) var(--space-12)}}.container{max-width:1180px;padding:var(--space-8) var(--space-6);margin:0 auto}.form-flow{max-width:820px;margin:0 auto}.form-card{padding:var(--space-4) var(--space-8)}.form-flow .form-card{flex-direction:column;display:flex}.field-row{gap:var(--space-5);padding:var(--space-4) 0;border-top:1px solid var(--border-divider);grid-template-columns:128px minmax(0,1fr);align-items:start;display:grid}.field-row:first-of-type{border-top:none}.field-label{padding-top:var(--space-2);font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--text);letter-spacing:var(--tracking-tight)}.field-label .form-required{color:var(--danger);margin-left:2px}.field-label .form-optional{font-size:var(--text-xs);font-weight:var(--fw-regular);color:var(--text-subtle);margin-top:1px;display:block}.field-control{gap:var(--space-1_5);flex-direction:column;min-width:0;display:flex}.field-control>input,.field-control>textarea{max-width:380px}.field-control .combobox{max-width:320px}@media (width<=640px){.field-row{gap:var(--space-2);grid-template-columns:1fr}.field-label{padding-top:0}}.form-helper-below{margin-top:var(--space-2);margin-bottom:0}.segmented{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);display:flex;overflow:hidden}.segmented-cap{max-width:380px}.modal.client-modal{width:100%;max-width:min(1040px,94vw)}.client-modal-body{gap:var(--space-4);max-height:68vh;padding-right:var(--space-1);flex-direction:column;display:flex;overflow-y:auto}.mfield-label .stub-tag{margin-left:var(--space-2);font-weight:var(--fw-medium)}.stub-input,.client-modal input:disabled,.client-modal textarea:disabled{background:var(--surface-sunken);color:var(--text-subtle);cursor:not-allowed}.brandcolor-row{gap:var(--space-4);display:flex}.brandcolor-item{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:flex}.brandcolor-swatch{border-radius:var(--radius-sm);border:1px solid var(--border);background:repeating-conic-gradient(var(--surface-muted) 0% 25%, var(--surface) 0% 50%) 50% / 12px 12px;width:32px;height:32px}.mfield{gap:var(--space-1_5);flex-direction:column;display:flex}.mfield-label{font-size:var(--text-base);font-weight:var(--fw-semibold);color:var(--text);letter-spacing:var(--tracking-tight)}.client-modal .upload-stub{max-width:none}.upload-stub{justify-content:space-between;align-items:center;gap:var(--space-3);max-width:420px;padding:var(--space-3) var(--space-4);border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-md);background:var(--surface-sunken);display:flex}.stub-tag{font-size:var(--text-xs);color:var(--text-subtle);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--surface);flex:none;padding:1px 8px}.segmented .seg{padding:var(--space-2) var(--space-2);cursor:pointer;text-align:center;border-left:1px solid var(--border);min-height:46px;transition:background-color var(--dur-fast) var(--ease-out);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;display:flex}.segmented .seg:first-child{border-left:none}.segmented .seg input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.segmented .seg:hover{background:var(--gray-2)}.segmented .seg.selected{background:var(--accent-soft)}.segmented .seg.selected .seg-label{color:var(--accent-text)}.segmented .seg:has(input:focus-visible){box-shadow:inset var(--ring-focus)}.seg-label{font-weight:var(--fw-semibold);font-size:var(--text-md);color:var(--text);letter-spacing:var(--tracking-tight)}.seg-sub{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.form-helper{margin:0 0 var(--space-1);font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.choice-grid{gap:var(--space-2);margin-top:var(--space-1);grid-template-columns:repeat(3,1fr);display:grid}.choice-grid-rows{gap:var(--space-2);flex-direction:column;grid-template-columns:none;display:flex}.choice-card{padding:var(--space-2_5,10px) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:3px;display:flex;position:relative}.choice-card:hover{border-color:var(--gray-7)}.choice-card input[type=radio]{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.choice-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.choice-card.selected .choice-card-label{color:var(--accent-text)}.choice-card:has(input:focus-visible){box-shadow:var(--ring-focus)}.choice-card-label{font-weight:var(--fw-semibold);font-size:var(--text-md);color:var(--text);letter-spacing:var(--tracking-tight)}.choice-card-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}.choice-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.choice-grid-rows .choice-card{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3_5,14px);flex-direction:row}.choice-grid-rows .choice-card:before{content:"";border-radius:var(--radius-full);border:1.5px solid var(--gray-7);background:var(--surface);width:16px;height:16px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex:none;margin-top:2px}.choice-grid-rows .choice-card.selected:before{border-color:var(--accent);border-width:5px}.choice-grid-rows .choice-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.form-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border-divider);display:flex}.form-actions button.primary{order:2;min-width:96px}.form-actions button:not(.primary){order:1}.alert{margin-bottom:var(--space-4)}.detail-skeleton .back-link-skeleton{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--gray-3) 0%, var(--gray-2) 50%, var(--gray-3) 100%);width:96px;height:12px;margin-bottom:var(--space-3);vertical-align:middle;background-size:200% 100%;animation:1.5s linear infinite shimmer;display:inline-block}.detail-skeleton .skeleton-title{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--gray-3) 0%, var(--gray-2) 50%, var(--gray-3) 100%);background-size:200% 100%;width:clamp(160px,40%,280px);height:28px;animation:1.5s linear infinite shimmer;display:inline-block}.detail-skeleton .skeleton-badge{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--gray-3) 0%, var(--gray-2) 50%, var(--gray-3) 100%);background-size:200% 100%;width:72px;height:18px;animation:1.5s linear infinite shimmer;display:inline-block}.detail-skeleton .skeleton-h2{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--gray-3) 0%, var(--gray-2) 50%, var(--gray-3) 100%);width:96px;height:18px;margin-bottom:var(--space-3);background-size:200% 100%;animation:1.5s linear infinite shimmer;display:inline-block}.detail-skeleton .skeleton-line{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--gray-3) 0%, var(--gray-2) 50%, var(--gray-3) 100%);height:12px;margin-top:var(--space-1);background-size:200% 100%;animation:1.5s linear infinite shimmer;display:block}.detail-skeleton .skeleton-line.short{width:60%}.detail-skeleton .skeleton-line.tall{width:80%;height:20px;margin-top:var(--space-2)}@media (prefers-reduced-motion:reduce){.detail-skeleton .skeleton-title,.detail-skeleton .skeleton-badge,.detail-skeleton .skeleton-h2,.detail-skeleton .skeleton-line,.detail-skeleton .back-link-skeleton{animation:none}}.back-link{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-3);padding:var(--space-1) 0;display:inline-flex}.back-link:hover{color:var(--text);text-decoration:none}.back-link svg{transition:transform var(--dur-fast) var(--ease-out)}.back-link:hover svg{transform:translate(-2px)}@media (prefers-reduced-motion:reduce){.back-link svg{transition:none}}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.page-header h1{font-size:var(--text-2xl);line-height:var(--lh-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tighter);text-wrap:balance;margin:0}.page-header .actions{align-items:center;gap:8px;display:flex}.page-header-title{align-items:center;gap:var(--space-3);min-width:0;display:flex}table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);font-variant-numeric:tabular-nums;width:100%;overflow:hidden}th,td{border-bottom:1px solid var(--border-divider);text-align:left;font-size:var(--text-base);line-height:var(--lh-base);padding:10px 16px}th{background:var(--surface-sunken);font-weight:var(--fw-medium);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding-top:12px;padding-bottom:12px}tr:last-child td{border-bottom:none}tbody tr{transition:background-color var(--dur-fast) var(--ease-out)}tbody tr:hover{background:var(--gray-2)}tbody tr td a{color:var(--text);font-weight:var(--fw-medium)}tbody tr td a:hover{color:var(--link)}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);line-height:var(--lh-xs);font-weight:var(--fw-medium);white-space:nowrap;letter-spacing:.02em;border:1px solid #0000;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.badge.completed,.badge.ready{background:var(--success-bg);color:var(--success-fg);border-color:var(--success-border)}.badge.generating,.badge.ready_to_generate,.badge.uploading{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)}.badge.parsing,.badge.pending{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.badge.draft,.badge.cancelled,.badge.missing{background:var(--surface-sunken);color:var(--text-muted);border-color:var(--border)}.badge.failed,.badge.deleting{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.empty{padding:var(--space-16) var(--space-4);text-align:center;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.empty p{margin:0 0 var(--space-3);font-size:var(--text-md)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.card+.card{margin-top:var(--space-4)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card h2{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--fw-semibold);margin:0 0 var(--space-3);letter-spacing:var(--tracking-tight)}.card .desc{color:var(--text-muted);font-size:var(--text-base);line-height:var(--lh-base);margin:0 0 var(--space-4)}.form-row{gap:6px;margin-bottom:16px;display:grid}.form-row label{color:var(--text);font-size:13px;font-weight:500}.hint{color:var(--text-muted);font-size:12px}fieldset{border:none;margin:0 0 16px;padding:0}fieldset legend{margin-bottom:8px;font-size:13px;font-weight:500}.radio-group{flex-wrap:wrap;gap:16px;display:flex}.radio-group label{cursor:pointer;color:var(--text);align-items:center;gap:6px;font-size:13px;display:inline-flex}.radio-group input{width:auto}.muted{color:var(--text-muted)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spacer{flex:1}.role-select{width:auto;min-width:80px;font-size:var(--text-sm);padding:4px 8px}.user-row-actions{align-items:center;gap:var(--space-2);display:flex}.user-row-error{color:var(--danger);font-size:var(--text-xs)}.signin-shell{min-height:100vh;padding:var(--space-6);background:linear-gradient(180deg, var(--bg) 0%, var(--gray-3) 100%);place-items:center;display:grid}.signin-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:380px;padding:var(--space-8) var(--space-6) var(--space-6);box-shadow:var(--shadow-md)}.signin-brand{font-size:var(--text-sm);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-4)}.signin-title{font-size:var(--text-xl);line-height:var(--lh-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tighter);margin:0 0 var(--space-2);color:var(--text)}.signin-sub{color:var(--text-muted);font-size:var(--text-base);line-height:var(--lh-base);margin:0 0 var(--space-5)}.signin-google{font-weight:var(--fw-medium);justify-content:center;align-items:center;padding-top:10px;padding-bottom:10px;display:inline-flex!important}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);line-height:var(--lh-base);align-items:flex-start;gap:var(--space-2);border:1px solid;display:flex}.alert.danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.alert.info{background:var(--info-bg);color:var(--info-fg);border-color:var(--info-border)}.alert.warn{background:var(--warning-bg);color:var(--warning-fg);border-color:var(--warning-border)}.asset-section-hint{align-items:center;gap:var(--space-1_5);padding:0 0 var(--space-3);font-size:var(--text-sm);line-height:var(--lh-base);color:var(--text-muted);display:flex}.asset-section-hint svg{color:var(--text-subtle);flex-shrink:0}.asset-section-hint strong{font-weight:var(--fw-medium);color:var(--text)}.asset-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(196px,1fr));display:grid}.asset-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), opacity var(--dur-base) var(--ease-out), background-color var(--dur-fast) var(--ease-out);animation:asset-enter var(--dur-base) var(--ease-out);flex-direction:column;display:flex;position:relative;overflow:hidden}.asset-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}@keyframes asset-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.asset-card{animation:none}}.asset-card.missing{border-style:dashed;border-color:var(--border-strong);background:var(--surface-sunken);box-shadow:none;cursor:pointer}.asset-card.missing:hover{border-color:var(--info-solid);background:var(--info-bg);transform:translateY(-2px);box-shadow:0 0 0 3px #2563eb14}.asset-card.over{background:var(--info-bg);box-shadow:0 0 0 3px #2563eb2e;border-color:var(--info-solid)!important;border-style:solid!important}.asset-card.failed{border-color:var(--danger-border);background:var(--danger-bg)}.asset-card .asset-thumb{aspect-ratio:4/3;background:var(--surface-muted);color:var(--text-subtle);place-items:center;display:grid;position:relative;overflow:hidden}.asset-card.missing .asset-thumb{background:0 0}.asset-card .asset-thumb img{object-fit:cover;width:100%;height:100%;display:block}.asset-card .asset-empty{align-items:center;gap:var(--space-1_5);color:var(--text-subtle);font-size:var(--text-sm);line-height:var(--lh-sm);letter-spacing:.02em;padding:var(--space-3);text-align:center;flex-direction:column;display:flex}.asset-card .asset-empty strong{color:var(--text);font-weight:var(--fw-semibold)}.asset-card .asset-empty-format{font-size:var(--text-xs);color:var(--text-subtle)}.asset-card .asset-empty svg{width:20px;height:20px;color:var(--text-muted);opacity:.7;transition:opacity var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out)}.asset-card.missing:hover .asset-empty svg{color:var(--info-solid);opacity:1}.asset-card .asset-ai-button{margin-top:var(--space-1_5);justify-content:center;align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--fw-medium);border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:6px 8px;display:inline-flex}.asset-card .asset-ai-button:hover{background:var(--gray-2);border-color:var(--border-strong)}.asset-meta .pages-ref{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--text-subtle);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.asset-meta-row{justify-content:space-between;align-items:center;gap:var(--space-1_5);display:flex}.asset-card.uploading .asset-thumb,.asset-card.generating .asset-thumb{background:linear-gradient(90deg, var(--gray-3) 0%, var(--gray-2) 50%, var(--gray-3) 100%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}@media (prefers-reduced-motion:reduce){.asset-card.uploading .asset-thumb,.asset-card.generating .asset-thumb{animation:none}}.asset-card .asset-hover{justify-content:center;align-items:flex-end;gap:var(--space-1_5);padding:var(--space-3);opacity:0;transition:opacity var(--dur-base) var(--ease-out);pointer-events:none;background:linear-gradient(#0f172a00 30%,#0f172ac7 100%);flex-wrap:wrap;display:flex;position:absolute;inset:0}.asset-card:hover .asset-hover,.asset-card:focus-within .asset-hover{opacity:1;pointer-events:auto}.asset-card .asset-hover button{align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--fw-medium);border-radius:var(--radius-sm);color:var(--gray-12);cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);letter-spacing:.01em;background:#fffffffa;border:1px solid #0000;padding:5px 10px;display:inline-flex}.asset-card .asset-hover button:hover{background:#fff;transform:translateY(-1px)}.asset-card .asset-hover button.danger{color:var(--danger)}.asset-card .asset-hover button svg{width:12px;height:12px}.asset-card .asset-spinner{justify-content:center;align-items:center;gap:var(--space-2);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-muted);z-index:1;animation:fade-in var(--dur-fast) var(--ease-out);background:#ffffffe0;display:inline-flex;position:absolute;inset:0}.asset-spinner-dot{background:var(--gray-12);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse-dot}.asset-card.deleting .asset-spinner-dot{background:var(--danger)}.asset-card.generating .asset-spinner-dot{background:var(--info-solid)}@keyframes pulse-dot{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.asset-spinner-dot{opacity:.8;animation:none}}.asset-card.deleting{opacity:.65}.asset-card.deleting .asset-thumb img{filter:grayscale(.3)}.asset-card .asset-thumb img{animation:fade-in var(--dur-slow) var(--ease-out)}.asset-skeleton{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.asset-skeleton .asset-thumb{aspect-ratio:4/3;background:linear-gradient(90deg, var(--gray-3) 0%, var(--gray-2) 50%, var(--gray-3) 100%);background-size:200% 100%;animation:1.6s linear infinite shimmer}.asset-skeleton .asset-meta{padding:var(--space-2) var(--space-3) var(--space-3);gap:var(--space-1_5);border-top:1px solid var(--border);flex-direction:column;display:flex}.asset-skeleton .asset-skeleton-line{background:linear-gradient(90deg, var(--gray-3) 0%, var(--gray-2) 50%, var(--gray-3) 100%);background-size:200% 100%;border-radius:4px;height:10px;animation:1.6s linear infinite shimmer}.asset-skeleton .asset-skeleton-line.short{width:40%}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.asset-skeleton .asset-thumb,.asset-skeleton .asset-skeleton-line,.asset-card .asset-thumb img{animation:none}}.asset-card .asset-meta{padding:var(--space-2) var(--space-3) var(--space-3);gap:var(--space-1);border-top:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex}.asset-card.missing .asset-meta{background:0 0;border-top-color:#0000}.asset-card .asset-filename{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.asset-card,.asset-card .asset-hover,.asset-card .asset-empty svg{transition:none}}.modal-backdrop{background:var(--overlay-strong);z-index:80;padding:var(--space-6);animation:fade-in var(--dur-base) var(--ease-out);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-xl);border:1px solid var(--border);animation:modal-pop var(--dur-base) var(--ease-out);overflow:hidden}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{padding:var(--space-5) var(--space-6) 0}.modal-header h2{font-size:var(--text-lg);line-height:var(--lh-lg);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);color:var(--text);margin:0}.modal-body{padding:var(--space-3) var(--space-6) var(--space-5);color:var(--text-muted);font-size:var(--text-base);line-height:1.6}.modal-body code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--surface-sunken);border-radius:var(--radius-xs);color:var(--text);padding:2px 6px}.modal-body .modal-cost{gap:var(--space-1_5) var(--space-3);margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-sm);grid-template-columns:auto 1fr;display:grid}.modal-body .modal-cost dt{color:var(--text-subtle);letter-spacing:.02em;margin:0}.modal-body .modal-cost dd{font-weight:var(--fw-semibold);color:var(--text);font-variant-numeric:tabular-nums;margin:0}.modal-actions{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--surface-sunken);border-top:1px solid var(--border);display:flex}.modal-actions button{padding:8px 16px}.modal-actions button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.modal-actions button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.modal-actions button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.modal-actions button.danger:hover{background:#b91c1c;border-color:#b91c1c}@media (prefers-reduced-motion:reduce){.modal,.modal-backdrop{animation:none}}.drop-overlay{color:#fff;z-index:50;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in var(--dur-base) var(--ease-out);background:#080b13c7;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay-inner{border-radius:var(--radius-xl);padding:var(--space-10) var(--space-16);text-align:center;border:2px dashed #ffffff73}.drop-overlay-inner strong{font-size:var(--text-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tighter);margin-bottom:var(--space-2);display:block}.drop-overlay-inner span{font-size:var(--text-base);color:#ffffffb3;letter-spacing:.01em}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.lightbox-backdrop{z-index:60;animation:fade-in var(--dur-base) var(--ease-out);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080b13f0;flex-direction:column;display:flex;position:fixed;inset:0}.lightbox-header{color:#ffffffeb;pointer-events:auto;background:linear-gradient(#0006,#0000);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.lightbox-header .lightbox-title{flex-direction:column;gap:2px;display:flex}.lightbox-header .lightbox-title strong{font-family:var(--font-mono);font-size:var(--text-base);font-weight:var(--fw-semibold);letter-spacing:.01em}.lightbox-header .lightbox-title span{font-size:var(--text-xs);color:#ffffff8c;letter-spacing:.04em}.lightbox-header .lightbox-actions{gap:6px;display:flex}.lightbox-close,.lightbox-link{all:unset;color:#ffffffd9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.lightbox-close:hover,.lightbox-link:hover{color:#fff;background:#ffffff29;border-color:#ffffff3d}.lightbox-close:focus-visible,.lightbox-link:focus-visible{outline-offset:2px;outline:2px solid #ffffff8c}.lightbox-close svg,.lightbox-link svg{width:14px;height:14px}.lightbox-stage{min-height:0;padding:var(--space-1) var(--space-6) var(--space-6);flex:1;place-items:center;display:grid;position:relative;overflow:hidden}.lightbox-nav{all:unset;color:#ffffffe6;cursor:pointer;width:44px;height:44px;transition:background-color var(--dur-fast) var(--ease-out);z-index:2;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#ffffff2e}.lightbox-nav:focus-visible{outline-offset:2px;outline:2px solid #ffffffa6}.lightbox-nav-prev{left:var(--space-4)}.lightbox-nav-next{right:var(--space-4)}.lightbox-counter{color:#ffffff80;font-variant-numeric:tabular-nums}.lightbox-loading{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.lightbox-spinner{border:3px solid #ffffff2e;border-top-color:#ffffffd9;border-radius:50%;width:32px;height:32px;animation:.9s linear infinite lightbox-spin}@keyframes lightbox-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.lightbox-spinner{animation:none}}.lightbox-stage img{max-width:calc(100vw - var(--space-12));object-fit:contain;border-radius:var(--radius-sm);width:auto;height:auto;max-height:calc(100vh - 100px);box-shadow:0 24px 48px -12px #00000080}@media (prefers-reduced-motion:reduce){.lightbox-backdrop{animation:none}}.toast{bottom:var(--space-6);align-items:center;gap:var(--space-3);background:var(--gray-12);color:#fff;border-radius:var(--radius-md);font-size:var(--text-base);z-index:70;box-shadow:var(--shadow-lg);animation:toast-in var(--dur-base) var(--ease-out);max-width:min(560px,100% - 32px);padding:10px 14px 10px 16px;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.toast.danger{background:var(--danger)}.toast-action{all:unset;cursor:pointer;font-size:var(--text-sm);font-weight:var(--fw-medium);border-radius:var(--radius-sm);color:#fff;transition:background-color var(--dur-fast) var(--ease-out);white-space:nowrap;background:#ffffff1f;padding:4px 10px}.toast-action:hover{background:#ffffff38}.toast-action:focus-visible{outline-offset:2px;outline:2px solid #ffffffb3}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.slide-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.slide-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.slide-card .thumb{aspect-ratio:16/9;background:var(--surface-muted);color:var(--text-subtle);place-items:center;font-size:12px;display:grid;overflow:hidden}.slide-card .thumb img{object-fit:cover;width:100%;height:100%;display:block}.slide-card .meta{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.slide-card .meta .num{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.slide-card .meta .title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:36px;font-size:13px;font-weight:500;display:-webkit-box;overflow:hidden}.progress-bar{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-full);height:8px;position:relative;overflow:hidden}.progress-bar .fill{background:linear-gradient(90deg, var(--gray-12) 0%, var(--gray-10) 100%);height:100%;transition:width var(--dur-slow) var(--ease-out);border-radius:var(--radius-full)}.progress-bar:focus-visible{box-shadow:var(--ring-focus)}.section-headline{margin-bottom:var(--space-4)}.section-headline h2{margin:0}.section-headline .deck-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-muted);line-height:1.5}.metric-row{margin:0 0 var(--space-4);flex-wrap:wrap;gap:0;padding:0;display:flex}.metric{min-width:120px;padding:var(--space-1) var(--space-5);border-left:1px solid var(--border);flex:1 1 0}.metric:first-child{border-left:0;padding-left:0}.metric dt{font-size:var(--text-xs);letter-spacing:.04em;color:var(--text-muted);margin:0 0 var(--space-1);font-weight:var(--fw-medium)}.metric dd{font-size:var(--text-2xl);line-height:var(--lh-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tighter);font-variant-numeric:tabular-nums;color:var(--text);margin:0}.metric dd .metric-sep{color:var(--text-subtle);font-weight:var(--fw-regular);margin:0 4px}.metric dd.metric-text{font-size:var(--text-md);font-weight:var(--fw-medium);letter-spacing:0;padding-top:6px}.metric.metric-accent dd{color:var(--text)}.metric.metric-danger dd{color:var(--danger)}@media (width<=640px){.metric{padding-left:var(--space-3);border-left:1px solid var(--border);border-top:1px solid var(--border);flex:calc(50% - 1px);margin-top:-1px}.metric:nth-child(odd){border-left:0;padding-left:0}.metric:nth-child(-n+2){border-top:0;margin-top:0}}.kv-row{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.kv{padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-md)}.kv .k{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-1);font-weight:var(--fw-medium)}.kv .v{font-size:var(--text-xl);line-height:var(--lh-xl);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;color:var(--text)}.kv .v.compact{font-size:var(--text-md);font-weight:var(--fw-medium)}.kv .v .unit{font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--fw-regular);letter-spacing:0;margin-left:2px}.kv-row-spaced{margin-bottom:var(--space-4)}.section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.section-header h2{margin:0}.section-header-count{color:var(--text-muted);font-weight:var(--fw-regular);font-variant-numeric:tabular-nums}.preset-details{margin-top:0}.preset-details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-1) 0}.preset-details>summary:hover{color:var(--text)}.preset-details[open]>summary{margin-bottom:var(--space-2)}.preset-details pre{font-size:var(--text-sm);background:var(--surface-sunken);padding:var(--space-3);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-x:auto}.button-with-icon{align-items:center;gap:var(--space-1_5);display:inline-flex}.m-0{margin:0}.row-top{margin-top:var(--space-3)}.hint-spaced,.card-spaced{margin-bottom:var(--space-4)}.text-danger{color:var(--danger)}.self-start{align-self:flex-start}.modal-meta{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);margin-bottom:0}.thumb.thumb-zoom{all:unset;cursor:zoom-in;aspect-ratio:16/9;background:var(--surface-muted);width:100%;display:block;overflow:hidden}.thumb.thumb-zoom:hover{filter:brightness(1.05)}.thumb.thumb-zoom:focus-visible{box-shadow:var(--ring-focus);outline:none}.variant-cluster{gap:var(--space-2);padding:var(--space-2);display:grid}.variant-cell{gap:var(--space-1_5);flex-direction:column;display:flex}.variant-preview{all:unset;cursor:zoom-in;aspect-ratio:16/9;background:var(--surface-muted);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--border);transition:box-shadow var(--dur-fast) var(--ease-out);place-items:center;display:grid;position:relative;overflow:hidden}.variant-preview:hover{box-shadow:inset 0 0 0 1px var(--border-strong)}.variant-preview.selected{box-shadow:inset 0 0 0 2px var(--accent)}.variant-preview:disabled{cursor:not-allowed}.variant-preview:focus-visible{box-shadow:var(--ring-focus)}.variant-radio{align-items:center;gap:var(--space-1_5);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;padding:2px 0;display:inline-flex}.variant-radio input{cursor:pointer;width:auto;margin:0}.variant-radio:has(input:checked){color:var(--text);font-weight:var(--fw-medium)}.variant-tile-status{font-size:var(--text-xs);color:var(--text-subtle)}.variant-tile-selected{background:var(--accent);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-xs);padding:2px 6px;position:absolute;top:4px;left:4px}details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);padding:4px 0;font-size:13px}details>summary:hover{color:var(--text)}details[open]>summary{margin-bottom:8px}details pre{background:var(--surface-muted);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:320px;padding:12px;font-size:12px;overflow-x:auto}code{font-family:var(--font-mono);font-size:.9em}.stepper{flex-wrap:wrap;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.stepper-item button{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 9px;font-size:12.5px;display:inline-flex}.stepper-item button:disabled{cursor:default;opacity:.75}.stepper-item button:not(:disabled):hover{border-color:var(--border-strong);color:var(--text)}.stepper-num{background:var(--surface-muted);width:20px;height:20px;color:var(--text-subtle);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.stepper-item.current button{border-color:var(--accent);color:var(--text);font-weight:600}.stepper-item.current .stepper-num{background:var(--accent);color:var(--accent-fg)}.stepper-item.done .stepper-num{background:var(--success-bg);color:var(--success-fg)}.outline-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}@media (width<=860px){.outline-layout{grid-template-columns:1fr}}.outline-main{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.outline-viewtabs{background:var(--surface-muted);border-radius:var(--radius-md);align-self:flex-start;gap:2px;padding:2px;display:inline-flex}.viewtab{padding:var(--space-1) var(--space-3);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none}.viewtab.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs,0 1px 2px #0000000f)}.outline-md{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);height:620px;padding:var(--space-5) var(--space-6);font-size:var(--text-sm);color:var(--text);line-height:1.7;overflow:auto}.outline-md h1{font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0 0 var(--space-3);letter-spacing:var(--tracking-tight)}.outline-md h2{font-size:var(--text-md);font-weight:var(--fw-semibold);margin:var(--space-5) 0 var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-divider)}.outline-md h3{font-size:var(--text-base);font-weight:var(--fw-semibold);margin:var(--space-4) 0 var(--space-1)}.outline-md p{margin:0 0 var(--space-2)}.outline-md ul,.outline-md ol{margin:0 0 var(--space-3);padding-left:var(--space-5)}.outline-md li{margin:2px 0}.outline-md code{background:var(--surface-sunken);border-radius:var(--radius-xs,4px);padding:1px 5px;font-size:.92em}.outline-md strong{font-weight:var(--fw-semibold)}.outline-md table{border-collapse:collapse;width:100%;margin:var(--space-2) 0 var(--space-4);font-size:var(--text-xs)}.outline-md th,.outline-md td{border:1px solid var(--border);padding:var(--space-1) var(--space-2);text-align:left;vertical-align:top}.outline-md th{background:var(--surface-muted);font-weight:var(--fw-semibold);white-space:nowrap}.outline-md-slide{scroll-margin-top:var(--space-2);border-radius:var(--radius-sm)}.outline-md-slide.is-flash{animation:outlineFlash 1.2s var(--ease-out,ease-out)}@keyframes outlineFlash{0%{background:var(--accent-soft);box-shadow:0 0 0 6px var(--accent-soft)}to{background:0 0;box-shadow:0 0 0 6px #0000}}@media (prefers-reduced-motion:reduce){.outline-md-slide.is-flash{animation:none}}.outline-editor{resize:vertical;height:620px;font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--text-sm);line-height:1.6}.outline-side{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.outline-side-head{height:30px;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-muted);align-items:center;display:flex}.outline-preview{gap:var(--space-2);flex-direction:column;height:620px;min-height:0;padding:2px 4px 2px 2px;display:flex;overflow-y:auto}.outline-slide-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex:none;overflow:hidden}.outline-slide-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm,0 1px 3px #00000014)}.outline-slide-jump{text-align:left;cursor:pointer;width:100%;padding:var(--space-2_5,10px) var(--space-3);background:0 0;border:none;display:block}.outline-slide-head{align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.outline-slide-head .num{color:var(--accent-text);font-size:var(--text-xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;flex:none}.outline-slide-head .title{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.outline-slide-card .lead{margin:var(--space-1) 0 0;font-size:var(--text-xs);color:var(--text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.outline-slide-ops{gap:var(--space-1);padding:0 var(--space-3) var(--space-2_5,10px);display:flex}.danger-text{color:var(--danger)!important}.choice-grid-rows{grid-template-columns:1fr}.combobox{max-width:300px;position:relative}.combobox-control{align-items:center;gap:var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);height:38px;padding:0 var(--space-2) 0 var(--space-3);cursor:text;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:flex}.combobox-control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.combobox-control input{min-width:0;font:inherit;font-size:var(--text-md);color:var(--text);background:0 0;border:none;flex:1;padding:0}.combobox-control input::placeholder{color:var(--text-subtle)}.combobox-control input:focus{outline:none}.combobox-caret{color:var(--text-subtle);flex:none;font-size:10px}.combobox-list{z-index:30;padding:var(--space-1);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);max-height:288px;box-shadow:var(--shadow-lg);margin:0;list-style:none;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto}.combobox-opt{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2_5,10px);border-radius:var(--radius-sm);font-size:var(--text-md);cursor:pointer;color:var(--text);display:flex}.combobox-opt.active{background:var(--surface-muted)}.combobox-opt[aria-selected=true]:after{content:"✓";color:var(--text-subtle);font-size:var(--text-sm);margin-left:auto}.combobox-muted{color:var(--text-subtle)}.combobox-opt.create{flex-direction:column;align-items:stretch;gap:0}.combobox-opt.create.active{background:0 0}.combobox-opt.create{border-top:1px solid var(--border-divider);margin-top:var(--space-1);padding-top:var(--space-2_5,10px)}.combobox-create-hint{color:var(--accent-text);font-size:var(--text-md);font-weight:var(--fw-semibold);align-items:center;display:flex}.combobox-create-field{align-items:center;gap:var(--space-2);display:flex}.combobox-create-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-width:0;height:32px;padding:0 var(--space-2_5,10px);font:inherit;font-size:var(--text-md);color:var(--text);flex:1}.combobox-create-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.combobox-create{gap:var(--space-2_5,10px);padding:var(--space-1);flex-direction:column;display:flex}.combobox-create-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.btn-mini{font-size:var(--text-sm);padding:var(--space-1_5) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:var(--fw-medium)}.btn-mini.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-mini.ghost{color:var(--text-muted);border-color:#0000}.client-cell{align-items:center;gap:var(--space-1_5);display:inline-flex}.client-cell.none{color:var(--text-subtle)}.row-menu{display:inline-block;position:relative}.row-menu-btn{cursor:pointer;color:var(--text-muted);border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;padding:2px 8px;font-size:15px;line-height:1}.row-menu-btn:hover{background:var(--surface-muted);color:var(--text)}.row-menu-pop{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:172px;box-shadow:var(--shadow-lg);padding:var(--space-1);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.row-menu-pop button{text-align:left;width:100%;padding:var(--space-2) var(--space-2_5,10px);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-base);color:var(--text);cursor:pointer;background:0 0;border:none;display:block}.row-menu-pop button:hover{background:var(--surface-muted)}.row-menu-pop button.danger-text{color:var(--danger)}.row-menu-pop button.danger-text:hover{background:var(--danger-bg)}.row-menu-pop-fixed{z-index:60;position:fixed}.section-title{font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);margin:0 0 var(--space-4);letter-spacing:var(--tracking-tight)}.proj-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.proj-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.proj-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-2px)}.proj-thumb{aspect-ratio:16/9;background:var(--surface-sunken);overflow:hidden}.proj-thumb img{object-fit:cover;width:100%;height:100%;display:block}.proj-thumb-empty{place-items:center;width:100%;height:100%;display:grid}.proj-card-body{gap:var(--space-1);padding:var(--space-3) var(--space-3_5,14px) var(--space-3_5,14px);flex-direction:column;display:flex}.proj-card-client{font-size:var(--text-xs);color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.proj-card-name{font-size:var(--text-md);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.proj-card-foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-1);display:flex}.proj-card-date{font-size:var(--text-xs);color:var(--text-subtle);font-variant-numeric:tabular-nums}.subtle-link{font-size:var(--text-sm);color:var(--text-muted)}.subtle-link:hover{color:var(--accent-text);text-decoration:none}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.section-head .section-title{margin:0}.logo-uploader{align-items:center;gap:var(--space-3);display:flex}.logo-dropzone{width:240px;height:132px;padding:var(--space-3);border:1.5px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-subtle);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.logo-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.logo-dropzone.dragover{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.logo-dropzone.has-image{border-style:solid;border-color:var(--border);background:var(--surface)}.logo-dropzone input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.logo-dropzone img{object-fit:contain;max-width:100%;max-height:100%}.logo-dropzone-hint{align-items:center;gap:var(--space-1_5,6px);text-align:center;font-size:var(--text-xs);pointer-events:none;flex-direction:column;line-height:1.4;display:flex}.logo-dropzone-overlay{color:#fff;font-size:var(--text-sm);font-weight:var(--fw-medium);opacity:0;transition:opacity var(--dur-fast) var(--ease-out);pointer-events:none;background:#0f172a8c;place-items:center;display:grid;position:absolute;inset:0}.logo-dropzone.has-image:hover .logo-dropzone-overlay{opacity:1}.logo-remove-link{cursor:pointer;font-size:var(--text-sm);color:var(--danger);background:0 0;border:none;padding:0}.logo-remove-link:hover{text-decoration:underline}.client-logo-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-sunken);place-items:center;width:72px;height:40px;display:grid;overflow:hidden}.client-logo-cell img{object-fit:contain;max-width:100%;max-height:100%}.client-logo-none{color:var(--text-subtle);font-size:var(--text-sm)}.client-name-cell{font-weight:var(--fw-semibold)}.client-date-cell{color:var(--text-muted);font-variant-numeric:tabular-nums}.client-actions-cell{text-align:right}.client-actions{gap:var(--space-2);justify-content:flex-end;align-items:center;display:inline-flex}.pager{justify-content:center;align-items:center;gap:var(--space-4);margin-top:var(--space-5);display:flex}.pager-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text);align-items:center;display:inline-flex}.pager-btn:hover{border-color:var(--border-strong);text-decoration:none}.pager-btn.disabled{color:var(--text-subtle);background:var(--surface-sunken);cursor:default;pointer-events:none}.pager-info{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.runall-toggle{align-items:center;gap:var(--space-1_5,6px);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.runall-toggle input{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.pipeline-stages{gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);flex-wrap:wrap;display:flex}.pipeline-stage{padding:var(--space-1_5,6px) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--fw-medium);border:1px solid var(--border);color:var(--text-subtle);background:var(--surface)}.pipeline-stage.done{color:var(--accent-text);border-color:var(--accent-soft);background:var(--accent-soft)}.pipeline-stage.active{color:#fff;background:var(--accent);border-color:var(--accent)}
