/* NGỒI CHUNG 1.0 Test – social & party surfaces */
.community-home{max-width:1170px;padding:40px 22px 78px;margin:auto;color:#f7f4ff}
.community-kicker{font-size:12px;font-weight:800;color:#bfff98;letter-spacing:.12em}
.community-top h2{font-size:clamp(25px,4.5vw,42px);letter-spacing:-.04em;margin:13px 0 4px}.community-top p{color:#aebbd6;font-size:14px}
.community-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.community-card{min-width:0;padding:24px;background:linear-gradient(140deg,#222840,#121a2a);border:1px solid #c1afff33;border-radius:24px;box-shadow:0 14px 30px #0004}
.community-card h3{margin:0;font-size:19px}.community-card p{color:#b3bfd5;line-height:1.5;font-size:12px}
.community-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin:12px 0}.community-form input,.community-form select{width:100%;min-width:0;min-height:45px;font-size:16px;border-radius:13px;background:#121a2c;color:white;padding:11px;border:1px solid #ffffff22}.community-form button{font-size:12px;min-height:45px}
.identity-summary{font-size:13px;border-radius:13px;padding:14px;background:#ffffff0a}.identity-summary p{margin:10px 0}.code-pill{background:#453d76;padding:9px 13px;border-radius:12px}.community-chips{display:flex;gap:8px;flex-wrap:wrap;font-size:12px}.friend-chip{border-radius:15px;background:#2f3551;padding:9px 11px}.event-feed-head{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.event-feed-head button{font-size:11px}.event-feed{display:grid;gap:8px;font-size:12px}.event-tile{padding:12px;background:#10192a;border:1px solid #ffffff20;border-radius:14px;display:flex;justify-content:space-between;gap:10px;align-items:center}.event-tile strong,.event-tile small{display:block}.event-tile small{color:#aebbd3;margin-top:6px}.event-actions{display:flex;gap:7px;flex-wrap:wrap}.event-actions button{border-radius:10px;padding:10px 12px;background:#6252b7;font-size:11px}
.party-board{padding:17px;border-radius:17px;min-height:170px;border:1px solid #ac8aff77;background:radial-gradient(circle at 100% 0,#7050cf42,transparent 55%),#191f36;line-height:1.6}.party-board p{color:#c1c9e4}.party-board h3{font-size:16px;line-height:1.4}.party-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.party-mode{font-size:13px;min-width:0;min-height:53px;border:1px solid #a99afa55;border-radius:14px;background:#262848;padding:8px}.party-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.party-heading span{color:#c0ffb7}.party-answers{display:grid;gap:8px;margin:12px 0}.party-answers button{background:#39365f;border:1px solid #c9bfff44;border-radius:12px;text-align:left;font-size:13px;padding:12px}.party-answers button:disabled{opacity:.5}.party-result{color:#baff89!important;font-weight:750}.party-history{color:#aeb4ca;font-size:11px;line-height:1.7}.world-settings,.stage-picker{display:grid;gap:9px}.world-settings select,.stage-picker select{min-height:46px;background:#22293c;border:1px solid #fff3;border-radius:13px;color:white;padding:12px;font-size:16px}.world-settings button,.stage-picker button{min-height:44px}.world-scene{position:relative;z-index:3;width:95%;max-width:660px;margin:30px auto 0;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:20px;background:radial-gradient(ellipse at top,#bb91ff35,transparent 75%),linear-gradient(#1d2339dd,#121729bb);border:1px solid #ffffff22;overflow:hidden}.world-scene:before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 30px,#ffffff06 31px 32px)}.world-scene>span{z-index:1;color:#d9daec;font-size:11px;font-weight:750;letter-spacing:.04em}.world-avatar-line{position:relative;z-index:1;display:flex;justify-content:center;flex-wrap:wrap;gap:7px;perspective:450px}.world-avatar{display:grid;place-items:center;width:32px;height:34px;border-radius:11px;background:#576e9460;box-shadow:0 4px 8px #0007;animation:world-idle 2.7s ease-in-out infinite alternate;transform:rotateY(-8deg)}.world-avatar:nth-child(even){animation-delay:-1.2s}.stage-banner{z-index:1;margin:2px 0 8px;padding:6px 10px;color:#fff5dd;background:#b6752f65;border-radius:12px;font-size:11px}
@keyframes world-idle{from{transform:translateY(0) rotateY(-10deg)}to{transform:translateY(-6px) rotateY(12deg)}}
#roomView[data-scene=rooftop] .theater{background:radial-gradient(ellipse at 70% 0,#e49d625d,transparent 70%),linear-gradient(160deg,#2e3052,#101725)}
#roomView[data-scene=galaxy] .theater{background:radial-gradient(ellipse at 55% 10%,#9874df66,transparent 50%),radial-gradient(ellipse at 10% 60%,#1a74914c,transparent 65%),#0b1022}
#roomView[data-scene=campfire] .theater{background:radial-gradient(ellipse at 50% 8%,#ee7c2866,transparent 60%),linear-gradient(160deg,#383124,#0e1821)}
#roomView[data-scene=karaoke] .theater{background:radial-gradient(ellipse at 50% 4%,#ff5ed049,transparent 50%),linear-gradient(160deg,#332044,#101827)}
@media(max-width:850px){.community-grid{grid-template-columns:1fr}.community-home{padding:30px 12px 44px}.community-card{padding:16px}.world-scene{margin-top:22px}.theater-seats{margin-top:18px}.toolbar button{min-width:39px!important;padding:6px 5px!important}.tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))}.tabs button{font-size:11px!important;padding:12px 1px!important}.event-tile{align-items:start;flex-direction:column}.event-actions{width:100%}}
@media(max-width:380px){.community-form{grid-template-columns:minmax(0,1fr)}.party-mode{font-size:11px;padding:7px 3px}.toolbar button{min-width:36px!important}.world-scene{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.world-avatar{animation:none}}

.moderation-reports{display:grid;gap:7px;font-size:12px}.moderation-reports p{padding:9px;border-radius:10px;background:#202941;margin:0;overflow-wrap:anywhere}

.world-scene{min-height:157px;margin-top:14px;padding:9px 7px;background:#1b2034;border-radius:18px}.world-canvas{width:100%;height:125px;display:block;touch-action:pan-y}.world-emotes{display:flex;gap:8px;justify-content:center}.world-emotes button{font-size:12px;padding:7px 13px;background:#3d385f;border:1px solid #fff2;border-radius:12px}.world-emotes button:active{transform:scale(.95)}@media(max-width:600px){.world-canvas{height:116px}.world-scene{margin-top:14px;min-height:151px}}

/* 1.0 Test completion: invite landing, scoreboard and friend controls */
.invite-event-banner{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px;margin:16px 0 8px;background:linear-gradient(125deg,#342f5c,#172e35);border:1px solid #a891f888;border-radius:20px;min-width:0;overflow-wrap:anywhere}
.invite-event-banner span{color:#c6ffb4;font-size:11px;font-weight:850;letter-spacing:.09em}
.invite-event-banner h3{margin:7px 0 3px;font-size:20px}.invite-event-banner p{font-size:12px;color:#c0c9de;margin:0}.invite-event-banner button{min-height:44px;flex-shrink:0}
.friend-chip{display:inline-flex;align-items:center;gap:6px}.friend-chip button{background:#653d69;border-radius:50%;width:26px;height:26px;font-size:17px;line-height:1}
.party-leaderboard{padding:13px;margin:10px 0;border:1px solid #d2b4fc55;border-radius:13px;background:#0d172a99}.party-leaderboard>div{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:13px;margin:8px 0}.party-leaderboard b{color:#baff89;white-space:nowrap}
.event-invited{outline:2px solid #baff89;outline-offset:1px}
@media(max-width:600px){.invite-event-banner{flex-direction:column;align-items:stretch}.invite-event-banner button{width:100%}.party-leaderboard{padding:10px}.community-home{max-width:100%;overflow-x:clip}}

/* ---- v0.5 Party ---- */
.party-setup{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.party-setup label{display:flex;align-items:center;gap:6px;font-size:12px;color:#c3cbe0}
.party-setup select{padding:7px 9px;border-radius:10px;background:#1c2238;border:1px solid #ffffff22;color:#eef}
.party-custom{margin:6px 0 12px;border:1px dashed #b49cff55;border-radius:14px;padding:8px 12px;background:#151a2e}
.party-custom summary{cursor:pointer;font-weight:800;font-size:13px;color:#d9ccff;padding:4px 0}
.party-custom-form{display:grid;gap:8px;margin-top:8px}
.party-custom-form input,.party-custom-form select{padding:9px 10px;border-radius:10px;background:#1c2238;border:1px solid #ffffff22;color:#fff;min-width:0}
.custom-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.custom-buttons{display:flex;gap:8px}.custom-buttons button{flex:1;padding:10px;border-radius:12px;font-weight:800}
.party-category{display:inline-block;margin:2px 0 4px;padding:3px 9px;border-radius:999px;background:#2a2f52;color:#cfc4ff;font-size:11px;font-weight:700}
.party-answers button.correct{background:#1f5c43!important;border-color:#6ff2b6!important;color:#eafff4!important}
.party-heading .hurry{color:#ffb4a3;font-weight:900;animation:pf-blink 1s steps(2) infinite}
.party-leaderboard .me{background:#ffffff10;border-radius:8px;padding:2px 6px}
@keyframes pf-blink{50%{opacity:.45}}
/* Floating game card: visible from any tab so nobody misses a round */
.party-float{position:fixed;z-index:45;left:10px;right:10px;bottom:calc(92px + env(safe-area-inset-bottom));max-width:520px;margin:auto;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 10px;padding:10px 12px;border-radius:16px;background:linear-gradient(130deg,#3b2a7c,#1d2b55);border:1px solid #c7b6ff66;box-shadow:0 10px 32px #000a;color:#fff}
.party-float.hidden{display:none}
.party-float .pf-mode{grid-column:1/-1;font-size:11px;font-weight:800;color:#d8ccff;letter-spacing:.03em}
.party-float b{font-size:14px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.party-float .pf-meta{grid-column:1;font-size:11.5px;color:#c9d2ea}
.party-float button{grid-column:2;grid-row:2/4;padding:9px 12px;border-radius:12px;background:#a58bff;color:#14102a;font-weight:900;white-space:nowrap}
.party-float.pf-ended{background:linear-gradient(130deg,#1f5a45,#1d2b55);border-color:#7cf0bf66}
.party-float.pf-pulse{animation:pf-pop .6s ease-out 2}
@keyframes pf-pop{0%{transform:scale(.94)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
@media(min-width:851px){.party-float{bottom:24px;right:24px;left:auto;width:380px}}
.party-confetti{position:absolute;top:-30px;pointer-events:none;animation:pf-fall 2.6s ease-in forwards;z-index:6}
@keyframes pf-fall{to{top:105%;transform:rotate(340deg);opacity:.15}}
@media(prefers-reduced-motion:reduce){.party-confetti,.party-float.pf-pulse,.party-heading .hurry{animation:none}}

/* ---- v0.6 Social ---- */
.account-box{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.google-btn{display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border-radius:12px;background:#fff;color:#1f1f1f;font-weight:800;font-size:14px;border:1px solid #dadce0}
.google-btn .g-logo{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:conic-gradient(#ea4335 0 25%,#fbbc05 0 50%,#34a853 0 75%,#4285f4 0);color:#fff;font-size:12px;font-weight:900}
.account-on{font-size:13px;color:#b9f5d0;font-weight:700;overflow-wrap:anywhere}
.fav-rooms{display:grid;gap:8px;margin-top:8px}
.fav-room{display:flex;align-items:stretch;gap:6px}
.fav-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border-radius:12px;background:#1b2238;border:1px solid #ffffff1a;color:#fff}
.fav-open span:first-child{font-size:20px}
.fav-open b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fav-open small{color:#93a1bd;font-size:11px}
.fav-open>span:last-child{min-width:0}
.fav-pin,.fav-x{width:40px;border-radius:12px;background:#1b2238;border:1px solid #ffffff1a;color:#cfd6e6;font-size:17px}
.fav-pin.on{color:#ffd166;border-color:#ffd16666}
/* Event form: title and time get full width on phones */
@media(max-width:600px){#eventForm{grid-template-columns:auto minmax(0,1fr)!important}#eventForm #eventTitle,#eventForm #eventTime{grid-column:1/-1}}

.site-footer{text-align:center;padding:18px 12px 34px;color:#8792ab;font-size:12.5px}.site-footer a{color:#b6a7ff}body.in-room .site-footer{display:none}
