.gen{display:grid;grid-template-columns:340px minmax(0,1fr);border:2px solid var(--ink);background:var(--surface)}@media(max-width:860px){.gen{grid-template-columns:minmax(0,1fr)}}.gen .panel{padding:20px;border-right:1px solid var(--ink);display:flex;flex-direction:column;gap:20px;min-width:0}@media(max-width:860px){.gen .panel{border-right:0;border-bottom:1px solid var(--ink)}}.gen .tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}.gen .tabs button{padding:10px 8px;border:0;background:var(--felt);cursor:pointer;font-weight:600;font-size:14px}.gen .tabs button+button{border-left:1px solid var(--ink)}.gen .tabs button[aria-selected=true]{background:var(--ink);color:var(--bg)}.gen .tabs.small{display:inline-grid;grid-template-columns:auto auto}.gen .tabs.small button{padding:7px 14px;font-size:13px}.gen .field{display:flex;flex-direction:column;gap:8px}.gen .lab{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.gen .seg{display:grid;grid-template-columns:1fr 1fr;gap:6px}.gen .seg button,.gen .chips button,.gen .cams button{border:1px solid var(--ink);background:var(--felt);cursor:pointer;text-align:left;font-size:14px}.gen .seg button:hover,.gen .chips button:hover,.gen .cams button:hover,.gen .step:hover{background:var(--red-100)}.gen .seg button{padding:10px}.gen .seg button.wide{grid-column:1/-1}.gen .seg button small{display:block;color:var(--muted);font-size:12px}.gen .chips{display:flex;flex-wrap:wrap;gap:6px}.gen .chips button{padding:7px 10px;font-size:13px}.gen .seg button[aria-pressed=true],.gen .chips button[aria-pressed=true],.gen .cams button[aria-pressed=true]{border-color:var(--red-600);background:var(--red-200);box-shadow:inset 0 0 0 1px var(--red-600)}.gen .nrow{display:flex;align-items:center;gap:12px}.gen .step{width:42px;height:42px;border:1px solid var(--ink);background:var(--felt);cursor:pointer;font-size:20px}.gen .nval{font-family:var(--f-display);font-size:30px;font-weight:800;min-width:2ch;text-align:center}.gen input[type=range]{width:100%;accent-color:var(--red-600)}.gen .custom{display:flex;flex-direction:column;gap:14px}.gen fieldset{border:1px solid var(--ink);margin:0;padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px;min-width:0}.gen legend{font-weight:600;font-size:14px;padding:0 4px}.gen .num{display:grid;grid-template-columns:minmax(0,1fr) 84px;align-items:center;gap:10px;font-size:13px}.gen .num span{min-width:0}.gen .num small{display:block;color:var(--muted);font-size:11px}.gen .num input,.gen .safe3 input,.gen .grid input,.gen .grid textarea{border:1px solid var(--ink);border-radius:0;background:var(--felt);color:var(--ink)}.gen .num input{width:100%;padding:7px 8px;font-variant-numeric:tabular-nums;font-size:14px;text-align:right}.gen .num.inline{grid-template-columns:auto 90px}.gen .adv{border:1px solid var(--ink);background:var(--felt);padding:0 12px}.gen .adv[open]{padding-bottom:12px}.gen .adv summary{cursor:pointer;font-weight:600;padding:11px 0;list-style-position:inside}.gen .adv summary::marker{color:var(--red)}.gen .adv>*:not(summary){margin-top:10px}.gen .adv .num input,.gen .adv .safe3 input{background:var(--bg)}.gen .safe3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.gen .safe3 label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.gen .safe3 input{width:100%;padding:7px 8px;font-variant-numeric:tabular-nums;font-size:14px;text-align:right}.gen .safe3.inline{display:flex;align-items:center;gap:6px;font-size:14px}.gen .safe3.inline input{width:76px}.gen .cta.small{padding:9px 16px;font-size:14px}.gen .warns{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.gen .warns li{font-size:13px;padding:8px 10px;border-left:3px solid var(--red);background:var(--red-100)}.gen .sum{border-top:2px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:6px}.gen .line{display:flex;justify-content:space-between;gap:12px;font-size:15px}.gen .line b{font-variant-numeric:tabular-nums}.gen .line .dims{display:block;color:var(--muted);font-size:12px}.gen .line.total{border-top:1px solid var(--line);padding-top:10px;font-size:18px;align-items:baseline}.gen .line.total b{font-family:var(--f-display);font-weight:800;font-size:24px}.gen .note{font-size:13px;color:var(--muted);margin:0}.gen .linkbtn{background:none;border:0;padding:0;text-align:left;color:var(--red-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:600}.gen .view{padding:20px;min-width:0}.gen .stick{position:sticky;top:12px;display:flex;flex-direction:column;gap:16px;max-height:calc(100vh - 24px);overflow:auto}@media(max-width:860px){.gen .stick{position:static;max-height:none;overflow:visible}}.gen .vbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.gen .cams{display:flex;gap:6px}.gen .cams button{padding:6px 12px;font-size:13px}.gen .pane3d{display:flex;flex-direction:column;gap:10px}.gen .stage{position:relative;height:clamp(320px,52vh,520px);border:1px solid var(--ink);background:var(--felt);overflow:hidden;touch-action:none}.gen .stage .hint{position:absolute;right:10px;bottom:8px;font-size:12px;color:var(--muted);pointer-events:none;z-index:1}.gen .vopts{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.gen .chk{display:flex;gap:8px;align-items:center;font-size:14px;cursor:pointer}.gen .chk input{accent-color:var(--red-600);width:16px;height:16px}.gen figure{margin:0 0 14px;display:flex;flex-direction:column;gap:8px}.gen figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--muted)}.gen figure svg{width:100%;height:auto;max-height:380px;display:block;background:var(--bg);border:1px solid var(--ink)}.gen .order{grid-column:1/-1;border-top:2px solid var(--ink);padding:20px;display:flex;flex-direction:column;gap:12px}.gen .order .grid{max-width:900px}.gen .order h2{font-family:var(--f-display);font-weight:700;font-size:22px}.gen .grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.gen .grid{grid-template-columns:1fr}}.gen .grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}.gen .grid .wide{grid-column:1/-1}.gen .grid input[type=file]{padding:8px;font-size:14px}.gen .grid input,.gen .grid textarea{padding:10px;font-size:15px}.gen .grid input[aria-invalid=true]{border-color:var(--red-600);box-shadow:inset 0 0 0 1px var(--red-600)}.gen .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.gen .cta{align-self:flex-start;padding:13px 24px;border:0;background:var(--red-600);color:#fff;font-weight:600;font-size:16px;cursor:pointer}.gen .cta:hover{background:var(--red-700)}.gen .cta:active{background:var(--red-800)}.gen .cta[disabled]{opacity:.6;cursor:wait}.gen .msg{margin:0;font-size:15px}.gen .msg.ok{color:var(--ink);font-weight:600}.gen .msg.err{color:var(--red-text);font-weight:600}
