:root{--cream: #F7F6FC;--white: #FFFFFF;--rose-glass: #F1EEFA;--blush: #EDEAFB;--peach: #FFD9BE;--coral: #FF6B35;--hot-coral: #FF2E7E;--cherry: #FF2E7E;--ruby: #FF5C93;--champagne: #FFB238;--plum: #1E1B3A;--ink: #14101F;--warm-gray: #8B85A0;--border-fine: #EAE7F2;--border-default: var(--border-fine);--accent-indigo: #4F3CC9;--accent-indigo-soft: #EDEAFB;--cobalt: #2F7BFF;--cobalt-soft: #EAF2FF;--plum-80: #2A2650;--plum-60: #3D3870;--cream-deep: #EFEDF7;--rose-deep: #EDEAFB;--surface-app: var(--cream);--surface-card: var(--white);--surface-card-rose: var(--rose-glass);--surface-inset: var(--cream-deep);--surface-dark: var(--plum);--surface-sidebar: #FFFFFF;--surface-raised: var(--white);--surface-app-translucent: rgba(247,246,252,.96);--text-strong: #17132A;--text-body: #3F3A56;--text-muted: var(--warm-gray);--text-on-dark: #F5F3FA;--text-on-accent:#FFFFFF;--text-faint: #B0AAC4;--border: var(--border-fine);--border-strong: #D6D1E8;--border-on-dark:#4A3B6E;--accent: var(--coral);--accent-hot: var(--hot-coral);--accent-deep: #FF7A45;--accent-ruby: var(--ruby);--accent-gold: var(--champagne);--accent-soft: var(--blush);--status-ready: #16A34A;--status-ready-bg:#DCFCE7;--status-warn: #EA580C;--status-warn-bg: #FFEDD5;--status-off: var(--warm-gray);--status-off-bg: #F1EEFA;--status-locked: #FF2E7E;--status-locked-bg:#FFE3EE;--grad-coral: linear-gradient(135deg, #FF2E7E 0%, #FF6B35 55%, #FFB238 100%);--grad-rose: linear-gradient(160deg, #FBF4FF 0%, #F1EEFA 100%);--grad-blush: linear-gradient(160deg, #F7F1FF 0%, #EFEAFB 100%);--grad-plum: linear-gradient(150deg, #2A2650 0%, #1E1B3A 100%);--grad-portrait:linear-gradient(155deg, #FF6B35 0%, #C9457A 45%, #2E1B48 100%)}:root{--font-display: "Space Grotesk", "Hanken Grotesk", system-ui, sans-serif;--font-ui: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace;--display-xl: 600 4.25rem/1.02 var(--font-display);--display-lg: 600 3rem/1.05 var(--font-display);--display-md: 600 2.125rem/1.1 var(--font-display);--display-sm: 600 1.5rem/1.15 var(--font-display);--text-2xl: 600 1.5rem/1.3 var(--font-ui);--text-xl: 600 1.25rem/1.35 var(--font-ui);--text-lg: 500 1.0625rem/1.5 var(--font-ui);--text-base:400 .9375rem/1.55 var(--font-ui);--text-sm: 400 .8125rem/1.5 var(--font-ui);--text-xs: 500 .75rem/1.4 var(--font-ui);--label: 600 .6875rem/1 var(--font-ui);--label-spacing: .14em;--w-regular: 400;--w-medium: 500;--w-semibold:600;--w-bold: 700}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 56px;--space-10: 72px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-pill: 999px;--radius-round: 50%;--sidebar-w: 248px;--topbar-h: 64px;--content-max: 1180px;--gutter: 28px;--grid-gap-card: var(--space-5);--grid-gap-media: var(--space-5)}:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .35);--shadow-sm: 0 2px 10px rgba(0, 0, 0, .4);--shadow-md: 0 10px 28px rgba(0, 0, 0, .5);--shadow-lg: 0 22px 56px rgba(0, 0, 0, .6);--shadow-coral: 0 8px 26px rgba(255, 46, 126, .32);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .35);--ease: cubic-bezier(.22, .61, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .12s var(--ease);--t-base: .2s var(--ease);--t-slow: .36s var(--ease-out);--focus-ring: 0 0 0 3px rgba(255, 46, 126, .4);--depth-media-rest: var(--shadow-xs);--depth-media-active: var(--shadow-sm);--depth-media-hover: var(--shadow-md);--depth-flat: none}*,*:before,*:after{box-sizing:border-box}body{margin:0;font:var(--text-base);color:var(--text-body);background:var(--surface-app);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;color:var(--text-strong)}p{margin:0}.ts-label{font:var(--label);letter-spacing:var(--label-spacing);text-transform:uppercase;color:var(--text-muted)}::selection{background:var(--coral);color:var(--ink)}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dialog-in{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.4}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,var(--rose-glass),transparent 34%),radial-gradient(circle at 80% 85%,var(--cream-deep),transparent 38%),var(--surface)}.auth-card{width:min(100%,420px);box-sizing:border-box;padding:38px;border:1px solid var(--border);border-radius:var(--radius-xl);background:#fffffff0;box-shadow:var(--shadow-xl);text-align:center}.auth-brand-mark{width:48px;height:48px;margin:0 auto 14px;border-radius:14px;display:grid;place-items:center;background:var(--grad-coral);color:#fff;font:600 1.35rem/1 var(--font-display);box-shadow:var(--shadow-coral)}.auth-brand-name{font:600 1.65rem/1.1 var(--font-display);color:var(--text-strong)}.auth-brand-subtitle{margin-top:7px;font:500 .68rem/1 var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.auth-staging-badge{display:inline-block;margin-top:14px;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--cream-deep);color:var(--text-muted);font:600 .65rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase}.auth-form{display:flex;flex-direction:column;gap:16px;margin-top:28px;text-align:left}.auth-field{display:flex;flex-direction:column;gap:7px;font:600 .75rem/1 var(--font-ui);color:var(--text-muted)}.auth-field input{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);color:var(--text-strong);font:var(--text-sm);outline:none}.auth-field input:focus{border-color:var(--accent-deep);box-shadow:0 0 0 3px var(--rose-glass)}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:44px}.auth-password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:32px;height:32px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-muted);cursor:pointer}.auth-submit{padding:12px 16px;border:0;border-radius:var(--radius-md);background:var(--grad-coral);color:#fff;cursor:pointer;font:600 .9rem/1 var(--font-ui);box-shadow:var(--shadow-coral)}.auth-submit:disabled{opacity:.55;cursor:not-allowed}.auth-error{padding:10px 12px;border-radius:var(--radius-md);background:var(--status-warn-bg);color:var(--cherry);font:var(--text-sm);line-height:1.4}.access-detail{margin:16px auto 0;max-width:300px;color:var(--text-muted);font:var(--text-sm);line-height:1.55}.access-actions{margin-top:24px;display:flex;justify-content:center;gap:10px}.access-loader{width:26px;height:26px;margin:24px auto 0;border:2px solid var(--border);border-top-color:var(--accent-deep);border-radius:50%;animation:spin .8s linear infinite}@keyframes generation-progress-sweep{0%{transform:translate(-140%)}to{transform:translate(440%)}}@keyframes select-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ts-btn{position:relative;box-shadow:0 4px 0 0 var(--btn-shadow, rgba(0,0,0,.12));transition:transform 90ms cubic-bezier(.3,.7,.4,1),box-shadow 90ms cubic-bezier(.3,.7,.4,1),background var(--t-base)}.ts-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 0 0 var(--btn-shadow, rgba(0,0,0,.12))}.ts-btn:not(:disabled):active{transform:translateY(4px);box-shadow:0 0 0 0 var(--btn-shadow, rgba(0,0,0,.12))}.ts-card{transition:transform .13s cubic-bezier(.3,.7,.4,1),box-shadow .13s cubic-bezier(.3,.7,.4,1),border-color .13s ease}.ts-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.ts-card:active{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.ts-pill{transition:transform 90ms cubic-bezier(.3,.7,.4,1),background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.ts-pill:not(:disabled):hover{transform:translateY(-1px)}.ts-pill:not(:disabled):active{transform:translateY(1px) scale(.97)}
