:root{color-scheme:light dark;--color-bg: #f6f6f9;--color-surface: #ffffff;--color-surface-2: #eeeef3;--color-surface-3: #e4e4ec;--color-border: #dedee6;--color-border-strong: #8b8b9c;--color-text: #16161d;--color-text-muted: #5b5b6b;--color-accent: #5b3df5;--color-accent-hover: #4a2fd6;--color-accent-text: #ffffff;--color-accent-soft: #efebff;--color-accent-soft-text: #4a2fd6;--color-focus: #5b3df5;--color-focus-halo: rgb(91 61 245 / 22%);--color-success-bg: #e4f5ea;--color-success-text: #14663a;--color-warning-bg: #fff3d1;--color-warning-text: #6b4a00;--color-error-bg: #fde8e8;--color-error-text: #9b1c1c;--color-danger: #c42b2b;--color-danger-text: #ffffff;--color-info-bg: #e6efff;--color-info-text: #1d4ea8;--color-studio: #e7e7ea;--swatch-ring: rgb(22 22 40 / 18%);--font-sans: system-ui, "Segoe UI", -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", Consolas, "SF Mono", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--leading-tight: 1.2;--leading-normal: 1.5;--tracking-display: -.015em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(22 22 40 / 6%);--shadow-md: 0 1px 2px rgb(22 22 40 / 5%), 0 6px 16px -4px rgb(22 22 40 / 10%);--shadow-lg: 0 2px 6px rgb(22 22 40 / 6%), 0 24px 48px -12px rgb(22 22 40 / 22%);--ease-out: cubic-bezier(.2, .8, .2, 1);--duration-fast: .12s;--duration-base: .2s;--touch-target: 44px;--header-height: 3.5rem;--content-max-width: 76rem;--gallery-min-column: 9.5rem;font-family:var(--font-sans);font-size:100%;line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root{--color-bg: #0e0e13;--color-surface: #17171e;--color-surface-2: #21212a;--color-surface-3: #2b2b36;--color-border: #2c2c37;--color-border-strong: #6c6c7d;--color-text: #f1f1f6;--color-text-muted: #a5a5b5;--color-accent: #a594ff;--color-accent-hover: #b8abff;--color-accent-text: #140a3d;--color-accent-soft: #231d45;--color-accent-soft-text: #c9beff;--color-focus: #a594ff;--color-focus-halo: rgb(165 148 255 / 28%);--color-success-bg: #10301e;--color-success-text: #a6e9bf;--color-warning-bg: #352800;--color-warning-text: #ffd98a;--color-error-bg: #3d1214;--color-error-text: #ffc2c2;--color-danger: #ff8f8f;--color-danger-text: #2a0606;--color-info-bg: #13254a;--color-info-text: #b7cdff;--color-studio: #d9d9de;--swatch-ring: rgb(255 255 255 / 28%);--shadow-sm: 0 1px 2px rgb(0 0 0 / 40%);--shadow-md: 0 1px 2px rgb(0 0 0 / 40%), 0 8px 20px -6px rgb(0 0 0 / 50%);--shadow-lg: 0 24px 48px -12px rgb(0 0 0 / 60%)}}@media(min-width:48rem){:root{--gallery-min-column: 11rem}}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-height) + var(--space-4))}:root:has(app-character-create-page){scroll-padding-bottom:7rem}body{margin:0}h1,h2,h3{margin:0 0 var(--space-4);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}h1{font-size:var(--text-2xl);font-weight:750}h2{font-size:var(--text-lg);font-weight:650}h3{font-size:var(--text-md);font-weight:650}@media(min-width:48rem){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-xl)}}p{margin:0 0 var(--space-4)}a{color:var(--color-accent);text-underline-offset:.2em}img{display:block;max-width:100%;height:auto}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 6px var(--color-focus-halo)}button,input,select,textarea{font:inherit;color:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);min-width:var(--touch-target);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);font-weight:550;text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast),transform var(--duration-fast)}button:hover:not(:disabled),.button:hover{background-color:var(--color-surface-2)}button:active:not(:disabled),.button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.6}button.primary,.button.primary{border-color:transparent;background-color:var(--color-accent);color:var(--color-accent-text);box-shadow:0 1px 2px #1616281a,0 6px 16px -6px color-mix(in srgb,var(--color-accent) 60%,transparent)}button.primary:hover:not(:disabled),.button.primary:hover{background-color:var(--color-accent-hover)}button.danger{border-color:transparent;background-color:var(--color-danger);color:var(--color-danger-text)}button.danger:hover:not(:disabled){background-color:var(--color-danger);filter:brightness(1.08)}button.ghost,.button.ghost{border-color:transparent;background-color:transparent;box-shadow:none}button.danger-quiet{border-color:transparent;background-color:transparent;box-shadow:none;color:var(--color-error-text)}button.large,.button.large{min-height:52px;padding:0 var(--space-5);border-radius:var(--radius-md)}label{display:block;font-weight:650;font-size:var(--text-sm)}input:not([type=checkbox],[type=radio],[type=file]),select,textarea{display:block;width:100%;min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-surface)}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;margin:0;accent-color:var(--color-accent)}:where(label:has(>input[type=checkbox]),label:has(>input[type=radio])){display:flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);font-weight:400;font-size:var(--text-md)}textarea{min-height:6.5rem;resize:vertical}[aria-invalid=true]{border-color:var(--color-danger)}fieldset{min-width:0;margin:0;padding:0;border:0}legend{padding:0;font-weight:650;font-size:var(--text-sm)}details{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-4);background-color:var(--color-surface)}details>summary{display:flex;align-items:center;min-height:var(--touch-target);cursor:pointer;font-weight:650}details[open]{padding-bottom:var(--space-4)}.field{display:flex;flex-direction:column;gap:6px}.field>p{margin:0}.hint{font-size:var(--text-sm);color:var(--color-text-muted)}.notice{padding:10px var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.notice.warning{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.notice.error{background-color:var(--color-error-bg);color:var(--color-error-text)}.notice.success{background-color:var(--color-success-bg);color:var(--color-success-text)}.notice.info{background-color:var(--color-info-bg);color:var(--color-info-text)}.panel{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}@media(min-width:48rem){.panel{padding:var(--space-5)}}.badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 10px;border-radius:var(--radius-pill);background-color:var(--color-surface-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:650;letter-spacing:.01em;vertical-align:middle}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background-color:currentColor}.badge.ready,.badge.completed{background-color:var(--color-success-bg);color:var(--color-success-text)}.badge.choosing{background-color:var(--color-accent-soft);color:var(--color-accent-soft-text)}.badge.running{background-color:var(--color-info-bg);color:var(--color-info-text)}.badge.running:before{animation:badge-pulse 1.2s ease-in-out infinite}.badge.rejected,.badge.failed{background-color:var(--color-error-bg);color:var(--color-error-text)}@keyframes badge-pulse{50%{opacity:.3}}.chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:var(--radius-pill);background-color:var(--color-surface-2);font-size:var(--text-sm)}.chip:has(>button){padding-right:4px}.chip>button{min-width:28px;min-height:28px;padding:0;border:0;border-radius:50%;background-color:transparent;box-shadow:none;color:var(--color-text-muted);font-size:var(--text-xs)}.chip-key{color:var(--color-text-muted)}.chip-dot{width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1px var(--swatch-ring);forced-color-adjust:none}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.option-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.option-card{position:relative;display:grid;grid-template-columns:1fr;align-content:start;gap:2px;min-height:var(--touch-target);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);font-size:var(--text-md);font-weight:400;cursor:pointer;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.option-card:hover{border-color:var(--color-border-strong)}.option-card>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.option-card-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:var(--space-1);border-radius:12px;background-color:var(--color-surface-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:800}.option-card-icon svg{width:22px;height:22px}.option-card-title{font-weight:650}.option-card-text{color:var(--color-text-muted);font-size:var(--text-sm)}.tag{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:var(--radius-pill);background-color:var(--color-surface-3);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:650;vertical-align:1px}.option-card:has(>input:checked){border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);background-color:var(--color-accent-soft)}.option-card:has(>input:checked):after{content:"\2713";position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-surface);color:var(--color-accent-text);font-size:12px;font-weight:800}.option-card:has(>input:checked) .option-card-icon{background-color:var(--color-accent);color:var(--color-accent-text)}.option-card:has(>input:checked) .option-card-text{color:var(--color-accent-soft-text)}.option-card:has(>input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 6px var(--color-focus-halo)}.option-card:has(>input:disabled){opacity:.55;cursor:not-allowed}@media(min-width:30rem){.option-card{padding:var(--space-3) var(--space-4)}.option-card:has(>.option-card-icon){grid-template-columns:auto 1fr;column-gap:var(--space-3)}.option-card-icon{grid-row:span 2;margin-bottom:0}}.tips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.tips li{padding:4px 10px;border-radius:var(--radius-pill);background-color:var(--color-success-bg);color:var(--color-success-text);font-size:var(--text-xs);font-weight:650}.ref-frame{position:relative;flex:none;display:block;width:72px;aspect-ratio:4 / 5;overflow:hidden;border-radius:var(--radius-sm);background-color:var(--color-studio)}.ref-frame img{width:100%;height:100%;object-fit:cover}.ref-num{position:absolute;top:4px;left:4px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-surface);color:var(--color-accent-text);font-size:11px;font-weight:750}.segmented{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;border-radius:var(--radius-sm);background-color:var(--color-surface-2)}.segmented>label{position:relative;display:grid;place-items:center;min-width:var(--touch-target);min-height:38px;border:1px solid transparent;border-radius:8px;font-size:var(--text-md);font-weight:550;cursor:pointer}.segmented>label>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:inherit}.segmented>label:has(>input:checked){border-color:var(--color-border-strong);background-color:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-accent-soft-text);font-weight:700}.segmented>label:has(>input:focus-visible){outline:2px solid var(--color-focus);outline-offset:1px}@media(forced-colors:active){.option-card:has(>input:checked),.segmented>label:has(>input:checked){border:2px solid Highlight}.option-card:has(>input:focus-visible),.segmented>label:has(>input:focus-visible){outline:3px solid CanvasText;outline-offset:3px}}.back{margin:0}.back,.back a{color:var(--color-text-muted);font-size:var(--text-sm);text-decoration:none}.flush{margin:0}.stack-tight{display:flex;flex-direction:column;gap:var(--space-2)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--gallery-min-column),1fr));gap:var(--space-2);margin:0;padding:0;list-style:none}.gallery img{width:100%;border-radius:var(--radius-md);background-color:var(--color-surface-2)}.busy-spinner{flex:none;width:1em;height:1em;border:.15em solid currentColor;border-right-color:transparent;border-radius:50%;animation:busy-spin .8s linear infinite}button[aria-busy=true]{cursor:progress}@keyframes busy-spin{to{transform:rotate(360deg)}}img[data-image-state=loading]{background-color:var(--color-surface-2);background-image:linear-gradient(90deg,var(--color-surface-2) 0%,var(--color-surface-3) 50%,var(--color-surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}img[data-image-state=error]{background-color:var(--color-surface-2);background-image:none}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}.busy-spinner,.badge.running:before,img[data-image-state=loading]{animation:none}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.credit-shortfall{flex-basis:100%;margin:0}.launch{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3)}
