/* PAPÁ NENÊ · Dentinhos · desenho fofo v41 */
.pn-teeth-card{position:relative;overflow:hidden}
.pn-teeth-card::after{content:"";position:absolute;width:150px;height:150px;right:-70px;top:-85px;border-radius:50%;background:radial-gradient(circle,#f7ddea 0,#f7ddea00 72%);pointer-events:none}
.pn-teeth-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.pn-teeth-heading h3{display:flex;align-items:center;gap:9px;margin:0}
.pn-tooth-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#fbecf4;color:#8e3f6e;font-size:17px;line-height:1}
.pn-teeth-intro{margin:0 0 14px;color:#827383;font-size:.88rem}
.pn-teeth-family-list{display:grid;gap:9px}
.pn-teeth-child-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 13px;border:1px solid #f0e4eb;border-radius:15px;background:#fffafd}
.pn-teeth-child-main{min-width:0}
.pn-teeth-child-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:7px}
.pn-teeth-child-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-teeth-count{flex:none;color:#8c7484;font-size:.76rem;font-weight:700}
.pn-teeth-progress{height:6px;border-radius:99px;background:#f1e5ec;overflow:hidden}
.pn-teeth-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b65b8d,#d98bb4);transition:width .25s ease}
.pn-teeth-open{min-height:38px;padding:7px 12px;border:1px solid #e5cad9;border-radius:11px;background:#fff;color:#8b3f6e;font-size:.83rem;font-weight:700}
.pn-teeth-open:hover{background:#fdf3f8}

.pn-teeth-backdrop[hidden]{display:none!important}
.pn-teeth-backdrop{position:fixed;z-index:90;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#2e1b284f;backdrop-filter:blur(4px);animation:pn-teeth-fade .16s ease-out}
.pn-teeth-modal{width:min(100%,820px);max-height:min(92svh,820px);overflow:auto;padding:18px 18px calc(24px + env(safe-area-inset-bottom));border:1px solid #eadde5;border-bottom:0;border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -18px 54px #40283b2b;animation:pn-teeth-up .2s ease-out}
.pn-teeth-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.pn-teeth-modal-header small{display:block;margin-bottom:3px;color:#9a8292;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pn-teeth-modal-header h2{margin:0;font-size:1.38rem}
.pn-teeth-close{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #eee1e8;border-radius:50%;background:#fff;color:#765c6d;font-size:22px}
.pn-teeth-summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:15px;margin-bottom:13px;border-radius:18px;background:linear-gradient(135deg,#fff2f8,#f8f0fb)}
.pn-teeth-ring{--pct:0;display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:conic-gradient(#a94f80 calc(var(--pct)*1%),#eadde5 0);position:relative}
.pn-teeth-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
.pn-teeth-ring strong{position:relative;font-size:1rem;color:#7f3e64}
.pn-teeth-summary h3{margin:0 0 4px;font-size:1rem}
.pn-teeth-summary p{margin:0;color:#7f6f7b;font-size:.82rem}
.pn-teeth-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;margin-bottom:15px;border-radius:13px;background:#f7f0f4}
.pn-teeth-tabs button{min-height:39px;padding:7px;border:0;border-radius:10px;background:transparent;color:#8a7784;font-size:.81rem;font-weight:700}
.pn-teeth-tabs button[aria-selected="true"]{background:#fff;color:#8b3f6e;box-shadow:0 2px 8px #5e355012}
.pn-teeth-panel[hidden]{display:none!important}
.pn-mouth-card{padding:16px;border:1px solid #efe4ea;border-radius:18px;background:#fff}
.pn-mouth-label{display:block;margin-bottom:13px;color:#8c7986;font-size:.75rem}
.pn-mouth-label strong{color:#604b59}
.pn-arch{position:relative;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;max-width:590px;margin:0 auto;padding:12px 10px 14px;border:1px solid #f0cedb;background:linear-gradient(180deg,#fdebf1,#f8dce6);box-shadow:inset 0 1px 0 #fff8,0 5px 14px #7f4f6810}
.pn-arch-upper{margin-bottom:17px;border-radius:46% 46% 28% 28%/58% 58% 34% 34%}
.pn-arch-lower{border-radius:28% 28% 46% 46%/34% 34% 58% 58%}
.pn-tooth{--ty:0px;--rot:0deg;position:relative;z-index:1;display:block;aspect-ratio:.94/1;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;transform:translateY(var(--ty)) rotate(var(--rot));transform-origin:50% 72%;transition:transform .16s ease,filter .16s ease;cursor:pointer}
.pn-tooth:hover{transform:translateY(calc(var(--ty) - 2px)) rotate(var(--rot)) scale(1.035);filter:drop-shadow(0 3px 3px #784d6316)}
.pn-tooth-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.pn-tooth-svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 2px 1.5px #805a5f18)}
.pn-tooth-shape{fill:#fffdf8;stroke:#d7b49d;stroke-width:1.65;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.pn-tooth-crown{fill:none;stroke:#efd9c7;stroke-width:1.05;stroke-linecap:round;opacity:.9;vector-effect:non-scaling-stroke}
.pn-tooth-highlight{fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;opacity:.95;vector-effect:non-scaling-stroke}
.pn-tooth-eye{fill:#765b61}.pn-tooth-eye-line,.pn-tooth-mouth{fill:none;stroke:#765b61;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pn-tooth-mouth--open{stroke-width:1.5}
.pn-tooth-blush{fill:#f5b7bf;opacity:.52}
.pn-tooth .pn-tooth-code{position:absolute;left:50%;top:72%;transform:translate(-50%,-50%);display:block;min-width:0;padding:0;background:transparent;color:#9b6e74;font-size:clamp(.48rem,1.55vw,.64rem);font-weight:900;line-height:1;letter-spacing:-.025em;text-shadow:0 1px 0 #fff;pointer-events:none}
.pn-tooth--ic{aspect-ratio:.92/1}.pn-tooth--il{aspect-ratio:.86/1}.pn-tooth--c{aspect-ratio:.88/1}.pn-tooth--m1{aspect-ratio:1.03/1}.pn-tooth--m2{aspect-ratio:1.1/1}
.pn-arch-upper .pn-tooth:nth-child(1){--ty:11px;--rot:-9deg}.pn-arch-upper .pn-tooth:nth-child(2){--ty:7px;--rot:-7deg}.pn-arch-upper .pn-tooth:nth-child(3){--ty:4px;--rot:-5deg}.pn-arch-upper .pn-tooth:nth-child(4){--ty:1px;--rot:-2deg}.pn-arch-upper .pn-tooth:nth-child(5){--ty:0px;--rot:-1deg}.pn-arch-upper .pn-tooth:nth-child(6){--ty:0px;--rot:1deg}.pn-arch-upper .pn-tooth:nth-child(7){--ty:1px;--rot:2deg}.pn-arch-upper .pn-tooth:nth-child(8){--ty:4px;--rot:5deg}.pn-arch-upper .pn-tooth:nth-child(9){--ty:7px;--rot:7deg}.pn-arch-upper .pn-tooth:nth-child(10){--ty:11px;--rot:9deg}
.pn-arch-lower .pn-tooth:nth-child(1){--ty:0px;--rot:9deg}.pn-arch-lower .pn-tooth:nth-child(2){--ty:3px;--rot:7deg}.pn-arch-lower .pn-tooth:nth-child(3){--ty:6px;--rot:5deg}.pn-arch-lower .pn-tooth:nth-child(4){--ty:9px;--rot:2deg}.pn-arch-lower .pn-tooth:nth-child(5){--ty:11px;--rot:1deg}.pn-arch-lower .pn-tooth:nth-child(6){--ty:11px;--rot:-1deg}.pn-arch-lower .pn-tooth:nth-child(7){--ty:9px;--rot:-2deg}.pn-arch-lower .pn-tooth:nth-child(8){--ty:6px;--rot:-5deg}.pn-arch-lower .pn-tooth:nth-child(9){--ty:3px;--rot:-7deg}.pn-arch-lower .pn-tooth:nth-child(10){--ty:0px;--rot:-9deg}
.pn-tooth.erupted .pn-tooth-shape{fill:#fff0f5;stroke:#c87da6}.pn-tooth.erupted .pn-tooth-crown{stroke:#e7b8cd}.pn-tooth.erupted .pn-tooth-blush{fill:#e88fac;opacity:.62}.pn-tooth.erupted .pn-tooth-code{color:#843c66}
.pn-tooth.erupted::after{content:"✓";position:absolute;right:-1px;top:-2px;z-index:3;display:grid;place-items:center;width:16px;height:16px;border:2px solid #fff;border-radius:50%;background:#98466f;color:#fff;font-size:9px;font-weight:900;box-shadow:0 2px 5px #00000016}
.pn-tooth:focus-visible{outline:3px solid #b86c97;outline-offset:3px;border-radius:10px}
.pn-mouth-hint{margin:13px 0 0;text-align:center;color:#8d7b87;font-size:.79rem}
.pn-teeth-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pn-teeth-legend span{padding:5px 8px;border-radius:99px;background:#f8f2f5;color:#816d7a;font-size:.72rem}

.pn-teeth-info-stack{display:grid;gap:10px}
.pn-teeth-info{padding:14px;border:1px solid #efe3e9;border-radius:16px;background:#fff}
.pn-teeth-info.emphasis{border-color:#ead2df;background:#fff7fb}
.pn-teeth-info h3{display:flex;align-items:center;gap:8px;margin:0 0 7px;font-size:.98rem}
.pn-teeth-info p{margin:0;color:#796875;font-size:.86rem}
.pn-teeth-info ul{margin:9px 0 0;padding-left:20px;color:#796875;font-size:.84rem}
.pn-teeth-info li+li{margin-top:7px}
.pn-teeth-source{margin-top:13px;color:#978590;font-size:.72rem;line-height:1.45}
.pn-teeth-source a{color:#8b3f6e}

.pn-tooth-editor{position:sticky;bottom:-18px;margin:14px -18px -18px;padding:16px 18px calc(18px + env(safe-area-inset-bottom));border-top:1px solid #eadde5;background:#fff;box-shadow:0 -14px 30px #5f354812}
.pn-tooth-editor[hidden]{display:none}
.pn-tooth-editor-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.pn-tooth-editor h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 2px;font-size:1rem}
.pn-tooth-editor .pn-tooth-code{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:3px 8px;border-radius:999px;background:#f7eef3;color:#8f4970;font-size:.74rem;font-weight:800}
.pn-tooth-editor p{margin:0;color:#8b7985;font-size:.78rem}
.pn-tooth-editor-close{border:0;background:transparent;color:#8a7683;font-size:20px}
.pn-tooth-editor label{margin-bottom:12px}
.pn-tooth-editor-actions{display:flex;gap:8px;flex-wrap:wrap}
.pn-tooth-save{flex:1;min-width:170px;min-height:43px;border:1px solid #963e75;border-radius:12px;background:#963e75;color:#fff;font-weight:700}
.pn-tooth-remove{min-height:43px;padding:8px 12px;border:1px solid #ecd9e3;border-radius:12px;background:#fff;color:#9a486f;font-weight:700}
.pn-tooth-unknown{display:flex;align-items:center;gap:8px;margin:-4px 0 12px;color:#786672;font-size:.82rem;font-weight:500}
.pn-tooth-unknown input{width:auto;min-height:auto;margin:0}

@keyframes pn-teeth-fade{from{opacity:0}to{opacity:1}}
@keyframes pn-teeth-up{from{transform:translateY(18px);opacity:.75}to{transform:none;opacity:1}}

html[data-theme="dark"] .pn-teeth-card::after{background:radial-gradient(circle,#62364d42 0,#62364d00 72%)}
html[data-theme="dark"] .pn-tooth-icon{background:#3b2532;color:#efa8cf}
html[data-theme="dark"] .pn-teeth-intro,
html[data-theme="dark"] .pn-teeth-count,
html[data-theme="dark"] .pn-mouth-label,
html[data-theme="dark"] .pn-mouth-hint,
html[data-theme="dark"] .pn-teeth-summary p,
html[data-theme="dark"] .pn-teeth-info p,
html[data-theme="dark"] .pn-teeth-info ul,
html[data-theme="dark"] .pn-teeth-source,
html[data-theme="dark"] .pn-tooth-editor p{color:#b9aab4}
html[data-theme="dark"] .pn-teeth-child-row,
html[data-theme="dark"] .pn-mouth-card,
html[data-theme="dark"] .pn-teeth-info,
html[data-theme="dark"] .pn-teeth-modal,
html[data-theme="dark"] .pn-tooth-editor{background:#231c22;border-color:#3d3039}
html[data-theme="dark"] .pn-teeth-child-row{background:#241d23}
html[data-theme="dark"] .pn-teeth-progress{background:#48343f}
html[data-theme="dark"] .pn-teeth-open,
html[data-theme="dark"] .pn-teeth-close,
html[data-theme="dark"] .pn-tooth-remove{background:#2b2228;border-color:#493744;color:#e7a2c7}
html[data-theme="dark"] .pn-teeth-summary{background:linear-gradient(135deg,#34232d,#2b2333)}
html[data-theme="dark"] .pn-teeth-ring{background:conic-gradient(#c970a0 calc(var(--pct)*1%),#4b3a45 0)}
html[data-theme="dark"] .pn-teeth-ring::before{background:#231c22}
html[data-theme="dark"] .pn-teeth-ring strong{color:#f1b1d3}
html[data-theme="dark"] .pn-teeth-tabs{background:#1b161a}
html[data-theme="dark"] .pn-teeth-tabs button{color:#a99ca5}
html[data-theme="dark"] .pn-teeth-tabs button[aria-selected="true"]{background:#3a2732;color:#f0b4d4}
html[data-theme="dark"] .pn-arch{background:linear-gradient(180deg,#3c2732,#34242d);border-color:#503642;box-shadow:inset 0 1px 0 #ffffff0a,0 5px 14px #0002}
html[data-theme="dark"] .pn-tooth-shape{fill:#f6eee8;stroke:#aa806b}html[data-theme="dark"] .pn-tooth-crown{stroke:#dbc3b3}html[data-theme="dark"] .pn-tooth-highlight{stroke:#fff9}html[data-theme="dark"] .pn-tooth-eye,html[data-theme="dark"] .pn-tooth-eye-line,html[data-theme="dark"] .pn-tooth-mouth{stroke:#604c52}html[data-theme="dark"] .pn-tooth-eye{fill:#604c52}html[data-theme="dark"] .pn-tooth-blush{fill:#e6a1aa}
html[data-theme="dark"] .pn-tooth .pn-tooth-code{color:#876269;text-shadow:none}
html[data-theme="dark"] .pn-tooth.erupted .pn-tooth-shape{fill:#f7dce8;stroke:#b8688f}html[data-theme="dark"] .pn-tooth.erupted .pn-tooth-crown{stroke:#d49ab7}
html[data-theme="dark"] .pn-tooth.erupted .pn-tooth-code{color:#7e355d}
html[data-theme="dark"] .pn-teeth-legend span{background:#30262c;color:#b8a9b2}
html[data-theme="dark"] .pn-teeth-info.emphasis{background:#31212a;border-color:#513544}
html[data-theme="dark"] .pn-tooth-editor .pn-tooth-code{background:#3d2a34;color:#f0b4d4}
html[data-theme="dark"] .pn-tooth-editor{box-shadow:0 -14px 30px #0004}

@media (min-width:700px){
  .pn-teeth-backdrop{align-items:center;padding:24px}
  .pn-teeth-modal{border-bottom:1px solid #eadde5;border-radius:24px;padding-bottom:22px}
  .pn-tooth-editor{bottom:-22px;margin-bottom:-22px}
}
@media (max-width:430px){
  .pn-teeth-child-row{grid-template-columns:minmax(0,1fr)}
  .pn-teeth-open{width:100%}
  .pn-teeth-summary{grid-template-columns:62px minmax(0,1fr);gap:11px}
  .pn-teeth-ring{width:62px;height:62px}
  .pn-arch{gap:2px;padding-left:6px;padding-right:6px}
}
