.atelier{min-height:100dvh;background:radial-gradient(1200px 600px at 50% -10%,rgba(232,98,42,.07),transparent 60%),var(--ink)}.atelier-inner{max-width:1140px;margin:0 auto;padding:64px 28px 96px}.atelier h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.035em;font-size:clamp(30px,5vw,52px);margin:10px 0 8px}.atelier .lede{color:var(--muted);max-width:60ch;line-height:1.65;margin:0 0 44px}.doors{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(268px,1fr))}.door{position:relative;overflow:hidden;text-align:left;cursor:pointer;padding:26px 24px 22px;border-radius:var(--radius-lg);border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),#0e0e0e);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.door:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:0 26px 60px -34px #000000e6}.door:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--door-accent, var(--coral));opacity:.85}.door .art{font-family:var(--font-display);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--door-accent, var(--coral))}.door .name{font-family:var(--font-display);font-weight:800;font-size:25px;letter-spacing:-.03em;margin:8px 0 10px}.door .blurb{color:var(--muted);font-size:13.5px;line-height:1.6}.door .climb{display:flex;gap:7px;align-items:center;margin-top:18px;font-size:11px;color:var(--sand-dim);font-family:var(--font-display);letter-spacing:.05em}.door .climb i{width:5px;height:5px;border-radius:50%;background:var(--door-accent);opacity:.35;font-style:normal}.door .climb i:last-of-type{opacity:1}.manuscript{min-height:100dvh;background:#14120f;display:grid;grid-template-columns:232px minmax(0,1fr) 268px}@media (max-width: 1080px){.manuscript{grid-template-columns:1fr}}.gutter{border-right:1px solid var(--line);padding:30px 20px;background:#100e0c}.gutter .eyebrow{display:block;margin-bottom:18px}.gutter-item{display:block;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:9px 12px 9px 16px;border-radius:8px;color:var(--sand-dim);font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:14.5px;line-height:1.4;position:relative}.gutter-item:hover{background:#ead9bf0d;color:var(--text)}.gutter-item.on{color:var(--sand);background:#ead9bf12}.gutter-item.on:before{content:"";position:absolute;left:3px;top:12px;bottom:12px;width:2px;background:var(--sand);border-radius:2px}.gutter-item .rung{display:block;font-family:var(--font-display);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:3px}.gutter-item.stale .rung{color:var(--amber)}.page-well{padding:46px 34px 120px;overflow-y:auto}.page{max-width:36rem;margin:0 auto;background:#f6f0e4;color:#1d1a15;padding:68px 62px 84px;border-radius:3px;box-shadow:0 40px 90px -40px #000000e6,0 2px #ffffff40 inset;font-family:Iowan Old Style,Palatino Linotype,Palatino,Georgia,serif;font-size:18.5px;line-height:1.72}.page .folio{font-family:var(--font-display);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#8a8177;margin-bottom:26px}.page h2{font-family:Iowan Old Style,Palatino,Georgia,serif;font-weight:600;font-size:27px;line-height:1.24;margin:0 0 8px;letter-spacing:-.01em}.page .brief{font-style:italic;color:#6b6259;margin:0 0 34px;font-size:16px;line-height:1.6;border-left:2px solid #d9cdb8;padding-left:14px}.page .prose p{margin:0 0 1.15em}.page .prose.dropcap>p:first-of-type:first-letter{float:left;font-size:3.4em;line-height:.84;padding:.06em .09em 0 0;font-weight:600}.page .blank{color:#9a9187;font-style:italic}.margin{border-left:1px solid var(--line);padding:30px 20px;background:#100e0c;overflow-y:auto}.marginalia{font-family:Iowan Old Style,Palatino,Georgia,serif;font-size:13px;line-height:1.55;color:#8d8579}.pencil{border-left:2px solid rgba(234,217,191,.2);padding:2px 0 2px 11px;margin:0 0 16px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.pencil:hover{color:var(--text);border-color:var(--sand-dim)}.pencil .rung{font-family:var(--font-display);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:3px}.pencil-note{border-left-color:var(--amber);color:#c9a86a}.climb-bar{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 18px;background:#100e0ceb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.rung-btn{background:transparent;border:1px solid var(--line-strong);color:var(--sand-dim);padding:9px 15px;border-radius:999px;cursor:pointer;font-family:var(--font-display);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;transition:all .15s ease}.rung-btn:hover:not(:disabled){color:var(--text);border-color:var(--sand)}.rung-btn.done{color:var(--teal);border-color:#00bdb473}.rung-btn.next{color:#150a04;background:linear-gradient(135deg,var(--coral-warm),var(--coral));border-color:transparent;box-shadow:0 10px 26px -12px #e8622a99}.rung-btn:disabled{opacity:.45;cursor:default}.bar-note{color:var(--muted);font-size:12px;margin-left:auto}.ask-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#060504b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:end center;z-index:60;padding:24px}.ask{width:min(860px,100%);max-height:86dvh;overflow-y:auto;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:26px 28px 30px}.ask h3{font-family:var(--font-display);font-weight:800;margin:0 0 4px;font-size:20px;letter-spacing:-.02em}.ask .free{color:var(--teal);font-size:12px;font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase}.ask-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:20px 0}.ask-cell{border:1px solid var(--line);border-radius:10px;padding:11px 13px}.ask-cell b{display:block;font-family:var(--font-display);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.ask-cell span{font-size:13.5px;color:var(--text);word-break:break-word}.ask pre{background:#0c0c0c;border:1px solid var(--line);border-radius:10px;padding:16px;white-space:pre-wrap;font-size:12.5px;line-height:1.6;color:#cdc6bb;max-height:300px;overflow-y:auto;font-family:ui-monospace,SF Mono,Menlo,monospace}.ask .steps{list-style:none;padding:0;margin:0 0 18px}.ask .steps li{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.ask .steps li b{color:var(--teal);font-family:var(--font-display);min-width:20px}.trap{border:1px solid rgba(245,166,35,.35);background:#f5a6230f;border-radius:10px;padding:11px 13px;margin-bottom:8px;font-size:12.5px;color:#e2cfa8}.trap b{color:var(--amber)}.ask-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.easel{min-height:100dvh;display:grid;grid-template-columns:232px minmax(0,1fr);background:radial-gradient(900px 520px at 50% 0%,rgba(255,240,220,.055),transparent 65%),#131110}@media (max-width: 1080px){.easel{grid-template-columns:1fr}}.wall{display:flex;flex-direction:column;align-items:center;padding:48px 28px 0;overflow-y:auto}.canvas-shell{position:relative;padding:15px;background:linear-gradient(155deg,#d8c39c,#a9906a);border-radius:2px;box-shadow:0 54px 110px -46px #000000f2,0 2px #ffffff38 inset;max-width:780px;width:100%}.canvas{position:relative;aspect-ratio:3 / 2;background:#ece3d2;overflow:hidden;display:grid;place-items:center}.canvas img{width:100%;height:100%;object-fit:cover;display:block}.canvas:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.05) 0 1px,transparent 1px 3px)}.canvas .empty{color:#8d8272;font-family:Iowan Old Style,Palatino,Georgia,serif;font-style:italic;font-size:16px;text-align:center;padding:0 40px}.plate{text-align:center;margin:20px 0 8px}.plate .title{font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:-.02em}.plate .rung{font-family:var(--font-display);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin-top:5px}.plate .brief{color:var(--muted);font-size:13px;font-style:italic;margin-top:8px;max-width:54ch;margin-left:auto;margin-right:auto;line-height:1.55}.palette{display:flex;align-items:center;gap:12px;margin:26px 0 8px;padding:12px 20px;border-radius:999px 999px 26px 26px;background:linear-gradient(160deg,#6f5636,#4a3823);border:1px solid rgba(0,0,0,.4);box-shadow:0 18px 40px -22px #000000e6}.palette .blob{width:26px;height:26px;border-radius:50%;box-shadow:0 2px 5px #00000080,0 1px #ffffff4d inset}.palette .label{font-family:var(--font-display);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:#d8c39c}.leaning{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding:30px 0 40px}.leaning figure{margin:0;cursor:pointer;width:116px}.leaning img{width:116px;height:78px;object-fit:cover;display:block;border:5px solid #bfa478;box-shadow:0 16px 26px -14px #000000e6}.leaning figure:nth-child(odd){transform:rotate(-1.6deg)}.leaning figure:nth-child(2n){transform:rotate(1.3deg)}.leaning figcaption{font-family:var(--font-display);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:7px}.inst-bar{display:flex;align-items:center;gap:14px;padding:16px 24px;border-bottom:1px solid var(--line)}.inst-bar .back{color:var(--muted);font-size:12.5px;cursor:pointer;background:none;border:0;font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase}.inst-bar .back:hover{color:var(--text)}.inst-title{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.working{color:var(--coral);font-size:12px;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase}.err{color:#ff8a6a;font-size:12.5px;padding:10px 18px;background:#ff5a3c14;border-top:1px solid rgba(255,90,60,.25)}.quiet-input{background:#0f0e0d;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:11px 13px;font-family:inherit;font-size:14px;width:100%}.quiet-input:focus{outline:none;border-color:var(--sand-dim)}:root{--teal: #00bdb4;--teal-deep: #008f88;--teal-light: #4dd9d3;--coral: #e8622a;--coral-warm: #f2854e;--coral-burnt: #b84a1a;--amber: #f5a623;--ink: #0a0a0a;--panel: #141414;--panel-2: #1e1e1e;--panel-3: #262626;--sand: #ead9bf;--sand-dim: #c4a882;--text: #f5ede0;--muted: #9a938a;--line: rgba(234, 217, 191, .12);--line-strong: rgba(234, 217, 191, .22);--font-display: "Sora", system-ui, sans-serif;--font-body: "Space Grotesk", system-ui, sans-serif;--radius: 14px;--radius-lg: 20px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ink);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.wordmark{font-family:var(--font-display);font-weight:800;letter-spacing:-.04em;line-height:1}.wordmark .ai{color:var(--teal);position:relative}.wordmark .ai .crown{position:absolute;top:-.16em;right:-.09em;width:.2em;height:.2em;border-radius:50%;background:var(--coral);box-shadow:0 0 .5em #e8622ab3}.division{font-family:var(--font-display);font-weight:800;color:var(--sand);letter-spacing:-.03em}.eyebrow{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--sand-dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:0;border-radius:12px;cursor:pointer;font-family:var(--font-display);font-weight:600;font-size:14px;color:#150a04;background:linear-gradient(135deg,var(--coral-warm),var(--coral));box-shadow:0 12px 30px -12px #e8622a99;transition:transform .12s ease,box-shadow .12s ease}.btn:hover{transform:translateY(-1px)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line-strong);box-shadow:none}.card{background:linear-gradient(180deg,var(--panel),#101010);border:1px solid var(--line);border-radius:var(--radius-lg)}@keyframes ent-drift{0%{transform:translate(-4%,-2%) scale(1.05)}50%{transform:translate(4%,3%) scale(1.12)}to{transform:translate(-4%,-2%) scale(1.05)}}@keyframes ent-rise{0%{opacity:0;transform:translateY(14px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}@keyframes ent-line{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ent-grain{0%,to{transform:translate(0)}20%{transform:translate(-2%,1%)}40%{transform:translate(1%,-2%)}60%{transform:translate(-1%,2%)}80%{transform:translate(2%,-1%)}}@keyframes ent-out{to{opacity:0;transform:scale(1.03)}}
