/* Evolution is derived from the current game's move history, never a stat buff. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-switch select{font:inherit;font-size:11px;color:var(--ink);background:#fcfaf3;border:1px solid #c6cec3;border-radius:5px;padding:6px 7px;max-width:100px}
.growth-card{background:#f6f5e9;position:relative;overflow:hidden;border-color:#bbcabc}
.growth-card:after{content:'✧';position:absolute;right:15px;top:43px;font-size:39px;line-height:1;color:#b5a46744;pointer-events:none;transform:rotate(13deg)}
.growth-card .card-heading{margin-bottom:8px}.growth-card .mini-stamp{font-size:9px;background:#e9eddb;color:#6d7b56}
.growth-identity{display:flex;align-items:center;gap:10px;min-height:83px}.growth-avatar{width:76px;height:82px;flex:0 0 76px;color:var(--blue)}
.growth-avatar .pj-puppet{width:100%;height:100%;overflow:visible}.growth-identity>div:last-child{min-width:0}
.growth-level{display:inline-block;font-size:10px;line-height:1.6;padding:0 6px;color:#826927;background:#eadcaa88;border:1px solid #c9b57a66;border-radius:4px;margin:0 0 3px}
.growth-identity strong{display:block;font-size:12px;line-height:1.55;font-weight:600;overflow-wrap:anywhere}
.growth-identity #growth-piece-count{display:block;font-size:9px;line-height:1.5;color:#7a8376;margin-top:4px}
.growth-card progress{display:block;appearance:none;width:100%;height:7px;border:0;border-radius:6px;overflow:hidden;background:#e3e6d7;margin-top:9px}
.growth-card progress::-webkit-progress-bar{background:#e3e6d7;border-radius:6px}.growth-card progress::-webkit-progress-value{background:#77957d;border-radius:6px;transition:width .4s ease}.growth-card progress::-moz-progress-bar{background:#77957d;border-radius:6px}
.growth-next{font-size:10px;margin:7px 0 8px;color:#5b7361;line-height:1.5}
.growth-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px dashed #cbd3bc;padding-top:8px;font-size:10px}
.growth-summary .text-btn{font-size:11px;color:#405f68;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.growth-match-note{font-size:9px;line-height:1.5;color:#838a77;margin:7px 0 0}
.modal:has(.growth-exhibit){max-width:830px;width:min(830px,calc(100vw - 32px))}
.growth-level-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:20px 0 18px}
.growth-level-tabs button{padding:10px 5px;border:1px solid #ccd3c1;background:#faf8ef;border-radius:9px 5px 8px 6px;min-width:0;transition:background .15s,transform .15s}
.growth-level-tabs button.is-active{background:#e5ecdb;border:1.5px solid #69816b;box-shadow:1px 2px 0 #6b7e5d22;transform:translateY(-2px)}
.growth-level-tabs button span{display:block;font-size:10px;color:#8b753d;margin-bottom:4px}
.growth-level-tabs button strong{display:block;font-size:11px;font-weight:600;line-height:1.45;overflow-wrap:anywhere}
.growth-level-tabs button small{display:block;font-size:9px;color:#808678;margin-top:5px}
.growth-exhibit{background:#f7f3e7;border:1px dashed #becbb5;border-radius:13px 8px 12px 5px;padding:22px 16px 17px;text-align:center;overflow:hidden}
.growth-exhibit-heading h3{font-family:var(--hand);font-size:30px;line-height:1.3;font-weight:400;margin:5px 0}.growth-exhibit-heading p{font-size:11px!important;color:#727e6c;margin:5px 0 15px!important}
.growth-lineup{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:5px;padding:12px 0}
.growth-lineup-piece{min-width:0}.growth-lineup-piece>span{display:block;aspect-ratio:1/1.16;color:var(--blue)}
.growth-lineup-piece .pj-puppet{width:100%;height:100%;overflow:visible}.growth-lineup-piece small{display:block;font-size:10px;color:#74816c;overflow-wrap:anywhere;margin-top:5px}
.growth-preview-note{font-size:10px!important;color:#808477!important;margin:12px 0 18px!important}
.growth-exhibit .primary-btn{display:inline-flex;font-size:12px;padding:11px 19px;max-width:100%;justify-content:center;align-items:center;gap:16px}
.growth-rules{margin:18px 0 0}.growth-rules p{font-size:11px!important;line-height:1.8;color:#687765}.growth-rules .fine{font-size:10px!important}
.showcase-options{grid-template-columns:repeat(4,minmax(0,1fr))}
.evolution-notice{display:flex;align-items:center;gap:11px;background:#f7f0d9d9;border:1px solid #d2bd7c;border-radius:7px 12px 6px 10px;margin:12px 7px 2px;padding:8px 13px;min-height:70px;box-shadow:1px 3px 0 #ac995216}
.evolution-notice-art{display:block;flex:0 0 62px;height:62px;color:var(--blue)}.evolution-notice-art .pj-puppet{width:100%;height:100%;overflow:visible}
.evolution-notice strong{display:block;font-family:var(--hand);font-size:25px;line-height:1.3;font-weight:400;color:#6e6235}
.evolution-notice small{display:block;color:#887742;font-size:11px;margin-top:3px}.evolution-stars{font-size:25px;color:#ba9541;margin-left:auto}
.evolution-notice.is-new{animation:pj-evolve-notice .65s cubic-bezier(.2,.8,.3,1.3) both}
.square.evolution-burst{z-index:5}.square.evolution-burst:before{content:'';position:absolute;inset:-18%;border:2px solid #d0a13a;border-radius:50%;box-shadow:0 0 0 5px #f0d99044,0 0 23px #d6ac4e66;animation:pj-evolve-ring .95s ease-out both;pointer-events:none}
.square.evolution-burst:after{content:'✦';position:absolute;right:-8%;top:-25%;font-size:27px;color:#bd8b25;animation:pj-evolve-star 1.4s ease-out both;pointer-events:none}
.piece-level-tag{position:absolute;right:6%;bottom:3%;z-index:6;font:600 clamp(6px,.65vw,9px)/1.3 var(--sans);border:1px solid #baa76f;background:#fff3ca;color:#796024;padding:0 3px;border-radius:4px;pointer-events:none}
html[lang=en] h1{font-family:var(--sans);font-size:34px;line-height:1.35;letter-spacing:-1px}html[lang=en] h1 span{white-space:normal}
html[lang=en] .brand strong{font-family:var(--sans);font-size:24px;font-weight:600;letter-spacing:-1px}
html[lang=en] .card-heading h2{font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.4}
html[lang=en] .growth-exhibit-heading h3{font-family:var(--sans);font-size:24px}
html[lang=en] .evolution-notice strong{font-family:var(--sans);font-size:17px;line-height:1.5}
html[lang=en] .growth-level-tabs button strong{font-size:10px}html[lang=en] .setting-row{font-size:10px}html[lang=en] .growth-card .mini-stamp{font-size:8px}
@keyframes pj-evolve-notice{from{opacity:.2;transform:translateY(9px) scale(.95)}70%{transform:translateY(-2px) scale(1.015)}to{opacity:1;transform:none}}
@keyframes pj-evolve-ring{from{opacity:0;transform:scale(.5)}20%{opacity:1}to{opacity:0;transform:scale(1.4)}}
@keyframes pj-evolve-star{from{opacity:0;transform:translateY(8px) rotate(-30deg) scale(.3)}30%{opacity:1;transform:translateY(-6px) rotate(5deg) scale(1.2)}to{opacity:0;transform:translateY(-20px) rotate(25deg) scale(.7)}}
@media(max-width:760px){
  .site-header nav{gap:13px}.language-switch select{font-size:10px;max-width:82px;padding:6px 4px}
  .growth-card{padding:17px 18px}.growth-identity{min-height:76px}.growth-avatar{width:70px;height:76px;flex-basis:70px}
  .growth-identity strong{font-size:12px}.growth-identity #growth-piece-count{font-size:10px}.growth-next{font-size:11px}.growth-match-note{font-size:10px}
  .growth-level-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.growth-level-tabs button{padding:10px 4px}.growth-level-tabs button strong{font-size:12px}
  .growth-lineup{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 5px}.growth-lineup-piece>span{max-width:95px;margin:auto}
  .growth-exhibit{padding:18px 10px}.growth-exhibit-heading h3{font-size:28px}.growth-exhibit .primary-btn{font-size:11px;gap:10px;padding:10px 13px}
  .showcase-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.showcase-options select{font-size:11px;padding:7px 5px}
  .evolution-notice{margin:9px 0 0;padding:7px 10px;gap:10px}.evolution-notice-art{height:53px;flex-basis:53px}.evolution-notice strong{font-size:23px}
  html[lang=en] h1{font-size:27px}html[lang=en] .brand strong{font-size:20px}html[lang=en] .brand small{font-size:7px;letter-spacing:2px}
  html[lang=en] .board-toolbar button{font-size:9px}html[lang=en] .evolution-notice strong{font-size:15px}
}
@media(max-width:430px){.site-header{flex-wrap:wrap;padding:19px 0 13px;gap:15px;min-height:0}.site-header nav{width:100%;justify-content:space-between;gap:10px}.language-switch{order:3}.sound-control{order:4}.page-intro{padding-top:26px}.growth-level-tabs button strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.evolution-notice.is-new,.square.evolution-burst:before,.square.evolution-burst:after{animation:none!important}.growth-card progress::-webkit-progress-value,.growth-level-tabs button{transition:none}}
.motion-off .evolution-notice,.motion-off .square.evolution-burst:before,.motion-off .square.evolution-burst:after{animation:none!important}

.sound-settings{display:grid;grid-template-columns:1fr auto;gap:7px 10px;align-items:center;border-top:1px dashed #d0d5c7;margin:13px 0 5px;padding-top:11px}.sound-settings>div{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7a8574}.sound-settings output{font-size:9px}.sound-settings input{width:100%;height:18px;margin:0;accent-color:#527b71}.sound-settings .text-btn{font-size:10px;white-space:nowrap;color:#506f70;text-decoration:underline;text-underline-offset:3px}
