@font-face{font-family:Newsreader;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/newsreader-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/source-sans-3-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #12111a;--panel: #1c1b24;--panel-open: #24232e;--bay: #17161f;--ink: #f3efe6;--muted: #c9c3d8;--quiet: #b7b1c6;--line: #5c5872;--chip-line: #6d6880;--track: #4e4a62;--accent: #5b4de0;--accent-hover: #6256e4;--accent-active: #4a3fc4;--on-accent: #f7f5ff;--focus: #d9d3ff;--danger: #ffc7c2;--hover: rgb(255 255 255 / .04);--shadow: 0 18px 36px rgb(6 5 12 / .45);--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:"Source Sans 3",Segoe UI,sans-serif;font-size:1rem;font-weight:500;line-height:1.45;letter-spacing:.005em;text-rendering:optimizeLegibility}#root{min-height:100%}::selection{background:#5b4de0;color:#f7f5ff}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip{position:absolute;left:.75rem;top:.75rem;z-index:8;padding:.55rem .8rem;border-radius:.5rem;background:var(--ink);color:var(--bg);font-weight:600;text-decoration:none;transform:translateY(-160%)}.skip:focus{transform:none}.studio{min-height:100dvh;background:var(--bg);color:var(--ink)}.panel{background:var(--panel);color:var(--ink)}.mast{padding:1.35rem 1.25rem 1.1rem;border-bottom:1px solid var(--line)}.mast h1{margin:0;font-family:Newsreader,Iowan Old Style,Palatino,serif;font-weight:640;font-size:1.7rem;line-height:1.2;letter-spacing:-.025em;font-optical-sizing:auto}.controls{container-type:inline-size;container-name:controls}.sheet{display:flex;flex-direction:column}.section+.section{border-top:1px solid var(--line)}.section.is-open{background:var(--panel-open)}.section h2{margin:0;font:inherit;line-height:inherit}.section-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:3rem;padding:.8rem 1.25rem;border:0;background:transparent;color:inherit;font:inherit;font-size:1rem;font-weight:600;letter-spacing:0;text-align:left;cursor:pointer}.section-toggle:hover{background:var(--hover)}.section-toggle svg{width:1.15rem;height:1.15rem;flex:none;color:var(--muted);transition:transform .2s var(--ease)}.section.is-open .section-toggle svg{transform:rotate(180deg)}.fold{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s var(--ease)}.fold.is-open{grid-template-rows:1fr}.fold-inner{overflow:hidden}.stack{display:flex;flex-direction:column;gap:1.05rem;padding:.15rem 1.25rem 1.25rem}.field{margin:0;padding:0;border:0;min-inline-size:0}.field-label{display:block;margin:0 0 .5rem;padding:0;color:var(--muted);font-size:.8125rem;font-weight:600;letter-spacing:.02em;line-height:1.3}.choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}@container controls (min-width: 26rem){.choices{grid-template-columns:repeat(3,minmax(0,1fr))}}.choice{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:2.75rem;padding:.4rem .7rem;border:1px solid var(--chip-line);border-radius:.6rem;background:transparent;color:var(--ink);font-size:.875rem;font-weight:500;line-height:1.2;text-align:center;text-wrap:balance;cursor:pointer}.choice input,.swatch input,.toggle input{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}.choice span,.choice svg,.swatch svg,.toggle-label,.toggle .track{pointer-events:none}.choice:hover{background:var(--hover)}.choice:has(input:checked){background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.choice:has(input:checked):hover{background:var(--accent-hover)}.choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.choice svg{position:absolute;top:.35rem;right:.35rem;width:.8rem;height:.8rem;pointer-events:none}.slider-top{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.2rem}.slider-top label{color:var(--muted);font-size:.8125rem;font-weight:600;letter-spacing:.02em}.slider output{color:var(--ink);font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:0}.slider input[type=range]{--pct: 0%;display:block;width:100%;height:1.75rem;margin:0;background:transparent;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider input[type=range]::-webkit-slider-runnable-track{height:.25rem;border-radius:999px;background:linear-gradient(to right,var(--accent) var(--pct),var(--track) var(--pct))}.slider input[type=range]::-webkit-slider-thumb{width:1.125rem;height:1.125rem;margin-top:-.4375rem;border:2px solid var(--accent);border-radius:50%;background:var(--ink);box-shadow:0 1px 3px #0006;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider input[type=range]::-moz-range-track{height:.25rem;border:0;border-radius:999px;background:linear-gradient(to right,var(--accent) var(--pct),var(--track) var(--pct))}.slider input[type=range]::-moz-range-thumb{width:1.125rem;height:1.125rem;border:2px solid var(--accent);border-radius:50%;background:var(--ink);box-shadow:0 1px 3px #0006}.slider input[type=range]:focus-visible{outline:none}.slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--panel),0 0 0 5px var(--focus)}.slider input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--panel),0 0 0 5px var(--focus)}.swatches{display:grid;grid-template-columns:repeat(4,2.75rem);gap:.65rem}.swatch{position:relative;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgb(255 255 255 / .38);border-radius:50%}.swatch:has(input:checked){box-shadow:0 0 0 2px var(--panel-open),0 0 0 4px var(--accent)}.swatch:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.swatch svg{width:1rem;height:1rem;pointer-events:none}.toggle{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.75rem;cursor:pointer}.toggle-label{color:var(--ink);font-size:.9375rem;font-weight:500}.track{display:flex;align-items:center;flex:none;width:2.5rem;height:1.45rem;padding:.15rem;border-radius:999px;background:var(--track);transition:background .16s var(--ease)}.knob{width:1.15rem;height:1.15rem;border-radius:50%;background:var(--ink);box-shadow:0 1px 3px #0006;transition:transform .16s var(--ease)}.toggle:has(input:checked) .track{background:var(--accent)}.toggle:has(input:checked) .knob{transform:translate(1.05rem)}.toggle:has(input:focus-visible) .track{outline:2px solid var(--focus);outline-offset:3px}.action{padding:.9rem 1.25rem 1.1rem;border-top:1px solid var(--line);background:var(--panel)}.generate{width:100%;min-height:3rem;border:0;border-radius:.7rem;background:var(--accent);color:var(--on-accent);font:inherit;font-size:1rem;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 8px 16px #08061459;transition:background .16s var(--ease)}.generate:hover{background:var(--accent-hover)}.generate:active{background:var(--accent-active)}.generate:disabled{background:#2a2836;color:var(--muted);cursor:not-allowed;box-shadow:none}.stage{display:grid;place-items:center;padding:1.25rem 1rem 1.5rem;background:radial-gradient(ellipse 72% 58% at 50% 42%,#262333 0%,transparent 68%),var(--bg)}.bay{position:relative;isolation:isolate;display:grid;place-items:center;width:100%;max-width:28rem;aspect-ratio:3 / 4;overflow:hidden;border:1px solid #3c3950;border-radius:1.25rem;background:var(--bay);box-shadow:var(--shadow),inset 0 1px #ffffff0d}.bay:before{content:"";position:absolute;top:.7rem;right:.7rem;bottom:.7rem;left:.7rem;z-index:0;border:1px solid rgb(255 255 255 / .08);border-radius:.75rem;pointer-events:none}.bay.has-image{padding:0}.bay.has-image:before,.bay.is-busy:before{display:none}.bay.is-error{border-color:#8a5a56}.bay-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.65rem;max-width:28rem;padding:1.5rem;text-align:center}.bay-copy h2,.bay-copy .lead{margin:0;color:var(--ink);font-family:Newsreader,Iowan Old Style,Palatino,serif;font-size:1.5rem;font-weight:560;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}.bay-copy p{margin:0;max-width:36ch;color:var(--quiet);text-wrap:balance;font-size:1rem;font-weight:500;line-height:1.5}.bay-copy .alert-copy{color:var(--danger)}.mark{width:4.25rem;height:auto;margin-bottom:.35rem;color:var(--quiet)}.mark.is-alert{width:3rem;color:var(--danger)}.bay img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;background:#0c0b12;animation:develop .68s var(--ease) both}.bay.is-busy:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(105deg,transparent 32%,rgb(243 239 230 / .14) 48%,transparent 64%);transform:translate(-55%);animation:sheen 1.6s var(--ease) infinite;pointer-events:none}.controls{scrollbar-width:thin;scrollbar-color:var(--line) transparent}@media(min-width:960px){.studio{display:grid;grid-template-columns:26.5rem minmax(0,1fr);height:100dvh;overflow:hidden}.panel{display:flex;flex-direction:column;min-height:0;height:100dvh;border-right:1px solid var(--line)}.mast h1{font-size:1.85rem;line-height:1.2}.controls{flex:1;min-height:0;overflow:auto}.stage{min-height:0;padding:1.5rem}.bay{width:min(36rem,calc(100% - 2rem),63dvh);max-width:none}}@media(max-width:959px){.mast{position:sticky;top:0;z-index:4;background:var(--panel)}.action{position:sticky;bottom:0;z-index:5;padding-bottom:calc(.9rem + env(safe-area-inset-bottom));box-shadow:0 -10px 24px #06050c66}#stage{scroll-margin-top:4.5rem}}@keyframes develop{0%{filter:blur(12px) saturate(.7);clip-path:inset(10% 0 0 0);opacity:.4}to{filter:blur(0) saturate(1);clip-path:inset(0);opacity:1}}@keyframes sheen{to{transform:translate(55%)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
