.calc-grid{gap:16px;display:grid}@media (width>=980px){.calc-grid{grid-template-columns:1.25fr 1fr;align-items:start;gap:20px}.calc-panel{position:sticky;top:96px}}.calc-stage{background:var(--porcelain);border-radius:var(--radius);padding:clamp(16px,3vw,32px)}.calc-tools{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tool{background:var(--paper);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .3s var(--ease), background .3s var(--ease), transform .3s var(--ease);border:0;border-radius:18px;align-items:center;gap:12px;padding:12px 14px 12px 10px;display:flex}.tool:hover{transform:translateY(-2px)}.tool.is-active{box-shadow:inset 0 0 0 2px var(--accent), 0 14px 30px -18px #1863dc99;background:#fff}.tool-art{flex:none;width:34px;height:64px}.tool-art svg{width:100%;height:100%;overflow:visible}.ta-crown{fill:#fff;stroke:#b8c3d4;stroke-width:1.5px}.ta-abut{fill:var(--gold)}.ta-screw path:first-child{fill:#c8cdd4}.ta-thread{fill:none;stroke:#8b95a3;stroke-width:2px;stroke-linecap:round}.ta-root{fill:#f1e9dc;stroke:#d9ccb6;stroke-width:1.5px}.tool.is-active .ta-crown{stroke:var(--accent)}.tool.is-active .ta-screw{animation:screw-in .9s var(--ease)}.tool.is-active .ta-crown,.tool.is-active .ta-abut{animation:seat .9s var(--ease)}@keyframes screw-in{0%{transform:translateY(10px)}}@keyframes seat{0%{opacity:.4;transform:translateY(-10px)}}.tool-text{line-height:1.2;display:grid}.tool-text b{font-size:.95rem;font-weight:650}.tool-text small{color:var(--muted);margin-top:3px;font-size:.78rem}.arch-wrap{max-width:460px;margin:18px auto 0;position:relative}.arch{-webkit-tap-highlight-color:transparent;width:100%;height:auto;overflow:visible}.arch-label{font:600 8.5px var(--sans);letter-spacing:.22em;fill:var(--muted-light);text-anchor:middle}.arch-summary{white-space:nowrap;font-family:var(--display);color:var(--muted);pointer-events:none;font-size:clamp(1.15rem,2.4vw,1.5rem);transition:color .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.has-selection .arch-summary{color:var(--accent)}.tooth{cursor:pointer;outline:none}.tooth-inner{transform-box:fill-box;transform-origin:50%}.tooth-shape{fill:#fff;stroke:#c3cddc;stroke-width:1.3px;transition:fill .3s var(--ease), stroke .3s var(--ease)}.tooth-groove{fill:none;stroke:#d6dde8;stroke-width:1.3px;stroke-linecap:round;transition:opacity .3s}.tooth-implant{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .3s var(--ease), transform .6s var(--ease);transform:scale(.3)rotate(-90deg)}.tooth-implant circle{fill:none;stroke:#fff;stroke-width:1.6px}.tooth-implant polygon{fill:#fff}.tooth-num{font:500 8.5px var(--sans);fill:var(--muted-light);text-anchor:middle;transition:fill .3s}@media (hover:hover){.tooth:hover .tooth-shape{stroke:var(--accent);fill:#eef4ff}}.tooth:focus-visible .tooth-shape{stroke:var(--accent);stroke-width:3px}.tooth.is-implant .tooth-shape{fill:var(--accent);stroke:var(--accent)}.tooth.is-implant .tooth-groove{opacity:0}.tooth.is-implant .tooth-implant{opacity:1;transform:none}.tooth.is-crown .tooth-shape{fill:#dce8ff;stroke:var(--accent);stroke-width:2.2px}.tooth.is-crown .tooth-groove{stroke:#8fb4f5}.tooth.is-implant .tooth-num,.tooth.is-crown .tooth-num{fill:var(--accent);font-weight:700}.tooth.pop .tooth-inner{animation:pop .45s var(--ease)}@keyframes pop{40%{transform:scale(1.28)}}.calc-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:14px;font-size:.8rem;display:flex}.calc-legend li{align-items:center;gap:8px;display:flex}.lg{background:#fff;border-radius:5px;width:14px;height:14px;box-shadow:inset 0 0 0 1.3px #c3cddc}.lg-implant{background:var(--accent);box-shadow:none}.lg-crown{box-shadow:inset 0 0 0 2px var(--accent);background:#dce8ff}.calc-panel{--em:var(--accent-light);background:var(--ink);color:var(--porcelain);border-radius:var(--radius);gap:22px;padding:clamp(22px,3vw,32px);display:grid}.opt-title{letter-spacing:.16em;text-transform:uppercase;color:var(--muted-light);margin-bottom:10px;font-size:.72rem;font-weight:600}.opts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.opt{text-align:left;font:inherit;color:var(--porcelain);background:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line-light);cursor:pointer;transition:box-shadow .3s var(--ease), background .3s var(--ease);border:0;border-radius:14px;gap:2px;padding:12px 14px;display:grid}.opt b{font-size:.93rem;font-weight:600}.opt small{color:var(--muted-light);font-size:.75rem}.opt.is-active{box-shadow:inset 0 0 0 1.5px var(--accent-light);background:#1863dc2e}.calc-lines-wrap{border-block:1px solid var(--line-light);align-content:center;min-height:90px;padding:8px 0;display:grid}.calc-empty{color:var(--muted-light);text-align:center;padding:18px 0;font-size:.9rem}.calc-lines li{animation:open .5s var(--ease);grid-template-columns:22px 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.calc-lines li+li{border-top:1px dashed var(--line-light)}.line-ico{width:20px;height:28px;color:var(--accent-light)}.line-label{font-size:.92rem;line-height:1.3;display:grid}.line-label small{color:var(--muted-light);font-size:.78rem}.line-sum{font-variant-numeric:tabular-nums;font-weight:600}.calc-total{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;display:flex}.calc-total>span{color:var(--muted-light);font-size:.85rem}.calc-total strong{font-family:var(--display);color:var(--accent-light);font-variant-numeric:tabular-nums;font-size:clamp(2.6rem,5vw,3.6rem);font-weight:400;line-height:1}.calc-total strong small{color:var(--muted-light);font-size:.4em}.calc-demo{color:var(--gold);margin-top:-10px;font-size:.78rem}.calc-actions{flex-wrap:wrap;gap:10px;display:flex}.calc-actions .btn-accent{flex:auto}@media (width<=420px){.tool{text-align:center;flex-direction:column;gap:6px;padding:12px 8px}.tool-text{justify-items:center}}
