:root{--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--bg:#f7f7f8;--accent:#e4572e;--accent-ink:#fff;--ok:#16a34a;--err:#dc2626;--r:10px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{width:100%;padding:.55rem .65rem;border:1px solid var(--line);border-radius:8px;background:#fff}textarea{resize:vertical}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.4rem .7rem}.muted{color:var(--muted)}.err{color:var(--err)}.ok{color:var(--ok)}.center{text-align:center;padding:3rem}.top{display:flex;gap:1rem;align-items:baseline;padding:1rem clamp(1rem,3vw,2rem);background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:800;font-size:1.25rem;color:var(--ink);text-decoration:none}.designer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:1.5rem;padding:1.5rem clamp(1rem,3vw,2rem);max-width:1400px;margin:0 auto}@media(max-width:900px){.designer{grid-template-columns:1fr}}.stage-wrap{position:sticky;top:1rem;align-self:start}@media(max-width:900px){.stage-wrap{position:static}}.stage{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;display:grid;place-items:center;padding:2.5rem 1.5rem;background:linear-gradient(180deg,#d9d6d0,#c9c5bd);transition:background .3s}.stage.lit{background:radial-gradient(ellipse at center,#2a2d34,#14161a)}.stage svg{width:100%;height:100%}.glyph{fill:#2b2f36;transition:fill .3s}.stage.lit.glow-front .glyph{fill:#fff7e6;filter:url(#glow)}.stage.lit.glow-halo .glyph{fill:#1d1f24;stroke:#ffd27a;stroke-width:1.5;filter:url(#glow)}.stage.lit.glow-none .glyph{fill:#9aa0a8}.dims .bbox{fill:none;stroke:#e4572e;stroke-width:.6;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.dims text{fill:#e4572e;font-family:system-ui,sans-serif;font-weight:600}.stage.lit .dims text{fill:#ffb199}.empty{color:var(--muted)}.stage-tools{position:absolute;top:.6rem;right:.8rem;display:flex;gap:.8rem;font-size:.85rem;color:#fff;mix-blend-mode:difference}.stage-tools input{width:auto}.overall{position:absolute;left:.8rem;bottom:.6rem;font-size:.85rem;background:#ffffffd9;padding:.2rem .5rem;border-radius:6px}.hint{font-size:.85rem;color:var(--muted)}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.25rem;display:flex;flex-direction:column;gap:.35rem}.lbl{font-weight:600;margin-top:.8rem;display:flex;justify-content:space-between;align-items:center}.sub{font-size:.8rem}.row2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.units button{padding:.1rem .45rem;font-size:.8rem;border-radius:6px;margin-left:2px}.units .on{background:var(--ink);color:#fff;border-color:var(--ink)}.types{display:grid;gap:.5rem}.type{text-align:left;padding:.7rem .8rem;border-radius:var(--r);border:1.5px solid var(--line);background:#fff}.type.sel{border-color:var(--accent);box-shadow:0 0 0 3px #e4572e1f}.type.off{opacity:.6}.t-head{display:flex;justify-content:space-between;gap:.5rem}.price{font-weight:700}.t-desc,.t-range{font-size:.82rem;margin-top:.15rem}.reason{font-size:.82rem;color:var(--err);margin-top:.2rem}.addon{display:flex;gap:.6rem;align-items:flex-start;padding:.3rem 0}.addon input{width:auto;margin-top:.25rem}.breakdown{margin-top:.8rem;border-top:1px solid var(--line);padding-top:.6rem}.bd-row,.pl{display:flex;justify-content:space-between;padding:.15rem 0}.bd-row.total{font-weight:800;font-size:1.15rem;border-top:1px dashed var(--line);margin-top:.3rem;padding-top:.4rem}.per-letter{font-size:.85rem;margin-top:.3rem}.cta{background:var(--accent);color:var(--accent-ink);border:0;padding:.85rem 1rem;border-radius:var(--r);font-weight:700;margin-top:.8rem;text-align:center;text-decoration:none;display:block}.cta:disabled{opacity:.5;cursor:not-allowed}.cta.alt{background:var(--ink)}.cta.sm{display:inline-block;padding:.5rem .9rem;margin:0}.ts{margin-top:.6rem}.quote{margin-top:1rem;padding:1rem;border-radius:var(--r);background:#fff7f3;border:1px solid #f6c9b8;text-align:center}.code{font-size:1.9rem;font-weight:800;letter-spacing:.06em;margin:.2rem 0}.copy{font-size:.8rem;vertical-align:middle}.q-total{font-weight:600}.admin{max-width:1200px;margin:0 auto;padding:1rem}.login{max-width:340px;margin:10vh auto;display:flex;flex-direction:column;gap:.6rem}.a-top{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;padding:.5rem 0 1rem;border-bottom:1px solid var(--line);margin-bottom:1rem}.a-top nav{display:flex;gap:.3rem;flex:1}.a-top nav button{text-transform:capitalize}.a-top nav .on{background:var(--ink);color:#fff}.grid{width:100%;border-collapse:collapse;margin-top:1rem;background:#fff}.grid th,.grid td{border-bottom:1px solid var(--line);padding:.5rem;text-align:left;vertical-align:top}.grid tr.dim{opacity:.5}.grid input{width:auto}.grid .num{width:4.5rem}.upload{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.upload input,.upload select{width:auto}.settings{display:grid;gap:.6rem;max-width:640px}.settings label{display:grid;grid-template-columns:240px 1fr;gap:.6rem;align-items:center}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;padding:1rem;z-index:10}.sheet{background:#fff;border-radius:var(--r);padding:1.25rem;width:min(720px,100%);max-height:90vh;overflow:auto}.form{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.form label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.form label input[type=checkbox]{width:auto}.form .full{grid-column:1/-1}.chk{display:inline-flex!important;flex-direction:row!important;gap:.3rem;margin-right:.8rem}.trow{display:flex;gap:.4rem;align-items:center;margin:.3rem 0}.trow input{width:7rem}.actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}
