/* Homepage layout: let grid/flex children shrink to the available device width. */
.home-page .hero{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-page .hero-copy,.home-page .hero-side{min-width:0;width:100%;max-width:100%}
.home-page .hero-copy>.buttons{min-width:0;max-width:100%;flex-wrap:wrap;gap:9px}
.home-page .hero-copy>.buttons>.button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;align-items:center;justify-content:center;gap:8px}
.home-page .top-actions .social-line,.home-page .top-actions .social-line span{color:#fff}
.home-page .community-box{width:100%;min-width:0;max-width:100%;margin-top:16px;padding:15px;border:1px solid #d7cbe7;border-radius:16px;background:linear-gradient(145deg,#fff,#fcfaff);box-shadow:0 5px 18px #5737830b}
.home-page .community-header{gap:8px;align-items:center;min-width:0}
.home-page .community-header h2{font-size:18px;line-height:1.45;flex-shrink:0}
.home-page .community-header .community-work-link{padding:6px 12px;font-size:11px;margin-left:auto}
.home-page .community-online-count{font-size:10px;padding:3px 7px}
.home-page .community-caption{font-size:11px;line-height:1.55;margin:4px 0 9px;overflow-wrap:anywhere}
.home-page .community-feed{min-width:0;min-height:0;max-height:270px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
.home-page .community-comment{gap:8px;padding:9px 0}
.home-page .community-avatar,.home-page .community-avatar img{width:30px;height:30px}
.home-page .community-avatar .presence-dot{width:9px;height:9px}
.home-page .comment-heading{gap:4px;min-width:0}
.home-page .comment-heading strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.home-page .comment-content p{font-size:12px;line-height:1.65;margin:4px 0 0}
.home-page .community-empty{font-size:12px;line-height:1.65;margin:8px 0 10px}
.home-page .community-form{margin-top:10px;min-width:0}
.home-page .community-form textarea{display:block;width:100%;min-width:0;min-height:56px;max-height:140px;padding:9px 11px;font-size:14px;line-height:1.55;border-radius:11px;background:#fff;border-color:#d7cae8}
.home-page .community-compose-tools{gap:7px;margin-top:7px;flex-wrap:wrap}
.home-page .community-compose-tools>button[type=submit]{min-height:44px;padding:8px 16px;border-radius:11px;font-size:12px}
.home-page .community-compose-tools>.community-emoji-toggle,.home-page .community-compose-tools>.community-sound-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:11px;font-size:21px;flex-shrink:0}
.home-page .community-emoji-palette{max-width:100%;padding:7px;gap:4px;grid-template-columns:repeat(8,minmax(0,1fr))}
.home-page .community-form .community-emoji-palette button{min-width:0;padding:5px 0;font-size:22px}
.home-page #community-status:empty{display:none}
.home-page #community-status{font-size:11px;margin-top:7px;line-height:1.5}
@media(max-width:760px){
 .home-page .hero{display:flex;flex-direction:column;align-items:stretch;gap:24px;min-height:0;padding:24px 4% 30px;overflow:visible}
 .home-page .hero-copy{align-self:stretch;flex:0 1 auto}
 .home-page .hero-copy>.buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;margin-top:14px}
 .home-page .hero-copy>.buttons>.button{display:flex;width:100%;min-height:58px;height:100%;padding:9px 7px;border-radius:13px;font-size:12px;line-height:1.55;text-align:center;gap:5px}
 .home-page .hero-copy>.buttons>.button>span{flex-shrink:0;margin:0}
 .home-page .hero-copy>.buttons>.button[hidden]{display:none}
 .home-page .hero-copy>.intro{font-size:13px;line-height:1.75}
 .home-page .community-box{padding:13px;margin-top:14px;border-radius:14px}
 .home-page .community-header h2{font-size:17px}
 .home-page .community-header .community-work-link{font-size:10px;padding:6px 10px}
 .home-page .community-feed{max-height:250px;min-height:0}
 .home-page .community-form textarea{min-height:56px;font-size:16px}
 .home-page .community-emoji-palette{grid-template-columns:repeat(7,minmax(0,1fr))}
}
@media(max-width:360px){.home-page .hero-copy>.buttons{gap:5px}.home-page .hero-copy>.buttons>.button{font-size:11px;padding:8px 5px;gap:3px}.home-page .community-header{gap:6px}.home-page .community-header h2{font-size:16px}}
.home-page .online-strip{margin-top:13px;padding-top:7px;max-width:100%;min-width:0}
.home-page .online-strip-heading{padding-bottom:9px;flex-wrap:wrap;gap:3px 8px}
.home-page .online-strip-heading strong{font-size:10px}.home-page .online-strip-heading small{font-size:8px}
.home-page .online-avatar-line{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;overflow-x:visible;min-width:0}
.home-page .online-person{width:100%;min-width:0;gap:3px;flex-basis:auto}
.home-page .online-person-circle{width:40px;height:40px;padding:2.4px}
.home-page .online-person-circle img{width:35.2px;height:35.2px}
.home-page .online-person>span{font-size:8px;line-height:1.5}.home-page .online-person>small{font-size:9px}
.home-page .online-person-circle i{width:9px;height:9px;border-width:1.5px}
.home-page .online-hidden-badge{font-size:9px;width:15px;height:15px;line-height:15px}
.home-page .online-strip::after{width:100%;max-width:100%;top:var(--home-online-line-top,45px)}
.home-page .online-empty{grid-column:1/-1}
.home-page .hero-copy>.buttons>[data-home-graphic]{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;border-radius:15px;padding:10px 13px;font-weight:700;box-shadow:0 3px 10px #3528480b;border:1px solid transparent}
.home-page .hero-copy>.buttons>[data-home-graphic=wallpaper]{background:linear-gradient(130deg,#edeaff,#f9f7ff);border-color:#cdc5ee;color:#51408d}
.home-page .hero-copy>.buttons>[data-home-graphic=clips]{background:linear-gradient(130deg,#ffe6f1,#fff6fa);border-color:#ecc0d6;color:#a63e72}
.home-page .hero-copy>.buttons>[data-home-graphic=points]{background:linear-gradient(130deg,#fff0c3,#fffaf0);border-color:#e7cf88;color:#987018}
.home-action-art{display:grid;place-items:center;width:35px;height:35px;flex-shrink:0}.home-action-art svg{width:100%;height:100%}.home-action-label{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.55}
@media(max-width:760px){.home-page .hero-copy>.buttons>[data-home-graphic]{flex-direction:column;gap:5px;min-height:92px;padding:10px 6px}.home-action-art{width:31px;height:31px}.home-action-label{font-size:11px;line-height:1.5}.home-page .hero-copy>.buttons>[data-home-graphic]>.home-action-label{flex-shrink:1}}
.home-page .esan-world-entry{min-width:0;width:100%;max-width:100%;gap:10px}
.home-page .esan-world-entry>.esan-world-character{width:72px;height:76px;border:0;background:transparent;border-radius:12px;overflow:visible;flex:0 0 72px}
.home-page .esan-world-character img{display:block;width:72px;max-width:none;height:72px;object-fit:contain;transform-origin:50% 90%;animation:home-world-wiggle 3s ease-in-out infinite}
.home-page .esan-world-entry>span:nth-child(2){min-width:0;flex:1}.home-page .esan-world-entry em{white-space:normal;overflow-wrap:anywhere}
.home-page .esan-world-entry>i{flex-shrink:0}
@keyframes home-world-wiggle{0%,100%{transform:translateY(1px) rotate(-4deg)}25%{transform:translateY(-3px) rotate(4deg)}50%{transform:translateY(0) rotate(-2deg)}75%{transform:translateY(-2px) rotate(3deg)}}
@media(max-width:600px){.home-page .esan-world-entry{padding:10px 12px}.home-page .esan-world-entry>.esan-world-character{width:61px;height:67px;flex-basis:61px}.home-page .esan-world-character img{width:61px;height:61px}.home-page .esan-world-entry strong{font-size:23px}.home-page .esan-world-entry small{font-size:7px;letter-spacing:1.3px}.home-page .esan-world-entry em{font-size:9px}}
@media(prefers-reduced-motion:reduce){.home-page .esan-world-character img{animation:none;transform:none}}

/* Compact fan-community controls, shared dimensions in one row. */
.home-page .community-compose-tools{gap:4px;align-items:center}
.home-page .community-compose-tools>button[type=submit],
.home-page .community-compose-tools>.community-emoji-toggle,
.home-page .community-compose-tools>.community-sound-toggle,
.home-page .community-compose-tools>.community-photo-clear{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:0 0 60px;width:60px;min-width:60px;height:18px;min-height:18px;padding:0 3px;margin:0;border-radius:6px;font-size:9px;line-height:1;white-space:nowrap}
.home-page .community-compose-tools>button[type=submit]{order:1}
.home-page .community-compose-tools>.community-emoji-toggle{order:2;font-size:11px}
.home-page .community-compose-tools>.community-sound-toggle{order:3;font-size:11px}
.home-page .community-compose-tools>.community-photo-clear{order:4;background:#f4edf9;color:#74518e;border:1px solid #d9cbe5}
.home-page .community-photo-upload input[type=file]{font-size:8px!important;line-height:1.5}
.home-page .community-photo-upload input[type=file]::file-selector-button{font:inherit;font-size:9px;padding:3px 7px;border:1px solid #d9cbe5;border-radius:6px;color:#74518e;background:#f4edf9;margin-right:5px}
.home-page .community-like,.home-page .community-reply-button,.home-page .community-pin{font-size:7px;line-height:1.3;padding:2.1px 4.9px}

.home-page .community-avatar{box-sizing:border-box;border:2px solid #a5abb3;border-radius:50%;background:#fff;padding:1px;overflow:visible;flex-shrink:0;box-shadow:0 0 0 1px #d7dbe14d}
.home-page .community-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.home-page .community-avatar.is-online{border-color:#19c76a;box-shadow:0 0 0 1px #3ade8a40,0 0 8px #19c76a85}
.home-page .community-avatar.is-offline{border-color:#a5abb3;box-shadow:0 0 0 1px #d7dbe14d}
.home-page .community-avatar .presence-dot{display:none}

.home-page .community-compose-tools>.community-file-control{order:2;flex:0 1 116px;width:116px;min-width:0;max-width:116px;font-size:8px!important;line-height:1.5;margin:0}
.home-page .community-file-control::file-selector-button{font:inherit;font-size:9px;padding:2px 5px;border:1px solid #d9cbe5;border-radius:6px;color:#74518e;background:#f4edf9;margin-right:4px}
.home-page .community-compose-tools>.community-emoji-toggle{order:3}.home-page .community-compose-tools>.community-sound-toggle{order:4}.home-page .community-compose-tools>.community-photo-clear{order:5}
.home-page .community-photo-upload:empty{display:none}
.home-page .community-form .community-compose-tools>input[type=file].community-file-control{font-size:8px!important;height:22px;min-height:0;padding:0;border:0;background:transparent}

.home-page .world-wave-sprite{display:block;width:72px;height:72px;background:url('assets/world-button-wave.png?v=20261026-1') 0 0/1200% 100% no-repeat;animation:world-hand-wave 1s steps(11) infinite alternate;flex-shrink:0}
@keyframes world-hand-wave{from{background-position:0 0}to{background-position:100% 0}}
@media(max-width:600px){.home-page .world-wave-sprite{width:61px;height:61px}}
@media(prefers-reduced-motion:reduce){.home-page .world-wave-sprite{animation:none;background-position:50% 0}}

.home-page .community-admin-delete{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:16px;height:16px;min-width:16px;min-height:16px;padding:0;margin:0 0 0 2px;border:1px solid #f1bec7;border-radius:5px;color:#c52c48;background:#ffe9ef;font-size:12px;line-height:1;cursor:pointer}
