:root{color-scheme:light;--violet-950: #160a3a;--violet-900: #2e0a8a;--violet-800: #4310aa;--violet-700: #5b16c9;--violet-600: #6d28d9;--violet-500: #7c3aed;--violet-200: #d8c7fa;--violet-100: #ece4ff;--violet-050: #f7f3ff;--lime-500: #c8ff19;--lime-600: #b5f000;--lime-700: #9ed500;--lime-100: #eeffc0;--orange-500: #ff8a1f;--orange-600: #e66c00;--orange-100: #fff0df;--warm-white: #fffdf8;--white: #ffffff;--ink: #160a3a;--muted-ink: #665e75;--soft-border: #e8dff5;--color-background: var(--warm-white);--color-surface: var(--white);--color-surface-subtle: var(--violet-050);--color-text-primary: var(--ink);--color-text-secondary: var(--muted-ink);--color-border: var(--soft-border);--color-border-strong: var(--violet-200);--color-brand: var(--violet-700);--color-brand-strong: var(--violet-900);--color-on-brand: var(--white);--color-on-brand-surface: rgb(255 255 255 / 10%);--color-on-brand-surface-subtle: rgb(255 255 255 / 8%);--color-on-brand-divider: rgb(255 255 255 / 18%);--color-action: var(--lime-500);--color-action-hover: var(--lime-600);--color-action-pressed: var(--lime-700);--color-on-action: var(--ink);--color-attention: var(--orange-500);--color-attention-text: var(--orange-600);--color-focus-ring: rgb(124 58 237 / 30%);--color-danger: #c92a45;--color-danger-surface: #fff0f3;--color-success: #267a35;--color-success-surface: var(--lime-100);--color-warning: #9a4b00;--color-warning-surface: var(--orange-100);--font-sans: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Inter, system-ui, sans-serif;--font-latin: Inter, "SF Pro Text", system-ui, sans-serif;--text-display: clamp(2.125rem, 1.3rem + 2.4vw, 3.25rem);--text-page-title: clamp(1.875rem, 1.3rem + 1.5vw, 2.5rem);--text-section-title: clamp(1.5rem, 1.25rem + .6vw, 1.75rem);--text-card-title: 1.25rem;--text-body-lg: 1.125rem;--text-body: 1rem;--text-label: .875rem;--text-caption: .8125rem;--text-overline: .75rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: .625rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-pill: 999px;--shadow-menu: 0 12px 36px rgb(46 10 138 / 14%);--shadow-modal: 0 24px 64px rgb(22 10 58 / 22%);--shadow-action: 0 10px 28px rgb(200 255 25 / 28%);--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--ease-standard: cubic-bezier(.2, .8, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--header-height: 4.5rem;--content-max: 86.5rem;--admin-sidebar-width: 17.5rem;--admin-content-max: 100rem;--page-gutter: clamp(1rem, 2.5vw, 2.5rem);--control-min-height: 3rem;--touch-target: 2.75rem;--z-base: 0;--z-sticky: 20;--z-dropdown: 40;--z-modal: 100;--z-toast: 1000}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 1ms;--motion-base: 1ms;--motion-slow: 1ms}}*{box-sizing:border-box}html{background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-sans);scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 0 75%,rgb(200 255 25 / 9%),transparent 24rem),var(--color-background);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,select,input[type=file]{touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:not(:disabled),select:not(:disabled),a{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:3px}img{display:block;max-width:100%}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.app-shell{min-height:100vh}.site-header{position:sticky;top:0;z-index:var(--z-sticky);background:#fffdf8eb;border-bottom:1px solid rgb(232 223 245 / 70%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-inner{width:min(100%,var(--content-max));min-height:var(--header-height);margin:0 auto;padding:0 var(--page-gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-6)}.brand{border:0;background:transparent;display:inline-flex;align-items:center;gap:12px;padding:0;font-size:20px;font-weight:800;letter-spacing:-.025em}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,var(--violet-600),var(--violet-800));box-shadow:0 8px 20px #5b16c938}.desktop-nav{align-self:stretch;display:flex;align-items:stretch;gap:36px}.desktop-nav button{position:relative;border:0;background:transparent;padding:0 2px;font-size:16px;font-weight:600;color:var(--color-text-secondary)}.desktop-nav button:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:999px 999px 0 0;background:var(--color-brand);transform:scaleX(0);transition:transform var(--motion-base) var(--ease-standard)}.desktop-nav button:hover,.desktop-nav button.is-active{color:var(--color-text-primary)}.desktop-nav button.is-active:after{transform:scaleX(1)}.header-actions{justify-self:end;display:flex;align-items:center;gap:12px}.demo-badge{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border-radius:var(--radius-pill);color:var(--violet-900);background:var(--orange-100);border:1px solid rgb(255 138 31 / 32%);font-size:12px;font-weight:700}.demo-badge.is-live{color:#174d2a;background:var(--lime-100);border-color:#7ac42f6b}.settings-button{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--violet-200);border-radius:12px;color:var(--violet-800);background:#fff;font-size:14px;font-weight:700;transition:background var(--motion-fast),border-color var(--motion-fast)}.settings-button:hover{border-color:var(--violet-500);background:var(--violet-050)}.job-status-button{min-height:var(--touch-target);display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);color:var(--color-brand-strong);background:var(--color-surface-subtle);font-size:var(--text-caption);font-weight:750}.job-status-button.is-completed{color:var(--color-success);background:var(--color-success-surface)}.profile-wrap{position:relative}.profile-button{border:0;background:transparent;min-height:48px;display:inline-flex;align-items:center;gap:10px;padding:4px 2px 4px 8px;border-radius:14px;font-weight:600}.profile-button:hover{background:var(--color-surface-subtle)}.profile-button img{width:38px;height:38px;object-fit:cover;object-position:50% 28%;border-radius:50%;border:2px solid white;box-shadow:0 0 0 2px var(--lime-500)}.profile-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:var(--radius-pill);color:var(--color-on-brand);background:var(--color-brand);font-weight:800}.profile-email{margin:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-caption);overflow-wrap:anywhere}.profile-menu{position:absolute;top:calc(100% + 8px);right:0;width:190px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-menu)}.profile-menu button{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;border:0;border-radius:10px;background:transparent;padding:0 12px;text-align:left}.profile-menu button:hover{background:var(--violet-050)}.mobile-nav{display:none}.create-page,.works-page,.result-page{width:min(100%,var(--content-max));margin:0 auto;padding:34px var(--page-gutter) 80px}.hero-copy{max-width:900px;margin-bottom:24px}.hero-kicker,.eyebrow,.success-kicker{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;font-size:12px;line-height:1.3;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-kicker{padding:7px 12px;border-radius:var(--radius-pill);color:var(--violet-900);background:var(--lime-100)}.hero-copy h1,.works-heading h1,.result-heading h1{margin:0;font-size:var(--text-display);line-height:1.12;font-weight:850;letter-spacing:-.045em}.hero-copy>p:last-child,.works-heading p,.result-heading p{max-width:760px;margin:9px 0 0;color:var(--color-text-secondary);font-size:17px;line-height:1.7}.creation-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(440px,.94fr);align-items:start;gap:24px}.input-workbench{min-width:0}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:6px}.mode-tabs button{min-height:62px;display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--color-border);border-bottom:0;border-radius:18px 18px 0 0;background:var(--violet-050);font-size:16px;font-weight:700;transition:color var(--motion-base),background var(--motion-base)}.mode-tabs button.is-active{color:#fff;background:var(--color-brand);border-color:var(--color-brand)}.input-surface{min-height:606px;padding:24px;border:1.5px solid var(--color-border-strong);border-radius:0 var(--radius-lg) var(--radius-lg) var(--radius-lg);background:var(--color-surface)}.input-surface>label,.upload-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;font-weight:700}.upload-label-row small{color:var(--color-text-secondary);font-size:12px;font-weight:500}.textarea-wrap{position:relative}.textarea-wrap textarea{width:100%;min-height:210px;resize:vertical;display:block;padding:18px 18px 42px;border:1.5px solid var(--violet-500);border-radius:var(--radius-sm);color:var(--color-text-primary);background:#fff;font-size:17px;line-height:1.8;transition:border var(--motion-fast),box-shadow var(--motion-fast)}.textarea-wrap textarea:focus{outline:0;border-color:var(--violet-700);box-shadow:0 0 0 4px var(--color-focus-ring)}.textarea-wrap>span{position:absolute;right:14px;bottom:12px;color:var(--color-text-secondary);font-family:var(--font-latin);font-size:13px;font-variant-numeric:tabular-nums}.textarea-wrap>span.is-warning{color:var(--color-attention-text);font-weight:700}.section-divider{height:1px;margin:24px 0;background:var(--color-border)}.assets-grid{display:grid;grid-template-columns:1.12fr 1.12fr .76fr;gap:14px}.upload-field{min-width:0}.upload-preview{position:relative;height:164px;overflow:hidden;border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--violet-050)}.upload-preview.has-image{border-style:solid;background:#fff}.upload-preview>img{width:100%;height:100%;object-fit:cover}.upload-field:nth-child(2) .upload-preview>img{object-position:center}.remove-asset,.replace-asset{position:absolute;border:1px solid rgb(22 10 58 / 16%);background:#fffffff0;box-shadow:0 4px 12px #160a3a1a}.remove-asset{top:8px;right:8px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%}.replace-asset{right:8px;bottom:8px;min-height:34px;padding:0 12px;border-radius:var(--radius-pill);color:var(--violet-900);font-size:12px;font-weight:700}.empty-upload,.logo-fallback{width:100%;height:100%;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:var(--violet-700)}.empty-upload small,.logo-fallback span{color:var(--color-text-secondary);font-size:12px}.logo-fallback svg{padding:7px;width:54px;height:54px;border-radius:15px;color:#fff;background:var(--color-brand)}.upload-help{display:flex;align-items:flex-start;gap:8px;margin:18px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.6}.upload-help svg{flex:0 0 auto;color:var(--color-brand);margin-top:2px}.step-create-page{padding-top:var(--space-8)}.compact-hero{max-width:960px;margin:0 auto var(--space-8);text-align:center}.compact-hero .hero-kicker{margin-inline:auto}.compact-hero>p:last-child{margin-inline:auto}.flow-steps{width:min(100%,900px);margin:0 auto var(--space-8);padding:0;display:grid;grid-template-columns:repeat(3,1fr);list-style:none}.flow-steps li{position:relative;display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-secondary)}.flow-steps li:not(:last-child):after{content:"";position:absolute;z-index:-1;left:44px;right:var(--space-4);top:21px;height:2px;background:var(--color-border)}.flow-steps li>span{width:var(--touch-target);height:var(--touch-target);flex:0 0 var(--touch-target);display:grid;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-brand);background:var(--color-surface)}.flow-steps li.is-current>span{color:var(--color-on-brand);background:var(--color-brand);border-color:var(--color-brand);box-shadow:0 0 0 5px var(--violet-100)}.flow-steps li.is-done>span{color:var(--color-on-action);background:var(--color-action);border-color:var(--color-action)}.flow-steps li.is-done:not(:last-child):after{background:var(--color-action)}.flow-steps small,.flow-steps strong{display:block}.flow-steps small{margin-bottom:2px;font-size:var(--text-overline)}.flow-steps strong{color:var(--color-text-primary);font-size:var(--text-label)}.step-card,.review-step{width:min(100%,1040px);margin:0 auto}.step-card{padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface)}.step-card-heading{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.step-card-heading>span{width:54px;height:54px;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--color-on-brand);background:var(--color-brand);font-family:var(--font-latin);font-size:var(--text-card-title);font-weight:800}.step-card-heading p,.step-card-heading h2{margin:0}.step-card-heading p{color:var(--color-brand);font-size:var(--text-overline);font-weight:800;letter-spacing:.08em}.step-card-heading h2{font-size:var(--text-section-title);letter-spacing:-.02em}.step-input-surface{min-height:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}.optional-assets-heading{margin:var(--space-6) 0 var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.optional-assets-heading h3,.optional-assets-heading p{margin:0}.optional-assets-heading h3{font-size:var(--text-card-title)}.optional-assets-heading p{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-caption)}.optional-assets-heading>span{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:var(--text-caption);font-weight:700}.plan-next-button{width:min(100%,560px);min-height:60px;margin:var(--space-6) auto 0;padding:0 var(--space-6);border:0;border-radius:var(--radius-pill);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-3);color:var(--color-on-brand);background:var(--color-brand);font-weight:800;transition:background var(--motion-fast),opacity var(--motion-fast)}.plan-next-button:hover:not(:disabled){background:var(--violet-800)}.plan-next-button:disabled{cursor:not-allowed;opacity:.55}.step-error{width:min(100%,560px);margin:var(--space-4) auto 0}.input-summary-bar{margin-bottom:var(--space-6);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);background:var(--color-surface)}.input-summary-bar>div{min-width:0}.input-summary-bar span{color:var(--color-brand);font-size:var(--text-overline);font-weight:800}.input-summary-bar p{max-width:720px;margin:var(--space-1) 0 0;overflow:hidden;color:var(--color-text-secondary);font-size:var(--text-label);line-height:1.5;text-overflow:ellipsis;white-space:nowrap}.input-summary-bar button{min-height:var(--touch-target);flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-brand);background:var(--color-surface);font-weight:700}.review-heading{margin-inline:var(--space-5)}.review-panel{min-height:0;padding:var(--space-8)}.editable-plan-list .plan-item{padding-block:var(--space-5)}.plan-edit-textarea,.copy-editor-row input{width:100%;border:1px solid var(--violet-200);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface)}.plan-edit-textarea{min-height:108px;padding:var(--space-3);resize:vertical;line-height:1.6}.copy-editor-list{display:grid;gap:var(--space-2)}.copy-editor-row{display:grid;grid-template-columns:1fr var(--touch-target);gap:var(--space-2)}.copy-editor-row input{min-height:var(--touch-target);padding:0 var(--space-3)}.copy-editor-row button{width:var(--touch-target);height:var(--touch-target);display:grid;place-items:center;border:1px solid var(--violet-200);border-radius:var(--radius-sm);color:var(--color-danger);background:var(--color-surface)}.add-copy-button{min-height:var(--touch-target);justify-self:start;display:inline-flex;align-items:center;gap:var(--space-2);border:0;color:var(--orange-500);background:transparent;font-weight:700}.step-generate-button{width:min(100%,760px);margin:var(--space-6) auto 0}.background-job-banner{width:min(100%,1040px);margin:0 auto var(--space-6);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-4);background:var(--color-surface-subtle)}.background-job-banner>span{width:var(--touch-target);height:var(--touch-target);display:grid;place-items:center;border-radius:50%;color:var(--color-on-brand);background:var(--color-brand)}.background-job-banner strong,.background-job-banner p{margin:0}.background-job-banner p{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-caption)}.background-job-banner button{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--color-brand);border-radius:var(--radius-sm);color:var(--color-brand);background:var(--color-surface);font-weight:700}.plan-column{min-width:0}.planning-panel{position:relative;min-height:610px;overflow:hidden;padding:30px 34px;border-radius:42px 42px 42px 16px;color:#fff;background:linear-gradient(145deg,var(--violet-600),var(--violet-900) 74%);box-shadow:0 20px 50px #2e0a8a2b}.planning-heading,.recognition-row,.plan-list,.ratio-picker{position:relative;z-index:1}.planning-sparkle{position:absolute;z-index:1;top:32px;right:34px;color:var(--lime-500)}.planning-heading .eyebrow{color:var(--lime-500)}.planning-heading h2{margin:0;font-size:clamp(32px,3vw,46px);line-height:1.15;letter-spacing:-.04em}.planning-heading p{max-width:520px;margin:6px 0 0;color:#ffffffc7;font-size:14px;line-height:1.55}.recognition-row{min-height:44px;display:flex;align-items:center;gap:8px;margin:14px 0 2px;padding:0 0 12px;border-bottom:1px solid rgb(236 228 255 / 38%);font-size:16px;font-weight:700}.recognition-row svg{color:var(--lime-500)}.recognition-row select,.plan-item select{min-height:40px;border:1px solid rgb(255 255 255 / 28%);border-radius:10px;color:var(--lime-500);background:#ffffff1a;padding:0 34px 0 10px;font-weight:800}.recognition-row select option,.plan-item select option{color:var(--ink)}.plan-list{display:grid}.plan-item{display:grid;grid-template-columns:50px 1fr;gap:14px;padding:13px 0;border-bottom:1px solid rgb(236 228 255 / 25%)}.plan-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#ffffff26}.plan-icon.is-orange{color:var(--orange-500)}.plan-icon.is-lime{color:var(--lime-500)}.plan-item h3{margin:0 0 4px;font-size:17px}.plan-item p{margin:0;color:#ffffffd4;font-size:15px;line-height:1.55}.analyze-button{min-height:42px;margin-top:16px;display:inline-flex;align-items:center;gap:8px;padding:0 15px;border:1px solid rgb(255 255 255 / 38%);border-radius:12px;color:#fff;background:#ffffff1f;font-size:14px;font-weight:750}.analyze-button:hover:not(:disabled){color:var(--ink);background:var(--lime-500);border-color:var(--lime-500)}.analyze-button:disabled,.generate-button:disabled{cursor:wait;opacity:.7}.plan-provider-note{display:flex;align-items:flex-start;gap:8px;max-width:480px;margin:16px 0 0;padding:10px 12px;border-radius:10px;color:var(--ink);background:var(--orange-100);font-size:13px;line-height:1.5}.plan-provider-note.is-error{color:var(--color-danger);background:var(--color-danger-surface)}.required-copy{margin:0;padding-left:20px;color:var(--orange-500);font-size:15px;line-height:1.6;font-weight:700}.plan-item select{margin-top:4px}.ratio-picker{max-width:340px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:12px;font-size:14px;font-weight:700}.ratio-picker>div{display:flex;gap:6px}.ratio-picker button{min-width:50px;min-height:36px;border:1px solid rgb(255 255 255 / 28%);border-radius:10px;color:#fff;background:#ffffff14}.ratio-picker button.is-active{color:var(--ink);background:var(--lime-500);border-color:var(--lime-500);font-weight:800}.generate-button{width:calc(100% - 54px);min-height:74px;margin:20px 27px 0;padding:0 14px 0 30px;border:0;border-radius:var(--radius-pill);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;color:var(--color-on-action);background:var(--color-action);box-shadow:var(--shadow-action);font-size:clamp(21px,2.2vw,30px);font-weight:850;letter-spacing:-.02em;transition:background var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast)}.generate-button:hover{background:var(--color-action-hover);box-shadow:0 12px 34px #c8ff195c;transform:translateY(-1px)}.generate-button:active{background:var(--color-action-pressed);transform:translateY(0)}.button-arrow{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--ink)}.generation-note{display:flex;justify-content:center;align-items:center;gap:7px;margin:12px 0 0;color:var(--color-text-secondary);font-size:13px;text-align:center}.generation-note svg{color:var(--color-brand)}.inline-error{display:flex;align-items:flex-start;gap:8px;margin:14px 28px -2px;padding:12px 14px;border:1px solid rgb(201 42 69 / 20%);border-radius:var(--radius-sm);color:var(--color-danger);background:var(--color-danger-surface);font-size:14px;line-height:1.5}.dialog-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:20px;background:#160a3a94;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.settings-dialog{width:min(100%,680px);max-height:min(860px,calc(100dvh - 40px));overflow:auto;padding:32px;border-radius:var(--radius-xl);color:var(--ink);background:#fff;box-shadow:var(--shadow-modal)}.settings-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.settings-dialog-heading h2{margin:5px 0 6px;font-size:30px}.settings-dialog-heading p{margin:0;color:var(--color-text-secondary);line-height:1.55}.settings-close{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:12px;color:var(--ink);background:#fff}.settings-close:hover{background:var(--violet-050)}.settings-form{display:grid;gap:16px}.settings-provider{padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--violet-050)}.provider-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:17px}.provider-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--violet-700)}.provider-icon.is-image2{color:var(--ink);background:var(--lime-500)}.provider-heading h3{margin:0 0 3px;font-size:17px}.provider-heading p{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.45}.provider-status{padding:5px 10px;border-radius:var(--radius-pill);color:var(--color-warning);background:var(--orange-100);font-size:12px;font-weight:750}.provider-status.is-ready{color:var(--color-success);background:var(--lime-100)}.settings-provider>label{display:block;margin-bottom:8px;font-size:14px;font-weight:700}.secret-input{min-height:50px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding-left:14px;border:1.5px solid var(--violet-200);border-radius:12px;color:var(--violet-700);background:#fff}.secret-input:focus-within{border-color:var(--violet-600);box-shadow:0 0 0 3px #7c3aed29}.secret-input input{min-width:0;height:48px;border:0;outline:0;color:var(--ink);background:transparent;font:inherit}.secret-input button{width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:10px;color:var(--violet-700);background:transparent}.secret-input button:hover{background:var(--violet-100)}.newbie-key-link{min-height:var(--touch-target);margin-top:var(--space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-attention);border-radius:var(--radius-sm);color:var(--color-attention-text);background:var(--color-warning-surface);font-size:var(--text-label);line-height:1.45;text-decoration:none;transition:border-color var(--motion-fast),background var(--motion-fast),color var(--motion-fast)}.newbie-key-link strong{color:var(--color-text-primary)}.newbie-key-link svg{flex:0 0 auto}.newbie-key-link:hover{border-color:var(--color-brand);color:var(--color-brand);background:var(--color-surface)}.newbie-key-link:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.settings-security{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.5}.settings-message{margin:0;padding:11px 13px;border-radius:10px;font-size:14px}.settings-message.is-error{color:var(--color-danger);background:var(--color-danger-surface)}.settings-message.is-success{color:var(--color-success);background:var(--color-success-surface)}.settings-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:4px}.settings-actions button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;border:1px solid var(--violet-200);border-radius:12px;color:var(--violet-800);background:#fff;font-weight:750}.settings-actions button[type=submit]{border-color:var(--lime-500);color:var(--ink);background:var(--lime-500)}.settings-actions button[type=submit]:hover:not(:disabled){background:var(--lime-600)}.spin{animation:spin .9s linear infinite}.generation-dialog{width:min(100%,560px);padding:42px;border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-modal);text-align:center}.generation-orbit{width:92px;height:92px;display:grid;place-items:center;margin:0 auto 22px;border-radius:50%;color:var(--violet-700);background:var(--lime-100)}.generation-orbit svg{animation:spin 1.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.generation-dialog .eyebrow{color:var(--violet-700)}.generation-dialog h2{margin:0;font-size:30px;letter-spacing:-.03em}.generation-dialog>p{min-height:24px;margin:12px 0 24px;color:var(--color-text-secondary)}.progress-track{height:12px;overflow:hidden;border-radius:var(--radius-pill);background:var(--violet-100)}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--lime-500);transition:width .22s var(--ease-standard)}.generation-dialog>strong{display:block;margin:10px 0 16px;font-family:var(--font-latin);font-size:24px}.generation-dialog>small{display:block;color:var(--color-text-secondary);line-height:1.6}.generation-dialog>button{min-height:var(--touch-target);margin-top:22px;padding:0 var(--space-5);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-brand);background:var(--color-surface-subtle);font-weight:700}.generation-dialog>button:disabled{cursor:wait;opacity:.62}.result-heading{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:28px;margin-bottom:34px}.back-button,.regenerate-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1.5px solid var(--color-border-strong);border-radius:12px;background:#fff;color:var(--violet-900);font-weight:700}.success-kicker{color:var(--color-success)}.result-heading h1{font-size:var(--text-page-title)}.result-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:28px}.poster-stage{min-height:720px;display:grid;place-items:center;padding:32px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--violet-050)}.poster-stage img{max-height:760px;width:auto;border-radius:12px;box-shadow:0 24px 60px #2e0a8a38}.result-sidebar{position:sticky;top:calc(var(--header-height) + 24px);display:grid;gap:12px}.result-sidebar>section{padding:26px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}.result-sidebar .eyebrow{color:var(--violet-700)}.result-sidebar h2{margin:0;font-size:24px}.result-sidebar dl{margin:22px 0 0}.result-sidebar dl div{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-top:1px solid var(--color-border)}.result-sidebar dt{color:var(--color-text-secondary)}.result-sidebar dd{margin:0;text-align:right;font-weight:700}.download-button{width:100%;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-pill);color:var(--ink);background:var(--lime-500);border:0;cursor:pointer;font-weight:800;text-decoration:none}.download-button:disabled{cursor:wait;opacity:.72}.regenerate-button{width:100%;min-height:50px}.demo-result-note{display:flex;align-items:flex-start;gap:8px;margin:4px 0 0;padding:14px;border-radius:var(--radius-sm);color:var(--color-warning);background:var(--color-warning-surface);font-size:13px;line-height:1.55}.works-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px}.works-heading .eyebrow{color:var(--violet-700)}.works-heading h1{font-size:var(--text-page-title)}.compact-action{min-height:50px;display:inline-flex;align-items:center;gap:8px;padding:0 20px;border:0;border-radius:var(--radius-pill);color:var(--ink);background:var(--lime-500);font-weight:800;white-space:nowrap}.works-toolbar{padding:6px 0 24px;border-bottom:1px solid var(--color-border)}.works-filter{display:flex;flex-wrap:wrap;gap:8px}.works-filter button{min-height:40px;padding:0 16px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:#fff;font-weight:600}.works-filter button.is-active{color:#fff;background:var(--color-brand);border-color:var(--color-brand)}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-top:28px}.new-work-card,.work-card{min-height:440px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}.new-work-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-style:dashed;color:var(--violet-900)}.new-work-card:hover{border-color:var(--violet-500);background:var(--violet-050)}.new-work-card>span{width:62px;height:62px;display:grid;place-items:center;border-radius:20px;color:var(--ink);background:var(--lime-500)}.new-work-card strong{font-size:18px}.new-work-card small{color:var(--color-text-secondary)}.work-card{display:grid;grid-template-rows:300px auto}.work-image{position:relative;overflow:hidden;border:0;padding:0;background:var(--violet-050)}.work-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--motion-slow) var(--ease-standard)}.work-image span{position:absolute;inset:auto 16px 16px;min-height:40px;display:grid;place-items:center;border-radius:var(--radius-pill);color:#fff;background:#160a3ad1;opacity:0;transform:translateY(8px);transition:opacity var(--motion-base),transform var(--motion-base);font-weight:700}.work-image:hover img{transform:scale(1.025)}.work-image:hover span,.work-image:focus-visible span{opacity:1;transform:translateY(0)}.work-meta{padding:20px}.work-status{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--radius-pill);color:var(--color-success);background:var(--color-success-surface);font-size:12px;font-weight:700}.work-status.is-generating,.work-status.is-processing,.work-status.is-submitting,.work-status.is-queued{color:var(--color-brand);background:var(--violet-100)}.work-status.is-delayed{color:var(--color-warning);background:var(--color-warning-surface)}.work-status.is-failed{color:var(--color-danger);background:var(--color-danger-surface)}.work-state-detail{display:block;margin-top:var(--space-3);color:var(--color-text-secondary);line-height:1.55}.work-recovery-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.work-recovery-actions button,.work-recovery-actions a{min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-brand);background:var(--color-surface-subtle);font-weight:700;text-decoration:none}.active-job-card .work-image{display:grid;place-items:center;background:linear-gradient(145deg,var(--violet-600),var(--violet-900))}.active-job-card .work-image .active-job-visual{position:static;inset:auto;min-height:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-3);color:var(--lime-500);background:transparent;opacity:1;transform:none;font-size:var(--text-section-title)}.active-job-card .work-image>span:last-child{opacity:1;transform:none}.app-toast{position:fixed;z-index:var(--z-toast);right:var(--space-6);bottom:var(--space-6);max-width:min(420px,calc(100vw - var(--space-8)));min-height:var(--touch-target);display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--lime-700);border-radius:var(--radius-md);color:var(--color-success);background:var(--color-success-surface);box-shadow:var(--shadow-menu);font-size:var(--text-label);font-weight:700}.work-meta h2{margin:12px 0 9px;font-size:19px}.work-meta p{display:flex;flex-wrap:wrap;gap:8px 12px;margin:0;color:var(--color-text-secondary);font-size:13px}.work-meta p span{display:inline-flex;align-items:center;gap:4px}@media(max-width:1120px){.creation-grid{grid-template-columns:1fr}.planning-panel{min-height:auto}.generate-button{width:min(100%,680px);margin-inline:auto}.result-layout{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:860px){.header-inner{grid-template-columns:1fr auto;gap:var(--space-3)}.desktop-nav,.demo-badge{display:none}.header-actions{gap:var(--space-2)}.settings-button span{display:none}.settings-button{width:44px;padding:0;justify-content:center}.job-status-button span{display:none}.job-status-button{width:var(--touch-target);padding:0;justify-content:center}.profile-button{width:var(--touch-target);min-height:var(--touch-target);padding:0;justify-content:center}.profile-button>span:not(.profile-avatar),.profile-button>svg{display:none}.profile-avatar{width:36px;height:36px}.mobile-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);padding:var(--space-1) var(--page-gutter) var(--space-2);border-top:1px solid var(--color-border);background:var(--warm-white)}.mobile-nav.has-admin{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav button{position:relative;min-width:0;min-height:56px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-1);border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);background:transparent;font-size:var(--text-caption);font-weight:700}.mobile-nav button.is-active{color:var(--color-brand);background:var(--color-surface-subtle)}.mobile-nav button.is-active:after{position:absolute;right:22%;bottom:0;left:22%;height:3px;border-radius:var(--radius-pill);background:var(--color-brand);content:""}.mobile-nav button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-page,.works-page,.result-page{padding-top:32px}.assets-grid{grid-template-columns:1fr 1fr}.upload-field:last-child{grid-column:1 / -1;max-width:240px}.result-heading,.result-layout{grid-template-columns:1fr}.result-sidebar{position:static}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.brand{font-size:16px}.brand-mark{width:40px;height:40px;border-radius:12px}.profile-menu{position:fixed;top:calc(var(--header-height) - var(--space-2));right:var(--page-gutter)}.hero-copy h1{font-size:34px}.hero-copy>p:last-child{font-size:16px}.compact-hero{text-align:left}.compact-hero .hero-kicker,.compact-hero>p:last-child{margin-inline:0}.flow-steps{margin-bottom:var(--space-6)}.flow-steps li{gap:var(--space-2)}.flow-steps li>div small{display:none}.flow-steps li>div strong{max-width:4em;font-size:var(--text-caption);line-height:1.3}.flow-steps li:not(:last-child):after{right:var(--space-2)}.step-card{padding:var(--space-4);border-radius:var(--radius-lg)}.step-card-heading{align-items:flex-start}.step-card-heading>span{width:48px;height:48px}.step-card-heading h2{font-size:var(--text-card-title)}.mode-tabs{grid-template-columns:1fr;gap:8px;margin-bottom:8px}.mode-tabs button,.mode-tabs button.is-active{min-height:52px;border:1px solid var(--color-border);border-radius:14px}.input-surface{min-height:auto;padding:18px;border-radius:var(--radius-lg)}.step-input-surface{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.textarea-wrap textarea{min-height:190px;font-size:16px}.assets-grid{grid-template-columns:1fr 1fr}.upload-preview{height:150px}.planning-panel{padding:28px 22px 160px;border-radius:var(--radius-xl) var(--radius-xl) var(--radius-xl) 12px}.review-panel{padding:var(--space-6) var(--space-4) 150px}.review-heading{margin-inline:0}.input-summary-bar{align-items:flex-start;flex-direction:column}.input-summary-bar p{max-width:100%;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.background-job-banner{grid-template-columns:auto 1fr;padding:var(--space-4)}.background-job-banner button{grid-column:1 / -1}.plan-next-button,.step-generate-button{min-height:58px;padding-inline:var(--space-4);font-size:16px}.planning-panel:after{bottom:-105px}.recognition-row{align-items:flex-start;flex-wrap:wrap}.plan-item{grid-template-columns:46px 1fr;gap:13px}.plan-icon{width:44px;height:44px}.ratio-picker{align-items:flex-start;flex-direction:column}.generate-button{min-height:62px;padding-left:22px;font-size:21px}.button-arrow{width:44px;height:44px}.generation-dialog{padding:32px 22px}.app-toast{left:var(--space-4);right:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));max-width:none}.settings-scrim{align-items:end;padding:0}.settings-dialog{width:100%;max-height:92dvh;padding:24px 16px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.settings-dialog-heading h2{font-size:26px}.settings-provider{padding:16px}.provider-heading{grid-template-columns:auto 1fr}.provider-status{grid-column:2;justify-self:start}.settings-actions{display:grid;grid-template-columns:1fr 1.35fr}.poster-stage{min-height:520px;padding:18px}.works-heading{align-items:flex-start;flex-direction:column}.works-grid{grid-template-columns:1fr}.new-work-card,.work-card{min-height:400px}}@media(max-width:480px){.brand>span:last-child{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.app-loading{min-height:100vh;display:grid;place-items:center;align-content:center;gap:var(--space-4);color:var(--color-brand-strong);background:var(--color-background)}.app-loading>span{width:56px;height:56px;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--color-on-brand);background:var(--color-brand)}.app-loading p{margin:0;color:var(--color-text-secondary)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(28rem,.95fr);background:var(--color-background)}.auth-brand-panel{position:relative;overflow:hidden;min-height:100vh;padding:var(--space-10) clamp(var(--space-8),6vw,var(--space-20));display:flex;flex-direction:column;color:var(--color-on-brand);background:linear-gradient(145deg,var(--violet-600),var(--violet-900))}.auth-brand-panel:after{content:"";position:absolute;width:22rem;height:22rem;right:-8rem;bottom:-7rem;border:5rem solid color-mix(in srgb,var(--color-action) 24%,transparent);border-radius:var(--radius-pill)}.auth-brand,.auth-brand>span{display:inline-flex;align-items:center}.auth-brand{position:relative;z-index:1;gap:var(--space-3);font-size:var(--text-card-title);font-weight:800}.auth-brand>span{width:48px;height:48px;justify-content:center;border-radius:var(--radius-md);color:var(--color-on-action);background:var(--color-action)}.auth-brand-copy{position:relative;z-index:1;max-width:43rem;margin:auto 0}.auth-brand-copy>p,.access-intro>p:first-child{display:flex;align-items:center;gap:var(--space-2);font-weight:700}.auth-brand-copy h1{margin:var(--space-5) 0 var(--space-10);max-width:13ch;font-size:var(--text-display);line-height:1.18;letter-spacing:-.035em}.auth-brand-copy ul,.access-pay-panel ul{list-style:none;margin:0;padding:0}.auth-brand-copy ul{display:grid;gap:var(--space-5)}.auth-brand-copy li{display:grid;grid-template-columns:44px 1fr;gap:var(--space-3);align-items:center}.auth-brand-copy li>svg{width:44px;height:44px;padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-on-action);background:var(--color-action)}.auth-brand-copy li strong,.auth-brand-copy li span{display:block}.auth-brand-copy li span{color:var(--violet-100)}.auth-brand-copy li strong{margin-bottom:var(--space-1);color:var(--color-on-brand)}.auth-form-panel{min-height:100vh;padding:var(--space-10) clamp(var(--space-6),6vw,var(--space-16));display:grid;place-items:center}.auth-form-wrap{width:min(100%,31rem)}.auth-form-wrap h2{margin:var(--space-2) 0 var(--space-2);font-size:var(--text-page-title);letter-spacing:-.03em}.auth-form-wrap>p{margin:0 0 var(--space-8);color:var(--color-text-secondary);line-height:1.7}.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:var(--space-6);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.auth-mode-tabs button{min-height:var(--control-min-height);border:0;border-radius:var(--radius-sm);color:var(--color-text-secondary);background:transparent;font-weight:700}.auth-mode-tabs button.is-active{color:var(--color-on-brand);background:var(--color-brand)}.auth-form{display:grid;gap:var(--space-5)}.auth-form label,.invite-form label,.access-code-panel label{display:grid;gap:var(--space-2);color:var(--color-text-primary);font-size:var(--text-label);font-weight:700}.auth-form label small{margin-left:var(--space-1);color:var(--color-text-secondary);font-weight:400}.auth-form input,.invite-form input,.access-code-panel input{width:100%;min-height:var(--control-min-height);padding:0 var(--space-4);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface)}.auth-password{position:relative}.auth-password input{padding-right:var(--space-12)}.auth-password button{position:absolute;top:2px;right:2px;width:var(--touch-target);height:var(--touch-target);border:0;background:transparent;color:var(--color-text-secondary)}.auth-submit,.access-pay-button,.invite-form>button{min-height:56px;border:0;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-on-action);background:var(--color-action);box-shadow:var(--shadow-action);font-weight:800}.auth-submit:hover,.access-pay-button:hover,.invite-form>button:hover{background:var(--color-action-hover)}.auth-submit:disabled,.access-pay-button:disabled,.invite-form>button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.auth-error,.admin-error,.access-message.is-error{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-danger);background:var(--color-danger-surface)}.access-page,.admin-page{width:min(100%,var(--content-max));min-height:100vh;margin:0 auto;padding:0 var(--page-gutter) var(--space-16)}.access-header{min-height:var(--header-height);display:flex;justify-content:space-between;align-items:center}.access-header .auth-brand{color:var(--color-text-primary)}.access-header button,.admin-heading>button,.admin-section button,.access-code-panel form button,.new-invite-code button{min-height:var(--touch-target);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-brand);background:var(--color-surface);font-weight:700}.access-intro{max-width:54rem;margin:var(--space-16) auto var(--space-10);text-align:center}.access-intro>p:first-child{justify-content:center;color:var(--color-brand)}.access-intro h1{margin:var(--space-4) 0;font-size:var(--text-page-title);letter-spacing:-.03em}.access-intro>p:last-child{margin:0 auto;max-width:44rem;color:var(--color-text-secondary);line-height:1.75}.access-options{max-width:64rem;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.access-code-panel,.access-pay-panel{min-height:30rem;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.access-pay-panel{color:var(--color-on-brand);background:linear-gradient(150deg,var(--violet-600),var(--violet-900))}.access-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--color-brand);background:var(--color-surface-subtle)}.access-pay-panel .access-icon{color:var(--color-on-action);background:var(--color-action)}.access-code-panel h2,.access-pay-panel h2{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-section-title)}.access-code-panel>p{min-height:3.5rem;margin:0 0 var(--space-8);color:var(--color-text-secondary);line-height:1.7}.access-code-panel form{display:grid;gap:var(--space-4)}.access-code-panel form button{min-height:52px}.access-price{display:flex;align-items:baseline;gap:var(--space-2);margin-top:var(--space-5)}.access-price strong{font:800 var(--text-display)/1 var(--font-latin)}.access-pay-panel ul{margin:var(--space-6) 0 var(--space-8);display:grid;gap:var(--space-3);color:var(--violet-100)}.access-pay-panel li{display:flex;align-items:center;gap:var(--space-2)}.access-pay-panel li svg{color:var(--color-action)}.access-pay-button{width:100%}.payment-qr{display:grid;place-items:center;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-md);color:var(--color-text-primary);background:var(--color-surface);text-align:center}.payment-qr p{margin:0;color:var(--color-text-secondary);font-size:var(--text-caption)}.access-message{max-width:64rem;margin:var(--space-5) auto 0}.access-message.is-success{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);color:var(--color-success);background:var(--color-success-surface)}.admin-page{width:100%;max-width:none;min-height:100dvh;margin:0;padding:0;display:grid;grid-template-columns:var(--admin-sidebar-width) minmax(0,1fr);background:var(--color-background)}.admin-sidebar{position:sticky;top:0;z-index:var(--z-sticky);min-height:100dvh;max-height:100dvh;padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;color:var(--color-on-brand);background:linear-gradient(165deg,var(--violet-600),var(--violet-900))}.admin-brand{min-height:3.5rem;display:flex;align-items:center;gap:var(--space-3)}.admin-brand>span{width:44px;height:44px;flex:0 0 auto;border-radius:var(--radius-md);display:grid;place-items:center;color:var(--color-on-action);background:var(--color-action)}.admin-brand strong,.admin-brand small{display:block}.admin-brand strong{font-size:var(--text-label)}.admin-brand small{margin-top:var(--space-1);color:var(--violet-100);font-size:var(--text-caption)}.admin-nav{margin-top:var(--space-10);display:grid;gap:var(--space-2)}.admin-nav button,.admin-sidebar-footer>button{width:100%;min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-3);color:var(--violet-100);background:transparent;text-align:left;font-weight:700;transition:color var(--motion-fast),background var(--motion-fast),border-color var(--motion-fast)}.admin-nav button:hover,.admin-sidebar-footer>button:hover{color:var(--color-on-brand);background:var(--color-on-brand-surface)}.admin-nav button.is-active{color:var(--color-on-action);background:var(--color-action)}.admin-sidebar-footer{margin-top:auto;padding-top:var(--space-6);border-top:1px solid var(--color-on-brand-divider);display:grid;gap:var(--space-4)}.admin-sidebar-footer>div{display:grid;grid-template-columns:38px minmax(0,1fr) 44px;align-items:center;gap:var(--space-3)}.admin-sidebar-footer>div>span{width:38px;height:38px;border-radius:var(--radius-pill);display:grid;place-items:center;color:var(--color-on-action);background:var(--color-action);font-weight:800}.admin-sidebar-footer p,.admin-sidebar-footer strong,.admin-sidebar-footer small{min-width:0;margin:0;display:block}.admin-sidebar-footer small{margin-top:2px;overflow:hidden;color:var(--violet-100);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-caption)}.admin-sidebar-footer div button{width:44px;height:44px;border:0;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--violet-100);background:var(--color-on-brand-surface-subtle)}.admin-workspace{min-width:0;min-height:100dvh}.admin-topbar{min-height:6.75rem;padding:var(--space-5) var(--page-gutter);border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-4);background:var(--color-surface)}.admin-topbar h1{margin:2px 0;font-size:clamp(1.6rem,1.25rem + 1vw,2.25rem);letter-spacing:-.02em}.admin-topbar p{margin:0;color:var(--color-text-secondary);font-size:var(--text-caption)}.admin-menu-toggle{display:none}.admin-refresh,.admin-menu-toggle{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-brand);background:var(--color-surface);font-weight:700}.admin-refresh{display:inline-flex}.admin-error{margin:var(--space-5) var(--page-gutter) 0;display:flex;align-items:center;gap:var(--space-2)}.admin-error button{min-height:36px;margin-left:auto;border:1px solid currentcolor;border-radius:var(--radius-sm);color:inherit;background:transparent}.admin-content{width:min(100%,var(--admin-content-max));margin:0 auto;padding:var(--space-6) var(--page-gutter) var(--space-12)}.admin-loading{min-height:24rem;display:flex;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-secondary)}.admin-toolbar{margin-bottom:var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.admin-toolbar.is-overview{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.admin-toolbar.is-overview strong,.admin-toolbar.is-overview span{display:block}.admin-toolbar.is-overview span{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-caption)}.admin-range{padding:var(--space-1);border-radius:var(--radius-sm);display:flex;background:var(--color-surface-subtle)}.admin-range button{min-height:36px;padding:0 var(--space-3);border:0;border-radius:calc(var(--radius-sm) - 2px);color:var(--color-text-secondary);background:transparent;font-size:var(--text-label)}.admin-range button.is-active{color:var(--color-on-brand);background:var(--color-brand)}.admin-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-bottom:var(--space-5)}.admin-metric-card{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-top:4px solid var(--color-brand);border-radius:var(--radius-md);display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:var(--space-3);background:var(--color-surface)}.admin-metric-card.is-orange{border-top-color:var(--color-attention)}.admin-metric-card.is-success,.admin-metric-card.is-lime{border-top-color:var(--color-action)}.admin-metric-card.is-violet{border-top-color:var(--violet-500)}.admin-metric-icon,.admin-panel-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--color-brand);background:var(--color-surface-subtle)}.admin-metric-card.is-orange .admin-metric-icon,.admin-panel-icon.is-orange{color:var(--color-attention-text);background:var(--color-warning-surface)}.admin-metric-card.is-success .admin-metric-icon,.admin-metric-card.is-lime .admin-metric-icon,.admin-panel-icon.is-lime{color:var(--color-success);background:var(--color-success-surface)}.admin-panel-icon.is-danger{color:var(--color-danger);background:var(--color-danger-surface)}.admin-metric-card div>span,.admin-metric-card div>strong{display:block}.admin-metric-card div>span{color:var(--color-text-secondary);font-size:var(--text-label)}.admin-metric-card div>strong{margin-top:var(--space-1);font:800 clamp(1.5rem,1.2rem + 1vw,2rem)/1.1 var(--font-latin);font-variant-numeric:tabular-nums}.admin-metric-card p{grid-column:1 / -1;margin:0;display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-caption)}.admin-metric-card p span{display:inline-flex;align-items:center;gap:2px;font-weight:700}.admin-metric-card p .is-up{color:var(--color-success)}.admin-metric-card p .is-down{color:var(--color-danger)}.admin-dashboard-grid{margin-top:var(--space-5);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.admin-dashboard-grid.is-wide-left{grid-template-columns:minmax(0,1.7fr) minmax(20rem,1fr)}.admin-panel{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.admin-panel-heading{min-height:5.25rem;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.admin-panel-heading>div{min-width:0;display:flex;align-items:center;gap:var(--space-3)}.admin-panel-heading h2,.admin-panel-heading p{margin:0}.admin-panel-heading h2{font-size:var(--text-card-title)}.admin-panel-heading p,.admin-panel-heading>span{margin-top:2px;color:var(--color-text-secondary);font-size:var(--text-caption)}.admin-panel-heading>button{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-brand);background:var(--color-surface);font-weight:700}.admin-chart{min-height:20rem;margin:0;padding:var(--space-5)}.admin-chart svg{width:100%;height:auto;min-height:15rem;overflow:visible}.admin-chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-caption)}.admin-chart-legend span{display:inline-flex;align-items:center;gap:var(--space-2)}.admin-chart-legend span:before{content:"";width:20px;height:3px;border-radius:var(--radius-pill);background:var(--color-brand)}.admin-chart-legend .is-generation:before{background:var(--color-attention)}.admin-chart-legend .is-new:before{height:0;border-top:3px dashed var(--color-success);background:transparent}.chart-grid-line{stroke:var(--color-border);stroke-width:1}.chart-line{fill:none;stroke:var(--color-brand);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.chart-line.is-generation{stroke:var(--color-attention)}.chart-line.is-new{stroke:var(--color-success);stroke-dasharray:8 7}.chart-axis-label{fill:var(--color-text-secondary);font:12px var(--font-latin)}.admin-chart-empty{min-height:14rem;display:grid;place-items:center;color:var(--color-text-secondary)}.admin-funnel,.admin-failure-bars{padding:var(--space-5);display:grid;gap:var(--space-4)}.admin-funnel-row>div:first-child,.admin-failure-row>div:first-child{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-label)}.admin-funnel-row strong,.admin-failure-row strong{font-family:var(--font-latin);font-variant-numeric:tabular-nums}.admin-funnel-track,.admin-failure-row>div:last-child{height:9px;margin-top:var(--space-2);border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface-subtle)}.admin-funnel-track span,.admin-failure-row>div:last-child span{height:100%;border-radius:inherit;display:block;background:var(--color-brand)}.admin-funnel-row small{margin-top:var(--space-1);display:block;color:var(--color-text-secondary);font-size:var(--text-caption)}.admin-failure-row>div:last-child span{background:var(--color-danger)}.admin-health-grid{padding:var(--space-5);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.admin-health-grid>div{min-height:7.5rem;padding:var(--space-4);border-radius:var(--radius-md);display:flex;flex-direction:column;justify-content:space-between;background:var(--color-surface-subtle)}.admin-health-grid span{color:var(--color-text-secondary);font-size:var(--text-label)}.admin-health-grid strong{font:800 var(--text-section-title)/1 var(--font-latin)}.admin-health-grid .is-warning{color:var(--color-warning);background:var(--color-warning-surface)}.admin-health-grid .is-danger{color:var(--color-danger);background:var(--color-danger-surface)}.admin-recent-failures{margin-top:var(--space-5)}.admin-filterbar{display:grid;grid-template-columns:minmax(15rem,1.6fr) repeat(2,minmax(10rem,.7fr)) auto;align-items:end;gap:var(--space-3)}.admin-filterbar.is-jobs{grid-template-columns:minmax(14rem,1.5fr) repeat(3,minmax(9rem,.7fr)) auto}.admin-filterbar label,.invite-form label{display:grid;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-label);font-weight:700}.admin-filterbar select,.admin-filterbar input,.invite-form input{width:100%;min-height:var(--control-min-height);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface)}.admin-filterbar select,.invite-form input{padding:0 var(--space-3)}.admin-search{position:relative;align-self:end}.admin-search svg{position:absolute;left:var(--space-3);top:50%;z-index:1;color:var(--color-text-secondary);transform:translateY(-50%)}.admin-search input{padding:0 var(--space-3) 0 var(--space-10)}.admin-filterbar>button{min-height:var(--control-min-height);padding:0 var(--space-5);border:1px solid var(--color-brand);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-on-brand);background:var(--color-brand);font-weight:700}.invite-form{padding:var(--space-5);display:grid;grid-template-columns:minmax(16rem,1fr) 10rem auto;align-items:end;gap:var(--space-4);border-bottom:1px solid var(--color-border)}.invite-form>button{min-height:var(--control-min-height);padding:0 var(--space-6);border:0;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-on-action);background:var(--color-action);box-shadow:var(--shadow-action);font-weight:800}.invite-form>button:hover{background:var(--color-action-hover)}.invite-form>button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.new-invite-code{margin:var(--space-5);padding:var(--space-4);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-4);color:var(--color-on-action);background:var(--color-action)}.new-invite-code strong{flex:1;font:800 var(--text-card-title)/1 var(--font-latin);letter-spacing:.06em}.new-invite-code button{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--color-text-primary);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-text-primary);background:transparent;font-weight:700}.admin-table-wrap{max-width:100%;overflow-x:auto}.admin-table-wrap table{width:100%;min-width:58rem;border-collapse:collapse}.admin-table-wrap th,.admin-table-wrap td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle}.admin-table-wrap tbody tr:hover{background:var(--color-surface-subtle)}.admin-table-wrap th{color:var(--color-text-secondary);background:var(--color-surface-subtle);white-space:nowrap;font-size:var(--text-label)}.admin-table-wrap td{font-size:var(--text-label)}.admin-table-wrap td strong,.admin-table-wrap td small{display:block}.admin-table-wrap td small{max-width:22rem;margin-top:var(--space-1);color:var(--color-text-secondary);line-height:1.45}.admin-table-wrap td>button{min-height:38px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-brand);background:var(--color-surface);font-weight:700}.admin-table-wrap td>button.is-danger{color:var(--color-danger);border-color:var(--color-danger)}.admin-status{min-height:28px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);display:inline-flex;align-items:center;color:var(--color-text-secondary);background:var(--color-surface-subtle);white-space:nowrap;font-size:var(--text-caption);font-weight:700}.admin-status.is-active,.admin-status.is-completed{color:var(--color-success);background:var(--color-success-surface)}.admin-status.is-processing,.admin-status.is-submitting,.admin-status.is-admin{color:var(--color-brand);background:var(--violet-100)}.admin-status.is-queued,.admin-status.is-delayed{color:var(--color-warning);background:var(--color-warning-surface)}.admin-status.is-failed,.admin-status.is-revoked,.admin-status.is-expired{color:var(--color-danger);background:var(--color-danger-surface)}.admin-status.is-uploading{color:var(--color-warning);background:var(--color-warning-surface)}.admin-status.is-archived{color:var(--color-text-secondary);background:var(--color-surface-subtle)}.tutorial-config-warning{margin-bottom:var(--space-5);padding:var(--space-4) var(--space-5);border:1px solid var(--color-attention);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-3);color:var(--color-warning);background:var(--color-warning-surface)}.tutorial-config-warning strong,.tutorial-config-warning span{display:block}.tutorial-config-warning span{margin-top:var(--space-1);font-size:var(--text-caption)}.tutorial-admin-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(20rem,.8fr);gap:var(--space-5)}.tutorial-security-tag{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-success)!important}.tutorial-upload-form{padding:var(--space-5);display:grid;gap:var(--space-5)}.tutorial-field{display:grid;gap:var(--space-2)}.tutorial-field>span{font-size:var(--text-label);font-weight:750}.tutorial-field input,.tutorial-field textarea{width:100%;min-height:var(--control-min-height);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface);resize:vertical}.tutorial-field textarea{min-height:7rem;line-height:1.65}.tutorial-file-zone{padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);display:grid;gap:var(--space-3);background:var(--color-surface-subtle)}.tutorial-file-picker{min-height:5rem;display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.tutorial-file-picker>span{width:3.25rem;height:3.25rem;flex:0 0 auto;border-radius:var(--radius-md);display:grid;place-items:center;color:var(--color-on-brand);background:var(--color-brand)}.tutorial-file-picker strong,.tutorial-file-picker small,.tutorial-file-meta strong,.tutorial-file-meta span{display:block}.tutorial-file-picker small,.tutorial-file-meta span{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--text-caption)}.tutorial-file-meta{padding-top:var(--space-3);border-top:1px solid var(--color-border);overflow-wrap:anywhere}.tutorial-local-preview,.tutorial-current-body video,.tutorial-video-shell video{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-md);display:block;background:var(--color-text-primary);object-fit:contain}.tutorial-progress{display:grid;gap:var(--space-2)}.tutorial-progress>div{display:flex;align-items:center;justify-content:space-between;color:var(--color-text-secondary);font-size:var(--text-label)}.tutorial-progress>span{height:var(--space-3);border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface-subtle)}.tutorial-progress i{height:100%;display:block;border-radius:inherit;background:var(--color-action);transition:width var(--motion-base) var(--ease-standard)}.tutorial-feedback{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);display:flex;align-items:center;gap:var(--space-2);color:var(--color-success);background:var(--color-success-surface)}.tutorial-feedback.is-uploading,.tutorial-feedback.is-verifying{color:var(--color-brand);background:var(--color-surface-subtle)}.tutorial-feedback.is-error{color:var(--color-danger);background:var(--color-danger-surface)}.tutorial-publish-button,.tutorial-detail>button,.tutorial-page-state>button{min-height:3.5rem;padding:0 var(--space-6);border:0;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--color-on-action);background:var(--color-action);box-shadow:var(--shadow-action);font-weight:800}.tutorial-publish-button:hover,.tutorial-detail>button:hover,.tutorial-page-state>button:hover{background:var(--color-action-hover)}.tutorial-publish-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.tutorial-current-body{padding:var(--space-5)}.tutorial-current-body h3{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-card-title)}.tutorial-current-body p{margin:0;color:var(--color-text-secondary);line-height:1.65}.tutorial-current-body dl{margin:var(--space-5) 0 0;padding-top:var(--space-4);border-top:1px solid var(--color-border);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.tutorial-current-body dt,.tutorial-detail dt{color:var(--color-text-secondary);font-size:var(--text-caption)}.tutorial-current-body dd,.tutorial-detail dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-size:var(--text-label);font-weight:700}.tutorial-current-empty{min-height:28rem;padding:var(--space-6);display:grid;place-items:center;align-content:center;gap:var(--space-2);color:var(--color-text-secondary);text-align:center}.tutorial-current-empty p{max-width:28rem;margin:0;line-height:1.65}.tutorial-history-panel{margin-top:var(--space-5)}.tutorial-page{width:min(100%,var(--content-max));margin:0 auto;padding:var(--space-10) var(--page-gutter) var(--space-20)}.tutorial-hero{max-width:50rem;margin-bottom:var(--space-8)}.tutorial-hero h1{margin:0 0 var(--space-3);font-size:var(--text-page-title);letter-spacing:-.03em}.tutorial-hero p{margin:0;color:var(--color-text-secondary);font-size:var(--text-body-lg);line-height:1.7}.tutorial-viewer{padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:grid;grid-template-columns:minmax(0,1.6fr) minmax(19rem,.8fr);gap:var(--space-6);background:var(--color-surface)}.tutorial-video-shell{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-brand-strong)}.tutorial-detail{padding:var(--space-4) var(--space-3);display:flex;flex-direction:column}.tutorial-detail>span{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-brand);font-size:var(--text-label);font-weight:800}.tutorial-detail h2{margin:var(--space-4) 0 var(--space-3);font-size:var(--text-section-title)}.tutorial-detail>p{margin:0;color:var(--color-text-secondary);line-height:1.75}.tutorial-detail dl{margin:var(--space-6) 0;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.tutorial-detail>button{width:100%;margin-top:auto}.tutorial-page-state{min-height:28rem;padding:var(--space-8);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:grid;place-items:center;align-content:center;gap:var(--space-3);color:var(--color-text-secondary);background:var(--color-surface);text-align:center}.tutorial-page-state.is-error{color:var(--color-danger);background:var(--color-danger-surface)}.tutorial-page-state p{margin:0 0 var(--space-3)}.admin-provider-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.admin-provider-list .admin-provider-state{min-height:32px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);background:var(--color-surface-subtle);font-size:var(--text-caption)}.admin-provider-list .admin-provider-state strong,.admin-provider-list .admin-provider-state small{display:inline;margin:0}.admin-provider-list .admin-provider-state small{color:inherit;font-size:var(--text-caption)}.admin-provider-list .admin-provider-state.is-connected{color:var(--color-success);background:var(--color-success-surface)}.admin-provider-list .admin-provider-state.is-connected svg{stroke-width:2.5}.admin-job-title{display:flex;align-items:center;gap:var(--space-3)}.admin-job-thumbnail,.admin-job-placeholder{width:52px;aspect-ratio:3 / 4;flex:0 0 auto;padding:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-surface-subtle)}.admin-job-thumbnail{position:relative;cursor:zoom-in;transition:border-color var(--motion-fast),box-shadow var(--motion-fast)}.admin-job-thumbnail>img{width:100%;height:100%;display:block;object-fit:contain}.admin-job-thumbnail>span{position:absolute;right:0;bottom:0;left:0;min-height:24px;display:flex;align-items:center;justify-content:center;gap:var(--space-1);color:var(--color-on-brand);background:var(--color-brand-strong);font-size:var(--text-overline);font-weight:700;opacity:0;transform:translateY(100%);transition:opacity var(--motion-fast),transform var(--motion-fast) var(--ease-standard)}.admin-job-thumbnail:hover,.admin-job-thumbnail:focus-visible{border-color:var(--color-brand);box-shadow:0 0 0 3px var(--color-focus-ring)}.admin-job-thumbnail:hover>span,.admin-job-thumbnail:focus-visible>span{opacity:1;transform:translateY(0)}.admin-job-placeholder{display:grid;place-items:center;color:var(--color-brand)}.admin-image-preview-scrim{padding:var(--space-4)}.admin-image-preview-dialog{width:min(72rem,100%);max-height:calc(100dvh - var(--space-8));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);background:var(--color-surface);box-shadow:var(--shadow-modal);animation:admin-preview-enter var(--motion-base) var(--ease-standard) both}.admin-image-preview-dialog>header{min-height:5.5rem;padding:var(--space-4) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);border-bottom:1px solid var(--color-border)}.admin-image-preview-dialog>header span{color:var(--color-brand);font-size:var(--text-overline);font-weight:800;letter-spacing:.08em}.admin-image-preview-dialog>header h2{margin:var(--space-1) 0;font-size:var(--text-card-title)}.admin-image-preview-dialog>header p{margin:0;color:var(--color-text-secondary);font-size:var(--text-caption)}.admin-image-preview-dialog>header button{width:var(--touch-target);height:var(--touch-target);flex:0 0 auto;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);display:grid;place-items:center;color:var(--color-brand);background:var(--color-surface)}.admin-image-preview-dialog>figure{min-height:0;margin:0;padding:var(--space-4);display:grid;place-items:center;overflow:auto;background:var(--color-text-primary)}.admin-image-preview-dialog>figure img{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 9.5rem);display:block;border-radius:var(--radius-sm);object-fit:contain}@keyframes admin-preview-enter{0%{opacity:0;transform:translateY(var(--space-2)) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.admin-error-category{color:var(--color-danger)}.admin-result-ok{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-success);font-weight:700}.admin-pagination{min-height:4.5rem;padding:var(--space-3) var(--space-5);display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-caption)}.admin-pagination button{min-height:38px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-brand);background:var(--color-surface)}.admin-pagination button:disabled{opacity:.42;cursor:not-allowed}.admin-empty,.admin-empty-compact{min-height:14rem;display:grid;place-items:center;align-content:center;gap:var(--space-2);color:var(--color-text-secondary);text-align:center}.admin-empty-compact{min-height:10rem;padding:var(--space-5)}.admin-empty span{font-size:var(--text-caption)}.admin-usage-progress{min-width:10rem;display:flex;align-items:center;gap:var(--space-2)}.admin-usage-progress>span{width:7rem;height:7px;border-radius:var(--radius-pill);overflow:hidden;background:var(--color-surface-subtle)}.admin-usage-progress i{height:100%;display:block;background:var(--color-brand)}.delete-work-button{min-height:var(--touch-target);margin-top:var(--space-3);padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-danger);background:var(--color-surface)}.work-placeholder{min-height:100%;display:grid;place-items:center;align-content:center;gap:var(--space-3);color:var(--color-brand);background:var(--color-surface-subtle)}.work-image .work-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;min-height:100%;border-radius:0;opacity:1;transform:none}.work-placeholder.is-failed{color:var(--color-danger);background:var(--color-danger-surface)}.work-placeholder.is-delayed{color:var(--color-warning);background:var(--color-warning-surface)}.works-empty{min-height:18rem;display:grid;place-items:center;align-content:center;gap:var(--space-2);color:var(--color-text-secondary);text-align:center}.works-empty p{margin:0}@media(max-width:1200px){.demo-badge{display:none}.tutorial-admin-grid,.tutorial-viewer,.admin-dashboard-grid.is-wide-left,.admin-dashboard-grid{grid-template-columns:1fr}.admin-filterbar,.admin-filterbar.is-jobs{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filterbar .admin-search{grid-column:1 / -1}.admin-filterbar>button{justify-self:stretch}}@media(max-width:900px){.admin-page{grid-template-columns:1fr}.admin-sidebar{position:fixed;left:0;width:min(86vw,20rem);transform:translate(-105%);transition:transform var(--motion-base) var(--ease-standard);box-shadow:var(--shadow-modal)}.admin-sidebar.is-open{transform:translate(0)}.admin-topbar{grid-template-columns:auto minmax(0,1fr) auto}.admin-menu-toggle{display:inline-flex;padding:0 var(--space-3)}}@media(max-width:960px){.auth-page{grid-template-columns:1fr}.auth-brand-panel{min-height:auto;padding:var(--space-8) var(--page-gutter)}.auth-brand-copy{margin:var(--space-12) 0 var(--space-4)}.auth-brand-copy h1{max-width:18ch;margin-bottom:var(--space-8)}.auth-form-panel{min-height:auto}.admin-metrics{grid-template-columns:1fr 1fr}.invite-form{grid-template-columns:1fr 10rem}.invite-form>button{grid-column:1 / -1}}@media(max-width:700px){.tutorial-page{padding-top:var(--space-8)}.tutorial-viewer{padding:var(--space-3);border-radius:var(--radius-lg)}.tutorial-video-shell,.tutorial-detail{padding:var(--space-2)}.tutorial-current-body dl,.tutorial-detail dl{grid-template-columns:1fr}.tutorial-security-tag,.auth-brand-copy ul{display:none}.auth-brand-copy{margin-top:var(--space-8)}.auth-brand-copy h1{margin-bottom:0}.auth-form-panel{padding:var(--space-8) var(--page-gutter)}.access-header .auth-brand{font-size:var(--text-label)}.access-header .auth-brand>span{width:40px;height:40px}.access-options,.admin-metrics{grid-template-columns:1fr}.admin-topbar{min-height:5.5rem;padding-block:var(--space-4)}.admin-topbar .eyebrow,.admin-topbar p,.admin-refresh{font-size:var(--text-caption)}.admin-refresh{width:44px;padding:0}.admin-refresh span{display:none}.admin-content{padding-top:var(--space-4)}.admin-toolbar.is-overview{align-items:stretch;flex-direction:column}.admin-range{align-self:flex-start}.admin-filterbar,.admin-filterbar.is-jobs{grid-template-columns:1fr}.admin-filterbar .admin-search{grid-column:auto}.admin-panel-heading{align-items:flex-start}.admin-panel-heading>button,.admin-panel-heading>span{flex:0 0 auto}.admin-chart{padding:var(--space-4) var(--space-3)}.admin-chart-legend{gap:var(--space-3)}.admin-health-grid{grid-template-columns:1fr 1fr;padding:var(--space-4)}.admin-pagination{justify-content:space-between;flex-wrap:wrap}.access-code-panel,.access-pay-panel{min-height:auto;padding:var(--space-6)}.admin-heading{grid-template-columns:1fr auto}.admin-heading>button:first-child{grid-column:1 / -1;justify-self:start}.invite-form{grid-template-columns:1fr}.new-invite-code{align-items:flex-start;flex-direction:column}}
