.pc{background:var(--pc-bg);color:var(--pc-ink);padding:64px 24px}
.pc *{box-sizing:border-box}
.pc-wrap{max-width:1240px;margin:0 auto}
.pc-head{margin-bottom:32px}
.pc-head h2{font-family:var(--font-heading--family,Georgia,serif);font-weight:400;font-size:clamp(2rem,4vw,3.25rem);line-height:1.05;margin:0 0 8px}
.pc-head p{margin:0;opacity:.75;font-size:1.05rem}
.pc-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:start}
.pc-view{position:sticky;top:24px;background:#bcd7ee;border-radius:20px;overflow:hidden;aspect-ratio:4/3}
.pc-view canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}
.pc-hint{position:absolute;left:16px;bottom:12px;font-size:.8rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55);opacity:.9;pointer-events:none}
.pc-group{margin-bottom:26px}
.pc-group h3{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-weight:600}
.pc-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.pc-row h3{margin:0}
.pc-row span{font-size:1.05rem}
.pc-val{display:flex;align-items:baseline;gap:4px}
.pc-num{font:inherit;color:inherit;width:78px;text-align:right;background:transparent;border:1px solid transparent;border-bottom-color:rgba(0,0,0,.3);border-radius:8px;padding:2px 6px;-moz-appearance:textfield;appearance:textfield;cursor:text}
.pc-num::-webkit-inner-spin-button,.pc-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pc-num:hover,.pc-num:focus{background:#fff;border-color:var(--pc-dark);outline:none}
.pc-lim{font-size:.75rem;opacity:.55;margin-top:2px}
.pc-seg{display:flex;gap:8px;flex-wrap:wrap}
.pc-seg button{font:inherit;color:inherit;background:transparent;border:1px solid rgba(0,0,0,.18);border-radius:999px;padding:12px 22px;cursor:pointer}
.pc-seg button.is-on{background:var(--pc-accent);border-color:var(--pc-accent)}
.pc input[type=range]{width:100%;accent-color:var(--pc-dark)}
.pc-sws{display:flex;gap:12px;flex-wrap:wrap}
.pc-sw{width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,0,0,.2);cursor:pointer;padding:0}
.pc-sw.is-on{box-shadow:0 0 0 2px var(--pc-bg),0 0 0 4px var(--pc-ink)}
.pc-exwrap{border-top:1px solid rgba(0,0,0,.1)}
.pc-ex{display:flex;gap:12px;align-items:flex-start;padding:12px 0;cursor:pointer}
.pc-ex span{flex:1}
.pc-ex small{display:block;opacity:.65}
.pc-sub{padding:4px 0 8px 28px}
.pc-sub[hidden]{display:none}
.pc-checks{display:flex;gap:8px 18px;flex-wrap:wrap}
.pc-chk{display:flex;gap:8px;align-items:center;cursor:pointer}
.pc-chk input:disabled+span{opacity:.4}
.pc-price{background:#1e2321;color:#fff;border-radius:20px;padding:26px}
.pc-price small{opacity:.7}
.pc-total{font-family:var(--font-heading--family,Georgia,serif);font-size:2.6rem;line-height:1.1;margin:4px 0 6px}
.pc-price form{margin-top:18px;display:grid;gap:10px}
.pc-price input,.pc-price textarea{font:inherit;width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff}
.pc-price input::placeholder,.pc-price textarea::placeholder{color:rgba(255,255,255,.55)}
.pc-btn{font:inherit;background:var(--pc-accent);color:#1e2321;border:0;border-radius:999px;padding:16px 28px;cursor:pointer;width:100%}
.pc-ok{background:rgba(255,255,255,.12);padding:12px 14px;border-radius:12px}
@media(max-width:900px){.pc{padding:40px 16px}.pc-grid{grid-template-columns:1fr}.pc-view{position:relative;top:0}}