/* v179: one responsive character layout; no fixed-height portrait wells. */
html body #characters .characters-panel{width:100%!important;max-width:100%!important;padding:24px!important;overflow:visible!important;}
html body #characters .v79-character-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,0fr)!important;align-items:start!important;gap:0!important;width:100%!important;max-width:1460px!important;margin:auto!important;transition:grid-template-columns .6s ease,gap .6s ease!important;}
html body #characters .v79-character-layout.is-open-v179{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)!important;gap:clamp(24px,3vw,44px)!important;}
html body #characters .v79-character-left{width:100%!important;min-width:0!important;max-width:760px!important;margin-inline:auto!important;}
html body #characters .v79-character-right{width:100%!important;min-width:0!important;overflow:hidden!important;opacity:0;visibility:hidden;transform:translateX(28px);transition:opacity .35s ease .2s,transform .55s ease,visibility 0s .6s!important;}
html body #characters .is-open-v179 .v79-character-right{opacity:1;visibility:visible;transform:none;transition-delay:.15s,0s,0s!important;overflow:visible!important;}
html body #characters .character-groups{position:relative!important;isolation:isolate;width:100%!important;max-width:none!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:30px!important;margin:0!important;padding:10px 0 10px 10px!important;overflow:visible!important;}
html body #characters .character-group{position:relative!important;z-index:auto!important;width:100%!important;max-width:none!important;min-width:0!important;padding:0 0 0 22px!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;}
html body #characters .character-groups::before,html body #characters .character-groups::after,
html body #characters .character-group::before,html body #characters .character-group::after,
html body #characters .character-buttons::before,html body #characters .character-buttons::after,
html body #characters .character-btn::before,html body #characters .character-btn::after{content:none!important;display:none!important;}
html body #characters .character-group-title{position:relative!important;z-index:2!important;display:table!important;max-width:100%!important;width:auto!important;margin:0 auto 26px!important;padding:4px 22px!important;font-size:clamp(28px,2.65vw,40px)!important;line-height:1.12!important;text-align:center!important;background:#210a20!important;border:1px solid #76423b!important;border-radius:24px!important;box-shadow:none!important;}
html body #characters .character-group .character-buttons{display:grid!important;position:relative!important;z-index:auto!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;max-width:none!important;min-width:0!important;gap:26px 18px!important;margin:0!important;align-items:stretch!important;justify-items:stretch!important;}
html body #characters .character-group-main .character-buttons{grid-template-columns:minmax(0,220px)!important;justify-content:center!important;}
html body #characters .character-group-leaders .character-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:530px!important;margin:auto!important;}
html body #characters .character-group .character-btn{position:relative!important;z-index:2!important;display:flex!important;align-items:center!important;justify-content:center!important;grid-column:auto!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:56px!important;max-height:none!important;padding:9px 10px!important;margin:0!important;font-size:clamp(22px,2.1vw,30px)!important;line-height:1.12!important;letter-spacing:0!important;text-align:center!important;overflow-wrap:normal!important;word-break:normal!important;white-space:normal!important;transform:none!important;}
html body #characters .character-group-leaders .character-btn{min-height:106px!important;font-size:clamp(22px,1.75vw,27px)!important;overflow-wrap:anywhere!important;}
html body #characters .character-group-pioneers .character-btn:last-child{grid-column:2!important;width:100%!important;justify-self:center!important;}
html body #characters .character-network-v179{position:absolute!important;inset:0!important;z-index:0!important;max-width:none!important;max-height:none!important;overflow:visible!important;pointer-events:none!important;filter:none!important;}
.character-network-v179 path{fill:none;stroke:#df815b;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.85;}
.character-network-v179 circle{fill:#ffdf8e;stroke:#9f3c36;stroke-width:1;vector-effect:non-scaling-stroke;}
html body #characters .characters-panel #characterView{display:none!important;}
html body #characters .characters-panel #characterView[data-v177-visible="1"]{display:flex!important;flex-direction:column!important;position:relative!important;top:auto!important;grid-template-columns:none!important;width:100%!important;max-width:700px!important;height:auto!important;min-height:0!important;margin:0 auto!important;padding:clamp(16px,2vw,26px)!important;gap:18px!important;overflow:hidden!important;opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;}
html body #characters #characterView #characterImageWrapV179{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;flex:0 0 auto!important;padding:0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:hidden!important;}
html body #characters #characterView .character-image-wrap::before,html body #characters #characterView .character-image-wrap::after,html body #characters #characterView .character-info::before{display:none!important;content:none!important;}
html body #characters #characterView #characterImage{display:block!important;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;max-height:460px!important;aspect-ratio:auto!important;margin:0 auto!important;padding:0!important;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important;animation:none!important;opacity:1!important;transition:opacity .2s ease!important;}
html body #characters #characterView.v149-image-pending #characterImage{opacity:0!important;}
html body #characters #characterView #characterInfoV179{position:static!important;display:block!important;align-self:stretch!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;padding:0!important;margin:0!important;background:none!important;border:0!important;transform:none!important;animation:none!important;opacity:1!important;}
html body #characters #characterName{margin:0 0 12px!important;font-size:clamp(30px,3vw,44px)!important;line-height:1.1!important;text-align:center!important;}
html body #characters #characterView #characterDesc{width:100%!important;max-width:36em!important;min-height:0!important;margin:0 auto!important;padding:0!important;font-size:clamp(23px,2vw,29px)!important;line-height:1.35!important;letter-spacing:0!important;text-align:left!important;text-wrap:wrap!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;transform:none!important;animation:none!important;opacity:1!important;}
html body #characters #characterView.is-changing-v179 #characterInfoV179{animation:v179CopyIn .26s ease both!important;}
@keyframes v179CopyIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

#poppyGalleryHintV179{max-width:34em;margin:0 auto 22px;padding:0 12px;font:700 clamp(21px,2.2vw,29px)/1.25 'Caveat','Segoe Print',cursive;color:#ffe3af;text-align:center;}
@media(max-width:460px){
  html body .site-header .brand-text{display:block!important;max-width:100%!important;min-width:0!important;font-size:clamp(17px,4.5vw,20px)!important;line-height:1.05!important;white-space:normal!important;overflow-wrap:break-word!important;text-wrap:balance!important;}
}
html body #media .poppy-tree-v178{width:min(100%,850px)!important;aspect-ratio:941/1672!important;background:none!important;}
html body .poppy-lightbox-frame-v177{display:flex!important;align-items:center!important;justify-content:center!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;}
html body .poppy-lightbox-image-v177{display:block!important;width:auto!important;height:auto!important;max-width:calc(100vw - 32px)!important;max-height:calc(100vh - 32px)!important;max-height:calc(100dvh - 32px)!important;object-fit:contain!important;}
html.fc-help-mode-v161 #media .poppy-shot-v177{cursor:default!important;}
#fcHelpAudioRetryV179{position:fixed;z-index:2147483520;bottom:125px;left:max(16px,env(safe-area-inset-left));max-width:200px;padding:8px 14px;border:1px solid #e9b871;border-radius:18px;background:#350c25;color:#ffe39b;font:700 22px/1.2 'Caveat',cursive;}
#fcHelpAudioRetryV179[hidden]{display:none!important;}
@media(orientation:landscape) and (max-height:560px) and (max-width:950px){
  #artemPlayerV100 #artemPlaylistToggleV156{left:-52px!important;right:auto!important;top:44px!important;width:44px!important;height:44px!important;transform:none!important;}
}

html body #about .feature-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important;}
html body #about .feature{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;height:auto!important;min-height:0!important;padding:22px!important;text-align:left!important;gap:9px!important;}
html body #about .feature strong{font:700 clamp(26px,2.5vw,34px)/1.1 'Caveat',cursive!important;color:#ffe392;}
html body #about .feature p{font:700 clamp(22px,1.8vw,27px)/1.32 'Caveat',cursive!important;margin:0!important;}
html body #about .feature:last-child{grid-column:1/-1!important;}
html body #about .production-note-v179{padding:22px 0!important;margin:0!important;text-align:left!important;font-size:clamp(22px,1.9vw,28px)!important;line-height:1.4!important;}
.legal-links-v179{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;padding:16px 12px 26px;}
.legal-links-v179 a{font:700 22px/1.3 'Caveat','Segoe Print',cursive;color:#ffdea1;text-decoration:underline;text-underline-offset:5px;}
.legal-links-v179 a:focus-visible{outline:2px solid #ffde95;outline-offset:5px;}
@media(max-width:1050px){
  html body #characters .v79-character-layout,html body #characters .v79-character-layout.is-open-v179{grid-template-columns:minmax(0,1fr)!important;gap:0!important;}
  html body #characters .v79-character-right{height:0!important;}
  html body #characters .is-open-v179 .v79-character-right{height:auto!important;margin-top:30px!important;transform:none!important;}
  html body #characters .character-group .character-btn{font-size:28px!important;}
  html body #characters .character-group-leaders .character-btn{font-size:27px!important;}
}
@media(max-width:600px){
  html body #characters .characters-panel{width:100%!important;padding:16px 10px!important;}
  html body #characters .character-groups{padding-left:0!important;gap:26px!important;}
  html body #characters .character-group{padding-left:16px!important;}
  html body #characters .character-group .character-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 12px!important;}
  html body #characters .character-group-main .character-buttons{grid-template-columns:minmax(0,190px)!important;}
  html body #characters .character-group .character-btn{font-size:24px!important;min-height:54px!important;padding:8px!important;}
  html body #characters .character-group-leaders .character-btn{font-size:22px!important;min-height:100px!important;}
  html body #characters .character-group-pioneers .character-btn:last-child{grid-column:1/-1!important;width:calc(50% - 6px)!important;}
  html body #characters #characterView #characterImage{max-height:430px!important;}
  html body #characters #characterView #characterDesc{font-size:24px!important;line-height:1.35!important;}
  html body #media .poppy-tree-v178{width:100%!important;}
  html body #about .feature-grid{grid-template-columns:minmax(0,1fr)!important;}
}
@media(prefers-reduced-motion:reduce){
  html body #characters .v79-character-layout,html body #characters .v79-character-right,html body #characters #characterView #characterImage,html body #characters #characterView.is-changing-v179 #characterInfoV179{animation:none!important;transition:none!important;}
}
