.back{margin-bottom:2rem;font-size:.8rem}h1{font-size:1.75rem;font-weight:500;letter-spacing:-.02em;margin-bottom:.5rem}.lede{color:var(--mute);margin-bottom:1.5rem;max-width:60ch;line-height:1.65}.lede em{font-style:italic}.budget{border:1px solid var(--rule);border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.78rem}:global([data-theme=ascii]) .budget{border-radius:0;border-style:dashed}.budget-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:.4rem .85rem;align-items:baseline;font-variant-numeric:tabular-nums}.budget-bar{margin-top:.6rem;height:6px;background:color-mix(in oklab,var(--ink) 8%,transparent);border-radius:3px;overflow:hidden}.budget-fill{height:100%;width:0%;background:var(--ink);transition:width .25s ease}:global([data-theme=ascii]) .budget-bar,:global([data-theme=ascii]) .budget-fill{border-radius:0}.stage-palette{margin-bottom:1rem}.stage-palette-head{font-size:.7rem;text-transform:lowercase;letter-spacing:.06em;margin-bottom:.5rem}.tiles{display:flex;flex-wrap:wrap;gap:.5rem}.tile{border:1px solid var(--rule);border-radius:6px;padding:.5rem .7rem;background:var(--bg);cursor:grab;font-family:var(--mono);font-size:.75rem;line-height:1.35;user-select:none;transition:border-color .15s ease,transform .15s ease}.tile:hover{border-color:var(--ink)}.tile:active{cursor:grabbing;transform:scale(.97)}.tile.dragging{opacity:.4}.tile .tname{font-weight:500}.tile .tmeta{color:var(--mute);font-size:.68rem}:global([data-theme=ascii]) .tile{border-radius:0}.landscape{position:relative;border:1px solid var(--rule);border-radius:8px;background:color-mix(in oklab,var(--ink) 3%,var(--bg));overflow:hidden;margin-bottom:1rem;height:240px}:global([data-theme=ascii]) .landscape{border-radius:0;border-style:dashed}.ground{position:absolute;left:0;right:0;bottom:0;height:24px;background:repeating-linear-gradient(90deg,color-mix(in oklab,var(--ink) 14%,transparent) 0 6px,transparent 6px 11px);border-top:1px solid var(--rule);pointer-events:none}.river{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#river-path{fill:none;stroke:color-mix(in oklab,var(--ink) 18%,transparent);stroke-width:14;stroke-linecap:round}#river-flow{fill:none;stroke:var(--ink);stroke-width:2;stroke-dasharray:8 14;opacity:.55;animation:flow 6s linear infinite}@keyframes flow{to{stroke-dashoffset:-88}}.slots{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;height:100%;z-index:2}.slot{position:relative;border-right:1px dashed color-mix(in oklab,var(--ink) 18%,transparent);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:.4rem .3rem 1.5rem;transition:background .15s ease}.slot:last-child{border-right:none}.slot.over{background:color-mix(in oklab,var(--ink) 9%,transparent)}.slot-empty{color:var(--mute);font-family:var(--mono);font-size:.65rem;text-transform:lowercase;letter-spacing:.04em;opacity:.7;margin-bottom:auto;margin-top:.5rem}.feature{width:100%;display:flex;flex-direction:column;align-items:center;gap:.2rem;margin-top:auto}.building{width:28px;height:44px;background:var(--ink);position:relative}.building:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);border-left:16px solid transparent;border-right:16px solid transparent;border-bottom:10px solid var(--ink)}.building:after{content:"";position:absolute;inset:6px 6px auto;height:4px;background:var(--bg);box-shadow:0 10px 0 var(--bg),0 20px 0 var(--bg)}.swamp{width:36px;height:16px;background:radial-gradient(circle at 25% 50%,var(--ink) 0 2px,transparent 3px),radial-gradient(circle at 75% 50%,var(--ink) 0 2px,transparent 3px),repeating-linear-gradient(90deg,color-mix(in oklab,var(--ink) 30%,transparent) 0 3px,transparent 3px 7px);opacity:.85;border-radius:50%/30%}.stage-label{font-family:var(--mono);font-size:.62rem;color:var(--ink);text-align:center;line-height:1.1}.stage-meta{font-family:var(--mono);font-size:.55rem;color:var(--mute)}.remove{position:absolute;top:4px;right:4px;background:none;border:none;color:var(--mute);cursor:pointer;font-family:var(--mono);font-size:.7rem;padding:0 4px;opacity:0;transition:opacity .15s ease}.slot:hover .remove{opacity:1}.remove:hover{color:var(--ink)}.grass{position:absolute;bottom:24px;width:4px;height:6px;background:color-mix(in oklab,var(--ink) 35%,transparent);clip-path:polygon(50% 0,100% 100%,0 100%);pointer-events:none}.tree{position:absolute;bottom:24px;width:8px;height:14px;background:color-mix(in oklab,var(--ink) 45%,transparent);clip-path:polygon(50% 0,100% 70%,70% 70%,70% 100%,30% 100%,30% 70%,0 70%);pointer-events:none}.raven{transform-origin:center;animation:orbit 4s linear infinite}@keyframes orbit{0%{transform:rotate(0) translate(18px) rotate(0)}to{transform:rotate(360deg) translate(18px) rotate(-360deg)}}.row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-bottom:2rem}.btn{background:none;border:1px solid var(--rule);color:var(--ink);padding:.55rem 1rem;border-radius:999px;font-family:var(--mono);font-size:.8rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn:hover{border-color:var(--ink)}.btn.ghost{color:var(--mute)}:global([data-theme=ascii]) .btn{border-radius:0}.status{font-size:.72rem;margin-left:auto}.how{margin-top:2rem;padding-top:1rem;border-top:1px dashed var(--rule);font-size:.85rem}.how summary{cursor:pointer;font-size:.8rem}.how ul{margin-top:.75rem;padding-left:1.5rem;line-height:1.7}.how strong{font-weight:600;color:var(--ink)}.how p{margin-top:.75rem;max-width:60ch;line-height:1.65}.how em{font-style:italic}
