/* ORIGINAL LIVES · V0.18 / GALAXY EDITION
   Visual-only enhancement. All authorization and social operations remain in the existing JS/Worker.
   No external fonts, images, trackers, or dependencies. */
:root{--ol-galaxy-ink:#090617;--ol-galaxy-panel:#170e2d;--ol-galaxy-line:rgba(177,119,255,.42);--ol-galaxy-violet:#a85bff;--ol-galaxy-lilac:#e8d4ff;--ol-galaxy-gold:#ffd479}
body{background:radial-gradient(ellipse 65% 50% at 82% 10%,rgba(74,26,159,.2),transparent 72%),radial-gradient(ellipse 62% 35% at 9% 78%,rgba(95,43,189,.14),transparent 70%),#090615;color:#faf7ff}
header{border-bottom-color:rgba(168,97,255,.24);box-shadow:0 10px 60px rgba(8,2,24,.23)}
.topline{background:linear-gradient(90deg,#6520db,#e16cff,#ffd69a,#9f50ff);box-shadow:0 0 22px rgba(169,72,255,.6)}
.pill{background:linear-gradient(120deg,#b848ff,#7818e8 70%,#6124c9);border:1px solid rgba(226,165,255,.45);box-shadow:0 8px 34px rgba(124,44,249,.23),inset 0 1px rgba(255,255,255,.19)}
.hero{background:radial-gradient(ellipse at 79% 34%,rgba(125,45,228,.29),transparent 42%),radial-gradient(ellipse at 35% -28%,rgba(111,53,226,.43),transparent 62%),#090615}
.hero h1 em{color:#ffdd9e;text-shadow:0 0 28px rgba(255,202,106,.25)}
.section.alt,.auth-section{background:linear-gradient(160deg,#110920,#0c081b 56%,#130b27)}
.ol-social,.ol-global-wrap,.auth-card{border-color:rgba(176,104,255,.4);background:linear-gradient(150deg,rgba(41,23,75,.85),rgba(13,9,28,.96));box-shadow:0 24px 78px rgba(4,0,18,.37),0 0 54px rgba(104,36,218,.08)}
.ol-social-panel{border-color:rgba(181,131,247,.32);box-shadow:inset 0 1px rgba(255,255,255,.05)}
.ol-global-wrap{overflow:hidden;border-radius:27px;position:relative;isolation:isolate}
.ol-global-wrap:before{content:"";position:absolute;top:0;right:0;left:0;height:190px;background:radial-gradient(ellipse at 74% 0,rgba(164,72,249,.22),transparent 63%);pointer-events:none;z-index:-1}
.ol-global-top{background:linear-gradient(112deg,#35155e,#26163f 60%,#402069);border-bottom:1px solid rgba(172,104,255,.4);padding:19px 22px}
.ol-global-top strong{letter-spacing:-.015em}
.ol-inbox-trigger{background:linear-gradient(155deg,#3d235e,#26163e);border:1px solid rgba(166,105,255,.48);color:#f2ddff;border-radius:12px;padding:10px 12px;transition:transform .18s,box-shadow .18s,border-color .18s}
.ol-inbox-trigger:hover:not(:disabled){background:#512879;border-color:#bf82ff;transform:translateY(-1px);box-shadow:0 6px 24px rgba(145,60,255,.2)}
.ol-global-messages{background:radial-gradient(ellipse at 85% 20%,rgba(98,52,170,.12),transparent 52%),#100a20}
.ol-global-msg{border-color:rgba(163,119,234,.18);transition:border-color .15s}
.ol-global-msg:hover{border-color:rgba(170,98,255,.38)}
.ol-global-form{border-top:1px solid rgba(171,98,255,.25);background:rgba(30,16,52,.88)}
.ol-global-form input{border-radius:13px;border-color:rgba(177,124,248,.48);background:#0e091b;color:#f9f3ff}
.ol-global-form button{border-radius:13px;background:linear-gradient(128deg,#a54dff,#6e22d4);box-shadow:0 6px 24px rgba(123,45,222,.25)}
.chat-quick-link{background:linear-gradient(135deg,#bb4dff,#6d21d8);border-color:rgba(241,177,255,.68);box-shadow:0 16px 45px rgba(5,1,19,.75),0 0 28px rgba(141,49,255,.34)}
/* Galaxy modal backdrop */
.ol-contacts-overlay{background:rgba(5,2,19,.78);backdrop-filter:blur(13px) saturate(1.14);-webkit-backdrop-filter:blur(13px) saturate(1.14);padding:clamp(10px,2vw,25px)}
.ol-contacts-dialog{width:min(900px,100%);max-height:min(930px,calc(100dvh - 34px));position:relative;isolation:isolate;overflow:hidden;border-radius:29px;border:1px solid rgba(189,107,255,.85);background:radial-gradient(ellipse 86% 39% at 85% 8%,rgba(108,34,223,.24),transparent 80%),linear-gradient(145deg,#21133d 0%,#120b29 52%,#1a0d35 100%);box-shadow:0 40px 120px rgba(0,0,0,.76),0 0 0 1px rgba(247,178,255,.09),0 0 49px rgba(154,36,251,.26),inset 0 1px rgba(255,255,255,.11)}
.ol-contacts-dialog:before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:0;background-image:radial-gradient(circle at 11% 19%,rgba(236,186,255,.65) 0 1px,transparent 1.6px),radial-gradient(circle at 79% 26%,rgba(210,163,255,.65) 0 1px,transparent 1.5px),radial-gradient(circle at 68% 82%,rgba(206,164,255,.43) 0 1px,transparent 1.3px);background-size:173px 181px,211px 191px,237px 179px;opacity:.38}
.ol-contacts-dialog:after{content:"";pointer-events:none;position:absolute;inset:auto -9% -170px auto;width:430px;height:320px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,rgba(147,49,255,.14),transparent 65%);filter:blur(3px)}
.ol-contacts-top{background:radial-gradient(ellipse at 84% 0,rgba(134,53,255,.34),transparent 40%),linear-gradient(112deg,rgba(62,27,107,.86),rgba(29,14,56,.83));border-bottom:1px solid rgba(183,110,255,.53);padding:16px clamp(17px,3.4vw,30px);min-height:74px;flex:none}
.ol-contacts-top strong{font-size:clamp(14px,2vw,19px);font-weight:850;color:#fff5ff;letter-spacing:-.035em;display:flex;align-items:center;gap:6px}
.ol-modal-sparkle{font-size:27px;display:inline-flex;color:#cc83ff;text-shadow:0 0 22px rgba(192,79,255,.85);margin-right:6px}
.ol-header-dot{color:#ba77ff}
.ol-contacts-close{border:1px solid rgba(193,122,255,.68);background:linear-gradient(135deg,rgba(112,57,184,.5),rgba(59,30,94,.76));border-radius:14px;min-width:44px;height:44px;padding:0 12px;display:grid;place-items:center;font-size:25px;font-weight:400;box-shadow:inset 0 1px rgba(255,255,255,.14)}
.ol-contacts-close:hover{background:#703bb3;box-shadow:0 0 25px rgba(165,75,255,.55)}
.ol-contacts-content{padding:clamp(16px,2.7vw,29px);scrollbar-width:thin;scrollbar-color:#7c48ad transparent}
.ol-contacts-notice{font-size:12px;padding:0 clamp(18px,3vw,30px) 13px;min-height:0;color:#ffda97}
/* profile hero */
.ol-contact-profile-head{min-height:165px;position:relative;display:flex;gap:clamp(14px,2.7vw,27px);align-items:center;margin:0 0 18px;padding:clamp(17px,2.9vw,28px);border-radius:24px;background:radial-gradient(ellipse 68% 110% at 95% 40%,rgba(116,62,255,.35),transparent 69%),linear-gradient(123deg,rgba(24,12,53,.96),rgba(38,20,82,.75));border:1px solid rgba(177,114,255,.46);overflow:hidden;box-shadow:inset 0 1px rgba(255,255,255,.08),0 13px 35px rgba(0,0,0,.17)}
.ol-contact-profile-head:before{content:"";position:absolute;right:-38px;top:-80px;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle at 30% 25%,rgba(218,147,255,.45),rgba(143,65,247,.18) 27%,rgba(69,32,180,.20) 42%,transparent 67%);box-shadow:inset 18px 12px 23px rgba(208,131,255,.16),-40px 40px 100px rgba(112,33,223,.14);opacity:.84;pointer-events:none}
.ol-contact-profile-head:after{content:"";position:absolute;top:0;right:0;width:45%;height:100%;background:repeating-radial-gradient(ellipse at 90% 105%,transparent 0 12px,rgba(182,117,255,.11) 13px 14px,transparent 16px 24px);opacity:.52;pointer-events:none}
.ol-contact-avatar{position:relative;z-index:1;width:clamp(82px,12vw,116px);height:clamp(82px,12vw,116px);border-radius:25px;flex:none;background:linear-gradient(140deg,#221038,#0b0616);border:2px solid #ba62ff;box-shadow:0 0 0 5px rgba(142,67,255,.12),0 0 27px rgba(156,63,255,.6),inset 0 0 30px rgba(173,84,255,.13);font-size:clamp(32px,5vw,47px)}
.ol-contact-names{position:relative;z-index:1;gap:9px;max-width:calc(100% - 100px)}
.ol-contact-names strong{font-size:clamp(21px,3.1vw,31px);line-height:1.13;letter-spacing:-.046em;color:#fff;overflow-wrap:anywhere}
.ol-contact-names span{font-size:clamp(13px,1.8vw,16px);color:#d6b6ff}
.ol-owner-tag{display:table!important;align-self:flex-start;font-size:12px;background:linear-gradient(100deg,rgba(88,51,22,.45),rgba(56,28,46,.6));color:#ffe298;border:1px solid rgba(242,181,79,.65);padding:8px 15px;border-radius:999px;text-shadow:0 0 20px rgba(255,197,88,.22);box-shadow:0 0 21px rgba(250,164,66,.09)}
/* profile status + counts */
.ol-contact-bio{position:relative;margin:0 0 18px!important;padding:19px 22px 19px 53px!important;font-size:clamp(15px,2vw,18px);line-height:1.6;border-radius:16px;background:linear-gradient(117deg,rgba(57,31,106,.55),rgba(31,19,69,.78));border:1px solid rgba(182,103,255,.64);box-shadow:inset 0 1px rgba(255,255,255,.045),0 0 24px rgba(109,49,190,.08)}
.ol-contact-bio:before{content:'❝';position:absolute;left:19px;top:10px;font-size:39px;line-height:1;color:#af68ff;text-shadow:0 0 20px rgba(157,73,255,.35)}
.ol-contact-stats{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important;margin:0 0 20px!important;align-items:stretch!important}
.ol-contact-stats>*{display:flex!important;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:73px;padding:11px 9px!important;border-radius:16px!important;background:linear-gradient(155deg,rgba(52,30,95,.8),rgba(19,12,43,.93))!important;border:1px solid rgba(177,109,255,.50)!important;color:#f5ebff!important;box-shadow:inset 0 1px rgba(255,255,255,.06);text-align:left!important}
.ol-contact-stats button:hover{border-color:#db9bff!important;box-shadow:0 0 23px rgba(153,62,255,.26);transform:translateY(-1px)}
.ol-stat-glyph{display:grid;place-items:center;color:#ad71ff;min-width:30px;text-shadow:0 0 19px rgba(188,111,255,.35)}
.ol-stat-glyph svg{width:32px;height:32px;display:block;filter:drop-shadow(0 0 8px rgba(159,89,255,.25))}
.ol-stat-hearts .ol-stat-glyph{color:#ff4b8b;text-shadow:0 0 19px rgba(255,61,135,.4)}
.ol-stat-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.ol-stat-label{font-size:11px;line-height:1.15;color:#d9c7ed}
.ol-stat-number{font-size:21px;line-height:1.08;color:white;letter-spacing:-.03em}
/* social actions */
.ol-contact-actions{gap:11px!important;margin:8px 0 18px;align-items:stretch}
.ol-contact-actions>.ol-contact-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;flex:1 1 calc(32% - 10px);min-height:51px;padding:13px 17px;border-radius:13px;border:1px solid rgba(182,119,255,.68);background:linear-gradient(155deg,rgba(61,37,105,.9),rgba(32,19,68,.94));color:#f8eaff;font-size:13px;font-weight:800;line-height:1.3;letter-spacing:-.015em;box-shadow:inset 0 1px rgba(255,255,255,.065);transition:transform .15s,background .15s,box-shadow .15s}
.ol-contact-actions>.ol-contact-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 7px 24px rgba(153,72,255,.2)}
.ol-contact-actions>.ol-contact-primary{background:linear-gradient(110deg,#b547ff,#7b22e8 84%);border-color:#e3a8ff;box-shadow:0 8px 24px rgba(132,43,235,.23),inset 0 1px rgba(255,255,255,.25)}
.ol-contact-actions>.ol-action-heart{background:linear-gradient(145deg,#362151,#25133e)}
.ol-contact-actions>.ol-action-block{background:linear-gradient(145deg,rgba(78,20,56,.4),rgba(42,12,48,.58));color:#ff94c0;border:1px solid rgba(255,77,139,.82);flex-basis:40%}
.ol-contact-actions>.ol-action-friend{flex-basis:41%}
.ol-contact-actions>.ol-contact-subtle:not(.ol-action-block){border-color:rgba(157,118,203,.52)}
/* Myspace-inspired Top 8 */
.ol-top8-card{position:relative;isolation:isolate;overflow:hidden;margin-top:23px;padding:clamp(17px,2.6vw,25px);background:radial-gradient(ellipse 76% 60% at 105% 115%,rgba(113,45,213,.33),transparent 78%),radial-gradient(ellipse 55% 46% at -9% -12%,rgba(153,68,241,.18),transparent 78%),linear-gradient(145deg,#271541,#170d2d);border:1px solid rgba(192,112,255,.75);border-radius:23px;box-shadow:0 0 25px rgba(136,55,224,.16),inset 0 1px rgba(255,255,255,.08)}
.ol-top8-card:before{content:"";position:absolute;right:-60px;bottom:-95px;width:500px;height:200px;border-radius:50%;border:1px solid rgba(168,87,255,.21);box-shadow:0 0 0 24px rgba(168,87,255,.035),0 0 0 52px rgba(168,87,255,.025);pointer-events:none;z-index:-1}
.ol-top8-header{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 15px}
.ol-top8-header h3{font-size:clamp(16px,2.3vw,22px);color:#ffdc91;margin:0;font-weight:850;letter-spacing:-.03em}
.ol-top8-counter{color:#bb96e5;border:1px solid rgba(183,117,255,.28);background:rgba(28,16,57,.6);border-radius:999px;padding:5px 10px;font-size:12px;white-space:nowrap}
.ol-top8-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.ol-top8-placeholder{min-height:88px;background:linear-gradient(151deg,rgba(61,38,103,.33),rgba(27,16,54,.72));border:1px dashed rgba(165,103,245,.5);border-radius:14px;display:grid;place-items:center;color:#9867d5;box-shadow:inset 0 1px rgba(255,255,255,.035)}
.ol-top8-placeholder-icon{display:grid;place-items:center;opacity:.75;color:#a878ee}.ol-top8-placeholder-icon svg{width:30px;height:30px}
.ol-top8-tile{padding:8px 3px;min-width:0;border-radius:13px;background:linear-gradient(145deg,#43226e,#211139);border:1px solid rgba(167,99,249,.67);box-shadow:0 5px 18px rgba(12,3,33,.25);transition:transform .15s,border-color .15s}
.ol-top8-tile:hover{transform:translateY(-3px);border-color:#e3b0ff}
.ol-top8-avatar{width:clamp(37px,5vw,52px);height:clamp(37px,5vw,52px);border-radius:12px;background:linear-gradient(140deg,#804ab8,#41236e);color:#fff;border:1px solid rgba(244,202,255,.3)}
.ol-top8-name{display:block;overflow:hidden;text-overflow:ellipsis;width:100%;white-space:nowrap;color:#f9eeff}
.ol-top8-rank{font-size:10px;color:#ffd47d}
.ol-top8-empty-note{text-align:center!important;color:#cdb1e9!important;font-size:13px;line-height:1.6;padding-top:12px;margin:8px 0 7px!important}
.ol-top8-manage{display:block;width:100%;margin:11px 0 0;background:linear-gradient(105deg,#51288a,#7432a5);border-color:rgba(218,147,255,.6);text-align:center;border-radius:12px}
/* Friends / requests / private inbox polished too */
.ol-contact-heading{font-size:23px;letter-spacing:-.04em;color:#ffefff}
.ol-contact-muted{color:#c8b3e2;font-size:13px}
.ol-friend-row{border-bottom:1px solid rgba(171,99,255,.2);gap:12px;padding:12px;border-radius:12px}
.ol-friend-row:hover{background:rgba(99,46,167,.13)}
.ol-friend-avatar{width:45px;height:45px;border-radius:14px;background:linear-gradient(150deg,#9659ce,#432568);box-shadow:0 0 14px rgba(151,64,255,.14)}
.ol-friend-open{font-size:14px;text-decoration:none}
.ol-friend-open:hover{color:#fff;text-decoration:underline}
.ol-contact-btn{transition:transform .15s,border-color .15s,box-shadow .15s}
.ol-contact-content button:focus-visible,.ol-contacts-content button:focus-visible{outline:2px solid #ffd68a;outline-offset:3px}
.ol-inbox-item{background:linear-gradient(160deg,#31204e,#21143b);border-color:rgba(182,113,255,.42);min-height:54px}
.ol-contact-thread{background:linear-gradient(145deg,#100a20,#1a0e2b);border-color:rgba(179,114,255,.46);border-radius:17px}
.ol-dm-msg.mine{background:linear-gradient(140deg,#8740d6,#5b2aa6)}
.ol-dm-msg.theirs{background:linear-gradient(140deg,#432663,#2f1d49)}
.ol-contact-compose textarea{background:#0d091b;border-color:rgba(179,117,248,.55);border-radius:13px}
/* responsive sizing */
@media(max-width:780px){.ol-contacts-dialog{width:min(690px,100%)}.ol-top8-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ol-top8-placeholder{min-height:79px}.ol-contact-stats{gap:8px!important}.ol-contact-stats>*{padding:9px 6px!important}.ol-stat-glyph svg{width:25px;height:25px}}
@media(max-width:600px){
 .ol-contacts-overlay{padding:6px;backdrop-filter:blur(9px)}
 .ol-contacts-dialog{max-height:calc(100dvh - 12px);border-radius:22px}
 .ol-contacts-top{min-height:60px;padding:11px 15px}
 .ol-contacts-content{padding:13px}
 .ol-contacts-close{min-width:39px;height:39px;border-radius:11px}
 .ol-contact-profile-head{padding:15px;min-height:120px;gap:13px;border-radius:18px}
 .ol-contact-profile-head:before{width:210px;height:210px;right:-78px;top:-60px}
 .ol-contact-avatar{width:72px;height:72px;border-radius:19px;font-size:29px}
 .ol-contact-names{max-width:calc(100% - 85px);gap:6px}
 .ol-contact-names strong{font-size:clamp(18px,4.5vw,24px)}
 .ol-owner-tag{font-size:10px;padding:5px 10px}
 .ol-contact-bio{padding:14px 13px 14px 40px!important;font-size:14px;margin-bottom:12px!important}
 .ol-contact-bio:before{left:13px;top:7px;font-size:32px}
 .ol-contact-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
 .ol-contact-stats>*{min-height:61px;justify-content:flex-start;padding:10px 13px!important}
 .ol-contact-actions>.ol-contact-btn{flex-basis:calc(50% - 10px);min-height:45px;padding:10px 8px;font-size:12px}
 .ol-contact-actions>.ol-action-dm{flex-basis:100%}
 .ol-top8-card{padding:14px;border-radius:18px}
 .ol-top8-grid{gap:7px}.ol-top8-placeholder{min-height:65px;border-radius:11px}.ol-top8-placeholder-icon svg{width:24px;height:24px}
 .ol-top8-avatar{width:36px;height:36px}.ol-top8-name{font-size:9px}
 .ol-top8-header h3{font-size:16px}
 .ol-contact-heading{font-size:19px}
 .chat-quick-link{padding:9px 12px}
}
@media(prefers-reduced-motion:reduce){.ol-contact-actions>.ol-contact-btn,.ol-top8-tile,.ol-contact-stats button{transition:none!important}}
