:root{--bg:#f5f2ed;--surface:#fbf8f1;--surface-2:#f1ece1;--panel:#ffffffb8;--ink:#2a2a2a;--ink-soft:#6b6256;--ink-faint:#9a9182;--line:#3a2e1c1f;--line-soft:#3a2e1c12;--carbon:#3a2e1c;--carbon-2:#5b4a32;--accent:#d86a32;--accent-2:#c05a26;--accent-tint:#d86a321a;--ok:#3a8a3a;--radius:10px;--radius-sm:7px;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}input,select{border:0}.app{background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.topbar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 22px;display:flex}.brand-wrap{align-items:baseline;gap:14px;display:flex}.brand{letter-spacing:-.02em;color:var(--ink);font-size:19px;font-weight:700}.tagline{color:var(--ink-soft);font-size:13px}.status-pill{color:var(--accent-2);background:var(--accent-tint);border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:500;display:inline-flex}.status-pill .dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.status-pill.ok{color:var(--ok);background:#3a8a3a1a}.status-pill.ok .dot{background:var(--ok)}.stage{flex:1;grid-template-columns:1fr 332px;min-height:0;display:grid}.viewport-wrap{min-width:0;position:relative}.readout{color:var(--ink-soft);font-variant-numeric:tabular-nums;background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line-soft);border-radius:999px;padding:6px 12px;font-size:12px;position:absolute;bottom:16px;left:18px}.controls{background:var(--surface);border-left:1px solid var(--line);padding:6px 0 28px;overflow-y:auto}.ctl-section{border-bottom:1px solid var(--line-soft);padding:18px 20px}.ctl-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:4px;font-size:11px;font-weight:600}.ctl-hint{color:var(--ink-soft);margin-bottom:12px;font-size:12px}.ctl-rows{flex-direction:column;gap:11px;margin-top:10px;display:flex}.row{grid-template-columns:70px 1fr 52px;align-items:center;gap:12px;display:grid}.row-label{color:var(--ink);font-size:13px}.row-value{color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.row input[type=range]{appearance:none;background:var(--line);border-radius:999px;outline:none;width:100%;height:3px}.row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--accent);cursor:pointer;border:2px solid var(--surface);border-radius:50%;width:15px;height:15px;box-shadow:0 1px 3px #3a2e1c40}.row input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid var(--surface);border-radius:50%;width:15px;height:15px}.seg{background:var(--surface-2);border-radius:var(--radius-sm);gap:3px;padding:3px;display:flex}.seg-btn{text-transform:capitalize;color:var(--ink-soft);white-space:nowrap;border-radius:5px;flex:1;padding:5px 4px;font-size:11.5px;transition:all .12s}.seg-btn.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #3a2e1c1f}.seg-btn:hover:not(.on){color:var(--ink)}.switch{background:var(--line);border-radius:999px;justify-self:start;width:38px;height:22px;transition:background .15s;position:relative}.switch.on{background:var(--accent)}.switch .knob-dot{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.switch.on .knob-dot{transform:translate(16px)}.btn{border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;width:100%;padding:11px;font-size:14px;font-weight:600;transition:all .12s;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--carbon);color:#fff8e8}.btn.primary:hover:not(:disabled){background:var(--carbon-2)}.btn.ghost{background:var(--surface-2);color:var(--ink);border:1px solid var(--line);margin-top:9px}.btn.ghost:hover:not(:disabled){background:var(--surface)}.btn .tag{letter-spacing:.05em;color:var(--accent-2);background:var(--accent-tint);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}@media (width<=760px){.stage{grid-template-rows:1fr auto;grid-template-columns:1fr}.controls{border-left:0;border-top:1px solid var(--line);max-height:46vh}}.presets{flex-direction:column;gap:6px;display:flex}.preset{text-align:left;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line-soft);flex-direction:column;align-items:flex-start;gap:1px;padding:9px 12px;transition:all .12s;display:flex}.preset:hover{background:var(--surface);border-color:var(--accent);transform:translate(2px)}.preset-label{color:var(--ink);font-size:13px;font-weight:600}.preset-hint{color:var(--ink-soft);font-size:11px}.bore-diagram{justify-content:center;padding:2px 0 10px;display:flex}.bore-diagram .bore-bg{fill:var(--surface-2);stroke:var(--line);stroke-width:1px}.bore-diagram .bore-shape{fill:var(--bg);stroke:var(--accent);stroke-width:1.6px;stroke-linejoin:round}.buy-link{color:var(--accent-2);padding:4px 0 0;font-size:12px;text-decoration:none;display:inline-block}.buy-link:hover{text-decoration:underline}.btn.buy{background:var(--accent);color:#fff;margin-top:4px;padding:13px;font-size:14.5px;box-shadow:0 2px 8px #d86a3252}.btn.buy:hover:not(:disabled){background:var(--accent-2);transform:translateY(-1px)}.make-yourself{margin-top:12px}.make-yourself-label{color:var(--ink-faint);text-align:center;margin-bottom:8px;font-size:11px;display:block}.make-yourself-row{gap:6px;display:flex}.chip{color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);flex:1;padding:8px 6px;font-size:12.5px;transition:all .12s}.chip:hover:not(:disabled){background:var(--surface);border-color:var(--accent)}.chip:disabled{opacity:.5;cursor:default}.btn.buy{text-align:left;flex-direction:row;justify-content:space-between;gap:10px}.buy-price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.price-note{color:var(--ink-faint);text-align:center;margin-top:6px;font-size:11px}.color-row{grid-template-columns:70px 1fr}.swatches{flex-wrap:wrap;gap:5px;display:flex}.swatch{cursor:pointer;border:1px solid var(--line);border-radius:5px;width:20px;height:20px;transition:transform .1s,box-shadow .1s}.swatch:hover{transform:scale(1.1)}.swatch.on{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.advisor{margin:4px 0 2px}.advisor-chips{flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:10px;display:flex}.advisor-q{color:var(--ink-soft);margin-right:2px;font-size:12px}.advisor-chip{color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:11.5px;transition:all .12s}.advisor-chip:hover{border-color:var(--accent);color:var(--accent-2)}.advisor-chip.on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-2);font-weight:600}.advisor-card{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--ink-soft);padding:11px 12px;font-size:12px}.advisor-blurb{color:var(--ink);line-height:1.45}.advisor-best{margin-top:6px}.advisor-best b{color:var(--ink);font-weight:600}.traits{grid-template-columns:1fr 1fr;gap:4px 14px;margin:10px 0 8px;display:grid}.trait{justify-content:space-between;align-items:center;display:flex}.trait-label{color:var(--ink-soft);font-size:11px}.dots{gap:2px;display:inline-flex}.dots i{background:var(--line);border-radius:50%;width:6px;height:6px}.dots i.on{background:var(--accent)}.advisor-prov{color:var(--ink-faint);border-top:1px solid var(--line-soft);padding-top:7px;font-size:11px}.advisor-prov a{color:var(--accent-2);text-decoration:none}.advisor-prov a:hover{text-decoration:underline}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1a160e73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:380px;max-width:92vw;padding:18px 18px 16px;box-shadow:0 16px 50px #281e104d}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--ink);font-size:17px;font-weight:700}.modal-x{color:var(--ink-soft);padding:0 4px;font-size:22px;line-height:1}.modal-x:hover{color:var(--ink)}.modal-sub{color:var(--ink-soft);margin:4px 0 14px;font-size:12.5px}.form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.fld{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--ink);width:100%;padding:9px 11px;font-size:13px}.fld:focus{border-color:var(--accent);background:var(--surface);outline:none}.fld.wide{grid-column:span 2}.qty-row{color:var(--ink-soft);grid-column:span 2;align-items:center;gap:10px;font-size:13px;display:flex}.fld.qty{width:80px}.modal-place{margin-top:14px}.modal-note{color:var(--ink-faint);text-align:center;margin-top:8px;font-size:11px}.modal-result{text-align:center;padding:16px 4px;font-size:14px}.modal-result.ok{color:var(--ok)}.modal-result.err{color:var(--accent-2)}.price-tag{letter-spacing:.05em;text-transform:uppercase;color:var(--accent-2);background:var(--accent-tint);vertical-align:middle;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}
