.community-wall{display:none;border-top:1px solid #e7e6df;padding:64px max(24px,5vw) 72px;background:#fafaf8}
main:has(.stage.explored) .community-wall{display:block}
.wall-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}
.wall-heading h2{font:600 clamp(30px,4vw,54px)/1.05 'Manrope',sans-serif;letter-spacing:-.045em;margin:14px 0}
.wall-heading h2 em{color:#f98c00;font-style:normal}.wall-heading p{color:#73746d;margin:0;line-height:1.5}
.wall-action{background:#ff9200;border:0;border-radius:3px;color:#151611;padding:14px 22px;min-height:48px;font:600 15px 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}
.wall-grid{columns:4;column-gap:18px}
.wall-card{position:relative;display:block;break-inside:avoid;width:100%;padding:0;margin:0 0 18px;border:0;border-radius:7px;background:#efeee8;overflow:hidden;cursor:zoom-in;box-shadow:0 1px 2px #1818100a;isolation:isolate}
.wall-card img{display:block;width:100%;height:auto;transition:transform .25s}.wall-card:hover img{transform:scale(1.025)}
.wall-card::after{content:'Open image';position:absolute;left:14px;bottom:14px;border-radius:40px;background:#fffef4eb;color:#26251e;padding:9px 14px;font:500 12px 'DM Sans',sans-serif;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;pointer-events:none}.wall-card:hover::after,.wall-card:focus-visible::after{opacity:1;transform:translateY(0)}
.wall-card:focus-visible,.wall-action:focus-visible{outline:3px solid #b26000;outline-offset:4px}
.wall-empty{padding:70px 20px;text-align:center;border:1px dashed #d9d8cc;border-radius:8px}.wall-empty h3{font-size:26px;margin:0 0 10px}.wall-empty p{color:#73746d;line-height:1.5}
.wall-bottom{text-align:center;margin-top:24px}.wall-status{color:#74746c;line-height:1.5}.wall-public-note{line-height:1.5!important}.studio-controls #download{font-size:15px;white-space:normal}.wall-admin{margin-top:30px;border-top:1px solid #ddd;padding-top:20px}.wall-admin form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.wall-admin input{min-width:180px;max-width:100%;padding:12px;border:1px solid #aaa}
#wall-viewer{max-width:960px;width:calc(100% - 32px);max-height:94dvh;padding:20px;border:0;border-radius:10px;background:#fafaf8;color:#161711;overflow:auto}
#wall-viewer::backdrop{background:rgba(15,15,12,.8)}.wall-view-heading,.wall-view-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.wall-view-heading h2{font-size:18px;margin:0}.wall-view-heading button{border:0;background:transparent;min-width:48px;min-height:48px;cursor:pointer;font:inherit}.wall-photo-area{background:#eae9e3;border-radius:5px;overflow:hidden;margin:12px 0 20px;display:flex;justify-content:center}#wall-photo{display:block;max-width:100%;max-height:65dvh;object-fit:contain}.wall-view-actions a{text-decoration:none}.wall-view-actions button{min-height:48px;color:#a42618;background:transparent;border:1px solid #cdbab5;padding:10px 16px;border-radius:3px;cursor:pointer}.wall-view-actions{flex-wrap:wrap}
.wall-action:hover{background:#ed8600}.wall-action:active{transform:translateY(1px)}.wall-bottom .wall-action{background:transparent;border:1px solid #d8d6cd;min-width:160px}.wall-bottom .wall-action:hover{background:#f0efe8}.wall-heading{border-bottom:1px solid #e4e3dc;padding-bottom:30px}.wall-heading .eyebrow{letter-spacing:.15em}.wall-status:empty{display:none}.wall-empty{background:linear-gradient(130deg,#fffefa,#f4f3ed);margin:8px 0}.wall-empty:before{content:'';display:block;width:48px;height:48px;background:url('assets/brand-icon.png') center/contain no-repeat;margin:0 auto 22px}.wall-empty .wall-action{margin-top:14px}
@media(min-width:1700px){.wall-grid{columns:5}}
@media(max-width:1000px) and (min-width:701px){.wall-grid{columns:3}}
@media(max-width:700px){.community-wall{padding:40px 20px}.wall-heading{align-items:start;flex-direction:column;gap:18px}.wall-grid{columns:2;column-gap:12px}.wall-card{margin-bottom:12px}.wall-heading h2{font-size:34px}#wall-viewer{padding:14px}.wall-view-heading h2{font-size:16px}}
@media(prefers-reduced-motion:reduce){.wall-card img,.wall-card::after{transition:none}}
