.ctc-tool .tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.ctc-tool .text-brand{color:var(--color-brand)}.ctc-tool .bg-brand{background-color:var(--color-brand)}.ctc-tool .text-accent{color:var(--color-accent)}.ctc-tool .ctc-mode{color:var(--color-ink-muted);background:transparent;cursor:pointer;transition:color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.ctc-tool .ctc-mode-on{color:#fff;background:var(--color-brand)}.ctc-tool .ctc-mode:focus-visible,.ctc-tool .ctc-tooth:focus-visible,.ctc-tool .ctc-chip:focus-visible,.ctc-tool .ctc-btn-primary:focus-visible,.ctc-tool .ctc-btn-ghost:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.ctc-tool .ctc-map-wrap{position:relative}.ctc-tool .ctc-arch+.ctc-arch{margin-top:-14px}.ctc-tool .ctc-strip{display:flex;align-items:flex-end;justify-content:flex-start;justify-content:safe center;gap:14px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:2px 0;position:relative}.ctc-tool .ctc-half[data-half=right]{border-left:1px dashed var(--color-line);padding-left:13px;margin-left:-1px}.ctc-tool .ctc-arch[data-arch=mandibular] .ctc-strip{align-items:flex-start}.ctc-tool .ctc-half{display:flex;gap:2px;flex:0 0 auto}.ctc-tool .ctc-arch[data-arch=maxillary] .ctc-half{align-items:flex-end}.ctc-tool .ctc-arch[data-arch=mandibular] .ctc-half{align-items:flex-start}.ctc-tool .ctc-tooth{display:flex;flex-direction:column-reverse;align-items:center;justify-content:flex-start;min-width:44px;min-height:44px;padding:2px 1px;background:transparent;border:0;border-radius:8px;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.ctc-tool .ctc-arch[data-arch=mandibular] .ctc-tooth{flex-direction:column;justify-content:flex-start}.ctc-tool .ctc-tooth:hover{background:#c75d4a0f;transform:translateY(-2px)}.ctc-tool .ctc-arch[data-arch=mandibular] .ctc-tooth:hover{transform:translateY(2px)}.ctc-tool .ctc-tooth.ctc-selected{background:#c75d4a1f;box-shadow:inset 0 0 0 2px var(--color-brand)}.ctc-tool .ctc-crown-box{position:relative;display:flex;width:var(--cw);height:48px}.ctc-tool .ctc-arch[data-arch=maxillary] .ctc-crown-box{align-items:flex-start}.ctc-tool .ctc-arch[data-arch=mandibular] .ctc-crown-box{align-items:flex-end}.ctc-tool .ctc-crown{display:block;flex:none;width:100%;height:var(--ch)}.ctc-tool .ctc-arch[data-arch=mandibular] .ctc-crown{transform:scaleY(-1)}.ctc-tool .ctc-crown path{stroke-width:2;vector-effect:non-scaling-stroke;transition:fill var(--duration-normal) var(--ease-out),stroke var(--duration-normal) var(--ease-out)}.ctc-tool .ctc-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#3a201a;font-variant-numeric:tabular-nums;pointer-events:none}.ctc-tool .ctc-arch[data-arch=maxillary] .ctc-mark{align-items:flex-start;padding-top:3px}.ctc-tool .ctc-arch[data-arch=mandibular] .ctc-mark{align-items:flex-end;padding-bottom:3px}.ctc-tool .ctc-num{font-size:9px;line-height:1.2;color:var(--color-ink-muted);margin-bottom:3px}.ctc-tool .ctc-arch[data-arch=mandibular] .ctc-num{margin-bottom:0;margin-top:3px}.ctc-tool .ctc-tooth.ctc-marked .ctc-num{color:var(--color-ink);font-weight:700}.ctc-tool .ctc-swatch{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;border-width:1.5px;border-style:solid;font-size:10px;font-weight:800;color:#3a201a}.ctc-tool .ctc-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;border-radius:10px;border:1.5px solid var(--color-line);background:#fff;font-size:12px;font-weight:600;color:var(--color-ink);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.ctc-tool .ctc-chip:hover{border-color:var(--chip-color)}.ctc-tool .ctc-chip.ctc-chip-on{border-color:var(--chip-color);background:var(--chip-tint)}.ctc-tool .ctc-chip-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--chip-color);background:var(--chip-tint);font-size:10px;font-weight:800}.ctc-tool .ctc-btn-primary{cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.ctc-tool .ctc-btn-primary:hover{background-color:var(--color-accent-dark)}.ctc-tool .ctc-btn-ghost{cursor:pointer;background:#fff;transition:border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.ctc-tool .ctc-btn-ghost:hover{border-color:var(--color-brand);color:var(--color-brand)}.ctc-tool .ctc-card-link{transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.ctc-tool .ctc-card-link:hover{border-color:#c75d4a66;box-shadow:var(--shadow-card);transform:translateY(-2px)}.ctc-tool .ctc-card-link:hover h4,.ctc-tool .ctc-card-link:hover svg{color:var(--color-accent)}.ctc-tool .ctc-card-link h4,.ctc-tool .ctc-card-link svg{transition:color var(--duration-fast) var(--ease-out)}@keyframes ctc-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ctc-tool .ctc-card-enter{animation:ctc-rise var(--duration-normal) var(--ease-out) both}.ctc-tool .ctc-result-enter{animation:ctc-rise var(--duration-slow) var(--ease-out) both}@media(min-width:780px){.ctc-tool .ctc-scroll-hint{display:none}.ctc-tool .ctc-strip{overflow-x:visible}}@media print{.ctc-tool{box-shadow:none;border:1px solid #ccc}#ctc-mobile-sticky,#ctc-upsell,#ctc-download,#ctc-share,#ctc-reset,#ctc-copy-result,#ctc-toast{display:none!important}.ctc-tool .ctc-strip{overflow-x:visible}}@media(prefers-reduced-motion:reduce){.ctc-tool *,.ctc-tool *:before,.ctc-tool *:after{transition:none!important;animation:none!important}}
