:root{--bg: #090909;--surface-1: #111111;--surface-2: #171717;--surface-3: #1D1D1D;--sunken: #0C0C0C;--line: #303030;--line-strong: #4A4A4A;--ink: #F4F4F2;--ink-muted: rgba(255, 255, 255, .66);--ink-faint: rgba(255, 255, 255, .55);--accent: #F2F2EF;--accent-hover: #FFFFFF;--accent-press: #DDDDDA;--accent-ink: #111111;--accent-soft: color-mix(in oklab, var(--accent) 10%, transparent);--accent-line: color-mix(in oklab, var(--accent) 28%, transparent);--success: #78C091;--success-soft: color-mix(in oklab, var(--success) 13%, transparent);--warn: #D8AC62;--warn-soft: color-mix(in oklab, var(--warn) 13%, transparent);--danger: #C0442E;--danger-hover: #D65540;--danger-fg: #E06A55;--danger-soft: color-mix(in oklab, var(--danger) 16%, transparent);--info: #8CAFC9;--info-soft: color-mix(in oklab, var(--info) 12%, transparent);--media-ink: #FFFFFF;--media-scrim: rgba(0, 0, 0, .58);--font-serif: "MiSans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-sans: "MiSans", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-brand: "MiSans", "PingFang SC", "Microsoft YaHei", sans-serif;--fs-display: clamp(28px, 2.2vw + 18px, 40px);--fs-h1: clamp(22px, 1.1vw + 16px, 28px);--fs-h2: clamp(18px, .6vw + 14px, 22px);--fs-h3: 16px;--fs-body: 14px;--fs-sm: 13px;--fs-xs: 12px;--fs-2xs: 11px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 600;--lh-tight: 1.18;--lh-snug: 1.38;--lh-normal: 1.6;--lh-display: 1.25;--tracking-tight: 0;--tracking-normal: 0;--tracking-wide: 0;--tracking-wider: 0;--tracking-widest: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: clamp(24px, 2vw, 32px);--space-8: clamp(28px, 3vw, 40px);--space-9: clamp(32px, 4vw, 48px);--space-10: clamp(40px, 5vw, 56px);--space-11: clamp(48px, 6vw, 72px);--space-12: clamp(56px, 7vw, 88px);--control-h-sm: 30px;--control-h: 38px;--control-h-lg: 44px;--panel-padding: var(--space-5);--page-gutter: var(--space-7);--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .55);--ease: cubic-bezier(.16, 1, .3, 1);--t-fast: .12s var(--ease);--t-base: .22s var(--ease);--t-slow: .36s var(--ease);--focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px rgba(255, 255, 255, .58);--nav-w: 248px;--nav-w-admin: 232px;--topbar-h: 60px;--content-max: 1560px;--z-nav: 30;--z-topbar: 40;--z-dropdown: 60;--z-toast: 80;--z-modal: 79}.app-shell-workspace,body.app-theme-workspace{--bg: #0C0D0E;--surface-1: #121416;--surface-2: #181B1E;--surface-3: #202428;--sunken: #090A0B;--line: #292E32;--line-strong: #3B4248;--ink: #F3F6F5;--ink-muted: #A9B0AD;--ink-faint: #7D8682;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .34);--shadow-md: 0 8px 24px rgba(0, 0, 0, .28);--panel-padding: clamp(20px, 1.8vw, 28px);--page-gutter: clamp(20px, 2.4vw, 36px);--workspace-section-gap: clamp(30px, 3vw, 44px);background:var(--bg)}.app-shell-workspace ::selection,body.app-theme-workspace ::selection{color:var(--accent-ink);background:var(--accent)}*,*:before,*:after{box-sizing:border-box}:root{color-scheme:dark}html{-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,figure{margin:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}::selection{color:var(--ink);background:#4a4a48}.tnum{font-variant-numeric:tabular-nums}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--r-pill);border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--ink-faint);background-clip:content-box}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.t-display{font-family:var(--font-serif);font-size:var(--fs-display);font-weight:var(--fw-medium);line-height:var(--lh-display);letter-spacing:0;text-wrap:balance}.t-h1{font-family:var(--font-serif);font-size:var(--fs-h1);font-weight:var(--fw-medium);line-height:var(--lh-tight);letter-spacing:0;text-wrap:balance}.t-h2{font-family:var(--font-serif);font-size:var(--fs-h2);font-weight:var(--fw-medium);line-height:var(--lh-snug);letter-spacing:0;text-wrap:balance}.t-h3{font-family:var(--font-sans);font-size:var(--fs-h3);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.t-body{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-normal);text-wrap:pretty}.t-sm{font-size:var(--fs-sm);color:var(--ink-muted)}.t-xs{font-size:var(--fs-xs);color:var(--ink-muted)}.t-muted{color:var(--ink-muted)}.t-faint{color:var(--ink-faint)}.t-accent{color:var(--accent)}.t-brand{font-family:var(--font-brand);font-weight:var(--fw-semibold);letter-spacing:0}.t-figure{font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);letter-spacing:0}.btn{--btn-bg: var(--surface-2);--btn-fg: var(--ink);--btn-bd: var(--line-strong);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-4);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--btn-fg);background:var(--btn-bg);border:1px solid var(--btn-bd);border-radius:var(--r-md);cursor:pointer;white-space:nowrap;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast),color var(--t-fast),opacity var(--t-fast)}.btn:hover{background:var(--surface-3);border-color:var(--line-strong)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn:disabled,.btn[aria-disabled=true]{opacity:.42;cursor:not-allowed;transform:none}.btn .icon{width:16px;height:16px;flex:none}.btn-primary{--btn-bg: var(--accent);--btn-fg: var(--accent-ink);--btn-bd: var(--accent);font-weight:var(--fw-semibold)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active{background:var(--accent-press);border-color:var(--accent-press);transform:translateY(1px)}.btn-secondary{--btn-bg: var(--surface-2);--btn-bd: var(--line-strong)}.btn-secondary:hover{background:var(--surface-3)}.btn-ghost{--btn-bg: transparent;--btn-bd: transparent;--btn-fg: var(--ink-muted)}.btn-ghost:hover{background:var(--surface-2);color:var(--ink);border-color:transparent}.btn-text{--btn-bg: transparent;--btn-bd: transparent;--btn-fg: var(--ink-muted);height:auto;padding:0 var(--space-1)}.btn-text:hover{background:transparent;color:var(--accent);border-color:transparent}.btn-text:active{transform:none}.btn-danger{--btn-bg: var(--danger-soft);--btn-fg: var(--danger-fg);--btn-bd: color-mix(in oklab, var(--danger) 36%, transparent)}.btn-danger:hover{background:color-mix(in oklab,var(--danger) 22%,transparent);border-color:color-mix(in oklab,var(--danger) 52%,transparent)}.btn-danger-solid{--btn-bg: var(--danger);--btn-fg: #fff;--btn-bd: var(--danger)}.btn-danger-solid:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.btn-sm{height:var(--control-h-sm);padding:0 var(--space-3);font-size:var(--fs-xs)}.btn-lg{height:var(--control-h-lg);padding:0 var(--space-6);font-size:var(--fs-body)}.btn-icon{width:38px;padding:0}.btn-icon.btn-sm{width:30px;height:30px}.btn-block{display:flex;width:100%}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink-muted)}.field-hint{font-size:var(--fs-xs);color:var(--ink-muted)}.field-error{font-size:var(--fs-xs);color:var(--danger-fg)}.input,.textarea,.select{width:100%;min-height:38px;padding:9px var(--space-3);font:inherit;font-size:var(--fs-sm);color:var(--ink);background:var(--sunken);border:1px solid var(--line-strong);border-radius:var(--r-md);transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.input::placeholder,.textarea::placeholder{color:var(--ink-faint)}.input:hover,.textarea:hover,.select:hover{border-color:var(--line-strong)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:#ffffffb8;box-shadow:var(--focus-ring);background:var(--bg)}.textarea{min-height:96px;resize:vertical;line-height:var(--lh-normal)}.input:disabled,.textarea:disabled,.select:disabled{opacity:.5;cursor:not-allowed}.field-invalid .input,.field-invalid .textarea,.field-invalid .select{border-color:color-mix(in oklab,var(--danger) 55%,transparent)}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:var(--space-8);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23A79E91' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}.select option{background:var(--surface-2);color:var(--ink)}.select option:checked,.select option:hover{background:var(--surface-3);color:var(--ink)}.lk-select{position:relative;width:100%;min-width:0}.lk-select__trigger{width:100%;min-height:42px;display:flex;align-items:center;gap:var(--space-2);padding:9px var(--space-3);color:var(--ink);background:var(--sunken);border:1px solid var(--line-strong);border-radius:var(--r-md);font:inherit;font-size:var(--fs-sm);text-align:left;cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}.lk-select__trigger:hover{border-color:var(--ink-faint)}.lk-select__trigger:focus-visible,.lk-select.is-open .lk-select__trigger{outline:none;border-color:var(--accent-line);box-shadow:var(--focus-ring);background:var(--bg)}.lk-select__trigger:disabled{opacity:.5;cursor:not-allowed}.lk-select__leading{flex:none;color:var(--ink-faint);font-size:9px;line-height:1}.lk-select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lk-select__value.is-placeholder{color:var(--ink-faint)}.lk-select__chevron{width:15px;height:15px;flex:none;color:var(--ink-muted);transition:transform var(--t-fast)}.lk-select.is-open .lk-select__chevron{transform:rotate(180deg)}.lk-select__listbox{position:absolute;z-index:var(--z-dropdown);top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow-y:auto;padding:5px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-md)}.lk-select__option{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px var(--space-3);border-radius:var(--r-sm);color:var(--ink-muted);font-size:var(--fs-sm);cursor:pointer;-webkit-user-select:none;user-select:none}.lk-select__option.is-active{background:var(--surface-3);color:var(--ink)}.lk-select__option.is-selected{color:var(--ink);font-weight:var(--fw-medium)}.lk-select__option[aria-disabled=true]{opacity:.42;cursor:not-allowed}.lk-select__check{width:15px;height:15px;flex:none;color:var(--accent)}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:38px}.input-group .input-icon{position:absolute;left:var(--space-3);width:16px;height:16px;color:var(--ink-faint);pointer-events:none}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.input[type=date],.input[type=datetime-local],.input[type=time],.input[type=month]{cursor:pointer}.input[type=date]::-webkit-calendar-picker-indicator,.input[type=datetime-local]::-webkit-calendar-picker-indicator,.input[type=time]::-webkit-calendar-picker-indicator,.input[type=month]::-webkit-calendar-picker-indicator{filter:invert(.7);opacity:.7;cursor:pointer;transition:opacity var(--t-fast)}.input[type=date]::-webkit-calendar-picker-indicator:hover,.input[type=datetime-local]::-webkit-calendar-picker-indicator:hover{opacity:1}.input[type=number]{-moz-appearance:textfield}.input[type=number]::-webkit-outer-spin-button,.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;width:14px;height:14px;cursor:pointer;background:var(--ink-faint);mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 6 6 18M6 6l12 12' stroke='black' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:-4px 0;width:100%;height:24px;border-radius:0;background:linear-gradient(var(--accent),var(--accent)) left center/var(--val, 50%) 4px no-repeat,linear-gradient(var(--surface-3),var(--surface-3)) left center/100% 4px no-repeat;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);cursor:pointer;transition:transform var(--t-fast);box-shadow:0 0 0 2px var(--bg)}.slider::-webkit-slider-thumb:hover{transform:scale(1.08)}.slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;border:2px solid var(--bg);background:var(--accent);cursor:pointer}.slider:focus-visible{outline:none;box-shadow:var(--focus-ring)}.switch{position:relative;display:inline-flex;width:38px;height:22px;flex:none}.switch input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;cursor:pointer;margin:0}.switch .track{width:100%;height:100%;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--line);transition:background var(--t-base),border-color var(--t-base)}.switch .thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--ink-muted);transition:transform var(--t-base),background var(--t-base)}.switch input:checked+.track{background:var(--accent-soft);border-color:var(--accent-line)}.switch input:checked+.track+.thumb{transform:translate(16px);background:var(--accent)}.switch input:focus-visible+.track{box-shadow:var(--focus-ring)}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--sunken);border:1px solid var(--line);border-radius:var(--r-md)}.segmented button{height:30px;padding:0 var(--space-3);border:0;border-radius:var(--r-sm);background:transparent;color:var(--ink-muted);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.segmented button:hover{color:var(--ink)}.segmented button[aria-selected=true]{background:var(--surface-3);color:var(--ink)}.panel{background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--panel-padding)}.panel-raised{background:var(--surface-2)}.panel-hover{transition:border-color var(--t-base),transform var(--t-base)}.panel-hover:hover{border-color:var(--line-strong);transform:translateY(-2px)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.panel-title{font-family:var(--font-sans);font-size:var(--fs-h3);font-weight:var(--fw-semibold)}.divider{height:1px;background:var(--line);border:0;margin:var(--space-4) 0}.divider-v{width:1px;align-self:stretch;background:var(--line);border:0;margin:0 var(--space-2)}.canvas{background-color:var(--sunken);border:1px solid var(--line);border-radius:var(--r-lg)}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 var(--space-2);font-size:var(--fs-2xs);font-weight:var(--fw-medium);letter-spacing:.01em;border-radius:var(--r-sm);background:var(--surface-3);color:var(--ink-muted);border:1px solid var(--line);white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge-accent{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.badge-success{color:var(--success);background:var(--success-soft);border-color:color-mix(in oklab,var(--success) 32%,transparent)}.badge-warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in oklab,var(--warn) 32%,transparent)}.badge-danger{color:var(--danger-fg);background:var(--danger-soft);border-color:color-mix(in oklab,var(--danger) 32%,transparent)}.badge-info{color:var(--info);background:var(--info-soft);border-color:color-mix(in oklab,var(--info) 32%,transparent)}.badge-pill{border-radius:var(--r-pill);padding:0 var(--space-3)}.tag{display:inline-flex;align-items:center;height:20px;padding:0 var(--space-2);font-size:var(--fs-2xs);color:var(--ink-muted);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);letter-spacing:.01em}.status{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--ink-muted);white-space:nowrap}.status .dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--ink-faint)}.status-pending .dot{background:var(--ink-faint)}.status-submitted .dot{background:var(--info)}.status-running .dot{background:var(--accent);animation:pulse 1.6s var(--ease) infinite}.status-succeeded .dot{background:var(--success)}.status-failed .dot{background:var(--danger)}.status-active .dot{background:var(--success)}.status-timeout .dot{background:var(--warn)}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--accent-line)}70%{box-shadow:0 0 0 5px transparent}to{box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion: reduce){.status-running .dot{animation:none}}.status-unused .dot{background:var(--success)}.status-used .dot{background:var(--ink-faint)}.status-voided .dot{background:var(--danger)}.status-expired .dot{background:var(--warn)}.table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;overflow-x:auto;background:var(--surface-1)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table thead th{position:sticky;top:0;z-index:1;text-align:left;font-weight:var(--fw-medium);color:var(--ink-muted);font-size:var(--fs-xs);padding:var(--space-3) var(--space-4);background:var(--surface-2);border-bottom:1px solid var(--line-strong);white-space:nowrap}.table tbody td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);color:var(--ink-muted);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr{transition:background var(--t-fast)}.table tbody tr:hover{background:var(--surface-2)}.table td .strong{color:var(--ink);font-weight:var(--fw-medium)}.table .num{font-variant-numeric:tabular-nums;text-align:right}.table-toolbar{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line);background:var(--surface-1);flex-wrap:wrap}.pagination{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}.pagination .page{min-width:30px;height:30px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;color:var(--ink-muted);cursor:pointer;border:1px solid transparent}.pagination .page:hover{background:var(--surface-2);color:var(--ink)}.pagination .page[aria-current=page]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.nav{width:var(--nav-w);flex:none;display:flex;flex-direction:column;height:100vh;position:sticky;top:0;background:var(--surface-1);border-right:1px solid var(--line);padding:var(--space-4) var(--space-3)}.nav-admin{width:var(--nav-w-admin)}.nav-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-5)}.nav-brand .name{flex:1}.nav-close{display:none;width:38px;height:38px;place-items:center;border:0;border-radius:var(--r-md);background:transparent;color:var(--ink-muted);font:inherit;font-size:24px;cursor:pointer}.nav-close svg{width:20px;height:20px}.nav-close:hover{background:var(--surface-2);color:var(--ink)}.nav-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-brand .name{font-family:var(--font-brand);font-size:22px;font-weight:var(--fw-semibold);letter-spacing:0;color:var(--ink)}.nav-section{font-size:var(--fs-2xs);color:var(--ink-faint);letter-spacing:0;padding:var(--space-4) var(--space-3) var(--space-2)}.nav-item{display:flex;align-items:center;gap:var(--space-3);height:38px;padding:0 var(--space-3);border-radius:var(--r-md);color:var(--ink-muted);font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;position:relative;transition:background var(--t-fast),color var(--t-fast)}.nav-item .icon{width:18px;height:18px;flex:none}.nav-item:hover,.nav-item[aria-current=page]{background:var(--surface-2);color:var(--ink)}.nav-item[aria-current=page]:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:var(--r-pill);background:var(--accent)}.nav-item[aria-current=page] .icon{color:var(--accent)}.nav-item .tag,.nav-item .badge{margin-left:auto}.nav-footer{margin-top:auto;padding-top:var(--space-4);border-top:1px solid var(--line)}.nav-workspace{width:var(--nav-w);padding:24px 14px 18px;background:var(--sunken);border-right-color:var(--line);overflow:hidden}.nav-workspace .nav-brand{padding:4px 10px 30px}.nav-workspace .nav-brand .name{font-size:23px;line-height:1;letter-spacing:0}.nav-workspace .nav-menu{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.nav-workspace .nav-group+.nav-group{margin-top:24px}.nav-workspace .nav-group-label{padding:0 10px 8px;color:var(--ink-faint);font-size:var(--fs-2xs);font-weight:var(--fw-medium);line-height:1.4}.nav-workspace .nav-group-items{display:flex;flex-direction:column;gap:2px}.nav-workspace .nav-group.is-grid .nav-group-items{display:flex;flex-direction:column;gap:2px;padding:0;border-radius:0;background:transparent}.nav-workspace .nav-group.is-grid .nav-item{flex-direction:row;justify-content:flex-start;gap:var(--space-3);height:42px;padding:0 10px;font-size:var(--fs-sm);white-space:nowrap}.nav-workspace .nav-group.is-grid .nav-item .icon{width:26px;height:26px}.nav-workspace .nav-item{height:42px;padding:0 10px;border-radius:7px;color:var(--ink-muted);font-size:var(--fs-sm);font-weight:var(--fw-regular);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.nav-workspace .nav-item:before{content:none}.nav-workspace .nav-item .icon{display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-sm);color:var(--ink-faint);transition:background var(--t-fast),color var(--t-fast)}.nav-workspace .nav-item .icon svg{width:16px;height:16px}.nav-workspace .nav-item:hover{background:var(--surface-2);color:var(--ink)}.nav-workspace .nav-item:hover .icon{color:var(--ink)}.nav-workspace .nav-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-workspace .nav-item:active{transform:scale(.97)}.nav-workspace .nav-item[aria-current=page]{background:var(--accent-soft);color:var(--ink);font-weight:var(--fw-medium)}.nav-workspace .nav-item[aria-current=page] .icon{background:transparent;color:var(--accent)}.nav-workspace .nav-footer{padding-top:14px;border-top-color:color-mix(in oklab,var(--line) 72%,transparent)}.nav-account{display:flex;flex-direction:column;gap:12px}.nav-account-identity{display:flex;align-items:center;gap:10px;min-width:0;padding:0 4px}.nav-account-avatar{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:9px;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--ink);font-size:var(--fs-xs);font-weight:var(--fw-semibold)}.nav-account-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.nav-account-email{overflow:hidden;color:var(--ink);font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.nav-account-role{color:var(--ink-faint);font-size:var(--fs-2xs);line-height:1.35}.nav-account-credit{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:11px 12px;border-radius:var(--r-md);background:var(--surface-1);border:1px solid var(--line)}.nav-account-credit-label{align-self:center;color:var(--ink-faint);font-size:var(--fs-2xs)}.nav-account-credit-value{color:var(--ink);font-size:20px;font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold);letter-spacing:0;line-height:1;text-align:right}.nav-account-credit.is-low .nav-account-credit-value{color:var(--danger-fg)}.nav-account-frozen{grid-column:1 / -1;color:var(--ink-faint);font-size:10px;line-height:1.35;text-align:right}.nav-account-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px}.nav-account-admin{grid-column:1 / -1}.nav-account-redeem,.nav-account-logout{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 8px;border:0;border-radius:7px;font:inherit;font-size:var(--fs-2xs);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.nav-account-redeem{background:var(--surface-2);color:var(--ink)}.nav-account-logout{background:transparent;color:var(--ink-faint)}.nav-account-redeem:hover{background:var(--surface-3)}.nav-account-logout:hover{background:var(--surface-1);color:var(--ink)}.nav-account-redeem:focus-visible,.nav-account-logout:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-account-redeem:active,.nav-account-logout:active{transform:scale(.97)}.credit-bar.topbar-credit-mobile{display:none}.topbar{height:var(--topbar-h);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-6);border-bottom:1px solid var(--line);background:var(--surface-1);position:sticky;top:0;z-index:var(--z-topbar)}.app-shell-workspace .topbar{background:var(--surface-1)}.topbar .spacer{flex:1}.topbar-title{font-family:var(--font-serif);font-size:var(--fs-h2);font-weight:var(--fw-semibold);margin:0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.credit-bar{display:inline-flex;align-items:center;gap:var(--space-3);height:38px;padding:0 var(--space-2) 0 var(--space-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill)}.credit-bar .label{font-size:var(--fs-2xs);color:var(--ink-muted);line-height:1.2}.credit-bar .value{font-size:var(--fs-h3);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--accent);line-height:1.2}.credit-bar.is-low .value{color:var(--danger-hover)}@media (max-width: 480px){.credit-bar .label{display:none}.credit-bar{gap:var(--space-2);padding:0 var(--space-3)}}.avatar{width:32px;height:32px;border-radius:50%;background:var(--surface-3);border:1px solid var(--line);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--ink-muted);overflow:hidden;flex:none}.avatar img{width:100%;height:100%;object-fit:cover}.progress{width:100%;height:6px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.progress .bar{height:100%;border-radius:inherit;background:var(--accent);transition:width var(--t-base)}.progress-indeterminate .bar{width:35%;animation:indet 1.3s var(--ease) infinite}@keyframes indet{0%{margin-left:-35%}to{margin-left:100%}}@media (prefers-reduced-motion: reduce){.progress-indeterminate .bar{animation:none;width:100%;opacity:.5}}.empty,.error-state{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;gap:var(--space-2);padding:var(--space-8) var(--space-5);color:var(--ink-faint)}.empty-title,.error-title{font-family:var(--font-sans);font-size:var(--fs-h3);font-weight:var(--fw-semibold);color:var(--ink-muted)}.empty-desc,.error-desc{font-size:var(--fs-sm);max-width:340px;line-height:var(--lh-normal);text-wrap:pretty}.skeleton{background:var(--surface-2);border-radius:var(--r-sm);position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,color-mix(in oklab,var(--surface-3) 80%,transparent),transparent);transform:translate(-100%);animation:shimmer 1.5s linear infinite}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skeleton:after{animation:none}}.skeleton-text{height:12px;border-radius:var(--r-pill)}.skeleton-thumb{aspect-ratio:1;width:100%;border-radius:var(--r-md)}.toast-stack{position:fixed;right:var(--space-6);bottom:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);z-index:var(--z-toast)}.toast{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);min-width:280px;max-width:380px;padding:var(--space-3) var(--space-4);background:var(--surface-3);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);overflow:hidden}.toast .toast-icon{width:18px;height:18px;flex:none;margin-top:1px}.toast .toast-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.toast .toast-desc{font-size:var(--fs-xs);color:var(--ink-muted);margin-top:2px}.toast .toast-bar{position:absolute;left:0;top:0;bottom:0;width:3px}.toast-success .toast-icon{color:var(--success)}.toast-success .toast-bar{background:var(--success)}.toast-error .toast-icon{color:var(--danger-hover)}.toast-error .toast-bar{background:var(--danger)}.toast-warn .toast-icon{color:var(--warn)}.toast-warn .toast-bar{background:var(--warn)}.toast-info .toast-icon{color:var(--info)}.toast-info .toast-bar{background:var(--info)}.app-shell{display:flex;min-height:100vh}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-content{flex:1;padding:var(--page-gutter)}.content-wrap{width:100%;max-width:var(--content-max);margin:0 auto}.row{display:flex;align-items:center;gap:var(--space-3)}.col{display:flex;flex-direction:column;gap:var(--space-3)}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.spacer{flex:1}.grid{display:grid;gap:var(--space-4)}.topbar-menu{display:none;align-items:center;justify-content:center;width:38px;height:38px;margin-right:var(--space-2);padding:0;border:0;background:transparent;color:var(--ink-muted);border-radius:8px;cursor:pointer}.topbar-menu svg{width:22px;height:22px}.topbar-menu:hover{background:var(--accent-soft);color:var(--accent)}.nav-backdrop{display:none}@media (max-width: 860px){.app-shell-workspace{--page-gutter: var(--space-4)}.nav{position:fixed;left:0;z-index:var(--z-nav);transform:translate(-100%);transition:transform var(--t-base)}.nav-workspace{width:min(var(--nav-w),calc(100vw - 32px));height:100dvh}.credit-bar.topbar-credit-mobile{display:inline-flex}.nav.open{transform:none}.nav-close{display:grid}.app-content{padding:var(--page-gutter)}.topbar-menu{display:inline-flex}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-nav) - 1)}}@supports (padding: env(safe-area-inset-bottom)){.panel-foot,.gen-bar,.submit-bar,.sticky-foot{padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}.btn:disabled,[aria-disabled=true]{cursor:not-allowed}@media (max-width: 860px){.work-info .time,.card-time,.meta-time{color:var(--ink-muted)}}@keyframes lk-pulse-soft{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes lk-shake-gentle{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes lk-breath{0%,to{opacity:.85}50%{opacity:1}}.lk-emo-pulse{animation:lk-pulse-soft .28s var(--ease) 1}.lk-emo-shake{animation:lk-shake-gentle .24s var(--ease) 1}.lk-emo-breath{animation:lk-breath 1.8s ease-in-out infinite}.lk-emo-soft{transition:opacity .25s var(--ease),transform .25s var(--ease)}.lk-success-flash{animation:lk-pulse-soft .28s var(--ease) 1;background:var(--accent-soft);transition:background .32s var(--ease)}@media (prefers-reduced-motion: reduce){.lk-emo-pulse,.lk-emo-shake,.lk-emo-breath,.lk-success-flash{animation:none!important}}.toast.toast-error{animation:lk-shake-gentle .24s var(--ease) 1}.redeem-result.show{animation:lk-pulse-soft .28s var(--ease) 1}.status.status-running .dot{animation:lk-breath 1.8s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.toast.toast-error,.redeem-result.show,.status.status-running .dot{animation:none!important}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.lk-fade-up,.lk-fade-up-delay-1,.lk-fade-up-delay-2,.lk-fade-up-delay-3{opacity:1;animation:none}.lk-stagger>*{opacity:1;animation:none}.lk-stagger>*:nth-child(1){animation-delay:.03s}.lk-stagger>*:nth-child(2){animation-delay:.06s}.lk-stagger>*:nth-child(3){animation-delay:.09s}.lk-stagger>*:nth-child(4){animation-delay:.12s}.lk-stagger>*:nth-child(5){animation-delay:.15s}.lk-stagger>*:nth-child(6){animation-delay:.18s}.lk-stagger>*:nth-child(n+7){animation-delay:.21s}.topbar,.app-content,.auth-panel{animation:none}@media (prefers-reduced-motion: reduce){.lk-fade-up,.lk-fade-up-delay-1,.lk-fade-up-delay-2,.lk-fade-up-delay-3,.topbar,.app-content,.auth-panel{animation:none!important;opacity:1!important;transform:none!important}.nav-workspace .nav-item,.nav-workspace .nav-item .icon,.nav-account-redeem,.nav-account-logout{transition:none!important}.nav-workspace .nav-item:active,.nav-account-redeem:active,.nav-account-logout:active{transform:none}}.lk-overlay,.modal-backdrop,.drawer-mask,.drawer-backdrop,.nav-backdrop,.lk-dialog-backdrop,#redeemModal{background:#000000fa!important;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important;transition:opacity .5s cubic-bezier(.16,1,.3,1)!important}.drawer,.drawer-panel,.lk-dialog{transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s cubic-bezier(.16,1,.3,1)}@media (prefers-reduced-motion: reduce){.lk-overlay,.modal-backdrop,.drawer-mask,.lk-dialog-backdrop,.drawer,.lk-dialog{transition:none!important}}.lk-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-6)}.lk-dialog{width:min(440px,100%);background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--space-6)}.lk-dialog-head{font-size:var(--fs-h3);font-weight:var(--fw-semibold);color:var(--ink);letter-spacing:var(--tracking-tight)}.lk-dialog-body{margin-top:var(--space-3);color:var(--ink-muted);font-size:var(--fs-body);line-height:var(--lh-normal)}.lk-dialog-input{margin-top:var(--space-4);width:100%;background:var(--sunken);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--space-2) var(--space-3);font-size:var(--fs-body);font-family:inherit}.drawer-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal)}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0}.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(520px,100%);max-width:100%;background:var(--surface-1);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:lk-drawer-in .5s cubic-bezier(.16,1,.3,1) both}@keyframes lk-drawer-in{0%{transform:translate(48px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.drawer-panel{animation:none}}.drawer-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--line)}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-6)}.drawer-footer{flex:none;padding:var(--space-4) var(--space-6);border-top:1px solid var(--line)}.lk-dialog-input:focus{outline:none;border-color:var(--line-strong)}.lk-dialog-foot{margin-top:var(--space-6);display:flex;justify-content:flex-end;gap:var(--space-3)}.field:has(.lk-prompt-history){position:relative}.lk-prompt-history{display:inline-flex}.lk-prompt-history__toggle{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 var(--space-2);font-size:var(--fs-xs);color:var(--ink-muted);background:transparent;border:0;border-radius:var(--r-sm);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.lk-prompt-history__toggle:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.lk-prompt-history__toggle:disabled{color:var(--ink-faint);cursor:default;opacity:.6}.lk-prompt-history__menu{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:260px;overflow-y:auto;background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);padding:var(--space-1)}.lk-prompt-history__item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-xs);color:var(--ink-muted);background:transparent;border:0;border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--t-fast),color var(--t-fast)}.lk-prompt-history__item:hover{background:var(--surface-2);color:var(--ink)}.lk-prompt-history__foot{border-top:1px solid var(--line);margin-top:var(--space-1);padding-top:var(--space-1);display:flex;justify-content:flex-end}.lk-prompt-history__clear{min-height:24px;padding:0 var(--space-2);font-size:var(--fs-2xs);color:var(--ink-faint);background:transparent;border:0;border-radius:var(--r-sm);cursor:pointer;transition:color var(--t-fast),background var(--t-fast)}.lk-prompt-history__clear:hover{color:var(--danger-fg);background:var(--surface-2)}@media (pointer: coarse){.btn,.segmented>button,.pagination .page,.nav-item,.topbar-menu,.nav-close,.nav-account-redeem,.nav-account-logout,.lk-prompt-history__toggle,.lk-prompt-history__item,.lk-prompt-history__clear{min-height:44px}.btn-icon,.topbar-menu,.nav-close,.pagination .page{min-width:44px}.input,.select,.textarea{min-height:44px}.switch{width:52px;height:44px;align-items:center;justify-content:center}.switch .track{width:38px;height:22px}.switch .thumb{top:14px;left:10px}}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--ink)}img,video{max-width:100%;display:block}button{font-family:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap}.full-loader{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg);z-index:9999}.full-loader .ring{width:36px;height:36px;border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.full-loader .ring{animation:none}}@media (max-width: 520px){.topbar-logout-label{display:none}}
