:root{--bg:#1d1f1c;--panel:#2a2d27;--line:#454a3f;--txt:#ece8dc;--mut:#a9a593;--acc:#e0892b;--ok:#7fb069;--bad:#d9534f;--warn:#e6c229;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);line-height:1.45}
a{color:var(--acc)}header.top{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:3px solid var(--acc);background:#151614;gap:10px;flex-wrap:wrap}
.logo{font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:1.2rem;text-decoration:none;color:var(--txt)}.logo span{color:var(--acc)}
.btn{display:inline-block;background:var(--acc);color:#111;border:0;padding:10px 16px;border-radius:4px;font-weight:700;cursor:pointer;text-decoration:none;font-size:.95rem}
.btn.ghost{background:transparent;color:var(--txt);border:2px solid var(--line)}.btn.sm{padding:6px 10px;font-size:.85rem}.btn.danger{background:var(--bad);color:#fff}
.hero{padding:60px 20px;max-width:960px;margin:auto}.hero h1{font-size:clamp(2rem,6vw,3.4rem);margin:.2em 0;line-height:1.05}.hero p{font-size:1.15rem;color:var(--mut);max-width:640px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-width:1000px;margin:0 auto;padding:0 20px 40px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:16px}.card h3{margin-top:0;color:var(--acc)}
.signup{max-width:960px;margin:0 auto 60px;padding:0 20px}.signup form{display:flex;gap:8px;flex-wrap:wrap}
input,select{background:#151614;color:var(--txt);border:1px solid var(--line);border-radius:4px;padding:8px;font-size:.95rem}input[type=email]{flex:1;min-width:220px}
footer{color:var(--mut);font-size:.8rem;padding:20px;border-top:1px solid var(--line);text-align:center}
.planner{display:grid;grid-template-columns:260px 1fr 300px;gap:12px;padding:12px;min-height:calc(100vh - 60px)}
.side{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px;overflow:auto}
.side h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin:14px 0 6px}.side h2:first-child{margin-top:0}
.mods button{display:block;width:100%;text-align:left;margin:4px 0;background:#151614;color:var(--txt);border:1px solid var(--line);padding:7px 9px;border-radius:4px;cursor:pointer}
.mods button:hover{border-color:var(--acc)}.mods small{color:var(--mut)}
.stage{background:#11120f;border:1px solid var(--line);border-radius:6px;position:relative;display:flex;flex-direction:column}
.stage svg{flex:1;width:100%;min-height:420px;touch-action:none}.toolbar{display:flex;gap:6px;flex-wrap:wrap;padding:8px;border-bottom:1px solid var(--line);align-items:center}
.warn{padding:6px 8px;border-radius:4px;margin:4px 0;font-size:.85rem}.warn.bad{background:#4a1f1d;border-left:4px solid var(--bad)}.warn.ok{background:#25361f;border-left:4px solid var(--ok)}.warn.mid{background:#4a4219;border-left:4px solid var(--warn)}
.bar{height:14px;background:#151614;border:1px solid var(--line);border-radius:7px;overflow:hidden}.bar div{height:100%;background:var(--ok)}
.tiers{display:flex;gap:4px}.tiers button{flex:1;padding:6px;background:#151614;color:var(--txt);border:1px solid var(--line);cursor:pointer;border-radius:4px;font-size:.8rem}.tiers button.on{background:var(--acc);color:#111;font-weight:700}
table{width:100%;border-collapse:collapse;font-size:.85rem}td,th{padding:4px;border-bottom:1px solid var(--line);text-align:left}
.mut{color:var(--mut);font-size:.8rem}.row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:4px 0}.row label{font-size:.8rem;color:var(--mut)}.row input{width:80px}
#summary{display:none;background:#fff;color:#111;padding:30px;max-width:900px;margin:auto}#summary table td,#summary table th{border-color:#ccc}
body.print-mode header.top,body.print-mode .planner{display:none}body.print-mode #summary{display:block}
@media print{body{background:#fff}header.top,.planner,.noprint{display:none!important}#summary{display:block!important}}
@media (max-width:900px){.planner{grid-template-columns:1fr}.stage svg{min-height:360px}}
#summary p{word-break:break-all}
.page{max-width:860px;margin:0 auto;padding:20px}.page h1{line-height:1.15}table.dims{width:100%;border-collapse:collapse;margin:10px 0;display:block;overflow-x:auto}
table.dims th,table.dims td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}table.dims th{background:var(--panel);font-weight:600}
.nm{color:var(--warn);font-style:italic}.faq details{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 14px;margin:8px 0}.faq summary{cursor:pointer;font-weight:600}
.vlist{columns:2 240px;padding-left:18px}.vlist li{margin:4px 0}nav.row{display:flex;gap:8px}
