:root{
  --accent:#2f64d7;
  --accent2:#14398f;
  --hot:#ff3f9f;
  --ink:#111426;
  --muted:#646a7b;
  --paper:#fff;
  --silver:#dfe4ed;
  --silver2:#f8faff;
  --line:#8591ab;
  --soft:#eef3ff;
  --online:#21c34b;
  --shadow:#111a3c;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;max-width:100%;overflow-x:hidden}
html{background:#0d1236}
body{font-family:Tahoma,Verdana,Arial,sans-serif;font-size:13px;color:var(--ink);background:
 radial-gradient(circle at 20% 15%,#ffffffaa 0 1px,transparent 1.7px) 0 0/34px 34px,
 radial-gradient(circle at 75% 70%,#ff9bd3aa 0 1px,transparent 1.8px) 0 0/57px 57px,
 linear-gradient(145deg,#070a22 0%,#161d55 47%,#47154b 100%);background-attachment:fixed}
button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}.hidden{display:none!important}
a{color:#174ea6;text-decoration:underline;cursor:pointer}.center{text-align:center}.muted{color:var(--muted)}.tiny{font-size:10px}.small{font-size:11px}.danger{color:#aa1822}.good{color:#087b2b}.grow{flex:1}.spacer{height:8px}hr{border:0;border-top:1px solid #c7cedd;margin:10px 0}
.window{background:#d8dee9;border:2px solid;border-color:#fff #415073 #415073 #fff;box-shadow:0 0 0 1px #09123b,7px 8px 24px #0008}
.titlebar{min-height:28px;padding:5px 8px;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,#0e2c87 0,#2868dd 48%,#ff4f9f 100%);border-bottom:1px solid #0b235c;text-shadow:1px 1px #07184b;letter-spacing:.4px}
.title-icons{font-family:monospace;font-weight:normal;letter-spacing:2px}.window-body{padding:10px;background:linear-gradient(#f7f8fb,#d9dfeb)}
.inset{background:#fff;border:2px solid;border-color:#6b7894 #fff #fff #6b7894;padding:8px}
.logo{font-family:Arial Black,Impact,sans-serif;font-style:italic;letter-spacing:-2.8px;color:#163eaa;text-shadow:1px 1px #fff,0 0 1px #0b1d5c}.logo span{color:#e62d83}.logo.big{font-size:42px}.logo.small-logo{font-size:24px;user-select:none;cursor:pointer}
.boot-screen{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#313d8a,#0b0f2b 64%,#050716);z-index:100;padding:16px}.boot-window{width:min(430px,94vw)}.progress{height:18px;border:2px inset #ddd;background:#fff;overflow:hidden}.progress i{display:block;height:100%;width:74%;background:repeating-linear-gradient(90deg,#2558c5 0 12px,#7fa9ff 12px 16px);animation:load 1.1s infinite linear}@keyframes load{from{transform:translateX(-30%)}to{transform:translateX(40%)}}
.auth-shell{min-height:100svh;display:grid;place-items:center;padding:18px}.auth-window{width:min(860px,96vw)}.auth-body{display:grid;grid-template-columns:1.15fr .85fr;gap:10px}.auth-promo{position:relative;overflow:hidden;min-height:430px;padding:18px;background:
 linear-gradient(#ffffffd9,#ffffffd9),
 radial-gradient(circle at 10% 20%,#e8a6ff 0 5px,transparent 6px) 0 0/28px 28px,
 linear-gradient(135deg,#c9d8ff,#ffd2ea);border:2px inset #eef2fb}.auth-logo-wrap{position:relative;z-index:2;padding:4px 2px 14px}.auth-tag{font:700 16px/1.25 Trebuchet MS,Tahoma,sans-serif;letter-spacing:-.2px;color:#172046}.ticker{position:relative;z-index:2;border:2px inset #cfd8f2;background:#060c36;color:#7cffad;font:12px "Courier New",monospace;padding:7px;white-space:nowrap;overflow:hidden;box-shadow:inset 0 0 12px #000}.ticker span{display:inline-block;animation:ticker 18s linear infinite}@keyframes ticker{from{transform:translateX(95%)}to{transform:translateX(-100%)}}
.auth-art{position:absolute;inset:145px 16px 16px;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(.2px);opacity:.78}.orb-a{width:180px;height:180px;right:-20px;top:10px;background:radial-gradient(circle at 35% 28%,#fff 0 9%,#9fc8ff 23%,#3864cb 57%,#371462 100%);box-shadow:0 0 35px #6099ff99}.orb-b{width:125px;height:125px;left:-24px;bottom:-10px;background:radial-gradient(circle at 35% 30%,#fff 0 10%,#ffc7e5 25%,#e24796 60%,#5f173f 100%);box-shadow:0 0 30px #ff68b788}.screen-card{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) rotate(-2deg);width:min(280px,77%);padding:14px;border:2px solid #6f7891;background:linear-gradient(#fefefe,#dce4f4);box-shadow:5px 5px 0 #69728a80;display:grid;gap:8px}.screen-card b{font:700 16px Trebuchet MS,Tahoma,sans-serif;color:#102c7c}.screen-card span{padding:5px 7px;background:#fff;border:1px solid #b6bfd0}
.auth-panel{align-self:center;background:linear-gradient(#eff2f7,#d3d9e5);border:2px outset #f2f3f6;padding:12px;box-shadow:inset 0 0 0 1px #c0c8d7}.auth-tabs{display:flex;gap:4px;margin-bottom:12px}.tab{flex:1;border:2px outset #eff1f5;background:linear-gradient(#fff,#d6dce8);padding:7px 10px;font-weight:700;color:#35405a}.tab.active{border-style:inset;background:#fff;color:#143d9f}.field{display:grid;gap:4px;margin:10px 0}.field label{font-weight:700;color:#252b3d}.field input,.field textarea,.field select,.searchbox{width:100%;min-width:0;border:2px inset #dde3ec;background:#fff;padding:7px;color:#111}.field textarea{min-height:92px;resize:vertical}.prefix-input{display:flex;align-items:center;border:2px inset #dde3ec;background:white}.prefix-input span{padding-left:8px;color:#677087;font-weight:bold}.prefix-input input{border:0!important;outline:0;box-shadow:none}.btn{border:2px outset #eef0f4;background:linear-gradient(#fff,#d7dce5);padding:6px 10px;color:#15182a}.btn:active{border-style:inset}.btn.primary{background:linear-gradient(#fff,#d8e6ff);font-weight:700}.btn.blue{background:linear-gradient(#70a1ff,#1f58c6 48%,#17419d);color:#fff;border-color:#a9c4ff #0f2d78 #0f2d78 #a9c4ff;text-shadow:1px 1px #173781}.btn.pink{background:linear-gradient(#ff9dca,#e43f91 52%,#ad1f67);color:#fff;border-color:#ffc3dd #7d154a #7d154a #ffc3dd;text-shadow:1px 1px #821445}.btn.small-btn{padding:3px 6px;font-size:11px}.btn.block{width:100%}
.site-ribbon{max-width:100%;height:24px;padding:4px 9px;background:#070d34;color:#a5ffba;border-bottom:1px solid #5d6c9d;font:11px "Courier New",monospace;display:flex;justify-content:space-between;align-items:center;letter-spacing:.4px}
.shell{max-width:1160px;margin:18px auto;min-height:calc(100vh - 36px);background:#e9edf5;border:1px solid #73809e;box-shadow:0 0 0 2px #f9fbff,0 0 0 3px #111a46,0 16px 38px #0009}
.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(#fbfcff,#c9d1df);border-bottom:1px solid #6f7991;box-shadow:inset 0 1px #fff,0 2px 4px #0002;padding:6px 9px;display:flex;align-items:center;gap:12px}.topbar .nav{display:flex;gap:4px;flex:1}.nav button{border:1px solid #7d879c;background:linear-gradient(#fff,#dce2ec);padding:5px 9px;color:#28304a}.nav button:hover{background:linear-gradient(#fff,#edf3ff)}.nav button.active{background:linear-gradient(#eaf1ff,#fff);border-color:#2f62bf;color:#123b9a;box-shadow:inset 0 -2px #ff4f9f}.top-user{display:flex;align-items:center;gap:7px;white-space:nowrap}.mini-avatar,.avatar{object-fit:cover;background:#fff;border:2px solid #fff;outline:1px solid #7e899e}.mini-avatar{width:25px;height:25px}.sidebar-avatar{width:72px;height:72px;display:block;margin:2px auto 8px}.layout{display:grid;grid-template-columns:205px minmax(0,1fr) 210px;gap:8px;padding:8px}.sidebar,.rightbar{display:grid;gap:8px;align-content:start}.main{min-width:0;display:grid;gap:8px;align-content:start}.panel{background:#fff;border:1px solid #8791a5;box-shadow:inset 0 0 0 1px #f8f9fb}.panel-head{min-height:27px;padding:5px 7px;font-weight:700;color:#fff;background:linear-gradient(90deg,var(--accent2),var(--accent) 66%,#8db1ff);display:flex;justify-content:space-between;align-items:center;text-shadow:1px 1px #112d70;border-bottom:1px solid #4e5b79}.panel-body{padding:9px}.profile-mini .panel-head{background:linear-gradient(90deg,#781547,#e13b8b 60%,#ff94c4)}.quicklinks{display:grid}.quicklinks button{border:0;border-top:1px solid #fff;border-bottom:1px solid #c9d0dd;background:linear-gradient(#fefefe,#eceff5);text-align:left;padding:7px 8px;color:#1c315f}.quicklinks button:hover{background:#e8efff}.buddy-row{display:flex;align-items:center;gap:7px;padding:5px 2px;border-bottom:1px dotted #c0c6d2}.dot{width:9px;height:9px;border-radius:50%;background:#9399a8;display:inline-block;border:1px solid #626977}.dot.online{background:var(--online);border-color:#12832d;box-shadow:0 0 4px #16d847}.dot.away{background:#f0a617}.avatar-lg{width:150px;height:150px;object-fit:cover;border:4px double #60697d;background:#fff;box-shadow:3px 3px 0 #a1a7b3}.cover{height:145px;background:linear-gradient(135deg,#d5e2ff,#ffd6eb);background-size:cover;background-position:center;border-bottom:1px solid #7a849b}.profile-head{display:grid;grid-template-columns:165px 1fr;gap:12px;margin-top:-42px;padding:0 12px 12px}.profile-info{margin-top:47px}.profile-name{font:700 25px/1.1 Trebuchet MS,Tahoma,sans-serif}.profile-handle{color:#5f6677;margin-top:3px}.status-box{margin-top:8px;border:1px dashed #8096c8;background:#f5f8ff;padding:7px}.action-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.staff-badge{display:inline-block;padding:1px 4px;font:700 9px Tahoma,sans-serif;border:1px solid;vertical-align:2px;text-decoration:none;letter-spacing:.4px}.staff-badge.developer{color:#fff;background:linear-gradient(#ff5bb0,#b31967);border-color:#7f1349}.staff-badge.mod{color:#fff;background:linear-gradient(#5d8ff2,#2047a6);border-color:#163379}
.feed-item{border-bottom:1px solid #d4d9e2;padding:10px 0}.feed-item:last-child{border-bottom:0}.feed-top{display:flex;gap:8px;align-items:flex-start}.feed-avatar{width:43px;height:43px;object-fit:cover;border:1px solid #7c869b;background:#eee}.feed-meta{flex:1;min-width:0}.feed-name{font-weight:700}.feed-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0;font-size:13px;line-height:1.45}.feed-title{font:700 16px Trebuchet MS,Tahoma,sans-serif;color:#1c3f98;margin:5px 0}.feed-actions{display:flex;gap:11px;font-size:11px}.composer textarea{width:100%;height:82px;border:2px inset #dfe4ec;resize:vertical;padding:7px}.composer-bottom{display:flex;gap:6px;justify-content:space-between;align-items:center;margin-top:6px}.pill{display:inline-block;font-size:10px;border:1px solid #8a92a2;background:#eee;padding:2px 5px;margin-right:4px}.pill.pink{background:#ffd7eb}.pill.blue{background:#dbe8ff}.pill.green{background:#dcffdf}.empty{padding:20px;text-align:center;color:#6f7585;background:#fbfcfe;border:1px dashed #b5bdcc}.split{display:grid;grid-template-columns:1fr 1fr;gap:8px}.friend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px}.friend-card{text-align:center;border:1px solid #a3abb9;background:linear-gradient(#fff,#f1f3f7);padding:8px}.friend-card img{width:76px;height:76px;object-fit:cover;border:2px solid #fff;outline:1px solid #888}.top8{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.top8 .friend-card{padding:5px}.top8 .friend-card img{width:58px;height:58px}.search-results{display:grid;gap:6px}.person-row{display:flex;gap:9px;align-items:center;border-bottom:1px solid #dde1e8;padding:7px 0}.person-row img{width:46px;height:46px;object-fit:cover;border:1px solid #7a8498}.person-row .grow{flex:1;min-width:0}.messages-layout{display:grid;grid-template-columns:235px 1fr;min-height:560px;border:1px solid #7d879a;background:#fff}.conv-list{border-right:1px solid #7d879a;background:#eef1f6}.conv-item{display:flex;gap:7px;padding:8px;border-bottom:1px solid #cbd1dd;cursor:pointer}.conv-item:hover,.conv-item.active{background:linear-gradient(#eef5ff,#d9e7ff)}.conv-item img{width:39px;height:39px;object-fit:cover;border:1px solid #777}.chat{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.chat-head{background:linear-gradient(#fbfcff,#d7dde8);border-bottom:1px solid #8791a4;padding:8px;font-weight:700}.chat-log{padding:10px;overflow:auto;max-height:480px;background:linear-gradient(#fff,#fbfcff)}.bubble{margin:7px 0;max-width:80%;border:1px solid #aab1bf;background:#f1f2f5;padding:7px 9px;white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:1px 1px 0 #fff}.bubble.me{margin-left:auto;background:#dfe9ff;border-color:#7790c5}.bubble .when{display:block;color:#777f8d;font-size:10px;margin-top:3px}.chat-send{display:flex;gap:5px;border-top:1px solid #8791a4;background:#dde2eb;padding:7px}.chat-send input{flex:1;min-width:0;border:2px inset #dfe4ec;padding:7px}.guestbook-entry{display:grid;grid-template-columns:45px 1fr;gap:8px;padding:8px 0;border-bottom:1px dotted #b9bfca}.guestbook-entry img{width:42px;height:42px;object-fit:cover;border:1px solid #777}.group-row{padding:8px 0;border-bottom:1px solid #d4d8df;display:flex;gap:9px;align-items:center}.group-icon{width:44px;height:44px;display:grid;place-items:center;background:linear-gradient(#eef3ff,#d2def8);border:2px outset #eee;font-size:20px}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.theme-choice{height:60px;border:2px outset #ddd;padding:6px;cursor:pointer}.theme-choice.selected{outline:2px solid #173b91}.theme-silver-blue{background:linear-gradient(#eee,#bfc8e8)}.theme-bubblegum{background:linear-gradient(#fff1fa,#f1b5d3)}.theme-xp{background:linear-gradient(#e7f0ff,#a7cdfd)}.theme-lime{background:linear-gradient(#f8ffd8,#c8ef76)}.theme-night{background:linear-gradient(#333,#090b1f);color:white}.badge{background:#c20d32;color:white;border-radius:8px;padding:1px 5px;font-size:10px}.footer{padding:12px;text-align:center;color:#596175;font-size:10px;border-top:1px solid #c5ccda;background:#e1e6ee}.staff-search{display:flex;gap:6px}.staff-list{margin-top:7px}.staff-panel .panel-head{background:linear-gradient(90deg,#6c1545,#d72f81 60%,#ff7db9)}
.toast{position:fixed;right:14px;bottom:14px;z-index:100;background:#fff;border:2px solid;border-color:#fff #39415a #39415a #fff;box-shadow:4px 4px 0 #1118;padding:9px 12px;max-width:min(340px,calc(100vw - 28px))}.toast.error{background:#ffe8ed}.modal-backdrop{position:fixed;inset:0;background:#0009;z-index:50;display:grid;place-items:center;padding:15px}.modal{width:min(560px,96vw);max-height:85vh;overflow:auto}.checklist{display:grid;gap:5px;max-height:300px;overflow:auto}.checkrow{display:flex;align-items:center;gap:8px;padding:6px;background:#fff;border:1px solid #ccd1da}.checkrow img{width:36px;height:36px;object-fit:cover}
body.theme-bubblegum{--accent:#db418e;--accent2:#8c1d58;background:radial-gradient(circle at 20% 15%,#fff 0 1px,transparent 1.7px) 0 0/34px 34px,linear-gradient(145deg,#4e1639,#b5477e)}body.theme-xp{--accent:#3f7fe7;--accent2:#174da7;background:linear-gradient(#406eb8,#78a8df)}body.theme-lime{--accent:#789d19;--accent2:#3f6204;background:linear-gradient(#35450c,#899f35)}body.theme-night{--accent:#5969d3;--accent2:#262f81;--ink:#eef1ff;background:#070817}.theme-night .shell{background:#181a26;color:#eef1ff}.theme-night .panel,.theme-night .panel-body,.theme-night .feed-item,.theme-night .main{background:#171924;color:#eef1ff}.theme-night .quicklinks button{background:#222536;color:#eef1ff;border-color:#3d4254}.theme-night .auth-panel,.theme-night .window-body{background:#242635;color:#eef1ff}.theme-night a{color:#9bbcff}.theme-night .muted{color:#aab0c1}
@media(max-width:940px){.shell{margin:0 auto;min-height:100vh;border-top:0;border-bottom:0}.layout{grid-template-columns:180px minmax(0,1fr)}.rightbar{display:none}.topbar{flex-wrap:wrap}.topbar .nav{order:3;flex-basis:100%;overflow:auto;padding-bottom:1px}.topbar .nav button{white-space:nowrap}.top-user{margin-left:auto}.top8{grid-template-columns:repeat(4,1fr)}}
@media(max-width:690px){html,body{font-size:12px}.auth-shell{padding:0;place-items:stretch}.auth-window{width:100%;min-height:100svh;border-width:0;box-shadow:none}.auth-window .titlebar{position:sticky;top:0;z-index:5}.auth-body{grid-template-columns:1fr;padding:8px;align-content:start}.auth-promo{min-height:165px;padding:12px}.auth-logo-wrap{padding-bottom:8px}.logo.big{font-size:34px}.auth-tag{font-size:13px}.auth-art{display:none}.ticker{font-size:10px}.auth-panel{padding:10px}.shell{border:0;box-shadow:none}.site-ribbon{height:22px}.layout{display:block;padding:5px}.sidebar{display:none}.main{gap:5px}.topbar{position:sticky;top:0;padding:5px 6px;gap:7px}.logo.small-logo{font-size:19px}.topbar .nav{gap:2px;scrollbar-width:none}.topbar .nav::-webkit-scrollbar{display:none}.nav button{padding:5px 7px;font-size:10px}.top-user .name{display:none}.top-user .mini-avatar{display:none}.top-user .btn{font-size:10px;padding:4px 6px}.profile-head{grid-template-columns:105px 1fr;margin-top:-28px;padding:0 8px 8px}.avatar-lg{width:95px;height:95px}.profile-info{margin-top:30px}.profile-name{font-size:20px}.cover{height:105px}.split{grid-template-columns:1fr}.top8{grid-template-columns:repeat(4,1fr);gap:4px}.top8 .friend-card img{width:48px;height:48px}.friend-grid{grid-template-columns:repeat(2,1fr)}.messages-layout{grid-template-columns:84px minmax(0,1fr);min-height:72vh}.conv-item{display:block;text-align:center;padding:6px 3px}.conv-item img{width:42px;height:42px}.conv-item .conv-text{font-size:9px;overflow:hidden}.chat-log{max-height:60vh}.bubble{max-width:94%}.theme-grid{grid-template-columns:1fr 1fr}.panel-body{padding:8px}.person-row{gap:6px}.person-row .btn{padding:4px 6px}.staff-search{display:grid;grid-template-columns:1fr auto}.footer{padding:8px}.toast{right:8px;bottom:8px;max-width:calc(100vw - 16px)}}

/* Buddyline profile studio v2 */
.site-ribbon{display:none!important}
body{color:#111426}

button{color:inherit}.topbar{top:0}.theme-choice{color:#111!important}.theme-night{color:#fff!important}
.layout:has(.profile-stage),.layout:has(.customize-shell){grid-template-columns:minmax(0,1fr)}
.layout:has(.profile-stage)>.sidebar,.layout:has(.profile-stage)>.rightbar,.layout:has(.customize-shell)>.sidebar,.layout:has(.customize-shell)>.rightbar{display:none}
.layout:has(.profile-stage),.layout:has(.customize-shell){padding:0}
.main:has(.profile-stage),.main:has(.customize-shell){gap:0}
.profile-stage{position:relative;width:100%;min-height:760px;padding:22px 10px 34px;color:var(--p-text);font-family:var(--p-font),sans-serif;background-color:var(--p-bg);overflow:hidden}
.profile-stage.pattern-stars{background-image:radial-gradient(circle,#fff9 0 1px,transparent 1.8px),radial-gradient(circle,#ffb6df88 0 1px,transparent 1.8px);background-size:31px 31px,67px 67px;background-position:0 0,14px 19px}
.profile-stage.pattern-dots{background-image:radial-gradient(circle,var(--p-accent) 0 1.3px,transparent 1.5px);background-size:19px 19px}
.profile-stage.pattern-grid{background-image:linear-gradient(#ffffff25 1px,transparent 1px),linear-gradient(90deg,#ffffff25 1px,transparent 1px);background-size:22px 22px}
.profile-stage.pattern-checker{background-image:linear-gradient(45deg,#ffffff16 25%,transparent 25%,transparent 75%,#ffffff16 75%),linear-gradient(45deg,#ffffff16 25%,transparent 25%,transparent 75%,#ffffff16 75%);background-size:30px 30px;background-position:0 0,15px 15px}
.profile-stage.pattern-swirl{background-image:radial-gradient(ellipse at 20% 10%,#fff8 0 4%,transparent 34%),radial-gradient(ellipse at 80% 40%,#fff5 0 3%,transparent 35%),radial-gradient(ellipse at 30% 85%,var(--p-accent)33 0 3%,transparent 38%)}
.profile-stage.pattern-none{background-image:none}
.profile-stage.effect-soft-glow .profile-box,.profile-stage.effect-soft-glow .profile-identity{filter:drop-shadow(0 0 9px var(--p-glow))}
.profile-stage.effect-scanlines:after,.profile-stage.effect-crt:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:20;background:repeating-linear-gradient(to bottom,transparent 0 3px,#00000018 3px 4px)}
.profile-stage.effect-crt:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:19;background:radial-gradient(ellipse at center,transparent 50%,#0007 130%)}
.profile-stage.effect-sparkle:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 12% 18%,#fff 0 1px,transparent 2px),radial-gradient(circle at 72% 26%,#fff 0 1.5px,transparent 2.5px),radial-gradient(circle at 38% 78%,#fff 0 1px,transparent 2px),radial-gradient(circle at 86% 68%,#fff 0 1px,transparent 2px);background-size:150px 120px,210px 180px,170px 160px,240px 210px;opacity:.8}
.profile-page{position:relative;z-index:2;width:min(var(--p-width),100%);margin:auto;color:var(--p-text)}
.profile-page a{color:var(--p-link)!important}
.profile-page code{font-family:"Courier New",monospace}
.profile-marquee{position:relative;z-index:3;width:min(var(--p-width),100%);margin:0 auto 8px;overflow:hidden;border:1px solid var(--p-border);background:var(--p-panel);color:var(--p-panel-text);box-shadow:0 0 var(--p-glow-size) var(--p-glow)}
.profile-marquee-track{display:inline-block;min-width:max-content;padding:6px 0;font-weight:700;white-space:nowrap;animation:profileMarquee 18s linear infinite}
@keyframes profileMarquee{from{transform:translateX(100vw)}to{transform:translateX(-100%)}}
.profile-banner{height:172px;border:var(--p-border-width,2px) var(--p-border-style,solid) var(--p-border);border-style:solid;background:linear-gradient(135deg,var(--p-head),var(--p-accent));background-size:cover;background-position:center;box-shadow:0 0 var(--p-glow-size) var(--p-glow);border-radius:var(--p-radius) var(--p-radius) 0 0}
.profile-identity{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:end;margin-top:-58px;padding:0 16px 14px;color:var(--p-text)}
.profile-avatar-wrap{position:relative}.profile-avatar{display:block;width:164px;height:164px;object-fit:cover;background:#fff;border:6px double var(--p-border);box-shadow:0 0 var(--p-glow-size) var(--p-glow);border-radius:var(--p-radius)}
.online-stamp{position:absolute;right:8px;bottom:8px;padding:3px 6px;border:2px outset #fff;background:#a9a9a9;color:#fff;font:700 10px Tahoma,sans-serif;transform:rotate(-3deg)}.online-stamp.is-online{background:#3aaf28}
.identity-copy{padding:12px;background:color-mix(in srgb,var(--p-panel) 92%,transparent);color:var(--p-panel-text);border:2px solid var(--p-border);box-shadow:0 0 var(--p-glow-size) var(--p-glow);border-radius:var(--p-radius)}
.profile-display{font-size:28px;font-weight:800;line-height:1.05}.profile-user{margin-top:3px;opacity:.72}.profile-headline{margin-top:10px;font-size:15px;font-style:italic}.profile-mood{margin-top:10px;padding-top:8px;border-top:1px dotted var(--p-border)}
.profile-columns{display:grid;grid-template-columns:285px minmax(0,1fr);gap:10px;align-items:start}.profile-stage.layout-wide .profile-columns{grid-template-columns:240px minmax(0,1fr)}.profile-stage.layout-stacked .profile-columns{grid-template-columns:1fr}.profile-left,.profile-right{display:grid;gap:10px;align-content:start}
.profile-box{overflow:hidden;background:var(--p-panel);color:var(--p-panel-text);border:2px solid var(--p-border);border-style:var(--p-border-style,solid);border-radius:var(--p-radius);box-shadow:0 0 var(--p-glow-size) var(--p-glow)}
.profile-box-head{padding:6px 8px;background:var(--p-head);color:var(--p-head-text);font-weight:800;letter-spacing:.2px;border-bottom:1px solid var(--p-border)}
.profile-box-body{padding:10px;line-height:1.4}.profile-box-body h3{margin:3px 0 6px;color:var(--p-accent);font-size:14px}.profile-bio{white-space:pre-wrap;overflow-wrap:anywhere}.profile-muted{opacity:.72}.profile-empty{text-align:center;padding:16px;opacity:.65;font-style:italic}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.retro-action{display:flex;gap:7px;align-items:center;border:0;background:transparent;color:var(--p-link);padding:5px;text-align:left;text-decoration:underline;cursor:pointer}.retro-action:hover{background:color-mix(in srgb,var(--p-accent) 10%,transparent)}.contact-ico{display:grid;place-items:center;flex:0 0 23px;height:23px;border:1px solid var(--p-border);background:linear-gradient(#fff,var(--p-panel));color:var(--p-accent);font:bold 9px Tahoma,sans-serif;text-decoration:none;border-radius:4px}
.interests-table{display:grid;grid-template-columns:90px 1fr;gap:0!important;padding:0!important}.interests-table>div{padding:8px;border-bottom:1px solid color-mix(in srgb,var(--p-border) 45%,transparent)}.interests-table>div:nth-child(odd){font-weight:700;background:color-mix(in srgb,var(--p-accent) 10%,var(--p-panel))}
.music-card{display:grid;grid-template-columns:92px 1fr;gap:10px;align-items:center}.album-art{width:90px;height:90px;object-fit:cover;border:2px solid var(--p-border);box-shadow:4px 4px 0 color-mix(in srgb,var(--p-border) 45%,transparent)}.record-disc{width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#e64d93 0 8%,#fff 9% 12%,#17171d 13% 45%,#333 46% 47%,#15151a 48% 100%);box-shadow:3px 3px 0 #0004}.record-disc i{display:none}.music-bars{display:flex;height:20px;align-items:end;gap:2px;margin-top:10px}.music-bars i{width:5px;background:var(--p-accent);animation:eq .9s ease-in-out infinite alternate}.music-bars i:nth-child(2){height:70%;animation-delay:.2s}.music-bars i:nth-child(3){height:100%;animation-delay:.4s}.music-bars i:nth-child(4){height:55%;animation-delay:.1s}.music-bars i:nth-child(5){height:85%;animation-delay:.3s}@keyframes eq{from{height:20%}to{height:100%}}
.profile-url{display:block;overflow:auto;white-space:nowrap;padding:5px;border:1px inset var(--p-border);background:#fff;color:#111}.blog-list{display:grid;gap:6px}.blog-link{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted var(--p-border);padding-bottom:5px}.blog-link span{opacity:.65;font-size:10px}
.profile-top8{grid-template-columns:repeat(4,1fr)!important}.profile-stage .friend-card{background:color-mix(in srgb,var(--p-panel) 93%,var(--p-accent));border-color:var(--p-border);color:var(--p-panel-text)}.profile-stage .friend-card img{border-color:var(--p-border)}.profile-stage .feed-item{color:var(--p-panel-text);border-color:color-mix(in srgb,var(--p-border) 40%,transparent)}.profile-stage .feed-title{color:var(--p-accent)}.profile-stage .muted{color:color-mix(in srgb,var(--p-panel-text) 65%,transparent)}
.guestbook-compose{display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:8px}.guestbook-compose input{min-width:0;padding:7px;border:2px inset #ddd}.profile-stage .guestbook-entry{border-color:color-mix(in srgb,var(--p-border) 50%,transparent)}

.customize-shell .panel-body{padding:12px}.studio-intro{display:flex;flex-direction:column;gap:3px;padding:10px 12px;margin-bottom:10px;border:1px solid #b2bbcb;background:linear-gradient(90deg,#fff,#eef3ff)}.studio-intro b{font-size:16px;color:#253e87}.preset-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-bottom:10px}.preset-card{min-height:66px;padding:6px;border:2px outset #e5e8ef;background:#f7f8fb;color:#111;text-align:left;cursor:pointer}.preset-card span{display:block;height:28px;margin-bottom:4px;background:linear-gradient(90deg,var(--sw1),var(--sw2),var(--sw3));border:1px solid #6d7483}.preset-card.selected{outline:3px solid #ff3f9f;outline-offset:-1px}.style-preview{display:grid;place-items:center;min-height:150px;margin-bottom:12px;padding:14px;background-color:var(--p-bg);color:var(--p-text);font-family:var(--p-font);border:1px solid #79839a;overflow:hidden}.style-preview.pattern-stars{background-image:radial-gradient(circle,#fff 0 1px,transparent 1.7px);background-size:24px 24px}.style-preview.pattern-dots{background-image:radial-gradient(circle,var(--p-accent) 0 1px,transparent 1.3px);background-size:16px 16px}.style-preview.pattern-grid{background-image:linear-gradient(#ffffff30 1px,transparent 1px),linear-gradient(90deg,#ffffff30 1px,transparent 1px);background-size:20px 20px}.style-preview.pattern-checker{background-image:linear-gradient(45deg,#ffffff18 25%,transparent 25%,transparent 75%,#ffffff18 75%),linear-gradient(45deg,#ffffff18 25%,transparent 25%,transparent 75%,#ffffff18 75%);background-size:22px 22px;background-position:0 0,11px 11px}.style-preview.pattern-swirl{background-image:radial-gradient(ellipse at 20% 20%,#fff9 0 4%,transparent 35%),radial-gradient(ellipse at 80% 60%,#fff6 0 3%,transparent 38%)}.preview-card{width:min(480px,92%);padding:12px;background:var(--p-panel);color:var(--p-panel-text);border:2px solid var(--p-border);border-style:var(--p-border-style,solid);border-radius:var(--p-radius);box-shadow:0 0 var(--p-glow-size) var(--p-glow)}.preview-card b{display:block;font-size:20px}.preview-card a{color:var(--p-link)}.preview-card span{opacity:.7}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.studio-section{padding:10px;border:1px solid #aeb7c8;background:#f9faff}.studio-section h3{margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid #d7ddeb;color:#244188}.advanced-section{grid-column:1/-1}.color-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.color-field{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:8px;padding:5px 7px;background:#fff;border:1px solid #ccd2dd}.color-field input{width:48px;height:31px;padding:2px;border:1px solid #9ea7b8}.checkline{display:flex;align-items:center;gap:7px;margin:9px 0}.checkline input{width:auto!important}.studio-savebar{position:sticky;bottom:0;z-index:10;display:flex;justify-content:flex-end;gap:7px;margin:12px -12px -12px;padding:9px 12px;background:linear-gradient(#f6f8fc,#d9dfeb);border-top:1px solid #aab4c6}.studio-section input[type=range]{width:100%;accent-color:#e13c8d}

@media(max-width:900px){.preset-grid{grid-template-columns:repeat(3,1fr)}.studio-grid{grid-template-columns:1fr}.advanced-section{grid-column:auto}.profile-columns{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:690px){
  .topbar{display:grid;grid-template-columns:1fr auto;gap:4px 7px;padding:6px}.topbar .logo{grid-column:1}.top-user{grid-column:2}.topbar .nav{grid-column:1/-1;order:initial;display:flex;overflow-x:auto;width:100%;padding:3px 0}.topbar .nav button{font-size:11px;padding:6px 9px}.top-user .name,.top-user .mini-avatar{display:none}
  .profile-stage{padding:10px 0 24px}.profile-page,.profile-marquee{width:100%}.profile-banner{height:105px;border-left:0;border-right:0;border-radius:0}.profile-identity{grid-template-columns:92px 1fr;gap:8px;margin-top:-35px;padding:0 8px 8px}.profile-avatar{width:88px;height:88px;border-width:4px}.identity-copy{padding:8px}.profile-display{font-size:20px}.profile-headline{font-size:12px}.profile-mood{font-size:10px}.online-stamp{right:1px;bottom:2px;font-size:8px;padding:2px 3px}.profile-columns,.profile-stage.layout-wide .profile-columns{grid-template-columns:1fr;gap:7px}.profile-left,.profile-right{gap:7px}.profile-box{border-left:0;border-right:0;border-radius:0;box-shadow:0 0 calc(var(--p-glow-size)*.6) var(--p-glow)}.profile-box-head{padding:6px 9px}.contact-grid{grid-template-columns:1fr 1fr}.profile-top8{grid-template-columns:repeat(4,1fr)!important}.profile-top8 .friend-card{padding:4px}.profile-top8 .friend-card img{width:52px;height:52px}.music-card{grid-template-columns:80px 1fr}.album-art,.record-disc{width:78px;height:78px}.preset-grid{grid-template-columns:1fr 1fr}.studio-grid{display:block}.studio-section{margin-bottom:8px;padding:9px}.color-grid{grid-template-columns:1fr}.style-preview{min-height:120px}.studio-savebar{margin:10px -8px -8px;padding:8px}.customize-shell .panel-body{padding:8px}.layout:has(.profile-stage),.layout:has(.customize-shell){padding:0!important}.main:has(.profile-stage),.main:has(.customize-shell){margin:0}
}

/* Simplified profile maker */
.simple-studio .panel-body{padding:12px}
.easy-intro{margin-bottom:12px}
.easy-step{margin:0 0 12px;padding:12px;border:1px solid #aeb7c8;background:#f9faff}
.step-title{display:flex;align-items:center;gap:9px;margin-bottom:10px}.step-title>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:linear-gradient(#4f8cff,#2455bd);color:#fff;font-weight:800;border:1px solid #173c8f;box-shadow:inset 0 1px #9fc2ff}.step-title b{display:block;color:#213d84;font-size:16px}.step-title small{display:block;margin-top:1px;color:#606a7d;font-size:11px;font-weight:400}
.preset-card small{display:block;color:#687084;font-size:10px;font-weight:400;margin-top:2px}.preset-card{min-height:76px}.preset-card:hover{filter:brightness(1.03)}
.easy-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.easy-columns .easy-step{margin:0 0 12px}
.upload-simple{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:9px}.upload-simple label{display:flex;flex-direction:column;gap:4px;padding:7px;background:#fff;border:1px solid #c8cfdb;font-size:12px;font-weight:700;color:#273a68}.upload-simple input[type=file]{font-size:11px;width:100%}
.two-input{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quick-color-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.quick-look{background:linear-gradient(90deg,#f8fbff,#fff7fb)}
.studio-details{margin:0 0 10px;border:1px solid #aeb7c8;background:#f6f8fc}.studio-details>summary{cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:11px 13px;list-style:none;font-weight:800;color:#213d84;background:linear-gradient(#fff,#e8edf6);border-bottom:0}.studio-details>summary::-webkit-details-marker{display:none}.studio-details>summary:after{content:'+';position:absolute;right:26px;font-size:18px;color:#5070ad}.studio-details[open]>summary:after{content:'–'}.studio-details>summary{position:relative}.studio-details>summary small{font-weight:400;color:#697286;font-size:11px;padding-right:24px}.studio-details[open]>summary{border-bottom:1px solid #b8c0cf}.details-body{padding:11px}.advanced-note{padding:8px 10px;margin-bottom:9px;background:#fffbe5;border:1px solid #d8ca83;color:#685d25;font-size:11px}.advanced-grid{margin-top:0}
.top8-simple{margin-top:10px}.top8-simple>summary{cursor:pointer;list-style:none}.top8-simple>summary::-webkit-details-marker{display:none}.summary-hint{float:right;font-size:10px;font-weight:400;opacity:.85}
.studio-savebar .btn.blue{font-weight:800}.studio-savebar{align-items:center}
@media(max-width:700px){.easy-columns{grid-template-columns:1fr}.upload-simple{grid-template-columns:1fr}.two-input{grid-template-columns:1fr}.quick-color-row{grid-template-columns:1fr 1fr}.quick-color-row .checkline{grid-column:1/-1}.preset-grid{grid-template-columns:1fr 1fr}.step-title small{font-size:10px}.studio-details>summary{padding:10px}.easy-step{padding:9px}.style-preview{margin-bottom:10px}}

/* Live music */
.music-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.music-mode-option{display:flex;align-items:flex-start;gap:8px;padding:10px;border:2px solid #aeb7c8;background:linear-gradient(#fff,#eef2f8);cursor:pointer;box-shadow:inset 1px 1px #fff}
.music-mode-option:has(input:checked){border-color:#e13c8d;box-shadow:0 0 0 2px #ffc1df inset,0 2px 0 #0002}
.music-mode-option input{margin-top:2px;width:auto!important;accent-color:#e13c8d}
.music-mode-option span{display:flex;flex-direction:column;gap:2px}.music-mode-option b{font-size:13px}.music-mode-option small{color:#6b7280;line-height:1.25}
.lastfm-option:has(input:checked){border-color:#d92323;box-shadow:0 0 0 2px #ffd8d8 inset,0 2px 0 #0002}.lastfm-option em{font-style:normal;font-size:8px;text-transform:uppercase;background:#d92323;color:#fff;padding:2px 4px;margin-left:4px}
.music-settings-card{padding:10px;border:1px solid #b9c1cf;background:#fff;margin-top:8px}
.file-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px;border:1px solid #d2d7e0;background:#f7f8fb;font-weight:700}
.file-card input{max-width:65%}
.lastfm-connect-card{display:grid;gap:9px;background:linear-gradient(135deg,#fffafa,#ffe9e9);border-color:#e69a9a}.lastfm-connect-copy{display:flex;flex-direction:column;gap:2px}.lastfm-connect-copy small{color:#725454}.lastfm-user-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:5px}.lastfm-user-row .at-sign{display:grid;place-items:center;min-width:32px;border:2px inset #c7c7c7;background:#fff;font-weight:900;color:#c21f1f}.lastfm-btn{background:linear-gradient(#f04a4a,#c72020)!important;border-color:#8f1111!important;color:#fff!important;text-shadow:1px 1px #721010!important;font-weight:800}.lastfm-ok{color:#16813f;font-weight:800}.lastfm-bad{color:#b42318;font-weight:800}.music-help{border-top:1px dashed #d9aaaa;padding-top:7px}.music-help summary{cursor:pointer;font-size:10px;font-weight:800;color:#8a2323}.music-help>div{font-size:9px;line-height:1.45;color:#705353;padding-top:5px}.lastfm-live-pill,.custom-music-pill{float:right;font-size:9px;letter-spacing:.5px;padding:2px 5px;border:1px solid currentColor;background:#0002}.lastfm-live-pill{color:#ffd6d6}.custom-music-pill{color:inherit;opacity:.8}.lastfm-card{grid-template-columns:92px minmax(0,1fr)}.lastfm-track-copy{min-width:0}.lastfm-track-copy>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.live-wave{display:flex;height:18px;align-items:end;gap:2px;margin:8px 0 6px}.live-wave i{width:4px;background:#d92323;animation:eq .75s ease-in-out infinite alternate}.live-wave i:nth-child(2){animation-delay:.15s}.live-wave i:nth-child(3){animation-delay:.35s}.live-wave i:nth-child(4){animation-delay:.1s}.live-wave i:nth-child(5){animation-delay:.25s}.lastfm-open{display:inline-block;color:#d92323!important;font-size:10px;font-weight:800;text-decoration:none;border-bottom:1px dotted currentColor}.lastfm-dev-panel .panel-head{background:linear-gradient(90deg,#8e1111,#d92323 65%,#f06b6b)}.lastfm-dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lastfm-dev-note{border:1px dashed #b9bfd0;background:#f7f8fb;padding:10px;display:flex;flex-direction:column;gap:4px}.lastfm-dev-note span{font-size:10px;color:#667085;line-height:1.4}
@media(max-width:700px){.music-mode-picker{grid-template-columns:1fr}.lastfm-dev-grid{grid-template-columns:1fr}.lastfm-card{grid-template-columns:80px minmax(0,1fr)}.lastfm-user-row{grid-template-columns:auto minmax(0,1fr)}.lastfm-user-row .lastfm-btn{grid-column:2}}


/* --- Frutiger Aero site shell / background upgrade --- */
/* Aero shell: one layout system, one surface palette. */
:root{--aero-accent:#168dd2;--site-scene:url('assets/day-breeze.webp');--ink:#123e60;--muted:#365e79;--surface:rgba(233,249,255,.89);--surface-solid:#eaf8ff;--input:#f3fbff;--edge:#8bd2ef;--header:linear-gradient(#79e3ff,#1fafe0 48%,#128cc5 52%,#279ed2);--glass:linear-gradient(160deg,#e7fbffb8,#bbecfb80 55%,#d6f9ce80);--button:linear-gradient(#fff,#c9f1ff 48%,#96d8f4 52%,#e2faff);--link:#075084;--shadow:0 8px 24px #035f7d38;--accent:var(--aero-accent)}
body[data-site-mode=dark]{color-scheme:dark;--ink:#edf8ff;--muted:#b5d7e9;--surface:rgba(3,23,41,.92);--surface-solid:#071e32;--input:#102e49;--edge:#3c9ec6;--header:linear-gradient(#247899,#0b3650 48%,#032136 52%,#06263c);--glass:linear-gradient(160deg,#042034c9,#001321b8);--button:linear-gradient(#256282,#103c58 48%,#04253b 52%,#164660);--link:#a6e3ff;--shadow:0 8px 30px #0008}
html{background:#076b9a}body{background:var(--site-scene) center/cover fixed no-repeat;color:var(--ink);font-family:Arial,Tahoma,sans-serif;font-size:12px;line-height:1.4}
#app{min-height:100svh;padding:24px;display:flex;align-items:center;justify-content:center;isolation:isolate}.scene-backdrop,.scene-overlay{display:none}
.shell.glass-shell{position:relative;z-index:0;display:flex;flex-direction:column;flex:none;width:min(980px,100%);max-width:none;min-height:480px;margin:auto;border:1px solid #b8eaff;border-radius:20px;background:var(--glass);box-shadow:inset 0 1px 1px #fff,0 0 12px #6bdfff80,var(--shadow);backdrop-filter:blur(10px);overflow:clip}
body[data-site-mode=dark] .glass-shell{border-color:var(--edge);box-shadow:inset 0 1px 2px #8adeff,0 0 12px #11b8f955,var(--shadow)}
.topbar{position:relative;z-index:2;min-height:52px;padding:8px 10px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--header);border-bottom:1px solid #9de7ff;box-shadow:inset 0 1px 1px #fff9,0 2px 7px #21c4ff55;border-radius:19px 19px 0 0}
.topbar-left,.topbar-right{display:flex;align-items:center;gap:10px;min-width:0}.topbar-left{flex:1;flex-wrap:wrap}.topbar-right{flex:none}.topbar .nav{flex:0 1 auto;gap:3px;flex-wrap:wrap}.logo.small-logo{font-size:23px;letter-spacing:-1.3px;white-space:nowrap;color:#0869eb;text-shadow:0 1px #fff}.logo span{color:#ef04a5}.nav button,.btn,.theme-studio-open,.theme-tab,.theme-mode-switch button,.upload-scene-btn{border:1px solid var(--edge);border-radius:16px;background:var(--button);box-shadow:inset 0 1px 1px #fffc,0 1px 3px #00477144;color:var(--ink);padding:5px 10px;font-weight:600;text-shadow:none}
.nav button{font-size:11px;white-space:nowrap}.nav button.active,.btn.blue,.theme-tab.active{background:linear-gradient(#83dcff,#1fb7ff 45%,#0483e9 55%,#24b1ff);color:#fff;border-color:#4cceff;text-shadow:0 1px 1px #005584}
.btn:hover,.nav button:hover{filter:brightness(1.09)}.btn:active{transform:translateY(1px)}.top-user{gap:6px}.top-user .name{font-size:12px;font-weight:700;color:#fff}.mini-avatar{width:30px;height:30px;border-radius:6px;outline:0}.mini-mode-toggle{display:flex;order:2;border:1px solid var(--edge);border-radius:20px;background:#003e7055;padding:2px}.mini-mode-toggle button{width:27px;height:27px;border:0;border-radius:50%;color:#d2f5ff;background:transparent;display:grid;place-items:center}.mini-mode-toggle button.active{background:var(--button);color:var(--ink);box-shadow:0 0 6px #b1ebff}
.layout.layout-aero{display:grid;grid-template-columns:164px minmax(0,1fr) 212px;gap:10px;padding:10px;flex:1;align-items:start}.main,.sidebar,.rightbar{min-width:0;gap:10px}.main{align-content:start}.panel{background:var(--surface);border:1px solid var(--edge);border-radius:8px;overflow:hidden;box-shadow:inset 0 1px 1px #fff8,0 0 5px #53d7ff55;backdrop-filter:none}.panel-head,.profile-mini .panel-head{background:var(--header);color:white;text-shadow:0 1px 1px #00426c;min-height:29px;border-bottom:1px solid var(--edge);padding:5px 9px;font-size:13px;text-transform:none}.panel-body{padding:9px}.profile-mini .panel-body b{display:block;font-size:15px}.sidebar-avatar{height:64px;width:64px;border-radius:5px;outline:1px solid #619ab9;margin:4px auto 7px}.status-pill{display:flex;align-items:center;justify-content:center;gap:5px;font-size:10px;margin-top:5px}.dot{flex:none;width:8px;height:8px}
.quicklinks button,.quicklinks-side button{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;text-align:left;background:transparent;color:var(--ink);border:0;border-top:1px solid #80c4e02b;box-shadow:none;border-radius:0;font-size:11px}.quicklinks button:hover,.quicklinks-side button:hover{background:#51c3ed22}.quicklinks-side{padding:4px 0}.quicklinks-side button{padding:4px 9px}.buddy-row{border-color:#77aac455;padding:5px 0}.ui-icon{width:17px;height:17px;display:inline-block;vertical-align:middle;flex-shrink:0}.empty-icon .ui-icon{width:30px;height:30px}.footer{display:flex;justify-content:space-between;gap:10px;background:#daeff18c;border-top:1px solid var(--edge);color:var(--ink);font-size:10px;padding:8px 13px}.footer:after{content:none;display:none}body[data-site-mode=dark] .footer{background:#052239bb}
.composer textarea{height:76px;width:100%;resize:vertical;padding:10px;border:1px solid var(--edge);border-radius:6px;background:var(--input);color:var(--ink);box-shadow:inset 0 1px 3px #07558016}.composer-tools,.composer-bottom,.composer-icons{display:flex;align-items:center;gap:7px}.composer-tools{justify-content:space-between;margin-top:7px}.composer-icons button{border:0;color:var(--link);background:transparent;padding:4px;display:grid;place-items:center}.composer-bottom{margin:0;flex-wrap:wrap;justify-content:flex-end}.composer-bottom>span:first-child{display:none}.feed-panel .panel-body{min-height:108px;background:none}.empty{background:transparent;color:var(--muted);border:0;padding:18px;text-align:center}.hero-empty{display:grid;gap:10px;justify-items:center;padding:12px}.feed-body,.feed-title{color:var(--ink)}.feed-body{font-size:13px}.feed-actions{flex-wrap:wrap}.feed-item{border-color:#73b1d444}.now-playing-side .empty{padding:7px}.np-card{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:center}.np-cover{width:56px;height:56px;object-fit:cover;border:1px solid var(--edge);border-radius:4px;background:#04101a}.np-disc{background:radial-gradient(circle,#d4f6ff 0 3px,#123247 4px 12px,#04090c 13px 24px,#123247 25px)}.np-copy{min-width:0;position:relative;padding-right:12px}.np-copy b,.np-copy div{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.np-copy small{color:var(--muted);font-size:10px}.np-copy a{position:absolute;right:0;top:8px;color:var(--link)}
a{color:var(--link)}.muted{color:var(--muted)}input,textarea,select,.field input,.field textarea,.field select,.searchbox{color:var(--ink);background:var(--input);border:1px solid var(--edge);border-radius:5px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.field label{color:var(--ink)}select option{background:var(--surface-solid);color:var(--ink)}.friend-card,.group-icon,.conv-list,.chat,.chat-head,.chat-log,.chat-send,.bubble,.style-preview,.studio-section,.music-settings-card,.lastfm-dev-note{background:var(--surface-solid);color:var(--ink);border-color:var(--edge)}.friend-card{border-radius:6px}.pill{background:var(--input)!important;color:var(--ink)}.bubble.me{background:var(--input);border-color:var(--edge)}.bubble .when,.music-mode-option small,.lastfm-connect-copy small,.lastfm-dev-note span{color:var(--muted)}.person-row,.group-row{border-color:var(--edge);min-width:0}.grow,.conv-text{min-width:0;overflow-wrap:anywhere}.group-row .btn{flex:none}.messages-layout{grid-template-columns:170px minmax(0,1fr);min-height:440px;background:var(--surface);border-color:var(--edge)}.conv-item.active,.conv-item:hover{background:var(--input)}.chat-log{max-height:440px;min-height:260px}.chat-send{align-items:center}.chat-send input{background:var(--input);color:var(--ink);border:1px solid var(--edge)}
.theme-studio-open{position:fixed;right:18px;bottom:18px;z-index:10;display:flex;align-items:center;gap:6px;padding:9px 15px}.theme-studio{position:fixed;z-index:30;right:18px;top:50%;transform:translateY(-50%);width:330px;max-width:calc(100vw - 24px);max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain;display:none;border:1px solid #81daf8;border-radius:19px;background:linear-gradient(#043654f5,#02293cf5);color:#eefaff;box-shadow:inset 0 1px 2px #9be5ff,0 0 8px #23c7fa88,0 16px 50px #0008;scrollbar-width:thin;scrollbar-color:#4fbde0 #092d45}.theme-studio.open{display:block}.theme-studio-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:16px}.theme-studio-head button{border:0;border-radius:5px;background:#ffffff16;color:#dcf6ff;width:26px;height:26px}.theme-tabs{display:flex;padding:0 14px;gap:3px}.theme-tab{flex:1;border:0;box-shadow:none;background:#09508066;color:#dff4ff;border-radius:6px;font-size:11px;padding:6px}.theme-studio-body{padding:13px}.theme-pane{display:none}.theme-pane.active{display:block}.theme-mode-switch{display:flex;gap:5px;margin-bottom:14px}.theme-mode-switch button{flex:1;background:#062c49;color:#d3ebff;box-shadow:inset 0 1px 1px #0d5780;border:1px solid #154f73;font-size:11px;padding:6px}.theme-mode-switch button.active{background:linear-gradient(#f2fcff,#7ddaff);color:#063a62}.theme-subtitle{font-size:12px;font-weight:700;margin-bottom:9px}.scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.scene-card{padding:0;border:1px solid #387798;border-radius:7px;overflow:hidden;min-width:0;background:#042437;color:#f2fcff;box-shadow:0 2px 5px #0003}.scene-card img{display:block;width:100%;aspect-ratio:1.6;object-fit:cover}.scene-card span{display:block;padding:5px 2px;font-size:10px;white-space:nowrap}.scene-card.selected{border-color:#a3f7ff;box-shadow:0 0 0 1px #93edff,0 0 10px #38dfdd}.upload-scene-btn{display:flex;justify-content:center;gap:6px;align-items:center;margin-top:15px;width:100%;font-size:11px;background:linear-gradient(#176182,#05283e);color:#eafaff;border-color:#26779b;cursor:pointer}.theme-mini-card{color:#eefaff}.theme-mini-card .field{color:inherit}.theme-mini-card input[type=color]{width:100%;height:42px}.theme-open .theme-studio-open{visibility:hidden}
#appModalHost{position:fixed;inset:0;z-index:60;pointer-events:none}.app-modal-backdrop{position:absolute;inset:0;display:grid;place-items:center;padding:16px;pointer-events:auto;background:#00132277}.app-modal{width:min(460px,100%);max-height:calc(100svh - 32px);overflow:auto;border:1px solid var(--edge);border-radius:12px;background:var(--surface-solid);color:var(--ink);box-shadow:0 16px 60px #0006}.app-modal-head{display:flex;align-items:center;justify-content:space-between;padding:9px 13px;background:var(--header);color:#fff;font-size:14px}.app-modal-head button{border:0;background:transparent;color:white;font-size:23px}.app-modal-body{padding:16px;display:grid;gap:10px}.app-modal-actions{display:flex;justify-content:flex-end;gap:8px}.app-modal-body .field{margin:0}.toast{z-index:100}
.group-room{display:grid;grid-template-columns:minmax(0,1fr) 145px;min-width:0}.group-room .chat{min-width:0}.group-members{padding:10px;border-left:1px solid var(--edge);min-width:0;overflow-wrap:anywhere}.group-member{display:flex;gap:6px;align-items:center;padding:6px 0;font-size:11px}.group-member img{width:25px;height:25px;border-radius:4px}.group-member a{min-width:0;overflow-wrap:anywhere}.group-room .chat-log{height:360px;overflow:auto;overscroll-behavior:contain}.group-room .bubble{max-width:92%}.group-row{flex-wrap:wrap}.group-row .grow{flex:1 1 100px}.group-toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.group-toolbar h2{font-size:15px;margin:0;flex:1;overflow-wrap:anywhere}.chat-connection{font-size:10px;color:var(--muted);padding:4px 9px}.chat-connection[data-state=error]{color:#bc3942}
body[data-route=profile] .layout,body[data-route=customize] .layout{grid-template-columns:minmax(0,1fr)}body[data-route=profile] .sidebar,body[data-route=profile] .rightbar,body[data-route=customize] .sidebar,body[data-route=customize] .rightbar{display:none}.profile-stage{min-width:0;overflow:hidden;isolation:isolate}.profile-page .profile-muted{color:var(--p-panel-text);opacity:.85}.profile-page .friend-card{color:var(--p-panel-text);background:var(--p-panel)}.profile-page .profile-box-body{color:var(--p-panel-text)}.profile-page .profile-box-head{color:var(--p-head-text)}.profile-page .profile-box-head a{color:inherit!important}.profile-page .btn{color:var(--p-panel-text);background:var(--p-panel)}
.auth-window{border:1px solid var(--edge);border-radius:18px;overflow:hidden;background:var(--surface-solid)}.auth-body{background:var(--glass)}.auth-panel{background:var(--surface-solid);border:1px solid var(--edge);border-radius:9px}.auth-promo{background:var(--site-scene) center/cover;border:1px solid var(--edge);border-radius:8px}.auth-tag{background:#ecfaffd9;padding:6px;color:#123e60}.auth-tabs .tab{color:var(--ink);background:var(--button);border:1px solid var(--edge);border-radius:5px}.auth-tabs .tab.active{background:var(--input)}.auth-art{display:none}.auth-promo .ticker{display:none}.auth-logo-wrap{background:#e2faffbb;border-radius:6px}
body[data-density=compact] .panel-body{padding:6px}body[data-density=compact] .layout{gap:7px;padding:7px}body[data-density=compact] .shell{min-height:460px}
:focus-visible{outline:2px solid #ffbc35;outline-offset:3px}button:disabled{cursor:not-allowed}input[type=color]{padding:2px}body[data-site-mode=dark] .lastfm-ok{color:#81edb0}

@media(max-width:1050px){#app{padding:14px}.layout.layout-aero{grid-template-columns:160px minmax(0,1fr) 200px}.topbar-right{margin-left:auto}.nav button{padding:5px 8px}.topbar{gap:7px}.group-room{grid-template-columns:minmax(0,1fr)}.group-members{border-left:0;border-top:1px solid var(--edge);display:flex;gap:8px;flex-wrap:wrap}}
@media(max-width:780px){#app{padding:10px;align-items:flex-start}.shell.glass-shell{min-height:calc(100svh - 20px);border-radius:13px}.layout.layout-aero{grid-template-columns:145px minmax(0,1fr)}.rightbar{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-left{display:contents}.topbar .nav{order:3;flex-basis:100%;flex-wrap:nowrap;overflow:auto;scrollbar-width:none;padding-bottom:2px}.topbar{border-radius:12px 12px 0 0}.messages-layout{grid-template-columns:125px minmax(0,1fr)}.conv-item{flex-wrap:wrap}.footer:after{display:none}}
@media(max-width:540px){body{background-attachment:fixed}#app{padding:7px}.layout.layout-aero{grid-template-columns:minmax(0,1fr);padding:8px;gap:8px}.sidebar{display:none}.rightbar{grid-template-columns:repeat(2,minmax(0,1fr))}.top-user .name{display:none}.logo.small-logo{font-size:22px}.topbar-right{gap:5px}.mini-mode-toggle button{width:25px;height:25px}.top-user .btn{font-size:10px;padding:4px 7px}.theme-studio{right:12px;left:12px;width:auto;max-width:none;top:50%;max-height:calc(100svh - 24px)}.theme-studio-open{right:13px;bottom:13px}.composer-tools{gap:3px}.composer-bottom{gap:4px}.composer-bottom .btn{font-size:11px;padding:5px 8px}.split{grid-template-columns:1fr}.messages-layout{grid-template-columns:1fr;min-height:350px}.conv-list{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--edge)}.conv-item{flex:0 0 130px;align-items:center;flex-wrap:nowrap}.conv-item img{width:25px;height:25px}.chat-log{min-height:220px}.group-room .chat-log{height:320px}.auth-body{grid-template-columns:1fr}.auth-promo{min-height:130px}.auth-panel{padding:14px}.auth-shell{padding:12px}.profile-stage{padding:6px}.profile-columns{grid-template-columns:1fr}.studio-grid{display:block}.scene-grid{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.panel-head,.profile-mini .panel-head,.app-modal-head{color:var(--header-ink,#fff);text-shadow:none}.top-user .name{color:var(--header-ink,#fff)}
.btn.blue,.nav button.active{background:linear-gradient(#74d6ff 0px,#0070b8 3px,#005aab 60%,#097ccb);color:#fff}

.logo{font-family:Arial,sans-serif;font-weight:900}.topbar .nav button{color:var(--ink)}.topbar .nav button.active{color:#fff;box-shadow:inset 0 1px 1px #b9edff,0 1px 3px #00477144}.rightbar{display:grid}.studio-section h3,.studio-intro b{color:var(--ink)}.studio-intro,.color-field,.music-mode-option{background:var(--surface-solid);color:var(--ink);border-color:var(--edge)}.studio-savebar{background:var(--surface-solid)}

.easy-step,.quick-look,.upload-simple label,.studio-details,.file-card,.checkrow{background:var(--surface-solid);color:var(--ink);border-color:var(--edge)}.step-title b,.upload-simple label{color:var(--ink)}.studio-details>summary{color:var(--ink);background:var(--button)}.studio-details>summary small,.step-title small{color:var(--muted)}.toast{background:var(--surface-solid);color:var(--ink)}.toast.error{background:#ffe8ed;color:#721128}.studio-details[open]>summary{border-color:var(--edge)}
.post-image{display:block;max-width:100%;max-height:400px;object-fit:contain;border-radius:6px;margin:7px 0}.feed-body a{overflow-wrap:anywhere}

/* === Buddyline vNext: size, auth, profiles and rich media === */
#app{
  padding:18px !important;
  align-items:flex-start !important;
}
.shell.glass-shell{
  width:min(1460px,calc(100vw - 36px)) !important;
  min-height:calc(100svh - 36px) !important;
  margin:0 auto !important;
}
.layout.layout-aero{
  grid-template-columns:210px minmax(0,1fr) 260px !important;
  gap:12px !important;
  padding:12px !important;
}
.sidebar,.main,.rightbar{gap:12px !important}
.panel-body{color:var(--ink)}
.panel-body b,.panel-body strong,.panel-body label,.panel-body h1,.panel-body h2,.panel-body h3{color:inherit}
body[data-site-mode=light] .muted,body[data-site-mode=light] .tiny,body[data-site-mode=light] .small{color:#43677f}
body[data-site-mode=dark] .muted,body[data-site-mode=dark] .tiny,body[data-site-mode=dark] .small{color:#b9d6e8}
body[data-site-mode=dark] .panel,body[data-site-mode=dark] .panel-body,body[data-site-mode=dark] .chat,body[data-site-mode=dark] .chat-log,body[data-site-mode=dark] .messages-layout{color:#eef9ff}

/* Sign-in: the site wallpaper appears once, only behind the window. */
.auth-shell{padding:24px !important}
.auth-window{
  width:min(980px,calc(100vw - 48px)) !important;
  border-radius:20px !important;
  box-shadow:0 22px 80px #00152766,0 0 0 1px #d7f7ff55 !important;
}
.auth-body{
  grid-template-columns:1.08fr .92fr !important;
  gap:0 !important;
  padding:0 !important;
  min-height:430px;
  background:linear-gradient(135deg,rgba(226,249,255,.96),rgba(218,246,255,.90) 55%,rgba(233,255,237,.94)) !important;
}
body[data-site-mode=dark] .auth-body{background:linear-gradient(135deg,#071b31f5,#061627f5 58%,#0b2130f2) !important}
.auth-promo{
  min-height:430px !important;
  display:grid;
  place-items:center;
  padding:34px !important;
  border:0 !important;
  border-right:1px solid var(--edge) !important;
  border-radius:0 !important;
  background:
    radial-gradient(circle at 18% 20%,rgba(255,255,255,.95) 0 7px,transparent 8px),
    radial-gradient(circle at 78% 28%,rgba(120,224,255,.36) 0 54px,transparent 55px),
    radial-gradient(circle at 22% 78%,rgba(139,240,190,.28) 0 86px,transparent 87px),
    linear-gradient(145deg,rgba(218,249,255,.92),rgba(153,225,255,.52) 55%,rgba(196,248,215,.62)) !important;
}
body[data-site-mode=dark] .auth-promo{
  background:
    radial-gradient(circle at 20% 22%,rgba(130,214,255,.18) 0 54px,transparent 55px),
    radial-gradient(circle at 78% 72%,rgba(70,131,255,.13) 0 95px,transparent 96px),
    linear-gradient(145deg,#0a2741,#07192e 58%,#082034) !important;
}
.auth-logo-wrap{
  width:min(460px,100%);
  padding:28px !important;
  border:1px solid #9bdcf4;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(233,251,255,.72)) !important;
  box-shadow:inset 0 1px #fff,0 16px 40px #0084b81c;
}
body[data-site-mode=dark] .auth-logo-wrap{background:linear-gradient(180deg,rgba(14,50,79,.94),rgba(5,27,48,.92)) !important;border-color:#326f95}
.auth-logo-wrap .logo.big{font-size:46px;line-height:1;margin-bottom:12px}
.auth-tag{padding:8px 0 0 !important;background:transparent !important;color:var(--ink) !important;font-size:15px;font-weight:700}
.auth-panel{
  align-self:stretch !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px !important;
  border:0 !important;
  border-radius:0 !important;
  background:rgba(247,253,255,.82) !important;
}
body[data-site-mode=dark] .auth-panel{background:rgba(5,22,39,.90) !important}
.auth-tabs{gap:8px !important;margin-bottom:18px !important}
.auth-tabs .tab{
  border-radius:999px !important;
  min-height:38px;
  border:1px solid var(--edge) !important;
  background:linear-gradient(#fff,#dff5ff) !important;
  color:#174a70 !important;
  box-shadow:inset 0 1px #fff,0 2px 6px #0057811c;
}
.auth-tabs .tab.active{
  background:linear-gradient(#67d8ff,#118bd5 54%,#0875bd) !important;
  border-color:#0870ae !important;
  color:#fff !important;
  box-shadow:inset 0 1px #dff8ff,0 0 0 2px #90dcff55 !important;
}
body[data-site-mode=dark] .auth-tabs .tab{background:linear-gradient(#173e5d,#0a2842) !important;color:#eaf8ff !important;border-color:#356e92 !important}
body[data-site-mode=dark] .auth-tabs .tab.active{background:linear-gradient(#3b9fe0,#145e9d) !important;color:#fff !important}
.auth-panel .field input,.auth-panel .prefix-input{min-height:42px;font-size:14px}
.auth-panel .btn.block{min-height:40px;border-radius:999px}

/* Profile route should use the full shell instead of collapsing into a narrow strip. */
body[data-route=profile] .layout.layout-aero,body[data-route=customize] .layout.layout-aero{
  grid-template-columns:minmax(0,1fr) !important;
  padding:12px !important;
}
body[data-route=profile] .main,body[data-route=customize] .main{width:100%;min-width:0}
.profile-stage{padding:18px !important;min-height:720px}
.profile-page,.profile-marquee{width:min(max(var(--p-width),1120px),100%) !important;max-width:100%}
.profile-columns{grid-template-columns:300px minmax(0,1fr) !important;gap:12px !important}
.profile-left,.profile-right{min-width:0}
.profile-right .profile-box,.profile-left .profile-box{min-width:0}
.profile-box-body,.profile-bio,.profile-url{overflow-wrap:anywhere;word-break:break-word}
body[data-site-mode=dark] .simple-studio .easy-step,body[data-site-mode=dark] .simple-studio .studio-details,body[data-site-mode=dark] .simple-studio .upload-simple label,body[data-site-mode=dark] .simple-studio .file-card{background:#082039 !important;color:#edf9ff !important;border-color:#2e6488 !important}
body[data-site-mode=dark] .simple-studio .studio-intro,body[data-site-mode=dark] .simple-studio .color-field,body[data-site-mode=dark] .simple-studio .music-mode-option{background:#0a2742 !important;color:#edf9ff !important;border-color:#2e6488 !important}

/* Rich chat attachments, files, voice notes, video, audio and GIFs. */
.rich-composer{border-top:1px solid var(--edge);background:var(--surface-solid);padding:8px}
.rich-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.rich-tools button{border:1px solid var(--edge);border-radius:999px;background:var(--button);color:var(--ink);padding:5px 10px;font-size:10px;font-weight:800}
.rich-tools button:hover{filter:brightness(1.08)}
.rich-tools button.recording{background:#d62f3e;color:#fff;border-color:#92202b;animation:recordPulse 1s ease-in-out infinite alternate}
@keyframes recordPulse{from{box-shadow:0 0 0 0 #ff5d6a55}to{box-shadow:0 0 0 7px #ff5d6a00}}
.pending-attachments{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 6px}
.pending-chip{display:flex;align-items:center;gap:5px;max-width:100%;padding:4px 7px;border:1px solid var(--edge);border-radius:999px;background:var(--input);font-size:9px;color:var(--ink)}
.pending-chip button{border:0;background:transparent;color:inherit;font-weight:900;padding:0 2px}
.msg-attachments{display:grid;gap:7px;margin-top:6px}
.msg-image{display:block;width:auto;max-width:min(360px,100%);max-height:330px;object-fit:contain;border-radius:8px;border:1px solid var(--edge);background:#06111b}
.msg-video{display:block;width:min(420px,100%);max-height:340px;border-radius:8px;border:1px solid var(--edge);background:#000}
.msg-audio{display:grid;gap:4px;max-width:360px;padding:7px;border:1px solid var(--edge);border-radius:9px;background:var(--input)}
.msg-audio span{font-size:9px;font-weight:800;color:var(--muted)}
.msg-audio audio{width:100%;max-width:340px;height:34px}
.msg-file{display:flex;align-items:center;gap:9px;max-width:360px;padding:9px;border:1px solid var(--edge);border-radius:9px;background:var(--input);text-decoration:none !important;color:var(--ink) !important}
.msg-file>span{display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:var(--header);color:var(--header-ink,#fff);font-size:9px;font-weight:900}
.msg-file>div{display:grid;min-width:0}.msg-file b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-file small{color:var(--muted)}
.msg-text{white-space:pre-wrap;overflow-wrap:anywhere}
.bubble{overflow:hidden}
.bubble.me .msg-file,.bubble.me .msg-audio{background:color-mix(in srgb,var(--input) 85%,#fff)}
.gif-picker{width:min(720px,100%)}
.app-modal:has(.gif-picker){width:min(760px,calc(100vw - 28px))}
.gif-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.gif-search input{min-height:38px;padding:8px 10px}
.gif-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-height:460px;overflow:auto;overscroll-behavior:contain}
.gif-result{padding:0;border:1px solid var(--edge);border-radius:8px;overflow:hidden;background:#071727;aspect-ratio:1.15;cursor:pointer}
.gif-result img{display:block;width:100%;height:100%;object-fit:cover}
.gif-result:hover{outline:2px solid #2bc7ff;outline-offset:1px}

@media(max-width:1180px){
  .shell.glass-shell{width:calc(100vw - 28px) !important}
  .layout.layout-aero{grid-template-columns:185px minmax(0,1fr) 225px !important}
}
@media(max-width:900px){
  #app{padding:10px !important}
  .shell.glass-shell{width:100% !important;min-height:calc(100svh - 20px) !important}
  .layout.layout-aero{grid-template-columns:170px minmax(0,1fr) !important}
  .rightbar{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .auth-window{width:min(760px,calc(100vw - 20px)) !important}
  .profile-page,.profile-marquee{width:100% !important}
  .profile-columns{grid-template-columns:240px minmax(0,1fr) !important}
}
@media(max-width:620px){
  .auth-shell{padding:0 !important}.auth-window{width:100% !important;min-height:100svh;border-radius:0 !important}.auth-body{grid-template-columns:1fr !important}.auth-promo{min-height:190px !important;border-right:0 !important;border-bottom:1px solid var(--edge) !important;padding:18px !important}.auth-logo-wrap{padding:18px !important}.auth-logo-wrap .logo.big{font-size:36px}.auth-panel{padding:18px !important}
  .profile-columns{grid-template-columns:1fr !important}
  .profile-stage{padding:6px !important}
  .gif-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .msg-image,.msg-video,.msg-audio,.msg-file{max-width:100%;width:100%}
}

/* Keep profile structure usable even when an old custom CSS preset was overly aggressive. */
.profile-page{display:block !important;position:relative !important;float:none !important;visibility:visible !important;opacity:1 !important}
.profile-columns{display:grid !important;float:none !important;visibility:visible !important;opacity:1 !important}
.profile-left,.profile-right{display:grid !important;position:relative !important;float:none !important;visibility:visible !important;opacity:1 !important;height:auto !important;max-height:none !important}
.profile-box{visibility:visible !important;opacity:1 !important}
@media(max-width:700px){.profile-columns{grid-template-columns:1fr !important}}

/* Media library */
.media-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.media-upload-btn{cursor:pointer;display:inline-flex;align-items:center}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.media-card{min-width:0;border:1px solid var(--edge);border-radius:10px;overflow:hidden;background:var(--surface-solid);color:var(--ink);box-shadow:0 3px 12px #003d5a18}.media-card>img,.media-card>video{display:block;width:100%;height:150px;object-fit:cover;background:#061421}.media-card>audio{width:calc(100% - 12px);margin:6px}.media-audio-icon,.media-file-icon{height:118px;display:grid;place-items:center;background:linear-gradient(145deg,var(--input),color-mix(in srgb,var(--input) 70%,var(--aero-accent)));color:var(--muted);font-weight:900;letter-spacing:1px}.media-card-copy{display:grid;gap:4px;padding:8px}.media-card-copy>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-card-copy>small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-card-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}.media-card-actions a{text-decoration:none}
@media(max-width:1100px){.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.media-grid{grid-template-columns:1fr}}

/* === Buddyline focused mobile + composer polish === */
.prefix-input{display:flex !important;align-items:center !important;min-width:0 !important;overflow:hidden}
.prefix-input span{flex:0 0 auto;padding:0 0 0 10px !important}
.prefix-input input{flex:1 1 auto !important;width:auto !important;min-width:0 !important}

.pending-attachments{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin:0 0 8px}
.pending-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr) 26px;gap:8px;align-items:center;padding:7px;border:1px solid var(--edge);border-radius:10px;background:var(--input);color:var(--ink);cursor:pointer;min-width:0;box-shadow:inset 0 1px #fff4}
.pending-card:hover{filter:brightness(1.05)}
.pending-thumb{width:52px;height:44px;border:1px solid var(--edge);border-radius:7px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,var(--surface-solid),var(--button));color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.6px}
.pending-thumb img{width:100%;height:100%;object-fit:cover}
.pending-copy{min-width:0;display:grid;gap:2px}
.pending-copy b,.pending-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pending-copy small{color:var(--muted);font-size:9px}
.pending-remove{width:24px;height:24px;border:1px solid var(--edge);border-radius:50%;background:var(--surface-solid);color:var(--ink);font-weight:900;cursor:pointer}

.emoji-picker{padding-bottom:8px}
.app-modal:has(.emoji-picker){width:min(690px,calc(100vw - 24px))}
.emoji-tabs{display:flex;gap:5px;overflow-x:auto;padding-bottom:7px;scrollbar-width:none}
.emoji-tabs::-webkit-scrollbar{display:none}
.emoji-tabs button{flex:0 0 auto;border:1px solid var(--edge);border-radius:999px;padding:6px 9px;background:var(--button);color:var(--ink);font-size:10px;font-weight:800}
.emoji-tabs button.active{background:linear-gradient(#42c8ff,#0789d4);color:#fff;border-color:#0c77b5}
.emoji-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;max-height:280px;overflow:auto;padding:6px;border:1px solid var(--edge);border-radius:10px;background:color-mix(in srgb,var(--surface-solid) 90%,transparent)}
.emoji-cell{aspect-ratio:1;border:0;border-radius:8px;background:transparent;font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;padding:2px}
.emoji-cell:hover{background:var(--input)}
.emoji-recents{position:sticky;bottom:0;margin-top:8px;padding-top:7px;border-top:1px solid var(--edge);background:var(--surface-solid)}
.emoji-recent-rail{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;margin-top:4px}
.emoji-recent-rail .emoji-cell{font-size:21px}

.attachment-preview-modal{width:min(760px,calc(100vw - 24px))}
.attachment-preview{display:grid;place-items:center;min-height:100px;max-height:min(70svh,680px);overflow:auto}
.attachment-preview-image{display:block;max-width:100%;max-height:62svh;object-fit:contain;border-radius:10px;border:1px solid var(--edge);background:#061421}
.attachment-preview-video{display:block;width:min(680px,100%);max-height:62svh;border-radius:10px;background:#000}
.attachment-preview-frame{width:min(680px,100%);height:min(62svh,620px);border:1px solid var(--edge);border-radius:10px;background:#fff}
.attachment-preview-file{display:grid;justify-items:center;gap:10px;width:min(360px,100%);padding:18px;border:1px solid var(--edge);border-radius:12px;background:var(--input);text-align:center}
.attachment-preview-file .media-file-icon{width:90px;height:76px;border-radius:10px}

.msg-media-link{display:block;width:max-content;max-width:100%;padding:0;border:0;background:transparent;cursor:pointer;text-align:left}
.msg-video-wrap{max-width:min(420px,100%)}

.buddy-audio-player{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;width:min(430px,100%);padding:10px;border:1px solid var(--edge);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 96%,#fff),color-mix(in srgb,var(--input) 86%,var(--aero-accent)));color:var(--ink);box-shadow:inset 0 1px #fff5,0 4px 14px #001b2d18}
.buddy-audio-player audio{display:none}
.audio-play{width:42px;height:42px;border-radius:50%;border:1px solid color-mix(in srgb,var(--edge) 75%,#fff);background:linear-gradient(#32c8ff,#087fc8);color:white;font-size:15px;font-weight:900;display:grid;place-items:center;box-shadow:inset 0 1px #dffaff,0 3px 8px #005e8c38;cursor:pointer}
.buddy-audio-player.playing .audio-play{background:linear-gradient(#20aee9,#0869a9)}
.audio-main{display:grid;gap:5px;min-width:0}
.audio-title{display:flex;gap:6px;align-items:center;min-width:0}
.audio-title b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.audio-kind{flex:0 0 auto;font-size:8px;font-weight:900;letter-spacing:.5px;padding:2px 5px;border-radius:999px;background:#d73387;color:#fff}
.audio-seek,.audio-volume{appearance:none;-webkit-appearance:none;height:4px;border-radius:999px;background:color-mix(in srgb,var(--edge) 58%,transparent);outline:none}
.audio-seek{width:100%}
.audio-volume{width:70px}
.audio-seek::-webkit-slider-thumb,.audio-volume::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #0b95d6;box-shadow:0 1px 3px #001c2b55}
.audio-seek::-moz-range-thumb,.audio-volume::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid #0b95d6}
.audio-times{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;font-variant-numeric:tabular-nums}
.audio-volume-wrap{display:grid;grid-template-columns:auto 70px;gap:5px;align-items:center}
.audio-mute{border:1px solid var(--edge);border-radius:999px;background:var(--button);color:var(--ink);font-size:8px;font-weight:900;padding:5px 7px;cursor:pointer}
.msg-attachments .buddy-audio-player{margin-top:2px}
.media-card .buddy-audio-player{width:calc(100% - 12px);margin:6px;grid-template-columns:38px minmax(0,1fr)}
.media-card .audio-play{width:38px;height:38px}
.media-card .audio-volume-wrap{grid-column:1/-1;justify-content:end}
.media-preview-btn{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer}
.media-preview-btn img{display:block;width:100%;height:150px;object-fit:cover;background:#061421}

/* GIF picker: fixed card sizing prevents Safari/mobile grid overlap. */
.gif-grid{align-items:start !important}
.gif-result{position:relative;display:block;min-width:0;height:150px;aspect-ratio:auto !important}
.gif-result img{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:cover !important}

/* Keep narrow/mobile routes full-width instead of leaving a blank desktop column. */
@media(max-width:800px){
  #app{padding:8px !important}
  .shell.glass-shell{width:100% !important;max-width:none !important;min-height:calc(100svh - 16px) !important}
  .layout.layout-aero{grid-template-columns:minmax(0,1fr) !important;padding:8px !important;gap:8px !important}
  .sidebar{display:none !important}
  .main{width:100% !important;min-width:0 !important}
  .rightbar{grid-column:1 !important;width:100% !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .topbar{overflow:hidden}
  .topbar-left{min-width:0;width:100%}
  .topbar .nav{width:100%;max-width:100%;overflow-x:auto !important;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:3px}
  .topbar .nav::-webkit-scrollbar{display:none}
  .nav button{flex:0 0 auto;white-space:nowrap}
  .messages-layout{grid-template-columns:1fr !important;width:100% !important;min-height:0 !important}
  .conv-list{display:flex !important;overflow-x:auto;border-right:0 !important;border-bottom:1px solid var(--edge)}
  .conv-item{flex:0 0 145px !important}
  .chat{min-width:0;width:100%}
  body[data-route=customize] .main,body[data-route=staff] .main,body[data-route=messages] .main,body[data-route=groups] .main{width:100% !important}
}

@media(max-width:620px){
  .auth-shell{padding:0 !important;display:block !important}
  .auth-window{width:100% !important;min-height:100svh !important;border-radius:0 !important}
  .auth-body{grid-template-columns:1fr !important;min-height:100svh !important}
  .auth-promo{min-height:155px !important;padding:14px !important;border-right:0 !important;border-bottom:1px solid var(--edge) !important}
  .auth-logo-wrap{padding:16px !important;width:100% !important}
  .auth-logo-wrap .logo.big{font-size:34px !important}
  .auth-panel{padding:16px !important;justify-content:flex-start !important}
  .auth-tabs{position:sticky;top:0;z-index:3;background:var(--surface-solid);padding:4px 0 8px}
  .prefix-input input{font-size:16px !important}
  .rightbar{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr));max-height:42svh}
  .emoji-recent-rail{grid-template-columns:repeat(7,minmax(0,1fr))}
  .emoji-cell{font-size:25px}
  .gif-picker{min-width:0 !important;overflow:hidden}
  .app-modal:has(.gif-picker){width:calc(100vw - 20px) !important;max-height:86svh !important;overflow:hidden}
  .gif-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;max-height:56svh !important;padding-right:2px}
  .gif-result{height:132px !important;min-height:132px !important}
  .pending-attachments{grid-template-columns:1fr}
  .buddy-audio-player{grid-template-columns:40px minmax(0,1fr);gap:8px;padding:8px}
  .audio-play{width:40px;height:40px}
  .audio-volume-wrap{grid-column:1/-1;justify-content:end;grid-template-columns:auto minmax(80px,150px)}
  .audio-volume{width:100%}
  .attachment-preview{max-height:68svh}
  .attachment-preview-frame{height:58svh}
}

@media(max-width:430px){
  .rightbar{grid-template-columns:1fr !important}
  .rich-tools{gap:5px}
  .rich-tools button{padding:6px 9px;font-size:10px}
  .gif-result{height:116px !important;min-height:116px !important}
  .emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .emoji-recent-rail{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* === Final media/profile polish: keep behavior, fix controls + alignment === */
/* Profile theme cards respect site dark mode instead of staying white. */
body[data-site-mode=dark] .preset-card{
  background:linear-gradient(180deg,#102a45,#071d33) !important;
  color:#eef9ff !important;
  border-color:#376f94 !important;
  box-shadow:inset 0 1px #ffffff14 !important;
}
body[data-site-mode=dark] .preset-card small{color:#b7d5e8 !important}
body[data-site-mode=dark] .preset-card span{border-color:#4b82a5 !important}
body[data-site-mode=dark] .custom-colors-card{background:linear-gradient(180deg,#15334e,#092039) !important}
body[data-site-mode=dark] .simple-studio .studio-section,
body[data-site-mode=dark] .simple-studio .color-field,
body[data-site-mode=dark] .simple-studio .quick-look,
body[data-site-mode=dark] .simple-studio .music-settings-card,
body[data-site-mode=dark] .simple-studio .lastfm-connect-card,
body[data-site-mode=dark] .simple-studio .checkline,
body[data-site-mode=dark] .simple-studio .file-card,
body[data-site-mode=dark] .simple-studio .upload-simple label,
body[data-site-mode=dark] .simple-studio .details-body{
  background:#082039 !important;
  color:#edf9ff !important;
  border-color:#2e6488 !important;
}
body[data-site-mode=dark] input[type=file]{color:#d7edf9 !important;background:#0b2944 !important}
body[data-site-mode=dark] input[type=file]::file-selector-button{
  color:#eefaff;background:linear-gradient(#245d7e,#0d3451);border:1px solid #3c83aa;border-radius:7px;padding:5px 9px;margin-right:8px
}
body[data-site-mode=dark] .studio-intro,
body[data-site-mode=dark] .easy-step,
body[data-site-mode=dark] .studio-details{box-shadow:inset 0 1px #ffffff0d}
body[data-site-mode=dark] .toast.error{background:#421724;color:#ffdbe4}

/* Real vector controls instead of emoji-like glyphs. */
.audio-play .ui-icon{width:21px;height:21px;stroke-width:2.2}
.audio-mute .ui-icon{width:17px;height:17px;stroke-width:2}
.audio-title>.ui-icon{width:16px;height:16px;color:var(--link);flex:0 0 auto}
.audio-mute{width:32px;height:28px;padding:0;display:grid;place-items:center}
.audio-play{font-size:0}
.audio-seek,.audio-volume{touch-action:pan-x;cursor:pointer;min-height:18px;background-clip:content-box;padding-block:7px}
.audio-volume{width:96px}
.audio-volume-wrap{grid-template-columns:32px 96px;gap:7px}
.audio-seek::-webkit-slider-thumb,.audio-volume::-webkit-slider-thumb{width:14px;height:14px}
.audio-seek::-moz-range-thumb,.audio-volume::-moz-range-thumb{width:12px;height:12px}
body[data-site-mode=dark] .buddy-audio-player{box-shadow:inset 0 1px #ffffff12,0 4px 14px #0006}
body[data-site-mode=dark] .audio-seek,
body[data-site-mode=dark] .audio-volume{background:#31566d}
body[data-site-mode=dark] .audio-mute{background:linear-gradient(#1c4b68,#0a2c47);color:#eafbff}

/* Group member rail: title/count and member stay on one visual baseline. */
.group-members{display:grid;align-content:start;gap:8px}
.group-members-title{display:flex;align-items:center;gap:6px;min-height:28px;white-space:nowrap}
.group-members-title b,.group-members-title span{line-height:1;margin:0}
.group-members-list{display:grid;gap:4px;min-width:0}
.group-member{display:flex;align-items:center;gap:7px;min-height:30px;padding:2px 0 !important;line-height:1.1}
.group-member .dot{align-self:center;margin:0}
.group-member img{display:block;width:28px;height:28px;flex:0 0 28px;object-fit:cover}
.group-member a{display:flex;align-items:center;min-height:28px;line-height:1.1}

@media(max-width:1050px){
  .group-members{display:grid !important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px !important;padding:10px !important}
  .group-members-list{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .group-member{padding:0 !important}
}
@media(max-width:540px){
  .group-members{grid-template-columns:auto minmax(0,1fr);align-items:center}
  .group-members-title{min-height:32px}
  .group-members-list{gap:8px}
  .audio-volume-wrap{grid-template-columns:32px minmax(100px,1fr) !important;justify-content:stretch !important}
  .audio-volume{width:100% !important}
}
body[data-site-mode=dark] input[type=file]::-webkit-file-upload-button{
  color:#eefaff;background:linear-gradient(#245d7e,#0d3451);border:1px solid #3c83aa;border-radius:7px;padding:5px 9px;margin-right:8px
}

/* === Buddyline v3: top Theme tab, iOS-style emoji keyboard, embeds === */
:root{--glass-opacity:86%}
.shell.glass-shell{
  background:color-mix(in srgb,var(--surface-solid) var(--glass-opacity),transparent)!important;
}
.panel,.rich-composer,.messages-layout,.chat,.chat-log,.group-members{
  background-color:color-mix(in srgb,var(--surface-solid) var(--glass-opacity),transparent)!important;
}
body[data-route=theme] .layout{grid-template-columns:minmax(0,1fr)!important}
body[data-route=theme] .sidebar,body[data-route=theme] .rightbar{display:none!important}

/* Full Theme page */
.theme-page-body{display:grid;gap:14px;padding:14px!important}
.theme-page-section{border:1px solid var(--edge);border-radius:12px;padding:13px;background:color-mix(in srgb,var(--surface-solid) 84%,transparent);box-shadow:inset 0 1px #fff5}
.theme-page-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}.theme-page-title b{display:block;font-size:15px;color:var(--ink)}.theme-page-title small{display:block;color:var(--muted);margin-top:2px}
.theme-page-mode{max-width:430px}.theme-page-mode button{min-height:36px;border-radius:999px}
.theme-range{display:grid;gap:7px;margin-top:12px;color:var(--ink);font-weight:700}.theme-range input{width:100%;accent-color:var(--aero-accent)}
.theme-color-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;color:var(--ink);font-weight:700}.theme-color-line input{width:74px;height:38px;border:1px solid var(--edge);border-radius:9px;background:var(--input);padding:3px}
.theme-page-scenes{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.theme-page-scenes .scene-card img{aspect-ratio:16/9}.theme-page-upload{max-width:420px;margin:12px auto 0}
.profile-theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.profile-theme-card{min-width:0;text-align:left;border:1px solid var(--edge);border-radius:10px;background:var(--surface-solid);color:var(--ink);padding:8px;box-shadow:0 3px 10px #001b2d18}.profile-theme-card.selected{outline:2px solid var(--hot,#ff3f9f);outline-offset:1px}.profile-theme-card b,.profile-theme-card small{display:block}.profile-theme-card small{color:var(--muted);margin-top:3px}.profile-theme-swatch{height:44px;border-radius:7px;margin-bottom:7px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid color-mix(in srgb,var(--edge) 70%,transparent);background:linear-gradient(135deg,var(--c1),var(--c2))}.profile-theme-swatch i:nth-child(1){background:var(--c3)}.profile-theme-swatch i:nth-child(2){background:var(--c2)}.profile-theme-swatch i:nth-child(3){background:var(--c4)}.custom-swatch{background:linear-gradient(90deg,#ff4d9d,#ffbd3d,#48d97a,#4ab8ff,#9b63ff)}.custom-swatch i{background:transparent!important}
.theme-custom-colors{margin-top:12px;padding:12px;border:1px solid var(--edge);border-radius:10px;background:var(--input)}.theme-color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}.theme-color-grid label{display:grid;gap:4px;color:var(--ink);font-size:11px;font-weight:700}.theme-color-grid input{width:100%;height:38px;border:1px solid var(--edge);border-radius:7px;background:var(--surface-solid);padding:3px}

/* iOS-inspired emoji sheet */
.emoji-ios-modal{width:min(720px,calc(100vw - 20px))!important;overflow:hidden!important;border-radius:18px!important}
.emoji-ios-head{padding:11px 14px!important}.emoji-ios-head button{display:grid;place-items:center}.emoji-ios-head .ui-icon{width:20px;height:20px}
.emoji-picker.emoji-ios{padding:10px 10px 0!important;display:grid;grid-template-rows:auto auto minmax(180px,1fr) auto;gap:8px;max-height:min(680px,82svh);overflow:hidden}
.emoji-search-row{position:relative}.emoji-search-row input{width:100%;height:38px;border:0;border-radius:11px;background:color-mix(in srgb,var(--input) 88%,#8ca0ad);color:var(--ink);padding:0 12px 0 37px;font-size:14px;outline:0}.emoji-search-row input:focus{box-shadow:0 0 0 2px var(--aero-accent)}.emoji-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-51%);font-size:21px;color:var(--muted);pointer-events:none}
.emoji-section-title{font-size:12px;font-weight:800;color:var(--muted);padding:0 3px}
.emoji-grid.emoji-ios-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));align-content:start;gap:2px;max-height:none;min-height:250px;overflow-y:auto;overflow-x:hidden;padding:4px 4px 12px;border:0;border-radius:0;background:transparent;overscroll-behavior:contain;touch-action:pan-y}
.emoji-ios-grid .emoji-cell{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:29px;border-radius:9px;min-width:0}.emoji-ios-grid .emoji-cell:active{background:color-mix(in srgb,var(--aero-accent) 20%,transparent);transform:scale(.9)}
.emoji-ios-bottom{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(10,minmax(34px,1fr));gap:2px;padding:7px 2px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--edge);background:color-mix(in srgb,var(--surface-solid) 94%,transparent);overflow-x:auto}.emoji-ios-bottom button{min-width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:20px;font-weight:800;display:grid;place-items:center}.emoji-ios-bottom button.active{color:#fff;background:var(--aero-accent);box-shadow:inset 0 1px #fff7}
.emoji-tone-popover{position:absolute;z-index:20;display:flex;gap:3px;padding:7px;border:1px solid var(--edge);border-radius:14px;background:var(--surface-solid);box-shadow:0 10px 34px #0006}.emoji-tone-popover button{width:35px;height:35px;border:0;border-radius:8px;background:transparent;font-size:25px;display:grid;place-items:center}.emoji-tone-popover button:active{background:var(--input)}

/* Discord-style link unfurls and music previews */
.discord-embed{position:relative;display:block;max-width:520px;margin:8px 0;border:1px solid var(--edge);border-radius:9px;overflow:hidden;background:color-mix(in srgb,var(--surface-solid) 95%,transparent);color:var(--ink);box-shadow:0 2px 8px #001b2d18}.discord-embed .embed-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--aero-accent)}.embed-body{padding:10px 10px 10px 14px}.embed-top{display:flex;gap:10px;align-items:flex-start}.embed-copy{display:grid;gap:3px;min-width:0;flex:1}.embed-site{font-size:10px;color:var(--muted);text-decoration:none}.embed-title{font-size:13px;line-height:1.25;overflow-wrap:anywhere}.embed-desc{font-size:11px;line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.embed-thumb{width:72px;height:72px;object-fit:cover;border-radius:7px;border:1px solid var(--edge);flex:none}.embed-preview-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;border:1px solid var(--edge);border-radius:999px;background:var(--button);color:var(--ink);padding:6px 11px;font-weight:800;font-size:11px}.embed-preview-btn .ui-icon{width:14px;height:14px}.embed-player-slot{margin-top:8px}.music-service-frame{display:block;width:100%;max-width:100%;border:0;border-radius:10px;background:#111}.music-embed[data-music-service="Spotify"] .embed-accent{background:#1ed760}.music-embed[data-music-service="Apple Music"] .embed-accent{background:#fa2d48}

@media(max-width:900px){.theme-page-scenes{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){
  .profile-theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-page-scenes{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-page-body{padding:9px!important}.theme-page-section{padding:10px}
  .emoji-ios-modal{width:100%!important;max-width:none!important;height:min(76svh,650px);margin:auto 0 0;border-radius:18px 18px 0 0!important}.app-modal-backdrop:has(.emoji-ios-modal){align-items:end;padding:0}.emoji-picker.emoji-ios{height:calc(min(76svh,650px) - 48px);max-height:none}.emoji-grid.emoji-ios-grid{grid-template-columns:repeat(8,minmax(0,1fr));min-height:0}.emoji-ios-grid .emoji-cell{font-size:28px}.emoji-ios-bottom{grid-template-columns:repeat(10,40px);justify-content:start}.discord-embed{max-width:100%}.embed-thumb{width:60px;height:60px}
}
.emoji-ios-modal{position:relative}

/* === Buddyline v4: profile-matched components + dual colors + Liquid Glass === */
:root{
  --site-primary:#168dd2;
  --site-secondary:#075c99;
  --glass-opacity:86%;
  --glass-blur:18px;
  --panel-glass-blur:12px;
}

/* Full two-color site theme instead of one accent. */
.nav button.active,
.btn.blue,
.theme-tab.active,
.audio-play,
.theme-mode-switch button.active{
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--site-primary) 54%,white) 0%,
    var(--site-primary) 42%,
    var(--site-secondary) 58%,
    color-mix(in srgb,var(--site-secondary) 82%,black) 100%)!important;
  border-color:color-mix(in srgb,var(--site-primary) 72%,white)!important;
}
.audio-seek::-webkit-slider-thumb,.audio-volume::-webkit-slider-thumb{border-color:var(--site-primary)!important}
.audio-seek::-moz-range-thumb,.audio-volume::-moz-range-thumb{border-color:var(--site-primary)!important}
.audio-kind{background:var(--site-primary)!important}
.emoji-ios-bottom button.active{background:linear-gradient(145deg,var(--site-primary),var(--site-secondary))!important}

/* Actual Liquid Glass: opacity can now go down to 8% in both modes. */
.shell.glass-shell{
  background:color-mix(in srgb,var(--surface-solid) var(--glass-opacity),transparent)!important;
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(155%) contrast(102%);
  backdrop-filter:blur(var(--glass-blur)) saturate(155%) contrast(102%);
  box-shadow:inset 0 1px 0 #ffffff80,inset 0 -1px 0 #ffffff1f,0 18px 55px #00101f38!important;
}
.panel,.rich-composer,.messages-layout,.chat,.chat-log,.group-members,.theme-page-section{
  background-color:color-mix(in srgb,var(--surface-solid) var(--glass-opacity),transparent)!important;
  -webkit-backdrop-filter:blur(var(--panel-glass-blur)) saturate(145%);
  backdrop-filter:blur(var(--panel-glass-blur)) saturate(145%);
}
.panel,.theme-page-section,.discord-embed,.buddy-audio-player,.pending-attachment,.msg-file{
  box-shadow:inset 0 1px 0 #ffffff45,0 4px 14px #00142122;
}
body[data-site-mode=dark] .shell.glass-shell,
body[data-site-mode=dark] .panel,
body[data-site-mode=dark] .rich-composer,
body[data-site-mode=dark] .messages-layout,
body[data-site-mode=dark] .chat,
body[data-site-mode=dark] .chat-log,
body[data-site-mode=dark] .group-members{
  box-shadow:inset 0 1px 0 #ffffff20,inset 0 -1px 0 #ffffff0b,0 10px 35px #0005;
}

/* Theme screen: both colors + separate light/dark glass controls. */
.theme-site-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.theme-site-color-grid .theme-color-line{margin-top:0;padding:9px;border:1px solid var(--edge);border-radius:10px;background:color-mix(in srgb,var(--input) 72%,transparent)}
.liquid-glass-box{margin-top:12px;padding:11px;border:1px solid var(--edge);border-radius:12px;background:color-mix(in srgb,var(--input) 60%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.theme-page-title.compact{margin-bottom:4px}.theme-page-title.compact b{font-size:13px}.theme-page-title.compact small{font-size:10px}
.theme-dual-colors{display:grid;grid-template-columns:1fr 1fr;gap:10px}.theme-dual-colors>small{grid-column:1/-1;color:inherit;opacity:.72;line-height:1.35}

/* A profile is its own complete color system. Inline media, previews, files,
   audio players and link cards inherit the actual profile palette. */
.profile-stage .feed-item,
.profile-stage .discord-embed,
.profile-stage .buddy-audio-player,
.profile-stage .msg-file,
.profile-stage .pending-attachment,
.profile-stage .attachment-preview-file,
.profile-stage .media-card,
.profile-stage .file-card{
  color:var(--p-panel-text)!important;
  border-color:var(--p-border)!important;
  background:color-mix(in srgb,var(--p-panel) 92%,transparent)!important;
}
.profile-stage .discord-embed .embed-accent,
.profile-stage .music-embed[data-music-service="Spotify"] .embed-accent,
.profile-stage .music-embed[data-music-service="Apple Music"] .embed-accent{background:var(--p-accent)!important}
.profile-stage .embed-site,.profile-stage .embed-desc,.profile-stage .audio-times,.profile-stage .msg-file small{color:color-mix(in srgb,var(--p-panel-text) 68%,var(--p-panel))!important}
.profile-stage .embed-title,.profile-stage .audio-title,.profile-stage .audio-title b,.profile-stage .msg-file b{color:var(--p-panel-text)!important}
.profile-stage .embed-preview-btn,.profile-stage .audio-mute{
  color:var(--p-panel-text)!important;
  border-color:var(--p-border)!important;
  background:color-mix(in srgb,var(--p-panel) 72%,var(--p-accent))!important;
}
.profile-stage .audio-play{
  color:var(--p-head-text)!important;
  border-color:color-mix(in srgb,var(--p-accent) 60%,white)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--p-accent) 55%,white),var(--p-accent) 48%,var(--p-head) 100%)!important;
}
.profile-stage .audio-kind{background:var(--p-accent)!important;color:var(--p-head-text)!important}
.profile-stage .audio-seek,.profile-stage .audio-volume{background:color-mix(in srgb,var(--p-border) 58%,transparent)!important}
.profile-stage .audio-seek::-webkit-slider-thumb,.profile-stage .audio-volume::-webkit-slider-thumb{border-color:var(--p-accent)!important;background:var(--p-panel-text)!important}
.profile-stage .audio-seek::-moz-range-thumb,.profile-stage .audio-volume::-moz-range-thumb{border-color:var(--p-accent)!important;background:var(--p-panel-text)!important}
.profile-stage .media-file-icon,.profile-stage .attachment-preview-file{
  background:linear-gradient(145deg,color-mix(in srgb,var(--p-panel) 88%,var(--p-bg)),color-mix(in srgb,var(--p-panel) 68%,var(--p-accent)))!important;
  color:var(--p-panel-text)!important;
}
.profile-stage .feed-actions a,.profile-stage .feed-name,.profile-stage .feed-body a,.profile-stage .discord-embed a{color:var(--p-link)!important}
.profile-stage .pill{background:color-mix(in srgb,var(--p-panel) 72%,var(--p-accent))!important;color:var(--p-panel-text)!important;border-color:var(--p-border)!important}

/* Attachment preview modal adopts the profile palette when opened from a profile. */
.profile-themed-modal{border-color:var(--edge)!important;background:color-mix(in srgb,var(--surface-solid) 88%,transparent)!important;-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%)}
.profile-themed-modal .app-modal-head{background:var(--header)!important;color:var(--header-ink)!important}
.profile-themed-modal .attachment-preview-file,.profile-themed-modal .buddy-audio-player{background:color-mix(in srgb,var(--surface-solid) 90%,transparent)!important;color:var(--ink)!important;border-color:var(--edge)!important}

@media(max-width:540px){
  .theme-site-color-grid,.theme-dual-colors{grid-template-columns:1fr}
  .theme-dual-colors>small{grid-column:1}
}

/* v5: cleaner site Theme page + full profile theme matching */
body[data-profile-match="true"] .panel,
body[data-profile-match="true"] .theme-page-section,
body[data-profile-match="true"] .rich-composer,
body[data-profile-match="true"] .messages-layout,
body[data-profile-match="true"] .chat,
body[data-profile-match="true"] .chat-log,
body[data-profile-match="true"] .group-members,
body[data-profile-match="true"] .discord-embed,
body[data-profile-match="true"] .buddy-audio-player,
body[data-profile-match="true"] .pending-attachment,
body[data-profile-match="true"] .msg-file{
  color:var(--ink)!important;
  border-color:var(--edge)!important;
}
body[data-profile-match="true"] a{color:var(--link)}
body[data-profile-match="true"] input,
body[data-profile-match="true"] textarea,
body[data-profile-match="true"] select{color:var(--ink);background:var(--input);border-color:var(--edge)}
body[data-profile-match="true"] .panel-head,
body[data-profile-match="true"] .app-modal-head{background:var(--header)!important;color:var(--header-ink)!important}
body[data-profile-match="true"] .btn:not(.pink):not(.lastfm-btn),
body[data-profile-match="true"] .topbar .nav button:not(.active){color:var(--ink);border-color:var(--edge);background:var(--button)}

.theme-match-section{display:grid;gap:12px}
.theme-match-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--edge);border-radius:14px;background:color-mix(in srgb,var(--input) 74%,transparent);color:var(--ink);text-align:left;box-shadow:inset 0 1px #fff4,0 5px 18px #0014211f}
.theme-match-card:hover{background:color-mix(in srgb,var(--input) 88%,transparent)}
.theme-match-card.active{outline:2px solid var(--site-primary);outline-offset:1px;background:color-mix(in srgb,var(--site-primary) 16%,var(--input));box-shadow:inset 0 1px #fff5,0 0 18px color-mix(in srgb,var(--site-primary) 30%,transparent)}
.theme-match-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,var(--site-primary),var(--site-secondary));color:var(--header-ink);box-shadow:inset 0 1px #fff6}
.theme-match-icon .ui-icon{width:22px;height:22px}
.theme-match-card b,.theme-match-card small{display:block}.theme-match-card b{font-size:14px}.theme-match-card small{margin-top:3px;color:var(--muted);line-height:1.35}.theme-match-state{min-width:42px;text-align:center;padding:5px 8px;border-radius:999px;border:1px solid var(--edge);font-size:10px;font-weight:900;background:color-mix(in srgb,var(--surface-solid) 78%,transparent)}
.theme-match-card.active .theme-match-state{background:var(--site-primary);border-color:var(--site-primary);color:var(--header-ink)}
.theme-custom-site-head{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:2px}.theme-custom-site-head b{font-size:12px}.theme-custom-site-head small{font-size:10px;color:var(--muted);text-align:right}
.liquid-glass-main{margin-top:0}
.theme-profile-location{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px dashed var(--edge);border-radius:12px;color:var(--muted);background:color-mix(in srgb,var(--surface-solid) 62%,transparent)}
.theme-profile-location b{color:var(--ink)}
.theme-profile-location .btn{white-space:nowrap}
@media(max-width:600px){.theme-match-card{grid-template-columns:auto minmax(0,1fr)}.theme-match-state{grid-column:2;justify-self:start}.theme-custom-site-head{display:block}.theme-custom-site-head small{display:block;text-align:left;margin-top:2px}.theme-profile-location{align-items:flex-start;flex-direction:column}.theme-profile-location .btn{width:100%}}


/* v6: custom site colors control the entire palette in both light and dark mode. */
body[data-site-mode="dark"] .shell.glass-shell,
body[data-site-mode="dark"] .panel,
body[data-site-mode="dark"] .rich-composer,
body[data-site-mode="dark"] .messages-layout,
body[data-site-mode="dark"] .chat,
body[data-site-mode="dark"] .chat-log,
body[data-site-mode="dark"] .group-members,
body[data-site-mode="dark"] .theme-page-section,
body[data-site-mode="dark"] .discord-embed,
body[data-site-mode="dark"] .buddy-audio-player,
body[data-site-mode="dark"] .pending-attachment,
body[data-site-mode="dark"] .msg-file{
  background-color:color-mix(in srgb,var(--surface-solid) var(--glass-opacity),transparent)!important;
  border-color:var(--edge)!important;
  color:var(--ink)!important;
}
body[data-site-mode="dark"] .theme-page-body,
body[data-site-mode="dark"] .panel-body,
body[data-site-mode="dark"] .feed-item,
body[data-site-mode="dark"] .composer,
body[data-site-mode="dark"] .group-row,
body[data-site-mode="dark"] .friend-card{color:var(--ink)!important}
body[data-site-mode="dark"] .muted,
body[data-site-mode="dark"] .tiny.muted,
body[data-site-mode="dark"] .theme-page-title small,
body[data-site-mode="dark"] .theme-custom-site-head small{color:var(--muted)!important}
body[data-site-mode="dark"] input,
body[data-site-mode="dark"] textarea,
body[data-site-mode="dark"] select{background:var(--input)!important;color:var(--ink)!important;border-color:var(--edge)!important}
body[data-site-mode="dark"] .btn:not(.pink):not(.lastfm-btn),
body[data-site-mode="dark"] .topbar .nav button{background:var(--button)!important;border-color:var(--edge)!important;color:var(--ink)!important}
body[data-site-mode="dark"] .topbar .nav button.active{background:var(--header)!important;color:var(--header-ink)!important}
body[data-site-mode="dark"] .theme-color-line,
body[data-site-mode="dark"] .liquid-glass-box,
body[data-site-mode="dark"] .theme-profile-location{background:color-mix(in srgb,var(--surface-solid) 72%,transparent)!important;border-color:var(--edge)!important}

/* Keep the profile-match control optically centered on every screen size. */
.theme-match-card{max-width:620px;margin-inline:auto!important}
.theme-match-card>span:nth-child(2){min-width:0}
@media(max-width:600px){
  .theme-match-card{width:100%;max-width:100%;margin-left:auto!important;margin-right:auto!important}
}

/* v7: discover, locked groups, group avatars, timestamps and read receipts */
.message-meta{display:flex;align-items:center;gap:7px;justify-content:flex-end;margin-top:6px;min-height:16px;font-size:10px;color:var(--muted)}
.bubble:not(.me) .message-meta{justify-content:flex-start}
.msg-receipt{font-weight:800;color:var(--link);letter-spacing:.01em}
.group-message-author{display:flex;align-items:center;gap:7px;margin-bottom:5px}
.group-message-author img{width:24px;height:24px;border-radius:6px;object-fit:cover;border:1px solid var(--edge)}
.group-message-author b{line-height:1.1}
.group-list-avatar{width:52px;height:52px;border-radius:12px;object-fit:cover;border:1px solid var(--edge);flex:0 0 52px;background:var(--input)}
.group-head-avatar{width:34px;height:34px;border-radius:9px;object-fit:cover;border:1px solid color-mix(in srgb,var(--edge) 70%,white);flex:0 0 34px}
.group-name-line,.discover-group-name{display:flex;align-items:center;gap:6px;min-width:0}
.group-lock{display:inline-grid;place-items:center;width:20px;height:20px;color:var(--ink);opacity:.82;flex:0 0 20px}
.group-lock .ui-icon{width:15px;height:15px}
.group-about{display:flex;align-items:center;justify-content:space-between;gap:10px}
.group-picture-button{cursor:pointer;white-space:nowrap}
.group-locked-empty{display:grid;place-items:center;gap:12px;min-height:180px;text-align:center}
.group-locked-empty>.ui-icon{width:28px;height:28px}
.group-check{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid var(--edge);border-radius:10px;background:color-mix(in srgb,var(--input) 74%,transparent);cursor:pointer;color:var(--ink)}
.group-check input{width:18px;height:18px;accent-color:var(--site-primary)}
.group-check span{display:flex;align-items:center;gap:7px;font-weight:700}
.group-check .ui-icon{width:17px;height:17px}
.group-create-form input[type=file]{width:100%;max-width:100%}
.discover-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.discover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.discover-person,.discover-group{display:flex;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid var(--edge);border-radius:13px;background:color-mix(in srgb,var(--surface-solid) 74%,transparent);box-shadow:inset 0 1px #ffffff20}
.discover-person>img,.discover-group-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:11px;object-fit:cover;border:1px solid var(--edge);background:var(--input)}
.discover-person .btn,.discover-group .btn{flex:none}
.discover-group-list{display:grid;gap:9px}
.discover-group{align-items:flex-start}
.discover-group .grow{padding-top:2px}
body[data-site-mode=dark] .discover-person,body[data-site-mode=dark] .discover-group,body[data-site-mode=dark] .group-check{background:color-mix(in srgb,var(--surface-solid) 72%,transparent);color:var(--ink)}
@media(max-width:720px){
 .discover-grid{grid-template-columns:1fr}
 .discover-person,.discover-group{padding:9px}
 .discover-person>img,.discover-group-avatar{width:44px;height:44px;flex-basis:44px}
 .group-about{align-items:flex-start;flex-direction:column}
 .group-picture-button{width:100%;text-align:center}
}
@media(max-width:480px){
 .discover-search{grid-template-columns:1fr}
 .discover-person,.discover-group{flex-wrap:wrap}
 .discover-person .grow,.discover-group .grow{flex:1 1 calc(100% - 64px)}
 .discover-person>.btn,.discover-group>.btn{margin-left:58px}
 .group-toolbar{gap:6px}
 .group-head-avatar{width:30px;height:30px;flex-basis:30px}
 .message-meta{font-size:9px}
}

/* v8: group page polish — compact, theme-native chat instead of oversized blocks */
body[data-route^="groups/"] .main{min-width:0}
body[data-route^="groups/"] .panel{overflow:hidden}
body[data-route^="groups/"] .group-toolbar{
  min-height:54px;
  padding:8px 10px;
  gap:8px;
}
body[data-route^="groups/"] .group-toolbar h2{
  font-size:17px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body[data-route^="groups/"] .group-head-avatar{
  width:40px;
  height:40px;
  flex-basis:40px;
  border-radius:11px;
  box-shadow:inset 0 1px #ffffff55,0 3px 10px #0002;
}
body[data-route^="groups/"] .group-about{
  padding:10px 12px!important;
  background:color-mix(in srgb,var(--surface-solid) 52%,transparent);
  border-bottom:1px solid color-mix(in srgb,var(--edge) 70%,transparent);
}
body[data-route^="groups/"] .group-picture-button{
  width:auto!important;
  min-width:0;
  flex:none;
  border-radius:999px!important;
  padding:6px 11px!important;
}
body[data-route^="groups/"] .group-room{
  grid-template-columns:minmax(0,1fr) 170px;
  background:transparent;
  border-top:0;
}
body[data-route^="groups/"] .group-room .chat{
  display:flex;
  flex-direction:column;
  min-height:0;
  background:transparent!important;
  border:0!important;
}
body[data-route^="groups/"] .chat-connection{
  width:max-content;
  margin:8px 10px 0;
  padding:4px 9px 4px 22px;
  border-radius:999px;
  position:relative;
  background:color-mix(in srgb,var(--input) 65%,transparent);
  border:1px solid color-mix(in srgb,var(--edge) 70%,transparent);
  color:var(--muted);
  font-size:10px;
  line-height:1;
}
body[data-route^="groups/"] .chat-connection:before{
  content:'';
  position:absolute;
  left:8px;
  top:50%;
  width:7px;
  height:7px;
  border-radius:50%;
  transform:translateY(-50%);
  background:#24d46d;
  box-shadow:0 0 8px #24d46dcc;
}
body[data-route^="groups/"] .chat-connection[data-state=error]:before{background:#ff5b68;box-shadow:0 0 8px #ff5b68aa}
body[data-route^="groups/"] .group-room .chat-log{
  height:auto!important;
  min-height:220px!important;
  max-height:48svh!important;
  overflow:auto;
  padding:12px 12px 8px;
  background:transparent!important;
  border:0!important;
  overscroll-behavior:contain;
}
body[data-route^="groups/"] .group-room .bubble{
  width:max-content;
  min-width:150px;
  max-width:min(82%,620px)!important;
  margin:6px 0;
  padding:9px 11px;
  border-radius:15px;
  border:1px solid color-mix(in srgb,var(--edge) 78%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 76%,transparent)!important;
  color:var(--ink)!important;
  box-shadow:inset 0 1px #ffffff14,0 5px 18px #00000012!important;
}
body[data-route^="groups/"] .group-room .bubble.me{
  margin-left:auto;
  background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 16%,var(--surface-solid)),color-mix(in srgb,var(--site-secondary) 12%,var(--surface-solid)))!important;
  border-color:color-mix(in srgb,var(--site-primary) 66%,var(--edge))!important;
}
body[data-route^="groups/"] .group-message-author{margin-bottom:7px}
body[data-route^="groups/"] .group-message-author img{
  width:28px;
  height:28px;
  border-radius:8px;
}
body[data-route^="groups/"] .msg-text{line-height:1.38}
body[data-route^="groups/"] .message-meta{
  margin-top:7px;
  gap:6px;
  opacity:.82;
}
body[data-route^="groups/"] .group-room .rich-composer{
  margin:0;
  padding:10px 12px 12px;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-bottom:0!important;
  background:color-mix(in srgb,var(--surface-solid) 42%,transparent)!important;
  box-shadow:inset 0 1px color-mix(in srgb,var(--edge) 75%,transparent)!important;
}
body[data-route^="groups/"] .group-room .rich-tools{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  padding:0 0 9px;
}
body[data-route^="groups/"] .group-room .rich-tools button{
  border-radius:999px!important;
  padding:6px 11px!important;
}
body[data-route^="groups/"] .group-room .chat-send{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  padding:8px!important;
  border:1px solid color-mix(in srgb,var(--edge) 75%,transparent)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--input) 76%,transparent)!important;
}
body[data-route^="groups/"] .group-room .chat-send input{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  min-height:38px;
}
body[data-route^="groups/"] .group-room .chat-send .btn{
  min-width:70px;
  border-radius:999px!important;
}
body[data-route^="groups/"] .group-members{
  padding:11px 10px!important;
  background:color-mix(in srgb,var(--surface-solid) 34%,transparent)!important;
  border-left:1px solid color-mix(in srgb,var(--edge) 70%,transparent)!important;
}
body[data-route^="groups/"] .group-members-title{
  min-height:24px;
  font-size:11px;
  opacity:.9;
}
body[data-route^="groups/"] .group-member{
  padding:5px 4px!important;
  border-radius:10px;
}
body[data-route^="groups/"] .group-member:hover{background:color-mix(in srgb,var(--input) 55%,transparent)}
body[data-route^="groups/"] .group-member img{
  width:30px;
  height:30px;
  flex-basis:30px;
  border-radius:8px;
}
body[data-route^="groups/"] .group-member a{font-weight:700;text-decoration:none}

@media(max-width:1050px){
  body[data-route^="groups/"] .group-room{grid-template-columns:minmax(0,1fr)}
  body[data-route^="groups/"] .group-members{
    border-left:0!important;
    border-top:1px solid color-mix(in srgb,var(--edge) 70%,transparent)!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    align-items:center;
  }
  body[data-route^="groups/"] .group-members-list{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap}
}
@media(max-width:540px){
  body[data-route^="groups/"] .group-toolbar{min-height:50px;padding:7px 8px}
  body[data-route^="groups/"] .group-head-avatar{width:36px;height:36px;flex-basis:36px}
  body[data-route^="groups/"] .group-about{padding:9px 10px!important;gap:8px}
  body[data-route^="groups/"] .group-picture-button{width:max-content!important;max-width:100%;align-self:flex-start}
  body[data-route^="groups/"] .group-room .chat-log{
    min-height:190px!important;
    max-height:42svh!important;
    padding:10px 8px 6px;
  }
  body[data-route^="groups/"] .group-room .bubble{
    max-width:90%!important;
    min-width:135px;
    padding:8px 10px;
  }
  body[data-route^="groups/"] .group-room .rich-composer{padding:9px 8px 10px}
  body[data-route^="groups/"] .group-room .rich-tools{gap:5px}
  body[data-route^="groups/"] .group-room .rich-tools button{padding:6px 10px!important}
  body[data-route^="groups/"] .group-room .chat-send{padding:6px!important}
  body[data-route^="groups/"] .group-members{
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px 10px!important;
  }
  body[data-route^="groups/"] .group-members-title{white-space:nowrap}
}


/* v9: center group chat content + add Link tool */
body[data-route^="groups/"] .group-room .bubble{
  margin-left:auto!important;
  margin-right:auto!important;
}
body[data-route^="groups/"] .group-room .bubble.me{
  margin-left:auto!important;
  margin-right:auto!important;
}
body[data-route^="groups/"] .group-room .rich-composer > .rich-tools,
body[data-route^="groups/"] .group-room .rich-composer > .pending-attachments,
body[data-route^="groups/"] .group-room .rich-composer > .chat-send{
  width:min(100%,620px);
  margin-left:auto;
  margin-right:auto;
}
body[data-route^="groups/"] .group-room .rich-tools{justify-content:center}
@media(max-width:540px){
  body[data-route^="groups/"] .group-room .rich-composer > .rich-tools,
  body[data-route^="groups/"] .group-room .rich-composer > .pending-attachments,
  body[data-route^="groups/"] .group-room .rich-composer > .chat-send{width:100%}
}


/* v10: group chat alignment + clickable sender names */
body[data-route^="groups/"] .group-room .bubble{
  width:min(calc(100% - 24px),620px)!important;
  max-width:620px!important;
  margin:6px auto!important;
  box-sizing:border-box;
}
body[data-route^="groups/"] .group-room .bubble.me{
  margin-left:auto!important;
  margin-right:auto!important;
}
body[data-route^="groups/"] .group-message-author .group-author-link{
  color:var(--link)!important;
  text-decoration:underline;
  text-underline-offset:2px;
  cursor:pointer;
  min-width:0;
}
body[data-route^="groups/"] .group-message-author .group-author-link:hover{
  filter:brightness(1.12);
}
@media(max-width:600px){
  body[data-route^="groups/"] .group-room .chat-log{padding-left:8px!important;padding-right:8px!important}
  body[data-route^="groups/"] .group-room .bubble{
    width:calc(100% - 8px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* v11: hard-align group messages with composer; cache-busting release */
body[data-route^="groups/"] .group-room .chat-log{
  box-sizing:border-box!important;
  padding-left:12px!important;
  padding-right:12px!important;
}
body[data-route^="groups/"] .group-room .chat-log > .bubble,
body[data-route^="groups/"] .group-room .chat-log > .bubble.me{
  display:block!important;
  box-sizing:border-box!important;
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin:6px auto!important;
  align-self:center!important;
}
body[data-route^="groups/"] .group-room .rich-composer > .rich-tools,
body[data-route^="groups/"] .group-room .rich-composer > .pending-attachments,
body[data-route^="groups/"] .group-room .rich-composer > .chat-send{
  box-sizing:border-box!important;
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:600px){
  body[data-route^="groups/"] .group-room .chat-log{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body[data-route^="groups/"] .group-room .chat-log > .bubble,
  body[data-route^="groups/"] .group-room .chat-log > .bubble.me{
    width:min(100%,620px)!important;
    max-width:620px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body[data-route^="groups/"] .group-room .rich-composer > .rich-tools,
  body[data-route^="groups/"] .group-room .rich-composer > .pending-attachments,
  body[data-route^="groups/"] .group-room .rich-composer > .chat-send{
    width:min(100%,620px)!important;
    max-width:620px!important;
  }
}

/* =========================================================
   BUDDYLINE V12 — comprehensive visual/UX polish
   Preserves all existing features, routes, themes and custom CSS.
   ========================================================= */
:root{
  --ui-radius-xl:24px;
  --ui-radius-lg:18px;
  --ui-radius-md:14px;
  --ui-radius-sm:10px;
  --ui-gap:12px;
  --ui-panel-shadow:0 14px 36px color-mix(in srgb,var(--site-secondary) 17%,transparent),inset 0 1px rgba(255,255,255,.42);
  --ui-soft-border:color-mix(in srgb,var(--edge) 72%,transparent);
  --ui-hover:color-mix(in srgb,var(--site-primary) 10%,var(--surface-solid));
}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
button,input,textarea,select{font:inherit}
button,a,[data-go],[data-user],[data-profile],[data-online-profile]{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--site-primary) 52%,white)!important;
  outline-offset:2px!important;
}
::selection{background:color-mix(in srgb,var(--site-primary) 38%,transparent);color:var(--ink)}

/* APP FRAME */
#app{
  min-height:100dvh;
  padding:max(14px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;
  align-items:flex-start!important;
}
.shell.glass-shell{
  width:min(1480px,calc(100vw - 28px))!important;
  max-width:1480px!important;
  min-height:calc(100dvh - 28px)!important;
  margin:0 auto!important;
  border-radius:var(--ui-radius-xl)!important;
  border:1px solid color-mix(in srgb,var(--edge) 82%,white)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.16) inset,0 0 42px color-mix(in srgb,var(--site-primary) 16%,transparent)!important;
  overflow:clip!important;
}
.scene-overlay{
  background:
    radial-gradient(circle at 15% 10%,rgba(255,255,255,.16),transparent 22%),
    radial-gradient(circle at 84% 18%,color-mix(in srgb,var(--site-primary) 10%,transparent),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.08))!important;
}
body[data-site-mode="dark"] .scene-overlay{
  background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--site-primary) 13%,transparent),transparent 24%),linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.26))!important;
}

/* TOP NAV */
.topbar{
  position:sticky!important;
  top:0!important;
  z-index:35!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:11px 13px!important;
  border-radius:var(--ui-radius-xl) var(--ui-radius-xl) 0 0!important;
  border-bottom:1px solid color-mix(in srgb,var(--edge) 72%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) calc(var(--glass-opacity) + 6%),transparent)!important;
  -webkit-backdrop-filter:blur(calc(var(--glass-blur) + 7px)) saturate(170%)!important;
  backdrop-filter:blur(calc(var(--glass-blur) + 7px)) saturate(170%)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.10),inset 0 1px rgba(255,255,255,.34)!important;
}
.topbar-left{display:flex!important;align-items:center!important;gap:15px!important;min-width:0!important;flex:1 1 auto!important}
.brand-button{
  border:0!important;
  background:transparent!important;
  cursor:pointer!important;
  padding:0!important;
  flex:none!important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));
}
.logo.small-logo{font-size:25px!important;letter-spacing:-1.4px!important}
.nav{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  overflow-x:auto!important;
  overscroll-behavior-inline:contain;
  scrollbar-width:none!important;
  scroll-snap-type:x proximity;
  padding:2px 4px!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10px,#000 calc(100% - 10px),transparent 100%);
}
.nav::-webkit-scrollbar{display:none}
.nav button{
  scroll-snap-align:center;
  flex:0 0 auto!important;
  min-height:34px!important;
  padding:6px 13px!important;
  border-radius:999px!important;
  border:1px solid color-mix(in srgb,var(--edge) 78%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 62%,transparent)!important;
  color:var(--ink)!important;
  font-weight:750!important;
  letter-spacing:-.1px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.26),0 3px 10px rgba(0,0,0,.05)!important;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.nav button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--site-primary) 13%,var(--surface-solid))!important}
.nav button.active{
  color:var(--header-ink,#fff)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 72%,white),var(--site-primary) 54%,var(--site-secondary))!important;
  border-color:color-mix(in srgb,var(--site-primary) 80%,white)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.54),0 0 0 1px color-mix(in srgb,var(--site-primary) 24%,transparent),0 5px 16px color-mix(in srgb,var(--site-primary) 20%,transparent)!important;
}
.topbar-right{display:flex!important;align-items:center!important;gap:8px!important;flex:none!important}
.mini-mode-toggle,.top-user{
  border:1px solid color-mix(in srgb,var(--edge) 70%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 56%,transparent)!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.24)!important;
}
.mini-mode-toggle{padding:3px!important;gap:2px!important}
.mini-mode-toggle button{width:30px!important;height:30px!important;border-radius:999px!important}
.mini-mode-toggle button.active{background:color-mix(in srgb,var(--site-primary) 18%,var(--surface-solid))!important;box-shadow:0 2px 8px rgba(0,0,0,.12)!important}
.top-user{padding:3px 4px 3px 3px!important;gap:6px!important}
.top-user .mini-avatar{width:30px!important;height:30px!important;border-radius:9px!important;border:1px solid color-mix(in srgb,var(--edge) 75%,white)!important}
.top-user .name{font-weight:750!important;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-user .btn{border-radius:999px!important}

/* MAIN GRID */
.layout.layout-aero{
  grid-template-columns:220px minmax(0,1fr) 270px!important;
  gap:var(--ui-gap)!important;
  padding:var(--ui-gap)!important;
  align-items:start!important;
}
.main,.sidebar,.rightbar{gap:var(--ui-gap)!important}
.sidebar,.rightbar{position:sticky;top:76px;align-self:start}
.main{min-width:0!important;opacity:.985;transition:opacity .16s ease,transform .16s ease}
.main:not(.route-ready){opacity:.88;transform:translateY(3px)}
.main.route-ready{opacity:1;transform:none}

/* UNIVERSAL PANELS */
.panel{
  border-radius:var(--ui-radius-lg)!important;
  border:1px solid var(--ui-soft-border)!important;
  background:color-mix(in srgb,var(--surface-solid) var(--glass-opacity),transparent)!important;
  box-shadow:var(--ui-panel-shadow)!important;
  overflow:hidden!important;
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(145%)!important;
  backdrop-filter:blur(var(--glass-blur)) saturate(145%)!important;
}
.panel-head,.profile-mini .panel-head{
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px 12px!important;
  color:var(--header-ink,#fff)!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:-.15px!important;
  border-bottom:1px solid color-mix(in srgb,var(--edge) 70%,transparent)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 62%,white),var(--site-primary) 45%,var(--site-secondary))!important;
  text-shadow:0 1px 1px rgba(0,0,0,.20)!important;
}
.panel-head>.btn{margin-left:auto!important}
.panel-body{padding:13px!important}
.profile-mini .panel-body{padding:14px!important}
.sidebar-avatar{
  width:82px!important;height:82px!important;border-radius:18px!important;
  border:2px solid color-mix(in srgb,var(--edge) 65%,white)!important;
  outline:0!important;
  box-shadow:0 10px 24px rgba(0,0,0,.10)!important;
}
.profile-mini .panel-body b{font-size:16px!important;margin-top:6px!important}
.status-pill{
  width:max-content!important;
  max-width:100%!important;
  margin:7px auto 0!important;
  padding:4px 9px!important;
  border:1px solid color-mix(in srgb,var(--edge) 55%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--input) 72%,transparent)!important;
}
.dot.online{box-shadow:0 0 0 3px color-mix(in srgb,#22d85b 20%,transparent),0 0 10px #22d85b88!important;animation:buddyPulse 2.2s ease-in-out infinite}
@keyframes buddyPulse{50%{box-shadow:0 0 0 5px color-mix(in srgb,#22d85b 4%,transparent),0 0 13px #22d85b55}}
.quicklinks button,.quicklinks-side button{
  min-height:38px!important;
  padding:8px 12px!important;
  border:0!important;
  border-top:1px solid color-mix(in srgb,var(--edge) 28%,transparent)!important;
  background:transparent!important;
  color:var(--ink)!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:650!important;
}
.quicklinks button:hover,.quicklinks-side button:hover{background:var(--ui-hover)!important}
.quicklinks button .ui-icon,.quicklinks-side button .ui-icon{width:17px!important;height:17px!important;opacity:.82}
.buddy-row{min-height:34px!important;padding:6px 4px!important;border-bottom:1px solid color-mix(in srgb,var(--edge) 28%,transparent)!important}
.buddy-row:last-child{border-bottom:0!important}
.buddy-row a{font-weight:700;text-decoration:none;cursor:pointer}

/* BUTTONS + INPUTS */
.btn,.rich-tools button,.emoji-ios-bottom button,.media-card-actions a{
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,background .14s ease!important;
}
.btn{
  border-radius:12px!important;
  border:1px solid color-mix(in srgb,var(--edge) 78%,transparent)!important;
  background:var(--button)!important;
  color:var(--ink)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.34),0 3px 9px rgba(0,0,0,.06)!important;
  font-weight:750!important;
}
.btn:hover{filter:brightness(1.035);transform:translateY(-1px)}
.btn:active{transform:translateY(0) scale(.985)!important}
.btn.blue,.btn.primary{
  color:var(--header-ink,#fff)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 62%,white),var(--site-primary) 48%,var(--site-secondary))!important;
  border-color:color-mix(in srgb,var(--site-primary) 72%,white)!important;
}
input,textarea,select,.field input,.field textarea,.field select,.searchbox,.prefix-input{
  min-height:40px;
  border-radius:12px!important;
  border:1px solid color-mix(in srgb,var(--edge) 78%,transparent)!important;
  background:color-mix(in srgb,var(--input) 90%,transparent)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.06),0 0 0 1px rgba(255,255,255,.08)!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}
input:focus,textarea:focus,select:focus{
  border-color:color-mix(in srgb,var(--site-primary) 75%,white)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--site-primary) 18%,transparent),inset 0 1px 2px rgba(0,0,0,.05)!important;
}
textarea{line-height:1.45}

/* HOME + FEED */
.aero-composer{padding:13px!important;background:transparent!important;border-top:0!important}
.composer textarea{min-height:110px!important;height:auto!important;border-radius:14px!important;padding:13px 14px!important;font-size:14px!important}
.rich-tools,.home-tools{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;margin-top:9px!important}
.rich-tools button,.home-tools button{
  min-height:34px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  border:1px solid color-mix(in srgb,var(--edge) 74%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 64%,transparent)!important;
  color:var(--ink)!important;
  font-weight:700!important;
}
.rich-tools button:hover,.home-tools button:hover{background:var(--ui-hover)!important;transform:translateY(-1px)}
.composer-bottom{padding-top:9px!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important}
.composer-bottom .btn{min-width:118px!important;border-radius:999px!important}
.feed-panel>.panel-body,#feed{display:grid!important;gap:10px!important}
#feed{padding:0!important}
.feed-panel>.panel-body{padding:10px!important}
.feed-item{
  margin:0!important;
  padding:13px!important;
  border:1px solid color-mix(in srgb,var(--edge) 55%,transparent)!important;
  border-radius:var(--ui-radius-md)!important;
  background:color-mix(in srgb,var(--surface-solid) 68%,transparent)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.16),0 5px 16px rgba(0,0,0,.04)!important;
}
.feed-item+.feed-item{border-top:1px solid color-mix(in srgb,var(--edge) 55%,transparent)!important}
.feed-top{align-items:center!important}
.feed-avatar{width:46px!important;height:46px!important;border-radius:13px!important;border:1px solid color-mix(in srgb,var(--edge) 76%,white)!important;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.feed-name{font-weight:800!important;text-underline-offset:2px}
.feed-title{margin:10px 0 3px!important;font-size:16px!important;font-weight:800!important}
.feed-body{font-size:14px!important;line-height:1.48!important;margin-top:8px!important}
.feed-actions{display:flex!important;gap:12px!important;padding-top:10px!important;margin-top:10px!important;border-top:1px solid color-mix(in srgb,var(--edge) 32%,transparent)!important}
.feed-actions a{font-weight:700!important;text-decoration:none!important;cursor:pointer!important}
.hero-empty{min-height:150px!important;border-radius:14px!important;background:color-mix(in srgb,var(--input) 48%,transparent)!important}
.empty-icon{width:50px!important;height:50px!important;border-radius:16px!important;background:color-mix(in srgb,var(--surface-solid) 70%,transparent)!important}

/* LINK / MEDIA EMBEDS */
.discord-embed{
  max-width:560px!important;
  margin:10px 0!important;
  border-radius:14px!important;
  border-color:color-mix(in srgb,var(--edge) 65%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 72%,transparent)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.07),inset 0 1px rgba(255,255,255,.15)!important;
}
.embed-body{padding:12px 12px 12px 16px!important}
.embed-thumb{width:78px!important;height:78px!important;border-radius:12px!important}
.embed-title{font-size:14px!important;font-weight:800!important}
.embed-desc{font-size:12px!important}
.embed-preview-btn{border-radius:999px!important;font-weight:800!important}
.file-card,.media-card,.pending-item{
  border-radius:14px!important;
  border-color:color-mix(in srgb,var(--edge) 60%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 72%,transparent)!important;
  box-shadow:0 7px 20px rgba(0,0,0,.05)!important;
}
.media-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:12px!important}
.media-card>img,.media-card>video{height:170px!important}
.media-card-copy{padding:10px!important}

/* AUDIO */
.buddy-audio-player{
  width:min(520px,100%)!important;
  border-radius:16px!important;
  border-color:color-mix(in srgb,var(--edge) 60%,transparent)!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 78%,transparent),color-mix(in srgb,var(--site-primary) 8%,var(--input)))!important;
  box-shadow:0 7px 20px rgba(0,0,0,.07),inset 0 1px rgba(255,255,255,.22)!important;
}
.audio-play{box-shadow:0 5px 15px color-mix(in srgb,var(--site-primary) 22%,transparent)!important}

/* DISCOVER */
.discover-search{margin-bottom:12px!important}
.discover-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:11px!important}
.discover-person,.discover-group{
  min-height:78px!important;
  padding:12px!important;
  border-radius:16px!important;
  border:1px solid color-mix(in srgb,var(--edge) 56%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 68%,transparent)!important;
  box-shadow:0 7px 20px rgba(0,0,0,.04),inset 0 1px rgba(255,255,255,.16)!important;
  transition:transform .15s ease,background .15s ease!important;
}
.discover-person:hover,.discover-group:hover{transform:translateY(-2px);background:var(--ui-hover)!important}
.discover-person>img,.discover-group-avatar{width:56px!important;height:56px!important;flex-basis:56px!important;border-radius:15px!important}

/* MESSAGES */
.messages-layout{
  grid-template-columns:220px minmax(0,1fr)!important;
  min-height:560px!important;
  border:1px solid color-mix(in srgb,var(--edge) 55%,transparent)!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:color-mix(in srgb,var(--surface-solid) 56%,transparent)!important;
}
.conv-list{background:color-mix(in srgb,var(--surface-solid) 48%,transparent)!important;border-color:color-mix(in srgb,var(--edge) 42%,transparent)!important}
.conv-item{
  min-height:62px!important;
  padding:9px!important;
  border-bottom:1px solid color-mix(in srgb,var(--edge) 28%,transparent)!important;
  border-radius:0!important;
  transition:background .14s ease!important;
}
.conv-item.active{background:linear-gradient(90deg,color-mix(in srgb,var(--site-primary) 16%,transparent),transparent)!important;box-shadow:inset 3px 0 var(--site-primary)!important}
.conv-item img{width:40px!important;height:40px!important;border-radius:12px!important}
.chat{background:transparent!important}
.chat-head{min-height:48px!important;padding:10px 13px!important;border-bottom:1px solid color-mix(in srgb,var(--edge) 34%,transparent)!important;background:color-mix(in srgb,var(--surface-solid) 42%,transparent)!important}
.chat-log{padding:14px!important;gap:8px!important;background:transparent!important}
.bubble{
  border-radius:15px!important;
  border:1px solid color-mix(in srgb,var(--edge) 50%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 68%,transparent)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.04)!important;
}
.bubble.me{background:linear-gradient(145deg,color-mix(in srgb,var(--site-primary) 13%,var(--surface-solid)),color-mix(in srgb,var(--site-secondary) 9%,var(--surface-solid)))!important}
.chat-send{padding:10px!important;border-top:1px solid color-mix(in srgb,var(--edge) 40%,transparent)!important;background:color-mix(in srgb,var(--surface-solid) 48%,transparent)!important}

/* GROUPS — keep v11 alignment, polish only */
body[data-route^="groups/"] .group-room{border-radius:16px!important;overflow:hidden!important;border-color:color-mix(in srgb,var(--edge) 60%,transparent)!important}
body[data-route^="groups/"] .group-toolbar{padding:10px 12px!important;background:color-mix(in srgb,var(--surface-solid) 46%,transparent)!important}
body[data-route^="groups/"] .group-room .chat-log{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-solid) 18%,transparent),transparent)!important}
body[data-route^="groups/"] .group-room .bubble{
  border-radius:15px!important;
  box-shadow:0 7px 18px rgba(0,0,0,.045)!important;
}
body[data-route^="groups/"] .group-room .rich-composer{background:color-mix(in srgb,var(--surface-solid) 46%,transparent)!important}
body[data-route^="groups/"] .group-member{border-radius:12px!important}

/* THEME + CUSTOMIZE */
.theme-page-section,.easy-step,.studio-section,.quick-look,.theme-custom-colors,.music-settings-card{
  border-radius:16px!important;
  border-color:color-mix(in srgb,var(--edge) 56%,transparent)!important;
  background:color-mix(in srgb,var(--surface-solid) 62%,transparent)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.16),0 7px 18px rgba(0,0,0,.04)!important;
}
.scene-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:10px!important}
.scene-card{border-radius:15px!important;overflow:hidden!important;box-shadow:0 6px 17px rgba(0,0,0,.05)!important}
.scene-card img{aspect-ratio:16/9!important;height:auto!important}
.profile-theme-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important}
.studio-savebar{position:sticky!important;bottom:8px!important;z-index:10!important;border-radius:16px!important;border:1px solid color-mix(in srgb,var(--edge) 56%,transparent)!important;box-shadow:0 12px 28px rgba(0,0,0,.12)!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important}

/* PROFILE FRAME — preserve user customization inside */
body[data-route="profile"] .main>.profile-stage{border-radius:18px!important;overflow:hidden!important;box-shadow:0 14px 36px rgba(0,0,0,.10)!important}
.profile-head{gap:13px!important}
.avatar-lg{border-radius:18px!important}

/* MODALS + TOASTS */
.app-modal-backdrop{background:rgba(2,10,20,.42)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}
.app-modal{border-radius:20px!important;border-color:color-mix(in srgb,var(--edge) 65%,transparent)!important;box-shadow:0 28px 80px rgba(0,0,0,.32)!important}
.app-modal-head{min-height:44px!important;padding:9px 14px!important}
.app-modal-body{padding:16px!important}
.toast{
  left:50%!important;right:auto!important;bottom:max(18px,env(safe-area-inset-bottom))!important;
  transform:translateX(-50%)!important;
  max-width:min(520px,calc(100vw - 28px))!important;
  padding:10px 14px!important;
  border:1px solid color-mix(in srgb,var(--edge) 60%,transparent)!important;
  border-radius:999px!important;
  box-shadow:0 14px 38px rgba(0,0,0,.24)!important;
  -webkit-backdrop-filter:blur(18px) saturate(150%)!important;
  backdrop-filter:blur(18px) saturate(150%)!important;
}

/* AUTH — no duplicated wallpaper inside the window */
.auth-shell{
  min-height:100dvh!important;
  padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))!important;
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.16)),var(--site-scene) center/cover fixed!important;
}
.auth-window{width:min(920px,calc(100vw - 32px))!important;border-radius:24px!important;border:1px solid color-mix(in srgb,var(--edge) 70%,white)!important;box-shadow:0 28px 90px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.18)!important}
.auth-body{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr)!important;gap:0!important;background:color-mix(in srgb,var(--surface-solid) 76%,transparent)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important;backdrop-filter:blur(24px) saturate(150%)!important}
.auth-promo{
  min-height:490px!important;
  padding:28px!important;
  border:0!important;border-right:1px solid color-mix(in srgb,var(--edge) 46%,transparent)!important;border-radius:0!important;
  background:
    radial-gradient(circle at 20% 16%,color-mix(in srgb,var(--site-primary) 24%,white),transparent 25%),
    radial-gradient(circle at 80% 78%,color-mix(in srgb,var(--site-secondary) 26%,transparent),transparent 30%),
    linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 78%,transparent),color-mix(in srgb,var(--site-primary) 10%,var(--surface-solid)))!important;
  position:relative!important;overflow:hidden!important;
}
.auth-promo:before,.auth-promo:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.34);background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.72),rgba(255,255,255,.08) 26%,transparent 60%);box-shadow:inset -10px -12px 30px rgba(0,0,0,.08),0 8px 26px rgba(0,0,0,.08)}
.auth-promo:before{width:145px;height:145px;right:28px;top:55px}
.auth-promo:after{width:92px;height:92px;left:34px;bottom:44px}
.auth-logo-wrap{position:relative;z-index:2!important;padding:23px!important;border:1px solid color-mix(in srgb,var(--edge) 42%,transparent)!important;border-radius:18px!important;background:color-mix(in srgb,var(--surface-solid) 64%,transparent)!important;box-shadow:0 12px 34px rgba(0,0,0,.08)!important}
.auth-logo-wrap .logo.big{font-size:52px!important;letter-spacing:-2px!important}
.auth-tag{font-size:16px!important;line-height:1.4!important}
.auth-panel{border:0!important;border-radius:0!important;padding:30px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;background:color-mix(in srgb,var(--surface-solid) 74%,transparent)!important}
.auth-tabs{gap:8px!important;margin-bottom:20px!important}
.auth-tabs .tab{min-height:42px!important;border-radius:999px!important;font-weight:800!important}
.auth-panel .field{margin:12px 0!important}
.auth-panel .field label{font-size:12px!important;margin-bottom:3px!important}
.auth-panel .btn.block{min-height:44px!important;border-radius:999px!important;font-weight:900!important}

/* SKELETON */
.route-skeleton{overflow:hidden!important}
.skeleton{display:block;position:relative;overflow:hidden;background:color-mix(in srgb,var(--input) 72%,transparent);border-radius:999px}
.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);animation:buddyShimmer 1.15s infinite}
.sk-title{width:110px;height:12px}.sk-line{width:58%;height:12px;margin:8px 0}.sk-line.wide{width:84%}.sk-card{height:120px;border-radius:16px;margin-top:14px}
@keyframes buddyShimmer{100%{transform:translateX(100%)}}

/* FOOTER */
.footer{padding:11px 15px!important;border-top:1px solid color-mix(in srgb,var(--edge) 35%,transparent)!important;background:color-mix(in srgb,var(--surface-solid) 25%,transparent)!important;color:var(--muted)!important;font-weight:650!important}

/* TABLET */
@media(max-width:1180px){
  .layout.layout-aero{grid-template-columns:200px minmax(0,1fr)!important}
  .rightbar{grid-column:1/-1!important;position:static!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .rightbar>.panel{min-width:0}
  .messages-layout{grid-template-columns:190px minmax(0,1fr)!important}
}

/* MOBILE */
@media(max-width:760px){
  #app{padding:8px max(7px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left))!important}
  .shell.glass-shell{width:100%!important;min-height:calc(100dvh - 16px)!important;border-radius:20px!important}
  .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:9px 10px 8px!important;
  }
  .topbar-left{display:contents!important}
  .brand-button{grid-column:1!important;grid-row:1!important;justify-self:start!important}
  .topbar-right{grid-column:2!important;grid-row:1!important;justify-self:end!important}
  .nav{
    grid-column:1/-1!important;grid-row:2!important;width:100%!important;
    padding:4px 2px 1px!important;gap:5px!important;
  }
  .logo.small-logo{font-size:25px!important}
  .top-user .mini-avatar,.top-user .name{display:none!important}
  .top-user{background:transparent!important;border:0!important;padding:0!important;box-shadow:none!important}
  .top-user .btn{min-height:31px!important;padding:5px 10px!important}
  .nav button{min-height:34px!important;padding:6px 12px!important;font-size:12px!important}
  .layout.layout-aero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;padding:9px!important;gap:9px!important}
  .sidebar{display:none!important}
  .main{width:100%!important}
  .rightbar{position:static!important;grid-column:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .panel{border-radius:16px!important}
  .panel-head{min-height:38px!important;padding:8px 12px!important;font-size:14px!important}
  .panel-body{padding:11px!important}
  .feed-panel>.panel-body{padding:8px!important}
  .feed-item{padding:11px!important;border-radius:14px!important}
  .messages-layout{grid-template-columns:1fr!important;min-height:0!important;border-radius:14px!important}
  .conv-list{display:flex!important;overflow-x:auto!important;border-right:0!important;border-bottom:1px solid color-mix(in srgb,var(--edge) 38%,transparent)!important;scrollbar-width:none}
  .conv-list::-webkit-scrollbar{display:none}
  .conv-item{flex:0 0 145px!important;min-height:58px!important;border-bottom:0!important;border-right:1px solid color-mix(in srgb,var(--edge) 26%,transparent)!important}
  .chat-log{min-height:300px!important;max-height:52dvh!important}
  .discover-grid{grid-template-columns:1fr!important}
  .media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .media-card>img,.media-card>video{height:130px!important}
  .scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .studio-savebar{bottom:max(8px,env(safe-area-inset-bottom))!important}
  .auth-shell{padding:0!important}
  .auth-window{width:100%!important;min-height:100dvh!important;border-radius:0!important;border:0!important}
  .auth-body{grid-template-columns:1fr!important;min-height:100dvh!important}
  .auth-promo{min-height:180px!important;padding:16px!important;border-right:0!important;border-bottom:1px solid color-mix(in srgb,var(--edge) 40%,transparent)!important}
  .auth-promo:before{width:90px;height:90px;right:18px;top:28px}.auth-promo:after{display:none}
  .auth-logo-wrap{padding:16px!important}
  .auth-logo-wrap .logo.big{font-size:38px!important}
  .auth-panel{padding:18px!important;justify-content:flex-start!important}
}
@media(max-width:430px){
  .rightbar{grid-template-columns:1fr!important}
  .media-grid{grid-template-columns:1fr!important}
  .topbar-right{gap:4px!important}
  .mini-mode-toggle{display:none!important}
  .logo.small-logo{font-size:23px!important}
  .nav button{padding:6px 11px!important}
  .feed-avatar{width:42px!important;height:42px!important}
  .rich-tools button,.home-tools button{padding:6px 10px!important}
  .composer-bottom .btn{width:100%!important}
}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

/* =========================================================
   Buddyline v13 — focused polish: auth, Discover, previews
   ========================================================= */

/* Remove decorative marketing slogans from the app chrome. */
.footer:after{content:none!important;display:none!important}
.footer{justify-content:center!important}

/* AUTH — compact, deliberate account screen with no duplicated wallpaper art. */
.auth-shell{
  display:grid!important;
  place-items:center!important;
  min-height:100dvh!important;
  padding:clamp(16px,4vw,42px)!important;
  background:
    linear-gradient(180deg,rgba(3,21,35,.08),rgba(3,21,35,.22)),
    var(--site-scene) center/cover fixed!important;
}
.auth-window{
  width:min(880px,100%)!important;
  min-height:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--edge) 72%,white)!important;
  background:color-mix(in srgb,var(--surface-solid) 72%,transparent)!important;
  box-shadow:0 28px 86px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.22)!important;
  -webkit-backdrop-filter:blur(26px) saturate(155%)!important;
  backdrop-filter:blur(26px) saturate(155%)!important;
}
.auth-titlebar{
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:7px 12px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}
.auth-body{
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(360px,1.14fr)!important;
  gap:0!important;
  min-height:520px!important;
  background:transparent!important;
}
.auth-promo{
  min-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:22px!important;
  padding:34px!important;
  border:0!important;
  border-right:1px solid color-mix(in srgb,var(--edge) 40%,transparent)!important;
  border-radius:0!important;
  background:
    radial-gradient(circle at 16% 18%,color-mix(in srgb,var(--site-primary) 18%,white),transparent 27%),
    radial-gradient(circle at 88% 82%,color-mix(in srgb,var(--site-secondary) 20%,transparent),transparent 34%),
    color-mix(in srgb,var(--surface-solid) 76%,transparent)!important;
  overflow:hidden!important;
}
.auth-promo:before,.auth-promo:after{display:none!important;content:none!important}
.auth-logo-wrap{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.auth-logo-wrap .logo.big{
  font-size:clamp(44px,5vw,64px)!important;
  line-height:.96!important;
  letter-spacing:-2.5px!important;
}
.auth-tag{
  margin-top:14px!important;
  padding:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-size:17px!important;
  font-weight:750!important;
  line-height:1.35!important;
}
.auth-feature-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  position:relative!important;
  z-index:2!important;
}
.auth-feature-row span{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:42px!important;
  padding:9px 11px!important;
  border:1px solid color-mix(in srgb,var(--edge) 46%,transparent)!important;
  border-radius:13px!important;
  background:color-mix(in srgb,var(--surface-solid) 54%,transparent)!important;
  color:var(--ink)!important;
  font-size:12px!important;
  font-weight:750!important;
  box-shadow:inset 0 1px rgba(255,255,255,.14)!important;
}
.auth-feature-row .ui-icon{width:18px!important;height:18px!important}
.auth-panel{
  min-height:520px!important;
  justify-content:center!important;
  padding:32px!important;
  border:0!important;
  border-radius:0!important;
  background:color-mix(in srgb,var(--surface-solid) 82%,transparent)!important;
}
.auth-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:0 0 20px!important;
  padding:5px!important;
  border:1px solid color-mix(in srgb,var(--edge) 44%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--input) 46%,transparent)!important;
}
.auth-tabs .tab{
  min-height:42px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  font-size:12px!important;
  font-weight:900!important;
}
.auth-tabs .tab.active{
  background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 75%,white),var(--site-secondary))!important;
  color:var(--header-ink,#fff)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.28),0 4px 12px color-mix(in srgb,var(--site-primary) 22%,transparent)!important;
}
.auth-form-heading{display:grid!important;gap:4px!important;margin:0 0 12px!important}
.auth-form-heading b{font-size:20px!important;color:var(--ink)!important}
.auth-form-heading span{font-size:12px!important;color:var(--muted)!important;line-height:1.4!important}
.auth-form{display:grid!important;gap:2px!important}
.auth-panel .field{margin:7px 0!important}
.auth-panel .field label{display:block!important;margin:0 0 5px!important;font-size:11px!important;font-weight:800!important;color:var(--ink)!important}
.auth-panel .field input,.auth-panel .prefix-input{
  min-height:46px!important;
  border-radius:13px!important;
  border:1px solid color-mix(in srgb,var(--edge) 60%,transparent)!important;
  background:color-mix(in srgb,var(--input) 88%,transparent)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.05)!important;
  font-size:14px!important;
}
.auth-panel .prefix-input{display:flex!important;align-items:center!important;padding-left:12px!important}
.auth-panel .prefix-input>span{font-weight:900!important;color:var(--muted)!important}
.auth-panel .prefix-input input{border:0!important;background:transparent!important;box-shadow:none!important}
.auth-panel .btn.block{
  margin-top:10px!important;
  min-height:48px!important;
  border-radius:999px!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
}

/* Discover: cleaner cards and truly centered action button on narrow screens. */
.discover-grid{gap:12px!important}
.discover-person,.discover-group{
  padding:13px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,color-mix(in srgb,var(--surface-solid) 80%,transparent),color-mix(in srgb,var(--site-primary) 5%,var(--surface-solid)))!important;
  box-shadow:0 8px 22px rgba(0,0,0,.05),inset 0 1px rgba(255,255,255,.18)!important;
}
.discover-person>img,.discover-group-avatar{
  border-radius:16px!important;
  box-shadow:0 4px 12px rgba(0,0,0,.08)!important;
}
.discover-person .grow b,.discover-group-name b{font-size:14px!important}
.discover-person>.btn,.discover-group>.btn{min-width:78px!important}

/* Group fallback picture is generic; no initials or group-name letters. */
.group-list-avatar,.group-head-avatar,.discover-group-avatar{background:color-mix(in srgb,var(--site-primary) 13%,var(--input))!important}

/* Discord-style media lightbox: no filename/title bar for GIF/image previews. */
.app-modal.discord-media-modal{
  width:min(820px,calc(100vw - 24px))!important;
  max-width:820px!important;
  max-height:min(86dvh,820px)!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
.app-modal-backdrop:has(.discord-media-modal){
  background:rgba(3,8,14,.78)!important;
  -webkit-backdrop-filter:blur(18px) saturate(115%)!important;
  backdrop-filter:blur(18px) saturate(115%)!important;
}
.discord-media-preview{
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  max-height:86dvh!important;
  padding:0!important;
  background:transparent!important;
}
.discord-preview-close{
  position:absolute!important;
  z-index:3!important;
  top:-10px!important;
  right:-10px!important;
  width:40px!important;
  height:40px!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:999px!important;
  background:rgba(8,15,24,.86)!important;
  color:#fff!important;
  font-size:26px!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 8px 24px rgba(0,0,0,.32)!important;
}
.discord-media-preview .attachment-preview-image{
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(100%,820px)!important;
  max-height:82dvh!important;
  object-fit:contain!important;
  border-radius:14px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.45)!important;
  background:#0b1118!important;
}

/* Overall surface polish without changing user-selected colors. */
.panel{overflow:hidden!important}
.panel-head{letter-spacing:-.01em!important}
.btn,.nav button,.rich-tools button{transition:transform .12s ease,filter .12s ease,box-shadow .12s ease!important}
.btn:active,.nav button:active,.rich-tools button:active{transform:translateY(1px) scale(.985)!important}
.searchbox,input,textarea,select{outline:none}
.searchbox:focus,input:focus,textarea:focus,select:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--site-primary) 32%,transparent)!important}

@media(max-width:760px){
  .auth-shell{display:block!important;padding:0!important;background:var(--surface-solid)!important}
  .auth-window{width:100%!important;min-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--surface-solid)!important}
  .auth-titlebar{position:sticky!important;top:0!important;z-index:5!important;min-height:36px!important}
  .auth-titlebar .title-icons{display:none!important}
  .auth-body{display:block!important;min-height:calc(100dvh - 36px)!important;background:var(--surface-solid)!important}
  .auth-promo{
    min-height:145px!important;
    padding:20px 20px 14px!important;
    border-right:0!important;
    border-bottom:1px solid color-mix(in srgb,var(--edge) 38%,transparent)!important;
    background:linear-gradient(150deg,color-mix(in srgb,var(--site-primary) 14%,var(--surface-solid)),color-mix(in srgb,var(--surface-solid) 95%,transparent))!important;
  }
  .auth-logo-wrap .logo.big{font-size:42px!important}
  .auth-tag{margin-top:9px!important;font-size:14px!important}
  .auth-feature-row{grid-template-columns:repeat(4,1fr)!important;gap:5px!important;margin-top:2px!important}
  .auth-feature-row span{justify-content:center!important;min-height:34px!important;padding:6px!important;font-size:0!important;border-radius:10px!important}
  .auth-feature-row span .ui-icon{width:18px!important;height:18px!important}
  .auth-panel{min-height:0!important;padding:18px 18px max(26px,env(safe-area-inset-bottom))!important;justify-content:flex-start!important;background:var(--surface-solid)!important}
  .auth-tabs{margin-bottom:16px!important}
  .auth-form-heading b{font-size:18px!important}
  .auth-panel .field{margin:6px 0!important}
  .auth-panel .field input,.auth-panel .prefix-input{min-height:48px!important}

  .discover-person{
    display:grid!important;
    grid-template-columns:58px minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:9px!important;
  }
  .discover-person>img{grid-column:1!important;grid-row:1!important;width:58px!important;height:58px!important;flex-basis:58px!important}
  .discover-person>.grow{grid-column:2!important;grid-row:1!important;min-width:0!important}
  .discover-person>.btn,.discover-person>.pill{
    grid-column:1/-1!important;
    grid-row:2!important;
    justify-self:center!important;
    margin:0 auto!important;
    min-width:108px!important;
    text-align:center!important;
  }
  .discover-group{display:grid!important;grid-template-columns:54px minmax(0,1fr)!important;column-gap:11px!important;row-gap:9px!important;align-items:center!important}
  .discover-group-avatar{grid-column:1!important;grid-row:1!important;width:54px!important;height:54px!important;flex-basis:54px!important}
  .discover-group>.grow{grid-column:2!important;grid-row:1!important;padding:0!important}
  .discover-group>.btn{grid-column:1/-1!important;grid-row:2!important;justify-self:center!important;margin:0 auto!important;min-width:108px!important}

  .discord-preview-close{top:8px!important;right:8px!important}
  .discord-media-preview .attachment-preview-image{max-height:78dvh!important;border-radius:12px!important}
}

@media(max-width:430px){
  .auth-promo{min-height:132px!important;padding:17px 16px 12px!important}
  .auth-logo-wrap .logo.big{font-size:38px!important}
  .auth-panel{padding:16px 16px max(22px,env(safe-area-inset-bottom))!important}
  .auth-tabs .tab{font-size:11px!important}
}

/* =========================================================
   Buddyline v14 release polish
   Final mobile fixes, simplified Theme, PWA install surface
   ========================================================= */

/* Auth uses one real wallpaper, never a duplicated image panel. */
#auth:not(.hidden){
  min-height:100dvh;
  background:
    linear-gradient(180deg,rgba(5,14,29,.26),rgba(5,14,29,.50)),
    var(--site-scene) center/cover fixed no-repeat;
}
.auth-shell{background:transparent!important;min-height:100dvh!important;padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))!important}
.auth-window{overflow:hidden!important;background:color-mix(in srgb,var(--surface-solid) 70%,transparent)!important;-webkit-backdrop-filter:blur(24px) saturate(145%)!important;backdrop-filter:blur(24px) saturate(145%)!important}
.auth-promo{background:linear-gradient(145deg,color-mix(in srgb,var(--site-primary) 18%,transparent),color-mix(in srgb,var(--surface-solid) 54%,transparent))!important}
.auth-panel{background:color-mix(in srgb,var(--surface-solid) 80%,transparent)!important;-webkit-backdrop-filter:blur(20px) saturate(135%)!important;backdrop-filter:blur(20px) saturate(135%)!important}
.auth-app-callout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--edge) 72%,transparent);border-radius:15px;background:color-mix(in srgb,var(--input) 72%,transparent)}
.auth-app-callout>div{display:grid;gap:3px;min-width:0}.auth-app-callout b{font-size:12px}.auth-app-callout span{font-size:10px;color:var(--muted);line-height:1.35}.auth-install-btn{display:inline-flex;align-items:center;gap:6px;flex:none;border-radius:999px!important;font-weight:800!important}.auth-install-btn .ui-icon{width:15px;height:15px}

/* One-piece username input: remove the old doubled/layered @ box. */
.auth-panel .prefix-input{display:grid!important;grid-template-columns:42px minmax(0,1fr)!important;align-items:stretch!important;padding:0!important;overflow:hidden!important;border:1px solid var(--edge)!important;background:var(--input)!important;border-radius:14px!important;box-shadow:inset 0 1px rgba(255,255,255,.08)!important}
.auth-panel .prefix-input>span{display:grid!important;place-items:center!important;padding:0!important;border-right:1px solid color-mix(in srgb,var(--edge) 72%,transparent)!important;background:color-mix(in srgb,var(--site-primary) 8%,transparent)!important;color:var(--muted)!important;font-size:14px!important}
.auth-panel .prefix-input>input{min-width:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0 13px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important}

/* Discover mobile cards: profile/open/join are actually centered. */
@media(max-width:760px){
  .discover-person,.discover-group{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    text-align:center!important;
    padding:16px 14px!important;
  }
  .discover-person>img,.discover-group-avatar{width:72px!important;height:72px!important;flex:0 0 72px!important;grid-column:auto!important;grid-row:auto!important;margin:0 auto!important}
  .discover-person>.grow,.discover-group>.grow{width:100%!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important;padding:0!important;text-align:center!important}
  .discover-person>.btn,.discover-person>.pill,.discover-group>.btn{grid-column:auto!important;grid-row:auto!important;justify-self:auto!important;margin:2px auto 0!important;min-width:118px!important;max-width:180px!important;text-align:center!important;align-self:center!important}
  .discover-group-name{justify-content:center!important}
}

/* GIFs/images: never crop in feeds, DMs, groups, or the preview lightbox. */
.msg-media-link{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:100%!important;overflow:visible!important;background:transparent!important}
.msg-image,.post-image{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:min(68dvh,720px)!important;object-fit:contain!important;object-position:center!important;margin:0 auto!important}
.bubble{overflow:visible!important}
.bubble .msg-attachments,.feed-item .msg-attachments{max-width:100%!important;min-width:0!important;overflow:visible!important}
.app-modal.discord-media-modal{width:min(94vw,1100px)!important;max-width:1100px!important;max-height:92dvh!important}
.discord-media-preview{width:100%!important;height:auto!important;max-height:92dvh!important;overflow:visible!important}
.discord-media-preview .attachment-preview-image{width:auto!important;height:auto!important;max-width:94vw!important;max-height:88dvh!important;object-fit:contain!important;object-position:center!important;background:transparent!important}

/* Profiles must be fully scrollable on phones; only horizontal overflow is clipped. */
@media(max-width:760px){
  body[data-route="profile"] .profile-stage{height:auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:visible!important;padding-bottom:max(30px,env(safe-area-inset-bottom))!important}
  body[data-route="profile"] .profile-page{height:auto!important;max-height:none!important;overflow:visible!important}
  body[data-route="profile"] .profile-columns,body[data-route="profile"] .profile-left,body[data-route="profile"] .profile-right{height:auto!important;max-height:none!important;overflow:visible!important}
}

/* Simplified Theme page. */
.release-theme-page .theme-page-body{display:grid!important;gap:14px!important}
.release-theme-page .theme-page-section{margin:0!important;padding:16px!important;border-radius:18px!important}
.release-theme-page .theme-page-title{margin-bottom:12px!important}.release-theme-page .theme-page-title b{font-size:17px!important}.release-theme-page .theme-page-title small{display:block;margin-top:3px;color:var(--muted)!important;line-height:1.4}
.theme-simple-row{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;margin-top:13px}.theme-simple-label{font-weight:800;color:var(--ink)}
.release-theme-page .theme-page-mode{margin:0!important;max-width:420px!important}
.theme-simple-colors{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr);gap:14px;align-items:center;margin-top:14px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--edge) 55%,transparent)}
.theme-simple-colors>div:first-child{display:grid;gap:3px}.theme-simple-colors small{color:var(--muted)}.theme-simple-colors.disabled-look{opacity:.64}
.release-theme-page .liquid-glass-main{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}
.release-theme-page .theme-range{padding:10px 0!important}.release-theme-page .theme-range span{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}
.release-theme-page .theme-page-scenes{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.release-theme-page .scene-card{min-width:0!important}.release-theme-page .scene-card img{aspect-ratio:16/9!important;height:auto!important;object-fit:cover!important}
.release-theme-page .theme-page-upload{margin-top:12px!important}
@media(max-width:700px){
  .theme-simple-row{grid-template-columns:1fr;gap:7px}.theme-simple-colors{grid-template-columns:1fr}.release-theme-page .liquid-glass-main{grid-template-columns:1fr!important}.release-theme-page .theme-page-scenes{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Install / app page. */
.apps-page-body{display:grid;gap:15px}.apps-hero{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--edge);border-radius:18px;background:color-mix(in srgb,var(--surface-solid) 74%,transparent)}
.app-logo-mark{width:62px;height:62px;display:grid;place-items:center;flex:none;border-radius:18px;background:var(--header);color:var(--header-ink);font-size:22px;font-weight:1000;font-style:italic;box-shadow:inset 0 1px rgba(255,255,255,.48),0 8px 22px rgba(0,0,0,.12)}
.apps-hero>div:last-child{display:grid;gap:4px}.apps-hero b{font-size:20px}.apps-hero span{color:var(--muted);line-height:1.4}
.app-download-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app-download-card{display:grid;align-content:start;gap:8px;padding:17px;border:1px solid var(--edge);border-radius:18px;background:color-mix(in srgb,var(--surface-solid) 72%,transparent)}.app-download-card h3{margin:0;font-size:17px}.app-download-card p{margin:0 0 8px;color:var(--muted);line-height:1.5}.app-platform{width:max-content;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--site-primary) 18%,transparent);color:var(--link);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.app-download-card .btn{justify-self:start}.app-web-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--edge);border-radius:16px;background:color-mix(in srgb,var(--input) 65%,transparent)}.app-web-card>div{display:grid;gap:3px}.app-web-card span{color:var(--muted);font-size:11px}.install-help{justify-items:center!important;text-align:center!important}.install-help-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:var(--button);color:var(--header-ink)}.install-help-icon .ui-icon{width:26px;height:26px}.install-help p{max-width:380px;line-height:1.55}
@media(max-width:700px){.app-download-grid{grid-template-columns:1fr}.apps-hero{align-items:flex-start}.app-logo-mark{width:52px;height:52px;border-radius:15px}.apps-hero b{font-size:17px}.app-web-card{align-items:flex-start;flex-direction:column}.app-web-card .btn{width:100%}}

/* Mobile auth is a compact glass card, not a tall fake desktop window. */
@media(max-width:760px){
  #auth:not(.hidden){display:grid;align-items:start;min-height:100dvh;padding-top:env(safe-area-inset-top)}
  .auth-shell{display:grid!important;place-items:start center!important;min-height:100dvh!important;padding:16px 12px max(26px,env(safe-area-inset-bottom))!important}
  .auth-window{width:min(100%,620px)!important;min-height:0!important;margin:0 auto!important;border:1px solid color-mix(in srgb,var(--edge) 75%,transparent)!important;border-radius:24px!important;box-shadow:0 24px 65px rgba(0,0,0,.28)!important;background:color-mix(in srgb,var(--surface-solid) 68%,transparent)!important}
  .auth-titlebar{display:none!important}
  .auth-body{display:block!important;min-height:0!important;background:transparent!important}
  .auth-promo{min-height:0!important;padding:21px 18px 13px!important;border:0!important;background:transparent!important}
  .auth-logo-wrap{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .auth-logo-wrap .logo.big{font-size:40px!important;line-height:1!important}
  .auth-tag{font-size:13px!important;margin-top:9px!important}
  .auth-feature-row{display:none!important}
  .auth-panel{padding:13px 17px 18px!important;border:0!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .auth-tabs{margin-bottom:13px!important}.auth-tabs .tab{min-height:44px!important}
  .auth-form-heading{margin-bottom:10px!important}.auth-form-heading b{font-size:18px!important}.auth-form-heading span{font-size:11px!important}
  .auth-panel .field input,.auth-panel .prefix-input{min-height:47px!important}
  .auth-app-callout{margin-top:14px!important;align-items:center!important}.auth-app-callout span{display:none}
}

/* Release-level tap targets and safe-area polish. */
@media(max-width:760px){
  .nav button,.rich-tools button,.btn{min-height:40px}
  .footer{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
}

/* v15 — SpaceHey-style community features */
.group-list-section{display:grid;gap:10px;margin-bottom:20px}
.group-list-heading{display:flex;align-items:center;gap:8px;font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.04em;opacity:.9}
.group-list-heading span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:color-mix(in srgb,var(--site-primary) 18%,transparent)}
.group-list-empty{padding:10px 4px}
.spacehey-group-card{position:relative}
.spacehey-group-card.is-pinned{box-shadow:inset 4px 0 0 var(--site-primary),0 8px 24px rgba(0,0,0,.08)}
.group-pin-badge{display:inline-flex;align-items:center;padding:2px 8px;border:1px solid color-mix(in srgb,var(--site-primary) 55%,transparent);border-radius:999px;font-size:10px;text-transform:uppercase;letter-spacing:.04em}
.group-card-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.group-page-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;align-items:center;margin-left:auto}
.btn.danger,.small-btn.danger{border-color:#c84a63!important;color:#fff!important;background:linear-gradient(180deg,#df5d74,#9f223f)!important}
.group-hub-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px;border-top:1px solid color-mix(in srgb,var(--site-primary) 38%,transparent);border-bottom:1px solid color-mix(in srgb,var(--site-primary) 38%,transparent);background:color-mix(in srgb,var(--surface-solid) 72%,transparent)}
.group-hub-tabs button{border:1px solid color-mix(in srgb,var(--site-primary) 45%,transparent);background:color-mix(in srgb,var(--surface-solid) 86%,transparent);color:inherit;border-radius:999px;padding:7px 14px;font:inherit;font-weight:800;cursor:pointer}
.group-hub-tabs button.active{background:linear-gradient(180deg,color-mix(in srgb,var(--site-primary) 88%,#fff 12%),var(--site-primary));color:#fff;box-shadow:inset 0 1px rgba(255,255,255,.35),0 4px 12px color-mix(in srgb,var(--site-primary) 30%,transparent)}
.group-community-pane{padding:14px;display:grid;gap:12px}
.community-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid color-mix(in srgb,var(--site-primary) 24%,transparent)}
.community-head b{font-size:18px}
.community-compose{display:grid;gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--site-primary) 32%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface-solid) 82%,transparent)}
.community-compose input,.community-compose textarea,.topic-detail input{width:100%;border:1px solid color-mix(in srgb,var(--site-primary) 45%,transparent);background:color-mix(in srgb,var(--surface-solid) 92%,transparent);color:inherit;border-radius:10px;padding:10px;font:inherit}
.community-compose textarea{min-height:110px;resize:vertical}
.topic-list,.bulletin-list{display:grid;gap:8px}
.topic-row,.group-bulletin{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid color-mix(in srgb,var(--site-primary) 26%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-solid) 84%,transparent)}
.topic-row{cursor:pointer}
.topic-row:hover{border-color:color-mix(in srgb,var(--site-primary) 58%,transparent);transform:translateY(-1px)}
.topic-title,.group-bulletin-title{font-weight:900}
.topic-detail{margin-top:12px;padding:14px;border:1px solid color-mix(in srgb,var(--site-primary) 32%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface-solid) 78%,transparent)}
.topic-detail h3{margin:0 0 12px}
.topic-post{padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--site-primary) 18%,transparent)}
.topic-post p{margin:5px 0;white-space:pre-wrap}
.topic-detail form{display:flex;gap:8px;margin-top:12px}
.group-bulletin{display:block}
.group-bulletin .btn{margin-top:8px}
.post-comments{margin-top:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--site-primary) 22%,transparent);display:grid;gap:10px}
.post-comment-list{display:grid;gap:8px}
.post-comment{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:flex-start;padding:8px;border-radius:10px;background:color-mix(in srgb,var(--surface-solid) 76%,transparent)}
.post-comment img{width:34px;height:34px;object-fit:cover;border-radius:8px}
.post-comment-compose{display:flex;gap:7px}
.post-comment-compose input{min-width:0;flex:1;border:1px solid color-mix(in srgb,var(--site-primary) 40%,transparent);background:color-mix(in srgb,var(--surface-solid) 90%,transparent);color:inherit;border-radius:999px;padding:9px 12px}
.retro-action#profileFavorite .contact-ico,.retro-action#profileSubscribe .contact-ico{font-size:10px;font-weight:900}
@media(max-width:700px){
  .group-card-actions{width:100%;justify-content:flex-start;margin-top:7px}
  .group-page-actions{width:100%;justify-content:flex-start;margin:8px 0 0}
  .community-head{align-items:flex-start;flex-direction:column}
  .topic-row{display:grid}
  .topic-detail form,.post-comment-compose{align-items:stretch;flex-direction:column}
  .group-hub-tabs{position:sticky;top:0;z-index:5;backdrop-filter:blur(14px)}
}
