*{box-sizing:border-box}:root{color-scheme:dark;--bg:#080b14;--panel:#0d1320;--line:#20293b;--text:#f5f7fc;--muted:#8d97aa;--violet:#917cff;--cyan:#64e7ff;--green:#62f1b3}html,body{margin:0;width:100%;height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;overflow:hidden}button,input{font:inherit}[hidden]{display:none!important}button{cursor:pointer}.club-screen{height:100svh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% -10%,rgba(145,124,255,.17),transparent 32%),var(--bg)}.topbar{height:64px;flex:0 0 64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(8,11,20,.92);backdrop-filter:blur(14px)}.brand{color:white;text-decoration:none;font-weight:900;letter-spacing:-.04em}.brand span{color:var(--violet)}.room-title{display:flex;gap:9px;align-items:center}.orb{width:34px;height:34px;border:1px solid #8f7cff55;background:#8f7cff18;border-radius:11px;display:grid;place-items:center;color:#b6aaff}.room-title b{font-size:13px;display:block}.room-title small{font-size:8px;color:var(--muted);letter-spacing:.14em}.room-title i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:4px}.member-pill{justify-self:end;display:flex;gap:7px;align-items:center;border:1px solid var(--line);background:#0b101b;border-radius:99px;padding:5px 6px 5px 10px}.member-pill b{font-size:11px}.member-pill button{border:0;background:#20283a;color:#aeb7c7;border-radius:50%;width:24px;height:24px}.club-app{flex:1;min-height:0;padding:14px;display:flex}.room-shell{width:min(900px,100%);height:100%;margin:auto;border:1px solid var(--line);border-radius:18px;background:rgba(13,19,32,.78);overflow:hidden;display:flex;flex-direction:column;position:relative}.mission{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-bottom:1px solid #ffffff0c;background:linear-gradient(90deg,#8f7cff10,#64e7ff08)}.mission small{display:block;color:#8e98ab;font-size:8px;letter-spacing:.15em;margin-bottom:3px}.mission b{font-size:12px}.mission button{white-space:nowrap;border:1px solid #8f7cff55;background:#8f7cff17;color:#c2b8ff;border-radius:10px;padding:8px 11px;font-weight:800;font-size:11px}.historybar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:7px 10px;border-bottom:1px solid #ffffff0c;font-size:10px}.historybar button{border:0;background:transparent;color:#a99cff;font-weight:750;padding:5px}.historybar #todayBtn{justify-self:end}.historybar b{color:#8f98aa}.room-messages{flex:1;min-height:0;overflow:auto;padding:16px 18px 12px;scroll-behavior:smooth}.room-message{max-width:72%;margin:0 0 11px;position:relative}.room-message.mine{margin-left:auto}.who{font-size:10px;color:#9ca6b9;margin:0 5px 4px}.body{display:inline-block;background:#151c2a;border:1px solid #222c40;border-radius:7px 17px 17px 17px;padding:9px 11px;font-size:14px;line-height:1.38;white-space:pre-wrap;word-break:break-word}.mine .body{background:#5f50bf;border-color:#7567d5;border-radius:17px 7px 17px 17px}.room-message time{font-size:8px;color:#657086;margin:0 5px}.message-tools{display:inline-flex;margin-left:5px;opacity:0;transition:.15s}.room-message:hover .message-tools,.room-message:focus-within .message-tools{opacity:1}.message-tools button{border:0;background:transparent;color:#778297;font-size:10px;padding:3px}.spark-message{max-width:90%;margin:14px auto}.spark-message .body{display:block;border-color:#8f7cff44;background:linear-gradient(135deg,#8f7cff18,#64e7ff0b);border-radius:15px;color:#dcd8ff}.spark-message .who{color:#aa9fff}.empty-room{text-align:center;color:#768196;padding:70px 20px}.empty-room b{display:block;color:#aab3c4;font-size:14px}.empty-room span{font-size:11px}.new-pill{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);background:#f4f5fa;color:#111522;border-radius:99px;padding:6px 10px;font-size:10px;font-weight:800;box-shadow:0 8px 30px #0008}.room-actions{border-top:1px solid var(--line);padding:9px 12px max(9px,env(safe-area-inset-bottom));background:#0b101b}.room-actions form{display:flex;gap:8px}.room-actions input{flex:1;min-width:0;height:44px;border:1px solid #283249;background:#080d17;color:white;border-radius:13px;padding:0 13px;font-size:16px;outline:none}.room-actions input:focus{border-color:#7466d8;box-shadow:0 0 0 3px #8f7cff12}.room-actions form button{width:44px;border:0;border-radius:13px;background:linear-gradient(135deg,#8f7cff,#6d5ed2);color:white;font-size:20px;font-weight:900}.room-actions>p{text-align:center;color:#697489;font-size:9px;margin:6px 0 0}.room-actions>p button{border:0;background:none;color:#a99cff;padding:0}.safety-note{font-size:11px;background:#ffb84d12;border:1px solid #ffb84d33;color:#ffd28c;border-radius:10px;padding:8px 10px;margin-bottom:7px}.join-gate{margin:auto;max-width:650px;padding:34px 24px;text-align:center}.join-mark{width:68px;height:68px;border:1px solid #8f7cff55;background:#8f7cff13;border-radius:22px;display:grid;place-items:center;margin:0 auto 18px;color:#b4a9ff;font-size:27px;box-shadow:0 0 50px #8f7cff18}.join-gate>span,.label{font-size:9px;letter-spacing:.18em;color:#9e93ff;font-weight:850}.join-gate h1{font-size:56px;letter-spacing:-.06em;margin:8px 0}.join-gate>p{color:var(--muted);max-width:470px;margin:0 auto 22px;line-height:1.55}.primary{border:0;border-radius:12px;padding:13px 17px;background:linear-gradient(135deg,#8f7cff,#6758d0);color:white;font-weight:850}.join-gate>a{display:block;color:#788399;text-decoration:none;font-size:11px;margin:16px}.gate-points{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:26px}.gate-points b{border:1px solid #ffffff10;background:#ffffff05;border-radius:99px;padding:7px 10px;color:#929caf;font-size:9px}.modal{position:fixed;inset:0;background:#03050bbd;backdrop-filter:blur(12px);z-index:10;display:grid;place-items:center;padding:18px}.modal-card{position:relative;width:min(460px,100%);background:#0e1421;border:1px solid #2a3348;border-radius:20px;padding:25px;box-shadow:0 30px 100px #000}.modal-card.compact{max-width:420px}.close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:#192131;color:white;font-size:20px}.modal-card h2{font-size:31px;letter-spacing:-.04em;margin:8px 0}.modal-card>p{color:var(--muted);font-size:12px;line-height:1.5}.modal-card label{display:block;color:#8993a8;font-size:9px;letter-spacing:.12em;margin:13px 0 5px}.modal-card input{display:block;width:100%;height:47px;margin-top:5px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#090e18;color:white;font-size:16px;outline:none}.avatars{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.avatars button{width:42px;height:42px;border:1px solid var(--line);border-radius:11px;background:#111725}.avatars button.selected{border-color:var(--violet);box-shadow:0 0 0 2px #8f7cff20}.wide{width:100%}.note{min-height:18px;margin-top:7px;color:#ffc87d;font-size:11px}.privacy{font-size:9px!important}.rules p{background:#ffffff04;border:1px solid #ffffff0c;border-radius:12px;padding:11px;line-height:1.45}.rules b{color:#f4f6fb}
@media(max-width:700px){.topbar{height:58px;flex-basis:58px;padding:0 10px;grid-template-columns:auto 1fr auto}.brand{font-size:14px}.room-title{justify-self:center}.orb{display:none}.room-title b{font-size:12px}.member-pill b{display:none}.club-app{padding:0}.room-shell{border:0;border-radius:0}.mission{padding:9px 10px}.mission b{font-size:10px}.mission button{padding:7px 9px}.room-messages{padding:12px 9px 8px}.room-message{max-width:87%;margin-bottom:9px}.room-message.mine{max-width:84%}.spark-message{max-width:96%}.body{font-size:14px}.message-tools{opacity:1}.room-actions{padding:7px 8px max(7px,env(safe-area-inset-bottom))}.room-actions>p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-gate h1{font-size:42px}.join-gate{padding-top:20px}.gate-points{margin-top:18px}}
/* v30 */
.club-tabs{display:flex;gap:7px;max-width:980px;margin:12px auto 0;padding:0 14px}.club-tabs button{background:#ffffff08;color:#9ba5ba;border:1px solid #ffffff0d;border-radius:12px;padding:10px 15px;font-weight:800}.club-tabs button.active{background:#8b5cf61f;color:#c4b5fd;border-color:#8b5cf650}.tab{display:none;max-width:980px;margin:0 auto;padding:14px}.tab.active{display:block}#tab-chat{padding-top:8px}.quest-head{display:flex;align-items:end;justify-content:space-between;gap:15px;padding:14px 2px}.quest-head small,.profile-card>small{color:#a78bfa;letter-spacing:.14em;font-weight:800}.quest-head h2,.profile-card h2{font-size:28px;margin:5px 0}.quest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quest-card,.profile-card{background:#0e1320;border:1px solid #ffffff14;border-radius:20px;padding:18px}.quest-card .source{font-size:10px;color:#a78bfa;letter-spacing:.12em}.quest-card h3{margin:7px 0}.quest-card p{color:#b7bfd0;line-height:1.45}.quest-meta{display:flex;justify-content:space-between;align-items:center;margin-top:14px;color:#7f899d;font-size:12px}.quest-meta button,.primary,.secondary{border:0;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer}.primary{background:#8b5cf6;color:white}.secondary{background:#ffffff0b;color:#d9ddeb}.profile-card{max-width:620px;margin:12px auto}.profile-avatar{font-size:52px;margin-bottom:10px}.profile-card textarea,#questModal textarea,#questModal input{width:100%;resize:vertical;background:#080b12;color:white;border:1px solid #ffffff18;border-radius:12px;padding:12px;margin:8px 0 14px;font:inherit}.safe-copy{color:#8f99ad;line-height:1.5}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}.chips button{border:1px solid #ffffff16;background:#ffffff08;color:#aeb7c8;border-radius:999px;padding:8px 11px}.chips button.on{background:#8b5cf628;color:#c4b5fd;border-color:#8b5cf660}.reaction-row{display:flex;gap:4px;flex-wrap:wrap;margin-top:7px}.reaction-row button{font-size:12px;background:#ffffff08;border:1px solid #ffffff0c;color:#dbe0ea;border-radius:999px;padding:4px 7px}.reaction-row button.mine{border-color:#8b5cf670;background:#8b5cf625}.react-add{opacity:.55}.member-pill #profileBtn{background:none;border:0;color:inherit;display:flex;gap:5px;align-items:center}.modal textarea{min-height:80px}.wide{width:100%}@media(max-width:650px){.club-tabs{position:sticky;top:0;z-index:5;background:#080b14;padding-top:8px;padding-bottom:8px}.club-tabs button{flex:1;padding:9px 5px;font-size:12px}.quest-grid{grid-template-columns:1fr}.quest-head{align-items:center}.quest-head h2{font-size:22px}.brand{font-size:13px}.room-title small{display:none}.member-pill b{display:none}}
@media(max-width:700px){.club-tabs{width:100%!important;flex-direction:row!important}.club-tabs button{height:auto!important}.tab-content{width:100%!important}}
@media(max-width:700px){.club-app{flex-direction:column!important}.club-tabs{flex:0 0 auto!important;width:100%!important;flex-direction:row!important}.club-tabs button{flex:1!important}}
@media(max-width:700px){.club-app{overflow-y:auto!important}.tab-content{flex:0 0 auto!important;min-height:100%!important}#tab-profile,#tab-quests{overflow:visible!important;padding-bottom:90px!important}}

/* v31 layout repair */
.club-app{flex-direction:column!important;overflow-y:auto}.club-tabs{flex:0 0 auto;width:100%;flex-direction:row!important}.club-tabs button{height:auto}.tab-content{width:100%;min-height:0;flex:1}#tab-chat.active{height:100%}@media(min-width:701px){.club-tabs{width:min(980px,100%);margin:12px auto 0}.tab-content{width:min(980px,100%);margin:0 auto}.tab{max-width:none}.room-shell{height:calc(100vh - 150px)}}
/* v31 Quest Workspace */
.quest-card .quest-actions{display:flex;gap:8px;align-items:center;margin-top:14px}.quest-card .quest-actions .open-quest{flex:1}.quest-workspace{max-width:760px;margin:0 auto}.quest-back{border:0;background:transparent;color:#a99cff;padding:8px 0;font-weight:800}.quest-workspace-card{background:#0e1320;border:1px solid #ffffff14;border-radius:22px;padding:22px}.quest-progress{height:8px;background:#ffffff0b;border-radius:99px;overflow:hidden;margin:16px 0 7px}.quest-progress>i{display:block;height:100%;background:linear-gradient(90deg,#8b5cf6,#64e7ff);border-radius:99px}.task-list{display:grid;gap:9px;margin:18px 0}.task-row{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #ffffff10;background:#ffffff05;border-radius:13px}.task-row button{width:28px;height:28px;border-radius:9px;border:1px solid #ffffff20;background:#080b12;color:white}.task-row.done span{text-decoration:line-through;color:#7f899d}.quest-badge{margin-top:16px;padding:14px;border:1px solid #62f1b344;background:#62f1b310;border-radius:14px;color:#bdf8df;font-weight:850}.task-add{display:flex;gap:8px;margin-top:14px}.task-add input{flex:1;min-width:0;background:#080b12;color:white;border:1px solid #ffffff18;border-radius:11px;padding:11px}.task-add button{white-space:nowrap}@media(max-width:700px){.quest-workspace-card{padding:16px}.quest-card .quest-actions{align-items:stretch;flex-direction:column}.task-add{flex-direction:column}}
.achievement-box{margin-top:28px;padding-top:22px;border-top:1px solid #252b3b}
.achievement-box h3{margin:0 0 14px;font-size:18px}
.achievement-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;margin-top:10px;border:1px solid #343b50;border-radius:16px;background:#111625}
.achievement-card b{font-size:15px}
.achievement-card span{font-size:12px;color:#9da5b8}
