:root{--paper: #f5f1e9;--ink: #1f1b17;--ink-soft: #857d70;--line: #e3dccf;--accent: #bd5a39;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-text: "Hanken Grotesk", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--text-sm: .8125rem;--text-base: 1rem;--text-lg: 1.375rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--radius: 3px;--dur-fast: .12s;--dur: .24s;--ease: cubic-bezier(.22, 1, .36, 1)}:root{--rail-w: 17.5rem;--gallery-w: 24rem;--maxw: 46rem;--hair: var(--line);--raise: rgba(31, 27, 23, .022);--accent-wash: rgba(189, 90, 57, .08);--vignette: radial-gradient(120% 70% at 50% -12%, rgba(255, 255, 255, .55), transparent 55%);--card: rgba(255, 255, 255, .6)}[data-theme=dark]{--paper: #14110f;--ink: #ede8e0;--ink-soft: #9a938a;--line: #2a2622;--accent: #c46a4a;--raise: rgba(255, 255, 255, .025);--accent-wash: rgba(196, 106, 74, .09);--vignette: radial-gradient(130% 90% at 50% -15%, transparent 58%, rgba(0, 0, 0, .45));--card: rgba(0, 0, 0, .28)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-text);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:var(--vignette)}::selection{background:var(--accent);color:var(--paper)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px}.atelier-shell{position:relative;z-index:1;display:grid;grid-template-columns:var(--rail-w) minmax(0,1fr) var(--gallery-w);min-height:100%}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-8) var(--space-6);border-right:1px solid var(--hair);overflow-y:auto}.rail__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.rail__brand{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.65rem;align-items:center;animation:rise var(--dur) var(--ease) both}.rail__brand-mark{grid-row:1 / 3;width:.6rem;height:.6rem;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-wash)}.rail__brand-name{font-family:var(--font-display);font-size:1.2rem;font-weight:600;letter-spacing:-.012em;line-height:1.1}.rail__brand-kicker{font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.rail__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.rail__list>li{animation:rise var(--dur) var(--ease) both}.rail__list>li:nth-child(1){animation-delay:.03s}.rail__list>li:nth-child(2){animation-delay:.06s}.rail__list>li:nth-child(3){animation-delay:.09s}.rail__list>li:nth-child(4){animation-delay:.12s}.rail__list>li:nth-child(5){animation-delay:.15s}.rail__list>li:nth-child(6){animation-delay:.18s}.rail__list>li:nth-child(7){animation-delay:.21s}.rail__list>li:nth-child(8){animation-delay:.24s}.rail__item{width:100%;display:block;padding:.62rem .7rem;border:0;border-left:2px solid transparent;border-radius:0 var(--radius) var(--radius) 0;background:none;color:var(--ink-soft);font-family:var(--font-text);font-size:.96rem;text-align:left;cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.rail__name{display:block}.rail__tag{display:block;margin-top:.12rem;font-family:var(--font-mono);font-size:.5625rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);opacity:.55}.rail__item:hover{color:var(--ink);background:var(--raise)}.rail__item.is-selected{color:var(--ink);background:var(--accent-wash);border-left-color:var(--accent)}.rail__item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.theme-toggle{flex-shrink:0;width:2.1rem;height:2.1rem;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);font-size:.95rem;cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.theme-toggle:hover{color:var(--ink);border-color:var(--ink-soft);background:var(--raise)}.workspace{height:100vh;overflow-y:auto;padding:var(--space-8) clamp(var(--space-8),5vw,3.75rem) 5rem;animation:rise var(--dur) var(--ease) .08s both}.workspace__head{max-width:var(--maxw);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--hair)}.workspace__kicker{display:block;margin-bottom:var(--space-3);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}.workspace__title{margin:0 0 var(--space-3);font-family:var(--font-display);font-weight:600;font-size:clamp(2.1rem,4vw,3.1rem);line-height:1.02;letter-spacing:-.022em}.workspace__desc{margin:0;max-width:38rem;color:var(--ink-soft);font-size:1.0625rem;line-height:1.5}.form{max-width:var(--maxw);display:flex;flex-direction:column;gap:var(--space-6)}.form__field{display:flex;flex-direction:column;gap:.5rem}.form__label{font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.form__input,.form__textarea,.form__select{width:100%;padding:.72rem .85rem;background:var(--raise);border:1px solid var(--hair);border-radius:var(--radius);color:var(--ink);font-family:var(--font-text);font-size:1rem;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.form__textarea{min-height:6rem;line-height:1.5;resize:vertical}.form__input:focus,.form__textarea:focus,.form__select:focus{outline:none;border-color:var(--accent);background:var(--accent-wash)}.form__input::placeholder{color:var(--ink-soft);opacity:.5}.form__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239a938a' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.2rem;cursor:pointer}.form__toggle{display:inline-flex;align-items:center;gap:.65rem;cursor:pointer;color:var(--ink-soft);font-size:.95rem}.form__toggle input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:2.3rem;height:1.25rem;border-radius:1rem;background:var(--line);cursor:pointer;transition:background var(--dur) var(--ease)}.form__toggle input:after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:var(--ink);transition:transform var(--dur) var(--ease)}.form__toggle input:checked{background:var(--accent)}.form__toggle input:checked:after{transform:translate(1.05rem)}.form__array{display:flex;flex-direction:column;gap:.5rem}.form__add{align-self:flex-start;padding:.35rem .8rem;background:none;border:1px dashed var(--line);border-radius:var(--radius);color:var(--ink-soft);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.form__add:hover{color:var(--ink);border-color:var(--ink-soft)}.form__submit{align-self:flex-start;margin-top:var(--space-2);padding:.82rem 1.7rem;background:var(--accent);border:0;border-radius:var(--radius);color:var(--paper);font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:filter var(--dur) var(--ease),transform var(--durFast) var(--ease)}.form__submit:after{content:"→";margin-left:.55rem;display:inline-block;transition:transform var(--dur) var(--ease)}.form__submit:hover{filter:brightness(1.08)}.form__submit:hover:after{transform:translate(3px)}.form__submit:active{transform:translateY(1px)}.workspace__enrich{margin-top:var(--space-4);margin-left:.6rem;padding:.8rem 1.4rem;background:none;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;cursor:not-allowed;opacity:.55}.workspace__enrich:after{content:" · P1";color:var(--accent)}.gallery{height:100vh;overflow-y:auto;padding:var(--space-8) var(--space-6);border-left:1px solid var(--hair);animation:rise var(--dur) var(--ease) .12s both}.gallery__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6)}.gallery__label{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}.gallery__copy{padding:.32rem .65rem;background:none;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.gallery__copy:hover{color:var(--ink);border-color:var(--ink-soft)}.gallery__empty{margin:0;padding:var(--space-8) 0;color:var(--ink-soft);font-family:var(--font-mono);font-size:.75rem;line-height:1.7;letter-spacing:.02em;opacity:.6}.output__text{margin:0;padding:var(--space-6);background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);color:var(--ink);font-family:var(--font-mono);font-size:.8125rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@media (max-width: 1000px){.atelier-shell{grid-template-columns:1fr}.rail,.workspace,.gallery{position:static;height:auto}.rail{flex-direction:column;border-right:0;border-bottom:1px solid var(--hair)}.gallery{border-left:0;border-top:1px solid var(--hair)}}
