:root{
  color-scheme:dark;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bg:#070d16;--surface:#0c1422;--surface-2:#111c2d;--surface-3:#16243a;--line:#23324a;--line-soft:#172338;
  --text:#f4f0e7;--muted:#91a0b5;--gold:#e5b454;--gold-strong:#f1c56d;--cyan:#75c9dc;--green:#5bd19b;--red:#ff8d8d;
  --shadow:0 28px 70px rgba(0,0,0,.28);--rail:282px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{min-height:100dvh;background:radial-gradient(circle at 92% 8%,rgba(40,83,132,.18),transparent 34rem),radial-gradient(circle at 10% 92%,rgba(171,108,34,.08),transparent 30rem),linear-gradient(180deg,#07101d,#070d16 55%,#060b13)}
button,input,select,textarea{font:inherit}button,a,select,input,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-strong)}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
.topbar{height:68px;padding:0 clamp(16px,3vw,42px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft);background:rgba(6,12,21,.9);backdrop-filter:blur(18px);position:fixed;inset:0 0 auto;z-index:20}.brand{display:flex;align-items:center;gap:11px;font-size:.82rem;font-weight:850;letter-spacing:.18em}.brand>span:last-child>span{color:var(--gold)}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(229,180,84,.5);border-radius:11px;color:var(--gold);font-family:Georgia,serif;font-size:1.2rem}.top-actions{display:flex;align-items:center;gap:8px}.ghost-link{padding:9px 12px;border:1px solid transparent;border-radius:999px;color:#b6c1d0;font-size:.83rem}.ghost-link:hover{border-color:var(--line);background:rgba(255,255,255,.03);color:#fff}
.status-pill,.presence-badge{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:1px solid var(--line);padding:7px 10px;background:#101a29;color:#b7c2d1;font-size:.75rem;font-weight:800}.dot{width:8px;height:8px;border-radius:50%;background:#738198;box-shadow:0 0 0 4px rgba(115,129,152,.12)}.status-pill.is-online,.presence-badge.online{color:#8ce3bb;border-color:rgba(91,209,155,.3);background:rgba(49,144,105,.12)}.status-pill.is-online .dot,.presence-badge.online .dot{background:var(--green)}.status-pill.is-loading{color:#a7deea;border-color:rgba(117,201,220,.28);background:rgba(56,125,150,.1)}.status-pill.is-loading .dot{background:var(--cyan)}.presence-badge.pending{color:#a7deea;border-color:rgba(117,201,220,.25);background:rgba(56,125,150,.1)}.presence-badge.pending .dot{background:var(--cyan)}.presence-badge.invisible{color:#c4cbd5;border-color:#3b4657;background:rgba(90,100,115,.1)}.presence-badge.invisible .dot{background:#8793a4}.status-pill.is-error{color:#ffb0b0;border-color:rgba(255,141,141,.25);background:rgba(151,50,50,.12)}.status-pill.is-error .dot{background:var(--red)}
.hub-shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:0;width:min(1440px,100%);height:100dvh;margin:0 auto;padding-top:68px}.rail{border-right:1px solid var(--line-soft);padding:30px 22px 20px;display:flex;flex-direction:column;min-height:0;background:rgba(7,14,24,.62)}.rail-title{padding:0 8px 26px}.eyebrow,.micro-label{color:var(--gold);font-size:.66rem;font-weight:900;letter-spacing:.18em;margin:0}.rail-title h1{font-family:Georgia,"Times New Roman",serif;font-size:2.7rem;line-height:1;margin:8px 0 11px;font-weight:500}.rail-title>p:last-child{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.hub-nav{display:grid;gap:6px}.nav-item{border:1px solid transparent;background:transparent;color:#9fadc0;border-radius:13px;padding:12px 13px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}.nav-item span{font-weight:800}.nav-item small{font-size:.65rem;color:#66758a}.nav-item:hover{background:rgba(255,255,255,.025);border-color:var(--line-soft);color:#e9eef5}.nav-item.active{background:linear-gradient(135deg,rgba(229,180,84,.13),rgba(20,32,49,.72));border-color:rgba(229,180,84,.28);color:#fff}.nav-item.active small{color:var(--gold)}.rail-footer{margin-top:auto;padding:18px 8px 0;border-top:1px solid var(--line-soft);display:grid;gap:5px;color:#65758a;font-size:.69rem}
.workspace{min-width:0;min-height:0;overflow:hidden;padding:26px clamp(18px,3vw,38px) 30px;position:relative}.banner{margin:0 0 16px;padding:12px 14px;border-radius:12px;border:1px solid rgba(117,201,220,.22);background:rgba(56,125,150,.1);color:#a7deea;font-size:.84rem}.banner.error{border-color:rgba(255,141,141,.25);background:rgba(151,50,50,.12);color:#ffb0b0}.state-screen{height:100%;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.state-screen h2{margin:16px 0 8px;font-size:1.55rem}.state-screen p{margin:0 0 20px;max-width:580px;color:var(--muted);line-height:1.6}.state-icon{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;border:1px solid rgba(229,180,84,.32);background:rgba(229,180,84,.08);color:var(--gold);font-size:1.7rem}.spinner{width:36px;height:36px;border:3px solid #25354b;border-top-color:var(--gold);border-radius:50%;animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.button{border:1px solid transparent;border-radius:11px;padding:10px 14px;font-weight:850;cursor:pointer;transition:.14s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{opacity:.48;cursor:not-allowed}.button.primary{background:linear-gradient(135deg,#f0c067,#d9a342);color:#101722}.button.secondary{background:#1b2a40;border-color:#31435f;color:#eaf0f7}.button.quiet{background:transparent;border-color:#2a3950;color:#aeb9c9}
.overview,.future-view{height:100%;min-height:0;display:flex;flex-direction:column}.view-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.view-heading h2{font-size:1.6rem;margin:5px 0 5px}.view-heading p:last-child{margin:0;color:var(--muted);font-size:.9rem}.overview-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-template-rows:auto 1fr;gap:16px;min-height:0;flex:1}.panel{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(17,28,45,.96),rgba(10,18,31,.98));box-shadow:var(--shadow);padding:21px;min-width:0}.profile-panel{grid-column:1/-1}.profile-header{display:flex;align-items:center;gap:15px}.avatar{width:58px;height:58px;flex:0 0 58px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,#172640,#0b1422);border:1px solid #314260;color:var(--gold-strong);font-weight:900;font-size:1.1rem}.profile-copy{min-width:0;display:grid;gap:3px}.profile-copy strong{font-size:1.25rem;overflow-wrap:anywhere}.profile-copy p{margin:0;color:var(--muted);font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:680px}.presence-badge{margin-left:auto}.profile-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line-soft)}.profile-meta>div{padding:11px 12px;border-radius:12px;background:rgba(4,10,19,.38);border:1px solid var(--line-soft);display:grid;gap:4px}.profile-meta span{font-size:.66rem;text-transform:uppercase;letter-spacing:.11em;color:#73839a}.profile-meta strong{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.availability-panel,.edit-panel,.roadmap-panel{display:flex;flex-direction:column;min-height:0}.availability-panel h3,.edit-panel h3,.roadmap-panel h3{margin:5px 0 8px;font-size:1.12rem}.availability-panel p,.edit-panel p,.roadmap-panel p{margin:0;color:var(--muted);line-height:1.48;font-size:.82rem}.availability-panel form,.edit-panel form{margin-top:auto;padding-top:16px;display:grid;gap:8px}label{font-size:.75rem;font-weight:800;color:#d7dde6}select,input,textarea{width:100%;border:1px solid #2b3b54;border-radius:10px;background:#08111f;color:#f6f7f9;padding:10px 11px;resize:none}select:focus,input:focus,textarea:focus{border-color:#bd9145;box-shadow:0 0 0 3px rgba(229,180,84,.08)}.roadmap-list{display:grid;gap:7px;margin-top:14px}.roadmap-list button{border:1px solid var(--line-soft);border-radius:11px;background:rgba(4,10,19,.34);color:#dbe2ec;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.roadmap-list button:hover{border-color:#405270}.roadmap-list small{color:var(--gold);font-size:.67rem;font-weight:850}.future-panel{flex:1;display:grid;place-items:center;align-content:center;text-align:center}.future-panel strong{margin:13px 0 4px}.future-panel p{max-width:560px;color:var(--muted);line-height:1.55}
.mobile-nav{display:none}
@media(max-width:980px){:root{--rail:220px}.overview-grid{grid-template-columns:1fr}.profile-panel{grid-column:auto}.roadmap-panel{display:none}.workspace{overflow:auto}.overview,.future-view{height:auto}.hub-shell{height:auto;min-height:100dvh}.rail{min-height:calc(100dvh - 68px);position:sticky;top:68px;height:calc(100dvh - 68px)}}
@media(max-width:720px){.topbar{height:62px;padding:0 14px}.top-actions .ghost-link:last-child{display:none}.status-pill{display:none}.hub-shell{display:block;padding-top:62px;padding-bottom:64px}.rail{display:none}.workspace{padding:20px 12px 24px;min-height:calc(100dvh - 126px);overflow:visible}.view-heading{align-items:center}.view-heading h2{font-size:1.35rem}.view-heading>button{padding:9px 10px}.overview-grid{display:grid;grid-template-columns:1fr;gap:12px}.panel{padding:17px;border-radius:17px}.profile-header{align-items:flex-start;flex-wrap:wrap}.presence-badge{margin-left:73px}.profile-meta{grid-template-columns:1fr}.profile-copy p{white-space:normal}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;inset:auto 0 0;z-index:30;height:62px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(6,12,21,.96);border-top:1px solid var(--line-soft);backdrop-filter:blur(16px)}.mobile-nav button{border:0;background:transparent;color:#7f8da1;font-size:.68rem;font-weight:850;border-radius:9px}.mobile-nav button.active{background:rgba(229,180,84,.1);color:var(--gold-strong)}}
@media(max-width:420px){.brand{font-size:.72rem}.top-actions .ghost-link:first-of-type{padding:8px 9px;font-size:.75rem}.presence-badge{margin-left:0;width:100%;justify-content:center}.view-heading>div p:last-child{display:none}}

/* Phase 5C — Social Graph views */
.social-view{height:100%;min-height:0;display:flex;flex-direction:column}.social-grid{min-height:0;flex:1}.two-column-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.collection-panel,.privacy-panel,.member-search-panel{min-height:0}.collection-panel{display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading h3{margin:5px 0 0;font-size:1.05rem}.panel-note{color:var(--muted);font-size:.78rem;line-height:1.45;margin:9px 0 13px}.collection{display:grid;gap:8px;margin-top:14px;min-height:0;overflow:auto;padding-right:2px}.collection.compact{max-height:260px}.member-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--line-soft);border-radius:13px;background:rgba(4,10,19,.34);padding:10px}.member-avatar{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#101d30;border:1px solid #2f405c;color:var(--gold-strong);font-weight:900;font-size:.78rem}.member-copy{min-width:0;display:grid;gap:3px}.member-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem}.member-copy span{color:var(--muted);font-size:.71rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.button.small{padding:7px 9px;font-size:.7rem;border-radius:9px}.button.danger{background:rgba(146,45,45,.18);border-color:rgba(255,141,141,.3);color:#ffb0b0}.load-more{margin-top:10px;align-self:center}.empty-row,.loading-row{padding:22px 12px;text-align:center;border:1px dashed #26364d;border-radius:12px;color:#7f8da1;font-size:.78rem}.loading-row{display:flex;align-items:center;justify-content:center;gap:8px}.mini-spinner{width:16px;height:16px;border:2px solid #273850;border-top-color:var(--gold);border-radius:50%;animation:spin .8s linear infinite}.member-search-panel{margin-bottom:16px}.search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.search-form>div{display:grid;gap:7px}.segmented{display:flex;gap:5px;padding:4px;background:#07101c;border:1px solid var(--line-soft);border-radius:12px;width:max-content}.segmented button{border:0;background:transparent;color:#7f8da1;border-radius:9px;padding:8px 13px;font-weight:850;cursor:pointer}.segmented button.active{background:#1a2940;color:#f4f0e7}.privacy-form{display:grid;gap:9px;margin-top:14px}.check-row{display:flex;align-items:flex-start;gap:9px;padding:9px 0;color:#cbd4df;font-weight:650;line-height:1.35}.check-row input{width:auto;margin-top:2px}.member-dialog{width:min(660px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 30px));padding:0;border:1px solid #2b3b54;border-radius:20px;background:#0b1422;color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.58)}.member-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.dialog-shell{padding:21px;overflow:auto;max-height:inherit}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.member-dialog-identity{display:flex;align-items:center;gap:12px}.member-dialog-identity h2{margin:5px 0 0;font-size:1.3rem}.icon-button{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:#101a2a;color:#dfe5ec;font-size:1.4rem;cursor:pointer}.dialog-bio{color:var(--muted);line-height:1.5;margin:16px 0}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:17px;border-bottom:1px solid var(--line-soft)}.mutual-section{padding-top:17px}
@media(max-width:980px){.social-view{height:auto}.two-column-grid{grid-template-columns:1fr}.collection{overflow:visible}.collection.compact{max-height:none}}
@media(max-width:720px){.social-grid{display:grid;grid-template-columns:1fr}.search-form{grid-template-columns:1fr}.member-row{grid-template-columns:auto minmax(0,1fr)}.row-actions{grid-column:1/-1;justify-content:flex-start;padding-left:51px}.segmented{width:100%}.segmented button{flex:1}.social-view{height:auto}.member-dialog{max-height:calc(100dvh - 18px)}.dialog-shell{padding:16px}.dialog-actions .button{flex:1 1 auto}}

/* Phase 5D — Presence / Realtime */
.realtime-detail{margin-top:12px;padding:9px 10px;border:1px solid rgba(117,201,220,.18);border-radius:10px;background:rgba(56,125,150,.07);color:#9fc8d3;font-size:.72rem;line-height:1.4}
.presence-inline{display:inline-flex!important;align-items:center;gap:6px;color:#7f8da1!important}.presence-inline::before{content:"";width:7px;height:7px;border-radius:50%;background:#677488;box-shadow:0 0 0 3px rgba(103,116,136,.10);flex:0 0 7px}.presence-inline.online{color:#7ed7b0!important}.presence-inline.online::before{background:var(--green)}.presence-inline.offline{color:#7f8da1!important}
.dialog-presence{margin:-7px 0 16px;padding:9px 11px;border-radius:10px;border:1px solid var(--line-soft);font-size:.76rem;font-weight:750}.dialog-presence.online{color:#86ddb7;border-color:rgba(91,209,155,.22);background:rgba(49,144,105,.08)}.dialog-presence.offline{color:#8c99aa;background:rgba(4,10,19,.3)}.dialog-presence.pending{color:#9fc8d3;border-color:rgba(117,201,220,.18);background:rgba(56,125,150,.07)}

/* Phase 5E — Recent Players + accessibility/mobile polish */
:focus-visible{outline:2px solid var(--gold-strong);outline-offset:3px}
.button,.nav-item,.ghost-link,.roadmap-list button,.segmented button,.icon-button,.mobile-nav button{min-height:40px}
.recent-panel{min-height:0;flex:1}
.recent-panel .collection{flex:1}
.banner[role="alert"]{border-color:rgba(255,141,141,.34)}
@media(max-width:720px){
  .mobile-nav{grid-template-columns:repeat(5,1fr)}
  .mobile-nav button{min-height:44px;font-size:.64rem;padding:4px 2px}
  .button,.nav-item,.ghost-link,.roadmap-list button,.segmented button,.icon-button{min-height:44px}
  .recent-panel .collection{overflow:visible}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* Phase 5F — prevent the desktop roadmap card from overlapping form controls. */
@media(min-width:981px){
  .workspace{overflow:auto}
  .overview{height:auto;min-height:100%}
  .overview-grid{grid-template-rows:auto auto auto;align-content:start;overflow:visible;flex:none;min-height:auto;padding-right:2px}
  .roadmap-panel{grid-column:1/-1}
  .roadmap-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
