/* Public game worlds. The cover pairs a concrete turn with a labelled MAX concept. */
.world-hero,.world-section,.world-action{--world-space:clamp(24px,4vw,62px)}
.world-hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);align-items:center;gap:var(--world-space);padding-block:clamp(12px,2vw,30px)}
.world-hero-copy,.world-phone,.world-split>*{min-width:0}
.world-hero-copy h1{font-size:clamp(43px,5.5vw,80px);max-width:15ch;letter-spacing:-.056em;line-height:1.02;margin:13px 0 19px;text-wrap:balance}
.world-hero-copy .lead{font-size:clamp(18px,1.55vw,23px);line-height:1.48;max-width:44ch;color:#53424c}
.world-hero-copy .actions{margin-top:22px;gap:10px}
.world-tag,.world-index{font:650 .78rem/1.5 var(--mono,monospace);letter-spacing:.045em;color:var(--world-color,#72374d)}
.world-phone{position:relative;isolation:isolate;overflow:hidden;border-radius:26px;background:var(--world-tint,#efd8b7);padding:clamp(18px,2vw,32px) 12px 15px;display:grid;justify-items:center;align-items:end;gap:9px}
.world-phone::before,.world-phone::after{content:"";position:absolute;z-index:-1;width:115%;aspect-ratio:1;border:1px solid var(--world-ring,#b278614a);border-radius:50%;top:25%;left:-42%;pointer-events:none}
.world-phone::after{width:88%;top:-25%;left:54%}
.world-phone img{width:clamp(186px,18.2vw,265px);height:auto;filter:drop-shadow(8px 14px 10px #38272d22)}
.world-phone figcaption{font:600 .78rem/1.4 var(--body);color:#4b3a43;text-align:center}
.world-section,.world-action{margin-block:clamp(40px,6.5vw,92px)}
.world-section>h2,.world-action>h2,.world-split h2,.world-paths h2{margin:.25em 0 .5em;max-width:25ch;line-height:1.08}
.world-section>p:not(.world-tag),.world-action>p,.world-split p{max-width:62ch}
.world-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--world-space,clamp(24px,4vw,62px));align-items:start}
.world-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,216px),1fr));gap:clamp(12px,2vw,26px);margin-top:22px}
.world-card{padding:clamp(18px,2.3vw,32px);background:var(--world-tint,#f1e2d0);border-radius:14px}
.world-card h3{font-size:clamp(21px,2vw,28px);margin:10px 0}
.world-action{padding:var(--world-space);border-radius:20px;background:var(--world-tint,#f3dfc0)}
.world-paths{margin-block:clamp(36px,5.5vw,80px);padding-block:clamp(22px,3.5vw,48px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.world-paths p{margin-block:.6em}
.world-paths .actions{margin-top:16px}
.world-rail{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;font-weight:700;margin:8px 0 0;padding-block:8px;border-block:1px solid var(--line)}
.world-rail a{display:inline-flex;align-items:center;min-height:42px}
.world-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.world-scenes div{padding:20px;border-left:3px solid var(--world-color,#733853);background:#fffaef}
.world-scenes strong{display:block;margin:6px 0}
.world-kit{padding:clamp(20px,3vw,42px);background:#ead9c4;border-radius:18px}
.world-kit h2{font-size:clamp(26px,3.2vw,46px)}
.world-kit .actions{margin-top:16px}
.world-phone-copy{color:#554651;font-size:.93rem;max-width:54ch;margin:12px 0}
.world-flow{padding:0;list-style:none;counter-reset:steps;display:grid;gap:17px;margin:18px 0}
.world-flow li{position:relative;padding-left:43px;counter-increment:steps;max-width:58ch}
.world-flow li::before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:1px;font:600 .9rem var(--mono);color:var(--world-color,#743953)}
.world-flow strong{display:block;margin-bottom:3px}
#logic-board .logic-choices{display:grid;gap:9px;margin:16px 0;max-width:560px}
#logic-board .logic-choices button{justify-content:flex-start}
#logic-board .actions{margin:16px 0}
#logic-board h3,.long-stage h3{margin:12px 0}
.logic-reason{margin:18px 0;padding:16px;background:#fffaee;border-left:3px solid #776745}
.logic-reason h4{margin:0 0 6px;font-size:1.1rem}
.pair-shelves{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}
.pair-shelves button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.world-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.world-gallery figure{margin:0}.world-gallery img{width:100%;border-radius:6px}.world-gallery figcaption{font-size:.91rem;margin:6px 0}
@media(max-width:760px){
 .world-hero,.world-split{grid-template-columns:1fr;gap:18px}.world-hero-copy h1{font-size:clamp(37px,9.4vw,60px);margin:10px 0 14px}
 .world-phone{padding:17px 12px 12px}.world-phone img{width:clamp(164px,43vw,212px)}.world-scenes{grid-template-columns:1fr;gap:8px}
 .world-gallery{grid-template-columns:1fr 1fr}.world-hero-copy .actions{margin-top:14px}.world-section,.world-action{margin-block:38px}
}
.portal-pairs{--world-color:#773a56;--world-tint:#efcdbf;--world-ring:#a5657570}
.portal-photo{--world-color:#704048;--world-tint:#e9d4bb;--world-ring:#94756b70}
.photo-drawer{background:#fff7ea;padding:16px 20px;border-radius:10px;margin:16px 0}
.photo-drawer summary{cursor:pointer;font-weight:700;min-height:32px}
.photo-drawer label,.photo-drawer input,.photo-drawer select{display:block;margin:12px 0 6px;max-width:100%}
.photo-drawer label{font-weight:650}.photo-drawer select{padding:8px;border-radius:6px}
.local-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.local-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:8px}
.portal-photo .gr-photo-options img,.portal-photo .long-winner img{height:clamp(136px,20vw,250px);object-fit:contain;background:#f1ddc5}

/* A CTA beneath a completed content grid is a new group, not part of its last card. */
.world-cards + .actions {margin-block-start:clamp(18px,2vw,30px)}
.world-kit > .world-tag + h2 {margin-block:.32em .45em}
