.viewer-panel[data-astro-cid-57mocfoc]{display:flex;flex-direction:column;gap:14px}.stage[data-astro-cid-57mocfoc]{position:relative;aspect-ratio:4 / 3.2;border-radius:var(--radius);overflow:hidden;background:#dcd6cc;box-shadow:var(--shadow)}.stage[data-astro-cid-57mocfoc] canvas{width:100%!important;height:100%!important;touch-action:none}.loading[data-astro-cid-57mocfoc]{position:absolute;left:50%;top:14px;transform:translate(-50%);z-index:3;display:flex;gap:8px;align-items:center;padding:6px 12px;border-radius:999px;background:#fffdf9eb;font-size:.85rem;font-weight:600;opacity:0;transition:opacity .2s;pointer-events:none}.loading[data-astro-cid-57mocfoc].on{opacity:1}.spinner[data-astro-cid-57mocfoc]{width:14px;height:14px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--ink);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.viewbar[data-astro-cid-57mocfoc]{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;z-index:2;flex-wrap:wrap;pointer-events:none}.viewbar[data-astro-cid-57mocfoc]>[data-astro-cid-57mocfoc]{pointer-events:auto}.seg[data-astro-cid-57mocfoc]{display:inline-flex;background:#fffdf9f0;border-radius:999px;padding:3px;box-shadow:var(--shadow)}.seg[data-astro-cid-57mocfoc] button[data-astro-cid-57mocfoc]{border:0;background:none;font:inherit;font-size:.85rem;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer;color:var(--ink-2)}.seg[data-astro-cid-57mocfoc] button[data-astro-cid-57mocfoc][aria-pressed=true]{background:var(--ink);color:var(--paper)}.walls[data-astro-cid-57mocfoc]{display:inline-flex;gap:6px;background:#fffdf9f0;padding:5px;border-radius:999px;box-shadow:var(--shadow)}.walls[data-astro-cid-57mocfoc] button[data-astro-cid-57mocfoc]{width:24px;height:24px;border-radius:50%;border:0;background:var(--w);cursor:pointer;box-shadow:inset 0 0 0 1px #0003}.walls[data-astro-cid-57mocfoc] button[data-astro-cid-57mocfoc][aria-pressed=true]{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--ink)}.walls[data-astro-cid-57mocfoc] .photo[data-astro-cid-57mocfoc]{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink);background:var(--paper-2);margin-left:2px}.walls[data-astro-cid-57mocfoc] .photo[data-astro-cid-57mocfoc] svg[data-astro-cid-57mocfoc]{width:16px;height:16px}.walls[data-astro-cid-57mocfoc] .photo[data-astro-cid-57mocfoc].on{background:var(--ink);color:var(--paper)}.photo-note[data-astro-cid-57mocfoc]{position:absolute;bottom:60px;left:14px;margin:0;font-size:.75rem;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);z-index:2;pointer-events:none}.walls[data-astro-cid-57mocfoc].off{visibility:hidden}.reset[data-astro-cid-57mocfoc]{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;border-radius:50%;border:0;background:#fffdf9f0;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow);color:var(--ink)}.reset[data-astro-cid-57mocfoc] svg[data-astro-cid-57mocfoc]{width:18px;height:18px}.dims[data-astro-cid-57mocfoc]{position:absolute;top:14px;left:14px;z-index:2;font-weight:700;font-size:.85rem;background:#fffdf9f0;padding:5px 10px;border-radius:999px;box-shadow:var(--shadow)}.dims[data-astro-cid-57mocfoc]:empty{display:none}.hint[data-astro-cid-57mocfoc]{position:absolute;top:52px;left:14px;margin:0;font-size:.75rem;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);z-index:2;pointer-events:none;transition:opacity .4s}.hint[data-astro-cid-57mocfoc].gone{opacity:0}.warnings[data-astro-cid-57mocfoc]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.warnings[data-astro-cid-57mocfoc] li{background:#fff4df;border:1px solid #f0d29c;color:#6b4300;padding:8px 12px;border-radius:var(--radius-sm);font-size:.88rem}.stats[data-astro-cid-57mocfoc]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats[data-astro-cid-57mocfoc] div[data-astro-cid-57mocfoc]{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px}.stats[data-astro-cid-57mocfoc] span[data-astro-cid-57mocfoc]{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.stats[data-astro-cid-57mocfoc] strong[data-astro-cid-57mocfoc]{font-size:.98rem;font-variant-numeric:tabular-nums}.stats[data-astro-cid-57mocfoc] small[data-astro-cid-57mocfoc]{display:block;color:var(--muted);font-size:.74rem}.incl[data-astro-cid-57mocfoc]{margin:0;font-size:.86rem;color:var(--ink-2)}.incl[data-astro-cid-57mocfoc] a[data-astro-cid-57mocfoc]{color:var(--gold-ink);font-weight:700}.bedfit[data-astro-cid-57mocfoc]{margin:0;font-size:.88rem;color:var(--ok)}.bedfit[data-astro-cid-57mocfoc].bad{color:var(--brick)}.actions[data-astro-cid-57mocfoc]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.more[data-astro-cid-57mocfoc]{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px}.toast[data-astro-cid-57mocfoc]{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:10px 18px;border-radius:999px;font-weight:600;opacity:0;transition:.25s;pointer-events:none;z-index:100}.toast[data-astro-cid-57mocfoc].on{opacity:1;transform:translate(-50%)}@media(max-width:640px){.stats[data-astro-cid-57mocfoc]{grid-template-columns:1fr 1fr}.stats[data-astro-cid-57mocfoc] div[data-astro-cid-57mocfoc]:last-child{grid-column:1 / -1}.actions[data-astro-cid-57mocfoc]{grid-template-columns:1fr}.stage[data-astro-cid-57mocfoc]{aspect-ratio:1 / 1}.hint[data-astro-cid-57mocfoc]{display:none}.seg[data-astro-cid-57mocfoc] button[data-astro-cid-57mocfoc]{padding:8px 12px}.walls[data-astro-cid-57mocfoc] button[data-astro-cid-57mocfoc],.walls[data-astro-cid-57mocfoc] .photo[data-astro-cid-57mocfoc]{width:30px;height:30px}}.cfg{padding-block:28px 80px}.cfg-head{margin-bottom:22px}.cfg-head h1{font-size:clamp(2rem,4.2vw,3.2rem);margin-bottom:.2em}.cfg-head .lead{margin:0}.cfg-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:32px;align-items:start}.cfg-view{position:sticky;top:84px}.cfg-form{display:flex;flex-direction:column;gap:14px}.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 8px}.step>h2{font-size:1.15rem;display:flex;align-items:center;gap:10px;margin-bottom:14px;letter-spacing:-.01em}.step>h2 .n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--paper);font-size:.8rem}.step>h2 small{margin-left:auto;font-size:.8rem;font-weight:500;color:var(--muted);letter-spacing:0}.field{margin-bottom:14px}.field>label,.field>.lbl{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-weight:700;font-size:.92rem;margin-bottom:6px}.field output{font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.field .help{font-size:.8rem;color:var(--muted);margin:4px 0 0}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}input[type=text],select,textarea{width:100%;font:inherit;padding:10px 12px;border-radius:var(--radius-sm);border:2px solid var(--line);background:#fff;color:var(--ink)}input[type=text]:focus,select:focus{border-color:var(--ink);outline:none}input.bignum{font-weight:800!important;font-family:var(--font-display);font-size:2.6rem!important;font-weight:800;letter-spacing:.04em;padding:6px 16px!important;text-align:center}input[type=range]{width:100%;appearance:none;-webkit-appearance:none;background:transparent;height:26px;margin:0}input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--paper-2)}input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--paper-2)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--ink);border:3px solid var(--card);box-shadow:0 1px 4px #0000004d;cursor:grab}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ink);border:3px solid var(--card);box-shadow:0 1px 4px #0000004d;cursor:grab}.toggle{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;cursor:pointer;margin-bottom:12px}.toggle input{appearance:none;-webkit-appearance:none;width:40px;height:24px;border-radius:999px;background:var(--paper-2);position:relative;cursor:pointer;transition:background .15s;flex:none;margin:0;box-shadow:inset 0 0 0 1px var(--line)}.toggle input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s}.toggle input:checked{background:var(--ink)}.toggle input:checked:after{transform:translate(16px)}.toggle small{display:block;font-weight:400;color:var(--muted)}.pills{display:flex;flex-wrap:wrap;gap:6px}.pill{position:relative}.pill input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.pill span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:2px solid var(--line);background:#fff;font-size:.88rem;font-weight:600;cursor:pointer}.pill input:checked+span{border-color:var(--ink);background:var(--ink);color:var(--paper)}.pill input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.pill svg{width:18px;height:18px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px;margin-bottom:12px}.tile{position:relative;cursor:pointer}.tile input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.tile .t{display:flex;flex-direction:column;gap:6px;height:100%;padding:8px;border-radius:var(--radius-sm);border:2px solid var(--line);background:#fff;transition:border-color .15s}.tile .t svg{width:100%;height:70px;background:var(--paper);border-radius:6px;padding:6px}.tile .t strong{font-size:.86rem;line-height:1.15}.tile .t small{font-size:.74rem;color:var(--muted);line-height:1.25}.tile input:checked+.t{border-color:var(--ink)}.tile input:focus-visible+.t{outline:3px solid var(--gold);outline-offset:2px}.tile .t .skel{fill:var(--line)}.fonts{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.fonts .t svg{height:46px}.fonts .t svg path{fill:var(--ink)}.fonts .t small{font-size:.72rem}.dotc{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;vertical-align:-1px;box-shadow:inset 0 0 0 1px #0003}[hidden]{display:none!important}@media(max-width:980px){.cfg-grid{grid-template-columns:minmax(0,1fr)}.cfg-view{position:static}}@media(max-width:640px){.two{grid-template-columns:1fr}.step{padding:14px 14px 4px}.step>h2{flex-wrap:wrap;row-gap:4px}}
