.teeth-calc,.teeth-calc *{box-sizing:border-box}.teeth-calc{max-width:1020px;margin:0 auto;font-family:system-ui,Arial,sans-serif;--map-scale:.333;--map-min-w:220px;--map-max-w:100%}.tc-row{display:flex;gap:12px;align-items:center;margin:10px 0;flex-wrap:wrap}.tc-topbar{justify-content:space-between}.tc-material{display:flex;flex-direction:column;gap:6px}.tc-select{min-width:320px;max-width:100%;padding:8px;border:1px solid #cfd6de;border-radius:6px;background:#f7f8fa}.tc-map{position:relative;width:min(max(var(--map-min-w), calc(100% * var(--map-scale))), var(--map-max-w));aspect-ratio:593/900;border-radius:12px;overflow:hidden;background:0 0;margin-inline:auto}.tc-map-img,.tc-svg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.tc-svg{pointer-events:none}.tc-poly{pointer-events:auto;cursor:pointer;transition:filter .12s ease,opacity .12s ease;touch-action:manipulation}.tc-poly.healthy{fill:transparent;stroke:transparent}.tc-poly.missing{fill:#000;stroke:#000;stroke-width:2}.tc-poly.crown{fill:#16a34a;stroke:#16a34a;stroke-width:2}.tc-poly.crown.crown-excluded{opacity:.45;filter:grayscale(.2) brightness(.95);stroke-dasharray:4 3}.tc-poly.disabled{pointer-events:none;opacity:.35;filter:grayscale(1)}.tc-poly:hover{filter:brightness(1.05)}.tc-poly:focus{outline:none;stroke:#2b6cb0;stroke-width:3}.tc-actions{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}.tc-btn{padding:10px 14px;border-radius:8px;border:1px solid #0079ff;background:#fff;cursor:pointer}.tc-btn.primary{background:#0079ff;color:#fff;border-color:#0079ff}.tc-btn[disabled]{opacity:.6;cursor:not-allowed}.tc-result{border:1px dashed #cdd6e3;border-radius:10px;padding:12px;margin-top:6px;background:#fbfcfe}.tc-price-line{display:flex;justify-content:space-between;margin-bottom:8px;flex-wrap:wrap}.tc-total{font-size:20px;font-weight:800}.tc-note{margin-top:4px;color:#445}.tc-hint{font-size:13px;color:#5b6673;margin-top:6px}.legend{margin-left:10px;white-space:nowrap}.legend-box{display:inline-block;width:12px;height:12px;border:1px solid #cdd;vertical-align:middle;margin-right:4px}.l-healthy{background:#fff}.l-missing{background:#000;border-color:#000}.l-crown{background:#16a34a;border-color:#16a34a}.tc-advice{margin-top:12px;padding:10px;border:1px solid #ffd7a8;background:#fff8ea;border-radius:8px}.tc-advice-title{font-weight:700;margin-bottom:4px}@media (max-width:640px){.teeth-calc{--map-scale:1;--map-min-w:200px}.tc-select{min-width:0;width:100%}}@media (max-width:820px){.teeth-calc{--map-scale:.9}}@media (max-width:1024px){.teeth-calc{--map-scale:.6}}