/* Halo Futuristic UI: one coherent design system layered over the existing functional DOM. */
:root{--hf-bg:#070b14;--hf-shell:#0b1220;--hf-panel:#101a2b;--hf-panel-2:#121f34;--hf-line:#243650;--hf-line-soft:#1b2a42;--hf-ink:#edf5ff;--hf-muted:#8293ae;--hf-blue:#4c7dff;--hf-cyan:#40d9ff;--hf-violet:#8b72ff;--hf-green:#41d6a3;--hf-danger:#ff6f91;--hf-shadow:0 24px 80px #0008}
*{box-sizing:border-box}body.social-authenticated{background:radial-gradient(circle at 12% 0%,#172c58 0,transparent 32%),radial-gradient(circle at 100% 10%,#201c4a 0,transparent 30%),var(--hf-bg)!important;color:var(--hf-ink)!important}.ambient{display:none!important}body.social-authenticated .app-shell{width:min(1540px,calc(100% - 32px));min-height:calc(100vh - 32px);margin:16px auto;border:1px solid #ffffff12!important;border-radius:26px!important;overflow:hidden!important;background:var(--hf-shell)!important;box-shadow:var(--hf-shadow)!important}body.social-authenticated .topbar{height:72px!important;padding:0 24px!important;border-bottom:1px solid var(--hf-line-soft)!important;background:#0b1220e8!important;backdrop-filter:blur(20px)}body.social-authenticated .wordmark{color:var(--hf-ink)!important;font-weight:800}.wordmark .logo-mark{background:linear-gradient(135deg,var(--hf-blue),var(--hf-cyan))!important;color:#fff!important;box-shadow:0 8px 30px #4c7dff5c!important}.privacy-chip{border:1px solid #ffffff12!important;background:#ffffff08!important;color:var(--hf-muted)!important}.live-dot{background:var(--hf-green)!important;box-shadow:0 0 0 4px #41d6a31a,0 0 20px #41d6a3!important}.account-menu{border:1px solid #ffffff12!important;background:#ffffff08!important;color:var(--hf-ink)!important}.account-avatar{background:linear-gradient(135deg,var(--hf-violet),var(--hf-blue))!important;color:#fff!important}.logout-button{border-color:#ffffff18!important;background:#ffffff08!important;color:var(--hf-muted)!important}
#social-shell:not([hidden]){display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;min-height:calc(100vh - 104px)!important;padding:0!important;background:transparent!important}.social-rail{display:flex!important;flex-direction:column!important;align-items:center!important;padding:18px 11px!important;border:0!important;border-right:1px solid var(--hf-line-soft)!important;border-radius:0!important;background:#0b1220c9!important}.social-rail-brand{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;margin-bottom:20px!important;border:1px solid #ffffff12!important;border-radius:15px!important;background:linear-gradient(145deg,#243b75,#1a2452)!important;color:#fff!important;font-size:0!important;box-shadow:0 10px 28px #365eff22!important}.social-brand-pulse{width:16px!important;height:16px!important;background:linear-gradient(135deg,var(--hf-cyan),var(--hf-blue))!important;box-shadow:0 0 0 7px #40d9ff12,0 0 22px #40d9ff!important}.social-nav{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;margin:0!important}.social-nav-button{display:grid!important;place-items:center!important;width:58px!important;height:56px!important;min-height:56px!important;padding:0!important;border:1px solid transparent!important;border-radius:17px!important;background:transparent!important;color:#7084a6!important;transition:.2s ease!important}.social-nav-button>span{display:grid!important;place-items:center!important;width:31px!important;height:31px!important;font-size:21px!important;line-height:1!important}.social-nav-button>b{display:none!important}.social-nav-button:hover{color:#cfe1ff!important;background:#ffffff08!important;border-color:#ffffff10!important;transform:translateY(-1px)}.social-nav-button.is-active{color:#fff!important;background:linear-gradient(145deg,#386cff,#7a68ff)!important;border-color:#9ab5ff38!important;box-shadow:0 12px 28px #386cff48, inset 0 1px #ffffff45!important}.social-rail-security{display:none!important}
.social-main{min-width:0!important;background:transparent!important;color:var(--hf-ink)!important}.social-main-header{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:86px!important;padding:0 28px!important;border-bottom:1px solid var(--hf-line-soft)!important;background:#0b1220aa!important;backdrop-filter:blur(18px)}.social-main-header h1{margin:4px 0!important;color:var(--hf-ink)!important;font-size:25px!important;letter-spacing:-.04em!important}.social-main-header .overline{color:var(--hf-cyan)!important;letter-spacing:.17em!important}.social-header-actions{display:flex!important;align-items:center!important;gap:9px!important}.social-secure-chip{border:1px solid #ffffff12!important;background:#ffffff08!important;color:#9eb2d0!important}.halo-theme-toggle{border:1px solid #ffffff12!important;background:#ffffff08!important;color:#bcd0ef!important}.social-accent-button{border:0!important;background:linear-gradient(135deg,var(--hf-blue),var(--hf-violet))!important;color:#fff!important;box-shadow:0 10px 26px #4c7dff36!important}.social-view{padding:22px!important;background:transparent!important;color:var(--hf-ink)!important}
/* Chat */
[data-social-panel="chats"] .social-dashboard-grid{display:grid!important;grid-template-columns:330px minmax(0,1fr)!important;gap:0!important;min-height:calc(100vh - 151px)!important;border:1px solid var(--hf-line)!important;border-radius:22px!important;overflow:hidden!important;background:#0d1727b8!important;box-shadow:0 16px 50px #0002!important}.social-contacts-card{min-height:0!important;padding:18px!important;border:0!important;border-right:1px solid var(--hf-line-soft)!important;border-radius:0!important;background:#0d1727cc!important;box-shadow:none!important}.social-card-head h2{color:var(--hf-ink)!important;font-size:16px!important}.social-card-head p{display:none!important}.social-search{height:42px!important;border:1px solid var(--hf-line)!important;border-radius:13px!important;background:#ffffff08!important}.social-search input{color:var(--hf-ink)!important}.social-contact{display:flex!important;align-items:center!important;gap:11px!important;margin:4px 0!important;padding:11px!important;border:1px solid transparent!important;border-radius:15px!important;background:transparent!important;transition:.2s ease!important}.social-contact:hover{border-color:#ffffff12!important;background:#ffffff08!important}.social-contact-avatar{display:grid!important;flex:0 0 39px!important;width:39px!important;height:39px!important;place-items:center!important;border:1px solid #ffffff18!important;border-radius:14px!important;background:linear-gradient(145deg,#273d76,#1c2654)!important;color:#d9e7ff!important;font-size:11px!important;font-weight:850!important}.social-contact-identity{min-width:0!important}.social-contact-identity strong{display:block!important;overflow:hidden!important;color:var(--hf-ink)!important;font-size:12px!important;text-overflow:ellipsis!important;white-space:nowrap!important}.social-contact-identity small{display:block!important;color:var(--hf-muted)!important;font-size:9px!important}.social-contact-identity p{display:none!important}.social-contact-actions{margin-left:auto!important}.social-contact-actions button{display:none!important}.social-contact-actions .social-contact-message{display:grid!important;width:28px!important;height:28px!important;place-items:center!important;padding:0!important;border:1px solid #ffffff12!important;border-radius:10px!important;background:#ffffff08!important;color:var(--hf-cyan)!important;font-size:0!important}.social-contact-actions .social-contact-message:after{content:'↗';font-size:15px!important}.social-side-stack{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;padding:30px!important;background:radial-gradient(circle at 50% 30%,#1b2b55aa,transparent 48%),#0d1727aa!important}.social-side-stack .social-privacy-card,.social-side-stack .social-next-card{display:none!important}.halo-chat-welcome{max-width:360px;text-align:center}.halo-chat-welcome .halo-chat-mark{display:grid;width:72px;height:72px;margin:0 auto 17px;place-items:center;border:1px solid #ffffff16;border-radius:25px;background:linear-gradient(145deg,#263a74,#1d2452);color:var(--hf-cyan);font-size:31px;box-shadow:0 18px 40px #315fe82b}.halo-chat-welcome h2{margin:0;color:var(--hf-ink);font-size:22px}.halo-chat-welcome p{color:var(--hf-muted);font-size:12px;line-height:1.65}.direct-chat-card:not([hidden]){display:flex!important;grid-column:2!important;grid-row:1!important;flex-direction:column!important;min-width:0!important;min-height:calc(100vh - 151px)!important;border:0!important;border-radius:0!important;background:#0d1727cc!important;box-shadow:none!important}.direct-chat-header{flex:0 0 auto!important;border-bottom:1px solid var(--hf-line-soft)!important;background:#0d1727!important}.direct-chat-messages{flex:1 1 auto!important;min-height:180px!important;overflow:auto!important;background:#0b1423!important}.direct-chat-form{flex:0 0 auto!important;border-top:1px solid var(--hf-line-soft)!important;background:#0d1727!important}.direct-chat-form input{background:#ffffff08!important;border-color:var(--hf-line)!important;color:var(--hf-ink)!important}.direct-chat-message{max-width:min(78%,560px)!important;color:var(--hf-ink)!important}.direct-chat-message.outgoing{background:#203866!important}.direct-chat-translate{border-color:#ffffff12!important;background:#ffffff08!important;color:var(--hf-cyan)!important}.direct-chat-translate span{font-size:0!important}.direct-chat-translate span:after{content:'Translate';font-size:10px!important}
/* Status */
[data-social-panel="status"] .halo-status-layout{max-width:1160px!important;margin:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:15px!important}.halo-status-publisher{grid-column:1/-1!important;border:1px solid var(--hf-line)!important;border-radius:21px!important;background:linear-gradient(135deg,#16264aaa,#101a2b)!important;box-shadow:0 15px 45px #0002!important}.halo-status-section{border:1px solid var(--hf-line)!important;border-radius:21px!important;background:#101a2bcc!important;box-shadow:none!important}.halo-status-compose{border-color:var(--hf-line)!important;background:#ffffff08!important}.halo-status-title h2,.halo-status-section h2{color:var(--hf-ink)!important}.halo-status-avatar{background:linear-gradient(145deg,var(--hf-blue),var(--hf-violet))!important}.halo-status-card{border-color:var(--hf-line)!important}.halo-status-empty{border-color:var(--hf-line)!important;background:#ffffff05!important;color:var(--hf-muted)!important}
/* Guilds and games */
.halo-guilds{max-width:1160px!important;margin:auto}.halo-guild-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px;padding:18px 20px;border:1px solid var(--hf-line);border-radius:20px;background:#101a2bcc}.halo-guild-toolbar h2{margin:0;color:var(--hf-ink);font-size:24px}.halo-guild-toolbar p{margin:5px 0 0;color:var(--hf-muted);font-size:11px}.halo-guild-select{min-width:150px;padding:11px 12px;border:1px solid var(--hf-line);border-radius:12px;background:#ffffff08;color:var(--hf-ink);font:inherit}.halo-news-state{padding:15px;border:1px solid var(--hf-line);border-radius:15px;background:#ffffff06;color:var(--hf-muted);font-size:11px}.halo-news-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.halo-news-card{display:flex;min-height:180px;flex-direction:column;padding:17px;border:1px solid var(--hf-line);border-radius:19px;background:linear-gradient(145deg,#13213a,#101a2b);box-shadow:0 12px 35px #0002}.halo-news-card .halo-news-tag{color:var(--hf-cyan);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.halo-news-card h3{margin:10px 0 8px;color:var(--hf-ink);font-size:14px;line-height:1.38}.halo-news-card p{margin:0;color:var(--hf-muted);font-size:10px}.halo-news-card a{margin-top:auto;padding-top:14px;color:#a9bcff;font-size:10px;font-weight:800;text-decoration:none}.halo-games{display:grid;max-width:1160px;min-height:calc(100vh - 185px);margin:auto;place-items:center}.halo-game-card{width:min(540px,100%);padding:38px;text-align:center;border:1px solid #ffffff16;border-radius:25px;background:radial-gradient(circle at 20% 0%,#435cb733,transparent 50%),linear-gradient(145deg,#142445,#101a2b);box-shadow:0 22px 60px #0004}.halo-game-icon{display:grid;width:76px;height:76px;margin:0 auto 18px;place-items:center;border:1px solid #ffffff18;border-radius:25px;background:#ffffff09;color:var(--hf-cyan);font-size:34px;box-shadow:0 0 35px #40d9ff1e}.halo-game-card h2{margin:0;color:var(--hf-ink);font-size:26px}.halo-game-card p{color:var(--hf-muted);font-size:12px;line-height:1.7}.halo-game-badges{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.halo-game-badges span{padding:8px 10px;border:1px solid #ffffff12;border-radius:999px;background:#ffffff07;color:#b8c9ff;font-size:9px;font-weight:800}
/* Calls: history is primary; old lobby remains available only while actively starting a call. */
.social-call-panel{padding:20px!important;background:transparent!important}.social-call-host{min-height:calc(100vh - 151px)}.social-call-host .lobby{display:none!important}.social-call-host .call-screen:not([hidden]){display:flex!important}.social-call-host .call-screen{min-height:calc(100vh - 151px)!important}.halo-call-history{max-width:1080px;margin:0 auto 16px;padding:22px;border:1px solid var(--hf-line);border-radius:22px;background:#101a2bcc;box-shadow:0 18px 55px #0002}.halo-call-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.halo-call-history-head h2{margin:0;color:var(--hf-ink);font-size:20px}.halo-call-history-list{display:grid;gap:9px}.halo-call-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid #ffffff08;border-radius:15px;background:#ffffff05}.halo-call-row>span{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;background:#ffffff09;color:var(--hf-cyan);font-size:17px}.halo-call-row strong,.halo-call-row small{display:block}.halo-call-row strong{color:var(--hf-ink);font-size:11px}.halo-call-row small,.halo-call-row time{color:var(--hf-muted);font-size:9px}.halo-call-empty{padding:28px;text-align:center;color:var(--hf-muted);font-size:11px}
/* Profile */
.social-profile-grid{max-width:1160px!important;margin:auto!important}.social-profile-card,.halo-personalization{border:1px solid var(--hf-line)!important;border-radius:21px!important;background:#101a2bcc!important;color:var(--hf-ink)!important}.social-profile-card input,.social-profile-card textarea{border-color:var(--hf-line)!important;background:#ffffff06!important;color:var(--hf-ink)!important}.halo-personalization{padding:21px}.halo-personalization h2{margin:3px 0 6px;color:var(--hf-ink);font-size:18px}.halo-personalization p{color:var(--hf-muted);font-size:10px}.halo-palette{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.halo-swatch{width:29px;height:29px;border:3px solid #101a2b;border-radius:10px;box-shadow:0 0 0 1px var(--hf-line);cursor:pointer}.halo-swatch.active{box-shadow:0 0 0 2px var(--hf-cyan)}.halo-profile-logout{width:100%;margin-top:10px;padding:11px;border:1px solid #ff6f9130;border-radius:12px;background:#ff6f910d;color:#ff9bb2;font-weight:800;cursor:pointer}
/* Search dialog */
.halo-search-dialog{width:min(560px,calc(100% - 24px));padding:0;border:1px solid var(--hf-line);border-radius:22px;background:#101a2b;color:var(--hf-ink);box-shadow:0 30px 100px #0008}.halo-search-dialog::backdrop{background:#020611b8;backdrop-filter:blur(10px)}.halo-search-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--hf-line-soft)}.halo-search-dialog-head h2{margin:0;font-size:19px}.halo-search-dialog-close{width:32px;height:32px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff08;color:var(--hf-muted);font-size:18px;cursor:pointer}.halo-search-dialog .halo-discovery-card{display:block!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.halo-search-dialog .halo-section-heading{padding:20px 20px 0}.halo-search-dialog .halo-search-control{margin:16px 20px 0}.halo-search-dialog .halo-search-state,.halo-search-dialog .halo-people-list,.halo-search-dialog .halo-request-heading{margin-left:20px;margin-right:20px}
@media(max-width:900px){.halo-news-list{grid-template-columns:repeat(2,minmax(0,1fr))}.social-main-header{padding:0 18px!important}}
@media(max-width:700px){body.social-authenticated .app-shell{width:100%;min-height:100vh;margin:0;border:0!important;border-radius:0!important}body.social-authenticated .topbar{height:64px!important;padding:0 14px!important}#social-shell:not([hidden]){display:block!important;min-height:calc(100vh - 64px);padding-bottom:68px!important}.social-main-header{min-height:68px!important;padding:0 14px!important}.social-main-header .overline,.social-secure-chip{display:none!important}.social-main-header h1{font-size:20px!important}.social-view{padding:0!important}[data-social-panel="chats"] .social-dashboard-grid{display:block!important;min-height:calc(100vh - 132px);border:0;border-radius:0}.social-contacts-card{min-height:calc(100vh - 132px);padding:14px!important;border:0!important}.social-side-stack{display:none!important}.direct-chat-card:not([hidden]){position:fixed!important;z-index:150!important;inset:0 0 68px 0!important;min-height:0!important}.social-rail{position:fixed!important;z-index:200!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:68px!important;padding:5px 7px!important;border:0!important;border-top:1px solid var(--hf-line)!important;background:#0b1220f5!important;backdrop-filter:blur(18px)}.social-rail-brand,.social-rail-security{display:none!important}.social-nav{display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:2px!important;width:100%!important}.social-nav-button{width:auto!important;height:57px!important;min-height:57px!important;color:#7084a6!important}.social-nav-button.is-active{background:#ffffff0d!important}.halo-guild-toolbar{align-items:flex-start;flex-direction:column;margin:0 14px 14px;padding:17px}.halo-guild-select{width:100%}.halo-news-list{grid-template-columns:1fr;padding:0 14px}.halo-games{min-height:calc(100vh - 140px);padding:18px}.halo-game-card{padding:28px 20px}.halo-call-history{margin:14px;border-radius:18px}.halo-profile-logout{margin:0 0 18px}.halo-status-layout{display:block!important}.halo-status-publisher,.halo-status-section{margin:14px}.halo-status-section{min-height:0}.halo-status-grid{grid-template-columns:1fr 1fr}.social-call-panel{padding:0!important}}
@media(max-width:380px){.halo-status-grid{grid-template-columns:1fr}}
html[data-theme="light"] body.social-authenticated{--hf-bg:#f5f8fe;--hf-shell:#fff;--hf-panel:#fff;--hf-panel-2:#f7faff;--hf-line:#dce5f1;--hf-line-soft:#e9eef6;--hf-ink:#15233a;--hf-muted:#71819a;background:radial-gradient(circle at 8% 0%,#dbe7ff 0,transparent 32%),#f5f8fe!important}html[data-theme="light"] body.social-authenticated .app-shell{background:#fff!important}html[data-theme="light"] .social-main,html[data-theme="light"] .social-main-header{background:#fff!important}html[data-theme="light"] .social-rail{background:linear-gradient(180deg,#1769ff,#315ce0)!important}html[data-theme="light"] .social-side-stack{background:radial-gradient(circle at 50% 30%,#e1eaffaa,transparent 50%),#fbfdff!important}html[data-theme="light"] .social-contact{color:#15233a!important}html[data-theme="light"] .halo-call-history,html[data-theme="light"] .halo-news-card,html[data-theme="light"] .social-profile-card,html[data-theme="light"] .halo-personalization{background:#fff!important}html[data-theme="light"] .halo-call-row{background:#f7faff!important;border-color:#e5edf8!important}
