:root{font-family:Georgia,Times New Roman,serif;color:#243c3d;background:#f6efe2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}main{min-height:100dvh;width:100%;padding:clamp(1rem,3vw,3.5rem)}header{display:flex;justify-content:space-between;align-items:end;border-bottom:2px solid #28484b;padding-bottom:2rem;gap:2rem}.eyebrow{font:11px/1.5 ui-monospace,monospace;letter-spacing:.2em;color:#70664f}h1{font-size:clamp(2.8rem,6vw,6.5rem);letter-spacing:-.055em;line-height:.98;margin:.8rem 0}h1 em{font-weight:400;color:#9e5037}h2{font-size:clamp(1.6rem,2.6vw,2.7rem);letter-spacing:-.03em}h3{font-size:1.45rem;margin:.3rem 0 1rem}.lede{font-size:clamp(1.2rem,2vw,1.8rem);line-height:1.4}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0}button,.file{font:12px ui-monospace,monospace;border:1px solid #426263;padding:.8rem 1rem;background:#fdf9ef;color:#243c3d;border-radius:3px;cursor:pointer}button:hover,button.active{background:#28484b;color:#fff8e8}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c56b3d;outline-offset:3px}.notice{font:13px/1.6 system-ui;max-width:85ch}.status{background:#dce5d8;padding:.8rem 1rem;border-left:3px solid #456350;font:13px system-ui}.warning,.warn{color:#a03d28}.warning{padding:1rem;background:#ffe5cb}.workspace{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(450px,1.7fr);gap:3rem;margin-top:3rem}aside>p{line-height:1.6}.ingredients{display:grid;gap:.8rem}.ingredient{display:grid;grid-template-columns:16px 23px 1fr;gap:.6rem;padding:1rem;background:#eee6d8;border:1px solid transparent;cursor:pointer}.ingredient.selected{background:#fffaf0;border-color:#c3bea7}.ingredient input{accent-color:#315957;margin:3px 0}.number{color:#a76a43;font:11px monospace;padding-top:4px}strong,small,.memory{display:block}strong{font-size:1.15rem}small{font:10px/1.6 monospace;letter-spacing:.02em;margin:.35rem 0;color:#8d593b}.memory{font-size:.94rem;line-height:1.5;color:#536464}nav{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}nav button{display:flex;gap:.5rem;align-items:center;text-align:left;min-height:60px}nav span{font-size:1.3rem;opacity:.6}.scene-intro{padding:2rem 0;animation:arrive .35s ease-out}.scene-intro h2{font-size:3rem;margin:.8rem 0}.scene-intro p{font-size:1.2rem;line-height:1.6;max-width:65ch}.badge{font:10px monospace;letter-spacing:.1em;border:1px solid;padding:.4rem}.rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.rules article{background:#fffaf1;border-top:4px solid #aa6748;padding:1.3rem;min-width:0}label{font:12px/1.5 system-ui}select{display:block;width:100%;font:12px system-ui;background:transparent;color:#244748;border:1px solid #aaa086;padding:.65rem;margin-top:.4rem}.prose{font-size:1.05rem;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.reason{font:11px/1.5 monospace;color:#68796b}.reason.warn{color:#a03d28}summary{cursor:pointer;font:11px/1.5 monospace}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 monospace}footer{border-top:2px solid;margin-top:4rem;padding:2rem 0}footer p{max-width:90ch;font:12px/1.7 system-ui}.file input{max-width:200px;font:11px system-ui;margin-left:.5rem}.editor{padding:2rem;background:#e7e3d6;margin-top:2rem}.editor p{max-width:90ch;font:13px/1.7 system-ui}textarea{display:block;width:100%;height:450px;background:#152f34;color:#e6f0df;font:12px/1.6 monospace;padding:1rem;border:0;margin:1rem 0;tab-size:2}.empty{padding:3rem;border:1px dashed}details{margin-top:1rem}button{transition:background .15s,color .15s}@keyframes arrive{0%{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:950px){.workspace{grid-template-columns:1fr}.ingredients{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){header{display:block}.rules,.ingredients{grid-template-columns:1fr}nav{grid-template-columns:repeat(2,1fr)}.workspace{gap:1rem}.scene-intro h2{font-size:2.4rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.toolbar,.editor,footer details{display:none}.workspace{display:block}article{break-inside:avoid}}
