/* Compact shared card: continuous type background, stable geometry, flat moving ring. */
@layer ui-theme {
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-scene {position:absolute!important;inset:0!important;z-index:0!important;overflow:hidden!important;pointer-events:none!important;isolation:isolate!important;background:linear-gradient(155deg,color-mix(in srgb,var(--platform-light-a) 84%,var(--ui-card,#fff)),color-mix(in srgb,var(--platform-a) 34%,var(--ui-card,#fff)) 68%,color-mix(in srgb,var(--platform-b) 24%,var(--ui-card,#fff)))!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-scene::before {display:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-scene::after {display:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-light {position:absolute!important;inset:10% 7% 3%!important;background:radial-gradient(ellipse at 45% 46%,#fff9,transparent 68%)!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-traces {display:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-traces i {position:absolute!important;top:0!important;bottom:0!important;width:1px!important;background:linear-gradient(transparent,#fffa 26%,#fff4 70%,transparent)!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-traces i:first-child {left:0!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-traces i:last-child {right:0!important;top:14%!important;bottom:6%!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-traces i::before,:is(#app #sidePanel,#app .pp-nursery) .pk-platform-traces i::after {content:""!important;position:absolute!important;left:-2px!important;width:5px!important;height:5px!important;border:1px solid #fffe!important;border-radius:50%!important;background:var(--platform-a)!important;opacity:.55!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-traces i::before {top:14%!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-traces i::after {bottom:10%!important;left:-1px!important;width:3px!important;height:3px!important;background:var(--platform-b)!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-ground {position:absolute!important;left:16%!important;right:16%!important;top:76%!important;height:16%!important;border-radius:50%!important;background:radial-gradient(ellipse,color-mix(in srgb,var(--platform-a) 28%,transparent),transparent 70%)!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-orbit {position:absolute!important;left:6%!important;width:88%!important;aspect-ratio:1!important;top:82%!important;transform:translateY(-50%) rotateX(70deg)!important;border-radius:50%!important;border:1px solid #fffc!important;background:linear-gradient(100deg,color-mix(in srgb,var(--platform-a) 12%,transparent),color-mix(in srgb,var(--platform-b) 14%,transparent))!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-spin {position:absolute!important;inset:3%!important;border-radius:50%!important;background:conic-gradient(from 8deg,#ffff 0deg 37deg,transparent 37deg 43deg,#ffff 43deg 83deg,transparent 83deg 89deg,#ffff 89deg 129deg,transparent 129deg 135deg,#ffff 135deg 175deg,transparent 175deg 181deg,#ffff 181deg 221deg,transparent 221deg 227deg,#ffff 227deg 267deg,transparent 267deg 273deg,#ffff 273deg 313deg,transparent 313deg 319deg,#ffff 319deg 354deg,transparent 354deg)!important;mask-image:radial-gradient(farthest-side,transparent calc(100% - 11px),#000 calc(100% - 10px) calc(100% - 3px),transparent calc(100% - 2px))!important;animation:pokemon-platform-turn 28s linear infinite!important;animation-play-state:paused!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-core {position:absolute!important;inset:13%!important;border-radius:50%!important;border:1px solid #fff9!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pk-platform-core::after {display:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) [data-dd-motion=running] .pk-platform-spin {animation-play-state:running!important;}
 @keyframes pokemon-platform-turn {to {transform:rotate(360deg)}}
 /* Full-size cards share the same frame, stage and bottom control rhythm. */
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-showcase,:is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-specimen {border:1px solid var(--ui-line,#cbdde9)!important;border-radius:18px!important;overflow:hidden!important;background:var(--ui-card,#fff)!important;box-shadow:0 6px 20px #19445c06!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-identity {display:grid!important;grid-template-rows:16px 36px 30px!important;gap:5px!important;padding:12px 16px 10px!important;height:114px!important;min-height:0!important;box-sizing:border-box!important;background:transparent!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-identity h2 {font-size:28px!important;line-height:36px!important;margin:0!important;letter-spacing:-.035em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-stage {height:var(--pk-model-height)!important;min-height:0!important;background:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-stage .dd-portrait {inset:0 3% 12px!important;width:94%!important;height:calc(100% - 12px)!important;filter:drop-shadow(0 7px 6px #23577720)!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-appearance {display:flex!important;align-items:center!important;flex-wrap:nowrap!important;padding:5px 10px!important;gap:5px!important;height:54px!important;min-height:54px!important;box-sizing:border-box!important;background:var(--ui-card,#fff)!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-appearance button {min-height:38px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-physical {height:46px!important;box-sizing:border-box!important;align-items:center!important;padding:8px 12px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-specimen {display:flex!important;flex-direction:column!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-identity-intro {position:relative!important;z-index:2!important;height:114px!important;box-sizing:border-box!important;padding:12px 14px 10px!important;order:0!important;background:transparent!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-identity-heading h1 {font-size:26px!important;line-height:36px!important;letter-spacing:-.035em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important;margin:0!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-dex-number {display:inline-block!important;height:16px!important;margin:0 8px 0 0!important;font-size:11px!important;letter-spacing:.08em!important;color:var(--ui-muted)!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-level {border:1px solid var(--ui-line)!important;border-radius:10px!important;background:var(--ui-card)!important;box-shadow:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-types {height:30px!important;margin-top:5px!important;gap:6px!important;flex-wrap:nowrap!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-exhibit {height:var(--pk-model-height)!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;order:1!important;background:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-stage {height:100%!important;padding:0!important;position:relative!important;z-index:1!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-portrait {inset:0 3% 12px!important;width:94%!important;height:calc(100% - 12px)!important;filter:drop-shadow(0 7px 6px #23577720)!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-portrait img {position:static!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center bottom!important;filter:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-partner-actions {order:2!important;display:flex!important;flex-wrap:wrap!important;padding:10px 12px!important;margin:0!important;gap:8px!important;min-height:64px!important;border:0!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-partner-actions .ph-button {flex:1 1 100%!important;min-height:44px!important;justify-content:center!important;text-align:center!important;border:1px solid var(--ui-line)!important;border-radius:10px!important;padding:9px 12px!important;font-size:14px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-partner-actions .ph-lead-state {flex:1 1 100%!important;min-height:40px!important;justify-content:center!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-partner-note {max-width:none!important;width:100%!important;text-align:center!important;font-size:11px!important;line-height:1.3!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-partner-note br {display:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-field-notes {order:3!important;margin:0 14px!important;padding:11px 0!important;border-top:1px solid var(--ui-line)!important;gap:10px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-equipment {order:4!important;padding:12px 14px!important;margin:0!important;border-top:1px solid var(--ui-line)!important;background:transparent!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-record {order:5!important;padding:8px 14px 12px!important;margin:0!important;font-size:10px!important;}
 /* Identity and model are one fixed-size display; the scene starts at its top. */
 :is(#app #sidePanel,#app .pp-nursery) :is(.dd-display,.ph-display) {--pk-model-height:210px;position:relative!important;isolation:isolate!important;display:grid!important;grid-template-rows:114px var(--pk-model-height)!important;height:calc(114px + var(--pk-model-height))!important;min-width:0!important;overflow:hidden!important;flex:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) :is(.dd-display,.ph-display)>.pk-platform-scene {inset:0!important;}
 :is(#app #sidePanel,#app .pp-nursery) :is(.dd-display,.ph-display) .pk-platform-orbit {top:auto!important;bottom:52px!important;transform:translateY(50%) rotateX(70deg)!important;}
 :is(#app #sidePanel,#app .pp-nursery) :is(.dd-display,.ph-display) .pk-platform-ground {top:auto!important;bottom:0!important;height:62px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-types {min-width:0!important;height:30px!important;gap:6px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-types .pokemon-type-list {flex-wrap:nowrap!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-dexline {font-size:10px!important;letter-spacing:.5px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-appearance>div {flex:0 0 auto!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-appearance>.pc-info-button {margin-left:auto!important;flex:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-appearance>.pf-open {min-width:0!important;flex:0 1 auto!important;padding-inline:5px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-identity-heading {height:36px!important;min-width:0!important;gap:8px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-identity-heading h1 {flex:1!important;}
 :is(#app #sidePanel,#app .pp-nursery) .ph-hub .ph-level {flex:none!important;height:36px!important;min-height:0!important;padding:2px 8px!important;}
 /* Legacy guide cards also use the same shared scene without upright halos. */
 :is(#app #sidePanel,#app .pp-nursery) .pd-scene .pk-platform-scene {border-radius:inherit!important;}
 :is(#app .pp-nursery) .nr-mon-art {position:relative!important;isolation:isolate!important;overflow:hidden!important;border-radius:10px!important;}
 :is(#app .pp-nursery) .nr-mon-art>img {position:relative!important;z-index:1!important;}
 /* Catalog and team cards share the palette, with static compact previews. */
 :is(#app #sidePanel,#app .pp-nursery) :is(.dc-card-art,.pt-portrait,.nr-mon-art) {position:relative!important;isolation:isolate!important;overflow:hidden!important;border-radius:12px!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dc-card-art {width:100%!important;margin:0!important;height:100px!important;align-self:center!important;}
 :is(#app #sidePanel,#app .pp-nursery) .dc-card-art>img {position:relative!important;z-index:1!important;width:88%!important;height:88%!important;object-fit:contain!important;object-position:center bottom!important;}
 :is(#app #sidePanel,#app .pp-nursery) .pt-portrait .pt-image {position:relative!important;z-index:1!important;}
 :is(#app #sidePanel,#app .pp-nursery) :is(.dc-card-art,.pt-portrait,.nr-mon-art) .pk-platform-traces {display:none!important;}
 :is(#app #sidePanel,#app .pp-nursery) :is(.dc-card-art,.pt-portrait,.nr-mon-art) .pk-platform-orbit {top:85%!important;}
 :is(#app #sidePanel,#app .pp-nursery) :is(.dc-card-art,.pt-portrait,.nr-mon-art) .pk-platform-spin {mask-image:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px) calc(100% - 1px),transparent)!important;}
 html[data-game-theme=dark] :is(#app #sidePanel,#app .pp-nursery) .pk-platform-scene {background:linear-gradient(155deg,color-mix(in srgb,var(--platform-a) 16%,var(--ui-card,#152a38)),color-mix(in srgb,var(--platform-a) 34%,var(--ui-card,#152a38)) 65%,color-mix(in srgb,var(--platform-b) 25%,var(--ui-card,#152a38)))!important;}
 html[data-game-theme=dark] :is(#app #sidePanel,#app .pp-nursery) .pk-platform-light {opacity:.12!important;}
 html[data-game-theme=dark] :is(#app #sidePanel,#app .pp-nursery) .pk-platform-scene::before {opacity:.5!important;}
 html[data-game-theme=dark] :is(#app #sidePanel,#app .pp-nursery) .pk-platform-orbit {opacity:.6!important;}
 @media(pointer:coarse) { :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-appearance button {min-height:44px!important;} }
 @media(max-width:700px) {
  :is(#app #sidePanel,#app .pp-nursery) .dc-card-art {height:82px!important;}
  :is(#app #sidePanel,#app .pp-nursery) :is(.dd-display,.ph-display) {--pk-model-height:200px;}



 }
 @media(max-height:560px) and (min-width:701px) {
  :is(#app #sidePanel,#app .pp-nursery) .dc-card-art {height:62px!important;}
  :is(#app #sidePanel,#app .pp-nursery) :is(.dd-display,.ph-display) {--pk-model-height:170px;}

 }
 /* The native shell depends only on the viewport, never on species content. */
 #app #sidePanel.side-panel.is-open.is-pokedex-detail:has(.dd-dossier) {width:min(1280px,calc(100dvw - 32px))!important;height:min(760px,calc(100dvh - 32px))!important;min-height:0!important;max-height:calc(100dvh - 16px)!important;overflow:hidden!important;}
 #app #sidePanel.side-panel.is-open.is-pokedex-detail:has(.dd-dossier)>#sidePanelContent {flex:1 1 0!important;height:100%!important;max-height:none!important;min-height:0!important;overflow:hidden!important;}
 #app #sidePanel .dd-dossier {display:flex!important;flex-direction:column!important;height:100%!important;max-height:none!important;min-height:0!important;overflow:hidden!important;scrollbar-gutter:auto!important;}
 #app #sidePanel .dd-dossier .dd-header {position:relative!important;flex:none!important;height:60px!important;min-height:60px!important;box-sizing:border-box!important;}
 #app #sidePanel .dd-dossier .dd-layout {flex:1 1 0!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain!important;scrollbar-gutter:stable!important;grid-template-columns:300px minmax(0,1fr)!important;gap:20px!important;padding:16px!important;align-items:start!important;}
 #app .public-game-dialog {width:min(1280px,calc(100dvw - 32px))!important;height:min(760px,calc(100dvh - 32px))!important;max-height:calc(100dvh - 16px)!important;overflow:hidden!important;box-sizing:border-box!important;}
 #app .public-game-dialog :is(#sidePanel,#dexDialogContent) {height:100%!important;min-height:0!important;overflow:hidden!important;}
 #app .public-game-dialog .public-dex-note {padding:12px 0 0!important;}
 @media(max-width:1100px) and (min-width:761px) {#app #sidePanel .dd-dossier .dd-layout {grid-template-columns:260px minmax(0,1fr)!important;gap:14px!important;padding:12px!important;} :is(#app #sidePanel,#app .pp-nursery) .dd-dossier .dd-identity h2 {font-size:25px!important;}}
 @media(max-width:760px) {
  #app #sidePanel.side-panel.is-open.is-pokedex-detail:has(.dd-dossier),#app .public-game-dialog {width:calc(100dvw - 12px)!important;height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;}
  #app #sidePanel .dd-dossier .dd-layout {grid-template-columns:minmax(0,1fr)!important;padding:10px!important;gap:20px!important;}
  #app #sidePanel .dd-dossier .dd-appearance {display:flex!important;}
  #app #sidePanel .dd-dossier .dd-header {height:54px!important;min-height:54px!important;}
 }
 @media(prefers-reduced-motion:reduce) {:is(#app #sidePanel,#app .pp-nursery) .pk-platform-spin {animation:none!important;}}
}
/* Public game catalog is outside #app; its previews use the same stage CSS. */
body[data-pokedex-mode=game] .dex-card-visual {position:relative;isolation:isolate;overflow:hidden;border-radius:13px;background:linear-gradient(145deg,#fff,var(--platform-light-a,#e4f4f9));}
body[data-pokedex-mode=game] .dex-card-visual>.pk-platform-scene {position:absolute;inset:0;background:linear-gradient(145deg,var(--platform-light-a),var(--platform-light-b));pointer-events:none;}
body[data-pokedex-mode=game] .dex-card-visual>.pk-platform-scene .pk-platform-orbit {position:absolute;left:12%;right:12%;bottom:8%;height:15%;border:2px solid #fffc;border-radius:50%;box-shadow:inset 0 0 0 5px #ffffff40;}
body[data-pokedex-mode=game] .dex-card-visual>img {position:relative;z-index:1;}

/* Reuse the permanent native mobile close inside the dossier navigation row. */
@layer mobile-window-accessibility {
 @media(max-width:760px),(pointer:coarse) and (max-height:560px) {
  body:not(.is-battling) #gameScreen #sidePanel[data-mobile-sheet="v1"].is-pokedex-detail:has(.dd-dossier)>.mobile-window-head:not([hidden]) {position:absolute!important;inset:0 0 auto auto!important;left:auto!important;right:0!important;width:56px!important;height:54px!important;min-height:0!important;padding:5px 6px!important;margin:0!important;z-index:85!important;justify-content:center!important;gap:0!important;background:transparent!important;border:0!important;box-sizing:border-box!important;}
  body:not(.is-battling) #gameScreen #sidePanel[data-mobile-sheet="v1"].is-pokedex-detail:has(.dd-dossier)>.mobile-window-head h2 {display:none!important;}
 }
}
