.type-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media(min-width:520px){ .type-grid{ grid-template-columns:repeat(3,1fr); } }
.type-card {
  border:2px solid var(--border); border-radius:var(--r);
  padding:14px 12px; cursor:pointer; transition:all .15s;
  background:#fafaf8; position:relative; display:block; text-align:center;
}
.type-card:hover    { border-color:var(--accent); }
.type-card.type-card input[type="radio"]{ display:none; }
.tc-check{ position:absolute; top:8px; right:10px; color:var(--accent); font-weight:700; font-size:12px; opacity:0; transition:opacity .15s; }
.type-card.selected .tc-check{ opacity:1; }
.tc-icon { font-size:24px; margin-bottom:5px; }
.tc-name { font-size:13px; font-weight:700; color:var(--ink); margin-bottom:2px; }
.tc-price{ font-family:'DM Mono',monospace; font-size:11px; color:var(--accent); }
.tc-note { font-size:12px; color:var(--ink3); margin-top:2px; }

.result-big {
  background:var(--primary);
  border-radius:var(--r-lg); padding:22px 16px;
  margin-bottom:14px; position:relative; overflow:hidden;
}
.result-big::before{
  content:''; position:absolute; top:-40px; right:-40px;
  width:160px; height:160px;
  background:radial-gradient(circle,rgba(107,159,212,.25),transparent 70%);
  pointer-events:none;
}
.rb-range { font-family:'Plus Jakarta Sans',sans-serif; font-size:clamp(28px,7vw,48px); font-weight:900; color:#fff; line-height:1.1; margin-bottom:4px; }
.rb-range em { color:var(--primary-mid); font-style:normal; font-size:.55em; }
@media(min-width:480px){ }