/* Charatore release: first-paint stable header, page-width 1280px, responsive editor and bottom guide. */
body.ac-wedding-layout #start_sexBlock{display:none!important}
body.ac-wedding-layout .ac-editor-topbar{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:3000!important;width:100%!important;box-sizing:border-box!important}
/* Old layered IMG elements are retained for the legacy selection JS, but must not occupy layout space. */
body.ac-wedding-layout #mixBlock>img,body.ac-wedding-layout #mixBlock_zoom>img{display:none!important}
/* Canvas is the only visible preview: anchor it to the upper-left corner of the 240x400 stage. */
body.ac-wedding-layout #charatore-canvas-preview{display:block!important;position:absolute!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;margin:0!important;z-index:1!important}
body.ac-wedding-layout .ac-gender-gate{position:fixed!important;inset:64px 0 0!important;z-index:2995!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:20px!important;overflow:auto!important;box-sizing:border-box!important;background:#17181df5!important}
body.ac-wedding-layout .ac-gender-gate-inner{width:min(100%,610px);margin:auto;background:#292b35;border:1px solid #50525d;border-radius:16px;padding:40px 30px;text-align:center;color:white;box-shadow:0 15px 50px #0004}
body.ac-wedding-layout .ac-gender-gate h2{margin:0 0 12px;color:white;font-size:24px}
body.ac-wedding-layout .ac-gender-gate p{color:#c9ceda;font-size:14px;line-height:1.8;margin:0 0 26px}
body.ac-wedding-layout .ac-gender-gate-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.ac-wedding-layout .ac-gender-choice{min-height:74px;border:1px solid #ddd;border-radius:11px;color:white;font-size:20px;font-weight:700;cursor:pointer}
body.ac-wedding-layout .ac-gender-choice-men{background:#6a8;border-color:#b8d8c8}
body.ac-wedding-layout .ac-gender-choice-girl{background:#ef3b89;border-color:#ffc0d9}
body.ac-wedding-layout ul.fashion_list>li dl dd.color img{border-radius:50%!important;width:20px!important;height:20px!important;border:1px solid #c8c8cd!important;box-sizing:border-box!important;object-fit:cover!important}
/* Place clothing-off controls below category selection on desktop AND mobile. */
body.ac-wedding-layout.ac-page-fashion #selectArea2 ul.ac-outfit-removers{display:flex!important;order:0!important;position:relative!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 12px!important;padding:11px 0 14px!important;list-style:none!important;border-bottom:1px solid #484950!important;background:transparent!important}
body.ac-wedding-layout.ac-page-fashion #selectArea2 ul.ac-outfit-removers li{display:flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;min-width:42px!important;margin:0!important;padding:5px!important;background:#343640!important;border:1px solid #565863!important;border-radius:9px!important;box-sizing:border-box!important;float:none!important}
body.ac-wedding-layout.ac-page-fashion #selectArea2 ul.ac-outfit-removers img{max-width:34px!important;max-height:29px!important;width:auto!important;height:auto!important;cursor:pointer!important;object-fit:contain!important}
body.ac-wedding-layout .ac-bottom-content,body.ac-save-body .ac-bottom-content{width:100%!important;max-width:1280px!important;clear:both!important;display:block!important;box-sizing:border-box!important;margin:0 auto!important;padding:34px 30px 55px!important;color:#dce0e7!important;background:#202127!important}
.ac-bottom-ad{min-height:125px;width:100%}.ac-bottom-ad-label{display:block;color:#a4a7b0;font-size:10px;margin:0 0 7px}
.ac-bottom-help{border-top:1px solid #484b55;margin-top:18px;padding-top:22px}
.ac-bottom-help h2{color:#fff;font-size:18px;line-height:1.5;margin:0 0 12px}
.ac-bottom-help p{font-size:13px;line-height:1.9;color:#c7cad5;margin:0 0 12px}
.ac-bottom-related{display:flex;flex-wrap:wrap;gap:10px 16px}
.ac-bottom-related a{color:#a9dbfa;font-size:12px}
/* Canonical PC layout. The outer viewport remains full-width for Google side rails.
   Nothing in the 1280px editor uses position:fixed or an obsolete 1000px float.
   Google side-rail exclusion is explicitly scoped to <main id="contents">. */
@media (min-width:781px){
 html,body{margin:0!important;width:100%!important;height:auto!important;min-height:100%!important;overflow-x:clip!important;overflow-y:auto!important;background:#17181d!important}
 body.ac-wedding-layout #container{position:relative!important;width:100%!important;max-width:none!important;height:auto!important;min-height:100vh!important;overflow:visible!important;margin:0!important;padding:0!important;background:#17181d!important}
 body.ac-wedding-layout #contents{display:block!important;position:relative!important;width:100%!important;max-width:1280px!important;min-height:510px!important;height:calc(100vh - 64px)!important;margin:64px auto 0!important;padding:0!important;box-sizing:border-box!important;overflow:visible!important}
 body.ac-wedding-layout #contents>#leftArea,body.ac-wedding-layout #contents>#leftArea2{display:grid!important;position:relative!important;grid-template-columns:minmax(0,48fr) minmax(0,52fr)!important;gap:0!important;align-items:stretch!important;width:100%!important;height:100%!important;min-width:0!important;margin:0!important;padding:0!important;float:none!important;box-sizing:border-box!important}
 body.ac-wedding-layout #mixArea{display:flex!important;position:relative!important;grid-column:1!important;grid-row:1!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;float:none!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;margin:0!important;padding:8px 18px 16px!important;box-sizing:border-box!important;justify-content:flex-start!important;align-items:center!important;flex-direction:column!important;overflow:hidden!important;border:0!important;border-right:1px solid #3b3d46!important;border-radius:0!important;background:#17181d!important;box-shadow:none!important;z-index:auto!important}
 body.ac-wedding-layout #selectArea,body.ac-wedding-layout #selectArea2{display:flex!important;position:relative!important;grid-column:2!important;grid-row:1!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;float:none!important;flex-direction:column!important;width:100%!important;max-width:100%!important;height:100%!important;min-height:0!important;min-width:0!important;margin:0!important;padding:0 26px 34px!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-gutter:stable!important;overscroll-behavior:contain!important;background:#25262c!important;color:#f2f2f5!important;border:0!important;border-radius:0!important;z-index:auto!important}
 body.ac-wedding-layout #mixBlock,body.ac-wedding-layout #mixBlock_zoom{transform:scale(var(--ac-w-preview-scale,1.15))!important;transform-origin:top center!important;margin:0 auto!important}
 body.ac-wedding-layout .ac-person-tabs{margin:calc(24px + (var(--ac-w-preview-scale,1.15) - 1)*400px) auto 0!important}
 body.ac-wedding-layout .ac-editor-topbar{height:64px!important;min-height:64px!important;max-height:64px!important}
}
@media (min-width:781px) and (max-width:1100px){
 body.ac-wedding-layout #contents>#leftArea,body.ac-wedding-layout #contents>#leftArea2{grid-template-columns:minmax(0,43fr) minmax(0,57fr)!important}
}
/* Mobile retains the full-screen editor/dock and scrolls to the optional guide below it. */
@media(max-width:780px){
 html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
 body.ac-wedding-layout #container{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;max-height:none!important;min-height:100dvh!important;overflow:visible!important;background:#17181d!important}
 body.ac-wedding-layout #contents{position:relative!important;inset:auto!important;display:block!important;height:calc(100dvh - var(--ac-m-dock))!important;min-height:0!important;max-height:none!important;width:100%!important;overflow:hidden!important;margin:0!important;padding:0!important}
 body.ac-wedding-layout .ac-editor-topbar{top:0!important;left:0!important;right:0!important;height:54px!important;min-height:54px!important;max-height:54px!important;padding:0 12px!important;overflow:hidden!important}
 body.ac-wedding-layout .ac-gender-gate{inset:54px 0 0!important;padding:15px!important}
 body.ac-wedding-layout .ac-gender-gate-inner{padding:27px 16px}
 body.ac-wedding-layout .ac-gender-gate h2{font-size:20px}
 body.ac-wedding-layout #mixArea{padding-top:64px!important}
 body.ac-wedding-layout .ac-bottom-dock{position:absolute!important;top:calc(100dvh - var(--ac-m-dock))!important;bottom:auto!important;left:0!important;right:0!important}
 body.ac-wedding-layout .ac-bottom-content{margin:var(--ac-m-dock) auto 0!important;padding:22px 16px 40px!important}
 body.ac-wedding-layout.ac-page-fashion #selectArea2 ul.ac-outfit-removers{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important;gap:8px!important;padding:9px 10px 12px!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
 body.ac-wedding-layout.ac-page-fashion #selectArea2 ul.ac-outfit-removers::-webkit-scrollbar{display:none}
 body.ac-wedding-layout.ac-page-fashion #selectArea2 ul.ac-outfit-removers li{flex:0 0 44px!important;min-width:44px!important;max-width:44px!important}
}
/* Save screen: three equal-width output buttons and a centered content shell. */
body.ac-save-body .ac-save-layout{max-width:1280px!important;margin:0 auto!important}
body.ac-save-body .ac-design-choices{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
body.ac-save-body .ac-design-choice{min-width:0;min-height:106px;font-size:12px!important;padding:10px 3px!important;gap:5px!important}
body.ac-save-body .ac-design-choice.is-active{padding:9px 2px!important}
body.ac-save-body .ac-format-icon{font-size:28px!important}
body.ac-save-body #ac-nickname-area[hidden]{display:none!important}
@media(max-width:780px){body.ac-save-body .ac-bottom-content{padding:22px 16px 35px!important}body.ac-save-body .ac-design-choice{font-size:11px!important;min-height:95px!important}}

/* Charatore 2026-11-06 follow-up: vivid girl's selection, aligned wallpaper and responsive scale. */
body.ac-wedding-layout{--ac-current:#f23389;--ac-current-dark:#ef3b89;--ac-current-light:#fff0f7;--ac-current-border:#ff9fc8}
body.ac-wedding-layout.ac-sex-girl{--ac-current:#f23389;--ac-current-dark:#ef3b89;--ac-current-light:#fff0f7;--ac-current-border:#ff9fc8}
body.ac-wedding-layout .ac-gender-choice-girl{background:#f2358a!important;border-color:#ff9fc8!important}
body.ac-wedding-layout.ac-sex-girl .ac-person-tabs button[aria-pressed="true"]{background:#ef3b89!important;border-color:#ff9fc8!important}
body.ac-wedding-layout.ac-sex-girl #menuSelectBlock ul.subMenu>li.now,
body.ac-wedding-layout.ac-sex-girl .ac-main-navigation>li.btn_on{background:#c62c71!important;border-color:#ff9fc8!important}
@media(min-width:781px){
  /* No padded band above the wallpaper; desktop fashion has a fuller-body preview. */
  body.ac-wedding-layout #mixArea{padding-top:8px!important}
  body.ac-wedding-layout.ac-page-fashion #mixBlock,
  body.ac-wedding-layout.ac-page-fashion #mixBlock_zoom{transform:scale(var(--ac-w-preview-scale,1.05))!important}
}
@media(max-width:780px){
  /* Editing is viewport-only. The footer ad/SEO information is exclusive to snapshot.php on mobile. */
  body.ac-wedding-layout{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}
  body.ac-wedding-layout #container{height:100dvh!important;max-height:100dvh!important;overflow:hidden!important}
  body.ac-wedding-layout .ac-bottom-content{display:none!important}
  body.ac-wedding-layout #mixArea{padding-top:54px!important}
  body.ac-wedding-layout.ac-panel-open #mixArea{padding-top:54px!important}
  /* Panel open: fashion shows head, torso and more of the selected clothing. */
  body.ac-wedding-layout.ac-panel-open.ac-page-fashion #mixBlock,
  body.ac-wedding-layout.ac-panel-open.ac-page-fashion #mixBlock_zoom{
    transform:scale(var(--ac-fashion-open-scale,.75))!important;
    transform-origin:top center!important;
    margin:0 auto calc((var(--ac-fashion-open-scale,.75) - 1)*400px)!important;
  }
  /* Expanded preview: enlarge as much as possible without clipping the avatar. */
  body.ac-wedding-layout.ac-panel-collapsed #mixBlock,
  body.ac-wedding-layout.ac-panel-collapsed #mixBlock_zoom{
    transform:scale(var(--ac-scale,1.05))!important;
    transform-origin:top center!important;
    margin:0 auto calc((var(--ac-scale,1.05) - 1)*400px)!important;
  }
}
