/* style.css */
@font-face{font-family:Project;src:url("/templates/noctis/public-ui/assets/regular.woff2") format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Project;src:url("/templates/noctis/public-ui/assets/medium.woff2") format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Project;src:url("/templates/noctis/public-ui/assets/semibold.woff2") format('woff2');font-weight:600;font-display:swap}@font-face{font-family:Project;src:url("/templates/noctis/public-ui/assets/bold.woff2") format('woff2');font-weight:700;font-display:swap}
:root{--bg:#0a0a0a;--surface:#151515;--surface-hi:#1b1b1b;--line:#2f2f2f;--text:#eeeeee;--muted:#8e8e8e;--accent:#c2c2c2;--violet:#959595;--blue:#b2b2b2;--green:#a3a3a3;--gold:#b4b4b4;--rail:82px;--chat:306px;--top:74px;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.5 Project,Arial,sans-serif;letter-spacing:.1px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:default;opacity:.5}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button svg{pointer-events:none}img{display:block;max-width:100%}[hidden]{display:none!important}.sprite{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.space-grain{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 47% -15%,#26262680,transparent 52%),radial-gradient(ellipse at 4% 70%,#1e1e1e25,transparent 42%)}.dot{width:6px;height:6px;display:inline-block;background:var(--green);border-radius:50%;box-shadow:0 0 12px #a3a3a340}.icon-button{width:34px;height:34px;border-radius:9px;display:inline-flex;justify-content:center;align-items:center;color:var(--muted);transition:background .18s,color .18s}.icon-button:hover{background:#ffffff08;color:var(--text)}.rail{position:fixed;z-index:30;inset:0 auto 0 0;width:var(--rail);border-right:1px solid #2b2b2b;background:#0d0d0d;display:flex;align-items:center;flex-direction:column}.rail-brand{width:48px;height:48px;margin:14px 0 41px;display:flex;align-items:center;justify-content:center;border:1px solid #434343;border-radius:14px;background:linear-gradient(145deg,#2d2d2d,#191919);box-shadow:0 3px 16px #0003}.rail-brand img{width:32px;height:32px}.rail-links{display:flex;flex-direction:column;gap:11px;width:100%;padding:0 9px}.rail-item{position:relative;min-height:63px;border-radius:12px;color:#808080;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:7px 0;font-size:10px;font-weight:500;transition:color .2s,background .2s}.rail-item svg{width:21px;height:21px}.rail-item:hover{color:#dfdfdf;background:#ffffff04}.rail-item.is-active{color:#d9d9d9;background:linear-gradient(130deg,#262626,#191919);box-shadow:inset 0 0 0 1px #94949424}.rail-item.is-active:before{position:absolute;content:"";width:2px;left:-9px;top:17px;bottom:17px;border-radius:3px;background:#c9c9c9;box-shadow:0 0 12px #c0c0c080}.rail-divider{height:1px;background:#262626;margin:6px 12px}.rail-bottom{margin-top:auto;padding:20px 0 23px;width:100%;display:flex;align-items:center;flex-direction:column;gap:13px;color:#919191;font-size:10px}.rail-social{display:grid;place-items:center;width:34px;height:34px;border:1px solid #2b2b2b;border-radius:10px}.rail-social:hover{color:var(--text);border-color:#5b5b5b}.rail-dot{width:4px;height:4px;background:var(--green);border-radius:50%}.topbar{height:var(--top);position:fixed;z-index:25;left:var(--rail);right:var(--chat);top:0;display:flex;align-items:center;gap:24px;padding:0 34px;background:#111111ef;border-bottom:1px solid #2b2b2b;backdrop-filter:blur(18px)}.wordmark{padding:0;display:flex;align-items:center;gap:22px}.wordmark b{font-size:16px;font-weight:700;letter-spacing:2.1px;line-height:1.1;text-align:left}.wordmark b span{display:block;font-size:9px;letter-spacing:5.8px;color:#898989;margin-top:4px;font-weight:500}.wordmark-line{display:block;height:28px;width:1px;background:#313131}.top-online{display:flex;align-items:center;gap:7px;font-size:12px;color:#868686;white-space:nowrap}.top-online b{font-weight:600;color:#dddddd}.menu-trigger{display:flex;align-items:center;gap:10px;height:36px;padding:0 13px;border-radius:9px;border:1px solid #3e3e3e;background:#20202080;color:#cecece;font-size:12px;margin:auto}.menu-trigger svg{width:15px;height:15px}.menu-trigger kbd{background:#34343433;border:1px solid #46464644;border-radius:4px;padding:0 4px;font:10px Project;color:#8b8b8b;margin-left:10px}.menu-trigger:hover,.menu-trigger[aria-expanded=true]{border-color:#8f8f8f;background:#32323280}.top-actions{display:flex;align-items:center;gap:13px}.notification-button{position:relative;border:1px solid #2d2d2d}.notification-button i{position:absolute;width:4px;height:4px;border-radius:50%;background:#c2c2c2;right:9px;top:7px}.balance{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:600}.balance small{font-size:11px;color:#888888}.balance svg{width:18px;height:18px;padding:3px;border:1px solid #3a3a3a;border-radius:5px;color:#c2c2c2}.coin-balance{font-size:12px;display:flex;gap:6px;align-items:center;color:#c6c6c6;padding-left:12px;border-left:1px solid #303030}.coin{color:var(--gold);font-size:18px}.account-button{display:flex;align-items:center;gap:8px}.account-button svg{width:13px;height:13px;color:#848484}.avatar{display:grid;place-items:center;border-radius:50%;color:#e7e7e7;background:linear-gradient(140deg,#737373,#393939);border:1px solid #b9b9b932;font-weight:600}.account-button .avatar{width:31px;height:31px;font-size:12px}.a-agnes{background:linear-gradient(130deg,#686868,#383838);color:#d6d6d6}.account-popover{position:fixed;right:calc(var(--chat) + 25px);top:65px;width:226px;z-index:45;padding:10px;background:#191919;border:1px solid #3d3d3d;border-radius:14px;box-shadow:0 16px 65px #0008}.account-pop-head{padding:10px 12px 16px;border-bottom:1px solid #2e2e2e;margin-bottom:6px}.account-pop-head b{display:block;font-size:15px}.account-pop-head span{font-size:11px;color:#919191}.account-popover button{display:block;text-align:left;padding:10px 12px;width:100%;border-radius:7px;font-size:12px;color:#b3b3b3}.account-popover button:hover{background:#282828;color:#eaeaea}.account-popover .logout{color:#949494;border-top:1px solid #2c2c2c;margin-top:6px}.top-sign-in{color:var(--accent);border:1px solid #545454;border-radius:9px;padding:7px 18px;font-size:12px}
.main{margin:var(--top) var(--chat) 0 var(--rail);padding:31px 34px 0;min-height:calc(100vh - var(--top))}.main-inner{max-width:1190px;margin:0 auto}.page-overline{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:600;color:#949494;text-transform:uppercase}.quiet-label{font-size:11px;color:#888888;display:flex;align-items:center;gap:7px}.quiet-label svg{width:13px;height:13px}.hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:16px}.hero{height:321px;border:1px solid #424242;border-radius:18px;position:relative;overflow:hidden;background:#1e1e1e none center/cover}.hero:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#1e1e1eeb 0%,#2b2b2b80 48%,transparent 80%);pointer-events:none}.hero-copy{position:relative;z-index:2;width:62%;padding:28px 32px;display:flex;height:100%;align-items:flex-start;flex-direction:column}.hero-tag{font-size:9px;font-weight:500;letter-spacing:2px;color:#b6b6b6;display:flex;align-items:center;gap:8px}.hero-tag:before{content:"";width:18px;height:1px;background:#b7b7b7}.hero h1{margin:16px 0 0;font-weight:600;font-size:51px;line-height:1.04;letter-spacing:-1.5px}.hero h1 span{display:block;background:linear-gradient(90deg,#d1d1d1,#b1b1b1);background-clip:text;-webkit-text-fill-color:transparent}.hero p{color:#9e9e9e;font-size:12px;line-height:1.6;margin:15px 0 23px;max-width:260px}.hero-actions{display:flex;align-items:center;gap:10px}.button{border:1px solid #3a3a3a;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:9px 15px;font-size:12px;font-weight:500;min-height:36px;background:#292929;color:#cdcdcd;transition:background .18s,transform .18s,border-color .18s}.button svg{width:15px;height:15px}.button:hover{border-color:#757575;background:#303030;transform:translateY(-1px)}.button.primary{background:linear-gradient(110deg,#bdbdbd,#a3a3a3);border-color:#cacaca55;color:#181818;font-weight:600;box-shadow:0 5px 22px #99999914}.button.primary:hover{background:linear-gradient(110deg,#c9c9c9,#bbbbbb)}.button.ghost{background:transparent;border-color:#6b6b6b4d;color:#c6c6c6}.hero-orbit-label{position:absolute;right:23px;bottom:24px;z-index:3;display:flex;align-items:center;gap:9px;font-size:8px;letter-spacing:2px;color:#acacac}.hero-orbit-label span{width:5px;height:5px;background:#c3c3c3;border-radius:50%;box-shadow:0 0 8px #d2d2d2}.hero-dots{display:flex;gap:5px;margin-top:auto;padding-top:10px}.hero-dots button{height:3px;width:13px;background:#7d7d7d55;border-radius:5px;padding:0}.hero-dots button.is-active{width:26px;background:#c8c8c8}.hero[data-slide="1"]{background-position:30% center}.hero[data-slide="1"] h1{font-size:40px;line-height:1.12}.hero[data-slide="1"]:after{background:linear-gradient(90deg,#1e1e1ef5,#26262655)}.profile-card{padding:23px 20px;background:linear-gradient(155deg,#1d1d1d80,#171717);border:1px solid #333333;border-radius:18px;display:flex;flex-direction:column;gap:16px}.profile-card-top{display:flex;gap:14px;align-items:center}.profile-avatar{width:48px;height:48px;outline:1px solid #a2a2a266;outline-offset:4px;border:1px solid #a9a9a988;font-size:22px;background:linear-gradient(135deg,#595959,#292929)}.profile-name{display:flex;align-items:center;gap:6px;font-size:19px;font-weight:600}.profile-name svg{width:14px;height:14px;color:#c2c2c2}.profile-role{display:block;font-size:10px;color:#a6a6a6;margin-top:2px}.profile-state{display:flex;align-items:center;gap:6px;font-size:10px;color:#8c8c8c}.profile-state .dot{width:4px;height:4px;box-shadow:none}.profile-wallet{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid #333333;border-bottom:1px solid #333333}.profile-wallet span{font-size:9px;color:#848484;letter-spacing:.7px}.profile-wallet b{display:block;font-size:17px;margin-top:4px;font-weight:500}.profile-wallet b small{font-size:12px;color:#8f8f8f}.profile-wallet>div:nth-child(2) b{color:#b8b8b8}.profile-tools{display:grid;grid-template-columns:1fr 1fr;gap:9px 3px}.profile-tools button{padding:0;font-size:11px;color:#a9a9a9;display:flex;align-items:center;gap:7px;text-align:left}.profile-tools svg{width:14px;height:14px;color:#848484}.profile-tools button:hover{color:var(--accent)}.profile-bottom{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#848484;border-top:1px solid #2e2e2e;padding-top:11px;margin-top:auto}.profile-bottom button{color:#bbbbbb;font-size:10px}.profile-bottom button svg{width:11px;height:11px;margin-left:4px;vertical-align:middle}.guest-card h3{font-size:22px;line-height:1.2;margin:7px 0}.guest-card p{font-size:12px;color:#979797;margin:0 0 10px}.guest-card .button{width:100%}.project-pulse{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #2b2b2b;padding:21px 0 23px;margin-bottom:31px;gap:20px}.pulse-item{display:flex;align-items:center;gap:13px}.pulse-symbol{height:35px;width:35px;color:#909090;background:#1d1d1d66;border:1px solid #2f2f2f;border-radius:11px;display:grid;place-items:center}.pulse-symbol svg{width:16px;height:16px}.pulse-item strong{font-size:18px;line-height:1.1;font-weight:500;display:block}.pulse-item small{font-size:10px;color:#8b8b8b}.pulse-item small span{color:#999999}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;gap:15px}.section-heading h2{font-size:20px;font-weight:600;letter-spacing:-.25px;margin:0}.section-heading h2 small{font-size:10px;color:#8f8f8f;letter-spacing:0;font-weight:400;margin-left:12px}.section-heading .text-link{font-size:11px;color:#acacac;display:inline-flex;align-items:center;gap:5px}.text-link svg{width:12px;height:12px}.text-link:hover{color:#e3e3e3}.server-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:13px}.server-card{position:relative;overflow:hidden;min-height:195px;display:flex;flex-direction:column;border:1px solid #353535;border-radius:14px;padding:15px 18px;background:#1f1f1f;transition:border-color .2s,transform .2s}.server-card:before{position:absolute;inset:0;content:"";background:linear-gradient(0deg,#161616ee, #2e2e2ea8 55%,#2b2b2ba6),var(--map) center/cover;filter:saturate(.45);opacity:.85;transition:transform .35s}.server-card:after{content:"";position:absolute;width:110px;height:110px;border:1px solid #bdbdbd15;border-radius:50%;right:-30px;top:-30px;box-shadow:0 0 0 35px #bdbdbd05,0 0 0 65px #bdbdbd03}.server-card:hover{border-color:#636363;transform:translateY(-3px)}.server-card>*{position:relative;z-index:1}.server-top{display:flex;justify-content:space-between;align-items:center}.server-status{display:flex;align-items:center;gap:6px;font-size:9px;padding:3px 7px;border:1px solid #93939334;border-radius:6px;background:#21212180;color:#b6b6b6}.server-status .dot{width:4px;height:4px;box-shadow:none}.server-type{font-size:9px;letter-spacing:1.5px;color:#b1b1b1}.server-card h3{font-size:22px;font-weight:600;margin:25px 0 2px;letter-spacing:-.4px}.server-sub{font-size:10px;color:#9a9a9a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.server-details{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.server-map{display:block;font:9px/1.5 Consolas,monospace;color:#a2a2a2}.server-count{font-size:11px;color:#c5c5c5}.server-count small{color:#878787}.server-bar{height:2px;background:#86868626;margin-top:8px;border-radius:2px;overflow:hidden}.server-bar>span{display:block;height:100%;background:linear-gradient(90deg,#a8a8a8,#bfbfbf)}.server-actions{display:flex;align-items:center;margin-top:13px;gap:8px}.server-actions .button{flex:1;font-size:10px;min-height:29px;padding:5px 10px;background:#3333333d;border-color:#66666655;color:#d8d8d8}.server-actions .button svg{width:12px;height:12px}.server-actions .icon-button{width:30px;height:29px;border:1px solid #4a4a4a66;color:#acacac;background:#22222277}.server-actions .icon-button svg{width:12px;height:12px}.server-last{grid-column:1/-1;min-height:78px;flex-direction:row;align-items:center;gap:20px;padding:15px 18px;background:#171717}.server-last:before{opacity:.15;background-image:linear-gradient(90deg,#171717,transparent),var(--map);background-position:center 45%}.server-last h3{font-size:14px;margin:0 0 3px}.server-last .server-top{gap:14px;width:215px}.server-last .server-sub{font-size:9px}.server-last .server-details{flex:1;margin:0}.server-last .server-map{color:#7e7e7e}.server-last .server-actions{margin:0;width:148px}.server-last .server-type{margin-right:15px}.server-last .server-bar{width:160px;margin-top:0}.server-last:after{display:none}.shop-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:13px}.shop-card{height:168px;overflow:hidden;position:relative;border:1px solid #363636;border-radius:14px;background:linear-gradient(130deg,#222222,#181818);padding:20px;display:flex;flex-direction:column;justify-content:flex-end;text-align:left;transition:border-color .2s,transform .2s}.shop-card:after{position:absolute;content:"";inset:0;background:linear-gradient(90deg,#18181895,transparent 95%);pointer-events:none}.shop-card:hover{border-color:#838383;transform:translateY(-3px)}.shop-card>*{z-index:2;position:relative}.shop-card .shop-art{position:absolute;right:18px;top:8px;width:150px;height:150px;z-index:1;display:grid;place-items:center;pointer-events:none}.shop-card .shop-art svg{width:72px;height:72px;stroke:#b7b7b7;stroke-width:1;filter:drop-shadow(0 0 18px #b7b7b75c);transform:rotate(-12deg)}.shop-card h3{font-size:19px;font-weight:600;margin:0 0 4px;letter-spacing:-.2px}.shop-card p{font-size:10px;color:#8f8f8f;margin:0}.shop-card .shop-arrow{position:absolute;right:18px;bottom:23px;width:27px;height:27px;border:1px solid #62626266;border-radius:50%;padding:6px;color:#bfbfbf}.shop-tag{position:absolute;left:20px;top:17px;font-size:8px;letter-spacing:1.4px;color:#b4b4b4}.shop-card.models{background:linear-gradient(140deg,#282828,#1b1b1b)}.shop-card.models .shop-art svg{stroke:#acacac;transform:rotate(8deg)}.shop-card.models p{color:#8e8e8e}.shop-card.decorations{background:linear-gradient(140deg,#262626,#1c1c1c)}.art-ring{position:absolute;width:90px;height:90px;right:16px;top:16px;border:1px solid #a7a7a7;border-radius:50%;box-shadow:0 0 0 11px #ababab09,0 0 0 21px #9e9e9e08,0 0 30px #a6a6a626;display:grid;place-items:center;transform:rotate(-18deg)}.art-ring:before,.art-ring:after{content:"✦";position:absolute;color:#cdcdcd;font-size:24px;top:-10px;right:4px;text-shadow:0 0 16px #ababab}.art-ring:after{font-size:14px;bottom:-8px;left:8px;top:auto;right:auto}.art-ring span{width:55px;height:55px;border:1px solid #cdcdcd35;background:linear-gradient(145deg,#acacac47,#464646);border-radius:50%;display:grid;place-items:center;color:#d9d9d9;font-size:22px}.lower-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:17px;margin:31px 0 0}.panel{background:#151515bc;border:1px solid #323232;border-radius:14px;padding:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-title{display:flex;gap:9px;align-items:center;font-size:14px;font-weight:500}.panel-title svg{width:16px;height:16px;color:#a1a1a1}.panel-head .text-link{font-size:10px;color:#979797}.topic-row{width:100%;display:flex;text-align:left;align-items:flex-start;gap:11px;padding:13px 0;border-bottom:1px solid #2c2c2c70}.topic-row:last-child{border:0;padding-bottom:0}.topic-row .avatar{width:29px;height:29px;font-size:11px;border-radius:9px;flex-shrink:0;margin-top:2px;background:#292929}.topic-row strong{display:block;font-size:12px;line-height:1.5;font-weight:500;color:#cccccc}.topic-row:hover strong{color:#d4d4d4}.topic-row small{font-size:9px;color:#717171;display:flex;align-items:center;gap:9px;margin-top:4px}.topic-row small svg{width:10px;height:10px}.topic-count{margin-left:auto;padding-top:2px;color:#848484;font-size:10px;display:flex;gap:5px;align-items:center;white-space:nowrap}.topic-count svg{width:12px;height:12px}.news-feature{height:113px;border:1px solid #47474766;border-radius:9px;padding:15px;background:linear-gradient(100deg,#232323,#1d1d1d);position:relative;overflow:hidden;margin-bottom:11px}.news-feature:after{position:absolute;content:"";width:130px;height:130px;border:1px solid #cbcbcb2b;border-radius:50%;right:-10px;top:22px;box-shadow:0 0 0 13px #94949408,0 0 0 35px #94949405}.news-feature strong{position:relative;z-index:2;display:block;font-size:16px;font-weight:500;max-width:175px;margin-top:12px;line-height:1.3}.news-date{font-size:9px;letter-spacing:.5px;color:#9a9a9a}.news-row{padding:9px 0;display:flex;align-items:center;gap:11px;border-bottom:1px solid #2c2c2c70;text-align:left;width:100%}.news-row:last-child{border:0}.news-thumb{background:#2a2a2a;display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#939393;flex-shrink:0}.news-thumb svg{width:17px;height:17px}.news-row b{font-size:11px;font-weight:500;display:block}.news-row small{font-size:9px;color:#747474}.activity-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:17px;margin:17px 0}.tabs{display:flex;gap:6px;background:#161616;border:1px solid #2f2f2f;border-radius:9px;padding:3px;width:max-content}.tabs button{padding:5px 11px;color:#898989;border-radius:6px;font-size:10px}.tabs button.is-active{color:#c5c5c5;background:#2d2d2d;box-shadow:0 1px 5px #0003}.leader-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #2c2c2c70;font-size:11px}.leader-row:last-child{border:0}.leader-rank{width:12px;color:#7b7b7b;font-size:10px}.leader-row:first-child .leader-rank{color:#b0b0b0}.leader-row .avatar{width:25px;height:25px;font-size:9px}.leader-row>b{font-weight:500;flex:1}.leader-row>small{color:#929292;font-size:10px}.event-row{display:flex;gap:11px;margin:16px 0}.event-row:last-child{margin-bottom:2px}.event-marker{position:relative;display:grid;place-items:center;width:26px;height:26px;border:1px solid #3b3b3b;background:#28282855;border-radius:8px;flex-shrink:0;color:#9d9d9d}.event-marker svg{width:12px;height:12px}.event-row:not(:last-child) .event-marker:after{content:"";width:1px;height:21px;background:#38383866;position:absolute;top:31px;left:12px}.event-row p{font-size:11px;margin:0;color:#989898;line-height:1.55}.event-row p b{font-weight:500;color:#b7b7b7}.event-row small{display:block;color:#666666;font-size:9px;margin-top:3px}.footer{padding:25px 0 26px;border-top:1px solid #343434;margin-top:30px;display:flex;gap:20px;align-items:center;justify-content:space-between}.footer-brand{font-size:11px;letter-spacing:1.5px;font-weight:600;color:#ababab}.footer-brand span{display:block;font-size:9px;letter-spacing:0;color:#747474;font-weight:400;margin-top:3px}.footer-links{display:flex;flex-wrap:wrap;gap:7px 18px;justify-content:flex-end;max-width:500px;font-size:9px;color:#848484}.footer-links button{font-size:inherit;color:inherit;padding:0}.footer-links button:hover{color:#c1c1c1}.footer-orbit{font-size:8px;color:#7d7d7d;display:flex;align-items:center;gap:6px}.footer-orbit svg{width:13px;height:13px}
.chat-dock{position:fixed;z-index:28;right:0;top:0;bottom:0;width:var(--chat);display:flex;flex-direction:column;border-left:1px solid #2f2f2f;background:#101010}.chat-header{height:var(--top);border-bottom:1px solid #313131;display:flex;align-items:center;padding:0 17px;gap:3px;flex-shrink:0}.chat-header>div{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.chat-header>div>svg{width:16px;height:16px;color:#aeaeae}.chat-header b{font-size:12px;font-weight:500;white-space:nowrap}.chat-live{width:4px;height:4px;border-radius:50%;background:#939393;margin-left:3px}.chat-header .icon-button{width:26px;height:26px}.chat-header .icon-button svg{width:14px;height:14px}.chat-top{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #292929;font-size:9px;color:#888888;flex-shrink:0}.chat-top>span{display:flex;gap:6px;align-items:center}.chat-top .dot{width:4px;height:4px}.chat-top button{font-size:9px;color:#939393;padding:0;display:flex;align-items:center;gap:5px}.chat-top button svg{width:10px;height:10px}.chat-messages{flex:1;overflow-y:auto;padding:20px 17px 15px;scrollbar-width:thin;scrollbar-color:#393939 transparent}.chat-date{text-align:center;color:#636363;font-size:9px;letter-spacing:1px;position:relative;margin-bottom:20px}.chat-date:before,.chat-date:after{content:"";position:absolute;width:50px;height:1px;top:7px;background:#313131;left:0}.chat-date:after{left:auto;right:0}.chat-message{display:flex;gap:10px;margin-bottom:22px;position:relative}.chat-message .avatar{width:31px;height:31px;flex-shrink:0;font-size:11px;margin-top:1px}.chat-message[data-person="never"] .avatar{background:#333333;color:#d2d2d2}.chat-message[data-person="Aeselles"] .avatar{background:#2e2e2e;color:#c0c0c0}.chat-message[data-person="Меркурия"] .avatar{background:#323232;color:#c6c6c6}.chat-message.is-own .avatar{outline:1px solid #b1b1b16b;outline-offset:3px}.chat-message-main{min-width:0;flex:1}.chat-person{display:flex;align-items:center;gap:5px;margin-bottom:6px}.chat-person b{font-size:11px;font-weight:500;color:#b8b8b8}.chat-message[data-person="never"] b{color:#b5b5b5}.chat-message[data-person="Aeselles"] b{color:#a9a9a9}.chat-message[data-person="Меркурия"] b{color:#a2a2a2}.chat-person time{font-size:8px;color:#646464;margin-left:auto}.chat-person button{font-size:10px;color:#5c5c5c;padding:0;line-height:1}.chat-bubble{font-size:11px;color:#b5b5b5;line-height:1.7;border:1px solid #363636;background:#1b1b1b;border-radius:0 10px 10px 10px;padding:10px 11px;overflow-wrap:anywhere}.chat-message.is-own .chat-bubble{border-color:#47474788;background:linear-gradient(100deg,#232323,#1e1e1e)}.chat-bubble .site-smile{width:24px;display:inline-block;vertical-align:middle;margin-left:2px}.chat-bubble img.chat-attachment{max-width:100%;height:auto;max-height:160px;border-radius:8px;object-fit:contain}.chat-reactions{display:flex;gap:5px;margin-top:6px}.reaction{font-size:9px;color:#979797;padding:2px 6px;border:1px solid #373737;border-radius:5px;background:#202020;display:flex;align-items:center;gap:4px}.reaction.is-active{color:#d6d6d6;border-color:#a1a1a166;background:#323232}.reaction img{width:14px;height:14px}.chat-pin{background:#202020;border:1px solid #3c3c3c;border-radius:10px;padding:12px;margin:0 0 19px;font-size:10px;color:#acacac}.chat-pin b{font-size:8px;letter-spacing:1.2px;font-weight:500;color:#b5b5b5;display:flex;align-items:center;gap:6px;margin-bottom:7px}.chat-pin b svg{width:11px;height:11px}.chat-input-area{flex-shrink:0;padding:13px 16px 11px;background:linear-gradient(0deg,#171717,#111111);border-top:1px solid #333333}.chat-input-area form{border:1px solid #3b3b3b;border-radius:11px;background:#1a1a1a;overflow:hidden}.chat-input-area textarea{display:block;background:transparent;border:0;width:100%;color:#c3c3c3;resize:none;padding:13px 13px 4px;font-size:11px;line-height:1.6;min-height:54px;outline:none}.chat-input-area textarea::placeholder{color:#898989}.chat-input-bottom{display:flex;justify-content:space-between;align-items:center;padding:3px 9px 8px}.chat-input-bottom>div{display:flex;gap:1px}.chat-input-bottom .icon-button{width:26px;height:26px}.chat-input-bottom .icon-button svg{width:17px;height:17px}.send-button{display:grid;place-items:center;background:#414141;border:1px solid #6a6a6a77;width:30px;height:27px;border-radius:6px;color:#bdbdbd}.send-button:hover{background:#666666;color:#ededed}.send-button svg{width:15px;height:15px}.chat-footnote{display:flex;align-items:center;justify-content:center;gap:5px;font-size:8px;color:#5e5e5e;margin-top:10px}.chat-footnote svg{width:10px;height:10px}.chat-login{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;min-height:66px;color:#b7b7b7;width:100%;border:1px solid #4c4c4c;border-radius:11px;background:#26262680}.chat-login svg{width:13px;height:13px}.reply-preview{font-size:10px;color:#bebebe;display:flex;justify-content:space-between;align-items:center;padding:0 4px 9px;gap:12px}.reply-preview span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.reply-preview button{font-size:15px;color:#7d7d7d}.emoji-popover{position:absolute;bottom:143px;left:14px;right:14px;border:1px solid #4f4f4f;background:#1d1d1d;border-radius:12px;box-shadow:0 12px 30px #0008;padding:14px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.emoji-popover button{display:grid;place-items:center;padding:5px;border-radius:7px;min-height:34px;font-size:21px}.emoji-popover img{width:25px;height:25px;object-fit:contain}.emoji-popover button:hover{background:#3c3c3c}.restore-chat{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:10px;background:#2c2c2c;border:1px solid #707070;padding:11px 16px;border-radius:12px;color:#d1d1d1;z-index:30;font-size:12px;box-shadow:0 8px 22px #0005}.restore-chat span{font-size:10px;background:#494949;border-radius:4px;padding:0 5px}.chat-collapsed{--chat:0px}.chat-collapsed .chat-dock{display:none}.chat-collapsed .topbar,.chat-collapsed .main{transition:margin .2s,right .2s}
.mega-menu{position:fixed;left:var(--rail);right:var(--chat);top:var(--top);z-index:40;background:#161616f7;border-bottom:1px solid #4d4d4d;box-shadow:0 30px 80px #0008;backdrop-filter:blur(25px);padding:30px 38px 35px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.mega-group h3{font-size:10px;text-transform:uppercase;font-weight:500;letter-spacing:1.2px;color:#aaaaaa;display:flex;align-items:center;gap:7px;margin:0 0 20px}.mega-group h3:before{content:"";width:2px;height:10px;border-radius:2px;background:#ababab}.mega-group button{padding:9px 7px 9px 0;display:flex;gap:11px;width:100%;align-items:center;text-align:left;border-radius:9px;margin-bottom:6px}.mega-group button:hover{background:#2b2b2b70}.mega-icon{height:34px;width:34px;display:grid;place-items:center;flex-shrink:0;border:1px solid #3a3a3a;border-radius:10px;background:linear-gradient(150deg,#303030,#242424);color:#b5b5b5}.mega-icon svg{width:17px;height:17px}.mega-group b{display:block;font-size:12px;font-weight:500;color:#cbcbcb}.mega-group small{font-size:10px;display:block;color:#7c7c7c;margin-top:1px}.menu-backdrop{position:fixed;inset:var(--top) var(--chat) 0 var(--rail);background:#0606068c;z-index:35;backdrop-filter:blur(3px)}.page-title{display:flex;align-items:flex-end;justify-content:space-between;margin:7px 0 25px;gap:20px}.page-title h1{font-size:31px;font-weight:500;letter-spacing:-.8px;margin:3px 0 5px}.page-title p{font-size:12px;color:#838383;margin:0}.page-title>svg{width:53px;height:53px;color:#777777;stroke-width:1;margin-right:7px}.content-tabs{display:flex;gap:8px;margin-bottom:25px}.content-tabs button{font-size:12px;padding:9px 18px;border:1px solid #353535;border-radius:8px;color:#959595}.content-tabs button.is-active{background:#2d2d2d;border-color:#7e7e7e;color:#dadada}.search-field{display:flex;align-items:center;gap:11px;background:#181818;border:1px solid #343434;border-radius:9px;padding:9px 13px;min-width:0}.search-field svg{width:16px;height:16px;color:#797979}.search-field input{background:none;border:0;color:#d0d0d0;width:100%;outline:none;min-width:0;font-size:12px}.search-field input::placeholder{color:#767676}.search-row{display:flex;gap:13px;align-items:center;margin-bottom:23px}.search-row .search-field{flex:1}.select-field{background:#1f1f1f;color:#b4b4b4;border:1px solid #3b3b3b;border-radius:8px;font-size:12px;padding:10px 12px;min-width:0}.filter-chip{font-size:10px;color:#909090;border:1px solid #353535;border-radius:999px;padding:5px 11px}.filter-chip.is-active{background:#323232;color:#c9c9c9;border-color:#7a7a7a}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.catalog-card{background:linear-gradient(140deg,#1d1d1d,#171717);border:1px solid #333333;border-radius:14px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:7px;min-height:270px;transition:border-color .2s,transform .2s}.catalog-card:hover{border-color:#7a7a7a;transform:translateY(-3px)}.catalog-art{height:133px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#6c6c6c22,transparent 70%);position:relative}.catalog-art>svg{width:68px;height:68px;color:#b3b3b3;stroke-width:1.1;filter:drop-shadow(0 0 25px #b9b9b933)}.catalog-art .art-ring{position:relative;right:auto;top:auto}.catalog-card .eyebrow{font-size:8px;letter-spacing:1.2px}.catalog-card h3{font-size:17px;font-weight:500;margin:0}.catalog-card p{font-size:11px;color:#838383;margin:0 0 15px}.catalog-price{border-top:1px solid #3333333b;padding-top:13px;margin-top:auto;display:flex;justify-content:space-between;color:#b9b9b9;font-size:12px}.catalog-price svg{width:15px;height:15px}.catalog-colors{display:flex;gap:6px}.catalog-colors span{height:6px;width:6px;border-radius:50%;background:var(--swatch)}.forum-section{margin:27px 0 15px}.forum-section-title{font-size:11px;letter-spacing:.4px;color:#949494;margin:0 0 11px;font-weight:500;display:flex;gap:7px;align-items:center}.forum-section-title svg{width:14px;height:14px}.forum-card{display:flex;align-items:center;gap:18px;width:100%;padding:21px;background:#161616;border:1px solid #303030;border-radius:12px;text-align:left;margin:9px 0}.forum-card:hover{border-color:#666666;background:#1e1e1e}.forum-glyph{width:43px;height:43px;display:grid;place-items:center;border:1px solid #494949;background:#28282880;border-radius:12px;color:#b2b2b2;flex-shrink:0}.forum-glyph svg{width:21px;height:21px}.forum-card h3{margin:0 0 3px;font-size:14px;font-weight:500}.forum-card p{margin:0;color:#7f7f7f;font-size:11px}.forum-meta{margin-left:auto;color:#818181;font-size:10px;min-width:135px;text-align:right}.forum-meta b{display:block;font-size:12px;font-weight:500;color:#adadad}.forum-card>svg{width:15px;height:15px;color:#7f7f7f}.topic-post{background:#181818;border:1px solid #333333;border-radius:13px;padding:24px}.topic-author{display:flex;gap:11px;align-items:center;font-size:12px;margin-bottom:20px}.topic-author .avatar{width:34px;height:34px}.topic-author b{font-weight:500;color:#c1c1c1}.topic-author small{color:#787878;font-size:10px;margin-left:auto}.topic-post p{font-size:13px;color:#acacac;line-height:1.9}.topic-post h3{font-weight:500;font-size:18px}.topic-post-footer{display:flex;gap:9px;border-top:1px solid #303030;padding-top:20px;margin-top:25px}.comments-box{margin-top:16px;border:1px solid #363636;border-radius:11px;padding:17px;background:#191919}.comments-box p{font-size:11px;color:#9a9a9a}.comments-box form{display:flex;gap:9px}.comments-box input{width:100%;background:#1e1e1e;border:1px solid #393939;border-radius:7px;padding:8px 11px;color:#c8c8c8;font-size:12px}.rules-intro{padding:23px 25px;border:1px solid #414141;background:linear-gradient(110deg,#262626,#1a1a1a);border-radius:13px;margin-bottom:19px;position:relative;overflow:hidden}.rules-intro h1{font-size:26px;font-weight:500;margin:0 0 6px}.rules-intro p{max-width:580px;color:#8b8b8b;font-size:12px;margin:0}.rules-intro>svg{position:absolute;right:25px;top:10px;width:92px;height:92px;color:#5e5e5e;stroke-width:1;opacity:.4}.rules-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:18px}.rules-nav{padding:17px 13px;height:max-content;border:1px solid #323232;border-radius:13px;background:#171717;position:sticky;top:94px}.rules-nav .eyebrow{padding:3px 8px 12px;display:block;font-size:9px;color:#868686}.rules-nav button{display:flex;text-align:left;align-items:center;gap:9px;width:100%;font-size:11px;padding:12px 9px;margin:3px 0;border:1px solid transparent;border-radius:8px;color:#989898}.rules-nav button svg{width:13px;height:13px;color:#8f8f8f}.rules-nav button:hover{color:#cecece;background:#282828}.rules-nav button.is-active{border-color:#78787866;background:#31313177;color:#c4c4c4}.rules-content{border:1px solid #353535;background:#171717;border-radius:13px;padding:20px}.rules-content h2{font-size:17px;font-weight:500;margin:0 0 18px;display:flex;align-items:center;gap:9px}.rules-content h2 svg{width:18px;height:18px;color:#bababa}.rules-content details{border:1px solid #363636;border-radius:9px;background:#202020;margin-bottom:10px;overflow:hidden}.rules-content details[open]{border-color:#62626255}.rules-content summary{display:flex;justify-content:space-between;align-items:center;font-size:12px;cursor:pointer;padding:14px 15px;list-style:none;color:#c3c3c3}.rules-content summary::-webkit-details-marker{display:none}.rules-content summary span{font:18px/1 Project;color:#989898}.rules-content details[open] summary span{transform:rotate(45deg)}.rule-body{padding:0 15px 15px;color:#979797;font-size:12px;line-height:1.8}.penalty{display:table;margin-top:11px;color:#a5a5a5;background:#36363644;border:1px solid #58585855;border-radius:5px;padding:3px 8px;font-size:9px}.rule-empty{padding:30px;font-size:12px;color:#878787;text-align:center}.empty-view{min-height:610px;display:flex;align-items:center;justify-content:center;gap:35px;padding:40px 20px;background:radial-gradient(ellipse at center,#3232321a,transparent 65%)}.empty-number{font-size:145px;line-height:1;font-weight:600;letter-spacing:-8px;color:#b3b3b3;position:relative}.empty-number:before{content:"";position:absolute;width:220px;height:220px;border:1px solid #55555533;border-radius:50%;top:-35px;left:-10px;transform:rotate(-25deg);box-shadow:0 0 0 24px #55555506,0 0 0 50px #55555504}.empty-view h1{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:0 0 10px}.empty-view p{font-size:12px;color:#8b8b8b;max-width:300px;margin:0 0 23px}.empty-actions{display:flex;flex-direction:column;gap:10px}.data-table{border:1px solid #323232;border-radius:13px;overflow:hidden}.data-row{display:grid;grid-template-columns:42px 1.5fr 1fr 1fr;align-items:center;gap:15px;padding:17px 22px;background:#161616;border-bottom:1px solid #313131;font-size:12px;color:#a2a2a2}.data-row:last-child{border:0}.data-row.table-head{font-size:9px;color:#787878;text-transform:uppercase;letter-spacing:1px;background:#202020}.data-row>span:nth-child(2){display:flex;align-items:center;gap:10px;color:#cccccc}.data-row .avatar{width:28px;height:28px;font-size:10px}.data-row .status{font-size:10px;color:#9d9d9d}.info-content{padding:25px;border:1px solid #313131;border-radius:14px;background:#1a1a1a}.info-content p{font-size:13px;color:#9d9d9d;line-height:1.8;max-width:680px}.account-detail{display:flex;align-items:center;gap:20px}.account-detail .profile-avatar{width:72px;height:72px;font-size:30px}.account-detail h2{font-size:30px;font-weight:500;margin:0}.profile-cover{height:130px;border-radius:12px 12px 0 0;background:#1e1e1e none center/cover;margin:-25px -25px 30px}.form-grid{display:grid;gap:14px;max-width:560px}.form-grid label{display:grid;gap:6px;color:#999999;font-size:12px}.form-grid input,.form-grid textarea,.form-grid select{border:1px solid #3b3b3b;border-radius:8px;background:#232323;color:#c6c6c6;padding:11px;font-size:12px}.form-grid textarea{min-height:150px;resize:vertical}.modal{width:460px;max-width:calc(100vw - 100px);padding:34px;border:1px solid #5d5d5d;border-radius:18px;background:radial-gradient(ellipse at top right,#303030,#1b1b1b 60%);color:var(--text);box-shadow:0 20px 100px #0009}.modal::backdrop{background:#070707c9;backdrop-filter:blur(6px)}.modal-close{position:absolute;right:12px;top:12px}.modal h2{font-size:24px;font-weight:500;letter-spacing:-.6px;margin:9px 0 12px}.modal p{font-size:12px;color:#929292;line-height:1.7}.modal .form-grid{margin-top:20px}.modal .button{margin-top:6px}.modal .eyebrow{font-size:9px}.modal-smalllinks{display:flex;justify-content:space-between;font-size:10px;color:#a7a7a7;margin-top:18px}.modal-art{display:grid;place-items:center;height:110px;margin-top:16px;color:#bebebe}.modal-art svg{width:65px;height:65px;stroke-width:1}.modal-actions{display:flex;gap:10px;margin-top:22px}.modal-actions .button{flex:1}.server-modal-top{display:flex;align-items:center;gap:7px;margin:16px 0;color:#a4a4a4;font-size:11px}.server-modal-top .dot{width:4px;height:4px}.server-address{padding:13px 16px;border:1px solid #3e3e3e;background:#171717;border-radius:9px;font:13px Consolas,monospace;color:#bcbcbc;margin:18px 0}.server-modal-meta{display:flex;justify-content:space-between;border-bottom:1px solid #343434;padding-bottom:14px;color:#898989;font-size:11px}.server-modal-meta b{color:#c8c8c8;font-size:12px;font-weight:500}.toast{position:fixed;bottom:25px;left:calc(var(--rail) + 50% - var(--chat)/2 - 200px);z-index:60;max-width:460px;padding:13px 20px;border-radius:11px;border:1px solid #535353;background:#252525eF;color:#cfcfcf;font-size:12px;box-shadow:0 10px 45px #0005;backdrop-filter:blur(16px)}
@media(min-width:1800px){:root{--chat:330px}.main{padding:35px 48px 0}.topbar{padding-left:48px;padding-right:35px}.hero-layout{grid-template-columns:minmax(0,1fr) 285px}.hero{height:338px}.hero h1{font-size:56px}.hero-copy{padding:31px 36px}.server-card{min-height:214px}.server-last{min-height:80px}.shop-card{height:181px}.chat-messages{padding:22px 21px}.chat-top{padding:0 21px}}
@media(max-width:1450px){:root{--rail:74px;--chat:278px}.main{padding:27px 26px 0}.topbar{padding:0 25px;gap:18px}.top-online{display:none}.hero-layout{grid-template-columns:minmax(0,1fr) 230px;gap:13px}.hero{height:308px}.hero h1{font-size:43px}.hero-copy{padding:26px}.hero p{font-size:11px;margin-top:14px}.hero-actions .button{padding:9px 11px;font-size:10px;gap:5px}.profile-card{padding:21px 17px;gap:13px}.profile-name{font-size:17px}.profile-avatar{width:42px;height:42px;font-size:18px}.profile-role{font-size:9px}.profile-card-top{gap:12px}.server-grid{grid-template-columns:1.15fr 1fr 1fr}.server-card{padding:14px}.server-card h3{font-size:19px}.server-last{padding:13px 15px;gap:12px}.server-last h3{font-size:12px}.server-last .server-top{width:190px}.server-last .server-bar{width:90px}.server-last .server-type{display:none}.server-last .server-actions{width:124px}.shop-card{padding:17px}.shop-card h3{font-size:17px}.shop-card .shop-art{right:0;width:115px}.shop-card .shop-art svg{width:58px}.shop-card p{font-size:9px;max-width:145px}.art-ring{width:75px;height:75px;right:11px;top:21px}.art-ring span{width:45px;height:45px;font-size:19px}.catalog-grid{gap:12px}.mega-menu{gap:12px;padding-left:27px;padding-right:27px}.mega-group b{font-size:11px}.mega-group small{font-size:9px}.mega-icon{width:31px;height:31px}.chat-header{padding:0 13px}.chat-top{padding:0 13px}.chat-messages{padding-left:13px;padding-right:13px}.chat-message{gap:9px}.chat-header>div{gap:7px}.chat-person time{font-size:7px}.rules-layout{grid-template-columns:210px 1fr}}
@media(max-width:1279px){:root{--rail:70px;--chat:0px}.chat-dock{display:none}.restore-chat{display:flex!important}.chat-forced-open{--chat:270px}.chat-forced-open .chat-dock{display:flex}.chat-forced-open .hero-layout{grid-template-columns:1fr}.chat-forced-open .profile-card{display:none}.topbar{padding-left:28px}.main{padding-left:28px;padding-right:28px}.mega-group small{font-size:9px}.top-online{display:flex}.hero-layout{grid-template-columns:minmax(0,1fr) 260px}.hero h1{font-size:48px}.hero-copy{padding:26px 32px}.server-grid{grid-template-columns:1.15fr 1fr 1fr}.catalog-card{min-height:240px}.empty-number{font-size:110px}.empty-view{gap:25px}.top-actions{gap:9px}.wordmark-line{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Final desktop palette: graphite, aubergine, moon silver and muted gold. */
.space-grain{background:radial-gradient(ellipse at 47% -15%,#3131314a,transparent 52%),radial-gradient(ellipse at 4% 70%,#21212122,transparent 42%)}
.hero{border-color:#4d4d4d;box-shadow:0 12px 65px #1b1b1b22,inset 0 1px 0 #d7d7d708}
.hero-tag{color:#ababab}.hero h1 span{background-image:linear-gradient(95deg,#cdcdcd,#a7a7a7)}.hero p{color:#9e9e9e}
.button.primary{background:linear-gradient(110deg,#c4c4c4,#acacac);border-color:#e2e2e240;color:#1f1f1f;box-shadow:0 5px 22px #b1b1b114}.button.primary:hover{background:linear-gradient(110deg,#d7d7d7,#b6b6b6)}
.shop-card{background:linear-gradient(130deg,#242424,#181818)}.shop-card.models{background:linear-gradient(140deg,#252525,#151515)}.shop-card.models .shop-art svg{stroke:#bcbcbc}.shop-card.models p{color:#9c9c9c}.shop-card.decorations{background:linear-gradient(140deg,#2d2d2d,#181818)}
.news-feature{width:100%;text-align:left;height:123px;background:linear-gradient(90deg,#232323ec,#1b1b1b54),none center/cover}.news-feature strong{font-size:20px;max-width:235px}.news-feature:after{opacity:.4}
.chat-message .avatar{width:37px;height:37px;font-size:13px}.chat-message{gap:11px;margin-bottom:24px}.chat-person b{font-size:12px}.chat-person time{font-size:9px}.chat-bubble{font-size:12px;border-color:#373737;background:#1b1b1b;line-height:1.65;padding:11px}.chat-message.is-own .chat-bubble{border-color:#53535388;background:linear-gradient(100deg,#292929,#1f1f1f)}.chat-pin{background:#202020;border-color:#444444;font-size:11px;color:#afafaf}.chat-person b,.chat-message[data-person="never"] b{color:#b9b9b9}.chat-message[data-person="never"] .avatar{background:#353535;color:#dcdcdc}
.chat-message[data-person="Aeselles"] b{color:#b1b1b1}.chat-message[data-person="Меркурия"] b{color:#adadad}.chat-input-area{background:linear-gradient(0deg,#171717,#131313)}.chat-header .chat-live{background:#939393}.chat-header b{font-size:13px}.chat-header{background:#131313}.chat-input-area textarea{font-size:12px;color:#c4c4c4}.chat-input-area form{background:#1a1a1a;border-color:#424242}.chat-top button{color:#9b9b9b}.chat-footnote{color:#888888}
.mega-menu{background:#181818ec;border-bottom-color:#5e5e5e}.mega-group h3{color:#a4a4a4}.mega-group b{font-size:13px;color:#d8d8d8}.mega-group small{font-size:11px;color:#919191}.mega-icon{border-color:#55555577;background:linear-gradient(150deg,#313131,#232323);color:#c1c1c1}.mega-group button{gap:12px;margin-bottom:9px}.mega-icon{width:38px;height:38px}.mega-icon svg{width:19px;height:19px}.panel-title{font-size:15px;color:#cdcdcd}.topic-row strong{font-size:13px;color:#c8c8c8}.topic-row small{font-size:10px;color:#8e8e8e}.news-row b{font-size:12px}.news-row small{font-size:10px;color:#8a8a8a}.leader-row{font-size:12px}.leader-row>small{font-size:11px}.leader-row .avatar{width:28px;height:28px}.event-row p{font-size:12px;color:#9d9d9d}.event-row small{font-size:10px;color:#8a8a8a}.panel{border-color:#353535;background:#161616bc}.footer-links{color:#919191}.footer-brand{color:#b9b9b9}.footer-brand span{color:#898989}

/* homepage-v9.css */
@font-face {
  font-family: Community;
  src: url("/templates/noctis/public-ui/assets/montserrat.ttf") format('truetype');
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: Display;
  src: url("/templates/noctis/public-ui/assets/oswald.ttf") format('truetype');
  font-weight: 200 700;
  font-display: swap;
}

:root {
  --bg: #0a0a0d;
  --surface: #0d0d11;
  --surface-hi: #1b1b23;
  --line: rgba(255,255,255,.08);
  --text: #f4f4f6;
  --secondary: #b6b6c2;
  --muted: #8a8a95;
  --faint: #85858f;
  --accent: #b3adea;
  --violet: #6f61cc;
  --blue: #b3adea;
  --green: #5ce39a;
  --gold: #cdc7b7;
  --rail: 84px;
  --chat: 360px;
  --top: 64px;
  --nav: 0px;
  --content: 1320px;
}

body { background: var(--bg); font: 400 13px/1.55 Community, Arial, sans-serif; letter-spacing: 0; }
button, a { transition: color .15s, background-color .15s, border-color .15s; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.dot { background: var(--green); box-shadow: none; }
.topbar { left: var(--rail); right: var(--chat); height: var(--top); padding: 0 40px; background: var(--surface); border-color: rgba(255,255,255,.08); backdrop-filter: none; }
.topbar-inner { width: 100%; max-width: var(--content); margin: 0 auto; display: flex; align-items: center; gap: 28px; }
.wordmark { gap: 11px; }
.wordmark img { width: 39px; height: 39px; }
.wordmark b { font: 600 21px/1.1 Display, sans-serif; letter-spacing: .9px; }
.wordmark b span { font: 500 8px/1 Community, sans-serif; letter-spacing: 1.8px; color: var(--secondary); margin-top: 5px; }
.top-online { gap: 6px; font-size: 11px; color: var(--secondary); }
.top-online b { color: var(--text); }
.menu-trigger { margin: 0; height: 33px; padding: 0 11px; background: #16161c; color: var(--text); border-color: rgba(255,255,255,.08); border-radius: 7px; font-size: 11px; gap: 7px; }
.menu-trigger kbd { margin-left: 5px; font: 10px Community; color: var(--secondary); border-color: rgba(255,255,255,.08); background: transparent; }
.menu-trigger:hover, .menu-trigger[aria-expanded=true] { background: #1b1b23; border-color: rgba(255,255,255,.08); }
.top-actions { margin-left: auto; gap: 18px; }
.balance, .coin-balance { font-size: 11px; color: var(--text); }
.balance { gap: 9px; }
.balance small { color: var(--secondary); }
.balance svg { border-color: rgba(255,255,255,.08); color: var(--secondary); }
.coin-balance { border-color: rgba(255,255,255,.08); color: var(--secondary); }
.coin { color: var(--secondary); }
.notification-button { border-color: rgba(255,255,255,.08); }
.notification-button i { background: #2a2a34; }
.avatar { background: #1b1b23; border-color: rgba(255,255,255,.08); color: var(--text); }
.account-button .avatar { width: 34px; height: 34px; background: #2a2a34; }
.main-nav { position: fixed; top: var(--top); left: 0; right: var(--chat); height: var(--nav); z-index: 24; background: var(--surface); border-bottom: 1px solid rgba(255,255,255,.08); padding: 0 40px; }
.main-nav-inner { display: flex; align-items: stretch; gap: 30px; max-width: var(--content); height: 100%; margin: 0 auto; }
.main-nav .rail-item { position: relative; min-height: 0; height: 100%; padding: 0; display: inline-flex; flex-direction: row; color: var(--secondary); background: none; border-radius: 0; font-size: 12px; font-weight: 500; box-shadow: none; white-space: nowrap; }
.main-nav .rail-item:hover { color: var(--text); background: none; }
.main-nav .rail-item.is-active { color: var(--accent); background: none; box-shadow: none; }
.main-nav .rail-item.is-active:before { height: 2px; width: auto; bottom: -1px; left: 0; right: 0; top: auto; background: var(--violet); box-shadow: none; border-radius: 2px 2px 0 0; }
.nav-social { margin-left: auto; display: flex; align-items: center; gap: 7px; color: var(--secondary); font-size: 11px; }
.nav-social svg { height: 16px; width: 16px; }
.nav-social:hover { color: var(--text); }
.main { margin: var(--top) var(--chat) 0 var(--rail); padding: 30px 40px 0; min-height: calc(100vh - var(--top)); }
.main-inner { max-width: var(--content); }
.home-section { margin: 0 0 32px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 16px; }
.section-heading > div { display: flex; align-items: center; gap: 19px; }
.section-heading h1, .section-heading h2 { margin: 0; color: var(--text); font: 500 26px/1.25 Display, sans-serif; letter-spacing: .25px; }
.section-caption { color: var(--muted); font-size: 11px; }
.section-presence { color: var(--secondary); display: flex; align-items: center; gap: 7px; font-size: 11px; }
.text-link { display: inline-flex; align-items: center; gap: 8px; padding: 0; color: var(--accent); font-size: 11px; white-space: nowrap; }
.text-link svg { width: 14px; height: 14px; }
.text-link:hover { color: var(--accent); }

/* A shared board retains the four actual Legendary servers. */
.server-hub { display: grid; grid-template-columns: 235px minmax(0,1fr); background: #16161c; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; overflow: hidden; }
.server-mascot { position: relative; min-width: 0; overflow: hidden; background: #16161c; border-right: 1px solid rgba(255,255,255,.08); }
.mascot-label { position: absolute; top: 25px; left: 25px; color: var(--text); font: 500 19px/1 Display; letter-spacing: 2px; }
.server-mascot img { position: absolute; width: 285px; max-width: none; height: auto; left: 50%; transform: translateX(-50%); bottom: -54px; }
.mascot-caption { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 20px; text-align: center; background: #16161c; border-top: 1px solid rgba(255,255,255,.08); }
.mascot-caption span { font-size: 10px; letter-spacing: .2px; color: var(--secondary); }
.mascot-caption b { display: none; }
.server-list { padding: 0 24px; }
.server-row { display: grid; grid-template-columns: 77px minmax(0,1fr) 56px 29px 91px; align-items: center; column-gap: 16px; min-height: 84px; border-bottom: 1px solid rgba(255,255,255,.08); }
.server-row:last-child { border: 0; }
.server-mode { width: fit-content; max-width: 100%; font-size: 10px; letter-spacing: .2px; font-weight: 600; color: var(--secondary); border: 1px solid rgba(255,255,255,.08); background: #1b1b23; padding: 4px 7px; border-radius: 5px; white-space: nowrap; }
.server-row.is-quiet .server-mode { color: var(--secondary); background: #1b1b23; border-color: rgba(255,255,255,.08); }
.server-description { min-width: 0; padding: 13px 0; }
.server-name { display: flex; align-items: center; gap: 7px; padding: 0; text-align: left; color: var(--text); font-size: 16px; font-weight: 600; line-height: 1.3; }
.server-name:hover { color: var(--text); }
.server-name small { font-size: 10px; font-weight: 500; color: var(--secondary); border: 1px solid rgba(255,255,255,.08); padding: 1px 4px; border-radius: 3px; }
.server-description p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.server-map { display: block; color: var(--faint); font-size: 10px; margin-top: 1px; }
.server-occupancy { text-align: right; }
.server-occupancy > span:first-child { display: flex; align-items: center; justify-content: flex-end; gap: 4px; line-height: 1; }
.server-occupancy b { font-size: 16px; font-weight: 600; color: var(--text); }
.server-occupancy small { font-size: 10px; color: var(--muted); }
.status-dot { width: 4px; height: 4px; background: var(--green); border-radius: 50%; margin-right: 2px; }
.is-quiet .status-dot { background: var(--green); }
.is-quiet .server-occupancy b { color: var(--secondary); }
.occupancy-track { display: block; width: 100%; height: 2px; background: #2a2a34; margin-top: 9px; border-radius: 2px; overflow: hidden; }
.occupancy-track i { height: 100%; background: var(--green); display: block; }
.server-copy { display: grid; place-items: center; width: 29px; height: 34px; padding: 0; color: var(--accent); border-radius: 6px; }
.server-copy svg { width: 16px; height: 16px; }
.server-copy:hover { background: #1b1b23; color: var(--accent); }
.server-connect { height: 34px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid rgba(255,255,255,.08); background: var(--violet); color: white; font-size: 11px; font-weight: 600; border-radius: 6px; padding: 0 12px; }
.server-connect svg { height: 13px; width: 13px; }
.server-connect:hover { background: #8173dd; border-color: rgba(255,255,255,.08); }
.is-quiet .server-connect { background: var(--surface-hi); border-color: rgba(255,255,255,.08); color: var(--accent); }
.is-quiet .server-connect:hover { background: var(--surface-hi); border-color: rgba(255,255,255,.08); }
.project-pulse { grid-column: 1/-1; margin: 0; gap: 0; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 0; padding: 16px 24px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: #16161c; }
.project-pulse > span { padding-left: 26px; border-left: 1px solid rgba(255,255,255,.08); }
.project-pulse > span:first-child { padding-left: 0; border: 0; }
.project-pulse b { display: block; font: 600 20px/1.1 Community; color: var(--text); }
.project-pulse b small { font-size: 11px; color: var(--muted); font-weight: 400; }
.project-pulse > span > small { display: block; color: var(--muted); font-size: 11px; margin-top: 5px; }
.project-pulse em { font-style: normal; font-size: 10px; color: var(--secondary); vertical-align: middle; margin-left: 3px; }

.store-categories { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.store-category { display: grid; grid-template-columns: 37px minmax(0,1fr) 20px; align-items: center; gap: 13px; padding: 24px 22px 18px; background: #16161c; border: 1px solid rgba(255,255,255,.08); border-radius: 11px; text-align: left; }
.store-category:hover { background: #1b1b23; border-color: rgba(255,255,255,.08); }
.category-icon { color: var(--accent); display: grid; place-items: center; width: 37px; height: 37px; }
.category-icon svg { width: 30px; height: 30px; stroke-width: 1.25; }
.category-copy strong { display: block; font-size: 17px; font-weight: 600; color: var(--text); line-height: 1.25; }
.category-copy small { display: block; color: var(--muted); font-size: 11px; margin-top: 5px; }
.category-arrow { color: var(--accent); }
.category-arrow svg { width: 18px; height: 18px; }
.category-bottom { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid rgba(255,255,255,.08); padding-top: 16px; margin-top: 4px; color: var(--muted); font-size: 10px; }
.category-bottom > span { color: var(--accent); white-space: nowrap; }
.store-offer { display: flex; align-items: center; gap: 23px; width: 100%; padding: 15px 22px; margin-top: 12px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; background: #1b1b23; text-align: left; }
.store-offer:hover { background: #1b1b23; border-color: rgba(255,255,255,.08); }
.offer-value { color: var(--accent); font: 500 35px/1 Display; white-space: nowrap; }
.offer-value > span { font-size: 21px; margin-left: 2px; }
.offer-copy { display: flex; align-items: center; gap: 16px; flex: 1; }
.offer-copy b { font-size: 12px; font-weight: 600; color: var(--text); }
.offer-copy small { font-size: 11px; color: var(--muted); }
.offer-action { display: flex; align-items: center; gap: 15px; font-size: 11px; font-weight: 500; color: var(--accent); }
.offer-action svg { width: 16px; height: 16px; }

.community-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 18px; }
.home-panel { min-width: 0; border: 1px solid rgba(255,255,255,.08); background: var(--surface); border-radius: 11px; padding: 20px 22px; }
.home-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 5px; }
.home-panel-heading h3 { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; margin: 0; color: var(--text); }
.home-panel-heading h3 > svg { height: 16px; width: 16px; color: var(--accent); }
.home-topic { width: 100%; display: flex; align-items: center; gap: 13px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; }
.home-topic:last-child { border: 0; padding-bottom: 5px; }
.topic-avatar { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: #1b1b23; color: var(--secondary); font-size: 12px; font-weight: 500; flex: 0 0 auto; }
.home-topic:nth-child(even) .topic-avatar { background: #1b1b23; color: var(--secondary); border-color: rgba(255,255,255,.08); }
.home-topic-copy { min-width: 0; flex: 1; }
.home-topic-copy strong { font-size: 12px; font-weight: 600; color: var(--text); line-height: 1.5; display: block; }
.home-topic:hover strong { color: var(--text); }
.home-topic-copy small { display: flex; align-items: center; gap: 7px; margin-top: 5px; color: var(--muted); font-size: 10px; flex-wrap: wrap; }
.home-topic-copy small b { font-weight: 500; color: var(--secondary); }
.home-topic-copy small > span { color: var(--muted); }
.home-topic-meta { text-align: right; flex: 0 0 94px; }
.home-topic-meta > small { display: block; color: var(--faint); font-size: 10px; }
.home-topic-meta > span { display: inline-flex; align-items: center; gap: 5px; margin-top: 7px; color: var(--secondary); font-size: 10px; }
.home-topic-meta svg { width: 13px; height: 13px; }
.home-news { display: block; text-align: left; width: 100%; border-bottom: 1px solid rgba(255,255,255,.08); padding: 16px 0; }
.home-news:last-child { border: 0; padding-bottom: 0; }
.home-news > small { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 10px; }
.home-news > small span { font-size: 10px; color: var(--muted); }
.home-news > strong { display: block; color: var(--text); font-size: 13px; font-weight: 600; line-height: 1.5; margin-top: 6px; }
.home-news:hover > strong { color: var(--text); }
.home-news p { margin: 6px 0 0; font-size: 11px; line-height: 1.7; color: var(--muted); }
.home-products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.home-product { position: relative; display: flex; align-items: flex-start; flex-wrap: wrap; gap: 11px; text-align: left; padding: 19px; min-height: 127px; background: #16161c; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; }
.home-product:hover { background: #1b1b23; border-color: rgba(255,255,255,.08); }
.product-mark { color: var(--accent); width: 24px; }
.product-mark svg { width: 24px; height: 24px; stroke-width: 1.4; }
.home-product > span:nth-child(2) { min-width: 0; flex: 1; }
.home-product strong { display: block; font-size: 13px; font-weight: 600; color: var(--text); }
.home-product small { display: block; font-size: 10px; color: var(--muted); margin-top: 4px; }
.product-price { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 10px; font-size: 11px; color: var(--accent); padding-top: 11px; border-top: 1px solid rgba(255,255,255,.08); }
.product-price svg { width: 14px; height: 14px; }
.activity-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 18px; }
.tabs button { font-size: 10px; padding: 5px 8px; border-radius: 5px; color: var(--muted); }
.tabs button.is-active { color: var(--accent); background: #2a2a34; }
.leader-row { width: 100%; padding: 14px 0; font-size: 12px; border-color: rgba(255,255,255,.08); }
.leader-row .avatar { width: 33px; height: 33px; background: #1b1b23; border-color: rgba(255,255,255,.08); font-size: 11px; }
.leader-rank, .leader-row:first-child .leader-rank { width: 16px; color: var(--accent); font-size: 11px; }
.leader-row b { color: var(--secondary); font-weight: 500; text-align: left; flex: 1; }
.leader-row small { margin-left: auto; color: var(--secondary); font-size: 11px; }
.purchase-list > div { display: flex; align-items: center; gap: 11px; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.purchase-list .avatar { width: 33px; height: 33px; font-size: 11px; flex-shrink: 0; }
.purchase-list b { display: block; font-size: 11px; color: var(--secondary); font-weight: 500; }
.purchase-list small { display: block; font-size: 10px; color: var(--muted); margin-top: 2px; }
.purchase-list strong { margin-left: auto; font-size: 10px; color: var(--secondary); font-weight: 500; }
.purchase-list time { min-width: 92px; text-align: right; color: var(--faint); font-size: 10px; }
.home-events { padding: 14px 0 0; }
.home-events > span { font-size: 10px; color: var(--accent); display: flex; align-items: center; gap: 7px; }
.home-events svg { height: 13px; width: 13px; }
.home-events p { color: var(--muted); font-size: 11px; margin: 7px 0 0; }
.home-events small { color: var(--muted); float: right; }
.footer { margin-top: 38px; padding: 26px 0 30px; border-color: rgba(255,255,255,.08); gap: 20px; }
.footer-brand { color: var(--secondary); font-size: 10px; letter-spacing: 1px; }
.footer-brand span { color: var(--faint); font-size: 10px; }
.footer-links { gap: 16px; }
.footer-links button, .footer-links span { color: var(--muted); font-size: 10px; }
.footer-orbit { color: var(--muted); font-size: 10px; gap: 6px; }
.footer-orbit svg { width: 16px; height: 16px; }

/* The chat stays legible, with a quiet background and no seasonal effects. */
.chat-dock { width: var(--chat); display: flex; background: var(--surface); border-left-color: rgba(255,255,255,.08); }
.chat-header { height: var(--top); padding: 0 18px; border-color: rgba(255,255,255,.08); }
.chat-header > div > svg { color: var(--secondary); }
.chat-header b { font-size: 13px; color: var(--text); }
.chat-live { background: var(--green); box-shadow: none; }
.chat-top { padding: 13px 18px; border-color: rgba(255,255,255,.08); color: var(--muted); font-size: 10px; }
.chat-top button { color: var(--secondary); font-size: 10px; }
.chat-messages { padding: 23px 17px; scrollbar-color: #493653 transparent; }
.chat-message { gap: 11px; margin-bottom: 25px; }
.chat-message .avatar { width: 37px; height: 37px; font-size: 11px; margin-top: 0; background: #1b1b23; color: var(--secondary); border-color: rgba(255,255,255,.08); }
.chat-person { gap: 7px; margin-bottom: 7px; }
.chat-person b { font-size: 12px; color: var(--accent); font-weight: 500; }
.chat-person time { color: var(--faint); font-size: 10px; }
.chat-bubble { font-size: 12px; line-height: 1.65; padding: 10px 12px; border: 0; background: #1b1b23; color: var(--secondary); border-radius: 0 9px 9px 9px; }
.chat-message.is-own .chat-bubble { background: #1b1b23; border: 0; }
.chat-pin { background: #16161c; border-color: rgba(255,255,255,.08); color: var(--secondary); font-size: 11px; }
.chat-pin b { color: var(--muted); }
.chat-message .chat-tools { color: var(--accent); }
.reaction { color: var(--accent); background: #1b1b23; border-color: rgba(255,255,255,.08); font-size: 10px; }
.reaction:hover { border-color: rgba(255,255,255,.08); background: #2a2a34; }
.chat-input-area { background: #16161c; border-color: rgba(255,255,255,.08); padding: 15px 17px; }
.chat-input-area form { background: #16161c; border-color: rgba(255,255,255,.08); }
.chat-input-area textarea { background: transparent; border: 0; color: var(--text); font-size: 12px; border-radius: 8px; min-height: 72px; }
.chat-input-area textarea::placeholder { color: var(--muted); }
.chat-input-area textarea:focus { border-color: rgba(255,255,255,.08); }
.chat-input-bottom { margin-top: 9px; }
.send-button { background: var(--violet); color: #fff; width: 30px; height: 30px; border-radius: 6px; border: 1px solid rgba(255,255,255,.08); }
.send-button:hover { background: #8173dd; }
.send-button svg { width: 15px; height: 15px; }
.chat-footnote { font-size: 10px; color: var(--muted); margin-top: 12px; }
.chat-footnote svg { width: 11px; height: 11px; }
.restore-chat { background: #1b1b23; color: var(--accent); border-color: rgba(255,255,255,.08); }
.chat-collapsed { --chat: 0px; }
.chat-collapsed .chat-dock { display: none; }
.chat-collapsed .main-nav { right: 0; }
.mega-menu { left: 0; right: var(--chat); top: var(--top); background: #16161c; border-color: rgba(255,255,255,.08); backdrop-filter: none; padding: 28px max(35px,calc((100vw - var(--chat) - var(--content))/2)); }
.mega-group h3 { font: 500 20px Display; color: var(--text); }
.mega-group b { color: var(--text); font-size: 12px; }
.mega-group small { color: var(--muted); font-size: 10px; }
.mega-icon { background: #2a2a34; color: var(--accent); border-color: rgba(255,255,255,.08); }
.modal { background: #16161c; border-color: rgba(255,255,255,.08); }
.modal h2 { color: var(--text); }
.modal p { color: var(--muted); }
.button.primary { background: var(--violet); color: white; border-color: rgba(255,255,255,.08); }
.toast { background: #1b1b23; border-color: rgba(255,255,255,.08); color: var(--text); left: calc((100% - var(--chat))/2); transform: translateX(-50%); }

@media (min-width: 2200px) {
  :root { --content: 1376px; --chat: 380px; }
  .main { padding-top: 38px; }
  .server-hub { grid-template-columns: 270px minmax(0,1fr); }
  .server-row { min-height: 94px; column-gap: 22px; }
  .server-name { font-size: 17px; }
  .server-mascot img { width: 319px; bottom: -54px; }
  .section-heading h1, .section-heading h2 { font-size: 28px; }
  .home-topic-copy strong { font-size: 12px; }
  .home-topic-copy small, .home-topic-meta > small { font-size: 10px; }
  .home-news > strong { font-size: 13px; }
  .home-news p { font-size: 11px; }
  .chat-person b, .chat-bubble { font-size: 12px; }
  .chat-message .avatar { width: 40px; height: 40px; }
}
@media (max-width: 1500px) {
  :root { --chat: 288px; }
  .topbar, .main-nav { padding-left: 28px; padding-right: 28px; }
  .main { padding-left: 28px; padding-right: 28px; }
  .topbar-inner { gap: 22px; }
  .top-online { display: none; }
  .main-nav-inner { gap: 25px; }
  .server-hub { grid-template-columns: 195px minmax(0,1fr); }
  .server-list { padding: 0 19px; }
  .server-row { grid-template-columns: 68px minmax(0,1fr) 52px 24px 83px; column-gap: 12px; }
  .server-name { font-size: 13px; }
  .server-mode { padding: 4px 5px; font-size: 10px; }
  .server-mascot img { width: 264px; }
  .mascot-label { left: 20px; font-size: 17px; }
  .store-category { padding: 21px 17px 16px; gap: 9px; grid-template-columns: 30px minmax(0,1fr) 16px; }
  .category-icon { width: 30px; }
  .category-icon svg { width: 26px; height: 26px; }
  .category-copy strong { font-size: 15px; }
  .category-bottom { font-size: 10px; }
  .community-grid { grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 14px; }
  .home-panel { padding: 19px 17px; }
  .home-topic-meta { flex-basis: 70px; }
  .home-topic-meta > small { font-size: 10px; }
  .home-topic-copy strong { font-size: 10px; }
  .home-topic-copy small { font-size: 10px; }
  .home-topic { gap: 10px; }
  .offer-copy { gap: 11px; }
  .purchase-list time { min-width: 66px; font-size: 10px; }
  .footer-links { gap: 10px; }
}
@media (max-width: 1150px) {
  :root { --chat: 0px; }
  .chat-dock { display: none; }
  .restore-chat { display: flex !important; }
  .chat-forced-open .chat-dock { display: flex; width: 300px; }
  .chat-forced-open .restore-chat { display: none !important; }
  .main-inner { max-width: 1000px; }
  .topbar-inner, .main-nav-inner { max-width: 1000px; }
}
@media (max-width: 760px) {
  .main { padding: 24px 18px 0; }
  .topbar, .main-nav { padding: 0 18px; }
  .main-nav-inner { overflow-x: auto; gap: 24px; }
  .nav-social { display: none; }
  .top-actions { gap: 10px; }
  .coin-balance, .notification-button, .menu-trigger kbd { display: none; }
  .wordmark b { font-size: 18px; }
  .wordmark img { width: 31px; height: 31px; }
  .topbar-inner { gap: 15px; }
  .section-caption { display: none; }
  .section-heading h1, .section-heading h2 { font-size: 24px; }
  .section-presence { font-size: 10px; }
  .server-hub { grid-template-columns: 1fr; }
  .server-mascot { display: none; }
  .server-list { padding: 0 14px; }
  .server-row { grid-template-columns: minmax(0,1fr) 46px 73px; column-gap: 10px; min-height: 94px; }
  .server-mode, .server-copy { display: none; }
  .server-description p { font-size: 10px; }
  .server-connect { font-size: 10px; gap: 6px; padding: 0 7px; }
  .project-pulse { padding: 15px; gap: 8px; }
  .project-pulse > span { padding-left: 10px; }
  .project-pulse b { font-size: 17px; }
  .project-pulse > span > small { font-size: 10px; }
  .store-categories { grid-template-columns: 1fr; gap: 10px; }
  .store-category { padding: 18px; grid-template-columns: 32px minmax(0,1fr) 20px; }
  .category-copy strong { font-size: 16px; }
  .category-bottom { margin-top: 2px; padding-top: 10px; font-size: 10px; }
  .store-offer { gap: 13px; padding: 14px 16px; }
  .offer-copy { display: block; }
  .offer-copy small { display: block; margin-top: 2px; font-size: 10px; }
  .offer-action { font-size: 0; gap: 0; }
  .community-grid, .activity-grid { grid-template-columns: 1fr; }
  .home-topic-copy strong { font-size: 11px; }
  .home-topic-meta { flex-basis: 62px; }
  .home-products { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-product { padding: 14px; }
  .footer { flex-direction: column; align-items: flex-start; gap: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* Detail rules implement the measured reference and HOMEPAGE-PROMPT-v9. */
body { font-size: 14px; }
.main { padding-top: 46px; }
.section-heading { margin: 0 0 14px; }
.section-heading h1, .section-heading h2 { font: 600 30px/1.2 Display,sans-serif; letter-spacing: .02em; text-transform: uppercase; color: var(--text); }
.home-section { margin-bottom: 28px; }
.section-caption, .section-presence { font-size: 12px; color: var(--muted); }
.text-link { color: var(--accent); font-size: 12px; font-weight: 600; transition: color 140ms; }
.text-link:hover { color: white; }
.main-nav .rail-item { font-size: 13px; }
.main-nav .rail-item.is-active { color: var(--text); }
.main-nav .rail-item.is-active:before { background: var(--violet); }
.main-nav .rail-item:hover { color: #fff; }
.menu-trigger { font-size: 12px; color: var(--secondary); }
.wordmark b span { color: var(--muted); }
.topbar, .main-nav, .chat-dock { background: var(--surface); }
.topbar-inner, .main-nav-inner { gap: 28px; }
.top-actions { gap: 16px; }
.balance, .coin-balance { font-size: 12px; }
.top-online { font-size: 12px; }
.coin { color: var(--gold); }
.account-button .avatar { background: #24242d; color: #dfdfeb; }
.server-hub { grid-template-columns: 286px minmax(0,1fr); border-radius: 16px; background: var(--surface); border-color: var(--line); }
.server-mascot { background: #14141a; border-color: var(--line); min-height: 354px; }
.server-mascot::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg,rgba(8,8,10,.95),rgba(8,8,10,0) 55%); }
.server-mascot img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: 100%; transform: none; object-fit: cover; object-position: 26% center; }
.mascot-label { z-index: 1; top: 19px; left: 20px; font: 600 21px/1 Display; color: #fff; letter-spacing: .9px; text-shadow: 0 2px 7px #0008; }
.mascot-caption { z-index: 1; bottom: 22px; left: 20px; right: 15px; padding: 0; background: none; border: 0; text-align: left; }
.mascot-caption b { display: block; font: 600 22px/1.15 Display; text-transform: uppercase; color: #fff; letter-spacing: .4px; }
.mascot-caption span { display: block; font-size: 11px; color: #b6b6c2; margin-top: 7px; }
.server-list { padding: 0 24px; }
.server-row { min-height: 90px; grid-template-columns: 79px minmax(0,1fr) 62px 30px 100px; gap: 16px; border-color: rgba(255,255,255,.06); }
.server-name { font-size: 16px; color: #f4f4f6; }
.server-description p { font-size: 12px; color: var(--secondary); }
.server-map { font-size: 11px; color: var(--muted); }
.server-mode { font-size: 10px; padding: 4px 7px; color: var(--secondary); background: #1b1b23; border-color: var(--line); }
.server-row.is-quiet .server-mode { color: var(--muted); background: #16161c; border-color: var(--line); }
.server-connect { height: 36px; font-size: 12px; border-radius: 8px; background: var(--violet); border-color: transparent; color: #fff; transition: background-color 150ms, border-color 150ms, color 150ms; }
.server-connect:hover { background: #8173dd; border-color: transparent; }
.is-quiet .server-connect { background: #1b1b23; border-color: rgba(255,255,255,.12); color: var(--secondary); }
.is-quiet .server-connect:hover { background: #292934; border-color: rgba(179,173,234,.45); color: #fff; }
.server-copy { color: var(--muted); }
.server-copy:hover { color: #fff; background: #1b1b23; }
.status-dot { background: #5ce39a; }
.is-quiet .status-dot { background: #85858f; }
.occupancy-track { background: #25252e; }
.occupancy-track i { background: #8276c9; }
.project-pulse { padding: 16px 24px; background: #14141a; border-color: var(--line); }
.project-pulse > span { border-color: var(--line); }
.project-pulse b { font-size: 21px; color: var(--text); }
.project-pulse > span > small { font-size: 11px; color: var(--muted); }
.project-pulse em { color: #5ce39a; }

.store-categories { gap: 14px; }
.store-category { position: relative; isolation: isolate; display: block; width: 100%; aspect-ratio: 16/9; padding: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 14px; background: #14141a; text-align: left; transition: transform 160ms, box-shadow 160ms, border-color 160ms; }
.store-category > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 220ms; }
.store-category::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(0deg,rgba(8,8,10,.95),rgba(8,8,10,.07) 66%); }
.store-category:hover { background: #14141a; transform: translateY(-3px) scale(1.008); border-color: rgba(111,97,204,.5); box-shadow: 0 14px 34px rgba(111,97,204,.14); }
.store-category:hover > img { transform: scale(1.025); }
.category-tag { position: absolute; z-index: 1; top: 12px; left: 14px; background: rgba(8,8,10,.7); border: 1px solid rgba(255,255,255,.1); padding: 3px 8px; border-radius: 5px; color: #d8d8e0; font-size: 10px; }
.category-copy { position: absolute; z-index: 1; bottom: 17px; left: 18px; right: 45px; }
.category-copy strong { font: 600 27px/1 Display; letter-spacing: .3px; text-transform: uppercase; color: #fff; }
.category-copy small { margin-top: 7px; font-size: 11px; color: #b6b6c2; }
.category-arrow { position: absolute; z-index: 1; right: 18px; bottom: 19px; color: #dad5f3; }
.category-arrow svg { width: 18px; height: 18px; }
.store-offer { background: #16161c; border-color: var(--line); border-radius: 12px; padding: 14px 20px; }
.store-offer:hover { background: #1b1b23; border-color: rgba(179,173,234,.26); }
.offer-value { font-size: 32px; color: var(--accent); }
.offer-copy b { color: var(--text); font-size: 13px; }
.offer-copy small { color: var(--muted); font-size: 12px; }
.offer-action { color: var(--accent); font-size: 12px; }

.home-polls { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.home-poll { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 22px; display: flex; flex-direction: column; min-height: 290px; }
.poll-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.poll-top > span { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-size: 12px; font-weight: 500; }
.poll-top svg { width: 15px; height: 15px; }
.poll-top small { font-size: 11px; color: var(--muted); font-variant-numeric: tabular-nums; }
.home-poll h3 { font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -.15px; color: #f4f4f6; margin: 0 0 7px; }
.poll-note { font-size: 12px; line-height: 1.5; color: var(--muted); margin: 0 0 18px; }
.poll-results { display: flex; flex-direction: column; flex: 1; gap: 16px; }
.poll-result > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 6px; }
.poll-result > div > span { display: flex; align-items: center; gap: 6px; color: #d8d8df; font-size: 13px; }
.poll-result b { color: var(--muted); font-size: 12px; font-weight: 400; font-variant-numeric: tabular-nums; }
.poll-result svg { width: 13px; height: 13px; color: var(--accent); }
.poll-result.is-mine > div > span { font-weight: 600; color: #fff; }
.poll-result.is-mine b { color: var(--accent); }
.poll-bar { display: block; width: 100%; height: 5px; background: #1f1f27; border-radius: 4px; overflow: hidden; }
.poll-bar i { display: block; width: 0; height: 100%; background: linear-gradient(90deg,#6f61cc,#9a8be5); border-radius: 4px; transition: width 420ms cubic-bezier(.4,0,.2,1); }
.poll-bar i.is-visible { width: var(--share); }
.poll-result b { animation: poll-percentage 200ms ease; }
@keyframes poll-percentage { from { opacity: 0; } to { opacity: 1; } }
.poll-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.05); }
.poll-feedback { font-size: 11px; color: var(--muted); }
.poll-change, .poll-results-link { display: inline-flex; align-items: center; gap: 7px; padding: 0; color: var(--accent); font-size: 12px; font-weight: 500; }
.poll-change svg { width: 14px; height: 14px; }
.poll-change:hover, .poll-results-link:hover { color: #fff; }
.home-poll form { display: flex; flex-direction: column; flex: 1; }
.home-poll fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.poll-option { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--secondary); cursor: pointer; border-radius: 6px; padding: 4px 0; }
.poll-option:hover { color: #fff; }
.poll-option input { appearance: none; width: 16px; height: 16px; padding: 0; margin: 0; border: 1.5px solid #5a5a68; border-radius: 50%; flex: 0 0 auto; cursor: pointer; }
.poll-option input:checked { border-color: #a299e1; background: #a299e1; box-shadow: inset 0 0 0 4px #14141a; }
.poll-option:has(input:checked) { color: #fff; }
.poll-option input:focus-visible { outline: 2px solid #b3adea; outline-offset: 3px; }
.poll-submit { display: inline-flex; align-items: center; justify-content: center; gap: 9px; height: 36px; padding: 0 15px; border-radius: 8px; color: white; background: var(--violet); font-size: 12px; font-weight: 600; }
.poll-submit svg { width: 14px; height: 14px; }
.poll-submit:hover { background: #8173dd; }
.poll-submit:disabled { background: #1f1f27; color: var(--muted); opacity: .65; }
.poll-submit:disabled svg { display: none; }

.community-grid { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 18px; }
.home-panel { background: var(--surface); border-color: var(--line); border-radius: 16px; padding: 20px 22px; }
.home-panel-heading { margin-bottom: 10px; }
.home-panel-heading h3 { color: #f4f4f6; font-size: 15px; }
.home-panel-heading h3 > svg { color: var(--accent); }
.home-topic { padding: 16px 0; border-color: rgba(255,255,255,.05); }
.home-topic-copy strong { color: #d8d8df; font-size: 13px; }
.home-topic:hover strong { color: #fff; }
.home-topic-copy small { font-size: 11px; color: var(--muted); }
.home-topic-copy small b { color: #b3adea; }
.home-topic-copy small > span { color: #5b5b66; }
.topic-avatar { width: 37px; height: 37px; background: #24242f; border-color: rgba(255,255,255,.1); color: #c4c0dd; border-radius: 10px; }
.home-topic:nth-child(even) .topic-avatar { background: #202029; border-color: rgba(255,255,255,.08); color: #b6b6c2; }
.home-topic-meta { flex-basis: 98px; }
.home-topic-meta > small { color: var(--muted); font-size: 10px; }
.home-topic-meta > span { color: var(--secondary); font-size: 11px; }
.events-panel { display: flex; flex-direction: column; }
.home-event-list { display: flex; flex-direction: column; justify-content: space-between; flex: 1; gap: 0; padding-top: 0; }
.home-event { display: flex; align-items: flex-start; gap: 10px; text-align: left; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.home-event:last-child { border-bottom: 0; padding-bottom: 5px; }
.event-icon { display: grid; place-items: center; width: 29px; height: 29px; flex: 0 0 auto; border-radius: 8px; border: 1px solid rgba(179,173,234,.15); background: #1b1b28; color: #a69ce0; }
.event-icon svg { width: 15px; height: 15px; }
.home-event > span:last-child { min-width: 0; }
.home-event small { display: block; font-size: 11px; color: #b3adea; margin-bottom: 3px; }
.home-event small span { color: var(--muted); }
.home-event strong { display: block; font-size: 12px; line-height: 1.5; color: #b6b6c2; font-weight: 400; }
.home-event:hover strong { color: #fff; }
.home-event time { display: block; color: var(--muted); font-size: 10px; margin-top: 5px; }

.home-news-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 16px; }
.news-lead { display: flex; flex-direction: column; overflow: hidden; text-align: left; border-radius: 14px; border: 1px solid rgba(255,255,255,.06); background: #16161c; padding: 0; min-height: 418px; transition: transform 160ms, box-shadow 160ms, border-color 160ms; }
.news-lead:hover, .news-item:hover { transform: translateY(-2px); border-color: rgba(111,97,204,.45); box-shadow: 0 14px 34px rgba(111,97,204,.14); }
.news-lead-image { position: relative; display: block; flex: 1; min-height: 245px; overflow: hidden; }
.news-lead-image > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 43%; }
.news-category { position: absolute; left: 14px; top: 14px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; color: #fff; border-radius: 5px; padding: 4px 9px; background: #6f61cc; }
.news-lead-copy { display: block; padding: 17px 20px 20px; flex: 0 0 auto; }
.news-lead-copy > time { display: block; font-size: 11px; color: var(--muted); }
.news-lead-copy > strong { display: block; margin-top: 6px; font-size: 20px; font-weight: 700; line-height: 1.35; color: #fff; }
.news-lead-copy > span { display: block; margin-top: 8px; font-size: 12px; line-height: 1.55; color: var(--secondary); }
.news-side-list { display: grid; grid-template-rows: repeat(2,minmax(0,1fr)); gap: 14px; }
.news-item { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 17px; padding: 14px; border-radius: 14px; border: 1px solid rgba(255,255,255,.06); background: #16161c; text-align: left; transition: transform 160ms, box-shadow 160ms, border-color 160ms, background-color 160ms; }
.news-item:hover { background: #1b1b23; }
.news-item-image { display: block; position: relative; overflow: hidden; border-radius: 9px; min-height: 150px; }
.news-item-image > img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; object-position: 30% center; }
.news-item-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; justify-content: center; }
.news-item-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.news-item-meta > span { font-size: 9px; font-weight: 600; text-transform: uppercase; background: rgba(255,255,255,.07); color: #c6c6d0; padding: 3px 6px; border-radius: 4px; }
.news-item-meta time { font-size: 10px; color: var(--muted); }
.news-item-copy > strong { font-size: 15px; font-weight: 700; line-height: 1.4; color: #f4f4f6; }
.news-summary { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; line-height: 1.5; color: var(--secondary); margin-top: 7px; }
.news-read { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 11px; font-weight: 500; color: var(--accent); }
.news-read svg { width: 14px; height: 14px; }
.home-product { border-color: var(--line); background: #16161c; }
.home-product:hover { background: #1b1b23; border-color: rgba(179,173,234,.25); }
.home-product strong { color: var(--text); font-size: 15px; }
.home-product small { color: var(--muted); font-size: 11px; }
.product-price { border-color: var(--line); color: var(--accent); font-size: 12px; }
.leader-row b { color: var(--text); font-size: 13px; text-align: left; }
.leader-row small { font-size: 12px; color: var(--secondary); }
.leader-row, .purchase-list > div { border-color: rgba(255,255,255,.05); }
.leader-row .avatar, .purchase-list .avatar { background: #24242f; border-color: var(--line); color: #c4c0dd; }
.purchase-list b { color: var(--text); font-size: 12px; }
.purchase-list small { font-size: 10px; color: var(--muted); }
.purchase-list strong { font-size: 12px; color: var(--secondary); }
.purchase-list time { font-size: 10px; color: var(--muted); }
.purchase-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 20px; }
.purchase-bottom > span { color: var(--muted); font-size: 11px; }
.footer { border-color: var(--line); }
.footer-brand, .footer-links button { color: var(--secondary); }
.footer-links button:hover { color: #fff; }
.chat-header b { color: #f4f4f6; }
.chat-message .avatar { width: 40px; height: 40px; background: #24242f; border-color: rgba(255,255,255,.1); color: #c4c0dd; }
.chat-person b { color: #c4bce8; font-size: 12px; }
.chat-person time { color: #85858f; font-size: 10px; }
.chat-bubble, .chat-message.is-own .chat-bubble { background: #16161c; color: #d1d1db; font-size: 12px; line-height: 1.6; }
.chat-message.is-own .chat-bubble { background: #1b1b23; }
.chat-message.is-own .avatar { outline-color: rgba(179,173,234,.25); }
.chat-message .reaction { background: #1b1b23; border-color: rgba(255,255,255,.09); color: #c9c9d6; }
.chat-message .reaction.is-active { border-color: #8173dd; }
.chat-pin { background: #16161c; border-color: var(--line); color: #b6b6c2; }
.chat-pin b { color: var(--muted); }
.chat-top { font-size: 10px; color: var(--muted); }
.chat-input-area { background: #0d0d11; border-color: var(--line); }
.chat-input-area form { background: #16161c; border-color: rgba(255,255,255,.14); }
.chat-input-area form:focus-within { border-color: #8a7dd0; }
.chat-input-area textarea { color: #f4f4f6; font-size: 12px; }
.chat-footnote { font-size: 9px; color: var(--muted); }
.send-button { background: #6f61cc; border-color: transparent; color: #fff; }
.send-button:hover { background: #8173dd; }
.chat-header, .chat-top { border-color: var(--line); }
.mega-menu, .account-popover { background: #16161c; border-color: rgba(255,255,255,.12); }
.mega-group b, .mega-group h3, .account-pop-head b { color: #f4f4f6; }
.mega-group small, .account-pop-head span { color: #8a8a95; }
.mega-icon { background: #22222d; color: #b3adea; border-color: rgba(179,173,234,.2); }
.modal { background: #16161c; border-color: rgba(255,255,255,.14); }
.modal h2 { color: #f4f4f6; }
.modal p { color: #b6b6c2; }
.toast { color: #f4f4f6; background: #22222c; border-color: rgba(179,173,234,.3); animation: home-toast 150ms ease-out; }
@keyframes home-toast { from { opacity: 0; margin-top: 5px; } to { opacity: 1; margin-top: 0; } }

@media(min-width:2200px) {
 .server-hub { grid-template-columns: 305px minmax(0,1fr); }
 .server-row { min-height: 94px; }
 .server-name { font-size: 17px; }
 .section-heading h1, .section-heading h2 { font-size: 30px; }
 .server-mascot img { width: 100%; bottom: auto; }
 .chat-bubble, .chat-person b { font-size: 13px; }
}
@media(max-width:1500px) {
 .server-hub { grid-template-columns: 225px minmax(0,1fr); }
 .server-list { padding: 0 19px; }
 .server-row { grid-template-columns: 68px minmax(0,1fr) 55px 25px 84px; gap: 11px; min-height: 86px; }
 .server-name { font-size: 14px; }
 .server-description p { font-size: 11px; }
 .server-map { font-size: 10px; }
 .server-mode { font-size: 9px; padding: 4px 5px; }
 .server-connect { font-size: 11px; padding: 0 10px; }
 .category-copy strong { font-size: 25px; }
 .category-copy small { font-size: 10px; }
 .home-panel { padding: 19px 18px; }
 .home-topic-copy strong { font-size: 12px; }
 .home-topic-copy small { font-size: 10px; }
 .home-topic-meta { flex-basis: 78px; }
 .home-topic-meta > small { font-size: 9px; }
 .home-panel-heading h3 { font-size: 14px; }
 .home-event-list { gap: 18px 14px; }
 .home-event { gap: 8px; }
 .home-event strong { font-size: 11px; }
 .news-item { grid-template-columns: 120px minmax(0,1fr); gap: 13px; padding: 12px; }
 .news-item-copy > strong { font-size: 14px; }
 .news-summary { font-size: 11px; }
 .purchase-list time { min-width: 73px; font-size: 9px; }
 .purchase-list strong { font-size: 11px; }
}
@media(max-width:1150px) {
 .community-grid { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
 .home-news-grid { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); }
}
@media(max-width:760px) {
 .section-heading h1, .section-heading h2 { font-size: 26px; }
 .server-hub { grid-template-columns: 1fr; }
 .server-mascot { display: none; }
 .server-row { grid-template-columns: minmax(0,1fr) 50px 77px; }
 .server-name { font-size: 14px; }
 .store-categories { grid-template-columns: 1fr; }
 .store-category { aspect-ratio: 16/8; }
 .category-copy strong { font-size: 27px; }
 .category-copy small { font-size: 11px; }
 .home-polls, .community-grid, .home-news-grid { grid-template-columns: 1fr; }
 .home-poll { padding: 20px; }
 .home-topic-copy strong { font-size: 12px; }
 .home-topic-meta { flex-basis: 72px; }
 .home-topic-copy small { font-size: 10px; }
 .news-lead { min-height: 365px; }
 .news-item { min-height: 160px; grid-template-columns: 120px minmax(0,1fr); }
 .news-item-image { min-height: 132px; }
 .purchase-bottom { flex-wrap: wrap; }
}
@media(prefers-reduced-motion:reduce) {
 .store-category:hover, .news-lead:hover, .news-item:hover, .store-category:hover > img { transform: none; }
 .poll-bar i { width: var(--share); }
}

/* Quick sections at the left; the complete menu opens from the top bar. */
.quick-rail { background: #0d0d11; border-right: 1px solid var(--line); }
.quick-rail .rail-brand { width: 46px; height: 46px; margin: 13px 0 0; flex: 0 0 auto; border-radius: 12px; border: 1px solid rgba(255,255,255,.1); background: #191920; box-shadow: none; }
.quick-rail .rail-brand img { width: 33px; height: 33px; }
.quick-rail .rail-brand:hover { background: #22222d; border-color: rgba(179,173,234,.3); }
.quick-rail .rail-links { flex: 1 1 0; min-height: 0; margin-top: 6px; gap: 8px; padding: clamp(40px,7.5vh,82px) 7px 20px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.quick-rail .rail-links::-webkit-scrollbar { width: 0; }
.quick-rail .rail-item { height: 59px; min-height: 59px; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 5px 0 7px; border: 1px solid transparent; border-radius: 11px; font-size: 10.5px; line-height: 1.25; font-weight: 500; color: #a1a1ae; background: none; transition: background-color 160ms,color 140ms,border-color 160ms; box-shadow: none; }
.quick-rail .rail-icon { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid transparent; border-radius: 9px; transition: color 140ms,background-color 160ms,border-color 160ms,transform 160ms; }
.quick-rail .rail-item svg { height: 22px; width: 22px; stroke-width: 1.65; }
.quick-rail .rail-item:hover { background: #18181f; color: #f4f4f6; }
.quick-rail .rail-item:hover .rail-icon { color: #d0c9ef; transform: translateY(-1px); }
.quick-rail .rail-item.is-active { background: #1c1b26; border-color: rgba(179,173,234,.12); color: #e1ddf0; box-shadow: none; }
.quick-rail .rail-item.is-active .rail-icon { background: #302d44; border-color: rgba(179,173,234,.14); color: #c6bde9; }
.quick-rail .rail-item.is-active:before { width: 2px; left: 2px; top: 18px; bottom: 18px; background: #9587da; border-radius: 3px; box-shadow: none; }
.quick-rail .rail-item:active .rail-icon { transform: translateY(0); }
.quick-rail .rail-item:focus-visible { outline: 2px solid #b3adea; outline-offset: -2px; }
.quick-rail .rail-utility-start { margin-top: 15px; }
.quick-rail .rail-utility-start::after { content: ''; position: absolute; left: 16px; right: 16px; top: -13px; height: 1px; background: rgba(255,255,255,.08); pointer-events: none; }
.quick-rail .rail-bottom { flex: 0 0 auto; width: 62px; margin-top: 0; gap: 11px; padding: 15px 0 17px; border-top: 1px solid rgba(255,255,255,.07); color: var(--muted); }
.rail-utilities { display: flex; align-items: center; justify-content: center; gap: 8px; }
.quick-rail .rail-social { width: 30px; height: 30px; border-radius: 8px; background: #17171e; border-color: rgba(255,255,255,.08); color: #b6b6c2; }
.quick-rail .rail-social:hover { background: #252332; border-color: rgba(179,173,234,.3); color: #e1ddf0; }
.quick-rail .rail-social:focus-visible { outline-offset: 2px; }
.quick-rail .rail-social svg { width: 19px; height: 19px; }
.rail-locale { display: grid; place-items: center; height: 28px; min-width: 24px; font-size: 10px; line-height: 1; font-weight: 500; color: #a1a1ae; }
.rail-presence { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; width: 62px; padding: 9px 0; border: 1px solid rgba(255,255,255,.07); border-radius: 9px; background: #15151b; }
.rail-presence-number { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.rail-presence b { font-size: 13px; line-height: 1; font-weight: 600; font-variant-numeric: tabular-nums; color: #dddde7; }
.rail-presence small { font-size: 9px; line-height: 1.2; color: #9898a5; }
.rail-presence .dot { width: 5px; height: 5px; background: #77c8a1; }
.rail-tooltip { position: fixed; z-index: 55; pointer-events: none; max-width: 260px; padding: 11px 14px; background: #1b1b23; border: 1px solid rgba(179,173,234,.18); border-radius: 10px; box-shadow: 0 9px 28px rgba(0,0,0,.35); animation: rail-tip-reveal 120ms ease-out; }
.rail-tooltip::before { content: ''; position: absolute; left: -5px; top: calc(50% - 5px); width: 8px; height: 8px; background: #1b1b23; border-left: 1px solid rgba(179,173,234,.18); border-bottom: 1px solid rgba(179,173,234,.18); transform: rotate(45deg); }
.rail-tooltip b { display: block; color: #f1eff7; font-size: 12px; font-weight: 600; line-height: 1.4; }
.rail-tooltip > span { display: block; color: #a2a2b1; font-size: 11px; line-height: 1.45; margin-top: 3px; }
@keyframes rail-tip-reveal { from { opacity: 0; margin-left: -3px; } to { opacity: 1; margin-left: 0; } }
#servers { scroll-margin-top: calc(var(--top) + 24px); }
.topbar-inner { position: relative; gap: 12px; }
.header-social { display: grid; place-items: center; height: 34px; width: 38px; border: 1px solid var(--line); border-radius: 8px; color: #b3adea; background: #16161c; flex: 0 0 auto; }
.header-social svg { height: 18px; width: 18px; }
.header-social:hover { color: #fff; background: #22222a; }
.top-online { display: inline-flex; gap: 6px; height: 34px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: #16161c; color: var(--secondary); font-size: 11px; }
.top-online b { color: #f4f4f6; }
.header-shortcut { display: inline-flex; align-items: center; gap: 7px; height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: #16161c; font-size: 11px; color: #b6b6c2; }
.header-shortcut svg { width: 15px; height: 15px; color: #a8a0d5; }
.header-shortcut:hover { background: #22222a; color: #fff; }
.menu-trigger { position: absolute; left: 50%; transform: translateX(-50%); margin: 0; min-width: 104px; height: 34px; justify-content: center; background: #6f61cc; color: #fff; border-color: transparent; font-size: 12px; border-radius: 8px; }
.menu-trigger:hover { background: #8173dd; border-color: transparent; }
.menu-trigger[aria-expanded=true] { background: #201f2d; border-color: #534c80; color: #c1bae9; }
.menu-trigger kbd { display: none; }
.top-actions { margin-left: auto; gap: 14px; }
.mega-menu { left: var(--rail); right: var(--chat); top: var(--top); padding: 29px max(28px,calc((100vw - var(--rail) - var(--chat) - var(--content))/2)); gap: 32px; grid-template-columns: repeat(4,minmax(0,1fr)); background: #0d0d11; border-bottom: 1px solid rgba(179,173,234,.16); max-height: calc(100vh - var(--top)); overflow-y: auto; box-shadow: 0 22px 48px rgba(0,0,0,.35); }
.mega-menu:not([hidden]) { animation: menu-reveal 160ms ease-out; }
@keyframes menu-reveal { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.mega-group h3 { font: 600 18px/1.2 Display,sans-serif; color: #f4f4f6; text-transform: uppercase; letter-spacing: .45px; border-left: 2px solid #8173dd; padding-left: 9px; margin: 0 0 20px; }
.mega-group h3::before { content: none; }
.mega-group button { display: flex; align-items: center; gap: 12px; padding: 8px 5px; margin: 0 0 9px; width: 100%; text-align: left; border-radius: 9px; background: none; }
.mega-group button:hover { background: rgba(255,255,255,.04); }
.mega-group b { display: block; font-size: 12px; line-height: 1.4; font-weight: 600; color: #ededf3; }
.mega-group small { display: block; color: #8a8a95; font-size: 10px; line-height: 1.4; margin-top: 3px; }
.mega-icon { width: 36px; height: 36px; flex-shrink: 0; border-radius: 10px; display: grid; place-items: center; border: 1px solid rgba(179,173,234,.13); background: #1d1c29; color: #a89ddd; }
.mega-icon svg { height: 19px; width: 19px; }
.mega-group button:hover .mega-icon { color: #fff; background: #6f61cc; border-color: transparent; }
.mega-group button:hover small { color: #b6b6c2; }
.menu-backdrop { left: var(--rail); right: var(--chat); top: var(--top); background: rgba(0,0,0,.55); backdrop-filter: none; }
@media(max-width:1500px) {
 .top-actions { gap: 11px; }
 .header-shortcut { font-size: 10px; }
 .mega-menu { gap: 18px; padding-left: 28px; padding-right: 28px; }
 .mega-group button { gap: 9px; padding-left: 0; padding-right: 0; }
 .mega-group b { font-size: 11px; }
 .mega-group small { font-size: 10px; }
}
@media(max-width:1050px) {
 .mega-menu { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .header-shortcut { display: none; }
}
@media(max-width:760px) {
 :root { --rail: 65px; }
 .quick-rail .rail-brand { width: 40px; height: 40px; margin-bottom: 0; }
 .quick-rail .rail-item { font-size: 8px; height: 51px; min-height: 51px; }
 .quick-rail .rail-links { gap: 5px; padding: 27px 5px 15px; }
 .quick-rail .rail-item.is-active:before { left: 1px; }
 .quick-rail .rail-icon { width: 27px; height: 27px; }
 .quick-rail .rail-item svg { width: 20px; height: 20px; }
 .quick-rail .rail-bottom, .rail-presence { width: 53px; }
 .rail-utilities { gap: 3px; }
 .top-online, .header-social, .balance { display: none; }
 .menu-trigger { left: 0; transform: none; }
 .mega-menu { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 22px 18px; }
 .mega-group h3 { font-size: 16px; }
 .mega-group button { gap: 8px; }
 .mega-icon { height: 30px; width: 30px; }
 .main { padding-top: 27px; }
}
@media(prefers-reduced-motion:reduce) {
 .mega-menu:not([hidden]) { animation: none; }
 .quick-rail .rail-item:hover .rail-icon { transform: none; }
}
@media(max-height:800px) and (min-width:761px) {
 .quick-rail .rail-links { padding-top: 40px; gap: 5px; }
 .quick-rail .rail-item { height: 54px; min-height: 54px; }
 .quick-rail .rail-utility-start { margin-top: 11px; }
 .quick-rail .rail-utility-start::after { top: -10px; }
 .quick-rail .rail-bottom { padding-top: 12px; padding-bottom: 12px; gap: 9px; }
}
@media(max-height:650px) {
 .quick-rail .rail-links { padding-top: 25px; gap: 3px; padding-bottom: 12px; }
 .quick-rail .rail-item { height: 50px; min-height: 50px; }
 .quick-rail .rail-utility-start { margin-top: 10px; }
 .quick-rail .rail-bottom { padding-top: 10px; padding-bottom: 10px; }
}



/* Selective light and short motion on existing actions; no blanket panel glow. */
:root { --detail-ease: cubic-bezier(.2,.75,.25,1); }
html { scroll-padding-bottom: calc(92px + env(safe-area-inset-bottom,0px)); }
:is(.server-connect,.poll-submit,.send-button) { position: relative; overflow: hidden; }
.menu-trigger { overflow: hidden; }
:is(.menu-trigger,.server-connect,.poll-submit,.send-button) {
 transition: background-color 160ms,border-color 160ms,box-shadow 200ms var(--detail-ease);
}
:is(.menu-trigger,.server-connect,.poll-submit,.send-button)::after {
 content: ''; position: absolute; top: -45%; bottom: -45%; left: 0; width: 75%;
 pointer-events: none; border-radius: inherit;
 background: linear-gradient(110deg,transparent 28%,rgba(235,228,255,.26) 50%,transparent 72%);
 transform: translateX(-155%);
}
:is(.menu-trigger,.server-connect,.poll-submit,.send-button):hover::after {
 animation: action-sheen 850ms var(--detail-ease);
}
:is(.menu-trigger,.server-connect,.poll-submit,.send-button):hover {
 box-shadow: 0 0 16px rgba(111,97,204,.26);
}
.is-quiet .server-connect:hover { box-shadow: none; }
.is-quiet .server-connect::after,.poll-submit:disabled::after { display: none; }
.poll-submit:disabled { box-shadow: none; }
@keyframes action-sheen { from { transform: translateX(-155%); } to { transform: translateX(190%); } }
.store-category > img,.news-lead-image > img,.news-item-image > img { transition: transform 300ms var(--detail-ease); }
.news-lead:hover .news-lead-image > img,.news-item:hover .news-item-image > img { transform: scale(1.018); }
:is(.category-arrow,.news-read,.text-link,.offer-action,.product-price) svg { transition: transform 180ms var(--detail-ease); }
:is(.store-category,.news-item,.home-product,.store-offer):hover :is(.category-arrow,.news-read,.offer-action,.product-price) svg,.text-link:hover svg { transform: translateX(3px); }
.home-product { transition: background-color 160ms,border-color 160ms,transform 180ms var(--detail-ease); }
.home-product:hover { transform: translateY(-2px); }
:is(.store-category,.news-lead,.news-item,.home-product):active { transform: translateY(0); transition-duration: 80ms; }
.chat-input-area form { transition: border-color 170ms,box-shadow 190ms var(--detail-ease); }
.chat-input-area form:focus-within { box-shadow: 0 0 13px rgba(111,97,204,.11); }
.account-popover:not([hidden]),.emoji-popover:not([hidden]) { animation: detail-popover 160ms var(--detail-ease); }
.modal[open] { animation: detail-dialog 190ms var(--detail-ease); }
.modal::backdrop { animation: detail-backdrop 160ms ease-out; }
.toast:not([hidden]) { animation: detail-toast 160ms var(--detail-ease); }
.mega-menu:not([hidden]) .mega-group button { animation: menu-item-reveal 170ms var(--detail-ease) both; }
.mega-menu .mega-group button:nth-of-type(2) { animation-delay: 20ms; }
.mega-menu .mega-group button:nth-of-type(3) { animation-delay: 40ms; }
.mega-menu .mega-group button:nth-of-type(4) { animation-delay: 60ms; }
.mega-menu .mega-group button:nth-of-type(5) { animation-delay: 80ms; }
.mega-menu .mega-group button:nth-of-type(6) { animation-delay: 100ms; }
@keyframes detail-popover { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes detail-dialog { from { opacity: 0; transform: translateY(5px) scale(.992); } to { opacity: 1; transform: none; } }
@keyframes detail-backdrop { from { opacity: 0; } to { opacity: 1; } }
@keyframes detail-toast { from { opacity: 0; margin-bottom: -4px; } to { opacity: 1; margin-bottom: 0; } }
@keyframes menu-item-reveal { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }

/* A small control beside each result opens the voters. */
.poll-result { display: grid; grid-template-columns: minmax(0,1fr) 29px; column-gap: 12px; align-items: center; }
.poll-result .poll-result-label { grid-column: 1; grid-row: 1; gap: 12px; min-width: 0; }
.poll-result-label > span { line-height: 1.45; min-width: 0; }
.poll-result-label > b { flex-shrink: 0; }
.poll-result .poll-bar { grid-column: 1; grid-row: 2; }
.poll-bar i { position: relative; overflow: hidden; transition: width 500ms var(--detail-ease); }
.poll-result.is-mine .poll-bar i::after {
 content: ''; position: absolute; inset: 0; width: 70%; pointer-events: none;
 background: linear-gradient(110deg,transparent,rgba(237,230,255,.45),transparent);
 transform: translateX(-160%); animation: vote-sheen 800ms 400ms var(--detail-ease) both;
}
.poll-result.is-mine .poll-result-label svg { animation: vote-check 200ms var(--detail-ease); }
@keyframes vote-sheen { from { transform: translateX(-160%); } to { transform: translateX(210%); } }
@keyframes vote-check { from { opacity: 0; transform: scale(.8); } to { opacity: 1; transform: none; } }
.poll-voters { grid-column: 2; grid-row: 1/3; display: grid; place-items: center; width: 29px; height: 29px; padding: 0; border: 1px solid transparent; border-radius: 8px; color: #9d95b5; transition: color 140ms,background-color 150ms,border-color 160ms,transform 150ms var(--detail-ease); }
.poll-result .poll-voters svg { width: 15px; height: 15px; color: inherit; }
.poll-voters:hover,.poll-voters:focus-visible { color: #e4dcfa; background: #262231; border-color: rgba(179,173,234,.2); }
.poll-voters:active { transform: scale(.95); }

/* Our dialog uses a regular header, context line and searchable list. */
.modal.is-voters { width: 460px; max-width: calc(100vw - 32px); max-height: calc(100dvh - 64px); padding: 24px; border-radius: 16px; overflow: hidden; }
.voters-heading { display: flex; align-items: center; gap: 11px; min-height: 31px; padding-right: 30px; margin-bottom: 17px; }
.voters-heading > span { display: flex; color: #b3adea; }
.voters-heading svg { width: 20px; height: 20px; }
.modal .voters-heading h2 { flex: 1; color: #f4f4f6; font-size: 19px; line-height: 1.45; font-weight: 600; margin: 0; letter-spacing: -.2px; }
.voters-heading > b { display: grid; place-items: center; height: 27px; min-width: 29px; padding: 0 7px; background: #24212c; border: 1px solid rgba(255,255,255,.08); border-radius: 6px; color: #b9aed0; font-size: 11px; font-weight: 500; font-variant-numeric: tabular-nums; }
.voters-subheading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 13px; margin-bottom: 15px; border-top: 1px solid rgba(255,255,255,.07); color: #c4b9dc; font-size: 12px; font-weight: 400; }
.voters-subheading > span { min-width: 0; line-height: 1.5; overflow-wrap: anywhere; }
.voters-subheading small { font-size: 10px; color: #9992a7; white-space: nowrap; }
.voters-search { display: flex; align-items: center; gap: 9px; height: 38px; padding: 0 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 8px; background: #111115; margin-bottom: 14px; transition: border-color 170ms; }
.voters-search > svg { width: 15px; height: 15px; color: #9b91af; }
.voters-search input { width: 100%; min-width: 0; height: 100%; padding: 0; border: 0; outline: none; background: none; color: #e2ddeb; font-size: 12px; }
.voters-search input::placeholder { color: #9a91a9; }
.voters-search:focus-within { border-color: #8f81c7; }
.voters-scroll { position: relative; height: min(288px,calc(100dvh - 320px)); }
.voters-list { list-style: none; padding: 0 5px 0 0; margin: 0; height: 100%; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #6b5d83 transparent; border-radius: 9px; }
.voters-list::-webkit-scrollbar { width: 5px; }
.voters-list::-webkit-scrollbar-thumb { background: #6b5d83; border-radius: 5px; }
.voters-list:focus-visible { outline: 2px solid #b3adea; outline-offset: -2px; }
.voter-row { display: flex; align-items: center; gap: 11px; margin: 0; min-height: 48px; padding: 7px 9px; border: 1px solid transparent; border-radius: 9px; transition: background-color 150ms,border-color 160ms; }
.voter-row:hover { border-color: rgba(179,173,234,.09); background: #211e29; }
.voter-row:nth-child(-n+6) { animation: voter-reveal 160ms var(--detail-ease) both; }
.voter-row:nth-child(2) { animation-delay: 18ms; }
.voter-row:nth-child(3) { animation-delay: 36ms; }
.voter-row:nth-child(4) { animation-delay: 54ms; }
.voter-row:nth-child(5) { animation-delay: 72ms; }
.voter-row:nth-child(6) { animation-delay: 90ms; }
@keyframes voter-reveal { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.voter-avatar { display: grid; place-items: center; flex: 0 0 31px; height: 31px; border-radius: 50%; border: 1px solid rgba(179,173,234,.16); color: #c9bcdf; background: #30283d; font-size: 10px; font-weight: 500; }
.voter-tone-1 { background: #252533; color: #c0bdd1; }
.voter-tone-2 { background: #2b2834; color: #c5bdcf; }
.voter-name { min-width: 0; color: #dbd7e3; font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
.voter-row small { margin-left: auto; color: #c9bde5; font-size: 10px; }
.voter-row.is-own { border-color: rgba(179,173,234,.18); background: #221e2d; }
.voters-empty { position: absolute; inset: 0; display: grid; place-items: center; color: #aaa0ba; font-size: 12px; text-align: center; padding: 20px; pointer-events: none; }
.voters-summary { margin-top: 14px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,.07); font-size: 10px; color: #9c93ab; }
.detail-tooltip { position: fixed; z-index: 70; pointer-events: none; max-width: min(240px,calc(100vw - 16px)); padding: 7px 10px; border: 1px solid rgba(179,173,234,.17); border-radius: 7px; background: #211d2a; color: #e3dbee; box-shadow: 0 4px 15px rgba(0,0,0,.3); font: 400 11px/1.4 Community,sans-serif; text-align: center; animation: detail-tooltip-in 110ms ease-out; }
.detail-tooltip::after { content: ''; position: absolute; left: var(--tip-arrow-x,50%); bottom: -4px; width: 6px; height: 6px; background: #211d2a; border-right: 1px solid rgba(179,173,234,.17); border-bottom: 1px solid rgba(179,173,234,.17); transform: translateX(-50%) rotate(45deg); }
.detail-tooltip.is-below::after { bottom: auto; top: -4px; transform: translateX(-50%) rotate(225deg); }
@keyframes detail-tooltip-in { from { opacity: 0; } to { opacity: 1; } }
@media(max-width:760px) {
 .modal.is-voters { padding: 20px; }
 .voters-heading { gap: 9px; padding-right: 25px; }
 .modal .voters-heading h2 { font-size: 17px; }
 .poll-result { column-gap: 9px; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation: none !important; transition: none !important; }
 :is(.menu-trigger,.server-connect,.poll-submit,.send-button)::after,.poll-result.is-mine .poll-bar i::after { display: none; }
 .home-product:hover,.news-lead:hover .news-lead-image > img,.news-item:hover .news-item-image > img,
 :is(.store-category,.news-item,.home-product,.store-offer):hover :is(.category-arrow,.news-read,.offer-action,.product-price) svg,
 .text-link:hover svg,.poll-voters:active { transform: none; }
}

/* dock-position.css */
/* Layout only: retain the existing buttons, SVGs, colors and hover states. */
:root { --rail: 0px; }
.main { padding-bottom: 108px; }
.topbar { top: 0; left: 0; right: var(--chat); }
.mega-menu { left: 0; right: var(--chat); }
.menu-backdrop { left: 0; right: var(--chat); }
.quick-rail.mac-dock {
  inset: auto var(--chat) 0 0;
  transform: none; width: auto; height: calc(76px + env(safe-area-inset-bottom,0px));
  display: flex; flex-direction: row; align-items: center;
  padding: 8px 40px calc(8px + env(safe-area-inset-bottom,0px)); border: 0; border-top: 1px solid var(--line); border-radius: 0;
}
.mac-dock .rail-brand { margin: 0; }
.mac-dock .rail-links { position: absolute; left: 50%; top: calc((76px - 1px)/2); transform: translate(-50%,-50%); flex-direction: row; align-items: center; flex: 0 0 auto; width: max-content; padding: 0; margin: 0; overflow: visible; gap: 8px; }
.mac-dock .rail-item { flex: 0 0 70px; width: 70px; }
.mac-dock .rail-utility-start { margin: 0 0 0 13px; }
.mac-dock .rail-utility-start::after { top: 12px; bottom: 12px; left: -11px; right: auto; height: auto; width: 1px; }
.mac-dock .rail-bottom { margin: 0 0 0 auto; padding: 0; width: auto; flex-direction: row; align-items: center; gap: 16px; border: 0; }
.mac-dock .rail-presence { padding-top: 6px; padding-bottom: 6px; }
.rail-tooltip::before { top: auto; left: var(--tip-arrow-x,50%); bottom: -5px; border-left: 0; border-right: 1px solid rgba(179,173,234,.18); transform: translateX(-50%) rotate(45deg); }
.restore-chat { bottom: 116px; }
.toast { bottom: 116px; }
@media(max-width:1150px) {
  .chat-forced-open { --chat: 0px; }
}
@media(max-width:1500px) {
  .quick-rail.mac-dock { padding-left: 28px; padding-right: 28px; }
}
@media(max-width:900px) {
  .mac-dock .rail-presence { display: none; }
}
@media(max-width:760px) {
  :root { --rail: 0px; }
  .menu-trigger { left: 50%; transform: translateX(-50%); }
  .main { padding-bottom: 120px; }
  .quick-rail.mac-dock { bottom: 0; padding-left: 6px; padding-right: 6px; }
  .mac-dock .rail-brand { display: none; }
  .mac-dock .rail-links { gap: 4px; padding: 0; margin: 0; }
  .mac-dock .rail-item { flex-basis: 51px; width: 51px; }
  .mac-dock .rail-utility-start { margin-left: 8px; }
  .mac-dock .rail-utility-start::after { left: -6px; }
  .mac-dock .rail-bottom { display: none; }
}
@media(max-width:400px) {
  .mac-dock .rail-links { gap: 2px; }
  .mac-dock .rail-item { flex-basis: 44px; width: 44px; }
  .mac-dock .rail-utility-start { margin-left: 4px; }
  .mac-dock .rail-utility-start::after { left: -3px; }
}

/* polish-v16.css */
/* Finishing details. Original surfaces, palette, icons and page composition stay intact. */
.member-avatar-image { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
:is(.avatar,.topic-avatar,.voter-avatar) { overflow:hidden; }
.member-name,.voter-name { text-decoration:none; color:inherit; }
a.member-name:hover,a.voter-name:hover { color:var(--accent); }
.leader-row { text-decoration:none; }
.leader-row .avatar { flex-shrink:0; }
.topic-avatar .member-avatar-image { border-radius:inherit; }
.chat-avatar-link { display:block; flex-shrink:0; border-radius:50%; }
.chat-person .member-name { display:block; max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
:is(.balance,.coin-balance,.top-online,.server-occupancy,.project-pulse,.leader-rank,.leader-row small,.chat-person time,.poll-top small,.poll-result b) { font-variant-numeric:tabular-nums; }
.poll-result-label > b { min-width:4ch; text-align:right; animation:none; }
.poll-top small { min-width:8ch; text-align:right; }
.poll-results-view { display:flex; flex:1; flex-direction:column; }
.poll-results-view[hidden],.home-poll form[hidden] { display:none; }
.poll-choice-check { display:inline-flex; flex-shrink:0; }
.poll-choice-check[hidden] { display:none; }
.poll-option { min-height:40px; }
.poll-result { grid-template-columns:minmax(0,1fr) 36px; }
.poll-voters { width:36px; height:36px; }
.home-poll fieldset:disabled { opacity:.65; }
.poll-change,.poll-results-link { min-height:32px; }
.poll-submit { min-width:146px; }
.is-pending { cursor:wait; }
.is-complete { color:var(--accent); }
.action-spinner { display:inline-block; width:15px; height:15px; flex-shrink:0; border:1.5px solid currentColor; border-right-color:transparent; border-radius:50%; animation:action-spin 700ms linear infinite; }
@keyframes action-spin { to { transform:rotate(360deg); } }
.copy-fallback { display:block; width:100%; color:var(--text); outline-offset:3px; }
.modal.is-closing { pointer-events:none; animation:polish-dialog-out 140ms ease-in forwards; }
.modal.is-closing::backdrop { animation:polish-backdrop-out 140ms ease-in forwards; }
.account-popover.is-closing,.emoji-popover.is-closing { pointer-events:none; animation:polish-popover-out 140ms ease-in forwards; }
.mega-menu.is-closing { pointer-events:none; animation:polish-menu-out 140ms ease-in forwards; }
.menu-backdrop.is-closing { pointer-events:none; animation:polish-backdrop-out 140ms ease-in forwards; }
@keyframes polish-dialog-out { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(5px) scale(.99); } }
@keyframes polish-popover-out { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(-3px); } }
@keyframes polish-menu-out { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(-5px); } }
@keyframes polish-backdrop-out { from { opacity:1; } to { opacity:0; } }
.chat-scroll-area { position:relative; flex:1; min-height:0; display:flex; }
.chat-messages { min-width:0; min-height:0; width:100%; overflow-anchor:none; overscroll-behavior:contain; scroll-padding-bottom:18px; }
.chat-message { margin-bottom:22px; }
.chat-stack { display:flex; flex-direction:column; gap:5px; }
.chat-entry { position:relative; min-width:0; }
.chat-entry + .chat-entry .chat-bubble { border-radius:10px; }
.chat-entry-time { position:absolute; right:7px; bottom:4px; padding:1px 4px; border-radius:3px; background:#16161c; color:var(--muted); font-size:8px; opacity:0; pointer-events:none; transition:opacity 140ms; }
.chat-entry + .chat-entry .chat-bubble { padding-bottom:17px; }
.chat-entry:hover .chat-entry-time,.chat-entry:focus-within .chat-entry-time { opacity:1; }
.chat-person button { display:grid; place-items:center; flex-shrink:0; width:24px; height:24px; margin:-5px -4px -5px 0; border-radius:5px; }
.chat-person button:hover { color:var(--accent); background:#24212c; }
.chat-person time { white-space:nowrap; font-size:9px; }
.chat-bubble { white-space:pre-wrap; }
.chat-reactions { margin-top:6px; }
.chat-unread { position:absolute; z-index:2; left:50%; bottom:12px; transform:translateX(-50%); display:flex; align-items:center; justify-content:center; gap:8px; min-height:36px; max-width:calc(100% - 24px); padding:7px 13px; white-space:nowrap; background:#262231; color:#d9d2eb; border:1px solid rgba(179,173,234,.24); border-radius:8px; font-size:11px; box-shadow:0 3px 12px #0004; }
.chat-unread:hover { border-color:var(--accent); }
.chat-unread svg { width:14px; height:14px; }
.chat-unread[hidden] { display:none; }
.chat-unread-marker { display:flex; align-items:center; gap:10px; margin:18px 0; color:var(--accent); font-size:10px; }
.chat-unread-marker::before,.chat-unread-marker::after { content:''; height:1px; flex:1; background:rgba(179,173,234,.2); }
.chat-pin { padding:0; }
.chat-pin summary { display:flex; align-items:center; gap:7px; padding:11px 12px; cursor:pointer; list-style:none; color:var(--secondary); font-size:10px; }
.chat-pin summary::-webkit-details-marker { display:none; }
.chat-pin summary > svg { width:13px; height:13px; }
.chat-pin summary > svg:last-child { margin-left:auto; transition:transform 160ms; }
.chat-pin[open] summary > svg:last-child { transform:rotate(180deg); }
.chat-pin p { margin:0; padding:0 12px 12px; line-height:1.6; }
.send-button { min-width:36px; }
.modal:not(.is-voters) { max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; }
.modal-close { width:36px; height:36px; }
.modal.is-voters .modal-close { top:14px; right:14px; }
.modal.is-voters .voters-heading { padding-right:40px; }
.server-copy,.server-connect { flex-shrink:0; }
.server-copy svg { width:16px; height:16px; }
.server-map { font-variant-numeric:tabular-nums; }
@media(max-width:760px) {
 .poll-bottom { gap:10px; }
 .poll-change { white-space:nowrap; }
 .modal:not(.is-voters) { padding:26px; }
}
@media(pointer:coarse) {
 .poll-voters { min-width:40px; min-height:40px; }
 .poll-result { grid-template-columns:minmax(0,1fr) 40px; }
 .chat-person button { width:30px; height:30px; }
 .chat-entry-time { opacity:1; }
}
@media(prefers-reduced-motion:reduce) {
 .action-spinner { animation:none; }
 .modal.is-closing,.modal.is-closing::backdrop,.account-popover.is-closing,.emoji-popover.is-closing,.mega-menu.is-closing,.menu-backdrop.is-closing { animation:none; }
}

/* visual-v17.css */
/* Hierarchy and spacing for the existing Legendary artwork; no page wallpaper. */
.home-v9 .home-section { margin-bottom:46px; }
.home-v9 .section-heading { margin-bottom:19px; align-items:center; }
.home-v9 .section-heading :is(h1,h2) { letter-spacing:.25px; }
.home-v9 .section-caption { font-size:12px; }
.server-hub { border-radius:16px; }
.server-row { min-height:80px; }
.server-row:first-child { min-height:100px; }
.server-row:first-child .server-name { font-size:22px; font-weight:650; letter-spacing:-.45px; }
.server-row:first-child .server-mode { color:#cfc8ef; border-color:rgba(179,173,234,.22); background:#211e2c; }
.server-row:first-child .server-connect { height:40px; font-weight:600; }
.server-row:first-child .server-occupancy b { font-size:17px; color:var(--text); }
.server-name { max-width:100%; padding:0; line-height:1.35; flex-wrap:wrap; text-align:left; }
.server-description p { margin-top:6px; font-size:12px; }
.server-map { display:block; margin-top:4px; font-size:11px; }
.server-occupancy { font-variant-numeric:tabular-nums; }
.server-mascot { min-height:340px; }
.server-mascot img { object-position:31% center; }
.mascot-caption b { font-size:25px; line-height:1.15; }
.mascot-caption span { font-size:12px; line-height:1.5; }
.server-mascot::before { content:''; position:absolute; z-index:2; inset:-20% -50%; pointer-events:none; background:linear-gradient(105deg,transparent 43%,rgba(216,209,255,.1) 49%,rgba(241,238,255,.18) 50%,transparent 57%); opacity:0; transform:translateX(-60%); }
.server-mascot:hover::before { animation:hero-light 1050ms cubic-bezier(.2,.6,.3,1) 1; }
@keyframes hero-light { 0%{opacity:0;transform:translateX(-60%)} 15%{opacity:1} 85%{opacity:1} 100%{opacity:0;transform:translateX(60%)} }
.project-pulse { padding-top:15px; padding-bottom:15px; }
.project-pulse b { font-size:23px; font-weight:600; }
.project-pulse > span > small { margin-top:3px; font-size:12px; }
.home-update { display:flex; width:100%; align-items:center; gap:17px; margin:-23px 0 43px; padding:13px 16px 13px 13px; border:1px solid var(--line); border-radius:11px; background:#101014; text-align:left; }
.home-update > img { flex:0 0 83px; width:83px; height:60px; border-radius:6px; object-fit:cover; object-position:36% center; }
.home-update-copy { display:flex; flex:1; min-width:0; flex-direction:column; gap:5px; }
.home-update-meta { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:11px; }
.home-update-meta > span { color:var(--accent); }
.home-update strong { color:var(--text); font-size:14px; font-weight:550; line-height:1.5; }
.home-update-action { display:flex; align-items:center; gap:8px; color:var(--secondary); font-size:12px; }
.home-update-action svg { width:16px; height:16px; transition:transform 180ms; }
.home-update:hover { border-color:rgba(179,173,234,.28); }
.home-update:hover .home-update-action { color:var(--accent); }
.home-update:hover .home-update-action svg { transform:translateX(3px); }
.store-categories { grid-template-columns:1.18fr 1fr 1fr; gap:16px; }
.store-category { aspect-ratio:auto; height:216px; border-radius:13px; }
.store-category:nth-child(1)>img { object-position:41% center; }
.store-category:nth-child(2)>img { object-position:54% center; }
.store-category:nth-child(3)>img { object-position:63% center; }
.category-copy { bottom:22px; left:21px; right:55px; }
.category-copy strong { display:block; font-size:30px; line-height:1.12; letter-spacing:.35px; }
.category-copy small { display:block; font-size:12px; line-height:1.5; margin-top:6px; }
.category-tag { top:15px; left:17px; padding:4px 8px; font-size:10px; background:rgba(10,10,13,.74); }
.category-arrow { display:grid; place-items:center; width:31px; height:31px; right:17px; bottom:23px; border:1px solid rgba(255,255,255,.16); border-radius:8px; background:rgba(10,10,13,.35); }
.store-category:hover { transform:translateY(-2px); box-shadow:none; border-color:rgba(179,173,234,.32); }
.store-category:hover .category-arrow { border-color:rgba(179,173,234,.5); color:#fff; }
.store-offer { margin-top:16px; padding:15px 20px; }
.offer-value { font-weight:550; letter-spacing:-1px; }
.home-poll { padding:25px; border-radius:13px; background:#101014; }
.home-poll h3 { font-size:18px; font-weight:600; line-height:1.5; letter-spacing:-.2px; }
.poll-note { font-size:12px; line-height:1.65; }
.poll-result-label > span { font-size:14px; }
.poll-result-label > b { font-size:13px; }
.poll-bar { height:6px; }
.poll-bottom { margin-top:24px; }
.poll-feedback { font-size:11px; line-height:1.5; }
.community-section { padding-top:30px; border-top:1px solid var(--line); }
.community-grid { gap:0; }
.community-grid .home-panel { border:0; border-radius:0; background:transparent; }
.community-grid .forum-panel { padding:0 28px 0 0; }
.community-grid .events-panel { padding:0 0 0 28px; border-left:1px solid var(--line); }
.home-panel-heading { margin-bottom:19px; }
.home-panel-heading h3 { font-size:15px; line-height:1.4; font-weight:600; }
.home-topic { padding-top:15px; padding-bottom:15px; }
.home-topic-copy strong { font-size:13px; line-height:1.5; font-weight:550; }
.home-topic-copy small { font-size:11px; line-height:1.6; margin-top:5px; }
.home-event strong { font-size:12px; line-height:1.5; }
.home-event time { font-size:10px; }
.home-news-grid { gap:20px; }
.news-lead { border-radius:13px; }
.news-lead-copy { padding:22px; }
.news-lead-copy > strong { font-size:21px; line-height:1.4; font-weight:600; }
.news-lead-copy > span { font-size:13px; line-height:1.7; }
.news-lead-copy time { font-size:11px; }
.news-item { grid-template-columns:148px minmax(0,1fr); gap:19px; padding:15px; border-radius:11px; background:#101014; }
.news-item-copy > strong { font-size:16px; line-height:1.5; font-weight:600; }
.news-summary { font-size:12px; line-height:1.65; }
.news-read { font-size:12px; }
.home-product { padding:21px; }
.home-product strong { font-size:16px; }
.home-product small { font-size:12px; line-height:1.6; }
.product-price { font-size:12px; }
.activity-grid > .home-panel { padding:23px; border-radius:13px; }
.leader-row { min-height:58px; }
.leader-row .avatar { width:32px; height:32px; }
.leader-row b,.purchase-list b { font-size:13px; }
.leader-row small,.purchase-list strong { font-size:12px; }
.purchase-list time { font-size:10px; }
.chat-bubble { font-size:13px; line-height:1.65; }
.chat-person b { font-size:13px; }
.chat-person time { font-size:10px; }
.footer { margin-top:38px; padding-top:25px; }
@media(min-width:1750px) { .server-hub { grid-template-columns:310px minmax(0,1fr); } }
@media(min-width:761px) {
 .server-row { padding-top:12px; padding-bottom:12px; }
 .server-name { display:flex; width:max-content; margin-bottom:6px; }
 .server-description p,.server-map { display:inline; margin:0; }
 .server-map::before { content:' · '; color:var(--muted); }
}
@media(max-width:1500px) {
 .server-row:first-child .server-name { font-size:19px; }
 .store-category { height:220px; }
 .category-copy { left:17px; right:49px; bottom:20px; }
 .category-copy strong { font-size:27px; }
 .category-copy small { font-size:11px; }
 .category-arrow { right:13px; bottom:21px; }
 .news-item { grid-template-columns:125px minmax(0,1fr); gap:14px; padding:13px; }
 .news-item-copy > strong { font-size:15px; }
 .community-grid .forum-panel { padding-right:22px; }
 .community-grid .events-panel { padding-left:22px; }
 .home-product { padding:17px; }
}
@media(max-width:1000px) {
 .home-news-grid { gap:16px; }
 .news-item { grid-template-columns:100px minmax(0,1fr); }
 .category-copy strong { font-size:25px; }
}
@media(max-width:760px) {
 .home-v9 .home-section { margin-bottom:36px; }
 .home-update { margin-top:-18px; margin-bottom:33px; gap:12px; padding:11px; }
 .home-update > img { flex-basis:62px; width:62px; height:62px; }
 .home-update strong { font-size:12px; }
 .home-update-meta { gap:8px; font-size:9px; }
 .home-update-action > span { display:none; }
 .store-categories { grid-template-columns:1fr; gap:14px; }
 .store-category { height:auto; aspect-ratio:16/9; }
 .category-copy strong { font-size:29px; }
 .category-copy small { font-size:12px; }
 .server-row:first-child { min-height:98px; }
 .server-row:first-child .server-name { font-size:16px; }
 .project-pulse { padding:16px; }
 .project-pulse b { font-size:20px; }
 .project-pulse > span > small { font-size:10px; }
 .community-grid .forum-panel { padding:0 0 28px; }
 .community-grid .events-panel { padding:27px 0 0; border-left:0; border-top:1px solid var(--line); }
 .home-poll { padding:21px; }
 .home-topic-copy strong { font-size:12px; }
 .home-topic-copy small { font-size:10px; }
 .news-lead-copy > strong { font-size:19px; }
 .news-item { grid-template-columns:105px minmax(0,1fr); }
 .activity-grid > .home-panel { padding:21px; }
}
@media(prefers-reduced-motion:reduce) { .server-mascot::before { display:none; } .home-update:hover .home-update-action svg { transform:none; } }
@media(max-width:380px) {
 .server-row { grid-template-columns:minmax(0,1fr) 77px; grid-template-rows:auto auto; gap:6px 12px; padding-top:15px; padding-bottom:15px; }
 .server-description { grid-column:1; grid-row:1/3; }
 .server-occupancy { grid-column:2; grid-row:1; justify-self:end; }
 .server-connect { grid-column:2; grid-row:2; width:100%; }
}

/* locale-v17.css */
.mac-dock .rail-utilities { gap:10px; }
.mac-dock .rail-locale { display:flex; align-items:center; justify-content:center; gap:7px; min-width:70px; min-height:36px; padding:6px 8px; background:#16161c; border:1px solid var(--line); border-radius:8px; color:var(--secondary); font-size:10px; cursor:pointer; }
.rail-locale > svg { width:11px; height:11px; }
.rail-locale:hover,.rail-locale[aria-expanded=true] { color:var(--text); border-color:rgba(179,173,234,.3); }
.locale-flag { display:block; flex-shrink:0; width:24px; height:18px; object-fit:cover; border-radius:3px; box-shadow:0 0 0 1px rgba(255,255,255,.09); }
.locale-popover { position:fixed; z-index:55; display:flex; flex-direction:column; width:350px; max-width:calc(100vw - 24px); padding:17px; background:#16161c; border:1px solid rgba(179,173,234,.18); border-radius:13px; box-shadow:0 14px 45px #0007; overflow:hidden; animation:detail-popover 160ms var(--detail-ease); }
.locale-popover.is-closing { pointer-events:none; animation:polish-popover-out 140ms ease-in forwards; }
.locale-popover-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:14px; }
.locale-popover-head h2 { font-size:15px; font-weight:600; margin:0; color:var(--text); }
.locale-popover-head > svg { width:17px; height:17px; color:var(--accent); }
.locale-search { display:flex; align-items:center; gap:9px; flex-shrink:0; height:37px; padding:0 11px; margin-bottom:11px; border:1px solid var(--line); border-radius:7px; background:#101014; }
.locale-search:focus-within { border-color:rgba(179,173,234,.55); }
.locale-search svg { width:14px; height:14px; color:var(--muted); }
.locale-search input { width:100%; min-width:0; background:none; border:0; outline:0; color:var(--text); font-size:12px; padding:0; }
.locale-search input::placeholder { color:var(--muted); }
.locale-list-frame { position:relative; min-height:0; height:min(225px,calc(100dvh - 224px)); flex-shrink:1; }
.locale-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:5px; min-height:0; height:100%; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#6b5d83 transparent; padding:2px; }
.locale-option { position:relative; display:flex; align-items:center; gap:9px; min-height:51px; padding:8px; border:1px solid transparent; border-radius:8px; text-align:left; min-width:0; }
.locale-option > span:nth-child(2) { min-width:0; }
.locale-option b { display:block; font-size:11px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.locale-option small { display:block; color:var(--muted); font-size:9px; line-height:1.5; }
.locale-option:hover { background:#211e29; }
.locale-option[aria-selected=true] { border-color:rgba(179,173,234,.23); background:#24212e; color:var(--text); }
.locale-check { position:absolute; top:5px; right:5px; display:flex; color:var(--accent); }
.locale-check svg { width:10px; height:10px; }
.locale-empty { position:absolute; inset:0; display:grid; place-items:center; color:var(--secondary); text-align:center; font-size:12px; padding:28px 8px; pointer-events:none; }
:lang(kk) .section-heading,:lang(ky) .section-heading,:lang(tg) .section-heading { gap:15px; }
html:not(:lang(ru)) .section-heading h2 { overflow-wrap:anywhere; }
html:not(:lang(ru)) .home-panel-heading { flex-wrap:wrap; row-gap:12px; }
html:not(:lang(ru)) .rail-item > span:last-child { max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html:not(:lang(ru)) .category-copy strong { font-size:clamp(22px,1.65vw,29px); overflow-wrap:anywhere; }
html:not(:lang(ru)) .offer-copy { min-width:0; }
html:not(:lang(ru)) .offer-action { max-width:35%; }
html:not(:lang(ru)) .poll-bottom { flex-wrap:wrap; gap:8px 15px; }
html:not(:lang(ru)) .poll-change { text-align:left; line-height:1.5; white-space:normal; }
html:not(:lang(ru)) .poll-top { gap:10px; }
@media(max-width:1550px) { .mac-dock .rail-presence { display:none; } }
@media(max-width:1000px) {
 .mac-dock .rail-utilities > .rail-social { display:none; }
 .mac-dock .rail-links { gap:6px; }
 .mac-dock .rail-item { width:64px; flex-basis:64px; }
 .mac-dock .rail-utility-start { margin-left:9px; }
}
@media(max-width:760px) {
 .quick-rail.mac-dock { gap:8px; padding-left:8px; padding-right:8px; }
 .mac-dock .rail-links { position:static; flex:1; width:auto; min-width:0; transform:none; gap:2px; }
 .mac-dock .rail-item { flex:1; width:auto; min-width:0; }
 .mac-dock .rail-item > span:last-child { max-width:100%; font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
 .mac-dock .rail-utility-start { margin-left:3px; }
 .mac-dock .rail-utility-start::after { left:-3px; }
 .mac-dock .rail-bottom { display:flex; flex:0 0 auto; margin:0; }
 .mac-dock .rail-utilities { gap:0; }
 .mac-dock .rail-locale { min-width:33px; width:33px; padding:5px; }
 .rail-locale > span,.rail-locale > svg { display:none; }
 .rail-locale .locale-flag { width:23px; height:17px; }
 .locale-popover { padding:14px; }
 .locale-option { gap:7px; padding:8px 6px; }
 html:not(:lang(ru)) .category-copy strong { font-size:26px; }
 html:not(:lang(ru)) .section-heading h2 { font-size:24px; }
 html:not(:lang(ru)) .section-heading .text-link { font-size:10px; }
 html:not(:lang(ru)) .offer-action { max-width:43%; }
}
@media(prefers-reduced-motion:reduce) { .locale-popover,.locale-popover.is-closing { animation:none; } }

/* chat-v18.css */
/* New chat layout, matching the neutral surfaces of the new homepage. */
.chat-dock { background:#0e0e12; }
.chat-header { background:#0d0d11; }
.chat-header > div { gap:9px; }
.chat-header b { font-size:14px; font-weight:600; }
.chat-header .icon-button { width:32px; height:32px; }
.chat-top { height:52px; padding:0 17px; gap:10px; background:#101014; font-size:10px; }
.chat-presence { display:flex; align-items:center; gap:9px; min-width:0; }
.chat-presence > span { display:flex; align-items:center; gap:5px; white-space:nowrap; }
.chat-presence-avatars { display:flex; padding-left:3px; flex-shrink:0; }
.chat-online-avatar { display:block; width:21px; height:21px; margin-left:-3px; border:2px solid #101014; border-radius:50%; overflow:hidden; background:#1d1d24; }
.chat-top button { white-space:nowrap; font-size:9px; }
.chat-messages { padding:18px 17px 10px; scrollbar-width:thin; scrollbar-color:#35333f transparent; }
.chat-date { display:flex; align-items:center; gap:12px; margin:0 0 16px; color:#8d879a; font-size:9px; letter-spacing:.7px; }
.chat-date::before,.chat-date::after { content:''; flex:1; height:1px; background:#ffffff08; }
.chat-pin { margin:0 0 22px; border:1px solid #ffffff08; border-radius:9px; background:#15151b; }
.chat-pin summary { padding:10px 11px; }
.chat-message { gap:11px; margin-bottom:21px; align-items:flex-start; }
.chat-message > .avatar,.chat-avatar-link,.chat-avatar-link .avatar { width:34px; height:34px; flex-shrink:0; }
.chat-avatar-link { position:relative; margin-top:3px; }
.chat-message > .avatar { margin-top:3px; }
.chat-avatar-frame { position:absolute; z-index:1; inset:-10%; width:120%; height:120%; max-width:none; object-fit:contain; pointer-events:none; }
.chat-message-main { min-width:0; position:relative; padding:0; background:none; box-shadow:none; border-radius:0; }
.chat-plate-media { position:absolute; z-index:0; right:0; top:0; bottom:0; width:64%; max-width:215px; overflow:hidden; opacity:.23; pointer-events:none; mask-image:linear-gradient(90deg,transparent,#000 75%); }
.chat-plate-media > :is(img,video) { position:absolute; inset:0; width:100%; height:100%; max-height:84px; margin:auto 0; object-fit:contain; object-position:right center; }
.chat-plate-media video { opacity:0; transition:opacity 170ms ease; }
.chat-plate-media video.is-playing { opacity:1; }
.chat-plate-media.is-animated > img { opacity:0; }
.chat-person { min-height:25px; gap:7px; margin-bottom:4px; }
.chat-person b { min-width:0; flex:1; font-size:12px; font-weight:600; color:#e9e7ef; }
.chat-person .member-name { max-width:none; }
.chat-person time { flex-shrink:0; font-size:9px; color:#8d879b; }
.chat-person button { width:26px; height:26px; margin:-1px 0 -1px; color:#b0a8c2; border-radius:7px; opacity:0; transition:opacity 140ms,color 140ms,background 140ms; }
.chat-message:hover .chat-person button,.chat-message:focus-within .chat-person button { opacity:1; }
.chat-person button:hover,.chat-person button:focus-visible { color:#eee9f7; background:#ffffff09; }
.chat-person button svg { width:15px; height:15px; transform:rotate(180deg); }
.chat-bubble,.chat-entry + .chat-entry .chat-bubble { width:fit-content; max-width:100%; padding:8px 12px; border:0; border-radius:2px 11px 11px 11px; background:#1a1a21; color:#e0dde8; font-size:13px; line-height:1.65; }
.chat-message.is-own .chat-bubble { background:#211e2c; color:#e7e2f1; }
.chat-entry + .chat-entry .chat-bubble { border-radius:10px; }
.chat-stack { position:relative; isolation:isolate; min-width:0; display:flex; flex-direction:column; gap:6px; }
.chat-message.has-cosmetic .chat-stack { overflow:hidden; padding:9px 12px; border-radius:2px 11px 11px 11px; background:#1a1922; }
.chat-message.has-cosmetic.is-own .chat-stack { background:#211e2c; }
.chat-message.has-cosmetic .chat-bubble { width:100%; padding:0; background:none; border-radius:0; }
.chat-stack > :not(.chat-plate-media) { position:relative; z-index:1; }
.chat-entry + .chat-entry { padding-top:6px; }
.chat-entry-time { position:static; display:block; width:max-content; margin:4px 0 0 auto; padding:0; opacity:1; font-size:8px; background:none; color:#a098ad; }
.chat-quote { margin:0 0 8px; padding:5px 8px; border-left:2px solid #8c7eac; border-radius:0 5px 5px 0; background:#09080e29; font-size:10px; line-height:1.6; }
.chat-quote b { display:block; margin-bottom:2px; color:#c5badd; font-weight:600; }
.chat-quote span { display:block; color:#b7afc5; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-reactions { margin-top:7px; }
.chat-reactions .reaction { min-height:26px; padding:3px 8px; border:1px solid #c6b3e221; background:#15121a80; color:#d9d2e5; border-radius:7px; font-size:10px; }
.chat-reactions .reaction[aria-pressed=true] { background:#67519538; border-color:#a38bc870; }
.chat-input-area { padding:13px 16px 12px; background:#0e0e12; }
.chat-input-area form { border-radius:12px; background:#19181f; border-color:#c0b6d324; }
.chat-input-area textarea { min-height:54px; max-height:132px; padding:12px 13px 2px; font-size:13px; line-height:1.6; scrollbar-width:thin; }
.chat-input-area textarea:focus-visible { outline:0; }
.chat-input-area form:focus-within { border-color:#9181be; box-shadow:0 0 0 2px #8874b914; }
.chat-input-bottom { margin-top:3px; padding:5px 9px 9px; }
.chat-input-bottom .icon-button { width:32px; height:32px; }
.chat-input-bottom .send-button { width:36px; height:34px; border-radius:9px; }
.reply-preview { margin-bottom:8px; border-radius:8px; background:#221d2d; }
.chat-footnote { margin-top:9px; font-size:9px; }
.emoji-popover { right:16px; bottom:153px; max-width:calc(100% - 32px); background:#19181f; border-color:#a48bc433; border-radius:12px; box-shadow:0 8px 30px #0006; }
.rail-brand img { width:24px; height:32px; object-fit:contain; }
.mascot-label { display:flex; align-items:center; gap:8px; font-family:Project,Arial,sans-serif; font-size:13px; letter-spacing:.4px; text-transform:none; }
.mascot-label img { position:static; width:17px; height:23px; object-fit:contain; }
.footer-brand { display:grid; grid-template-columns:27px 1fr; align-items:center; gap:0 12px; text-transform:none; font-family:Project,Arial,sans-serif; letter-spacing:0; font-size:16px; }
.footer-brand img { grid-row:span 2; width:27px; height:36px; object-fit:contain; }
.footer-brand span { grid-column:2; }
@media(max-width:1150px) {
 .chat-forced-open .chat-dock { width:min(360px,100vw); }
 .chat-forced-open .chat-messages { padding-right:14px; padding-left:14px; }
}
@media(pointer:coarse) { .chat-person button { width:30px; height:30px; opacity:1; } }
@media(prefers-reduced-motion:reduce) { .chat-plate-media video { transition:none; } }

/* empty-art-v19.css */
/* Empty image areas, ready for the owner's own artwork. */
.server-mascot,.store-category,.news-lead-image,.news-item-image,.home-update-art { background:#151519; }
.server-mascot::after,.store-category::after,.news-lead-image::after { background:none; }
.server-mascot::before { display:none; }
.home-update-art { display:block; flex:0 0 83px; width:83px; height:60px; border:1px solid #ffffff06; border-radius:6px; }
.news-item-image { display:block; aspect-ratio:4/3; border:1px solid #ffffff06; border-radius:7px; }
.store-category { border-color:#ffffff0c; }
.store-category:hover { background:#19191e; }
@media(max-width:760px) { .home-update-art { flex-basis:62px; width:62px; height:62px; } }

/* refinement-v20.css */
/* Shared controls and typography. Neutral surfaces, existing icons and accent. */
:root { --control-radius:9px; --control-height:40px; --control-ease:cubic-bezier(.2,.65,.3,1); }
:is(button,a,input,textarea,select):focus-visible { outline:2px solid #b3adea; outline-offset:3px; }
:is(.button,.server-connect,.poll-submit,.poll-change,.poll-results-link,.text-link,.icon-button,.rail-item) { transition:color 150ms,background-color 150ms,border-color 150ms,box-shadow 150ms,transform 150ms var(--control-ease); }
:is(.button,.server-connect,.poll-submit,.send-button):active:not(:disabled) { transform:translateY(1px); }
.button { min-height:var(--control-height); border-radius:var(--control-radius); font-size:13px; font-weight:550; padding:10px 16px; }
.button.primary { border-color:#ffffff0c; }
.button:not(.primary):hover { border-color:#b3adea45; background:#222129; }
.icon-button { border-radius:8px; }
.icon-button:hover { color:#ece9f4; background:#ffffff09; }
.top-actions .icon-button,.notification-button { width:36px; height:36px; }
.topbar :is(.top-online,.top-shortcut,.balance,.coin-balance) { font-size:12px; }
.menu-trigger { font-size:13px; font-weight:600; border-radius:9px; }
.mega-group button { min-height:58px; border-radius:9px; }
.mega-group b { font-size:13px; font-weight:600; }
.mega-group small { margin-top:3px; font-size:11px; line-height:1.45; color:#aaa5b5; }
.mega-group button:hover { background:#ffffff05; }
.mega-group button > span:last-child { min-width:0; }
.mega-group b,.mega-group small { overflow-wrap:anywhere; }
@media(max-width:480px) { .mega-menu { grid-template-columns:minmax(0,1fr); } }
.home-v9 .section-caption,.home-v9 .section-presence { color:#a6a1b0; font-size:12px; }
.home-v9 .section-heading :is(h1,h2) { line-height:1.15; }
.home-v9 .home-panel-heading { min-height:40px; gap:12px; }
.home-v9 .home-panel-heading h3 { font-size:15px; font-weight:600; }
.home-v9 .text-link { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:5px 0; color:#c0b9d1; font-size:12px; font-weight:500; }
.home-v9 .text-link:hover { color:#eee9ff; }
.home-v9 .text-link svg { width:15px; height:15px; transition:transform 150ms var(--control-ease); }
.home-v9 .text-link:hover svg { transform:translateX(2px); }
.server-connect,.server-row:first-child .server-connect { height:38px; border-radius:8px; padding:0 15px; font-size:12px; font-weight:600; }
.server-copy { display:grid; place-items:center; width:34px; height:36px; border-radius:8px; color:#a39cab; }
.server-copy:hover { color:#e4def5; background:#ffffff07; }
.server-row:first-child .server-connect { box-shadow:inset 0 1px 0 #ffffff0d; }
.server-mode { border-radius:6px; font-weight:550; letter-spacing:.25px; }
.server-description p { color:#b9b2c6; }
.server-map { color:#9d96a9; }
.server-occupancy small { color:#aca4b9; }
.project-pulse > span > small { color:#a7a1b3; }
.home-update-meta { color:#aaa3b8; }
.home-update-action { min-height:36px; }
.home-v9 :is(.home-poll,.home-panel,.news-lead,.news-item,.home-product) { border-radius:12px; }
.home-v9 :is(.news-lead,.news-item,.home-product):hover { box-shadow:none; border-color:#b3adea33; }
.home-v9 .poll-top { align-items:center; }
.home-v9 .poll-top small,.home-v9 .poll-note,.home-v9 .poll-feedback { color:#aaa3b5; }
.home-v9 .poll-top small { font-size:12px; }
.home-v9 .poll-note { min-height:20px; font-size:13px; }
.home-v9 .poll-result-label > b { color:#b9b0cd; font-weight:500; }
.home-v9 .poll-result-label > span { line-height:1.45; }
.home-v9 .poll-bar { height:5px; background:#26232f; }
.home-v9 .poll-voters { width:34px; height:34px; border-radius:8px; color:#a69bb7; }
.home-v9 .poll-voters:hover { color:#e8dfff; background:#b3adea0e; }
.home-v9 .poll-voters svg { width:15px; height:15px; }
.home-v9 .poll-bottom { min-height:36px; gap:12px; }
.home-v9 .poll-submit { min-height:38px; border-radius:8px; font-size:13px; font-weight:600; }
.home-v9 .poll-option { min-height:43px; font-size:13px; border-radius:8px; }
.home-v9 .poll-change,.home-v9 .poll-results-link { min-height:36px; font-size:12px; }
.home-v9 .home-topic-copy small,.home-v9 .home-event time,.home-v9 .home-topic-meta > small { color:#aaa2b5; font-size:11px; }
.home-v9 .home-topic,.home-v9 .home-event { border-radius:8px; transition:background 150ms; }
.home-v9 .home-topic:hover,.home-v9 .home-event:hover { background:#ffffff03; }
.home-v9 .news-item-copy > strong,.home-v9 .news-lead-copy > strong { color:#eeebf5; }
.home-v9 :is(.news-summary,.news-lead-copy > span) { color:#b8b0c5; font-size:13px; line-height:1.65; }
.home-v9 :is(.news-item time,.news-lead time) { color:#aba1b9; font-size:11px; }
.home-v9 .news-item-image { width:100%; min-width:0; aspect-ratio:auto; }
.home-v9 .product-mark { width:40px; height:40px; border-radius:9px; }
.activity-grid .home-panel-heading { flex-wrap:wrap; }
.activity-grid .home-panel-heading h3 { margin:0; flex:1; min-width:150px; }
.home-v9 .tabs { --selected:0; position:relative; display:flex; flex:0 0 174px; width:174px; height:38px; padding:0; gap:0; border:0; border-bottom:1px solid #ffffff0b; border-radius:0; background:none; box-shadow:none; isolation:isolate; }
.home-v9 .tabs::before { content:''; position:absolute; z-index:-1; inset:0 auto 0 0; width:50%; border-radius:7px 7px 0 0; background:#24202f; border-bottom:2px solid #a79cdb; transform:translateX(calc(var(--selected)*100%)); transition:transform 180ms var(--control-ease); }
.home-v9 .tabs button { flex:1; min-width:0; height:38px; padding:0 12px; border:0; border-radius:7px 7px 0 0; background:none; box-shadow:none; color:#a49bad; font-size:13px; font-weight:550; transition:color 150ms; }
.home-v9 .tabs button.is-active { background:none; color:#eee8ff; }
.home-v9 .tabs button:hover { color:#e0d9ec; }
.home-v9 .leader-row { width:100%; padding:11px 0; border-radius:0; font-variant-numeric:tabular-nums; transition:background 150ms; }
.home-v9 .leader-row:hover { background:#ffffff03; }
.home-v9 .leader-rank { min-width:20px; color:#a59aae; font-size:12px; }
.home-v9 .leader-row small { color:#c3b9d1; font-size:13px; }
.home-v9 .purchase-list small { color:#a39aaa; font-size:11px; }
.home-v9 .purchase-list time { color:#a99eb5; font-size:11px; }
.home-v9 .purchase-bottom > span { color:#a39aaa; font-size:11px; }
.search-field,.select-field { min-height:42px; border-radius:9px; border-color:#ffffff1c; background:#17161d; }
.search-field input,.select-field { font-size:13px; }
.search-field:focus-within { border-color:#9989c7; box-shadow:0 0 0 2px #9989c711; }
.modal { border-radius:15px; padding:30px; background:#141319; }
.modal h2 { font-size:24px; line-height:1.25; }
.modal p { color:#b4aabd; font-size:13px; line-height:1.65; }
.modal .form-grid :is(input,select,textarea) { min-height:42px; font-size:13px; border-radius:8px; }
.modal .voters-search { height:42px; border-radius:9px; }
.modal .voters-search input { font-size:13px; }
.modal .voter-row { min-height:48px; border-radius:8px; }
.detail-tooltip { border-radius:7px; padding:7px 10px; font-size:11px; }
@media(min-width:1100px) { .mac-dock .rail-item > span:last-child { font-size:11px; } }
@media(max-width:760px) {
 .home-v9 .section-presence,.home-v9 .section-caption { font-size:10px; }
 .home-v9 .home-panel-heading { gap:10px; }
 .home-v9 .poll-bottom { flex-wrap:wrap; }
 .home-v9 .tabs { flex-basis:164px; width:164px; }
 .home-v9 .tabs button { font-size:12px; }
 .server-connect,.server-row:first-child .server-connect { height:36px; padding:0 9px; font-size:11px; }
 .home-v9 .home-topic-meta > small { font-size:10px; }
 .home-v9 .home-product { grid-template-columns:minmax(0,1fr); row-gap:10px; }
 .home-v9 .home-product > span { min-width:0; }
 .home-v9 .home-product .product-mark { width:34px; height:34px; }
 .home-v9 .home-product strong,.home-v9 .home-product small { overflow-wrap:anywhere; }
 .home-v9 .product-price { flex-wrap:wrap; gap:6px; }
 .home-v9 .store-offer { display:grid; grid-template-columns:auto minmax(0,1fr); column-gap:14px; row-gap:12px; }
 .home-v9 .offer-action { grid-column:1/-1; margin-left:0; justify-self:stretch; justify-content:space-between; min-height:36px; }
 .modal { padding:25px; }
}
@media(max-width:480px) {
 .project-pulse { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 0; }
 .project-pulse > span { padding:0 12px; }
 .project-pulse > span:nth-child(3) { border-left:0; }
}
@media(pointer:coarse) { .server-copy { min-width:40px; min-height:40px; } .home-v9 .poll-voters { min-width:40px; min-height:40px; } }
@media(prefers-reduced-motion:reduce) {
 .home-v9 .tabs::before,:is(.button,.server-connect,.poll-submit,.poll-change,.poll-results-link,.text-link,.icon-button,.rail-item) { transition:none; }
 :is(.button,.server-connect,.poll-submit,.send-button):active:not(:disabled) { transform:none; }
}

/* light-v21.css */
/* Violet light is confined to the interface; the page background stays neutral. */
.light-hero { position:relative; isolation:isolate; overflow:hidden; }
.light-hero > :not(.hero-border-light,.hero-inner-light) { position:relative; z-index:1; }
.hero-border-light { position:absolute; z-index:3; inset:0; padding:1px; border-radius:inherit; pointer-events:none; background:linear-gradient(112deg,transparent 30%,#8965d9a6 43%,#e1ceff 50%,#9971edab 56%,transparent 70%); background-size:300% 100%; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; animation:light-edge-travel 14s linear infinite paused; opacity:.85; }
.hero-inner-light { position:absolute; z-index:0; inset:0; border-radius:inherit; pointer-events:none; background:radial-gradient(ellipse at 50% 0,rgba(141,99,226,.24),rgba(141,99,226,.08) 36%,rgba(141,99,226,0) 68%); background-size:160% 140%; background-position:100% 0; background-repeat:no-repeat; animation:light-inner-drift 10s ease-in-out infinite alternate paused; }
body[data-light-motion=on] .light-hero.is-light-visible > :is(.hero-border-light,.hero-inner-light) { animation-play-state:running; }
.rules-hero { border-color:#a38cc02b; box-shadow:0 7px 38px #5b36700d; }
.rules-hero .rules-hero-symbol { color:#9580cb; filter:drop-shadow(0 0 14px #9b76dc45); animation:light-shield-breathe 8s ease-in-out infinite alternate paused; }
body[data-light-motion=on] .rules-hero.is-light-visible .rules-hero-symbol { animation-play-state:running; }
@keyframes light-edge-travel { from { background-position:150% 50%; } to { background-position:-150% 50%; } }
@keyframes light-inner-drift { from { opacity:.45; background-position:100% 0; } to { opacity:.95; background-position:65% 0; } }
@keyframes light-shield-breathe { from { color:#8670bb; filter:drop-shadow(0 0 8px #9a72e435); } to { color:#bda3ee; filter:drop-shadow(0 0 21px #a27ee96e); } }
.rules-section-item { overflow:hidden; }
.rules-section-item.is-active { border-color:#b49ada94; background:linear-gradient(115deg,#30253f,#25202f 75%); box-shadow:inset 0 1px 0 #d6b9ff0a,0 0 17px #8f67c61a; }
.rules-section-item.is-active::before { background:#ccb0ff; box-shadow:0 0 9px #ae7de6aa; }
.rules-section-item.is-active .rules-section-icon { box-shadow:0 0 13px #9a75d831; background:#65518e; }
.rules-number { box-shadow:inset 0 1px 0 #d7bcff0a; }
.rules-item.is-linked { border-color:#c0a2e5; box-shadow:0 0 0 2px #a48fc214,0 0 24px #a077cc1c; }
.rules-copy:hover,.rules-copy:focus-visible { border-color:#b99bde8c; box-shadow:0 0 15px #a67cd22b; }
.rules-search-input:focus-within { border-color:#b99bdc; box-shadow:0 0 0 2px #a48ac116,0 0 24px #9161c818; }
.menu-trigger { border-color:#c4acff30; box-shadow:inset 0 1px 0 #eee1ff17,0 4px 22px #8460d322; }
.menu-trigger:is(:hover,:focus-visible) { box-shadow:inset 0 1px 0 #f4eaff26,0 0 25px #9c75e15c; }
.server-connect:is(:hover,:focus-visible),.poll-submit:is(:hover,:focus-visible):not(:disabled),.send-button:is(:hover,:focus-visible) { box-shadow:inset 0 1px 0 #eee3ff26,0 0 22px #a078e44f; border-color:#d7c0ff45; }
.is-quiet .server-connect:is(:hover,:focus-visible) { box-shadow:0 0 14px #a078e426; }
.home-v9 .tabs::before { background:linear-gradient(120deg,#30263f,#24202f); border-bottom-color:#c5aaf1; box-shadow:0 4px 10px -6px #bb8fff88; }
.has-players .status-dot { box-shadow:0 0 9px #74d7a155; }
body[data-light-motion=off] :is(.hero-border-light,.hero-inner-light) { animation:none; }
@media(prefers-reduced-motion:reduce) {
 :is(.hero-border-light,.hero-inner-light,.rules-hero .rules-hero-symbol) { animation:none!important; }
}

/* The bottom strip changes state without icon jumps, flashes or cursor lighting. */
.quick-rail.mac-dock { --dock-ease:cubic-bezier(.25,.46,.45,.94); }
.quick-rail.mac-dock .rail-item {
 transition:color 280ms var(--dock-ease),background-color 340ms var(--dock-ease),border-color 320ms var(--dock-ease),box-shadow 360ms var(--dock-ease);
}
.quick-rail.mac-dock .rail-icon {
 transition:color 280ms var(--dock-ease),background-color 340ms var(--dock-ease),border-color 320ms var(--dock-ease),box-shadow 360ms var(--dock-ease);
}
.quick-rail.mac-dock .rail-item:is(:hover,:active) .rail-icon { transform:none; }
.quick-rail.mac-dock .rail-item.is-active .rail-icon { border-color:#bca2ee38; box-shadow:inset 0 1px 0 #e3d1ff0c; }
.quick-rail.mac-dock .rail-item::before {
 content:''; position:absolute; width:2px; left:2px; top:18px; bottom:18px; border-radius:3px; background:#9587da; box-shadow:none; opacity:0; transition:opacity 280ms var(--dock-ease);
}
.quick-rail.mac-dock .rail-item.is-active::before { opacity:1; }
.quick-rail.mac-dock :is(.rail-brand,.rail-locale,.rail-social) { transition:color 280ms var(--dock-ease),background-color 340ms var(--dock-ease),border-color 320ms var(--dock-ease); }
.rail-tooltip { animation:none; opacity:0; transform:translateY(2px); transition:opacity 160ms ease,transform 220ms cubic-bezier(.25,.46,.45,.94); }
.rail-tooltip.is-open { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce) {
 .quick-rail.mac-dock :is(.rail-item,.rail-icon,.rail-brand,.rail-locale,.rail-social),.quick-rail.mac-dock .rail-item::before,.rail-tooltip { transition:none; }
 .rail-tooltip { transform:none; }
}

/* panels-v24.css */
/* One grid and one control size for the two fixed strips. */
:root { --shell-gutter:40px; --shell-control:36px; }
.topbar,.quick-rail.mac-dock { padding-left:var(--shell-gutter); padding-right:var(--shell-gutter); container:shell / inline-size; }
.topbar-inner,.dock-inner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:20px; width:100%; max-width:var(--content); height:100%; margin:0 auto; }
.header-tools { display:flex; align-items:center; gap:8px; min-width:0; }
.header-tools :is(.header-social,.top-online,.header-shortcut) { display:inline-flex; align-items:center; justify-content:center; height:var(--shell-control); margin:0; border-radius:8px; white-space:nowrap; }
.header-tools .header-social { width:var(--shell-control); }
.header-tools .top-online { padding:0 11px; font-size:11px; }
.header-tools .header-shortcut { padding:0 11px; font-size:11px; }
.topbar .menu-trigger { position:relative; left:auto; transform:none; justify-self:center; height:var(--shell-control); min-width:104px; margin:0; }
.topbar .top-actions { justify-self:end; display:flex; align-items:center; gap:10px; margin:0; min-width:0; }
.topbar .notification-button { width:var(--shell-control); height:var(--shell-control); background:#16161c; border-radius:8px; flex-shrink:0; }
.wallet-controls { display:flex; align-items:center; height:var(--shell-control); border:1px solid #ffffff0c; border-radius:8px; background:#16161c; overflow:hidden; }
.topbar .wallet-controls :is(.balance,.coin-balance) { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:100%; margin:0; padding:0 10px; border:0; border-radius:0; color:#e8e6ee; white-space:nowrap; font-size:12px; line-height:1; font-weight:550; font-variant-numeric:tabular-nums; transition:background-color 280ms,color 280ms; }
.topbar .wallet-controls .balance { gap:10px; }
.topbar .wallet-controls .balance > span { display:inline-flex; align-items:baseline; gap:4px; }
.topbar .wallet-controls .balance small { color:#aaa5b9; font-size:11px; font-weight:500; }
.topbar .wallet-controls .balance > svg { width:17px; height:17px; padding:3px; border:1px solid #ffffff14; border-radius:4px; color:#aaa4bd; }
.topbar .wallet-controls .coin-balance { border-left:1px solid #ffffff0c; }
.topbar .wallet-controls :is(.balance,.coin-balance):hover { background:#23212c; color:#fff; }
.topbar .wallet-controls :is(.balance,.coin-balance):focus-visible { outline-offset:-3px; }
.currency-coin { width:19px; height:19px; color:#c7b180; stroke-width:1.55; flex-shrink:0; }
.topbar .account-button { display:inline-flex; align-items:center; justify-content:center; height:var(--shell-control); padding:0 1px 0 0; gap:7px; flex-shrink:0; }
.topbar .account-button .avatar { width:32px; height:32px; }
.topbar .account-button > svg { width:12px; height:12px; }
.topbar .top-sign-in { height:var(--shell-control); white-space:nowrap; }
.quick-rail.mac-dock { height:calc(76px + env(safe-area-inset-bottom,0px)); padding-top:0; padding-bottom:env(safe-area-inset-bottom,0px); }
.quick-rail.mac-dock .rail-brand { justify-self:start; width:42px; height:42px; margin:0; border-radius:10px; }
.quick-rail.mac-dock .rail-brand img { width:30px; height:30px; object-fit:contain; }
.quick-rail.mac-dock .rail-links { position:static; inset:auto; transform:none; display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); align-items:center; gap:4px; width:616px; min-width:0; height:60px; padding:0; margin:0; overflow:visible; }
.quick-rail.mac-dock .rail-item { display:grid; grid-template-rows:30px 14px; justify-items:center; align-content:center; gap:3px; width:100%; min-width:0; height:60px; min-height:60px; margin:0; padding:5px 3px; border-radius:9px; }
.quick-rail.mac-dock .rail-icon { width:30px; height:30px; border-radius:8px; }
.quick-rail.mac-dock .rail-item svg { width:21px; height:21px; }
.quick-rail.mac-dock .rail-item > span:last-child { display:block; max-width:100%; margin:0; font-size:10.5px; line-height:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.quick-rail.mac-dock .rail-utility-start::after { top:18px; bottom:18px; left:-3px; right:auto; width:1px; height:auto; }
.quick-rail.mac-dock .rail-item:focus-visible { outline-width:1.5px; outline-offset:-3px; }
.quick-rail.mac-dock .rail-bottom { justify-self:end; display:flex; flex-direction:row; align-items:center; width:auto; min-width:0; margin:0; padding:0; gap:10px; border:0; }
.quick-rail.mac-dock .rail-utilities { display:flex; align-items:center; gap:8px; }
.quick-rail.mac-dock .rail-social { width:var(--shell-control); height:var(--shell-control); border-radius:8px; }
.quick-rail.mac-dock .rail-locale { height:var(--shell-control); min-height:var(--shell-control); min-width:76px; margin:0; padding:0 8px; border-radius:8px; gap:6px; }
.quick-rail.mac-dock .rail-presence { height:var(--shell-control); padding:4px 8px; gap:2px; }
.quick-rail.mac-dock .rail-presence b { font-size:12px; }
.quick-rail.mac-dock .rail-presence small { font-size:8px; }
.profile-wallet b { display:inline-flex; align-items:center; gap:6px; font-variant-numeric:tabular-nums; }
.profile-wallet .currency-coin { width:18px; height:18px; }
.wallet-exchange-link { display:inline-flex; align-items:center; gap:8px; margin:18px 0 4px; }

/* The exchange has its own page, with a live summary and an explicit confirmation. */
.exchange-heading-icon { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; border:1px solid #b3adea20; border-radius:11px; background:#211e2d; }
.exchange-heading-icon .currency-coin { width:24px; height:24px; }
.exchange-rate { display:block; margin-top:6px; color:#aaa3b9; font-size:12px; }
.exchange-label { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:9px; }
.exchange-label label { color:#bfb6cd; font-size:12px; }
.exchange-all { min-height:30px; padding:3px 0 3px 8px; color:#c0addf; font-size:11px; }
.exchange-all:hover { color:#e3d5f9; }
.exchange-input { display:flex; align-items:center; gap:11px; height:58px; padding:0 15px; border:1px solid #ffffff18; border-radius:9px; background:#1a1820; transition:border-color 240ms,box-shadow 280ms; }
.exchange-input:focus-within { border-color:#a48cc7; box-shadow:0 0 0 2px #a48cc710; }
.exchange-input.has-error { border-color:#bf858b88; }
.exchange-input input { width:100%; min-width:0; height:100%; padding:0; outline:0; border:0; border-radius:0; background:none; color:#eee8f5; font-size:25px; font-weight:550; font-variant-numeric:tabular-nums; }
.exchange-input input:focus-visible { outline:0; }
.exchange-input > span { flex-shrink:0; color:#a69daf; font-size:12px; }
.exchange-error { min-height:20px; margin-top:6px; color:#d39da3; font-size:11px; line-height:20px; }
.exchange-receive { display:flex; align-items:center; justify-content:space-between; min-height:69px; margin:4px 0 20px; padding:0 2px 17px; border-bottom:1px solid #ffffff0c; }
.exchange-receive > span { display:inline-flex; align-items:center; gap:9px; color:#aba1b9; font-size:12px; }
.exchange-receive > span svg { width:17px; height:17px; color:#8f7faa; }
.exchange-receive :is(strong,output) { color:#e7daf8; font-size:27px; font-weight:550; font-variant-numeric:tabular-nums; letter-spacing:-.7px; }
.exchange-submit { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:42px; }
.exchange-submit svg { width:17px; height:17px; }
.exchange-submit:disabled { opacity:.4; }
.exchange-success { padding-top:4px; text-align:center; }
.exchange-success-icon { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 17px; border:1px solid #b3adea24; border-radius:50%; background:#292335; color:#c8b0ec; }
.exchange-success-icon svg { width:25px; height:25px; }
.exchange-success h2 { margin:0 0 10px; font-size:23px; }
.exchange-success-amount { display:block; margin:0 0 5px; color:#e6d7fb; font-size:36px; font-weight:550; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.exchange-success p { margin:0 0 25px; color:#b1a5bf; font-size:12px; }
@container shell (max-width:1100px) {
 .quick-rail.mac-dock .rail-links { width:560px; gap:2px; }
 .quick-rail.mac-dock .rail-presence { display:none; }
 .header-tools .header-shortcut { display:none; }
}
@container shell (max-width:870px) {
 .dock-inner { grid-template-columns:76px minmax(0,1fr) 76px; gap:14px; }
 .quick-rail.mac-dock .rail-links { width:100%; }
 .quick-rail.mac-dock .rail-utilities > .rail-social { display:none; }
 .header-tools .header-social { display:none; }
 .topbar-inner { gap:12px; }
 .topbar .top-actions { gap:8px; }
}
@media(max-width:1500px) { :root { --shell-gutter:28px; } }
@media(max-width:760px) {
 :root { --shell-gutter:14px; --top:104px; }
 .topbar { padding-top:10px; padding-bottom:10px; }
 .topbar-inner { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:36px 36px; column-gap:8px; row-gap:10px; max-width:none; }
 .header-tools { display:none; }
 .topbar .menu-trigger { grid-row:1; grid-column:1/-1; min-width:100px; }
 .topbar .top-actions { display:contents; }
 .topbar .notification-button { display:inline-flex; grid-row:1; grid-column:1; justify-self:start; }
 .topbar .account-button,.topbar .top-sign-in { grid-row:1; grid-column:2; justify-self:end; }
 .topbar .wallet-controls { display:grid; grid-template-columns:1fr 1fr; grid-row:2; grid-column:1/-1; width:100%; }
 .topbar .wallet-controls :is(.balance,.coin-balance) { display:flex; height:34px; font-size:12px; }
 .dock-inner { display:grid; grid-template-columns:minmax(0,1fr) 33px; gap:8px; }
 .quick-rail.mac-dock { padding-left:6px; padding-right:6px; }
 .quick-rail.mac-dock .rail-brand { display:none; }
 .quick-rail.mac-dock .rail-links { width:100%; height:58px; gap:1px; }
 .quick-rail.mac-dock .rail-item { height:58px; min-height:58px; grid-template-rows:28px 12px; padding:4px 1px; }
 .quick-rail.mac-dock .rail-icon { width:28px; height:28px; }
 .quick-rail.mac-dock .rail-item > span:last-child { font-size:8px; line-height:12px; }
 .quick-rail.mac-dock .rail-item svg { width:20px; height:20px; }
 .quick-rail.mac-dock .rail-utility-start::after { display:none; }
 .quick-rail.mac-dock .rail-bottom { grid-column:2; }
 .quick-rail.mac-dock .rail-locale { width:33px; min-width:33px; padding:0 4px; }
 .quick-rail.mac-dock .rail-locale .locale-flag { width:23px; height:17px; }
}
@media(prefers-reduced-motion:reduce) {
 .topbar .wallet-controls :is(.balance,.coin-balance),.exchange-input { transition:none; }
}

.topbar .wallet-controls .coin-balance[aria-current=page] { background:#262131; color:#eee6fb; }
.exchange-page { max-width:1040px; margin:0 auto 50px; }
.wallet-back { display:inline-flex; align-items:center; gap:8px; min-height:34px; padding:4px 0; color:#a79db7; font-size:12px; }
.wallet-back svg { width:15px; height:15px; transform:rotate(180deg); }
.wallet-back:hover { color:#e5daf3; }
.exchange-page-heading { display:flex; align-items:center; gap:14px; margin:23px 0 28px; }
.exchange-page-heading h1 { margin:0; color:#efeaf5; font:600 30px/1.25 Display,sans-serif; letter-spacing:.25px; text-transform:uppercase; }
.exchange-page-heading h1:focus,.exchange-success h2:focus { outline:none; }
.exchange-page-heading .exchange-heading-icon { width:48px; height:48px; }
.exchange-page-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr); align-items:start; gap:24px; }
.exchange-main { min-width:0; padding:27px 28px 28px; border:1px solid #ffffff10; border-radius:13px; background:#131217; }
.exchange-summary { padding:24px; border:1px solid #ffffff0d; border-radius:13px; background:#101014; }
.exchange-summary h2 { margin:0 0 22px; color:#c9c0d5; font-size:14px; line-height:1.5; font-weight:550; }
.exchange-summary dl { display:grid; gap:19px; margin:0; }
.exchange-summary dl > div { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.exchange-summary dt { color:#a69aae; font-size:12px; }
.exchange-summary dd { display:inline-flex; align-items:center; gap:10px; margin:0; color:#91869e; font-size:13px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.exchange-summary dd svg { width:14px; height:14px; color:#736681; }
.exchange-summary dd strong { color:#ded2ed; font-size:14px; font-weight:550; }
.exchange-main .exchange-success { padding:8px 0 0; }
.exchange-success-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; padding-top:1px; }
.exchange-success-actions .button { min-height:40px; font-size:12px; }
@media(max-width:760px) {
 .exchange-page-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .exchange-page-heading { margin:17px 0 22px; gap:12px; }
 .exchange-page-heading h1 { font-size:27px; }
 .exchange-page-heading .exchange-heading-icon { width:44px; height:44px; }
 .exchange-main { padding:21px; }
 .exchange-summary { padding:21px; }
 .exchange-summary h2 { margin-bottom:17px; }
 .exchange-summary dd { font-size:12px; gap:7px; }
 .exchange-summary dd strong { font-size:13px; }
 body:has(.exchange-page) .restore-chat { top:10px; bottom:auto; left:58px; right:auto; z-index:26; width:36px; min-width:0; height:36px; min-height:36px; padding:0; gap:0; border-radius:8px; background:#16161c; box-shadow:none; font-size:0; }
 body:has(.exchange-page) .restore-chat > span { display:none; }
 body:has(.exchange-page) .restore-chat > svg { width:18px; height:18px; }
}

/* engagement-v26.css */
.engagement-section { container:engagement / inline-size; }
.engagement-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,2fr); grid-template-areas:'giveaway-heading polls-heading' 'giveaway polls'; align-items:stretch; gap:18px 20px; }
.engagement-grid > .giveaway-heading { grid-area:giveaway-heading; }
.engagement-grid > .polls-heading { grid-area:polls-heading; }
.engagement-grid > .section-heading { margin:0; min-width:0; }
.engagement-grid > .section-heading h2 { font-size:26px; }
.engagement-grid > .home-polls { grid-area:polls; gap:18px; min-width:0; }
.giveaway-card { grid-area:giveaway; display:grid; grid-template-columns:minmax(110px,.8fr) minmax(0,1.15fr); align-items:stretch; gap:17px; min-width:0; padding:18px; border:1px solid #ffffff10; border-radius:13px; background:#111015; }
.giveaway-art { min-width:0; border:1px solid #ffffff06; border-radius:8px; background:#17161c; }
.giveaway-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; padding:3px 0; }
.giveaway-eyebrow { display:flex; align-items:center; gap:7px; color:#b3a3d7; font-size:11px; font-weight:500; line-height:1.5; }
.giveaway-eyebrow svg { width:14px; height:14px; }
.giveaway-copy h3 { margin:11px 0 8px; color:#eeebf4; font-size:23px; line-height:1.2; font-weight:650; letter-spacing:-.4px; overflow-wrap:anywhere; }
.giveaway-date { color:#a79bb4; font-size:10px; line-height:1.5; }
.giveaway-countdown { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; gap:6px; margin:21px 0 19px; }
.giveaway-countdown > span { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:0; height:54px; gap:3px; border:1px solid #ffffff0b; border-radius:7px; background:#201d27; }
.giveaway-countdown b { color:#eee7f7; font-size:19px; font-weight:600; font-variant-numeric:tabular-nums; line-height:1; letter-spacing:.2px; }
.giveaway-countdown small { color:#a99db8; font-size:8px; line-height:1.3; text-transform:uppercase; }
.giveaway-join { display:flex; align-items:center; justify-content:center; gap:9px; min-height:40px; width:100%; padding:9px 10px; border:1px solid #ffffff0b; border-radius:8px; background:#7563c5; color:#fff; font-size:11px; line-height:1.4; font-weight:600; text-align:center; transition:background-color 280ms,border-color 280ms,color 280ms; }
.giveaway-join svg { width:15px; height:15px; flex-shrink:0; }
.giveaway-join:hover:not(:disabled) { background:#8370d2; border-color:#d0b9f444; }
.giveaway-join:disabled { opacity:1; }
.giveaway-join.is-joined { background:#282332; border-color:#bba3e62e; color:#cebee5; }
.giveaway-participants { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:12px; color:#a297af; font-size:10px; line-height:1.5; }
.giveaway-participants svg { width:13px; height:13px; color:#9f91b3; margin-right:2px; }
.giveaway-participants b { color:#dfd5ed; font-size:11px; font-weight:550; font-variant-numeric:tabular-nums; }
.home-v9 .engagement-section .home-poll { min-width:0; min-height:344px; padding:22px; border-radius:13px; border-color:#ffffff10; background:#111015; }
.engagement-section .poll-top { margin-bottom:17px; gap:10px; }
.engagement-section .poll-top > span { font-size:11px; color:#b9a8db; }
.home-v9 .engagement-section .poll-top small { font-size:10px; white-space:nowrap; color:#a498b1; }
.home-v9 .engagement-section .home-poll h3 { margin-bottom:8px; font-size:18px; font-weight:600; line-height:1.35; }
.home-v9 .engagement-section .poll-note { margin:0 0 22px; font-size:12px; color:#aca0b9; min-height:18px; }
.engagement-section .poll-results { gap:17px; }
.home-v9 .engagement-section .poll-result-label > span { font-size:13px; line-height:1.5; }
.home-v9 .engagement-section .poll-result-label > b { color:#b6a2d7; font-size:11px; }
.home-v9 .engagement-section .poll-result { grid-template-columns:minmax(0,1fr) 28px; }
.home-v9 .engagement-section .poll-voters { width:28px; height:32px; border-radius:6px; }
.home-v9 .engagement-section .poll-voters svg { width:14px; height:14px; }
.home-v9 .engagement-section .poll-bar { height:5px; background:#292431; }
.engagement-section .poll-bar i { background:linear-gradient(90deg,#7e64c1,#a18ad7); transition:width 560ms cubic-bezier(.25,.46,.45,.94); }
.home-v9 .engagement-section .poll-bottom { margin-top:25px; padding-top:14px; gap:10px; min-height:46px; }
.home-v9 .engagement-section .poll-feedback { font-size:11px; line-height:1.5; }
.home-v9 .engagement-section :is(.poll-change,.poll-results-link) { font-size:11px; line-height:1.5; gap:6px; }
.engagement-section .poll-option { padding:8px 10px; border:1px solid #ffffff08; background:#1b1821; transition:background-color 240ms,border-color 240ms; }
.engagement-section .poll-option:has(input:checked) { border-color:#b09bc557; background:#282131; }
.engagement-section .poll-option:hover { border-color:#a48cbe39; }
.home-v9 .community-section { border-top:0; padding-top:0; }
.home-v9 .community-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.home-v9 .community-grid .home-panel { min-width:0; padding:22px; border:1px solid #ffffff0d; border-radius:13px; background:#101014; }
.home-v9 .community-grid .home-panel-heading { flex-wrap:wrap; min-height:36px; margin-bottom:13px; gap:10px; }
.home-v9 .community-grid .home-panel-heading h3 { font-size:14px; line-height:1.5; gap:8px; }
.home-v9 .community-grid .home-panel-heading h3 > svg { width:16px; height:16px; color:#b5a2d3; }
.home-v9 .community-grid .text-link { min-height:34px; font-size:11px; gap:7px; }
.home-v9 .community-grid .home-topic { display:grid; grid-template-columns:36px minmax(0,1fr) 96px; align-items:center; gap:13px; min-height:80px; padding:14px 0; border-radius:0; border-color:#ffffff08; }
.home-v9 .community-grid .home-topic:last-child { padding-bottom:14px; }
.home-v9 .community-grid .topic-avatar { width:36px; height:36px; border-radius:9px; }
.home-v9 .community-grid .home-topic-copy strong { font-size:13px; font-weight:550; }
.home-v9 .community-grid .home-topic-copy small { gap:6px; margin-top:5px; font-size:10px; line-height:1.5; }
.home-v9 .community-grid .home-topic-meta { min-width:0; width:96px; }
.home-v9 .community-grid .home-topic-meta > small { color:#a498ad; font-size:10px; line-height:1.5; }
.home-v9 .community-grid .home-topic-meta > span { font-size:10px; margin-top:6px; color:#b1a6bc; }
.home-v9 .community-grid .home-event-list { display:flex; flex-direction:column; justify-content:flex-start; gap:0; }
.home-v9 .community-grid .home-event { display:grid; grid-template-columns:30px minmax(0,1fr) 96px; align-items:center; gap:12px; min-height:80px; padding:14px 0; border-radius:0; border-color:#ffffff08; }
.home-v9 .community-grid .home-event:last-child { padding-bottom:14px; }
.home-v9 .community-grid .event-icon { width:30px; height:30px; border-radius:8px; background:#211d2a; border-color:#b69cdd1c; color:#baa8d7; }
.home-v9 .community-grid .home-event small { font-size:10px; margin:0 0 5px; line-height:1.5; }
.home-v9 .community-grid .home-event strong { color:#ddd5e7; font-size:12px; line-height:1.5; font-weight:500; }
.home-v9 .community-grid .home-event-copy { min-width:0; }
.home-v9 .community-grid .home-event > time { max-width:96px; margin:0; color:#a498ad; font-size:10px; line-height:1.5; text-align:right; }
@container engagement (max-width:1180px) {
 .giveaway-card { grid-template-columns:minmax(0,1fr); grid-template-rows:110px 1fr; gap:15px; }
 .giveaway-copy { padding:0; }
 .giveaway-copy h3 { font-size:21px; }
 .giveaway-countdown { max-width:310px; margin-top:16px; margin-bottom:16px; }
}
@container engagement (max-width:1040px) {
 .engagement-grid { grid-template-columns:minmax(0,1fr); grid-template-areas:'giveaway-heading' 'giveaway' 'polls-heading' 'polls'; gap:18px; }
 .giveaway-card { grid-template-columns:minmax(160px,.65fr) minmax(0,1.35fr); grid-template-rows:auto; min-height:270px; gap:25px; padding:22px; }
 .giveaway-copy h3 { font-size:25px; }
 .giveaway-countdown { margin-top:19px; }
 .giveaway-join { max-width:310px; }
 .engagement-grid > .polls-heading { margin-top:17px; }
}
@media(max-width:760px) {
 body:has(.home-v9) .restore-chat { top:10px; bottom:auto; left:58px; right:auto; z-index:26; width:36px; min-width:0; height:36px; min-height:36px; padding:0; gap:0; border-radius:8px; background:#16161c; box-shadow:none; font-size:0; }
 body:has(.home-v9) .restore-chat > span { display:none; }
 body:has(.home-v9) .restore-chat > svg { width:18px; height:18px; }
 .home-v9 .community-grid { grid-template-columns:minmax(0,1fr); gap:18px; }
 .home-v9 .community-grid .home-panel { padding:20px; }
 .home-v9 .community-grid .home-topic { grid-template-columns:34px minmax(0,1fr) 84px; gap:10px; }
 .home-v9 .community-grid .topic-avatar { width:34px; height:34px; }
 .home-v9 .community-grid .home-topic-meta { width:84px; }
 .home-v9 .community-grid .home-event { grid-template-columns:30px minmax(0,1fr) 84px; gap:10px; }
}
@container engagement (max-width:600px) {
 .engagement-grid > .home-polls { grid-template-columns:minmax(0,1fr); }
 .giveaway-card { grid-template-columns:minmax(0,1fr); grid-template-rows:148px auto; gap:20px; padding:20px; }
 .giveaway-copy h3 { font-size:25px; }
 .giveaway-countdown { max-width:none; }
 .giveaway-join { max-width:none; font-size:12px; }
 .giveaway-countdown > span { height:57px; }
 .home-v9 .engagement-section .home-poll { padding:21px; }
 .engagement-grid > .section-heading h2 { font-size:25px; }
}
@media(prefers-reduced-motion:reduce) {
 .giveaway-join,.engagement-section .poll-option,.engagement-section .poll-bar i { transition:none; }
}

/* draw-details-v27.css */
.giveaway-copy h3 > button,.home-poll h3 > button { display:inline; padding:0; text-align:left; color:inherit; font:inherit; letter-spacing:inherit; line-height:inherit; }
.giveaway-copy h3 > button:hover,.home-poll h3 > button:hover { color:var(--accent); }
.giveaway-card { cursor:pointer; transition:border-color 260ms; }
.giveaway-card:hover { border-color:var(--accent-edge); }
.giveaway-art { display:block; width:100%; padding:0; cursor:pointer; }
.giveaway-art:hover { background:var(--surface-hi); }
.giveaway-participants { padding:0; text-align:left; }
.giveaway-participants:hover { color:var(--accent); }
.giveaway-participants > svg:last-child { width:11px; height:11px; margin-left:2px; }
.modal.is-draw-detail { width:860px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); padding:0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); }
.is-draw-detail .modal-close { top:20px; right:20px; z-index:2; width:34px; height:34px; border:1px solid var(--line); background:var(--surface-hi); border-radius:8px; }
.draw-dialog { display:flex; flex-direction:column; max-height:calc(100dvh - 34px); height:720px; }
.draw-header { display:flex; align-items:center; gap:14px; flex-shrink:0; padding:27px 73px 22px 28px; }
.draw-header > div { min-width:0; }
.draw-header-icon { display:grid; place-items:center; flex:0 0 45px; width:45px; height:45px; border:1px solid var(--accent-edge); border-radius:12px; background:var(--accent-wash); color:var(--accent); }
.draw-header-icon svg { width:24px; height:24px; }
.draw-dialog-eyebrow { display:block; margin-bottom:5px; color:var(--muted); font-size:11px; }
.is-draw-detail .draw-header h2 { margin:0; color:var(--text); font-size:24px; line-height:1.25; letter-spacing:-.5px; }
.draw-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; flex-shrink:0; gap:8px 18px; padding:0 28px 21px; color:var(--secondary); font-size:11px; }
.draw-meta > span,.draw-meta > button { display:inline-flex; align-items:center; gap:7px; min-height:24px; padding:0; font:inherit; }
.draw-meta svg { width:14px; height:14px; color:var(--muted); }
.draw-meta b { color:var(--text); font-weight:550; }
.draw-meta > button:hover { color:var(--accent); }
.draw-tabs { display:flex; flex-shrink:0; gap:25px; padding:0 28px; border-bottom:1px solid var(--line); }
.draw-tabs > button { position:relative; display:flex; align-items:center; justify-content:center; gap:8px; min-height:45px; padding:0 0 13px; color:var(--muted); font-size:12px; font-weight:500; }
.draw-tabs > button::after { content:''; position:absolute; height:2px; bottom:-1px; left:0; right:0; background:var(--violet); opacity:0; transition:opacity 220ms; }
.draw-tabs > button[aria-selected=true] { color:var(--accent); }
.draw-tabs > button[aria-selected=true]::after { opacity:1; }
.draw-tabs > button > span { min-width:22px; padding:1px 5px; border:1px solid var(--line); border-radius:5px; background:var(--surface-hi); color:var(--accent); font-size:10px; font-variant-numeric:tabular-nums; }
.draw-body { flex:1; min-height:0; padding:24px 28px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--muted) transparent; }
.draw-body h3 { margin:0 0 14px; color:var(--text); font-size:13px; font-weight:550; line-height:1.5; }
.draw-prize-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.draw-prize { position:relative; display:flex; align-items:flex-start; flex-direction:column; min-width:0; padding:16px; border:1px solid var(--line); border-radius:10px; background:var(--surface-hi); }
.draw-place { margin-bottom:18px; color:var(--muted); font-size:10px; }
.draw-prize-icon { position:absolute; top:14px; right:14px; display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--line); border-radius:7px; color:var(--accent); background:var(--surface-hi); }
.draw-prize:first-child { background:var(--accent-wash); border-color:var(--accent-edge); }
.draw-prize:first-child .draw-prize-icon { color:var(--accent); }
.draw-prize small { margin-bottom:4px; color:var(--muted); font-size:10px; }
.draw-prize strong { color:var(--text); font-size:20px; font-weight:600; line-height:1.3; letter-spacing:-.3px; }
.draw-prize-value { margin-top:9px; color:var(--secondary); font-size:12px; }
.draw-prize-server { margin-top:5px; color:var(--muted); font-size:10px; line-height:1.5; }
.draw-rules { margin-top:25px; }
.draw-rules ol { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.draw-rules li { display:flex; align-items:flex-start; gap:12px; }
.draw-rules li > span { display:grid; place-items:center; flex:0 0 24px; height:24px; border:1px solid var(--line); border-radius:6px; background:var(--surface-hi); color:var(--accent); font-size:9px; font-variant-numeric:tabular-nums; }
.is-draw-detail .draw-rules p { margin:2px 0 0; color:var(--secondary); font-size:12px; line-height:1.65; }
.draw-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-shrink:0; padding:18px 28px; border-top:1px solid var(--line); background:var(--surface); }
.draw-footer-status { display:flex; align-items:flex-start; gap:8px; max-width:340px; color:var(--muted); font-size:10px; line-height:1.6; }
.draw-footer-status svg { width:15px; height:15px; color:var(--accent); margin-top:1px; }
.draw-footer .draw-footer-action { display:flex; align-items:center; justify-content:center; gap:8px; flex-shrink:0; min-width:170px; min-height:41px; padding:9px 14px; border-radius:8px; font-size:12px; line-height:1.5; }
.draw-footer-action svg { width:15px; height:15px; }
.draw-footer-action:disabled { opacity:1; background:var(--accent-wash); color:var(--accent); border-color:var(--accent-edge); box-shadow:none; }
.draw-dialog[data-tab=participants] .draw-body { display:flex; flex-direction:column; overflow:hidden; }
.draw-members-tools { display:flex; flex-shrink:0; gap:12px; margin-bottom:15px; }
.draw-search { display:flex; align-items:center; flex:1; min-width:0; gap:9px; height:40px; padding:0 11px; border:1px solid var(--line); border-radius:8px; background:var(--surface-hi); }
.draw-search:focus-within { border-color:var(--violet); }
.draw-search > svg { width:16px; height:16px; color:var(--muted); }
.draw-search input { min-width:0; width:100%; height:100%; padding:0; border:0; outline:0; border-radius:0; background:none; color:var(--text); font-size:12px; }
.draw-search input:focus-visible { outline:none; }
.draw-members-tools select { min-width:0; max-width:170px; height:40px; padding:0 10px; border:1px solid var(--line); border-radius:8px; color:var(--secondary); background:var(--surface-hi); font-size:11px; }
.draw-member-scroll { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--muted) transparent; padding-right:5px; }
.draw-members { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:5px 10px; padding:0; margin:0; list-style:none; }
.draw-member { display:flex; align-items:center; gap:10px; min-width:0; min-height:49px; padding:8px; border:1px solid transparent; border-radius:8px; color:var(--text); }
.draw-member:hover { background:var(--surface-hi); }
.draw-member.is-own { border-color:var(--accent-edge); background:var(--accent-wash); }
.draw-member .draw-member-avatar { width:30px; height:30px; flex-shrink:0; background:var(--surface-hi); border-color:var(--line); font-size:11px; }
.draw-member-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:inherit; font-size:12px; font-weight:500; }
a.draw-member-name:hover { color:var(--accent); }
.draw-member > small { padding:1px 5px; border:1px solid var(--accent-edge); border-radius:4px; color:var(--accent); font-size:9px; }
.draw-member-choice { margin-left:auto; color:var(--muted); font-size:9px; white-space:nowrap; }
.draw-member-summary { flex-shrink:0; padding-top:14px; color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.is-draw-detail .draw-member-empty { margin:30px 0; text-align:center; color:var(--muted); font-size:12px; }
.is-draw-detail .draw-poll-note { margin:0 0 24px; color:var(--secondary); font-size:13px; }
.draw-poll-results { display:grid; gap:15px; }
.draw-answer { display:flex; flex-direction:column; gap:8px; padding:15px; border:1px solid var(--line); border-radius:9px; background:var(--surface-hi); text-align:left; }
.draw-answer:hover { border-color:var(--accent-edge); background:var(--accent-wash); }
.draw-answer-title { display:flex; align-items:center; width:100%; gap:7px; color:var(--text); font-size:13px; }
.draw-answer-title > svg { width:15px; height:15px; }
.draw-answer-title b { margin-left:auto; color:var(--accent); font-size:12px; font-weight:500; font-variant-numeric:tabular-nums; }
.draw-answer-track { width:100%; height:5px; overflow:hidden; background:var(--surface-hi); border-radius:4px; }
.draw-answer-track i { display:block; height:100%; background:linear-gradient(90deg,var(--violet),var(--accent)); border-radius:inherit; }
.draw-answer > small { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; }
.draw-answer > small svg { width:12px; height:12px; }
.draw-answer.is-mine { border-color:var(--accent-edge); }
@media(max-width:600px) {
 .modal.is-draw-detail { max-width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:13px; }
 .draw-dialog { height:720px; max-height:calc(100dvh - 22px); }
 .draw-header { gap:10px; padding:22px 56px 16px 18px; }
 .draw-header-icon { width:36px; height:36px; flex-basis:36px; border-radius:9px; }
 .draw-header-icon svg { width:20px; height:20px; }
 .is-draw-detail .draw-header h2 { font-size:20px; }
 .is-draw-detail .modal-close { top:18px; right:16px; width:30px; height:30px; }
 .draw-meta { padding:0 18px 14px; font-size:10px; gap:5px 12px; }
 .draw-tabs { padding:0 18px; gap:20px; }
 .draw-tabs > button { font-size:11px; gap:6px; }
 .draw-body { padding:19px 18px; }
 .draw-prize-grid { grid-template-columns:minmax(0,1fr); gap:9px; }
 .draw-prize { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 12px; padding:13px 15px; }
 .draw-place { margin:0 0 3px; grid-column:1; }
 .draw-prize small { grid-column:1; margin:0; }
 .draw-prize strong { grid-column:1; font-size:19px; }
 .draw-prize-value { grid-column:2; grid-row:3; margin:0; align-self:center; }
 .draw-prize-server { grid-column:1/-1; margin:0; }
 .draw-prize-icon { width:26px; height:26px; top:12px; right:14px; }
 .draw-prize-icon svg { width:18px; height:18px; }
 .draw-rules { margin-top:21px; }
 .draw-footer { padding:14px 18px; gap:10px; }
 .draw-footer-status { max-width:145px; font-size:9px; }
 .draw-footer .draw-footer-action { min-width:0; max-width:55%; font-size:11px; padding:9px 11px; }
 .draw-members { grid-template-columns:minmax(0,1fr); }
 .draw-members-tools { flex-wrap:wrap; gap:8px; }
 .draw-members-tools select { max-width:100%; flex:1 1 100%; height:34px; }
}
@media(max-height:540px) {
 .modal.is-draw-detail { overflow-y:auto; }
 .draw-dialog { height:auto; max-height:none; }
 .draw-body { min-height:140px; max-height:280px; }
 .draw-member-scroll { min-height:120px; }
}
@media(prefers-reduced-motion:reduce) { .giveaway-card,.draw-tabs > button::after { transition:none; } }

/* community-v29.css */
/* Existing site colors are the source for panels, menus and detail windows. */
:root {
 --accent-wash:color-mix(in srgb,var(--violet) 12%,var(--surface));
 --accent-edge:color-mix(in srgb,var(--violet) 34%,transparent);
 --accent-hover:color-mix(in srgb,var(--violet) 85%,var(--text));
}
.community-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:20px; }
.community-board { min-width:0; padding:0 20px 12px; border:1px solid var(--line); border-radius:13px; background:var(--surface); }
.community-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:76px; border-bottom:1px solid var(--line); }
.community-heading h3 { display:flex; align-items:center; gap:11px; min-width:0; margin:0; color:var(--text); font-size:14px; font-weight:600; line-height:1.45; }
.community-heading-icon { display:grid; place-items:center; flex:0 0 31px; width:31px; height:31px; border:1px solid var(--line); border-radius:8px; background:var(--surface-hi); color:var(--accent); }
.community-heading-icon svg { width:17px; height:17px; }
.community-all { display:flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:5px 0 5px 7px; color:var(--secondary); font-size:10px; line-height:1.5; white-space:nowrap; }
.community-all svg { width:14px; height:14px; }
.community-all:hover { color:var(--accent); }
.discussion-list,.timeline-day ol { padding:0; margin:0; list-style:none; }
.discussion-list { padding-top:6px; }
.discussion-list > li + li { border-top:1px solid color-mix(in srgb,var(--text) 4%,transparent); }
.discussion-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto 15px; align-items:center; gap:13px; width:100%; min-height:69px; padding:12px 8px; text-align:left; border-radius:9px; transition:background-color 280ms; }
.discussion-row:hover,.discussion-row:focus-visible { background:var(--surface-hi); }
.discussion-avatar { display:grid; place-items:center; width:40px; height:40px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:var(--surface-hi); color:var(--accent); }
.discussion-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.discussion-copy > strong { color:var(--text); font-size:14px; font-weight:550; line-height:1.4; overflow-wrap:anywhere; }
.discussion-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px; color:var(--muted); font-size:10px; line-height:1.5; }
.discussion-meta b { color:var(--accent); font-weight:500; }
.discussion-separator { color:var(--muted); opacity:.5; }
.discussion-replies { display:flex; align-items:center; justify-content:center; gap:6px; min-width:43px; height:27px; padding:0 7px; border:1px solid var(--line); border-radius:7px; color:var(--secondary); background:var(--surface-hi); }
.discussion-replies svg { width:13px; height:13px; }
.discussion-replies b { font-size:10px; font-weight:500; font-variant-numeric:tabular-nums; }
.discussion-arrow,.timeline-arrow { display:grid; place-items:center; color:var(--muted); opacity:.4; transition:color 280ms,opacity 280ms; }
.discussion-arrow svg,.timeline-arrow svg { width:14px; height:14px; }
.discussion-row:is(:hover,:focus-visible) .discussion-arrow,.timeline-row:is(:hover,:focus-visible) .timeline-arrow { color:var(--accent); opacity:1; }
.community-timeline { padding:11px 7px 0; }
.timeline-day + .timeline-day { margin-top:9px; }
.timeline-day h4 { display:flex; align-items:center; gap:9px; margin:0 0 2px; color:var(--muted); font-size:9px; line-height:1.6; font-weight:500; }
.timeline-day h4::after { content:''; height:1px; flex:1; background:color-mix(in srgb,var(--text) 4%,transparent); }
.timeline-day li { position:relative; }
.timeline-day li:not(:last-child)::before { content:''; position:absolute; left:13px; top:31px; bottom:-8px; width:1px; background:var(--line); pointer-events:none; }
.timeline-row { display:grid; grid-template-columns:28px minmax(0,1fr) auto 14px; align-items:center; gap:11px; width:100%; min-height:54px; padding:8px 0; border-radius:8px; text-align:left; transition:background-color 280ms; }
.timeline-marker { position:relative; display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--line); border-radius:50%; color:var(--muted); background:var(--surface); transition:color 280ms,border-color 280ms; }
.timeline-marker svg { width:13px; height:13px; }
.timeline-day:first-child li:first-child .timeline-marker { color:var(--accent); border-color:var(--accent-edge); background:var(--accent-wash); }
.timeline-copy { min-width:0; }
.timeline-description { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 7px; margin-bottom:3px; color:var(--muted); font-size:10px; line-height:1.5; }
.timeline-description b { color:var(--secondary); font-weight:500; }
.timeline-copy > strong { display:block; color:var(--text); font-size:12px; font-weight:500; line-height:1.5; overflow-wrap:anywhere; }
.timeline-row > time { color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.timeline-row:is(:hover,:focus-visible) .timeline-marker { color:var(--accent); border-color:var(--accent-edge); }
.timeline-row:is(:hover,:focus-visible) .timeline-copy > strong { color:var(--accent); }

/* The shine belongs to the button; its containing block cannot be the top strip. */
.topbar .menu-trigger { position:relative; isolation:isolate; overflow:hidden; }
.topbar .menu-trigger::after { border-radius:inherit; }
.menu-trigger { background:var(--violet); border-color:var(--accent-edge); box-shadow:inset 0 1px 0 #ffffff12,0 4px 20px color-mix(in srgb,var(--violet) 14%,transparent); }
.menu-trigger:is(:hover,:focus-visible) { background:var(--accent-hover); box-shadow:inset 0 1px 0 #ffffff20,0 0 20px color-mix(in srgb,var(--violet) 26%,transparent); }
.menu-trigger[aria-expanded=true] { background:var(--accent-wash); color:var(--accent); border-color:var(--accent-edge); }
.mega-menu,.modal,.account-popover { background:var(--surface); border-color:var(--line); color:var(--text); }
.mega-group h3 { color:var(--text); border-color:var(--violet); }
.mega-group b { color:var(--text); }
.mega-group small,.modal p { color:var(--muted); }
.mega-group button:hover { background:var(--surface-hi); }
.mega-icon { background:var(--surface-hi); color:var(--accent); border-color:var(--line); }
.mega-group button:hover .mega-icon { background:var(--accent-wash); color:var(--accent); border-color:var(--accent-edge); }
.modal .button.primary { background:var(--violet); color:var(--text); }
.modal .button.primary:hover:not(:disabled) { background:var(--accent-hover); }
.modal.is-draw-detail .draw-footer-action:disabled { background:var(--accent-wash); color:var(--accent); border-color:var(--accent-edge); }
.modal .form-grid :is(input,select,textarea) { background:var(--surface-hi); color:var(--text); border-color:var(--line); }

/* Giveaway and polls share the same palette as the navigation. */
.giveaway-card,.home-v9 .engagement-section .home-poll { background:var(--surface); border-color:var(--line); }
.giveaway-art,.giveaway-art:hover { background:var(--surface-hi); }
.giveaway-eyebrow,.engagement-section .poll-top > span,.home-v9 .engagement-section .poll-result-label > b { color:var(--accent); }
.giveaway-copy h3,.giveaway-countdown b,.giveaway-participants b { color:var(--text); }
.giveaway-date,.giveaway-countdown small,.giveaway-participants,.giveaway-participants svg,.home-v9 .engagement-section .poll-top small { color:var(--muted); }
.home-v9 .engagement-section .poll-note { color:var(--secondary); }
.giveaway-countdown > span { background:var(--surface-hi); border-color:var(--line); }
.giveaway-join { background:var(--violet); border-color:var(--line); }
.giveaway-join:hover:not(:disabled) { background:var(--accent-hover); border-color:var(--accent-edge); }
.giveaway-join.is-joined { background:var(--accent-wash); color:var(--accent); border-color:var(--accent-edge); }
.home-v9 .engagement-section .poll-bar { background:var(--surface-hi); }
.engagement-section .poll-bar i { background:linear-gradient(90deg,var(--violet),var(--accent)); }
.engagement-section .poll-option { background:var(--surface-hi); border-color:var(--line); }
.engagement-section .poll-option:has(input:checked) { background:var(--accent-wash); border-color:var(--accent-edge); }

@media(max-width:1050px) {
 .community-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
}
@media(max-width:600px) {
 .community-board { padding:0 15px 10px; }
 .community-heading { min-height:72px; gap:10px; }
 .community-heading h3 { gap:8px; font-size:12px; }
 .community-heading-icon { flex-basis:27px; width:27px; height:27px; border-radius:7px; }
 .community-heading-icon svg { width:15px; height:15px; }
 .community-all { font-size:9px; gap:4px; }
 .community-all svg { width:12px; height:12px; }
 .discussion-row { grid-template-columns:34px minmax(0,1fr) auto; gap:10px; padding:11px 0; min-height:73px; }
 .discussion-avatar { width:34px; height:34px; border-radius:9px; }
 .discussion-copy > strong { font-size:13px; }
 .discussion-meta { gap:3px 5px; font-size:9px; }
 .discussion-meta > span:last-child { flex-basis:100%; }
 .discussion-separator { display:none; }
 .discussion-replies { min-width:36px; padding:0 5px; }
 .discussion-arrow,.timeline-arrow { display:none; }
 .community-timeline { padding-right:0; padding-left:0; }
 .timeline-row { grid-template-columns:28px minmax(0,1fr) auto; gap:9px; min-height:60px; }
 .timeline-description { font-size:9px; gap:3px 6px; }
 .timeline-row > time { font-size:9px; }
}
@media(max-width:360px) {
 .community-heading { flex-wrap:wrap; align-content:center; justify-content:flex-start; gap:2px; padding:12px 0; }
 .community-heading h3 { flex-basis:100%; }
 .community-all { min-height:28px; margin-left:35px; padding:0; }
}
@media(prefers-reduced-motion:reduce) {
 .discussion-row,.discussion-arrow,.timeline-arrow,.timeline-row,.timeline-marker { transition:none; }
}

/* toolbar-v31.css */
/* Open toolbar: controls sit directly on the strips, with no shared capsules. */
.topbar .header-tools { gap:16px; width:max-content; max-width:100%; height:36px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.header-tools :is(.header-social,.top-online,.header-shortcut) { height:36px; min-height:36px; margin:0; border:0; border-radius:7px; background:none; box-shadow:none; }
.header-tools .header-social { width:32px; color:var(--secondary); }
.header-tools .header-social svg { width:20px; height:20px; }
.header-tools .top-online { gap:6px; padding:0; color:var(--muted); font-size:11px; line-height:1.4; }
.header-tools .top-online b { color:var(--text); font-size:14px; font-weight:600; }
.header-tools .top-online .dot { width:5px; height:5px; margin-right:3px; background:var(--green); opacity:.8; box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 7%,transparent); }
.header-tools .header-shortcut { gap:9px; padding:0 5px; color:var(--secondary); font-size:12px; font-weight:500; }
.header-tools .header-shortcut svg { width:18px; height:18px; color:var(--accent); }
.header-tools .header-shortcut::before { content:none; }
.header-tools :is(.header-social,.header-shortcut):hover { color:var(--text); background:var(--accent-wash); }
.topbar .top-actions { gap:16px; }
.topbar .notification-button { display:inline-flex; align-items:center; justify-content:center; width:32px; height:36px; border:0; border-radius:7px; color:var(--muted); background:none; box-shadow:none; }
.topbar .notification-button svg { width:20px; height:20px; }
.topbar .notification-button i { display:none; }
.topbar .notification-button:is(:hover,:focus-visible) { color:var(--accent); background:var(--accent-wash); }
.topbar .wallet-controls { display:flex; align-items:center; gap:17px; height:36px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible; }
.topbar .wallet-controls :is(.balance,.coin-balance) { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:9px; height:36px; margin:0; padding:0 4px; border:0; border-radius:7px; background:none; color:var(--text); font-size:14px; font-weight:550; line-height:1.4; box-shadow:none; }
.topbar .wallet-controls .balance > span { display:inline-flex; align-items:baseline; gap:5px; }
.topbar .wallet-controls .balance small { color:var(--muted); font-size:11px; font-weight:400; }
.topbar .wallet-controls .balance > svg { width:23px; height:23px; margin-left:3px; padding:5px; border:0; border-radius:50%; background:var(--accent-wash); color:var(--accent); transition:background-color 280ms,color 280ms; }
.topbar .wallet-controls .currency-coin { width:20px; height:20px; color:#c7b180; }
.topbar .wallet-controls .coin-balance { gap:8px; }
.topbar .wallet-controls :is(.balance,.coin-balance):is(:hover,:focus-visible) { color:var(--text); background:var(--accent-wash); }
.topbar .wallet-controls .balance:hover > svg { color:var(--text); background:var(--violet); }
.topbar .wallet-controls .coin-balance[aria-current=page] { color:var(--accent); background:none; }
.topbar .wallet-controls .coin-balance::after,.topbar .account-button::after { content:''; position:absolute; left:6px; right:6px; bottom:0; height:2px; border-radius:2px; background:var(--violet); opacity:0; transition:opacity 280ms; pointer-events:none; }
.topbar .wallet-controls .coin-balance[aria-current=page]::after,.topbar .account-button[aria-expanded=true]::after { opacity:1; }
.topbar .account-button { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; height:36px; padding:0 3px; border:0; border-radius:7px; color:var(--muted); background:none; box-shadow:none; }
.topbar .account-button .avatar { width:32px; height:32px; flex-shrink:0; border:1px solid var(--line); border-radius:50%; overflow:hidden; background:var(--surface-hi); }
.topbar .account-button > svg { width:11px; height:11px; transition:color 280ms,transform 280ms; }
.topbar .account-button:is(:hover,:focus-visible),.topbar .account-button[aria-expanded=true] { color:var(--accent); background:none; }
.topbar .account-button[aria-expanded=true] > svg { transform:rotate(180deg); }
.topbar .account-button:hover .avatar,.topbar .account-button[aria-expanded=true] .avatar { border-color:var(--accent-edge); }
.quick-rail.mac-dock .rail-bottom { gap:16px; height:36px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.quick-rail.mac-dock .rail-utilities { align-items:center; gap:10px; height:36px; }
.quick-rail.mac-dock .rail-social { width:32px; height:36px; margin:0; border:0; border-radius:7px; background:none; color:var(--secondary); }
.quick-rail.mac-dock .rail-social svg { width:20px; height:20px; }
.quick-rail.mac-dock .rail-social:hover { color:var(--accent); background:var(--accent-wash); }
.quick-rail.mac-dock .rail-locale { position:relative; align-items:center; justify-content:center; gap:7px; height:36px; min-height:36px; min-width:72px; margin:0; padding:0 5px; border:0; border-radius:7px; color:var(--secondary); background:none; box-shadow:none; }
.quick-rail.mac-dock .rail-locale .locale-flag { width:20px; height:14px; border-radius:2px; }
.quick-rail.mac-dock .rail-locale > span { font-size:11px; font-weight:500; line-height:1; }
.quick-rail.mac-dock .rail-locale > svg { width:10px; height:10px; color:var(--muted); transition:transform 280ms,color 280ms; }
.quick-rail.mac-dock .rail-locale:is(:hover,:focus-visible),.quick-rail.mac-dock .rail-locale[aria-expanded=true] { color:var(--text); background:var(--accent-wash); }
.quick-rail.mac-dock .rail-locale[aria-expanded=true] > svg { color:var(--accent); transform:rotate(180deg); }
.quick-rail.mac-dock .rail-presence { flex-direction:row; align-items:center; gap:5px; width:auto; height:36px; margin:0; padding:0; border:0; border-radius:0; background:none; }
.quick-rail.mac-dock .rail-presence-number { gap:7px; }
.quick-rail.mac-dock .rail-presence b { color:var(--text); font-size:13px; line-height:1.4; font-weight:600; }
.quick-rail.mac-dock .rail-presence small { color:var(--muted); font-size:11px; line-height:1.4; white-space:nowrap; }
.quick-rail.mac-dock .rail-presence .dot { width:4px; height:4px; margin-right:1px; background:var(--green); opacity:.8; box-shadow:none; }
.account-popover { width:240px; max-width:calc(100vw - 24px); padding:7px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:0 12px 38px #0006; overflow-y:auto; overscroll-behavior:contain; }
.account-popover .account-pop-head { margin:0 0 6px; padding:11px 10px 14px; border-bottom:1px solid var(--line); }
.account-popover .account-pop-head b { color:var(--text); font-size:14px; line-height:1.5; }
.account-popover .account-pop-head span { margin-top:3px; color:var(--muted); font-size:10px; line-height:1.5; }
.account-popover > button { width:100%; min-height:36px; margin:0; padding:8px 10px; border-radius:7px; color:var(--secondary); background:none; font-size:12px; line-height:1.5; text-align:left; }
.account-popover > button:hover { color:var(--text); background:var(--accent-wash); }
.account-popover > .logout { margin-top:5px; border-top:1px solid var(--line); border-radius:0 0 7px 7px; color:var(--muted); }
.locale-popover { background:var(--surface); border-color:var(--line); }
.locale-search { background:var(--surface-hi); }
.locale-option:hover,.locale-option[aria-selected=true] { background:var(--accent-wash); }
.locale-option[aria-selected=true] { border-color:var(--accent-edge); }
:is(.header-social,.header-shortcut,.notification-button,.balance,.coin-balance,.account-button,.rail-social,.rail-locale) { transition:background-color 280ms,color 280ms; }
@container shell (max-width:870px) {
 .topbar .top-actions { gap:10px; }
 .topbar .wallet-controls { gap:10px; }
}
@media(max-width:760px) {
 .topbar .header-tools { display:none; }
 .topbar .notification-button { width:36px; }
 .topbar .wallet-controls { display:grid; grid-template-columns:1fr 1fr; gap:0; width:100%; }
 .topbar .wallet-controls :is(.balance,.coin-balance) { height:34px; }
 .topbar .wallet-controls .coin-balance { border-left:1px solid var(--line); border-radius:0; }
 .topbar .account-button { padding:0; }
 .topbar .account-button > svg { display:none; }
 .quick-rail.mac-dock .rail-locale { min-width:33px; width:33px; padding:0 4px; }
 .quick-rail.mac-dock .rail-locale .locale-flag { width:21px; height:15px; }
}
@media(prefers-reduced-motion:reduce) {
 :is(.header-social,.header-shortcut,.notification-button,.balance,.coin-balance,.account-button,.rail-social,.rail-locale),.topbar .wallet-controls .balance > svg,.topbar .wallet-controls .coin-balance::after,.topbar .account-button::after,.topbar .account-button > svg,.quick-rail.mac-dock .rail-locale > svg { transition:none; }
}

/* currency-presence-v32.css */
.currency-coin,.currency-ruble { flex-shrink:0; width:20px; height:20px; color:var(--accent); stroke-width:1.4; }
.topbar .wallet-controls .currency-coin { width:24px; height:24px; color:var(--accent); }
.topbar .wallet-controls .balance > span { align-items:center; gap:6px; }
.topbar .wallet-controls .balance .currency-ruble { width:23px; height:23px; padding:0; margin:0; border:0; border-radius:0; background:none; box-shadow:none; }
.profile-wallet .currency-ruble { width:20px; height:20px; }

/* A steady center and a slow halo; only the requested site-online indicator breathes. */
.quick-rail.mac-dock .rail-presence .dot { position:relative; display:inline-block; flex-shrink:0; width:5px; height:5px; border-radius:50%; opacity:1; background:color-mix(in srgb,var(--green) 80%,var(--text)); box-shadow:0 0 5px color-mix(in srgb,var(--green) 25%,transparent); }
.quick-rail.mac-dock .rail-presence .dot::before { content:''; position:absolute; inset:-6px; border-radius:50%; pointer-events:none; background:radial-gradient(circle,color-mix(in srgb,var(--green) 33%,transparent) 0,transparent 70%); opacity:.3; transform:scale(.75); animation:presence-light-breathe 3.8s cubic-bezier(.37,0,.63,1) infinite paused; }
body[data-light-motion=on] .quick-rail.mac-dock .rail-presence .dot::before { animation-play-state:running; }
@keyframes presence-light-breathe {
 0%,100% { opacity:.22; transform:scale(.7); }
 50% { opacity:.88; transform:scale(1.15); }
}
@media(prefers-reduced-motion:reduce) {
 .quick-rail.mac-dock .rail-presence .dot::before { animation:none; opacity:.3; transform:none; }
}

/* activity-v33.css */
.activity-showcase { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; container:activity-showcase / inline-size; }
.activity-card { display:flex; flex-direction:column; min-width:0; padding:21px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.activity-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:21px; }
.activity-heading h3 { display:flex; align-items:center; gap:10px; min-width:0; margin:0; color:var(--text); font-size:14px; font-weight:600; line-height:1.4; }
.activity-heading-icon { display:grid; place-items:center; flex:0 0 31px; width:31px; height:31px; border:1px solid var(--line); border-radius:9px; color:var(--accent); background:var(--surface-hi); }
.activity-heading-icon svg { width:17px; height:17px; }
.rank-switch { position:relative; isolation:isolate; display:flex; flex:0 0 166px; height:36px; padding:3px; border:1px solid var(--line); border-radius:9px; background:var(--surface-hi); }
.rank-switch::before { content:''; position:absolute; z-index:-1; left:3px; top:3px; bottom:3px; width:calc((100% - 6px)/2); border-radius:6px; background:var(--violet); transform:translateX(calc(var(--selected,0)*100%)); transition:transform 240ms cubic-bezier(.2,.65,.3,1); }
.rank-switch > button { flex:1; min-width:0; padding:0 10px; border:0; border-radius:6px; background:none; color:var(--muted); font-size:11px; font-weight:500; line-height:1.4; transition:color 220ms; }
.rank-switch > button[aria-selected=true] { color:var(--text); }
.rank-switch > button:hover { color:var(--text); }
.rank-switch > button:focus-visible { outline-offset:-2px; }
.rank-feature { position:relative; display:grid; grid-template-columns:54px minmax(0,1fr) auto; align-items:center; gap:14px; width:100%; min-height:100px; padding:18px; border:1px solid var(--accent-edge); border-radius:11px; background:linear-gradient(115deg,color-mix(in srgb,var(--violet) 22%,var(--surface)),color-mix(in srgb,var(--violet) 5%,var(--surface))); text-align:left; transition:border-color 280ms,box-shadow 280ms; }
.rank-feature:hover { border-color:var(--violet); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--violet) 12%,transparent); }
.rank-feature-avatar { position:relative; width:54px; height:54px; padding:3px; border:1px solid color-mix(in srgb,var(--accent) 36%,transparent); border-radius:50%; }
.rank-avatar { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; border:1px solid var(--line); border-radius:50%; overflow:hidden; background:var(--surface-hi); color:var(--accent); }
.rank-feature-avatar .rank-avatar { width:46px; height:46px; border:0; }
.rank-crown { position:absolute; right:-4px; bottom:-3px; display:grid; place-items:center; width:22px; height:22px; border:1px solid var(--accent-edge); border-radius:7px; background:var(--violet); color:var(--text); }
.rank-crown svg { width:13px; height:13px; }
.rank-feature-copy { display:flex; flex-direction:column; min-width:0; gap:5px; }
.rank-feature-copy > small { color:var(--accent); font-size:10px; line-height:1.4; }
.rank-feature-copy > strong { color:var(--text); font-size:17px; font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.rank-feature-score { display:flex; flex-direction:column; align-items:flex-end; gap:4px; font-variant-numeric:tabular-nums; }
.rank-feature-score b { color:var(--text); font-size:24px; font-weight:600; line-height:1.15; letter-spacing:-.5px; white-space:nowrap; }
.rank-feature-score small { color:var(--muted); font-size:9px; line-height:1.4; }
.rank-list { padding:8px 0 0; margin:0; list-style:none; }
.rank-list > li + li { border-top:1px solid color-mix(in srgb,var(--text) 4%,transparent); }
.rank-line { display:grid; grid-template-columns:23px 32px minmax(0,1fr) auto 12px; align-items:center; gap:11px; width:100%; min-height:55px; padding:9px 6px; border-radius:8px; text-align:left; transition:background-color 280ms; }
.rank-line:hover { background:var(--surface-hi); }
.rank-place { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
.rank-line > b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-size:12px; font-weight:500; }
.rank-line-score { color:var(--secondary); font-size:13px; font-weight:500; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rank-line > svg { width:12px; height:12px; color:var(--muted); opacity:.4; transition:opacity 280ms,color 280ms; }
.rank-line:hover > svg { opacity:1; color:var(--accent); }
.activity-store-link { display:flex; align-items:center; justify-content:center; gap:7px; min-height:32px; padding:0; color:var(--secondary); font-size:11px; }
.activity-store-link svg { width:14px; height:14px; }
.activity-store-link:hover { color:var(--accent); }
.recent-purchases { display:flex; flex-direction:column; gap:9px; }
.purchase-entry { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:5px 11px; min-width:0; padding:11px 13px; border:1px solid var(--line); border-radius:10px; background:var(--surface-hi); transition:border-color 280ms,background-color 280ms; }
.purchase-entry.is-latest { border-color:var(--accent-edge); background:linear-gradient(110deg,var(--accent-wash),var(--surface-hi)); }
.purchase-avatar { grid-row:1/3; display:grid; place-items:center; flex-shrink:0; width:34px; height:34px; border:1px solid var(--line); border-radius:9px; overflow:hidden; color:var(--accent); background:var(--surface); }
.purchase-entry-meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 10px; min-width:0; color:var(--secondary); font-size:10px; line-height:1.5; }
.purchase-entry-meta time { color:var(--muted); font-size:9px; white-space:nowrap; }
.purchase-detail { display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:0; min-height:39px; padding:0; border:0; border-radius:4px; text-align:left; }
.purchase-detail-copy { display:flex; flex-direction:column; min-width:0; gap:2px; }
.purchase-detail strong { display:flex; align-items:center; gap:6px; color:var(--text); font-size:14px; line-height:1.5; font-weight:550; }
.purchase-detail strong svg { width:14px; height:14px; color:var(--accent); }
.purchase-detail small { color:var(--muted); font-size:10px; line-height:1.5; }
.purchase-detail > svg { width:16px; height:16px; color:var(--muted); opacity:.5; transition:color 280ms,opacity 280ms; }
.purchase-entry:has(.purchase-detail:hover),.purchase-entry:focus-within { border-color:var(--accent-edge); }
.purchase-detail:hover > svg { color:var(--accent); opacity:1; }
.purchase-detail:hover strong { color:var(--accent); }
.activity-footer { display:flex; align-items:center; justify-content:flex-end; min-height:41px; margin-top:auto; padding-top:14px; }
.activity-footer > button { display:flex; align-items:center; gap:8px; min-height:28px; padding:0; color:var(--accent); font-size:11px; line-height:1.5; }
.activity-footer svg { width:14px; height:14px; }
.activity-footer button:hover { color:var(--text); }
@media(max-width:1050px) {
 .activity-showcase { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
 .activity-card { padding:18px; }
 .activity-heading { gap:13px; margin-bottom:17px; }
 .activity-heading h3 { font-size:13px; gap:8px; }
 .rank-switch { flex-basis:100%; max-width:100%; }
 .rank-feature { grid-template-columns:46px minmax(0,1fr) auto; gap:10px; padding:14px; min-height:93px; }
 .rank-feature-avatar { width:46px; height:46px; padding:3px; }
 .rank-feature-avatar .rank-avatar { width:38px; height:38px; }
 .rank-feature-copy > strong { font-size:15px; }
 .rank-feature-copy > small { font-size:9px; }
 .rank-feature-score b { font-size:20px; }
 .rank-line { gap:9px; grid-template-columns:19px 30px minmax(0,1fr) auto; }
 .rank-line .rank-avatar { width:30px; height:30px; }
 .rank-line > svg { display:none; }
 .rank-line > b { font-size:11px; }
 .rank-line-score { font-size:12px; }
 .purchase-entry { padding:11px; }
 .purchase-entry-meta { font-size:10px; }
 .purchase-entry-meta time { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) {
 .rank-switch::before,.rank-switch > button,.rank-feature,.rank-line,.rank-line > svg,.purchase-entry,.purchase-detail > svg { transition:none; }
}

/* purchases-v34.css */
/* The purchase feed has its own hierarchy; the accepted ranking stays intact. */
.purchases-card .activity-heading { margin-bottom:13px; }
.purchase-feed { display:flex; flex:1; flex-direction:column; justify-content:space-between; padding:0; margin:0; list-style:none; }
.purchase-line { position:relative; display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:14px; min-width:0; min-height:88px; padding:12px 0; }
.purchase-line:not(:last-child)::after { content:''; position:absolute; left:54px; right:0; bottom:0; height:1px; background:color-mix(in srgb,var(--text) 5%,transparent); }
.purchase-face { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--line); border-radius:50%; overflow:hidden; background:var(--surface-hi); color:var(--accent); }
.purchase-copy { display:flex; flex-direction:column; gap:7px; min-width:0; }
.purchase-person { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; min-width:0; line-height:1.4; }
.purchase-person .member-name { color:var(--text); font-size:13px; font-weight:500; }
.purchase-person time { color:var(--muted); font-size:10px; white-space:nowrap; }
.purchase-line-info { display:flex; align-items:center; flex-wrap:wrap; gap:7px 10px; min-width:0; }
.purchase-service { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:4px 8px; border:1px solid var(--accent-edge); border-radius:6px; color:var(--accent); background:var(--accent-wash); font-size:12px; line-height:1.5; font-weight:550; transition:background-color 260ms,border-color 260ms,color 260ms; }
.purchase-service > svg:first-child { width:15px; height:15px; }
.purchase-service > svg:last-child { width:11px; height:11px; margin-left:3px; color:var(--muted); transition:color 260ms; }
.purchase-service:is(:hover,:focus-visible) { color:var(--text); border-color:var(--violet); background:var(--violet); }
.purchase-service:is(:hover,:focus-visible) > svg:last-child { color:var(--text); }
.purchase-server { min-width:0; padding-left:10px; border-left:1px solid var(--line); color:var(--muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.purchases-card .activity-footer { min-height:41px; padding-top:12px; }
@media(max-width:600px) {
 .purchase-line { grid-template-columns:36px minmax(0,1fr); align-items:start; gap:12px; padding:14px 0; }
 .purchase-line:not(:last-child)::after { left:48px; }
 .purchase-face { width:36px; height:36px; margin-top:2px; }
 .purchase-person .member-name { font-size:12px; }
 .purchase-person time { font-size:9px; }
 .purchase-service { min-height:34px; }
 .purchase-server { flex-basis:100%; padding:0; border:0; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .purchase-service,.purchase-service > svg:last-child { transition:none; } }

/* community-history-v35.css */
.community-scroll { height:286px; max-height:52dvh; padding-right:6px; overflow-x:hidden; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--accent) 24%,transparent) transparent; overflow-anchor:none; border-radius:5px; }
.community-scroll:focus-visible { outline:1px solid var(--accent-edge); outline-offset:2px; }
.community-scroll::-webkit-scrollbar { width:5px; }
.community-scroll::-webkit-scrollbar-track { background:transparent; }
.community-scroll::-webkit-scrollbar-thumb { border-radius:8px; background:color-mix(in srgb,var(--accent) 24%,transparent); }
.community-scroll::-webkit-scrollbar-thumb:hover { background:color-mix(in srgb,var(--accent) 42%,transparent); }
.community-scroll .discussion-list { padding-top:5px; }
.community-scroll .discussion-meta time { color:var(--muted); font-size:inherit; font-variant-numeric:tabular-nums; }
.timeline-history { list-style:none; padding:6px 5px 0; margin:0; }
.timeline-history > li { position:relative; }
.timeline-history > li:not(:last-child)::before { content:''; position:absolute; left:13px; top:36px; bottom:-9px; width:1px; background:var(--line); pointer-events:none; }
.timeline-history .timeline-row { grid-template-columns:28px minmax(0,1fr) 47px 14px; min-height:64px; }
.timeline-history > li:first-child .timeline-marker { color:var(--accent); border-color:var(--accent-edge); background:var(--accent-wash); }
.timeline-history .timeline-row > time { display:flex; flex-direction:column; align-items:flex-end; gap:3px; white-space:nowrap; }
.timeline-history .timeline-row > time span { color:var(--muted); font-size:9px; }
.timeline-history .timeline-row > time b { color:var(--secondary); font-size:10px; font-weight:400; }
.history-tail { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px; min-height:29px; padding:5px 7px; color:var(--muted); font-size:10px; line-height:1.5; text-align:center; }
.history-tail button { min-height:28px; padding:2px 6px; color:var(--accent); }
.history-spinner { width:11px; height:11px; border:1px solid var(--accent-edge); border-top-color:var(--accent); border-radius:50%; animation:history-loading 900ms linear infinite; }
@keyframes history-loading { to { transform:rotate(360deg); } }
@media(max-width:600px) {
 .community-scroll { height:294px; padding-right:3px; }
 .community-scroll .discussion-meta > time { flex-basis:100%; }
 .timeline-history { padding-right:0; padding-left:0; }
 .timeline-history .timeline-row { grid-template-columns:28px minmax(0,1fr) 43px; }
 .timeline-history .timeline-row > time b { font-size:9px; }
}
@media(prefers-reduced-motion:reduce) { .history-spinner { animation:none; } }

/* chat-v38.css */
/* Conversation layout. The shared site tokens remain the only colour system. */
.chat-dock { background:var(--surface); border-left:1px solid var(--line); }
.chat-header { height:64px; min-height:64px; padding:0 16px 0 20px; gap:12px; background:var(--surface); border-color:var(--line); }
.chat-header > .chat-title { display:flex; flex:1; min-width:0; flex-direction:column; align-items:flex-start; gap:3px; }
.chat-title > b { color:var(--text); font-size:18px; line-height:21px; letter-spacing:-.3px; font-weight:600; }
.chat-header > .chat-header-actions { display:flex; flex:0 0 auto; gap:2px; align-items:center; }
.chat-header-actions .icon-button { position:relative; display:grid; place-items:center; width:29px; height:31px; border:1px solid transparent; border-radius:7px; color:var(--muted); background:transparent; }
.chat-header-actions .icon-button svg { width:16px; height:16px; }
.chat-header-actions .icon-button:hover,.chat-header-actions .icon-button[aria-expanded=true] { color:var(--text); background:var(--surface-hi); border-color:var(--line); }
.chat-header-actions .is-muted::after { content:''; position:absolute; width:19px; height:1.5px; transform:rotate(-45deg); background:currentColor; box-shadow:0 0 0 2px var(--surface); }
.chat-presence { display:block; min-width:0; max-width:100%; }
.chat-presence-avatars { display:none; }
.chat-presence-button { display:flex; align-items:center; gap:6px; max-width:100%; padding:0; color:var(--muted); font-size:10px; line-height:15px; text-align:left; }
.chat-presence-button span { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.chat-presence-button .dot { flex:none; width:5px; height:5px; margin:0; background:var(--green); box-shadow:none; animation:none; }
.chat-presence-button:hover,.chat-presence-button[aria-expanded=true] { color:var(--secondary); }
.chat-dock > .chat-pin { flex:none; margin:0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:color-mix(in srgb,var(--surface-hi) 35%,var(--surface)); }
.chat-pin summary { display:flex; align-items:center; gap:9px; padding:11px 20px; color:var(--secondary); font-size:11px; line-height:16px; }
.chat-pin summary > svg:first-child { color:var(--accent); width:13px; height:13px; }
.chat-pin summary > svg:last-child { width:12px; height:12px; color:var(--muted); }
.chat-pin p { padding:0 20px 12px 42px; color:var(--secondary); font-size:12px; line-height:1.6; }
.chat-scroll-area { isolation:isolate; }
.chat-dock .chat-messages { display:flex; flex-direction:column; padding:0 0 12px; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--muted) 30%,transparent) transparent; scrollbar-gutter:stable; scroll-padding-block:15px; }
.chat-messages::before { content:''; flex:1 0 20px; }
.chat-messages > * { flex-shrink:0; }
.chat-date { position:sticky; z-index:3; top:8px; align-self:center; width:auto; margin:0 20px 12px; padding:3px 10px; gap:0; border:1px solid var(--line); border-radius:15px; color:var(--muted); background:var(--surface-hi); font-size:10px; line-height:18px; text-transform:none; letter-spacing:0; }
.chat-date::before,.chat-date::after { display:none; }
.chat-dock .chat-message { position:relative; display:flex; align-items:flex-start; gap:12px; margin:0 0 3px; padding:10px 16px 10px 20px; border:0; border-radius:0; background:transparent; transition:background 180ms ease; }
.chat-message:hover,.chat-message:focus-within { background:color-mix(in srgb,var(--surface-hi) 45%,transparent); }
.chat-dock .chat-message.is-own { background:linear-gradient(90deg,color-mix(in srgb,var(--violet) 8%,var(--surface)),var(--surface) 96%); }
.chat-message.is-own::before { content:''; position:absolute; top:12px; bottom:12px; left:0; width:2px; background:var(--violet); border-radius:0 2px 2px 0; opacity:.7; }
.chat-dock .chat-message .chat-avatar-link,.chat-dock .chat-message .chat-avatar-link .avatar { flex:none; width:33px; height:33px; }
.chat-avatar-link { margin-top:2px; }
.chat-dock .chat-message .avatar { margin:0; border:1px solid var(--line); outline:none; background:var(--surface-hi); }
.chat-avatar-frame { inset:-6%; width:112%; height:112%; filter:saturate(.8); }
.chat-dock .chat-message-main { flex:1; min-width:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
.chat-person { display:flex; align-items:center; gap:8px; min-height:20px; margin:0 0 2px; }
.chat-person b { flex:0 1 auto; min-width:0; max-width:calc(100% - 67px); color:var(--text); font-weight:600; font-size:12.5px; line-height:20px; }
.chat-person .member-name { display:block; max-width:100%; color:inherit; }
.chat-message.is-own .chat-person b { color:var(--accent); }
.chat-person time { flex:none; margin:0; color:var(--muted); font-size:10px; line-height:20px; font-variant-numeric:tabular-nums; }
.chat-person button { flex:none; width:23px; height:21px; margin:0 0 0 auto; color:var(--muted); border-radius:5px; opacity:0; transition:opacity 180ms ease,background 180ms ease,color 180ms ease; }
.chat-person button svg { width:13px; height:13px; }
.chat-message:hover .chat-person button,.chat-message:focus-within .chat-person button { opacity:1; }
.chat-person button:hover { background:var(--surface-hi); color:var(--accent); }
.chat-dock .chat-message .chat-stack,.chat-dock .chat-message.has-cosmetic .chat-stack { position:relative; display:flex; flex-direction:column; gap:0; width:100%; min-width:0; overflow:hidden; isolation:isolate; padding:0; border:0; border-radius:0; background:none; }
.chat-dock .chat-message .chat-bubble,.chat-dock .chat-entry + .chat-entry .chat-bubble { width:100%; max-width:100%; padding:0; border:0; border-radius:0; background:none; color:var(--text); font-size:14px; line-height:22px; white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-entry + .chat-entry { padding-top:4px; margin-top:3px; border:0; }
.chat-entry-time { position:static; display:block; width:max-content; margin:3px 0 0 auto; padding:0; border-radius:0; color:var(--muted); background:none; opacity:1; font-size:9px; line-height:14px; }
.chat-plate-media { width:48%; max-width:125px; opacity:.09; mask-image:linear-gradient(90deg,transparent,#000 85%); transition:opacity 200ms ease; }
.chat-message:hover .chat-plate-media,.chat-message:focus-within .chat-plate-media { opacity:.15; }
.chat-plate-media > :is(img,video) { max-height:62px; object-fit:contain; }
.chat-quote { margin:3px 0 7px; padding:3px 0 3px 9px; border-left:2px solid var(--violet); border-radius:0; background:none; font-size:10px; line-height:16px; }
.chat-quote b { display:block; margin-bottom:1px; color:var(--accent); font-weight:500; }
.chat-quote span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; color:var(--secondary); white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-reactions { display:flex; flex-wrap:wrap; gap:4px; margin-top:5px; }
.chat-dock .chat-reactions .reaction { display:inline-flex; align-items:center; gap:5px; min-height:23px; padding:2px 7px; border:1px solid var(--line); border-radius:6px; color:var(--secondary); background:color-mix(in srgb,var(--surface-hi) 80%,transparent); font-size:10px; line-height:15px; }
.chat-dock .chat-reactions .reaction:hover { border-color:var(--accent-edge); color:var(--text); }
.chat-dock .chat-reactions .reaction[aria-pressed=true] { border-color:var(--accent-edge); color:var(--accent); background:var(--accent-wash); }
.chat-dock .chat-unread { padding:7px 11px; min-height:33px; max-width:calc(100% - 28px); border:1px solid var(--accent-edge); border-radius:9px; background:var(--surface-hi); color:var(--accent); font-size:10px; box-shadow:0 4px 14px #0005; }
.chat-unread-marker { margin:15px 20px; color:var(--accent); }
.chat-unread-marker::before,.chat-unread-marker::after { background:var(--accent-edge); }
.chat-input-area { position:relative; padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--line); background:var(--surface); }
.chat-input-area form { display:grid; grid-template-columns:30px minmax(0,1fr) 28px 32px; align-items:end; gap:0 4px; margin:0; padding:3px; border:1px solid color-mix(in srgb,var(--line) 90%,var(--muted)); border-radius:11px; background:var(--surface-hi); overflow:hidden; transition:border-color 200ms ease,box-shadow 200ms ease; }
.chat-input-area form:focus-within { border-color:var(--accent-edge); box-shadow:0 0 0 2px color-mix(in srgb,var(--violet) 6%,transparent); }
.chat-input-area textarea { grid-column:2; grid-row:1; display:block; min-width:0; width:100%; min-height:44px; max-height:132px; padding:12px 2px; border:0; border-radius:0; background:transparent; color:var(--text); font-size:13px; line-height:20px; resize:none; scrollbar-width:thin; }
.chat-input-area textarea::placeholder { color:var(--muted); opacity:1; }
.chat-input-area textarea:focus { outline:0; box-shadow:none; }
.chat-input-area .composer-attach { grid-column:1; grid-row:1; }
.chat-input-area .composer-emoji { grid-column:3; grid-row:1; }
.chat-input-area .icon-button { display:grid; place-items:center; width:28px; height:31px; margin-bottom:6px; padding:0; border:0; border-radius:7px; background:transparent; color:var(--muted); }
.chat-input-area .icon-button svg { width:17px; height:17px; }
.chat-input-area .icon-button:hover,.chat-input-area .icon-button[aria-expanded=true] { color:var(--accent); background:color-mix(in srgb,var(--accent) 7%,transparent); }
.chat-input-area .send-button { grid-column:4; grid-row:1; display:grid; place-items:center; align-self:end; width:32px; height:32px; margin:0 0 6px; padding:0; border:1px solid color-mix(in srgb,var(--violet) 80%,var(--text)); border-radius:8px; background:var(--violet); color:var(--text); box-shadow:inset 0 1px 0 #ffffff12; transform:none; transition:background 180ms ease; }
.chat-input-area .send-button:hover { background:var(--accent-hover); transform:none; }
.chat-input-area .send-button svg { width:16px; height:16px; }
.chat-input-area .send-button:disabled { opacity:.6; cursor:wait; }
.chat-char-count { grid-column:2 / 4; grid-row:2; margin:0; padding-bottom:5px; color:var(--muted); font-size:9px; font-variant-numeric:tabular-nums; text-align:right; }
.chat-char-count.is-limit { color:var(--accent); }
.chat-input-area .reply-preview { display:flex; align-items:center; gap:9px; margin:0 0 12px; padding:1px 0 1px 2px; border:0; border-radius:0; background:transparent; }
.reply-preview > svg { flex:none; width:16px; height:16px; color:var(--accent); transform:rotate(180deg); }
.reply-preview > span { flex:1; min-width:0; border-left:2px solid var(--violet); padding-left:8px; }
.reply-preview b,.reply-preview small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; line-height:16px; }
.reply-preview b { font-weight:500; color:var(--accent); }
.reply-preview small { color:var(--secondary); }
.reply-preview button { display:grid; place-items:center; flex:none; width:24px; height:25px; border-radius:5px; color:var(--muted); }
.reply-preview button svg { width:13px; height:13px; }
.reply-preview button:hover { color:var(--text); background:var(--surface-hi); }
.chat-login { min-height:44px; border:1px solid var(--accent-edge); border-radius:9px; background:var(--accent-wash); color:var(--accent); font-size:12px; }
.chat-dock .emoji-popover { left:16px; right:16px; bottom:var(--chat-composer-height,100px); max-width:calc(100% - 32px); max-height:calc(100dvh - var(--chat-composer-height,100px) - 80px); overflow:auto; padding:12px; border:1px solid var(--accent-edge); border-radius:11px; background:var(--surface-hi); box-shadow:0 8px 28px #0005; }
.emoji-popover button { min-height:34px; border-radius:7px; }
.emoji-popover button:hover,.emoji-popover button:focus-visible { background:var(--accent-wash); }
.chat-sound-popover,.chat-members-popover { position:absolute; z-index:6; top:58px; right:15px; width:min(280px,calc(100% - 30px)); max-height:calc(100dvh - 80px); overflow:auto; padding:12px; border:1px solid var(--accent-edge); border-radius:11px; background:var(--surface-hi); color:var(--text); box-shadow:0 10px 30px #0006; scrollbar-width:thin; }
.chat-members-popover { left:16px; right:auto; }
.chat-sound-popover > div,.chat-members-head { display:flex; align-items:center; justify-content:space-between; padding:0 1px 8px 5px; border-bottom:1px solid var(--line); }
.chat-sound-popover h3,.chat-members-head h3 { margin:0; font-size:12px; font-weight:600; }
:is(.chat-sound-popover,.chat-members-popover) .icon-button { display:grid; place-items:center; width:25px; height:25px; padding:0; border:0; border-radius:6px; color:var(--muted); background:transparent; }
:is(.chat-sound-popover,.chat-members-popover) .icon-button:hover { color:var(--text); background:var(--accent-wash); }
:is(.chat-sound-popover,.chat-members-popover) .icon-button svg { width:13px; height:13px; }
.chat-sound-popover [role=switch] { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:45px; padding:8px 6px; color:var(--secondary); font-size:11px; text-align:left; border-radius:7px; }
.chat-sound-popover [role=switch]:hover { background:color-mix(in srgb,var(--accent) 4%,transparent); color:var(--text); }
.chat-sound-popover [role=switch] > i { position:relative; flex:none; width:31px; height:18px; border:1px solid var(--line); border-radius:12px; background:var(--surface); transition:background 180ms ease; }
.chat-sound-popover [role=switch] > i::after { content:''; position:absolute; left:3px; top:3px; width:10px; height:10px; border-radius:50%; background:var(--muted); transition:transform 180ms ease,background 180ms ease; }
.chat-sound-popover [aria-checked=true] > i { background:var(--violet); border-color:var(--violet); }
.chat-sound-popover [aria-checked=true] > i::after { transform:translateX(13px); background:var(--text); }
.chat-member-row { display:flex; align-items:center; gap:10px; min-width:0; padding:12px 4px 0; }
.chat-member-row .avatar { flex:none; width:30px; height:30px; margin:0; border:1px solid var(--line); }
.chat-member-row .member-name { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; font-size:12px; font-weight:500; }
.chat-member-row .dot { flex:none; width:5px; height:5px; background:var(--green); box-shadow:none; }
.chat-member-row > button { flex:none; margin-left:3px; }
.chat-member-row > [data-chat-mention] { color:var(--accent); font-size:16px; font-weight:500; }
.chat-dock :is(button,a,summary):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:1450px) and (min-width:1280px) { .chat-header { padding-inline:15px 10px; gap:5px; } .chat-dock .chat-message { padding-inline:15px 10px; gap:10px; } .chat-input-area { padding-inline:11px; } .chat-person { gap:6px; } }
@media(max-width:1279px) { .chat-forced-open .chat-dock { z-index:35; width:min(360px,100vw); box-shadow:-14px 0 45px #0006; } .chat-forced-open .chat-messages { padding-inline:0; } }
@media(max-width:600px) { .chat-forced-open .chat-dock { width:100vw; } }
@media(pointer:coarse) { .chat-person button { opacity:1; width:26px; height:23px; } .chat-input-area textarea { font-size:16px; } }
@media(max-height:540px) { .chat-input-area { padding-block:9px; } .chat-input-area textarea { max-height:76px; } .chat-pin summary { padding-block:7px; } }
@media(prefers-reduced-motion:reduce) { .chat-dock *, .chat-dock *::before,.chat-dock *::after { transition:none!important; animation:none!important; } }

/* Message controls and quieter reading states. */
.chat-date { position:relative; top:auto; z-index:auto; }
.chat-person { padding-right:58px; }
.chat-message-actions { position:absolute; z-index:4; top:7px; right:12px; display:flex; align-items:center; gap:1px; padding:2px; border:1px solid var(--line); border-radius:7px; color:var(--muted); background:var(--surface-hi); box-shadow:0 2px 6px #0002; opacity:0; transform:translateY(2px); pointer-events:none; transition:opacity 160ms ease,transform 180ms ease; }
.chat-message:hover .chat-message-actions,.chat-message:focus-within .chat-message-actions,.chat-message.has-reaction-picker .chat-message-actions { opacity:1; transform:translateY(0); pointer-events:auto; }
.chat-message-actions button { display:grid; place-items:center; width:24px; height:23px; padding:0; border:0; border-radius:5px; color:var(--muted); background:transparent; }
.chat-message-actions button:hover,.chat-message-actions button[aria-expanded=true] { color:var(--accent); background:var(--accent-wash); }
.chat-message-actions button svg { width:14px; height:14px; }
.chat-message-actions [data-reply-person] svg { transform:rotate(180deg); }
.chat-message.is-grouped .chat-entry.is-action-target { outline:1px solid var(--line); outline-offset:3px; border-radius:3px; background:color-mix(in srgb,var(--surface-hi) 50%,transparent); }
.chat-entry.is-chat-target { outline:1px solid var(--accent-edge); outline-offset:4px; border-radius:3px; background:var(--accent-wash); transition:background 300ms ease,outline-color 300ms ease; }
.chat-quote { position:relative; padding:4px 16px 4px 9px; font-size:11px; line-height:17px; }
.chat-quote[role=button] { cursor:pointer; border-radius:0 4px 4px 0; transition:background 170ms ease; }
.chat-quote[role=button]:hover { background:var(--accent-wash); }
.chat-quote[role=button]:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.chat-quote-arrow { position:absolute; top:5px; right:2px; width:11px; height:11px; color:var(--muted); opacity:.6; }
.chat-quote[role=button]:hover .chat-quote-arrow { color:var(--accent); opacity:1; }
.chat-dock .chat-reactions .reaction { transition:background 170ms ease,border-color 170ms ease,color 170ms ease; font-variant-numeric:tabular-nums; }
.chat-reaction-popover { position:absolute; z-index:9; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; width:198px; padding:7px; border:1px solid var(--accent-edge); border-radius:10px; background:var(--surface-hi); box-shadow:0 6px 20px #0005; }
.chat-reaction-popover button { display:grid; place-items:center; min-width:0; width:34px; height:34px; padding:0; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--text); font:400 18px/1 system-ui,sans-serif; }
.chat-reaction-popover button:hover,.chat-reaction-popover button[aria-pressed=true] { border-color:var(--accent-edge); background:var(--accent-wash); }
.chat-input-area form[data-has-draft=false] .send-button:not([aria-busy=true]) { background:var(--surface); border-color:var(--line); color:var(--muted); box-shadow:none; }
.chat-input-area .send-button:disabled:not([aria-busy=true]) { cursor:default; opacity:.65; }
@media(max-width:1450px) and (min-width:1280px) { .chat-message-actions { right:8px; } }
@media(pointer:coarse) { .chat-message-actions { top:8px; opacity:1; transform:none; pointer-events:auto; box-shadow:none; background:transparent; border-color:transparent; } .chat-message-actions button { width:27px; height:25px; } .chat-person { padding-right:64px; } }

.chat-dock .chat-message .chat-stack,.chat-dock .chat-message.has-cosmetic .chat-stack { overflow:visible; }

/* rules-v39.css */
/* Rules use the same surfaces, accents and icon system as the home page. */
.rules-view { margin-bottom:32px; color:var(--text); }
.rules-view button,.rules-choice-menu button { -webkit-tap-highlight-color:transparent; }
.rules-page-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 0 25px; }
.rules-back { display:inline-flex; align-items:center; gap:7px; min-height:28px; margin:0 0 9px; padding:0; color:var(--muted); font-size:11px; transition:color 180ms ease; }
.rules-back svg { width:13px; height:13px; transform:rotate(180deg); }
.rules-back:hover { color:var(--text); }
.rules-page-heading h1 { margin:0; font:600 32px/1.15 Display,Arial,sans-serif; letter-spacing:.3px; text-transform:uppercase; }
.rules-page-emblem { display:grid; place-items:center; width:39px; height:39px; margin-bottom:1px; border:1px solid var(--line); border-radius:11px; background:var(--surface); color:var(--accent); }
.rules-page-emblem svg { width:21px; height:21px; }
.rules-open-chat { display:none; align-items:center; justify-content:center; flex-shrink:0; width:39px; height:39px; border:1px solid var(--line); border-radius:11px; background:var(--surface); color:var(--accent); transition:background 180ms ease,border-color 180ms ease; }
.rules-open-chat svg { width:19px; height:19px; }
.rules-open-chat:hover { background:var(--accent-wash); border-color:var(--accent-edge); }
body:has(#rules-view) .restore-chat { display:none!important; }
.chat-collapsed .rules-open-chat { display:flex; }
.chat-collapsed .rules-page-emblem { display:none; }
.rules-view .rules-tools { display:grid; grid-template-columns:minmax(230px,300px) minmax(0,1fr); align-items:start; gap:16px 20px; margin:0 0 22px; padding:20px 22px 0; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.rules-server-field,.rules-search-group { display:flex; min-width:0; flex-direction:column; gap:8px; }
.rules-field-label,.rules-search-group > label { display:block; color:var(--secondary); font-size:11px; font-weight:500; line-height:1.5; }
.rules-choice { min-width:0; }
.rules-choice select[hidden] { display:none!important; }
.rules-choice-trigger { display:flex; align-items:center; gap:11px; width:100%; min-height:46px; padding:8px 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface-hi); text-align:left; transition:border-color 180ms ease,background 180ms ease; }
.rules-choice-trigger:hover { border-color:color-mix(in srgb,var(--secondary) 28%,transparent); }
.rules-choice-trigger[aria-expanded="true"] { border-color:var(--accent-edge); background:var(--accent-wash); }
.rules-choice-trigger > svg:first-child { flex-shrink:0; width:18px; height:18px; color:var(--accent); }
.rules-choice-trigger > svg:last-child { flex-shrink:0; width:14px; height:14px; margin-left:auto; color:var(--muted); transition:transform 180ms ease; }
.rules-choice-trigger[aria-expanded="true"] > svg:last-child { transform:rotate(180deg); }
.rules-choice-value { display:flex; align-items:baseline; gap:8px; flex:1; min-width:0; flex-wrap:wrap; }
.rules-choice-value b { min-width:0; color:var(--text); font-size:12px; font-weight:550; line-height:1.5; overflow-wrap:anywhere; }
.rules-choice-value small { color:var(--muted); font-size:10px; line-height:1.5; }
.rules-view .rules-search-input { display:flex; align-items:center; min-width:0; gap:11px; height:46px; padding:0 8px 0 13px; border:1px solid var(--line); border-radius:9px; background:var(--surface-hi); box-shadow:none; transition:border-color 180ms ease; }
.rules-view .rules-search-input:focus-within { border-color:var(--accent); box-shadow:none; }
.rules-search-input > svg { flex-shrink:0; width:17px; height:17px; color:var(--muted); }
.rules-search-input input { width:100%; min-width:0; height:100%; padding:0; border:0; outline:0; border-radius:0; background:none; color:var(--text); font-size:12px; }
.rules-view .rules-search-input input:focus-visible { outline:none; box-shadow:none; }
.rules-search-input input::placeholder { color:var(--muted); }
.rules-search-input input::-webkit-search-cancel-button { display:none; }
.rules-search-input button { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; padding:0; border-radius:7px; color:var(--secondary); transition:background 180ms ease,color 180ms ease; }
.rules-search-input button:hover { color:var(--text); background:var(--accent-wash); }
.rules-search-input button svg { width:14px; height:14px; }
.rules-search-input kbd { display:grid; place-items:center; flex-shrink:0; width:22px; height:24px; margin-right:4px; border:1px solid var(--line); border-radius:5px; color:var(--muted); font:inherit; font-size:11px; line-height:1; }
.rules-tools-footer { grid-column:1/-1; display:flex; align-items:center; min-height:43px; margin-top:0; border-top:1px solid var(--line); }
.rules-scope { display:flex; align-items:center; gap:9px; width:fit-content; min-height:38px; color:var(--secondary); font-size:11px; line-height:1.5; cursor:pointer; }
.rules-scope input { flex-shrink:0; width:14px; height:14px; margin:0; accent-color:var(--violet); cursor:pointer; }
.rules-server-notice { margin:-6px 0 20px; padding:0 2px; color:var(--secondary); font-size:12px; line-height:1.7; }
.rules-layout-v20 { display:grid; grid-template-columns:264px minmax(0,1fr); align-items:start; gap:20px; }
.rules-navigation { position:sticky; top:calc(var(--top) + 18px); display:flex; flex-direction:column; min-width:0; max-height:calc(100dvh - var(--top) - 116px); padding:18px 10px 10px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.rules-navigation-head { display:flex; align-items:center; flex-shrink:0; gap:10px; margin:0 10px 14px; }
.rules-navigation-icon,.rules-view .rules-content-icon { display:grid; place-items:center; flex-shrink:0; width:31px; height:31px; border:1px solid var(--line); border-radius:9px; background:var(--surface-hi); color:var(--accent); box-shadow:none; }
.rules-navigation-icon svg,.rules-content-icon svg { width:17px; height:17px; }
.rules-navigation-head h2 { flex:1; margin:0; color:var(--text); font-size:13px; font-weight:600; }
.rules-navigation-head > span:last-child { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
.rules-section-list { display:flex; flex-direction:column; gap:3px; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:var(--line) transparent; overscroll-behavior:contain; }
.rules-view .rules-section-item { position:relative; display:flex; align-items:center; flex-shrink:0; gap:9px; width:100%; min-height:48px; padding:10px; border:1px solid transparent; border-radius:8px; background:none; text-align:left; box-shadow:none; transition:background 180ms ease,border-color 180ms ease; }
.rules-view .rules-section-item:hover { border-color:transparent; background:color-mix(in srgb,var(--surface-hi) 65%,transparent); }
.rules-view .rules-section-item.is-active { border-color:var(--accent-edge); background:var(--accent-wash); box-shadow:none; }
.rules-view .rules-section-item.is-active::before { content:none; }
.rules-view .rules-section-icon { display:grid; place-items:center; flex-shrink:0; width:20px; height:22px; border:0; border-radius:0; background:none; color:var(--muted); box-shadow:none; }
.rules-section-icon svg { width:16px; height:16px; }
.rules-view .rules-section-item.is-active .rules-section-icon { background:none; color:var(--accent); box-shadow:none; }
.rules-section-copy { flex:1; min-width:0; }
.rules-section-copy b { display:block; color:var(--secondary); font-size:11px; line-height:1.6; font-weight:500; overflow-wrap:anywhere; }
.rules-section-item.is-active .rules-section-copy b { color:var(--text); }
.rules-section-count { flex-shrink:0; min-width:15px; color:var(--muted); font-size:10px; text-align:right; font-variant-numeric:tabular-nums; }
.rules-section-item.is-active .rules-section-count { color:var(--accent); }
.rules-mobile-section { display:none; }
.rules-content-v20 { min-width:0; padding:23px 24px 7px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.rules-content-head { display:flex; align-items:center; gap:12px; min-width:0; padding-bottom:21px; border-bottom:1px solid var(--line); scroll-margin-top:calc(var(--top) + 22px); }
.rules-content-heading { flex:1; min-width:0; }
.rules-content-head h2 { margin:0; color:var(--text); font-size:17px; line-height:1.45; font-weight:600; overflow-wrap:anywhere; }
.rules-content-description { margin:5px 0 0; color:var(--muted); font-size:11px; line-height:1.65; overflow-wrap:anywhere; }
.rules-result-count { display:flex; align-items:center; flex-shrink:0; gap:7px; margin-left:auto; color:var(--muted); font-size:10px; }
.rules-result-count b { min-width:2ch; color:var(--secondary); font-size:11px; font-weight:550; font-variant-numeric:tabular-nums; }
.rules-result-group + .rules-result-group { margin-top:15px; }
.rules-result-section { display:flex; align-items:center; gap:9px; margin:0; padding:24px 0 5px; color:var(--accent); font-size:12px; font-weight:550; line-height:1.6; }
.rules-result-section > span { color:var(--muted); font-size:10px; }
.rules-view .rules-item { scroll-margin:calc(var(--top) + 22px) 0 100px; min-width:0; margin:0; padding:22px 0 24px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; box-shadow:none; transition:background 180ms ease; }
.rules-item:last-child { border-bottom-color:transparent; }
.rules-view .rules-item.is-linked { border:0; border-bottom:1px solid var(--line); border-radius:8px; background:var(--accent-wash); box-shadow:inset 3px 0 var(--violet); padding-left:15px; padding-right:15px; }
.rules-item-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:8px; }
.rules-item-heading > div { display:flex; align-items:baseline; flex:1; min-width:0; gap:10px; min-height:32px; padding-top:3px; }
.rules-item-heading h3 { min-width:0; margin:0; color:var(--text); font-size:14px; line-height:1.65; font-weight:600; overflow-wrap:anywhere; }
.rules-view .rules-number { display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:33px; min-height:26px; padding:2px 7px; border:1px solid var(--line); border-radius:6px; background:var(--surface-hi); color:var(--accent); font-size:10px; font-weight:550; font-variant-numeric:tabular-nums; box-shadow:none; }
.rules-term-mark { display:none; }
.rules-view .rules-copy { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; padding:0; border:1px solid transparent; border-radius:8px; background:none; color:var(--muted); box-shadow:none; transition:color 180ms ease,background 180ms ease,border-color 180ms ease; }
.rules-view .rules-copy:hover,.rules-view .rules-copy:focus-visible { color:var(--accent); border-color:var(--accent-edge); background:var(--accent-wash); box-shadow:none; }
.rules-copy svg { width:15px; height:15px; }
.rules-view .rules-copy.is-copied { color:var(--green); border-color:var(--line); background:var(--surface-hi); }
.rules-item-body > p { max-width:78ch; margin:0; color:var(--secondary); font-size:13px; line-height:1.85; white-space:pre-line; overflow-wrap:anywhere; }
.rules-penalty { display:flex; align-items:baseline; gap:12px; margin-top:16px; padding:10px 12px; border-left:2px solid var(--accent-edge); border-radius:0 7px 7px 0; background:color-mix(in srgb,var(--violet) 6%,var(--surface)); }
.rules-penalty > span { flex-shrink:0; color:var(--accent); font-size:10px; font-weight:500; }
.rules-penalty > p { margin:0; color:var(--secondary); font-size:12px; line-height:1.75; overflow-wrap:anywhere; }
.rules-view mark { padding:1px 2px; border-radius:3px; background:color-mix(in srgb,var(--violet) 32%,transparent); color:var(--text); }
.rules-section-note { margin:18px 0; color:var(--muted); font-size:11px; line-height:1.8; }
.rules-empty { display:flex; align-items:center; flex-direction:column; justify-content:center; min-height:290px; padding:30px 15px; text-align:center; }
.rules-empty > svg { width:25px; height:25px; margin-bottom:16px; color:var(--muted); }
.rules-empty h3 { margin:0; color:var(--text); font-size:15px; font-weight:600; }
.rules-empty p { max-width:340px; margin:10px 0 22px; color:var(--muted); font-size:12px; line-height:1.8; }
.rules-view .rules-empty .button { min-height:38px; border:1px solid var(--line); border-radius:8px; background:var(--surface-hi); color:var(--text); font-size:11px; box-shadow:none; }
.rules-link-fallback { display:block; width:100%; margin-top:14px; padding:10px; border:1px solid var(--accent-edge); border-radius:7px; background:var(--surface-hi); color:var(--secondary); font-size:11px; }
.rules-view button:focus-visible,.rules-choice-menu button:focus-visible,.rules-link-fallback:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.rules-choice-menu { position:fixed; z-index:49; padding:5px; border:1px solid var(--line); border-radius:11px; background:var(--surface-hi); box-shadow:0 16px 40px #0006; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.rules-choice-option { display:flex; align-items:center; gap:10px; width:100%; min-height:46px; padding:9px 10px; border:1px solid transparent; border-radius:7px; background:none; text-align:left; color:var(--secondary); transition:background 150ms ease; }
.rules-choice-option > svg:first-child { flex-shrink:0; width:17px; height:17px; color:var(--muted); }
.rules-choice-option > svg:last-child { flex-shrink:0; width:14px; height:14px; margin-left:auto; color:var(--accent); opacity:0; }
.rules-choice-option[aria-selected="true"] { color:var(--text); background:var(--accent-wash); }
.rules-choice-option[aria-selected="true"] > svg { color:var(--accent); opacity:1; }
.rules-choice-option:hover,.rules-choice-option:focus-visible { border-color:var(--accent-edge); background:var(--accent-wash); }
.rules-choice-option:focus-visible { outline:none!important; }
.rules-choice-option .rules-choice-value b { color:inherit; }
@media(max-width:1450px) {
 .rules-layout-v20 { grid-template-columns:238px minmax(0,1fr); gap:16px; }
 .rules-content-v20 { padding:20px 21px 5px; }
 .rules-view .rules-tools { grid-template-columns:270px minmax(0,1fr); }
}
@media(max-width:1000px) {
 .rules-layout-v20 { grid-template-columns:215px minmax(0,1fr); }
 .rules-view .rules-tools { grid-template-columns:240px minmax(0,1fr); }
 .rules-result-count { flex-direction:column-reverse; gap:3px; align-items:flex-end; }
 .rules-section-copy b { font-size:10px; }
 .rules-view .rules-section-item { padding:9px 7px; gap:7px; }
}
@media(max-width:1279px) {
 .rules-open-chat { display:flex; }
 .rules-page-emblem { display:none; }
}
@media(max-width:760px) {
 .rules-page-heading { margin-bottom:21px; }
 .rules-page-heading h1 { font-size:28px; }
 .rules-page-emblem { width:34px; height:34px; border-radius:9px; }
 .rules-page-emblem svg { width:18px; height:18px; }
 .rules-open-chat { width:34px; height:34px; border-radius:9px; }
 .rules-view .rules-tools { grid-template-columns:minmax(0,1fr); gap:17px; padding:17px 17px 0; margin-bottom:16px; }
 .rules-search-input kbd { display:none; }
 .rules-tools-footer { margin-top:-2px; }
 .rules-layout-v20 { grid-template-columns:minmax(0,1fr); gap:12px; }
 .rules-navigation { top:calc(var(--top) + 8px); z-index:10; max-height:none; padding:8px; border-radius:11px; box-shadow:0 5px 16px #0003; }
 .rules-navigation-head,.rules-section-list { display:none; }
 .rules-mobile-section { display:block; }
 .rules-mobile-section .rules-choice-trigger { background:var(--surface); border-color:transparent; padding:6px; }
 .rules-mobile-section .rules-choice-value { flex-direction:column; align-items:flex-start; gap:1px; }
 .rules-mobile-section .rules-choice-value b { font-size:12px; }
 .rules-mobile-section .rules-choice-value small { font-size:9px; }
 .rules-mobile-section .rules-choice-trigger[aria-expanded="true"] { background:var(--accent-wash); }
 .rules-content-v20 { padding:19px 17px 2px; }
 .rules-content-head { align-items:flex-start; gap:10px; padding-bottom:18px; scroll-margin-top:calc(var(--top) + 85px); }
 .rules-content-head h2 { font-size:16px; }
 .rules-view .rules-content-icon { width:29px; height:29px; border-radius:8px; }
 .rules-content-description { font-size:10px; }
 .rules-result-count { padding-top:3px; font-size:9px; }
 .rules-result-count b { font-size:11px; }
 .rules-view .rules-item { padding-top:18px; padding-bottom:20px; scroll-margin-top:calc(var(--top) + 85px); }
 .rules-item-heading { gap:8px; margin-bottom:6px; }
 .rules-item-heading > div { gap:8px; }
 .rules-item-heading h3 { font-size:13px; }
 .rules-item-body > p { font-size:12px; line-height:1.9; }
 .rules-penalty { flex-direction:column; gap:4px; padding:9px 11px; }
 .rules-penalty > p { font-size:11px; }
 .rules-empty { min-height:270px; padding:25px 0; }
 .rules-copy { min-width:36px; min-height:36px; }
}
@media(pointer:coarse) {
 .rules-view .rules-copy { width:40px; height:40px; }
 .rules-scope { min-height:44px; }
 .rules-choice-option { min-height:50px; }
}
@media(prefers-reduced-motion:reduce) {
 .rules-view *,.rules-choice-menu * { transition:none!important; scroll-behavior:auto!important; }
}

/* server-details-v42.css */
.modal.is-server-detail { width:720px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); padding:0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:0 24px 80px #0007; }
.modal.is-server-detail #modal-content { display:flex; min-width:0; max-height:calc(100dvh - 34px); }
.is-server-detail .modal-close { top:18px; right:18px; z-index:3; width:32px; height:32px; border:1px solid var(--line); border-radius:8px; background:var(--surface-hi); color:var(--secondary); }
.server-detail { display:flex; flex-direction:column; min-width:0; min-height:0; width:100%; }
.server-detail-head { display:flex; align-items:flex-start; flex-shrink:0; gap:14px; min-width:0; padding:25px 61px 23px 25px; }
.server-detail-head > div { min-width:0; }
.server-detail-emblem { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; border:1px solid var(--accent-edge); border-radius:12px; background:var(--accent-wash); color:var(--accent); }
.server-detail-emblem svg { width:22px; height:22px; }
.is-server-detail .server-detail-head h2 { margin:0; color:var(--text); font-size:23px; font-weight:600; line-height:1.35; letter-spacing:-.5px; overflow-wrap:anywhere; }
.is-server-detail .server-detail-head p { margin:8px 0 0; color:var(--muted); font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.server-detail-scroll { flex:1 1 306px; height:306px; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:var(--line) transparent; overscroll-behavior:contain; }
.server-detail-panel { min-height:0; padding:23px 25px; }
.server-detail-panel:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.server-detail h3 { margin:0; color:var(--muted); font-size:11px; font-weight:500; line-height:1.5; }
.server-detail-footer { display:flex; align-items:flex-end; flex-shrink:0; gap:15px; padding:20px 25px 24px; border-top:1px solid var(--line); background:color-mix(in srgb,var(--surface-hi) 18%,var(--surface)); }
.server-detail-address { flex:1; min-width:0; }
.server-address-caption { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 10px; margin:0 0 9px; min-height:15px; }
.server-address-caption label { color:var(--muted); font-size:10px; line-height:1.5; }
.server-detail-feedback { margin-left:auto; color:var(--accent); font-size:10px; line-height:1.5; }
.server-detail-input { display:flex; align-items:center; min-width:0; min-height:43px; padding:4px; border:1px solid var(--line); border-radius:8px; background:var(--surface-hi); transition:border-color 180ms ease; }
.server-detail-input:focus-within { border-color:var(--accent-edge); }
.server-detail-input input { flex:1; width:0; min-width:0; height:32px; padding:0 9px; border:0; border-radius:3px; background:none; color:var(--text); font:12px/1.4 Consolas,monospace; }
.server-detail-input input:focus-visible { outline:1px solid var(--accent); outline-offset:1px; }
.server-detail-copy { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; padding:0; border:1px solid transparent; border-radius:6px; background:none; color:var(--muted); transition:color 180ms ease,background 180ms ease; }
.server-detail-copy svg { width:15px; height:15px; }
.server-detail-copy:hover { background:var(--accent-wash); color:var(--accent); }
.server-detail-join { display:flex; align-items:center; justify-content:center; flex-shrink:0; gap:10px; min-height:43px; max-width:100%; padding:11px 17px; border:1px solid transparent; border-radius:8px; background:var(--violet); color:var(--text); font-size:12px; font-weight:600; line-height:1.5; transition:background 200ms ease; }
.server-detail-join > span { min-width:0; overflow-wrap:anywhere; }
.server-detail-join svg { flex-shrink:0; width:14px; height:14px; }
.server-detail-join svg:first-child { width:15px; height:15px; }
.server-detail-join:hover { background:var(--accent-hover); }
.server-board button:focus-visible,.server-detail :is(button,a):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:1450px) {
 .server-summary > span { padding:0 19px; }
}
@media(max-width:760px) {
 .server-card-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
 .server-summary { grid-template-columns:1fr 1fr; gap:16px 0; padding:17px 0; }
 .server-summary > span { padding:0 18px; gap:6px; }
 .server-summary > span:nth-child(3) { border-left:0; }
 .server-summary b { font-size:20px; }
 .server-summary > span > span { font-size:9px; }
 .modal.is-server-detail { max-width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:13px; }
 .modal.is-server-detail #modal-content { max-height:calc(100dvh - 22px); }
 .server-detail-head { padding:22px 53px 22px 20px; gap:11px; }
 .server-detail-emblem { width:35px; height:35px; border-radius:10px; }
 .server-detail-emblem svg { width:19px; height:19px; }
 .is-server-detail .server-detail-head h2 { font-size:21px; }
 .is-server-detail .modal-close { top:15px; right:14px; width:30px; height:30px; }
 .server-detail-panel { padding:20px; }
 .server-detail-footer { flex-direction:column; align-items:stretch; gap:12px; padding:17px 20px 20px; }
 .server-detail-join { width:100%; }
 .server-detail-join > svg:last-child { margin-left:auto; }
 .server-detail-input input { font-size:12px; }
}
@media(max-width:400px) {
 .server-detail-head { padding-left:17px; padding-bottom:19px; }
 .server-detail-emblem { display:none; }
 .server-detail-panel { padding:19px 17px; }
 .server-detail-footer { padding-left:17px; padding-right:17px; }
}
@media(pointer:coarse) {
 .server-detail-copy { width:36px; height:36px; }
 .server-detail-join { min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
 .server-board *,.server-detail * { transition:none!important; scroll-behavior:auto!important; }
}

/* Compact list, with a server card for players, bans, rules and services. */
.server-row .server-name,.server-row:first-child .server-name { display:inline-flex; align-items:center; gap:8px; max-width:100%; margin-bottom:6px; color:var(--text); font-size:18px; line-height:1.45; font-weight:600; letter-spacing:-.2px; text-align:left; white-space:normal; transition:color 180ms ease; }
.server-row .server-name:hover { color:var(--accent); }
.server-name small { flex-shrink:0; border-color:var(--line); color:var(--muted); font-size:9px; font-weight:450; letter-spacing:0; }
.server-description { min-width:0; }
.server-description p { color:var(--secondary); font-size:11px; line-height:1.7; }
.server-map { color:var(--muted); font-size:11px; }
.server-mode,.server-row:first-child .server-mode { border-color:var(--line); background:var(--surface-hi); color:var(--secondary); }
.server-row:first-child .server-mode { border-color:var(--accent-edge); background:var(--accent-wash); color:var(--accent); }
.server-hub > .hero-border-light,.server-hub > .hero-inner-light { display:none; }
.server-hub.light-hero { box-shadow:none; }
.server-copy.is-copied,.server-detail-copy.is-copied { color:var(--green); }
.modal.is-server-detail { width:680px; }
.is-server-detail .server-detail-head h2 { font-size:22px; }
.server-detail-meta { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:14px; margin:0 25px; padding:15px 0 18px; border-top:1px solid var(--line); }
.server-detail-meta > span { display:flex; align-items:center; min-width:0; gap:10px; }
.server-detail-meta > span > svg { flex-shrink:0; width:18px; height:18px; color:var(--muted); }
.server-detail-meta > span > span { display:flex; align-items:flex-start; flex-direction:column; min-width:0; gap:5px; color:var(--muted); font-size:10px; line-height:1.5; }
.server-detail-meta b { color:var(--secondary); font-size:12px; font-weight:500; overflow-wrap:anywhere; }
.server-detail-meta > span:first-child b { font-family:Consolas,monospace; }
.server-detail-meta > span:last-child > span { align-items:flex-end; }
.server-detail-meta > span:last-child b { color:var(--text); font-size:17px; font-weight:600; font-variant-numeric:tabular-nums; }
.server-detail-meta small { color:var(--muted); font-size:11px; font-weight:450; }
.server-detail-scroll { flex-basis:332px; height:332px; }
.server-detail-panel { padding:19px 25px 20px; }
.server-list-search { display:flex; align-items:center; gap:9px; min-width:0; min-height:38px; padding:3px 7px 3px 11px; margin-bottom:17px; border:1px solid var(--line); border-radius:8px; background:var(--surface-hi); transition:border-color 180ms ease; }
.server-list-search:focus-within { border-color:var(--accent-edge); }
.server-list-search > svg { flex-shrink:0; width:15px; height:15px; color:var(--muted); }
.server-list-search input { flex:1; width:0; min-width:0; height:30px; padding:0; border:0; outline:0; background:none; color:var(--text); font-size:11px; }
.server-list-search input::placeholder { color:var(--muted); }
.server-list-search input::-webkit-search-cancel-button { display:none; }
.server-list-search input:focus-visible { outline:none; }
.server-list-search > button { display:grid; place-items:center; flex-shrink:0; width:28px; height:28px; padding:0; border-radius:6px; color:var(--muted); }
.server-list-search > button:hover { color:var(--text); background:var(--accent-wash); }
.server-list-search > button svg { width:13px; height:13px; }
.server-roster-head,.server-player { display:grid; grid-template-columns:minmax(0,1fr) 62px 62px 12px; align-items:center; gap:12px; }
.server-roster-head { padding:0 10px 9px; color:var(--muted); font-size:9px; line-height:1.5; }
.server-roster-head > span:nth-child(2),.server-roster-head > span:nth-child(3) { text-align:right; }
.server-roster { list-style:none; margin:0; padding:0; }
.server-player { width:100%; min-height:46px; padding:9px 10px; border:1px solid transparent; border-bottom-color:var(--line); border-radius:0; background:none; text-align:left; transition:background 180ms ease,border-color 180ms ease; }
.server-roster li:last-child .server-player { border-bottom-color:transparent; }
.server-player:hover,.server-player:focus-visible { border-color:var(--accent-edge); border-radius:8px; background:var(--accent-wash); }
.server-player-name { display:flex; align-items:center; gap:10px; min-width:0; }
.server-player-name b { min-width:0; color:var(--text); font-size:12px; font-weight:500; overflow-wrap:anywhere; }
.server-player-score,.server-player-ping { color:var(--secondary); font-size:11px; text-align:right; font-variant-numeric:tabular-nums; }
.server-player-ping { color:var(--muted); }
.server-player > svg,.server-ban > svg,.server-store-product > svg { width:11px; height:11px; color:var(--muted); }
.server-ban,.server-store-product { display:flex; align-items:center; gap:12px; width:100%; min-width:0; min-height:69px; padding:12px 9px; border:1px solid transparent; border-bottom-color:var(--line); text-align:left; transition:background 180ms ease,border-color 180ms ease; }
.server-ban:last-child,.server-store-product:last-child { border-bottom-color:transparent; }
.server-ban:hover,.server-store-product:hover { border-color:var(--accent-edge); border-radius:9px; background:var(--accent-wash); }
.server-ban-icon,.server-store-icon { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; border:1px solid var(--line); border-radius:9px; background:var(--surface-hi); color:var(--accent); }
.server-ban-icon svg,.server-store-icon svg { width:16px; height:16px; }
.server-ban-person,.server-store-copy { display:flex; flex-direction:column; flex:1; min-width:0; gap:5px; }
.server-ban-person b,.server-store-copy b { color:var(--text); font-size:12px; font-weight:550; overflow-wrap:anywhere; }
.server-ban-person > span,.server-store-copy small { color:var(--muted); font-size:10px; line-height:1.5; overflow-wrap:anywhere; }
.server-ban-duration,.server-store-price { max-width:36%; color:var(--secondary); font-size:10px; line-height:1.6; text-align:right; overflow-wrap:anywhere; }
.server-ban > svg,.server-store-product > svg { flex-shrink:0; }
.server-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:212px; padding:24px 12px; text-align:center; }
.server-empty > svg { width:25px; height:25px; margin-bottom:16px; color:var(--muted); }
.server-detail .server-empty h3 { margin:0; color:var(--text); font-size:14px; font-weight:550; line-height:1.7; }
.is-server-detail .server-empty p { max-width:280px; margin:9px 0 0; color:var(--muted); font-size:11px; line-height:1.8; }
.server-empty > button { margin-top:17px; min-height:34px; padding:7px 11px; border:1px solid var(--line); border-radius:7px; background:var(--surface-hi); color:var(--secondary); font-size:11px; }
.server-sub-back { display:inline-flex; align-items:center; gap:7px; min-height:29px; margin:0 0 17px; padding:0; color:var(--muted); font-size:10px; }
.server-sub-back svg { width:13px; height:13px; transform:rotate(180deg); }
.server-sub-back:hover { color:var(--text); }
.server-record-title { display:flex; align-items:center; gap:12px; margin-bottom:19px; }
.server-record-title > span { display:grid; place-items:center; flex-shrink:0; width:36px; height:36px; border:1px solid var(--accent-edge); border-radius:10px; background:var(--accent-wash); color:var(--accent); }
.server-record-title > span svg { width:17px; height:17px; }
.server-record-title > div { min-width:0; }
.server-record-title small { display:block; margin-bottom:5px; color:var(--muted); font-size:10px; line-height:1.5; }
.server-detail .server-record-title h3 { margin:0; color:var(--text); font-size:17px; font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.server-record-price { margin-left:auto; max-width:35%; color:var(--accent); font-size:11px; font-weight:500; line-height:1.6; text-align:right; }
.server-record-fields { display:flex; flex-direction:column; gap:12px; margin:0; }
.server-record-fields > div { display:flex; align-items:baseline; justify-content:space-between; min-width:0; gap:15px; }
.server-record-fields dt { color:var(--muted); font-size:11px; line-height:1.7; }
.server-record-fields dd { margin:0; color:var(--secondary); font-size:11px; line-height:1.7; text-align:right; overflow-wrap:anywhere; }
.server-record-link { display:flex; align-items:center; gap:9px; width:100%; min-height:39px; padding:9px 11px; margin-top:20px; border:1px solid var(--line); border-radius:8px; background:var(--surface-hi); color:var(--secondary); font-size:11px; }
.server-record-link svg { flex-shrink:0; width:14px; height:14px; color:var(--accent); }
.server-record-link svg:last-child { margin-left:auto; }
.server-product-form { margin-top:21px; }
.server-product-form > div { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.server-product-form label { display:flex; flex-direction:column; min-width:0; gap:8px; color:var(--muted); font-size:10px; }
.server-product-form select { width:100%; min-width:0; min-height:37px; padding:8px; border:1px solid var(--line); border-radius:7px; background:var(--surface-hi); color:var(--text); font-size:11px; }
.server-product-form > button { display:flex; align-items:center; justify-content:center; gap:9px; min-height:38px; width:100%; margin-top:17px; padding:8px 12px; border:1px solid var(--accent-edge); border-radius:8px; background:var(--accent-wash); color:var(--accent); font-size:11px; font-weight:550; }
.server-product-form > button svg { width:14px; height:14px; }
@media(max-width:1450px) { .server-row .server-name,.server-row:first-child .server-name { font-size:16px; } }
@media(max-width:760px) {
 .server-row .server-name,.server-row:first-child .server-name { font-size:15px; line-height:1.5; }
 .is-server-detail .server-detail-head h2 { font-size:20px; }
 .server-detail-meta { margin:0 20px; padding:13px 0 15px; }
 .server-detail-meta > span:first-child b { font-size:11px; }
 .server-detail-panel { padding:17px 20px; }
 .server-roster-head,.server-player { grid-template-columns:minmax(0,1fr) 40px 40px 11px; gap:9px; }
 .server-player { padding-left:5px; padding-right:5px; }
 .server-player-name { gap:8px; }
 .server-player-name b { font-size:11px; }
 .server-roster-head { padding-left:5px; padding-right:5px; }
 .server-ban,.server-store-product { padding:11px 4px; gap:10px; }
}
@media(max-width:400px) {
 .server-detail-meta { margin-left:17px; margin-right:17px; }
 .server-detail-panel { padding-left:17px; padding-right:17px; }
 .server-ban-icon,.server-store-icon { width:28px; height:28px; border-radius:8px; }
 .server-ban-duration,.server-store-price { max-width:30%; font-size:9px; }
}
@media(pointer:coarse) { .server-player { min-height:48px; } }
@media(prefers-reduced-motion:reduce) { .server-detail *,.server-name { transition:none!important; scroll-behavior:auto!important; } }
/* Navigation is three redirect cards above the roster. */
.server-row { grid-template-columns:minmax(0,1fr) 62px 34px 100px; }
.server-row .server-name,.server-row:first-child .server-name { display:flex; width:max-content; }
.server-description > .server-name + .server-map::before { content:none; }
.server-detail-head { align-items:center; }
.server-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); flex-shrink:0; gap:10px; padding:0 25px 21px; border-bottom:1px solid var(--line); }
.server-shortcut { position:relative; display:flex; align-items:center; gap:11px; min-width:0; min-height:66px; padding:13px; border:1px solid var(--line); border-radius:10px; background:var(--surface-hi); color:var(--secondary); transition:background 200ms ease,border-color 200ms ease,color 200ms ease; }
.server-shortcut-icon { display:grid; place-items:center; flex-shrink:0; width:29px; height:29px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--accent); }
.server-shortcut-icon svg { width:16px; height:16px; }
.server-shortcut b { min-width:0; color:inherit; font-size:12px; font-weight:550; line-height:1.5; overflow-wrap:anywhere; }
.server-shortcut > svg { flex-shrink:0; width:11px; height:11px; margin-left:auto; color:var(--muted); }
.server-shortcut:hover,.server-shortcut.is-active { border-color:var(--accent-edge); background-color:var(--accent-wash); color:var(--text); }
.server-players-heading { display:flex; align-items:center; gap:9px; margin:0 0 15px; }
.server-detail .server-players-heading h3 { margin:0; color:var(--text); font-size:12px; font-weight:600; }
.server-players-heading > span { padding:2px 5px; border:1px solid var(--line); border-radius:5px; background:var(--surface-hi); color:var(--muted); font-size:9px; font-variant-numeric:tabular-nums; }
.server-route-view { width:100%; max-width:980px; margin:0 auto; }
.server-route-back { display:inline-flex; align-items:center; align-self:flex-start; gap:7px; min-height:29px; margin-bottom:12px; padding:0; color:var(--muted); font-size:11px; }
.server-route-back svg { width:13px; height:13px; transform:rotate(180deg); }
.server-route-heading { margin-bottom:24px; }
.server-route-heading h1 { margin:0; color:var(--text); font:600 32px/1.2 Display,Arial,sans-serif; text-transform:uppercase; }
.server-route-heading p { margin:9px 0 0; color:var(--secondary); font-size:12px; line-height:1.7; }
.server-route-view .server-shortcuts { padding:0; margin-bottom:20px; border:0; }
.server-route-view .server-shortcut { background-color:var(--surface); min-height:78px; }
.server-route-view .server-shortcut.is-active { background-color:var(--accent-wash); }
.server-route-content { min-width:0; padding:22px 24px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.server-route-content .server-store-product,.server-route-content .server-ban { min-height:78px; }
.server-route-content .server-empty { min-height:280px; }
.server-route-content .server-empty p { color:var(--muted); font-size:12px; line-height:1.8; }
.server-route-view :is(button,a):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:1450px) { .server-row { grid-template-columns:minmax(0,1fr) 52px 28px 84px; gap:11px; } }
@media(max-width:760px) {
 .server-row { grid-template-columns:minmax(0,1fr) 85px; grid-template-rows:auto auto; gap:6px 12px; }
 .server-row .server-description { grid-column:1; grid-row:1/3; }
 .server-row .server-occupancy { grid-column:2; grid-row:1; }
 .server-row .server-connect { grid-column:2; grid-row:2; }
 .server-row .server-copy { display:none; }
 .server-shortcuts { padding:0 20px 18px; gap:8px; }
 .server-shortcut { align-items:flex-start; flex-direction:column; gap:9px; min-height:83px; padding:11px; }
 .server-shortcut > svg { position:absolute; top:11px; right:10px; width:10px; height:10px; }
 .server-shortcut b { font-size:11px; }
 .server-shortcut-icon { width:25px; height:25px; border-radius:7px; }
 .server-shortcut-icon svg { width:14px; height:14px; }
 .server-route-content { padding:18px; }
 .server-route-heading h1 { font-size:28px; }
}
@media(max-width:400px) {
 .server-shortcuts { padding-left:17px; padding-right:17px; gap:7px; }
 .server-shortcut { padding:9px; min-height:72px; gap:6px; }
 .server-shortcut b { font-size:10px; }
 .server-route-content { padding:16px; }
}
/* The composition stays fixed; hierarchy and states carry the detail. */
.modal.is-server-detail { width:700px; border-color:color-mix(in srgb,var(--text) 10%,transparent); border-radius:17px; box-shadow:0 26px 90px #0008; }
.server-detail-head { gap:15px; padding-top:25px; padding-bottom:21px; }
.server-detail-emblem { width:43px; height:43px; border-radius:12px; background:linear-gradient(145deg,var(--accent-wash),var(--surface)); }
.is-server-detail .server-detail-head h2 { font-size:25px; line-height:1.3; font-weight:650; letter-spacing:-.65px; }
.is-server-detail .server-detail-head p { margin-top:8px; color:var(--secondary); font-size:11px; }
.is-server-detail .modal-close { border-color:transparent; background:none; color:var(--muted); transition:color 240ms,background 240ms; }
.is-server-detail .modal-close:hover { color:var(--text); background:var(--surface-hi); }
.server-detail-meta { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); align-items:stretch; gap:12px; padding:0; margin:0 25px 18px; border:0; }
.server-detail-meta > div { min-width:0; min-height:77px; padding:13px 15px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--surface-hi) 28%,var(--surface)); }
.server-detail-map-cell { display:flex; align-items:center; gap:12px; }
.server-meta-icon { display:grid; place-items:center; flex-shrink:0; width:30px; height:30px; color:var(--accent); }
.server-meta-icon svg { width:22px; height:22px; stroke-width:1.3; }
.server-detail-map-cell > span:last-child { display:flex; flex-direction:column; min-width:0; gap:7px; }
.server-detail-map-cell small { color:var(--muted); font-size:10px; line-height:1.4; }
.server-detail-map-cell b { min-width:0; color:var(--text); font:13px/1.5 Consolas,monospace; overflow-wrap:anywhere; }
.server-detail-capacity { display:flex; flex-direction:column; justify-content:center; gap:11px; }
.server-detail-capacity > div { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.server-detail-capacity > div > small { color:var(--muted); font-size:10px; line-height:1.4; }
.server-detail-capacity b { color:var(--text); font-size:23px; line-height:1; font-weight:600; font-variant-numeric:tabular-nums; }
.server-detail-capacity b small { color:var(--muted); font-size:11px; font-weight:450; }
.server-capacity-track { display:block; width:100%; height:3px; border-radius:3px; overflow:hidden; background:color-mix(in srgb,var(--text) 8%,transparent); }
.server-capacity-track > i { display:block; height:100%; border-radius:inherit; background:var(--violet); }
.server-shortcuts { gap:11px; padding-bottom:21px; }
.server-shortcut { display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:13px; min-height:91px; padding:14px; border-radius:11px; background-color:var(--surface); background-image:linear-gradient(135deg,color-mix(in srgb,var(--violet) 6%,transparent),transparent); transition:background-color 300ms,border-color 300ms,color 300ms; }
.server-shortcut::before { position:absolute; content:''; left:14px; right:14px; top:0; height:1px; background:linear-gradient(90deg,transparent,var(--accent),transparent); opacity:0; transition:opacity 320ms; pointer-events:none; }
.server-shortcut-icon { width:30px; height:30px; border-color:var(--accent-edge); background:var(--accent-wash); color:var(--accent); border-radius:8px; transition:background 280ms,border-color 280ms; }
.server-shortcut-icon svg { width:16px; height:16px; }
.server-shortcut-copy { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; width:100%; }
.server-shortcut-copy b { color:var(--text); font-size:12px; font-weight:600; line-height:1.5; }
.server-shortcut-copy small { flex-shrink:0; min-width:19px; padding:1px 4px; border:1px solid var(--line); border-radius:5px; background:var(--surface); color:var(--muted); font-size:9px; line-height:1.5; text-align:center; font-variant-numeric:tabular-nums; }
.server-shortcut > svg { position:absolute; top:16px; right:14px; width:12px; height:12px; color:var(--muted); transition:transform 300ms cubic-bezier(.2,.7,.2,1),color 300ms; }
.server-shortcut:hover,.server-shortcut.is-active { border-color:var(--accent-edge); background-color:var(--accent-wash); }
.server-shortcut:hover::before,.server-shortcut.is-active::before { opacity:.6; }
.server-shortcut:hover > svg { color:var(--accent); transform:translate(1px,-1px); }
.server-shortcut:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.server-detail-scroll { display:flex; flex:1 1 344px; height:344px; min-height:0; }
.server-detail-scroll:has(.is-roster) { overflow:hidden; }
.server-detail-panel { width:100%; min-width:0; }
.server-detail-panel.is-roster { display:flex; flex-direction:column; flex:1; min-height:0; padding-bottom:12px; }
.server-players-heading { flex-shrink:0; margin-bottom:12px; }
.server-detail .server-players-heading h3 { font-size:13px; }
.server-players-heading > span { border:0; background:none; padding:0; color:var(--muted); font-size:10px; }
.server-list-search { flex-shrink:0; margin-bottom:12px; min-height:39px; background:color-mix(in srgb,var(--surface-hi) 68%,var(--surface)); border-radius:8px; transition:border-color 260ms,background 260ms; }
.server-list-search:focus-within { border-color:color-mix(in srgb,var(--violet) 65%,transparent); background:var(--surface-hi); }
.server-list-search input { font-size:12px; }
.server-list-search kbd { flex-shrink:0; display:grid; place-items:center; width:20px; height:21px; margin-right:3px; border:1px solid var(--line); border-radius:4px; color:var(--muted); font:10px/1 Consolas,monospace; }
.is-roster .server-list-results { flex:1; min-height:0; overflow:auto; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--secondary) 26%,transparent) transparent; overscroll-behavior:contain; }
.server-roster-head { position:sticky; top:0; z-index:2; min-height:28px; padding-top:0; padding-bottom:6px; background:var(--surface); }
.server-roster-head,.server-player { grid-template-columns:minmax(0,1fr) 64px 82px 12px; gap:12px; }
.server-roster-head > button { display:flex; align-items:center; justify-content:flex-end; gap:5px; min-width:0; min-height:23px; padding:0; border:0; background:none; color:var(--muted); font-size:10px; line-height:1.5; text-align:right; transition:color 200ms; }
.server-roster-head > button:first-child { justify-content:flex-start; padding-left:30px; text-align:left; }
.server-roster-head > button:hover,.server-roster-head > button[aria-pressed="true"] { color:var(--accent); }
.server-sort-arrow { display:grid; place-items:center; flex-shrink:0; width:10px; height:10px; opacity:.35; }
.server-sort-arrow svg { width:10px; height:10px; }
[aria-pressed="true"] .server-sort-arrow { opacity:1; }
.server-sort-arrow.is-ascending { transform:rotate(180deg); }
.server-player { position:relative; min-height:45px; padding:9px 10px; border:1px solid transparent; border-radius:8px; background:none; transition:color 240ms,background 240ms,border-color 240ms; }
.server-roster li .server-player { border-bottom-color:transparent; }
.server-player::after { position:absolute; content:''; bottom:-1px; left:40px; right:12px; height:1px; background:var(--line); transition:opacity 240ms; pointer-events:none; }
.server-roster li:last-child .server-player::after { content:none; }
.server-player:hover,.server-player:focus-visible { background:var(--accent-wash); border-color:var(--accent-edge); }
.server-player:hover::after,.server-player:focus-visible::after { opacity:0; }
.server-player-name { gap:10px; }
.server-player-index { flex-shrink:0; min-width:20px; color:var(--muted); font-size:9px; font-variant-numeric:tabular-nums; }
.server-roster li:first-child .server-player-index { color:var(--accent); }
.server-player-name b { font-size:13px; font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.server-player-score { color:var(--text); font-size:12px; }
.server-player-ping { display:flex; align-items:center; justify-content:flex-end; gap:7px; font-size:11px; }
.server-ping-bars { display:flex; align-items:flex-end; flex-shrink:0; gap:2px; width:12px; height:10px; }
.server-ping-bars > i { display:block; width:2px; border-radius:1px; background:var(--accent); opacity:.65; }
.server-ping-bars > i:nth-child(1) { height:4px; }
.server-ping-bars > i:nth-child(2) { height:7px; }
.server-ping-bars > i:nth-child(3) { height:10px; }
.server-ping-bars.is-fair > i:nth-child(3) { background:var(--muted); opacity:.25; }
.server-player > svg { opacity:.5; transition:color 220ms,opacity 220ms; }
.server-player:hover > svg { opacity:1; color:var(--accent); }
.is-roster .server-empty { min-height:155px; padding-top:20px; padding-bottom:20px; }
.server-player-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.server-player-facts > div:first-child { grid-column:1/-1; padding-bottom:15px; border-bottom:1px solid var(--line); }
.server-player-facts > div:not(:first-child) { flex-direction:column; gap:9px; padding:15px; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--surface-hi) 30%,var(--surface)); }
.server-player-facts > div:not(:first-child) dd { font-size:21px; line-height:1.25; font-weight:550; color:var(--text); }
.server-record-title > span { width:40px; height:40px; }
.server-detail .server-record-title h3 { font-size:19px; }
.server-detail-footer { padding-top:17px; background:color-mix(in srgb,var(--surface-hi) 13%,var(--surface)); }
.server-address-caption { flex-wrap:nowrap; align-items:center; min-width:0; min-height:16px; gap:8px; }
.server-address-caption label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.server-detail-feedback { flex-shrink:0; max-width:65%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9px; }
.server-detail-input { min-height:44px; border-radius:9px; transition:background 260ms,border-color 260ms; }
.server-detail-input:hover { border-color:color-mix(in srgb,var(--secondary) 21%,transparent); }
.server-detail-input:focus-within { border-color:var(--accent-edge); }
.server-detail-input input { font-size:12px; }
.server-detail-copy { border-radius:6px; }
.server-detail-join { min-height:44px; border-radius:9px; box-shadow:inset 0 1px 0 #ffffff0d; transition:background 280ms; }
.server-route-view .server-shortcut { min-height:96px; }
@media(max-width:760px) {
 .modal.is-server-detail { border-radius:14px; }
 .server-detail-head { gap:11px; padding-top:21px; padding-bottom:18px; }
 .is-server-detail .server-detail-head h2 { font-size:21px; letter-spacing:-.45px; }
 .server-detail-emblem { width:35px; height:35px; border-radius:10px; }
 .server-detail-meta { margin:0 20px 16px; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:9px; }
 .server-detail-meta > div { min-height:70px; padding:11px; }
 .server-detail-map-cell { gap:7px; }
 .server-meta-icon { display:none; }
 .server-detail-map-cell b { font-size:12px; }
 .server-detail-map-cell small,.server-detail-capacity > div > small { font-size:9px; }
 .server-detail-capacity { gap:10px; }
 .server-detail-capacity b { font-size:19px; }
 .server-detail-capacity b small { font-size:9px; }
 .server-shortcut { min-height:81px; padding:11px; gap:9px; }
 .server-shortcut-icon { width:26px; height:26px; border-radius:7px; }
 .server-shortcut-copy { gap:5px; }
 .server-shortcut-copy b { font-size:11px; }
 .server-shortcut-copy small { min-width:16px; padding:1px 3px; font-size:8px; }
 .server-shortcut > svg { top:12px; right:11px; width:10px; height:10px; }
 .server-shortcuts { padding-bottom:17px; }
 .server-detail-panel.is-roster { padding-top:15px; padding-bottom:9px; }
 .server-roster-head,.server-player { grid-template-columns:minmax(0,1fr) 42px 58px 10px; gap:7px; }
 .server-roster-head > button { font-size:9px; gap:3px; }
 .server-roster-head > button:first-child { padding-left:25px; }
 .server-player { min-height:44px; padding-left:5px; padding-right:5px; }
 .server-player-name { gap:7px; }
 .server-player-index { min-width:18px; font-size:8px; }
 .server-player-name b { font-size:11px; }
 .server-player-score { font-size:11px; }
 .server-player::after { left:30px; right:8px; }
 .server-player-ping { gap:5px; }
 .server-list-search input { font-size:11px; }
 .server-list-search kbd { display:none; }
 .server-detail-footer { padding-top:14px; gap:11px; }
 .server-player-facts > div:not(:first-child) { padding:12px; }
}
@media(max-width:400px) {
 .server-detail-meta { margin-left:17px; margin-right:17px; gap:8px; }
 .server-detail-meta > div { padding:10px; min-height:65px; }
 .server-detail-capacity > div { gap:5px; }
 .server-detail-map-cell b { font-size:11px; }
 .server-shortcut { min-height:73px; padding:9px; gap:8px; }
 .server-shortcut-copy b { font-size:10px; white-space:nowrap; }
 .server-shortcut-copy small { display:none; }
 .server-shortcut > svg { top:10px; right:9px; }
 .server-shortcuts { gap:7px; }
 .server-detail .server-players-heading h3 { font-size:12px; }
 .server-players-heading { margin-bottom:10px; }
 .server-list-search { margin-bottom:9px; }
 .server-roster-head,.server-player { grid-template-columns:minmax(0,1fr) 38px 51px 9px; gap:6px; }
 .server-player-ping { gap:4px; }
 .server-ping-bars { gap:1px; width:9px; }
 .server-detail-feedback { max-width:63%; }
 .server-detail-footer { padding-top:11px; padding-bottom:13px; gap:8px; }
 .server-detail-input { min-height:40px; }
 .server-detail-join { min-height:40px; padding-top:9px; padding-bottom:9px; }
}
@media(pointer:coarse) { .server-player { min-height:46px; } .server-detail-copy { min-width:36px; min-height:36px; } .is-server-detail .modal-close { width:44px; height:44px; top:8px; right:8px; } }
@media(prefers-reduced-motion:reduce) { .server-detail *,.server-shortcut::before,.server-player::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .server-shortcut:hover > svg { transform:none; } }

/* Repeated use: explicit counts, stable content frame and a compact keyboard view. */
.server-shortcut-copy { flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:3px; }
.server-shortcut-copy small { display:block; min-width:0; max-width:100%; padding:0; border:0; border-radius:0; background:none; color:var(--muted); font-size:10px; line-height:1.5; text-align:left; white-space:normal; overflow-wrap:anywhere; }
.server-shortcut { gap:10px; }
.server-detail-subline { display:flex; align-items:center; flex-wrap:wrap; column-gap:15px; row-gap:4px; margin-top:7px; }
.is-server-detail .server-detail-subline p { margin:0; }
.server-share { display:inline-flex; align-items:center; justify-content:flex-start; gap:5px; min-width:0; min-height:26px; padding:3px 0; color:var(--accent); font-size:10px; line-height:1.6; text-align:left; transition:color 240ms; }
.server-share:hover { color:var(--text); }
.server-share:disabled { cursor:wait; }
.server-share svg { flex-shrink:0; width:12px; height:12px; }
.server-share span { overflow-wrap:anywhere; }
.server-share-link { display:block; width:100%; min-width:0; margin-top:9px; padding:9px; border:1px solid var(--accent-edge); border-radius:7px; background:var(--surface-hi); color:var(--text); font:11px/1.5 Consolas,monospace; }
.server-refresh { display:flex; align-items:center; gap:5px; min-height:27px; margin-left:auto; padding:4px 0 4px 8px; color:var(--accent); font-size:10px; }
.server-refresh svg { width:13px; height:13px; }
.server-refresh:disabled { color:var(--muted); cursor:wait; }
.server-detail .server-refresh-status { flex-shrink:0; min-height:15px; margin:5px 0 0; color:var(--muted); font-size:9px; line-height:1.5; }
.server-detail .server-refresh-status.has-error { color:var(--secondary); }
@media(max-width:760px) {
 .server-shortcut { min-height:92px; gap:8px; }
 .server-shortcut-copy small { font-size:9px; }
 .server-detail-subline { column-gap:11px; }
 .server-share { min-height:28px; }
 .server-detail-panel.is-roster { padding-top:13px; }
 .modal.is-server-detail.has-server-keyboard { position:fixed; top:calc(var(--server-vtop,0px) + 8px); left:10px; right:auto; bottom:auto; margin:0; width:calc(100vw - 20px); max-width:none; max-height:calc(var(--server-vh,100dvh) - 16px); }
 .modal.is-server-detail.has-server-keyboard #modal-content { max-height:calc(var(--server-vh,100dvh) - 18px); }
 .has-server-keyboard .server-detail-head { padding:13px 55px 12px 17px; }
 .is-server-detail.has-server-keyboard .server-detail-head h2 { font-size:17px; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:-.3px; }
 .has-server-keyboard .server-detail-emblem,.has-server-keyboard .server-detail-subline,.has-server-keyboard .server-share-link,.has-server-keyboard .server-detail-meta,.has-server-keyboard .server-detail-footer { display:none; }
 .has-server-keyboard .server-shortcuts { padding-bottom:12px; gap:7px; }
 .has-server-keyboard .server-shortcut { min-height:42px; flex-direction:row; align-items:center; justify-content:flex-start; padding:8px; gap:6px; }
 .has-server-keyboard .server-shortcut-icon { width:21px; height:21px; border:0; background:none; }
 .has-server-keyboard .server-shortcut-icon svg { width:16px; height:16px; }
 .has-server-keyboard .server-shortcut-copy { width:auto; }
 .has-server-keyboard .server-shortcut-copy b { font-size:10px; }
 .has-server-keyboard .server-shortcut-copy small,.has-server-keyboard .server-shortcut > svg { display:none; }
 .has-server-keyboard .server-detail-panel.is-roster { padding-top:11px; }
 .has-server-keyboard .server-players-heading { margin-bottom:7px; }
 .has-server-keyboard .server-list-search { margin-bottom:7px; }
 .has-server-keyboard .server-detail-scroll { flex-basis:310px; min-height:130px; }
}
@media(max-width:400px) {
 .server-shortcut { min-height:87px; }
 .server-shortcut-copy small { display:block; font-size:8px; }
 .server-shortcut-copy b { font-size:10px; }
 .server-detail-subline { column-gap:10px; }
 .server-detail-subline p,.server-share { font-size:9px; }
}
@media(pointer:coarse) {
 .server-list-search input { font-size:16px; }
 .server-list-search { min-height:42px; }
 .server-share { min-height:32px; }
 .server-refresh { min-height:32px; }
}
@media(max-width:760px) and (max-height:560px) {
 .modal.is-server-detail:not(.has-server-keyboard) #modal-content { overflow:auto; overscroll-behavior:contain; }
 .modal.is-server-detail:not(.has-server-keyboard) .server-detail { min-height:600px; }
}

/* smart-nav-v43.css */
.smart-menu-entry { display:flex; align-items:center; grid-column:1/-1; gap:11px; width:100%; min-height:44px; margin:0 0 4px; padding:10px 14px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--secondary); text-align:left; font-size:12px; transition:border-color 240ms,background-color 240ms; }
.smart-menu-entry > svg { width:17px; height:17px; color:var(--accent); }
.smart-menu-entry kbd { margin-left:auto; padding:3px 6px; border:1px solid var(--line); border-radius:5px; color:var(--muted); font:10px/1.4 Consolas,monospace; }
.smart-menu-entry:hover { border-color:var(--accent-edge); background:var(--accent-wash); }
.smart-header-trigger { display:grid; place-items:center; flex-shrink:0; width:34px; height:34px; padding:0; border-radius:7px; color:var(--muted); transition:color 240ms,background-color 240ms; }
.smart-header-trigger svg { width:17px; height:17px; }
.smart-header-trigger:hover { color:var(--accent); background:var(--accent-wash); }
.smart-header-trigger:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.smart-search-dialog { width:660px; height:min(690px,calc(100dvh - 32px)); max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--text); box-shadow:0 26px 90px #0008; overflow:hidden; }
.smart-search-dialog[open] { display:flex; flex-direction:column; }
.smart-search-dialog::backdrop { background:#07070bc9; backdrop-filter:blur(6px); }
.smart-head { flex-shrink:0; min-width:0; padding:20px 22px 17px; border-bottom:1px solid var(--line); }
.smart-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.smart-title-row h2 { margin:0; color:var(--text); font:600 19px/1.4 Montserrat,Arial,sans-serif; letter-spacing:-.3px; }
.smart-close { display:grid; place-items:center; flex-shrink:0; width:32px; height:32px; padding:0; border-radius:7px; color:var(--muted); transition:background-color 220ms,color 220ms; }
.smart-close svg { width:17px; height:17px; }
.smart-close:hover { background:var(--surface-hi); color:var(--text); }
.smart-query-field { display:flex; align-items:center; gap:10px; min-width:0; min-height:45px; padding:4px 8px 4px 12px; border:1px solid var(--line); border-radius:9px; background:var(--surface-hi); transition:border-color 240ms; }
.smart-query-field:focus-within { border-color:var(--accent-edge); }
.smart-query-field > svg { flex-shrink:0; width:18px; height:18px; color:var(--accent); }
.smart-query-field input { flex:1; min-width:0; width:0; height:33px; padding:0; border:0; background:none; color:var(--text); font:13px/1.5 Montserrat,Arial,sans-serif; outline:0; }
.smart-query-field input::placeholder { color:var(--muted); }
.smart-query-field input::-webkit-search-cancel-button { display:none; }
.smart-query-field button { display:grid; place-items:center; flex-shrink:0; width:29px; height:29px; padding:0; border-radius:6px; color:var(--muted); }
.smart-query-field button svg { width:14px; height:14px; }
.smart-scope { display:flex; align-items:center; gap:10px; min-width:0; margin-top:11px; color:var(--muted); font-size:10px; line-height:1.5; }
.smart-scope > span { flex-shrink:0; }
.smart-scope select { min-width:0; max-width:100%; padding:7px 26px 7px 9px; border:1px solid var(--line); border-radius:7px; background:var(--surface); color:var(--secondary); font:10px/1.5 Montserrat,Arial,sans-serif; text-overflow:ellipsis; }
.smart-results-heading { display:flex; justify-content:space-between; gap:10px; flex-shrink:0; padding:14px 23px 8px; color:var(--muted); font-size:10px; line-height:1.5; }
.smart-results { flex:1; min-height:0; overflow:auto; padding:0 12px 10px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.smart-result { display:flex; align-items:center; gap:11px; width:100%; min-width:0; min-height:72px; padding:11px; border:1px solid transparent; border-radius:9px; background:none; color:var(--secondary); text-align:left; transition:background-color 200ms,border-color 200ms; }
.smart-result[aria-selected=true] { border-color:var(--accent-edge); background:var(--accent-wash); }
.smart-result-icon { display:grid; place-items:center; flex-shrink:0; width:31px; height:31px; border:1px solid var(--line); border-radius:8px; background:var(--surface-hi); color:var(--accent); }
.smart-result-icon svg { width:16px; height:16px; }
.smart-result-copy { display:flex; flex-direction:column; gap:3px; min-width:0; flex:1; }
.smart-result-copy b { color:var(--text); font-size:12px; line-height:1.5; font-weight:550; white-space:normal; overflow-wrap:anywhere; }
.smart-result-copy small { color:var(--accent); font-size:9px; line-height:1.3; }
.smart-result-copy > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:10px; line-height:1.5; }
.smart-result > svg { flex-shrink:0; width:12px; height:12px; color:var(--muted); }
.smart-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; flex:1; min-height:0; padding:25px; text-align:center; }
.smart-empty > svg { width:25px; height:25px; color:var(--accent); }
.smart-empty b { color:var(--text); font-size:13px; font-weight:500; }
.smart-empty p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
.smart-wider { max-width:100%; padding:8px 12px; border:1px solid var(--accent-edge); border-radius:7px; background:var(--accent-wash); color:var(--accent); font-size:11px; line-height:1.5; }
.smart-footer { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:12px; min-height:47px; padding:12px 22px; border-top:1px solid var(--line); color:var(--muted); font-size:9px; line-height:1.5; }
.smart-footer kbd { padding:2px 4px; border:1px solid var(--line); border-radius:4px; font:9px/1.5 Consolas,monospace; }
.smart-footer button { padding:0; color:var(--accent); font-size:9px; }
.smart-copy-address { display:block; width:100%; min-width:0; margin-top:10px; padding:10px; border:1px solid var(--accent-edge); border-radius:7px; background:var(--surface-hi); color:var(--text); font:12px/1.5 Consolas,monospace; }
.smart-search-dialog :is(button,a,select):focus-visible,.smart-menu-entry:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media(max-width:760px) {
 .smart-menu-entry { margin:0; }
 .smart-search-dialog { width:calc(100vw - 20px); height:min(690px,calc(100dvh - 20px)); max-width:none; max-height:calc(100dvh - 20px); border-radius:13px; }
 .smart-head { padding:15px 15px 13px; }
 .smart-title-row { margin-bottom:12px; }
 .smart-scope { gap:7px; }
 .smart-scope select { flex:1; }
 .smart-results-heading { padding:12px 16px 7px; }
 .smart-results { padding:0 7px 7px; }
 .smart-result { gap:9px; padding:9px; }
 .smart-result-copy b { font-size:11px; }
 .smart-footer { padding:11px 15px; gap:8px; }
}
@media(pointer:coarse) { .smart-query-field input { font-size:16px; } .smart-close { width:44px; height:44px; } .smart-footer button { min-height:32px; } }
@media(max-width:760px) {
 .smart-search-dialog.is-compact { position:fixed; top:calc(var(--smart-top,0px) + 8px); left:10px; right:auto; bottom:auto; margin:0; height:calc(var(--smart-vh,100dvh) - 16px); max-height:calc(var(--smart-vh,100dvh) - 16px); }
 .smart-search-dialog.is-compact .smart-head { padding:10px 14px; }
 .smart-search-dialog.is-compact .smart-title-row { margin-bottom:6px; }
 .smart-search-dialog.is-compact .smart-title-row h2 { font-size:17px; }
 .smart-search-dialog.is-compact .smart-scope { margin-top:7px; }
 .smart-search-dialog.is-compact .smart-results-heading { padding-top:8px; }
 .smart-search-dialog.is-compact .smart-footer { min-height:38px; padding-top:5px; padding-bottom:5px; }
 .smart-search-dialog.is-compact .smart-empty { min-height:90px; padding:10px 16px; gap:7px; overflow:auto; }
 .smart-search-dialog.is-compact .smart-empty > svg,.smart-search-dialog.is-compact .smart-empty p { display:none; }
}
@media(prefers-reduced-motion:reduce) { .smart-search-dialog *,.smart-menu-entry { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* models-banner-v44.css */
/* Test artwork supplied by the owner; keep the scene visible beside the label. */
.store-category.category-models > img { object-position:59% center; }
.store-category.category-models::after { background:linear-gradient(0deg,rgba(10,10,13,.84),rgba(10,10,13,.08) 68%,transparent); }
.category-models .category-copy small { color:var(--secondary); }
@media(max-width:760px) {
 .store-category.category-models > img { object-position:54% center; }
}

/* news-v45.css */
.news-reading { width:100%; max-width:940px; margin:0 auto; }
.news-reading-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 15px; }
.news-reading-toolbar .news-back { margin:0; }
.news-open-chat { display:none; align-items:center; justify-content:center; flex-shrink:0; width:36px; height:36px; border:1px solid var(--line); border-radius:9px; background:var(--surface); color:var(--accent); }
.news-open-chat svg { width:17px; height:17px; }
.chat-collapsed .news-open-chat { display:flex; }
body:has(#news-reading) .restore-chat { display:none!important; }
.news-back { display:inline-flex; align-items:center; gap:8px; min-height:32px; margin:0 0 15px; color:var(--muted); font-size:11px; transition:color 240ms; }
.news-back svg { width:13px; height:13px; transform:rotate(180deg); }
.news-back:hover { color:var(--accent); }
.news-article { min-width:0; border:1px solid var(--line); border-radius:15px; background:var(--surface); overflow:hidden; }
.news-article-head { padding:29px 34px 25px; border-bottom:1px solid var(--line); }
.news-article-category { display:inline-flex; align-items:center; min-height:23px; padding:3px 8px; border:1px solid var(--accent-edge); border-radius:6px; background:var(--accent-wash); color:var(--accent); font-size:10px; line-height:1.5; }
.news-article-head h1 { margin:17px 0 11px; color:var(--text); font:600 32px/1.35 Montserrat,Arial,sans-serif; letter-spacing:-.6px; overflow-wrap:anywhere; }
.news-article-summary { max-width:680px; margin:0; color:var(--secondary); font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.news-publisher { display:flex; align-items:center; gap:10px; margin-top:23px; }
.news-avatar { display:grid; place-items:center; flex-shrink:0; width:33px; height:33px; padding:0; border:1px solid var(--line); border-radius:50%; overflow:hidden; background:var(--surface-hi); color:var(--secondary); font-size:12px; }
.news-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.news-publisher > div { display:flex; flex-direction:column; gap:4px; min-width:0; }
.news-publisher .member-name { color:var(--text); font-size:11px; font-weight:550; }
.news-publisher time { color:var(--muted); font-size:10px; line-height:1.5; }
.news-publisher > a { display:flex; align-items:center; gap:6px; align-self:flex-end; min-height:29px; margin-left:auto; padding:5px 7px; border-radius:6px; color:var(--muted); font-size:10px; }
.news-publisher > a svg { width:14px; height:14px; }
.news-publisher > a:hover { background:var(--accent-wash); color:var(--accent); }
.news-article-body { max-width:790px; min-width:0; padding:27px 34px 30px; color:var(--secondary); font-size:14px; line-height:1.95; overflow-wrap:anywhere; }
.news-article-body p { margin:0 0 20px; white-space:pre-line; }
.news-article-body p:last-child { margin-bottom:0; }
.news-article-body h2 { margin:26px 0 12px; color:var(--text); font-size:17px; line-height:1.5; font-weight:600; }
.news-article-body ul { display:grid; gap:7px; padding-left:21px; margin:0 0 22px; }
.news-article-body li::marker { color:var(--accent); }
.news-article-actions { display:flex; align-items:center; flex-wrap:wrap; gap:11px; padding:18px 34px; border-top:1px solid var(--line); }
.news-article-actions button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:38px; padding:8px 12px; border:1px solid transparent; border-radius:8px; color:var(--secondary); font-size:11px; line-height:1.5; transition:color 240ms,background-color 240ms,border-color 240ms; }
.news-article-actions button svg { flex-shrink:0; width:16px; height:16px; }
.news-article-actions .news-thanks { border-color:var(--line); background:var(--surface-hi); }
.news-thanks b { min-width:2ch; font-size:11px; font-weight:500; text-align:right; font-variant-numeric:tabular-nums; }
.news-article-actions .news-thanks:hover,.news-article-actions .news-thanks.is-thanked { border-color:var(--accent-edge); background:var(--accent-wash); color:var(--accent); }
.news-thanks.is-thanked svg { fill:color-mix(in srgb,var(--violet) 25%,transparent); }
.news-article-actions .news-discuss:hover,.news-article-actions .news-share:hover { background:var(--accent-wash); color:var(--accent); }
.news-discuss > span { color:var(--muted); font-size:10px; font-variant-numeric:tabular-nums; }
.news-article-actions .news-share { margin-left:auto; }
.news-share:disabled { cursor:wait; }
.news-action-status { min-height:19px; margin:0 34px 10px; color:var(--accent); font-size:10px; line-height:1.6; }
.news-share-link { display:block; max-width:calc(100% - 68px); width:100%; margin:0 34px 12px; padding:10px; border:1px solid var(--accent-edge); border-radius:7px; background:var(--surface-hi); color:var(--text); font:12px/1.5 Consolas,monospace; }
.news-comments-section { min-width:0; margin-top:25px; padding:25px 29px 28px; border:1px solid var(--line); border-radius:15px; background:var(--surface); scroll-margin-top:calc(var(--top,68px) + 25px); }
.news-comments-head { display:flex; align-items:center; gap:9px; margin-bottom:10px; }
.news-comments-head > svg { width:17px; height:17px; color:var(--accent); }
.news-comments-head h2 { margin:0; color:var(--text); font-size:15px; line-height:1.5; font-weight:600; }
.news-comments-head > span { min-width:2ch; color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
.news-comment { display:flex; align-items:flex-start; gap:12px; min-width:0; padding:21px 4px; border-bottom:1px solid var(--line); border-radius:0; scroll-margin-top:calc(var(--top,68px) + 22px); scroll-margin-bottom:110px; outline:0; transition:background-color 260ms; }
.news-comment.is-target { background:var(--accent-wash); border-radius:9px; }
.news-comment:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:9px; }
.news-comment-content { flex:1; min-width:0; }
.news-comment-content > header { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 9px; margin:2px 0 9px; min-width:0; }
.news-comment-content .member-name { color:var(--accent); font-size:11px; font-weight:550; overflow-wrap:anywhere; }
.news-comment-content > header time { margin-left:auto; color:var(--muted); font-size:9px; line-height:1.5; }
.news-comment-content > header > small { color:var(--muted); font-size:8px; }
.news-comment-text { margin:0; color:var(--text); font-size:13px; line-height:1.85; white-space:pre-wrap; overflow-wrap:anywhere; }
.news-comment-actions { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; margin-top:8px; }
.news-comment-actions button { padding:2px 0; color:var(--muted); font-size:10px; line-height:1.5; transition:color 220ms; }
.news-comment-actions button:hover { color:var(--accent); }
.news-no-comments { display:flex; flex-direction:column; align-items:center; gap:9px; padding:32px 12px 38px; color:var(--muted); }
.news-no-comments > svg { width:25px; height:25px; color:var(--accent); }
.news-no-comments b { color:var(--secondary); font-size:12px; font-weight:500; }
.news-no-comments span { font-size:11px; line-height:1.6; text-align:center; }
.news-comment-form { display:flex; gap:12px; min-width:0; margin-top:23px; scroll-margin-bottom:100px; }
.news-composer-content { flex:1; min-width:0; }
.news-comment-form textarea,.news-edit-form textarea { display:block; width:100%; min-width:0; min-height:80px; max-height:240px; padding:12px; border:1px solid var(--line); border-radius:9px; background:var(--surface-hi); color:var(--text); font:12px/1.8 Montserrat,Arial,sans-serif; resize:vertical; outline:0; transition:border-color 240ms; scroll-margin-top:calc(var(--top,68px) + 24px); scroll-margin-bottom:120px; }
.news-comment-form textarea:focus,.news-edit-form textarea:focus { border-color:var(--accent-edge); }
.news-comment-form textarea::placeholder { color:var(--muted); }
.news-composer-footer { display:flex; align-items:center; flex-wrap:wrap; gap:8px 10px; margin-top:10px; }
.news-draft-state { margin-right:auto; color:var(--muted); font-size:9px; line-height:1.6; }
.news-char-count { color:var(--muted); font-size:9px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.news-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:37px; max-width:100%; padding:9px 13px; border:1px solid transparent; border-radius:8px; background:var(--violet); color:var(--text); font-size:11px; font-weight:550; line-height:1.5; transition:background-color 240ms,color 240ms; }
.news-primary svg { flex-shrink:0; width:14px; height:14px; }
.news-primary:hover { background:var(--accent-hover); }
.news-primary:disabled { border-color:var(--line); background:var(--surface-hi); color:var(--muted); cursor:default; }
.news-guest { display:flex; justify-content:center; padding:24px 0 0; }
.news-quote { display:flex; align-items:center; gap:8px; min-width:0; margin:0 0 10px; padding:8px 10px; border-left:2px solid var(--accent-edge); border-radius:0 6px 6px 0; background:var(--accent-wash); }
.news-quote > button:first-child { display:flex; flex-direction:column; gap:4px; flex:1; min-width:0; width:0; padding:0; text-align:left; }
.news-quote b { color:var(--accent); font-size:10px; font-weight:550; }
.news-quote span { display:block; max-width:100%; color:var(--muted); font-size:10px; line-height:1.5; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.news-cancel-reply { display:grid; place-items:center; flex-shrink:0; width:27px; height:27px; color:var(--muted); }
.news-cancel-reply svg { width:13px; height:13px; }
.news-reply-label { margin-bottom:8px; color:var(--muted); font-size:10px; line-height:1.5; }
.news-reply-label b { color:var(--accent); font-weight:500; }
.news-edit-form > div { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:9px; }
.news-edit-form button { padding:6px 9px; border-radius:6px; color:var(--muted); font-size:10px; }
.news-edit-form .news-small-primary { background:var(--accent-wash); color:var(--accent); }
.news-edit-form .news-small-primary:disabled { opacity:.5; }
.news-delete-confirm { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:10px; padding:9px 10px; border:1px solid var(--line); border-radius:7px; color:var(--secondary); font-size:10px; line-height:1.5; }
.news-delete-confirm button { padding:4px 6px; color:var(--accent); font-size:10px; }
.news-missing { display:flex; align-items:center; flex-direction:column; gap:15px; min-height:420px; justify-content:center; padding:25px; text-align:center; }
.news-missing > span svg { width:38px; height:38px; color:var(--accent); }
.news-missing h1 { margin:0; color:var(--text); font-size:24px; line-height:1.5; }
.news-missing p { margin:0; color:var(--muted); font-size:12px; }
.news-missing a { display:flex; align-items:center; gap:8px; padding:10px 0; color:var(--accent); font-size:12px; }
.news-missing a svg { width:14px; height:14px; }
.news-reading :is(button,a):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:1100px) {
 .news-article-head { padding:25px; }
 .news-article-body { padding:23px 25px; }
 .news-article-actions { padding:17px 25px; gap:7px; }
 .news-action-status { margin-left:25px; margin-right:25px; }
 .news-share-link { margin-left:25px; margin-right:25px; max-width:calc(100% - 50px); }
 .news-comments-section { padding:23px; }
}
@media(max-width:760px) {
 .news-open-chat { display:flex; }
 .news-back { margin-bottom:12px; }
 .news-article,.news-comments-section { border-radius:12px; }
 .news-article-head { padding:21px 18px; }
 .news-article-head h1 { font-size:27px; margin-top:14px; }
 .news-article-summary { font-size:12px; }
 .news-publisher { margin-top:18px; }
 .news-article-body { padding:23px 18px; font-size:13px; line-height:1.9; }
 .news-article-body h2 { font-size:16px; }
 .news-article-actions { padding:13px 14px; gap:5px; }
 .news-article-actions button { padding:7px 9px; gap:6px; font-size:10px; }
 .news-article-actions .news-share { margin-left:0; }
 .news-action-status { margin-left:18px; margin-right:18px; }
 .news-share-link { margin-left:18px; margin-right:18px; max-width:calc(100% - 36px); font-size:11px; }
 .news-comments-section { padding:20px 16px; margin-top:18px; }
 .news-comments-head h2 { font-size:14px; }
 .news-comment { gap:9px; padding:19px 0; }
 .news-comment-content > header { gap:4px 8px; }
 .news-comment-content > header time { margin-left:0; font-size:9px; }
 .news-comment-content .member-name { font-size:12px; }
 .news-avatar { width:29px; height:29px; }
 .news-comment-text { font-size:12px; }
 .news-comment-actions { gap:5px 10px; }
 .news-comment-actions button { font-size:10px; }
 .news-comment-form { gap:9px; margin-top:20px; }
 .news-comment-form > .news-avatar { display:none; }
 .news-composer-footer { gap:8px; }
 .news-primary { min-height:37px; font-size:10px; padding:9px 11px; }
 .news-draft-state { font-size:8px; }
 .news-char-count { font-size:8px; }
 .news-primary svg { width:13px; height:13px; }
}
@media(pointer:coarse) { .news-comment-form textarea,.news-edit-form textarea { font-size:16px; } .news-comment-actions button { min-height:30px; } .news-article-actions button,.news-primary { min-height:42px; } }
@media(prefers-reduced-motion:reduce) { .news-reading * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* access-v50.css */
.access-state { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; width:100%; max-width:1040px; min-height:calc(100svh - 250px); margin:0 auto; }
.access-atmosphere { position:fixed; inset:var(--top) var(--chat) 76px 0; z-index:-1; contain:strict; overflow:hidden; pointer-events:none; user-select:none; }
.access-particle { position:absolute; left:var(--x); top:var(--y); width:var(--w); height:var(--h); border-radius:50%; background:var(--tone); opacity:var(--alpha); }
.access-particle.tone-violet { --tone:var(--violet); }
.access-particle.tone-gold { --tone:#ff9f0a; }
.access-particle.tone-green { --tone:#30d158; }
.access-layout { display:grid; grid-template-columns:minmax(240px,360px) minmax(0,450px); align-items:center; justify-content:center; gap:60px; width:100%; max-width:870px; padding:40px 0; }
.access-art { display:flex; align-items:center; justify-content:center; min-width:0; }
.access-code { display:block; color:var(--violet); font:800 180px/1 Community,Arial,sans-serif; letter-spacing:-.02em; transform:translate3d(0,0,0); backface-visibility:hidden; }
.access-copy { min-width:0; width:100%; }
.access-copy h1 { margin:0 0 16px; color:var(--text); font:600 28px/1.3 Community,Arial,sans-serif; letter-spacing:-.5px; text-wrap:balance; }
.access-copy h1:focus { outline:none; }
.access-copy p { margin:0 0 28px; color:#b8b6c3; font-size:15px; line-height:1.75; text-wrap:pretty; }
.access-message { transform:none; }
.access-actions { display:grid; gap:12px; }
.access-actions .button { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:44px; padding:11px 16px; border:1px solid var(--line); border-radius:8px; color:var(--secondary); font-size:13px; font-weight:500; line-height:1.5; background:transparent; box-shadow:none; transform:none!important; transition:background-color 180ms,border-color 180ms,color 180ms; }
.access-actions .button svg { width:15px; height:15px; }
.access-actions .button::before,.access-actions .button::after { display:none!important; }
.access-actions .primary { border-color:color-mix(in srgb,var(--violet) 45%,transparent); color:var(--accent); background:color-mix(in srgb,var(--violet) 4%,transparent); }
.access-actions .primary:hover { border-color:var(--violet); background:color-mix(in srgb,var(--violet) 10%,transparent); color:#d6cef8; }
.access-actions .ghost:hover { border-color:#ffffff26; background:#ffffff04; color:var(--text); }
.access-secondary-links { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px 20px; margin-top:13px; }
.access-secondary-links :is(button,a) { display:inline-flex; align-items:center; gap:6px; min-height:32px; padding:3px 0; color:var(--muted); font-size:11px; line-height:1.5; transition:color 180ms; }
.access-secondary-links :is(button,a):hover { color:var(--accent); }
.access-secondary-links svg { width:12px; height:12px; transform:rotate(180deg); }
.access-state :is(button,a):focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.access-chat { position:absolute; top:0; right:0; display:none; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--accent); }
.access-chat svg { width:16px; height:16px; }
.chat-collapsed .access-chat { display:flex; }
body:has(#access-state) .restore-chat { display:none!important; }
.access-field-error { margin:0!important; padding:9px 11px; border:1px solid #dd878433; border-radius:7px; background:#dd87840a; color:#e6b0ad!important; font-size:11px!important; line-height:1.6; }
#login-form [aria-invalid=true] { border-color:#cc8582; }
.access-state[data-motion-paused=true] :is(.access-code,.access-particle) { animation-play-state:paused; }
@media(prefers-reduced-motion:no-preference) {
 .access-code { will-change:transform; animation:access-number-float 6.4s ease-in-out infinite; }
 .access-particle { animation:access-particle-float var(--duration) ease-in-out var(--delay) infinite; }
 @keyframes access-number-float { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(0,-14px,0); } }
 @keyframes access-particle-float { 0%,100% { transform:translate3d(0,0,0); } 50% { transform:translate3d(var(--dx),var(--dy),0); } }
}
@media(max-width:1279px) { .access-chat { display:flex; } }
@media(max-width:1000px) { .access-layout { gap:36px; grid-template-columns:minmax(220px,.85fr) minmax(0,1.15fr); } .access-code { font-size:150px; } .access-copy h1 { font-size:26px; } .access-copy p { font-size:14px; } }
@media(max-width:740px) {
 .access-state { min-height:calc(100svh - 200px); }
 .access-layout { grid-template-columns:minmax(0,1fr); gap:26px; max-width:430px; padding:24px 4px; }
 .access-code { font-size:132px; }
 .access-copy h1 { font-size:25px; line-height:1.3; margin-bottom:13px; }
 .access-copy p { font-size:13px; margin-bottom:24px; }
 .access-actions .button { min-height:44px; font-size:12px; }
 .access-secondary-links { margin-top:11px; }
 .access-particle:nth-child(n+11) { display:none; }
 .access-chat { top:-10px; }
}
@media(max-width:740px) and (max-height:720px) {
 .access-layout { gap:16px; padding:12px 4px 20px; }
 .access-code { font-size:108px; }
 .access-copy h1 { font-size:24px; margin-bottom:11px; }
 .access-copy p { font-size:12px; margin-bottom:20px; }
 .access-actions { gap:10px; }
}
@media(prefers-reduced-motion:reduce) { .access-atmosphere { display:none; } .access-code { transform:none; will-change:auto; } }

.access-actions [data-access-back] svg { transform:rotate(180deg); }

/* chat-shell-v51.css */
.chat-dock { --chat-shell-header:64px; }
.chat-dock .chat-header { position:relative; z-index:8; flex:none; display:flex; align-items:center; justify-content:space-between; height:var(--chat-shell-header); min-height:var(--chat-shell-header); padding:0 14px; gap:10px; background:var(--surface); border-bottom:1px solid var(--line); }
.chat-heading { display:flex; align-items:center; flex:1; min-width:0; gap:9px; }
.chat-heading-mark { display:grid; place-items:center; flex:none; width:30px; height:32px; border:1px solid var(--accent-edge); border-radius:9px; background:var(--accent-wash); color:var(--accent); }
.chat-heading-mark svg { width:17px; height:17px; stroke-width:1.6; }
.chat-heading .chat-title { display:flex; flex:1; min-width:0; flex-direction:column; align-items:flex-start; gap:3px; }
.chat-heading .chat-title > b { margin:0; font-size:16px; line-height:19px; letter-spacing:-.2px; font-weight:600; color:var(--text); }
.chat-heading .chat-presence { max-width:100%; }
.chat-heading .chat-presence-button { display:flex; align-items:center; gap:5px; min-height:24px; padding:0; color:var(--muted); font-size:10px; line-height:16px; white-space:nowrap; border-radius:3px; }
.chat-presence-button .chat-online-count { flex:none; color:var(--secondary); font-weight:550; font-variant-numeric:tabular-nums; }
.chat-presence-button .chat-online-label { min-width:0; }
.chat-presence-button .dot { flex:none; width:4px; height:4px; margin-right:1px; background:var(--green); box-shadow:none; }
.chat-presence-button > svg { flex:none; width:9px; height:9px; color:var(--muted); }
.chat-presence-button:hover .chat-online-count,.chat-presence-button[aria-expanded=true] .chat-online-count { color:var(--accent); }
.chat-dock .chat-header > .chat-header-actions { display:flex; align-items:center; gap:4px; flex:none; }
.chat-dock .chat-header-actions .icon-button { position:relative; display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid var(--line); border-radius:8px; color:var(--secondary); background:color-mix(in srgb,var(--surface-hi) 50%,var(--surface)); transition:border-color 180ms,background-color 180ms,color 180ms; }
.chat-header-actions .icon-button svg { width:15px; height:15px; stroke-width:1.55; }
.chat-dock .chat-header-actions .icon-button:hover,.chat-dock .chat-header-actions .icon-button[aria-expanded=true] { color:var(--accent); border-color:var(--accent-edge); background:var(--accent-wash); }
.chat-dock .chat-header-actions .is-muted { color:var(--muted); }
.chat-header-actions .is-muted::after { width:17px; height:1.4px; box-shadow:0 0 0 2px var(--surface-hi); }
.chat-dock > .chat-pin { position:relative; flex:none; margin:12px 12px 10px; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:11px; background:color-mix(in srgb,var(--surface-hi) 36%,var(--surface)); transition:border-color 180ms,background-color 180ms; }
.chat-dock > .chat-pin::before { content:""; position:absolute; left:0; top:15px; bottom:15px; width:2px; border-radius:0 2px 2px 0; background:var(--violet); opacity:.75; pointer-events:none; }
.chat-dock > .chat-pin:hover { border-color:var(--accent-edge); }
.chat-dock > .chat-pin[open] { border-color:var(--accent-edge); background:color-mix(in srgb,var(--surface-hi) 50%,var(--surface)); }
.chat-dock .chat-pin summary { display:flex; align-items:center; gap:10px; width:100%; min-height:64px; margin:0; padding:11px 12px; list-style:none; cursor:pointer; }
.chat-pin summary::-webkit-details-marker { display:none; }
.chat-pin-mark { display:grid; place-items:center; flex:none; width:32px; height:32px; border:1px solid color-mix(in srgb,var(--violet) 22%,transparent); border-radius:8px; color:var(--accent); background:color-mix(in srgb,var(--violet) 7%,transparent); }
.chat-pin-mark svg { display:block; width:18px; height:18px; margin:0; stroke-width:1.65; }
.chat-pin-copy { display:flex; flex:1; min-width:0; flex-direction:column; align-items:flex-start; gap:2px; }
.chat-pin-label { max-width:100%; overflow:hidden; color:var(--muted); font-size:10px; line-height:14px; text-overflow:ellipsis; white-space:nowrap; }
.chat-pin-title { display:block; max-width:100%; overflow:hidden; color:var(--text); font-size:12px; line-height:18px; font-weight:550; text-overflow:ellipsis; white-space:nowrap; }
.chat-dock .chat-pin summary > .chat-pin-chevron { flex:none; width:12px; height:12px; margin-left:auto; color:var(--muted); transition:transform 190ms cubic-bezier(.22,.68,.2,1),color 180ms; }
.chat-dock .chat-pin[open] summary > .chat-pin-chevron { transform:rotate(180deg); color:var(--accent); }
.chat-dock .chat-pin summary[aria-expanded=false] > .chat-pin-chevron { transform:none; color:var(--muted); }
.chat-dock .chat-pin summary[aria-expanded=true] > .chat-pin-chevron { transform:rotate(180deg); color:var(--accent); }
.chat-pin-body { max-height:180px; padding:0 14px 14px 54px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:color-mix(in srgb,var(--muted) 30%,transparent) transparent; }
.chat-pin-body:focus-visible { outline:2px solid var(--accent); outline-offset:-4px; }
.chat-dock .chat-pin-body p { margin:0; padding:0; color:var(--secondary); font-size:12px; line-height:1.8; overflow-wrap:anywhere; white-space:pre-wrap; }
.chat-dock .chat-pin summary:focus-visible { outline:2px solid var(--accent); outline-offset:-4px; border-radius:10px; }
.chat-dock :is(.chat-sound-popover,.chat-members-popover) { z-index:20; top:calc(var(--chat-shell-header) + 8px); left:12px; right:12px; width:auto; max-height:calc(100dvh - var(--chat-shell-header) - 30px); padding:12px; border:1px solid var(--line); border-radius:12px; color:var(--text); background:var(--surface-hi); box-shadow:0 10px 30px #0005; }
.chat-sound-popover > div,.chat-members-head { min-height:37px; padding:0 0 11px 2px; border-bottom-color:var(--line); }
.chat-sound-popover h3,.chat-members-head h3 { font-size:13px; font-weight:550; }
.chat-dock :is(.chat-sound-popover,.chat-members-popover) .icon-button { width:30px; height:30px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.chat-sound-popover [role=switch] { min-height:48px; padding:10px 3px; border-radius:6px; font-size:11px; }
.chat-sound-popover [role=switch] + [role=switch] { border-top:1px solid var(--line); }
.chat-member-row { min-height:56px; padding:10px 2px 0; gap:10px; }
.chat-member-row .avatar { width:33px; height:33px; }
.chat-member-row .member-name { font-size:12px; }
@media(hover:hover) and (pointer:fine) {
 .chat-header-actions [data-chat-hint]::before { content:attr(data-chat-hint); position:absolute; z-index:30; top:calc(100% + 8px); right:0; width:max-content; max-width:210px; padding:7px 9px; border:1px solid var(--line); border-radius:7px; background:var(--surface-hi); color:var(--text); font-size:10px; font-weight:400; line-height:1.5; white-space:nowrap; pointer-events:none; opacity:0; visibility:hidden; transform:translateY(-2px); transition:opacity 140ms,transform 160ms,visibility 140ms; }
 .chat-header-actions [data-chat-hint]:is(:hover,:focus-visible)::before { opacity:1; visibility:visible; transform:none; transition-delay:240ms; }
 .chat-header-actions [aria-expanded=true]::before { display:none; }
}
@media(pointer:coarse) {
 .chat-dock { --chat-shell-header:72px; }
 .chat-dock .chat-header { padding-inline:12px; gap:8px; }
 .chat-heading { gap:8px; }
 .chat-dock .chat-header-actions .icon-button { width:44px; height:44px; border-radius:10px; }
 .chat-heading .chat-presence-button { min-height:24px; }
 .chat-dock :is(.chat-sound-popover,.chat-members-popover) .icon-button { width:36px; height:36px; }
}
@media(max-height:540px) { .chat-dock > .chat-pin { margin-block:8px; } .chat-dock .chat-pin summary { min-height:54px; padding-block:7px; } .chat-pin-body { max-height:110px; } }
@media(prefers-reduced-motion:reduce) { .chat-dock .chat-header-actions [data-chat-hint]::before { transform:none; transition:none; } }
