@import url("rich-editor.css?v=28.5.20");
/* v28.5.12 local font bundle — no Google Fonts request at runtime. */
@font-face{font-family:Orbitron;font-style:normal;font-weight:500 800;font-display:swap;src:url("vendor/fonts/orbitron/orbitron-latin-500-800.woff2") format("woff2")}
@font-face{font-family:Rajdhani;font-style:normal;font-weight:400;font-display:swap;src:url("vendor/fonts/rajdhani/rajdhani-latin-400.woff2") format("woff2")}
@font-face{font-family:Rajdhani;font-style:normal;font-weight:500;font-display:swap;src:url("vendor/fonts/rajdhani/rajdhani-latin-500.woff2") format("woff2")}
@font-face{font-family:Rajdhani;font-style:normal;font-weight:600;font-display:swap;src:url("vendor/fonts/rajdhani/rajdhani-latin-600.woff2") format("woff2")}
@font-face{font-family:Rajdhani;font-style:normal;font-weight:700;font-display:swap;src:url("vendor/fonts/rajdhani/rajdhani-latin-700.woff2") format("woff2")}
:root{--bg:#08080c;--surface:#101116;--surface2:#15171e;--line:#292b34;--text:#eeeaf2;--muted:#908b97;--purple:#ae62f0;--green:#58c98b;--gold:#d7a954;--danger:#ed6077}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 72% 0,rgba(60,100,55,.08),transparent 35%),radial-gradient(circle at 15% 10%,rgba(150,65,220,.08),transparent 28%),var(--bg);color:var(--text);font:500 16px/1.45 Rajdhani,system-ui;min-height:100vh}a{color:inherit}.sf-atmos{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.sf-atmos i{position:absolute;width:3px;height:3px;background:#d17b32;border-radius:50%;box-shadow:0 0 10px #ff9847;animation:ember 9s linear infinite;bottom:-5%}.sf-atmos i:nth-child(1){left:12%;animation-delay:-2s}.sf-atmos i:nth-child(2){left:55%;animation-delay:-7s}.sf-atmos i:nth-child(3){left:84%;animation-delay:-4s}@keyframes ember{to{transform:translateY(-110vh) translateX(40px);opacity:0}}.sf-top{height:74px;padding:0 5vw;display:flex;align-items:center;gap:30px;border-bottom:1px solid #25232b;background:rgba(8,8,12,.9);backdrop-filter:blur(15px);position:sticky;top:0;z-index:50}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand img{width:42px;height:42px;object-fit:contain}.brand span{font:800 12px Orbitron;letter-spacing:1px}.brand small{display:block;color:#8b8191;font:600 8px Orbitron;margin-top:3px}.sf-top nav{display:flex;gap:22px;margin-left:auto}.sf-top nav a{font:700 10px Orbitron;letter-spacing:.8px;color:#87818d;text-decoration:none}.sf-top nav a:hover,.sf-top nav a.active{color:#fff}.account{display:flex;align-items:center;gap:12px}.account>a{font:700 10px Orbitron;text-decoration:none}.user-chip{display:flex;flex-direction:column;padding:6px 10px;border:1px solid #34313b;border-radius:7px}.user-chip b{font-size:12px}.user-chip span{font:700 8px Orbitron;color:#a96bef}.community-shell,.page-shell{width:min(1320px,92vw);margin:auto}.community-hero{min-height:310px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;border-bottom:1px solid #28252e}.community-hero>div{max-width:760px}.community-hero h1,.page-head h1,.profile-hero h1,.ticket-head h1{font:800 clamp(36px,5vw,66px)/.98 Orbitron;letter-spacing:-2px;margin:8px 0}.community-hero h1 span{color:#b86df4}.community-hero p{color:#aaa2af;font-size:19px}.community-hero img{align-self:end;width:min(340px,32vw);max-height:300px;object-fit:contain}.eyebrow{font:700 9px Orbitron;letter-spacing:1.6px;color:#9c64cc;margin:0 0 7px}.alert{display:flex;justify-content:space-between;gap:20px;margin:14px 0;padding:13px 16px;border:1px solid #37323d;background:#111116;border-radius:8px}.alert p{margin:3px 0 0;color:#aaa3af}.alert>span{font:700 8px Orbitron}.alert.warning{border-color:#735f31}.alert.critical{border-color:#7b3340}.alert.success{border-color:#2d6849}.layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;padding:20px 0 70px}.main-column{min-width:0}.side-column{display:grid;align-content:start;gap:16px}.panel,.forum-category,.new-topic,.ticket-row,.profile-card,.profile-hero,.reply-box{border:1px solid var(--line);background:rgba(16,17,22,.92);border-radius:10px}.panel{padding:17px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid #292a31}.panel-head h2,.panel-head h3{font:700 21px Orbitron;margin:0}.panel-head.compact h3{font-size:14px}.live-pill{font:700 8px Orbitron;color:#72d7a3;border:1px solid #275e45;padding:6px 9px;border-radius:20px}.live-pill i{display:inline-block;width:6px;height:6px;background:#62df9d;border-radius:50%;margin-right:5px}.chat-stream{height:440px;overflow:auto;padding:12px 4px}.chat-message{position:relative;display:grid;grid-template-columns:36px 1fr;gap:9px;padding:9px 7px;border-radius:7px}.chat-message:hover{background:#15161c}.avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#22242b;border:1px solid #343740;color:#ddd;text-decoration:none;font-weight:800}.avatar.big{width:58px;height:58px;font-size:21px}.avatar.huge{width:96px;height:96px;font:800 34px Orbitron}.chat-message header{display:flex;align-items:center;gap:8px}.chat-message header a{font-weight:800;text-decoration:none}.rank-badge{font:700 8px Orbitron;letter-spacing:.5px;color:#a86bea;border:1px solid #523168;padding:3px 5px;border-radius:4px}.chat-message time{margin-left:auto;color:#65616b;font-size:11px}.chat-message p{margin:3px 0;color:#c4bec8}.chat-message.style-announcement{background:linear-gradient(90deg,rgba(137,73,190,.2),transparent);border-left:2px solid #bd71ff}.chat-message.style-warning{background:linear-gradient(90deg,rgba(190,75,87,.18),transparent);border-left:2px solid #e75f71}.chat-message.style-staff{background:linear-gradient(90deg,rgba(74,137,103,.16),transparent)}.mod-dot{border:0;background:none;color:#807a85;cursor:pointer}.chat-compose{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding-top:11px;border-top:1px solid #292a31}.chat-compose textarea,.chat-compose select,textarea,input,select{background:#0b0c10;border:1px solid #30313a;color:#eee;border-radius:6px;padding:10px;font:500 15px Rajdhani;outline:none}.chat-compose textarea:focus,textarea:focus,input:focus,select:focus{border-color:#7d4b9e}.chat-notice{padding:8px 10px;margin-top:9px;background:#251b13;border:1px solid #72542d;color:#e4bf80;border-radius:6px}.signin-callout{padding:14px;text-align:center;color:#8e8894}.sf-btn,.new-topic button,.reply-box button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #4d3b5a;border-radius:6px;background:#15131a;color:#eee;padding:9px 13px;text-decoration:none;font:700 9px Orbitron;cursor:pointer}.sf-btn.primary,.new-topic button,.reply-box button{background:linear-gradient(100deg,#64328d,#8e47bc);border-color:#a55dd3}.sf-btn.small{padding:7px 9px}.forum-board{margin-top:20px}.section-title{display:flex;justify-content:space-between;align-items:end;margin:25px 0 12px}.section-title h2{font:700 26px Orbitron;margin:0}.section-title>a{color:#ad71dc;text-decoration:none}.forum-category{overflow:hidden;margin-bottom:13px}.forum-category>header{display:flex;justify-content:space-between;padding:16px;background:linear-gradient(90deg,rgba(111,57,151,.13),rgba(45,89,65,.08));border-bottom:1px solid var(--line)}.forum-category>header>div{display:flex;gap:12px}.forum-category h3{font:700 16px Orbitron;margin:0}.forum-category header p,.forum-row p{margin:4px 0 0;color:#8e8793}.category-mark{color:#ac66df;font-size:23px}.forum-row{display:flex;justify-content:space-between;padding:13px 17px;text-decoration:none;border-bottom:1px solid #22242a}.forum-row:last-child{border-bottom:0}.forum-row:hover{background:#15161c}.forum-row>span{text-align:right;color:#76717d;font-size:12px}.forum-row>span b{color:#b8b0bc}.online-list{display:grid}.online-user{display:grid;grid-template-columns:35px 1fr 8px;gap:9px;align-items:center;padding:9px 0;text-decoration:none}.online-user small{display:block;color:#8c8591}.online-user>i{width:7px;height:7px;border-radius:50%;background:#5dcf91}.quick-links>a{display:flex;gap:10px;padding:11px 0;text-decoration:none;border-bottom:1px solid #24252c}.quick-links>a>span{color:#a66ed0;font-size:22px}.quick-links small{display:block;color:#827b87}.page-head{padding:70px 0 30px;border-bottom:1px solid #282a31}.page-head form{display:flex;gap:8px;max-width:600px}.page-head form input{flex:1}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 0}.profile-card{display:flex;gap:12px;padding:16px;text-decoration:none}.profile-card h3{margin:0;font:700 16px Orbitron}.profile-card p{margin:4px 0;color:#827c86}.profile-card small{color:#a49cab}.profile-hero{display:flex;align-items:center;gap:20px;margin-top:50px;padding:30px;background:linear-gradient(120deg,rgba(122,69,160,.13),rgba(60,104,76,.08))}.profile-hero h1{font-size:44px}.profile-hero p{color:#8c8591}.staff-verified{margin-top:8px;color:#d1ad63;font:700 9px Orbitron}.profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 0 60px}.linked-card{display:grid;gap:4px;border-left:2px solid #5bc88b;padding-left:12px}.linked-card b{color:#6fd59c}.muted{color:#837c88}.forum-category.standalone{margin-top:15px}.new-topic{margin:18px 0;padding:14px}.new-topic summary{cursor:pointer;font:700 10px Orbitron;color:#c688ed}.new-topic form,.reply-box{display:grid;gap:9px;margin-top:13px}.topic-list{display:grid;gap:8px}.topic-row{display:flex;justify-content:space-between;padding:15px;border:1px solid var(--line);background:#101116;border-radius:8px;text-decoration:none}.topic-title{font:700 15px Orbitron}.topic-title span{font-size:7px;background:#604070;padding:3px 5px;margin-right:7px}.breadcrumb{padding-top:35px;color:#807988}.topic-head{display:flex;align-items:center;justify-content:space-between}.topic-head h1{font:700 34px Orbitron}.posts{display:grid;gap:10px}.post{display:grid;grid-template-columns:170px 1fr;border:1px solid var(--line);border-radius:9px;background:#101116;overflow:hidden}.post aside{padding:16px;background:#0d0e13;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.post-body{padding:20px;font-size:17px}.reply-box{padding:15px;margin:15px 0 60px}.ticket-list{display:grid;gap:8px}.ticket-row{display:grid;grid-template-columns:90px 1fr 140px;align-items:center;padding:13px;text-decoration:none}.ticket-row small{display:block;color:#7d7781}.ticket-status{font:700 8px Orbitron;padding:5px 7px;border:1px solid #3b3d45;border-radius:5px;width:max-content}.ticket-status.open{color:#6ad29a;border-color:#315f49}.ticket-status.resolved,.ticket-status.closed{color:#8d8791}.ticket-head{display:flex;align-items:end;justify-content:space-between;padding:60px 0 20px}.ticket-head h1{font-size:38px}.ticket-thread{display:grid;gap:10px}.ticket-message{padding:16px;border:1px solid var(--line);background:#101116;border-radius:8px}.ticket-message header{display:flex;gap:8px}.ticket-message header time{margin-left:auto;color:#77717b}.ticket-message.staff-note{border-color:#715b33;background:#17140d}.notice{padding:12px 14px;border-radius:7px;border:1px solid #35343b;margin:10px 0}.notice.danger{border-color:#763744;background:#1e1015;color:#ff9bac}.sf-auth{display:grid;place-items:center;padding:30px}.auth-card{width:min(500px,94vw);padding:30px;border:1px solid #302b36;border-radius:12px;background:rgba(14,14,19,.95);box-shadow:0 30px 100px #000}.auth-card.wide{width:min(680px,94vw)}.auth-card h1{font:800 31px Orbitron}.auth-card form{display:grid;gap:11px}.auth-card label{display:grid;gap:5px;color:#9d95a1}.sf-footer{display:flex;gap:18px;align-items:center;padding:25px 5vw;border-top:1px solid #26242c;color:#716b76}.sf-footer b{font:700 9px Orbitron}.sf-footer a{margin-left:auto}.rank-founder .rank-badge,.rank-founder header span,.rank-founder.user-chip span{color:#f3c96f;border-color:#714eb5;background:linear-gradient(90deg,rgba(92,52,146,.25),rgba(173,112,40,.12))}.rank-developer .rank-badge,.rank-developer header span{color:#d681ff}.rank-administrator .rank-badge,.rank-administrator header span{color:#62a9ff}.rank-moderator .rank-badge,.rank-moderator header span{color:#6fd6a1}.rank-support .rank-badge,.rank-support header span{color:#62cbd7}.rank-vip .rank-badge,.rank-vip header span{color:#e1b758}@media(max-width:900px){.sf-top{padding:0 18px}.sf-top nav{display:none}.layout-grid{grid-template-columns:1fr}.community-hero img{opacity:.45;position:absolute;right:0}.profile-grid{grid-template-columns:repeat(2,1fr)}.profile-columns{grid-template-columns:1fr}.chat-compose{grid-template-columns:1fr}.post{grid-template-columns:1fr}.post aside{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:600px){.community-shell,.page-shell{width:calc(100% - 28px)}.account .user-chip{display:none}.community-hero{min-height:300px}.community-hero h1{font-size:39px}.profile-grid{grid-template-columns:1fr}.ticket-row{grid-template-columns:80px 1fr}.ticket-row>strong{display:none}.profile-hero{align-items:flex-start}.sf-footer{flex-wrap:wrap}}
.reaction-row{display:flex;gap:5px;margin-top:5px;min-height:22px}.reaction-row button{border:1px solid #30323a;background:#0c0e12;color:#aaa2ae;border-radius:12px;padding:2px 7px;cursor:pointer;font-size:11px}.reaction-row button:hover{border-color:#75508e;color:#fff}


/* v28.1 Snake Farm Community Suite */
:root{--sf-royal:#6f2bd9;--sf-royal2:#a66cff;--sf-violet:#7f3de4;--sf-leaf:#62b978;--sf-moss:#253c2e;--sf-amber:#d59a48;--sf-cream:#e8dcc5;--sf-deep:#07080b}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 80% 20%,rgba(70,114,61,.09),transparent 33%),radial-gradient(ellipse at 14% 42%,rgba(105,43,190,.10),transparent 28%),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px);background-size:auto,auto,100% 38px}.sf-atmos b{position:absolute;width:220px;height:220px;border:1px solid rgba(97,157,92,.035);border-radius:45% 55% 55% 45%;transform:rotate(35deg)}.sf-atmos b:nth-of-type(1){right:7%;top:30%}.sf-atmos b:nth-of-type(2){left:3%;top:68%;width:150px;height:150px}.snake-community-hero{position:relative;border:1px solid #282d2c;border-top:0;background:linear-gradient(100deg,rgba(10,11,15,.94) 0 58%,rgba(34,60,39,.3)),radial-gradient(circle at 80% 55%,rgba(95,153,75,.16),transparent 35%);padding:30px 42px;border-radius:0 0 18px 18px}.snake-community-hero:after{content:"SNAKE FARM";position:absolute;right:28%;bottom:8px;font:800 62px Orbitron;color:rgba(120,170,100,.025);letter-spacing:8px;pointer-events:none}.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.hero-tags span,.facility-tag,.status-chip{border:1px solid #33453a;background:#101913;border-radius:999px;padding:6px 10px;font:700 10px Orbitron;color:#9fc6a8}.facility-card{position:relative;overflow:hidden;min-height:175px}.facility-card img{position:absolute;right:-28px;bottom:-38px;width:170px;opacity:.28}.facility-card p,.facility-card h3{position:relative;max-width:70%}.latest-devlog{display:grid;grid-template-columns:54px 1fr auto;gap:15px;align-items:center;margin:16px 0;padding:18px;border:1px solid #3b3048;border-radius:12px;background:linear-gradient(90deg,rgba(103,45,157,.17),rgba(32,57,37,.10));text-decoration:none}.latest-devlog .snake-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:12px;background:#18221b;border:1px solid #314637;color:#75c48a;font-size:26px}.latest-devlog h3{margin:2px 0}.latest-devlog p{margin:3px 0;color:#9c96a1}.chat-room-tabs{display:flex;gap:4px;margin-left:auto}.chat-room-tabs button{border:1px solid #2a3037;background:#0c0e12;color:#787e87;border-radius:7px;padding:7px 10px;cursor:pointer;font:700 9px Orbitron}.chat-room-tabs button.active{color:#d8efe0;background:#17231c;border-color:#365e45}.chat-room-tabs small{color:#b987f0}.command-output{padding:9px 12px;border:1px solid #47335c;background:#16101e;color:#c9b8da;border-radius:8px;margin-top:10px}.reaction-row{display:flex;gap:5px;align-items:center;min-height:27px}.reaction-pill,.react-add{border:1px solid #2d3038;background:#111319;color:#bbb;border-radius:999px;padding:3px 8px;cursor:pointer}.reaction-pill.mine{background:#2b1a3d;border-color:#7549a1}.react-add{opacity:0}.chat-message:hover .react-add{opacity:1}.reaction-picker{position:fixed;z-index:1000;display:flex;gap:2px;padding:7px;border:1px solid #3a3d46;background:#15171d;box-shadow:0 16px 45px #000b;border-radius:999px;animation:reactPop .12s ease-out}.reaction-picker button{width:31px;height:31px;border:0;background:transparent;border-radius:50%;font-size:20px;cursor:pointer}.reaction-picker button:hover{background:#292c34;transform:scale(1.18)}@keyframes reactPop{from{transform:scale(.88);opacity:0}}.mod-sheet{position:fixed;z-index:1001;width:190px;padding:8px;border:1px solid #383b45;background:#121419;box-shadow:0 18px 50px #000c;border-radius:9px;display:grid;gap:4px}.mod-sheet>b{padding:6px 7px;color:#c8c3cb}.mod-sheet button{border:0;background:#191c23;color:#b8b5bd;text-align:left;padding:8px;border-radius:6px;cursor:pointer}.mod-sheet button:hover{background:#252a32;color:#fff}.removed{opacity:.45}.style-action p{font-style:italic;color:#a999b5!important}.player-identity{display:inline-flex;align-items:center;gap:5px}.rank-name{position:relative;font-weight:800;text-decoration:none}.rank-founder .rank-name,.rank-name.rank-founder,.rank-founder.rank-name{background:linear-gradient(100deg,#4b168e,#7a2be2 45%,#bb7aff 72%,#7a2be2);background-size:220% auto;color:transparent!important;background-clip:text;-webkit-background-clip:text;animation:royalShimmer 4s linear infinite;text-shadow:0 0 18px rgba(113,40,206,.35)}.rank-founder .rank-name:after,.rank-name.rank-founder:after,.rank-founder.rank-name:after{content:"✦";position:absolute;right:-12px;top:-8px;font-size:8px;color:#d9b3ff;text-shadow:-16px 12px 0 #7a2be2,7px 14px 0 #d48443;animation:founderSpark 1.8s ease-in-out infinite}.rank-developer .rank-name,.rank-name.rank-developer,.rank-developer.rank-name{background:linear-gradient(90deg,#a96cff,#d64b5d,#a96cff);background-size:200%;color:transparent!important;background-clip:text;-webkit-background-clip:text;animation:royalShimmer 5s linear infinite}.rank-developer .rank-name:after,.rank-developer.rank-name:after{content:"✧";color:#bd80ff;font-size:8px;vertical-align:super;margin-left:4px}.rank-administrator .rank-name,.rank-name.rank-administrator,.rank-administrator.rank-name{color:#68adff!important;text-shadow:0 0 10px rgba(79,153,232,.45)}.rank-administrator .rank-name:after,.rank-administrator.rank-name:after{content:"✦";font-size:7px;color:#9bc8ff;margin-left:4px;vertical-align:super}.rank-moderator .rank-name,.rank-moderator.rank-name{color:#5fd595!important}.rank-support .rank-name,.rank-support.rank-name{color:#61cbd8!important}.rank-vip .rank-name,.rank-vip.rank-name{color:#e1b454!important}.rank-player .rank-name,.rank-player.rank-name{color:#ba8ad6!important}@keyframes royalShimmer{to{background-position:220% center}}@keyframes founderSpark{50%{transform:translateY(-2px) scale(1.35);filter:brightness(1.5)}}.employee-badge{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid #60407c;background:#120d18;border-radius:50%;vertical-align:middle;box-shadow:0 0 10px rgba(143,77,194,.25)}.employee-badge img{width:13px!important;height:13px!important;object-fit:contain!important}.employee-mini{font:800 7px Orbitron;color:#d5a8ff;border:1px solid #633e7b;border-radius:4px;padding:2px 4px;margin-left:4px}.social-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;padding-bottom:60px}.friend-list header{display:flex;justify-content:space-between;align-items:center}.friend-row{display:flex;gap:9px;align-items:center;text-decoration:none;padding:9px;border-radius:8px}.friend-row:hover,.friend-row.active{background:#181b21}.friend-row div{display:grid;min-width:0}.friend-row small{color:#76717b}.dm-panel{min-height:580px;display:flex;flex-direction:column}.dm-stream{flex:1;overflow:auto;padding:15px 0;display:flex;flex-direction:column;gap:8px}.dm-bubble{max-width:72%;padding:10px 12px;border:1px solid #292d35;border-radius:12px;background:#12151a}.dm-bubble.mine{align-self:flex-end;background:#1a1324;border-color:#49305e}.dm-bubble p{margin:3px 0}.dm-bubble small{color:#6f6b73}.friend-management{display:grid}.friend-manage-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #252830;padding:12px}.friend-manage-row>div{display:flex;gap:7px;align-items:center}.settings-grid,.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:60px}.stack-form{display:grid;gap:12px}.stack-form label,.panel label{display:grid;gap:5px}.stack-form label small{color:#76717b}.snake-head{position:relative;padding-left:22px;border-left:3px solid #5aa66e}.snake-profile{background:linear-gradient(110deg,rgba(30,52,34,.42),rgba(57,25,78,.22)),#111218;overflow:hidden}.snake-profile:after{content:"";position:absolute;right:-35px;bottom:-65px;width:240px;height:240px;background:url('../assets/snake-farm-mascot.webp') center/contain no-repeat;opacity:.12;pointer-events:none}.profile-main{position:relative;z-index:1}.profile-main h1{display:flex;align-items:center;gap:8px}.profile-title{color:#bcb5c2}.profile-actions{margin-left:auto;position:relative;z-index:2}.devlog-head{margin-bottom:20px}.devlog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-bottom:70px}.devlog-entry{position:relative;display:block;padding:22px;border:1px solid #2d3237;background:linear-gradient(145deg,rgba(20,29,22,.7),rgba(18,15,24,.9));border-radius:13px;text-decoration:none}.devlog-entry:hover{border-color:#4d6954;transform:translateY(-2px)}.devlog-entry.full{max-width:920px;margin:0 auto 70px}.devlog-entry.full h1{font:800 clamp(32px,5vw,58px) Orbitron}.devlog-meta{display:flex;justify-content:space-between;color:#807987;font:700 9px Orbitron}.devlog-entry .pin{position:absolute;right:15px;top:46px;font:700 8px Orbitron;color:#d2a85b}.devlog-author{margin:10px 0 24px}.devlog-entry .lead{font-size:20px;color:#c9c0ce}.devlog-body{font-size:18px;line-height:1.7;color:#c0bac4}.empty-state{text-align:center;padding:50px 20px}.empty-state img{width:160px;max-height:140px;object-fit:contain;opacity:.6}.empty-state.mini{padding:80px 20px}.toast-stack{position:fixed;right:18px;bottom:18px;z-index:2000;display:grid;gap:8px}.sf-toast{transform:translateY(10px);opacity:0;transition:.2s;padding:11px 14px;border:1px solid #363a42;background:#15171c;border-radius:8px;box-shadow:0 10px 30px #0009}.sf-toast.show{transform:none;opacity:1}.sf-toast.error{border-color:#71313d}.sf-toast.success{border-color:#2d6b4b}.sf-btn.danger,.danger{border-color:#6d3440!important;color:#ef8999!important}.notice.success{border:1px solid #326b4d;background:#102019;color:#9fe0ba}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-chip.success{border-color:#326d4b;color:#78d8a3}.profile-grid{margin-top:16px}.linked-card{border-color:#344d3a}
@media(max-width:900px){.sf-top{height:auto;flex-wrap:wrap;padding:12px 4vw}.sf-top nav{order:3;width:100%;overflow:auto;padding-bottom:4px}.chat-room-tabs{order:3;width:100%;margin-top:8px}.social-grid,.settings-grid,.profile-grid,.devlog-grid{grid-template-columns:1fr}.snake-community-hero{padding:24px}.snake-community-hero img{opacity:.32}.reaction-picker{max-width:calc(100vw - 20px);overflow-x:auto}.react-add{opacity:1}}

.report-chat{border:0;background:transparent;color:#6f6d75;opacity:0;cursor:pointer;font-weight:900}.chat-message:hover .report-chat{opacity:1}.report-chat:hover{color:#ef8797}@media(max-width:900px){.report-chat{opacity:.7}}

.notification-row{display:flex;justify-content:space-between;gap:16px;padding:13px;border-bottom:1px solid #282b32;text-decoration:none}.notification-row.unread{background:linear-gradient(90deg,rgba(94,42,143,.16),transparent);border-left:2px solid #8b4cc4}.notification-row p{margin:3px 0;color:#aaa4ae}.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.directory-grid{grid-template-columns:1fr}}

/* v28.2 identity + Snake Farm community polish */
:root{--sf-green:#6ca66f;--sf-wood:#6d4a2d;--sf-purple:#7d35cb;--sf-purple2:#d04d73}
.player-identity{--role-a:#b98bd7;--role-b:#d9b7ef;position:relative;display:inline-flex;align-items:center;gap:7px;min-height:32px}
.player-identity .rank-name{z-index:2}
.employee-badge{order:-1;display:inline-flex!important;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-width:32px;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin-right:1px;overflow:visible;filter:drop-shadow(0 0 7px rgba(153,83,218,.32))}
.employee-badge img{width:30px!important;height:30px!important;max-width:none!important;object-fit:contain!important;display:block!important}
.online-user .employee-badge{width:28px!important;height:28px!important;min-width:28px}.online-user .employee-badge img{width:27px!important;height:27px!important}
.rank-badge{white-space:nowrap;background:rgba(19,15,25,.72)}
.rank-founder .rank-name,.effect-ember_gradient .rank-name{background:linear-gradient(90deg,#491287 0%,#7b25d0 24%,#d84970 48%,#bc65f5 70%,#5f20ae 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:founderGradient 5.4s linear infinite;text-shadow:0 0 15px rgba(119,43,204,.36)}
.rank-developer .rank-name,.effect-ember_burst .rank-name{background:none!important;color:#7f36d5!important;text-shadow:0 0 11px rgba(111,45,196,.68),0 0 22px rgba(95,34,166,.25);animation:none!important}
.rank-administrator .rank-name,.effect-spark_burst .rank-name{color:#69afff!important;text-shadow:0 0 12px rgba(75,151,255,.5)}
.effect-ember_gradient .rank-name::before,.effect-ember_gradient .rank-name::after,.effect-ember_burst .rank-name::before,.effect-ember_burst .rank-name::after,.effect-spark_burst .rank-name::before,.effect-spark_burst .rank-name::after{content:"";pointer-events:none;position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;opacity:0;z-index:3}
.effect-ember_gradient .rank-name::before{background:#d867ff;box-shadow:-16px 4px 0 #7e2ee8,-7px -2px 0 #ff9452,5px 5px 0 #b851ff,13px 1px 0 #f36279,21px -4px 0 #ffb75c;animation:nameFireworkA 2.2s ease-out infinite}
.effect-ember_gradient .rank-name::after{background:#ff9054;box-shadow:-21px -1px 0 #a853ec,-11px 6px 0 #ffbc69,7px -4px 0 #8c43ef,17px 5px 0 #e85d83,27px 0 0 #c47bff;animation:nameFireworkB 2.8s .65s ease-out infinite}
.effect-ember_burst .rank-name::before{background:#b879ff;box-shadow:-13px 3px 0 #8139db,-4px -2px 0 #d9a2ff,8px 4px 0 #7330c7,17px 0 0 #a65cff;animation:nameFireworkA 3s .3s ease-out infinite}
.effect-ember_burst .rank-name::after{background:#8b43e1;box-shadow:-8px 5px 0 #bc83ff,4px -3px 0 #6c2cb9,13px 3px 0 #d2a6ff;animation:nameFireworkB 3.7s 1.1s ease-out infinite}
.effect-spark_burst .rank-name::before{background:#8dccff;box-shadow:-11px 2px 0 #4e99fa,3px -3px 0 #d6efff,12px 3px 0 #72b8ff;animation:nameFireworkA 3.3s .8s ease-out infinite}
@keyframes founderGradient{to{background-position:260% 0}}
@keyframes nameFireworkA{0%,48%,100%{opacity:0;transform:translate(0,0) scale(.3)}52%{opacity:1}66%{opacity:.9;transform:translate(1px,-10px) scale(1)}84%{opacity:0;transform:translate(3px,-20px) scale(.25)}}
@keyframes nameFireworkB{0%,55%,100%{opacity:0;transform:translate(0,0) scale(.2)}60%{opacity:1}76%{opacity:.85;transform:translate(-2px,-8px) scale(.9)}91%{opacity:0;transform:translate(-5px,-17px) scale(.2)}}
@media(prefers-reduced-motion:reduce){.rank-founder .rank-name,.effect-ember_gradient .rank-name{animation:none}.effect-ember_gradient .rank-name::before,.effect-ember_gradient .rank-name::after,.effect-ember_burst .rank-name::before,.effect-ember_burst .rank-name::after,.effect-spark_burst .rank-name::before,.effect-spark_burst .rank-name::after{animation:none!important;display:none}}
.chat-room-tabs .discord-tab{border-color:#3f4381}.chat-room-tabs .discord-tab.active{background:#1b1d36;border-color:#5865f2;color:#fff}.discord-stage{padding:46px 24px;text-align:center}.discord-stage .discord-mark{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;margin:0 auto 14px;background:#5865f2;color:#fff;font:800 22px Orbitron;box-shadow:0 14px 45px rgba(88,101,242,.28)}
.snake-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0 20px}.snake-quick-grid a{padding:12px;border:1px solid #2b3430;border-radius:9px;background:linear-gradient(145deg,rgba(41,68,47,.15),rgba(62,31,78,.12));text-decoration:none}.snake-quick-grid b{display:block;font:700 10px Orbitron}.snake-quick-grid small{color:#88818c}
.player-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:999px;border:1px solid color-mix(in srgb,var(--badge-a) 48%,#292832);background:linear-gradient(100deg,color-mix(in srgb,var(--badge-a) 16%,#111218),color-mix(in srgb,var(--badge-b) 12%,#111218));color:#ddd;font:700 7px Orbitron;white-space:nowrap}.player-badge i{font-style:normal;color:var(--badge-a)}
.sanction-page{width:min(760px,90vw);margin:18vh auto;padding:35px;border:1px solid #4a3341;border-radius:16px;background:#111116}
@media(max-width:900px){.employee-badge{width:29px!important;height:29px!important;min-width:29px}.employee-badge img{width:28px!important;height:28px!important}.snake-quick-grid{grid-template-columns:1fr 1fr}}

/* v28.2 persistent staff access + maintenance bypass */
.fourth-seal-staff-launch{position:fixed;right:18px;bottom:18px;z-index:1900;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(155,84,230,.42);border-radius:999px;background:rgba(12,10,17,.88);backdrop-filter:blur(14px);box-shadow:0 10px 30px #0008,0 0 24px rgba(109,44,190,.12);text-decoration:none;color:#d8c5e8;transition:.18s}.fourth-seal-staff-launch:hover{transform:translateY(-2px);border-color:#9c5ee0;color:#fff}.fourth-seal-staff-launch span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(145deg,#54208f,#8b41d3);font:800 12px Orbitron;box-shadow:0 0 16px rgba(128,62,209,.4)}.fourth-seal-staff-launch b{font:700 8px Orbitron;letter-spacing:.8px}.staff-maintenance-banner{position:sticky;top:74px;z-index:49;display:flex;justify-content:center;align-items:center;gap:14px;padding:8px 4vw;border-bottom:1px solid #795c2e;background:linear-gradient(90deg,#24190d,#161116,#24190d);color:#d8c394;font-size:13px}.staff-maintenance-banner b{font:800 8px Orbitron;letter-spacing:1px;color:#ffd280}.staff-maintenance-banner a{color:#dfb2ff;font-weight:700}@media(max-width:900px){.fourth-seal-staff-launch b{display:none}.staff-maintenance-banner{top:118px;flex-wrap:wrap;gap:7px;text-align:center}}

/* v28.2.3 identity polish — borderless 4H crest + miniature name fireworks */
.player-identity{overflow:visible!important}
.employee-badge{order:-1!important;width:42px!important;height:42px!important;min-width:42px!important;margin:-8px 3px -8px 0!important;border:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;overflow:visible!important;filter:drop-shadow(0 0 8px rgba(139,68,209,.42))}
.employee-badge img{width:40px!important;height:40px!important;max-width:none!important;display:block!important;object-fit:contain!important}
.chat-message .employee-badge{width:40px!important;height:40px!important;min-width:40px!important}.chat-message .employee-badge img{width:38px!important;height:38px!important}
.online-user .employee-badge{width:34px!important;height:34px!important;min-width:34px!important}.online-user .employee-badge img{width:33px!important;height:33px!important}
.rank-founder .rank-name,.effect-royal_firework .rank-name{background:linear-gradient(92deg,#53149A 0%,#7E2DD1 22%,#B54BDA 43%,#E05C91 57%,#9C39E4 76%,#5B1BA3 100%)!important;background-size:300% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:royalFireworkGradient 5.8s linear infinite!important;text-shadow:0 0 16px rgba(112,35,196,.35)!important}
.rank-developer .rank-name,.effect-ember_burst .rank-name{background:none!important;color:#9A52E8!important;text-shadow:0 0 10px rgba(132,61,214,.65),0 0 23px rgba(92,33,156,.3)!important;animation:none!important}
.effect-royal_firework .rank-name::before,.effect-royal_firework .rank-name::after,.rank-founder .rank-name::before,.rank-founder .rank-name::after{content:"";position:absolute;left:50%;top:48%;width:2px;height:2px;border-radius:50%;opacity:0;pointer-events:none;z-index:4}
.effect-royal_firework .rank-name::before,.rank-founder .rank-name::before{background:#F39AD0;box-shadow:-25px 2px 0 #7D2BDD,-17px -7px 0 #B15CFF,-8px 6px 0 #FF7B9D,8px -5px 0 #9B46F1,18px 7px 0 #E76EAC,27px -2px 0 #B45BFF;animation:microFireworkLeft 2.65s ease-out infinite}
.effect-royal_firework .rank-name::after,.rank-founder .rank-name::after{background:#B875FF;box-shadow:-20px -3px 0 #D04C9A,-12px 7px 0 #8E38E6,5px 6px 0 #FF8D79,14px -7px 0 #C864F3,24px 3px 0 #7B2FD4;animation:microFireworkRight 3.15s .9s ease-out infinite}
.effect-ember_burst .rank-name::before,.effect-ember_burst .rank-name::after{content:"";position:absolute;left:50%;top:55%;width:2px;height:2px;border-radius:50%;opacity:0;pointer-events:none;background:#C997FF;box-shadow:-14px 4px 0 #8435D1,-5px -4px 0 #B06AEA,8px 3px 0 #6D2BAE,17px -2px 0 #D3A4FF;animation:developerEmber 3.2s ease-out infinite}
.effect-ember_burst .rank-name::after{animation-delay:1.55s;transform:scale(.8)}
.effect-spark_burst .rank-name::before,.effect-spark_burst .rank-name::after{content:"";position:absolute;left:50%;top:50%;width:2px;height:2px;border-radius:50%;opacity:0;background:#CBE8FF;box-shadow:-12px 3px 0 #5CAAF8,2px -6px 0 #A3D8FF,13px 4px 0 #68B4FF;animation:adminSpark 3.4s ease-out infinite}.effect-spark_burst .rank-name::after{animation-delay:1.7s}
@keyframes royalFireworkGradient{to{background-position:300% center}}
@keyframes microFireworkLeft{0%,62%{opacity:0;transform:translate(0,0) scale(.35)}68%{opacity:1}82%{opacity:.8;transform:translate(-7px,-7px) scale(1)}100%{opacity:0;transform:translate(-13px,-13px) scale(.3)}}
@keyframes microFireworkRight{0%,66%{opacity:0;transform:translate(0,0) scale(.35)}72%{opacity:1}86%{opacity:.85;transform:translate(8px,-8px) scale(1)}100%{opacity:0;transform:translate(15px,-15px) scale(.25)}}
@keyframes developerEmber{0%,70%{opacity:0;transform:translate(0,0) scale(.4)}76%{opacity:.95}90%{opacity:.72;transform:translate(6px,-8px) scale(.85)}100%{opacity:0;transform:translate(11px,-15px) scale(.2)}}
@keyframes adminSpark{0%,76%{opacity:0;transform:translate(0,0) scale(.3)}81%{opacity:1}92%{opacity:.8;transform:translate(6px,-7px) scale(.8)}100%{opacity:0;transform:translate(10px,-11px) scale(.2)}}
@media(prefers-reduced-motion:reduce){.rank-founder .rank-name,.effect-royal_firework .rank-name{animation:none!important}.rank-founder .rank-name::before,.rank-founder .rank-name::after,.effect-royal_firework .rank-name::before,.effect-royal_firework .rank-name::after,.effect-ember_burst .rank-name::before,.effect-ember_burst .rank-name::after,.effect-spark_burst .rank-name::before,.effect-spark_burst .rank-name::after{display:none!important}}

/* v28.2.4 richer live chat */
.chat-mention{color:#d39cff;font-weight:800;background:rgba(116,61,168,.12);border-radius:4px;padding:0 2px}.chat-message.pinned{border-left:2px solid #d2a455;background:linear-gradient(90deg,rgba(181,132,54,.08),transparent 30%)}.pin-chip{font:700 7px Orbitron;color:#e4bd6b;border:1px solid #66502c;border-radius:999px;padding:2px 5px}.chat-reply-preview{display:grid;gap:2px;margin:5px 0 7px;padding:6px 9px;border-left:2px solid #68458d;background:#0e1015;border-radius:0 6px 6px 0;color:#89828e;font-size:12px}.chat-reply-preview b{color:#bd96dd}.chat-reply-preview span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-chat{border:0;background:transparent;color:#858b96;cursor:pointer;border-radius:50%;width:28px;height:28px}.reply-chat:hover{background:#292c34;color:#fff}.chat-reply-compose{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;border:1px solid #45305a;border-radius:7px;background:#130e19;color:#a99ab4;font-size:12px}.chat-reply-compose b{color:#d1a6ef}.chat-reply-compose button{border:0;background:transparent;color:#a99ab4;font-size:20px;cursor:pointer}

/* v28.2.5 moderation + appeals */
.appeal-history{padding:14px 0;border-bottom:1px solid #292d34}.appeal-history header{display:flex;justify-content:space-between;gap:12px}.appeal-history header small{color:#737b87}.staff-appeal-response{margin-top:12px;padding:12px;border:1px solid #38503f;border-radius:8px;background:#0d1711}.staff-appeal-response>b{color:#89d1a2;font:700 9px Orbitron}.sanction-row .status-chip{margin-left:6px}

/* v28.2.6 content comments */
.content-comments{max-width:920px;margin:18px auto 70px}.content-comment{padding:14px 0;border-bottom:1px solid #292d34}.content-comment header{display:flex;align-items:center;gap:9px}.content-comment time{margin-left:auto;color:#737b87;font-size:11px}

/* v28.2.8 — Game account deletion */
.deletion-shell{max-width:1180px}.deletion-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:22px;margin-top:22px}.deletion-warning{border-color:#6e3046;background:linear-gradient(145deg,rgba(116,35,58,.12),rgba(15,16,22,.96))}.deletion-warning h3{margin-top:22px}.deletion-warning li{margin:.55rem 0;color:#c9c4cf}.danger-check{padding:14px;border:1px solid #693746;border-radius:12px;background:#35151d55}.deletion-policy-note{margin-top:22px}@media(max-width:850px){.deletion-grid{grid-template-columns:1fr}}

/* v28.2.8 player platform pages */
.roadmap-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.roadmap-lane{background:#0f1016;border:1px solid #2c2936;border-radius:16px;padding:15px;min-height:180px}.roadmap-lane>header{display:flex;align-items:center;gap:9px;border-bottom:1px solid #292631;padding-bottom:10px;margin-bottom:12px}.roadmap-lane>header span{width:9px;height:9px;border-radius:50%;background:#9963dc;box-shadow:0 0 14px #9963dc}.roadmap-lane>header h2{margin:0;flex:1;font-size:1rem}.roadmap-lane>header b{color:#938b9d}.roadmap-lane article{background:#161721;border:1px solid #2e2b38;border-radius:12px;padding:14px;margin:10px 0}.roadmap-lane article h3{margin:.35rem 0}.content-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.content-card{display:block;text-decoration:none;color:inherit}.content-card:hover{transform:translateY(-2px);border-color:#5b4673}.content-card small,.event-type,.status-chip{font-size:.72rem;letter-spacing:.11em;color:#b89ad2}.clamp-rich{max-height:92px;overflow:hidden}.split-content{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr);gap:22px}.feature-row,.bug-row{display:flex;gap:16px;align-items:center;text-decoration:none;color:inherit;margin-bottom:10px}.vote-score{min-width:66px;text-align:center;font-size:1.05rem;color:#c69bf3}.severity{display:inline-block;min-width:76px;text-align:center;font-size:.68rem;font-weight:800;letter-spacing:.08em;border:1px solid #40384b;border-radius:999px;padding:6px 9px}.severity-critical{color:#ff7f8f;border-color:#7b3442}.severity-high{color:#ffb36f}.severity-medium{color:#dfc47d}.severity-low{color:#9bcfba}.badge-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.badge-showcase{position:relative}.badge-showcase.earned{border-color:#6e4d92;box-shadow:inset 0 0 28px #7c48ad12}.badge-showcase>div{margin-bottom:14px}.event-full,.feature-full,.guide-full,.bug-full,.club-full{margin:20px 0}.event-full h1,.feature-full h1,.guide-full h1,.bug-full h1,.club-full h1{font-size:clamp(2rem,5vw,3.4rem);margin:.4rem 0 1rem}@media(max-width:980px){.roadmap-board,.badge-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.split-content{grid-template-columns:1fr}}@media(max-width:680px){.roadmap-board,.badge-gallery,.content-card-grid{grid-template-columns:1fr}}


/* v28.2.11 — community polish, balanced Snake Farm theming, identity effects */
.community-alert-stack{display:grid;gap:10px;margin:16px 0}.community-alert-stack:empty{display:none}.community-alert-stack .alert{margin:0}.alert-body{margin-top:5px;color:#aaa3af}.alert-body p{margin:.2rem 0}.alert-body>:first-child{margin-top:0}.alert-body>:last-child{margin-bottom:0}
.chat-message .player-identity .rank-name{font-size:18px;line-height:1.22;font-weight:800}.chat-message .rank-badge{font-size:9px}.chat-message header{min-height:31px}
.player-identity{display:inline-flex;align-items:center;gap:6px;position:relative;overflow:visible!important}.rank-name{position:relative;display:inline-block;overflow:visible}
.effect-founder_scroll .rank-name,.rank-founder .rank-name{background:linear-gradient(90deg,#4d128f 0%,#7430c8 18%,#a857e6 38%,#d65eae 52%,#a849e4 70%,#6925ba 86%,#4d128f 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:sfNameScroll 6.4s linear infinite;text-shadow:0 0 13px rgba(126,54,202,.34)}
.effect-developer_scroll .rank-name,.rank-developer .rank-name{background:linear-gradient(90deg,#6d27c9,#a146e0,#d44d73,#9d42df,#6d27c9);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:sfNameScroll 7.4s linear infinite;text-shadow:0 0 11px rgba(144,64,207,.3)}
.effect-sparkle_glow .rank-name,.rank-administrator .rank-name{color:#73b6ff!important;text-shadow:0 0 11px rgba(86,164,255,.42)}
.effect-royal_firework .rank-name,.effect-ember_gradient .rank-name,.effect-gradient_shift .rank-name{background:linear-gradient(90deg,#4d128f,#7f35d4,#d3519b,#853bdd,#4d128f)!important;background-size:250% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:sfNameScroll 6.8s linear infinite!important}
.effect-ember_burst .rank-name{color:#a461ed!important}.effect-spark_burst .rank-name{color:#75b7ff!important}
.effect-founder_scroll .rank-name::before,.effect-founder_scroll .rank-name::after,.effect-developer_scroll .rank-name::before,.effect-developer_scroll .rank-name::after,.effect-sparkle_glow .rank-name::before,.effect-sparkle_glow .rank-name::after,.rank-founder .rank-name::before,.rank-founder .rank-name::after,.rank-developer .rank-name::before,.rank-developer .rank-name::after,.rank-administrator .rank-name::before,.rank-administrator .rank-name::after{display:none!important}
.name-sparkles{position:absolute;left:0;right:0;top:-7px;height:9px;pointer-events:none;overflow:visible;z-index:4}.name-sparkles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#f2d8ff;box-shadow:0 0 5px currentColor;opacity:0;animation:sfTwinkle 2.8s ease-in-out infinite}.name-sparkles i:nth-child(1){left:5%;animation-delay:-.25s;color:#a760ef}.name-sparkles i:nth-child(2){left:29%;top:-2px;animation-delay:-1.45s;color:#f28cc8}.name-sparkles i:nth-child(3){left:52%;top:1px;animation-delay:-2.1s;color:#c788ff}.name-sparkles i:nth-child(4){left:73%;top:-1px;animation-delay:-.9s;color:#ffb07e}.name-sparkles i:nth-child(5){left:94%;top:1px;animation-delay:-1.8s;color:#d5b0ff}.effect-developer_scroll .name-sparkles i,.rank-developer .name-sparkles i{width:2px;height:2px;animation-duration:3.4s}.effect-sparkle_glow .name-sparkles i,.rank-administrator .name-sparkles i{color:#99d2ff;background:#e8f6ff;animation-duration:4s}
@keyframes sfNameScroll{to{background-position:260% 0}}@keyframes sfTwinkle{0%,56%,100%{opacity:0;transform:translateY(2px) scale(.45) rotate(0)}64%{opacity:1;transform:translateY(-1px) scale(1.15) rotate(45deg)}74%{opacity:.35;transform:translateY(-4px) scale(.7) rotate(90deg)}}
.facility-console{overflow:hidden;position:relative;background:linear-gradient(145deg,rgba(29,36,32,.96),rgba(16,17,22,.97))}.facility-console:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49%,rgba(111,148,113,.035) 50%,transparent 51%),linear-gradient(0deg,transparent 0 49%,rgba(111,148,113,.025) 50%,transparent 51%);background-size:26px 26px;pointer-events:none}.facility-console-head{display:flex;align-items:center;gap:10px;position:relative}.facility-console-head>div{flex:1}.facility-console-head h3{margin:1px 0 0}.facility-console-head>b{font:800 8px Orbitron;color:#78d99f;border:1px solid #315d45;padding:5px 7px;border-radius:999px}.facility-led{width:9px;height:9px;border-radius:50%;background:#5fd18d;box-shadow:0 0 13px rgba(95,209,141,.75)}.facility-console-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0;position:relative}.facility-console-grid span{display:grid;gap:2px;padding:9px 10px;border:1px solid #2c3831;border-radius:7px;background:rgba(10,14,12,.56)}.facility-console-grid i{font:700 7px Orbitron;color:#7b947f;font-style:normal}.facility-console-grid b{font:700 9px Orbitron;color:#c4d0c5}
.side-feed h3{margin:2px 0 10px}.side-feed>a{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid #262931;text-decoration:none}.side-feed>a:last-child{border-bottom:0}.side-feed>a>span:first-child{width:18px;color:#9e6dd0}.side-feed a div{min-width:0}.side-feed a b{display:block;font-size:13px}.side-feed a small{display:block;color:#77717d}.lane-dot{display:inline-block!important;width:8px!important;height:8px!important;border-radius:50%;margin-top:5px;background:#8d61c7}.lane-building{background:#64c48c}.lane-testing{background:#e0ae55}.lane-released{background:#58a9df}.layout-grid{grid-template-columns:minmax(0,1fr) 340px;gap:20px}.forum-board{padding-bottom:14px}.forum-category{box-shadow:0 10px 28px rgba(0,0,0,.08)}
.pending-email-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #292d34}.pending-email-row div{display:grid}.pending-email-row small{color:#807985}
@media(prefers-reduced-motion:reduce){.effect-founder_scroll .rank-name,.rank-founder .rank-name,.effect-developer_scroll .rank-name,.rank-developer .rank-name,.effect-royal_firework .rank-name,.effect-ember_gradient .rank-name,.effect-gradient_shift .rank-name{animation:none!important}.name-sparkles{display:none!important}}
@media(max-width:900px){.layout-grid{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr}.chat-message .player-identity .rank-name{font-size:16px}}@media(max-width:620px){.side-column{grid-template-columns:1fr}.facility-console-grid{grid-template-columns:1fr 1fr}}
/* v28.2.11 compatibility: historical effect slugs degrade to scroll/twinkle, never fireworks. */
.effect-royal_firework .rank-name::before,.effect-royal_firework .rank-name::after,
.effect-ember_gradient .rank-name::before,.effect-ember_gradient .rank-name::after,
.effect-ember_burst .rank-name::before,.effect-ember_burst .rank-name::after,
.effect-spark_burst .rank-name::before,.effect-spark_burst .rank-name::after{display:none!important;content:none!important;animation:none!important}

/* --------------------------------------------------------------------------
   v28.2.12 — professional community UI + deterministic rank identity
   -------------------------------------------------------------------------- */

/* Founder is the only animated premium name treatment. Developer is clean. */
.effect-royal_firework .rank-name::before,.effect-royal_firework .rank-name::after,
.effect-ember_gradient .rank-name::before,.effect-ember_gradient .rank-name::after,
.effect-ember_burst .rank-name::before,.effect-ember_burst .rank-name::after,
.effect-spark_burst .rank-name::before,.effect-spark_burst .rank-name::after,
.rank-founder .rank-name::before,.rank-founder .rank-name::after,
.rank-developer .rank-name::before,.rank-developer .rank-name::after{display:none!important;content:none!important;animation:none!important}

.rank-founder .rank-name,.effect-founder_scroll .rank-name{
  position:relative;isolation:isolate;
  background:linear-gradient(92deg,#4f138f 0%,#7624c8 17%,#a14be3 34%,#e45aa6 50%,#a744df 66%,#6d22bd 83%,#4f138f 100%)!important;
  background-size:280% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
  animation:sfFounderScroll 6.2s linear infinite,sfFounderGlow 2.9s ease-in-out infinite!important;
  text-shadow:none!important;filter:drop-shadow(0 0 5px rgba(149,71,222,.28));
}
.rank-developer .rank-name,.rank-developer.effect-none .rank-name,.effect-none.rank-developer .rank-name{
  background:none!important;color:#a45ce6!important;animation:none!important;filter:none!important;text-shadow:none!important;
}
@keyframes sfFounderScroll{to{background-position:280% 0}}
@keyframes sfFounderGlow{0%,100%{filter:drop-shadow(0 0 3px rgba(138,62,214,.24))}50%{filter:drop-shadow(0 0 8px rgba(207,90,210,.47))}}

/* Sparkles are tightly anchored to the Founder name instead of orbiting it. */
.rank-name>.founder-sparkles{position:absolute;inset:-5px -5px -4px -5px;display:block!important;pointer-events:none;overflow:visible;z-index:5}
.rank-name>.founder-sparkles i{position:absolute;display:block!important;width:3px;height:3px;padding:0!important;border:0!important;border-radius:1px!important;background:#f7e7ff!important;box-shadow:0 0 5px currentColor!important;opacity:0;transform:rotate(45deg) scale(.25);animation:sfFounderTwinkle 2.7s ease-in-out infinite!important}
.rank-name>.founder-sparkles i:nth-child(1){left:7%;top:-1px;color:#b268ff;animation-delay:-.2s!important}
.rank-name>.founder-sparkles i:nth-child(2){left:38%;top:2px;color:#ff8dc4;animation-delay:-1.45s!important}
.rank-name>.founder-sparkles i:nth-child(3){left:71%;top:-2px;color:#d2a6ff;animation-delay:-2.05s!important}
.rank-name>.founder-sparkles i:nth-child(4){right:2%;bottom:0;color:#ffb08a;animation-delay:-.85s!important}
@keyframes sfFounderTwinkle{0%,68%,100%{opacity:0;transform:rotate(45deg) scale(.2)}76%{opacity:.9;transform:rotate(45deg) scale(1)}84%{opacity:.58;transform:rotate(45deg) scale(.62)}}
@media(prefers-reduced-motion:reduce){.rank-founder .rank-name,.effect-founder_scroll .rank-name{animation:none!important}.founder-sparkles{display:none!important}}

/* Common Room tagline supports its safe rich text without paragraph-tag leakage. */
.community-tagline{max-width:760px;color:#aaa2af;font-size:19px}.community-tagline p{margin:.35rem 0}.community-tagline>:first-child{margin-top:0}.community-tagline>:last-child{margin-bottom:0}

/* Alerts stack independently and remain visually legible when multiple are live. */
.community-alert-stack{display:grid!important;gap:10px!important;margin:16px 0!important}.community-alert-stack:empty{display:none!important}.community-alert-stack .alert{margin:0!important;align-items:flex-start}.alert-side{display:grid;justify-items:end;gap:8px;min-width:max-content}.alert-side>span{font:800 8px Orbitron;letter-spacing:.7px;color:#8e8894}.alert.critical{box-shadow:inset 3px 0 #d95870}.alert.warning{box-shadow:inset 3px 0 #d1a44d}.alert.success{box-shadow:inset 3px 0 #52b77f}.alert.info{box-shadow:inset 3px 0 #7552ad}

/* Professional forum topic presentation. */
.breadcrumb{display:flex;gap:7px;align-items:center;font-size:13px}.breadcrumb a{color:#be83e9;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}
.topic-head{margin:18px 0 14px;padding:18px 0;border-bottom:1px solid #272a31}.topic-head h1{margin:0}
.posts{gap:16px}.post{grid-template-columns:190px minmax(0,1fr);border-color:#2a2d35;border-radius:12px;box-shadow:0 12px 35px rgba(0,0,0,.12)}
.post-author{padding:20px 17px!important;gap:10px!important;background:linear-gradient(180deg,#0c0e13,#0d1015)!important}.post-author .player-identity{flex-wrap:wrap}.post-author-meta{display:grid;gap:3px;padding-top:8px;border-top:1px solid #232730;width:100%}.post-author-meta span{font:800 7px Orbitron;letter-spacing:.8px;color:#776a84}.post-author-meta time{font-size:12px;color:#6f7782}.post-content{min-width:0;position:relative}.post-toolbar{min-height:34px;display:flex;justify-content:flex-end;align-items:center;padding:8px 16px 0}.post-permalink{font:700 8px Orbitron;color:#656f7c;text-decoration:none}.post-permalink:hover{color:#c48cf0}.post-body{padding:6px 28px 30px!important;font-size:17px;line-height:1.72;max-width:100%}
.rich-content{overflow-wrap:anywhere}.rich-content> :first-child{margin-top:0}.rich-content> :last-child{margin-bottom:0}.rich-content p{margin:.85em 0}.rich-content h2,.rich-content h3,.rich-content h4{font-family:Orbitron,system-ui;line-height:1.2;color:#f3edf7;margin:1.65em 0 .65em}.rich-content h2{font-size:1.42em;padding-bottom:.45em;border-bottom:1px solid #2b2c34}.rich-content h3{font-size:1.18em;color:#d9c3e9}.rich-content h4{font-size:1em;color:#bda9ca}.rich-content ul,.rich-content ol{padding-left:1.55em;margin:1em 0}.rich-content li{padding:.18em 0}.rich-content li::marker{color:#a967d8}.rich-content blockquote{margin:1.2em 0;padding:13px 16px;border-left:3px solid #8d50bc;background:linear-gradient(90deg,rgba(111,56,151,.13),rgba(18,18,23,.2));border-radius:0 8px 8px 0;color:#cfc4d5}.rich-content pre{overflow:auto;padding:15px;border:1px solid #2b3039;border-radius:9px;background:#080b0f;color:#d2d9e2}.rich-content code{font:500 .9em ui-monospace,SFMono-Regular,Consolas,monospace}.rich-content a:not(.sf-btn){color:#c783ef;text-decoration-thickness:1px;text-underline-offset:3px}.rich-content img{display:block;max-width:100%;height:auto;margin:1.2em auto;border:1px solid #30343d;border-radius:10px;box-shadow:0 16px 45px rgba(0,0,0,.24)}.rich-content figure{margin:1.4em 0}.rich-content figure img{margin:0 auto}.rich-content figcaption{text-align:center;margin-top:8px;color:#777f8a;font-size:13px}.rich-content hr{border:0;border-top:1px solid #2b2e36;margin:1.7em 0}.rich-content table{width:100%;border-collapse:separate;border-spacing:0;margin:1.2em 0;border:1px solid #2b2f38;border-radius:9px;overflow:hidden}.rich-content th,.rich-content td{padding:10px 12px;border-right:1px solid #262a31;border-bottom:1px solid #262a31;text-align:left}.rich-content th{background:#12161c;color:#c9a9e0;font:700 9px Orbitron}.rich-content tr:last-child td{border-bottom:0}.rich-content th:last-child,.rich-content td:last-child{border-right:0}

/* Developer Field Log reads like a publication. */
.devlog-entry.full{max-width:1040px;margin:28px auto;padding:30px;border:1px solid #2a2d35;border-radius:14px;background:linear-gradient(160deg,rgba(17,18,24,.98),rgba(12,14,18,.98));box-shadow:0 24px 70px rgba(0,0,0,.22)}.devlog-entry.full>h1{font:800 clamp(30px,4vw,50px)/1.03 Orbitron;margin:14px 0}.devlog-author,.content-author{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 18px}.devlog-author>span,.content-author>span{color:#727986;font-size:12px}.devlog-entry.full .lead{font-size:20px;line-height:1.55;color:#bdb5c1;padding:0 0 18px;border-bottom:1px solid #292c33}.devlog-body{font-size:17px;line-height:1.75;padding-top:10px}.devlog-grid .devlog-entry{padding:20px;border:1px solid #292d35;border-radius:11px;transition:.16s}.devlog-grid .devlog-entry:hover{border-color:#59416c;transform:translateY(-2px);background:#12141a}

/* Forum overview gets more visual breadth and clearer hierarchy. */
.forum-category.standalone{border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.11)}.forum-category.standalone>header{padding:18px 20px}.forum-row{padding:16px 20px;min-height:72px;align-items:center}.forum-row>div{min-width:0}.forum-row b{font-size:16px}.forum-desc{max-width:820px}.topic-row{padding:17px 18px;border-radius:10px}.topic-row:hover{border-color:#4b3a59;background:#13151b}

@media(max-width:900px){.post{grid-template-columns:1fr}.post-author{display:grid!important;grid-template-columns:58px 1fr;align-items:center!important;border-right:0!important;border-bottom:1px solid var(--line)}.post-author .avatar{grid-row:1/3}.post-author-meta{grid-column:2}.post-body{padding:8px 18px 24px!important}.post-toolbar{padding-right:14px}}


/* --------------------------------------------------------------------------
   v28.2.12 — navigation, Lab, buttons and final community surface polish
   -------------------------------------------------------------------------- */
.sf-breadcrumb{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:26px 0 8px;padding:10px 12px;border:1px solid #262a32;border-radius:9px;background:rgba(12,14,19,.74);backdrop-filter:blur(10px)}
.sf-breadcrumb-trail{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.sf-breadcrumb-trail a,.sf-breadcrumb-trail span{font-size:12px;text-decoration:none}.sf-breadcrumb-trail a{color:#a98bbc}.sf-breadcrumb-trail a:hover{color:#fff}.sf-breadcrumb-trail span[aria-current=page]{color:#e7e1eb;font-weight:700}.crumb-sep{color:#4e535d!important}.sf-breadcrumb-actions{display:flex;gap:7px;flex-wrap:wrap}
.breadcrumb{display:none!important}
.sf-btn{min-height:34px;gap:6px;transition:border-color .14s,background .14s,color .14s,transform .14s}.sf-btn:hover{border-color:#765090;background:#1a1620;color:#fff;transform:translateY(-1px)}.sf-btn.secondary{background:#11161a;border-color:#33443b;color:#b5d6c1}.sf-btn.ghost{background:#0c0e12;border-color:#333640;color:#9da3ad}.sf-btn.danger{background:#211116;border-color:#713643;color:#ef8496}.sf-btn.external:after{content:"↗";font-size:10px;color:#8c7698}
.link-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.text-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;border:1px solid #393141;border-radius:7px;background:#111016;color:#cba1e6!important;text-decoration:none!important;font:700 9px Orbitron}.text-link-button:hover{border-color:#76508e;background:#19141f;color:#fff!important}

/* Snake Farm Lab */
.lab-shell{padding-bottom:80px}.lab-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.lab-head>div:first-child{max-width:820px}.lab-status{min-width:220px;display:grid;gap:3px;padding:14px 16px;border:1px solid #314038;border-radius:10px;background:linear-gradient(145deg,#0e1512,#111019)}.lab-status>span{font:800 7px Orbitron;color:#61bc84}.lab-status>b{font:700 13px Orbitron}.lab-status>small{color:#7c8580}
.lab-tool-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0}.lab-tool-nav button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;padding:11px 12px;border:1px solid #292e35;border-radius:9px;background:#0e1116;color:#b7bdc7;cursor:pointer}.lab-tool-nav button>span{grid-row:1/3;font-size:20px}.lab-tool-nav button>b{font:700 9px Orbitron;color:#d7dbe1}.lab-tool-nav button>small{color:#707986}.lab-tool-nav button.active{border-color:#5b4670;background:linear-gradient(145deg,#17111e,#101719);box-shadow:inset 0 -2px #63438a}.lab-tool-nav button:disabled{opacity:.55;cursor:not-allowed}
.lab-workspace{display:grid;gap:15px}.lab-parent-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.lab-parent-card{padding:0;overflow:hidden}.lab-parent-card>header{display:flex;align-items:center;justify-content:space-between;padding:16px 17px;border-bottom:1px solid #292d34;background:linear-gradient(90deg,rgba(88,54,111,.14),rgba(41,89,61,.08))}.lab-parent-card h2,.lab-results-card h2,.lab-share-panel h2{margin:0;font:700 18px Orbitron}.lab-gene-list{display:grid}.lab-gene-row{display:flex!important;align-items:center;justify-content:space-between;gap:14px;margin:0!important;padding:12px 16px;border-bottom:1px solid #23272e}.lab-gene-row:last-child{border-bottom:0}.lab-gene-row>span{display:grid;grid-template-columns:10px 1fr;column-gap:9px;align-items:center;min-width:0}.lab-gene-row>span i{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:var(--gene-accent);box-shadow:0 0 10px color-mix(in srgb,var(--gene-accent) 55%,transparent)}.lab-gene-row>span b{font-size:14px}.lab-gene-row>span small{color:#777f89}.lab-gene-row select{min-width:190px}
.lab-results-card{padding:0;overflow:hidden}.lab-results-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:17px 18px;border-bottom:1px solid #292e35}.lab-results-head p{margin:5px 0 0}.lab-result-actions{display:flex;gap:8px;flex-wrap:wrap}.lab-result-kpis{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #292e35}.lab-result-kpis>span{display:grid;gap:3px;padding:12px 17px;border-right:1px solid #292e35}.lab-result-kpis>span:last-child{border-right:0}.lab-result-kpis small{font:800 7px Orbitron;color:#727c88}.lab-result-kpis b{font:800 19px Orbitron}
.lab-results-table-wrap{overflow:auto}.lab-results-table{width:100%;border-collapse:collapse}.lab-results-table th,.lab-results-table td{padding:12px 16px;border-bottom:1px solid #22272e;text-align:left}.lab-results-table th{font:800 8px Orbitron;color:#7f8895;background:#0b0e12;position:sticky;top:0}.lab-results-table code{color:#8e99a7}.top-outcome td:first-child b{color:#dfc5ef}.chance-bar{position:relative;display:flex;align-items:center;justify-content:flex-end;min-width:150px;height:26px;border:1px solid #2b3037;border-radius:6px;overflow:hidden;background:#090c10}.chance-bar i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(91,154,103,.22),rgba(130,72,174,.35))}.chance-bar b{position:relative;padding:0 8px;font:800 9px Orbitron}.lab-note{padding:13px 17px;background:#0b0e12;color:#79828d}.lab-note b{font:700 9px Orbitron;color:#8fb59b}.lab-note p{margin:3px 0}
.lab-share-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:18px;align-items:center;margin:15px 0}.lab-share-panel[hidden]{display:none}.lab-share-controls{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:end}.lab-share-controls label{margin:0}.lab-future-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.lab-future-grid .panel{min-height:155px}.lab-future-grid span{font-size:24px}.lab-future-grid h3{font:700 12px Orbitron;margin:8px 0 5px}.lab-future-grid p{margin:0;color:#818994}

/* More professional universal page/card rhythm */
.page-shell>.page-head{margin-bottom:16px}.page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}.panel,.content-card,.forum-category,.topic-row,.ticket-row{box-shadow:0 12px 34px rgba(0,0,0,.08)}.content-card,.feature-row,.bug-row{transition:transform .14s,border-color .14s,background .14s}.content-card:hover,.feature-row:hover,.bug-row:hover{transform:translateY(-2px);border-color:#4e3d5c;background:#12141a}
.section-title>a{display:inline-flex;align-items:center;min-height:30px;padding:6px 9px;border:1px solid #3b3244;border-radius:7px;background:#100e14;color:#bd8cdb;text-decoration:none;font:700 8px Orbitron}.section-title>a:hover{border-color:#704e87;color:#fff}
.forum-row-stats{display:flex!important;align-items:center;gap:16px!important}.forum-row-stats>span{display:grid;text-align:center}.forum-row-stats small{font:700 7px Orbitron;color:#6e7681}.forum-row-stats i{font-style:normal;color:#62536d;font-size:22px}.forum-row-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--forum-accent,#8B5FC7) 45%,#31343a);border-radius:9px;background:color-mix(in srgb,var(--forum-accent,#8B5FC7) 10%,#101218)}
.forum-row-copy{flex:1;min-width:0}.forum-row-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.forum-state-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.state-pill{display:inline-flex;align-items:center;min-height:20px;padding:3px 6px;border:1px solid #3d3546;border-radius:999px;font:800 7px Orbitron;color:#aa96b8}.state-pill.readonly{color:#e0b26c;border-color:#624c2d}.state-pill.archive{color:#9198a1;border-color:#3b4047}
.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.field-label{display:grid;gap:5px}

/* Responsive navigation/Lab */
@media(max-width:1050px){.lab-tool-nav{grid-template-columns:repeat(3,1fr)}.lab-future-grid{grid-template-columns:1fr 1fr}.lab-share-panel{grid-template-columns:1fr}.lab-share-controls{grid-template-columns:1fr auto}}
@media(max-width:760px){.sf-breadcrumb{align-items:flex-start;flex-direction:column}.sf-breadcrumb-actions{width:100%}.sf-breadcrumb-actions .sf-btn{flex:1}.lab-head{align-items:stretch;flex-direction:column}.lab-status{min-width:0}.lab-tool-nav{grid-template-columns:1fr 1fr}.lab-parent-grid{grid-template-columns:1fr}.lab-results-head{flex-direction:column}.lab-result-actions{width:100%}.lab-result-actions .sf-btn{flex:1}.lab-share-controls{grid-template-columns:1fr}.lab-future-grid{grid-template-columns:1fr}.lab-gene-row{align-items:flex-start;flex-direction:column}.lab-gene-row select{width:100%;min-width:0}.lab-result-kpis{grid-template-columns:1fr}.lab-result-kpis>span{border-right:0;border-bottom:1px solid #292e35}.lab-result-kpis>span:last-child{border-bottom:0}.chance-bar{min-width:115px}}

/* v28.2.12 Snake Farm Lab — full first tool suite */
.lab-tool-nav{grid-template-columns:repeat(7,minmax(0,1fr));overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.lab-tool-nav button{min-width:145px}.lab-tool-nav button:not(.active):hover{border-color:#3b4650;background:#12171c}.lab-calculator-card,.lab-explorer,.lab-project-form,.lab-project-list{padding:0;overflow:hidden}.lab-calculator-card>header,.lab-section-head,.lab-project-form>p,.lab-project-form>h2,.lab-project-form>form,.lab-project-list>p,.lab-project-list>h2{margin-left:18px;margin-right:18px}.lab-calculator-card>header,.lab-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 0 14px;border-bottom:1px solid #292e35}.lab-calculator-card>header h2,.lab-section-head h2,.lab-project-form h2,.lab-project-list h2{margin:0;font:700 19px Orbitron}.lab-calculator-card>header p,.lab-section-head p{margin:5px 0 0;color:#89919b}.calculator-input-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:16px 18px}.calculator-input-grid.four{grid-template-columns:repeat(4,1fr)}.calculator-input-grid label{display:grid;gap:6px;color:#9ca3ad;font:700 9px Orbitron}.planner-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-top:1px solid #292e35}.planner-result-grid article{display:grid;gap:4px;padding:17px 18px;border-right:1px solid #292e35;min-height:90px}.planner-result-grid article:last-child{border-right:0}.planner-result-grid small{font:800 7px Orbitron;color:#717b86}.planner-result-grid b{font:800 24px Orbitron;color:#e2dde6}.planner-result-grid span{color:#78818c}.gene-explorer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 18px}.gene-explorer-card{position:relative;padding:17px;border:1px solid #2a3036;border-radius:10px;background:linear-gradient(145deg,#11151a,#0c0f13);overflow:hidden}.gene-explorer-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--gene-accent)}.gene-explorer-card .gene-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--gene-accent);box-shadow:0 0 12px var(--gene-accent);margin-bottom:12px}.gene-explorer-card h3{font:700 17px Orbitron;margin:0}.gene-explorer-card>p:not(.eyebrow){min-height:45px;color:#949ca5}.gene-explorer-card>div{display:grid;gap:5px;margin:13px 0}.gene-explorer-card>div span{display:flex;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px solid #22282e;color:#777f89}.gene-explorer-card>div b{color:#c8ced5}.lab-two-column{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:15px}.lab-project-form{padding-bottom:18px}.lab-project-form>p.eyebrow{margin-top:18px}.project-pair-preview{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:12px;border:1px solid #2a3037;border-radius:8px;background:#0c1014}.project-pair-preview>span{display:grid;gap:3px}.project-pair-preview>span:nth-child(2){font:700 18px Orbitron;color:#79539a}.project-pair-preview small{font:800 7px Orbitron;color:#707986}.project-pair-preview b{font-size:13px}.lab-project-list{padding:18px}.lab-project-list>p,.lab-project-list>h2{margin-left:0;margin-right:0}.saved-project{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #272c33}.saved-project:first-of-type{margin-top:13px}.saved-project h3{margin:6px 0 3px;font:700 14px Orbitron}.saved-project p{margin:0;color:#929aa4}.saved-project small{color:#676f79}.lab-share-panel{margin-top:15px}.lab-workspace[hidden]{display:none!important}
@media(max-width:1180px){.lab-tool-nav{grid-template-columns:repeat(7,minmax(150px,1fr))}.calculator-input-grid.four{grid-template-columns:repeat(2,1fr)}.gene-explorer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.lab-tool-nav{display:flex}.lab-tool-nav button{flex:0 0 165px}.calculator-input-grid,.calculator-input-grid.four{grid-template-columns:1fr}.gene-explorer-grid{grid-template-columns:1fr}.lab-two-column{grid-template-columns:1fr}.lab-calculator-card>header,.lab-section-head{flex-direction:column}.planner-result-grid article{border-right:0;border-bottom:1px solid #292e35}}

/* v28.2.12 forum engagement + professional moderation */
.topic-head-side{display:grid;justify-items:end;gap:10px}.topic-user-actions{display:flex;gap:6px}.topic-user-actions form,.post-toolbar-actions form{margin:0}.topic-user-actions .sf-btn.active{border-color:#5f7f68;background:#111d16;color:#9edbb3}.topic-moderator{margin:0 0 16px;padding:0;overflow:hidden}.topic-moderator summary{cursor:pointer;padding:12px 15px;font:800 8px Orbitron;color:#b990d4;background:#0e1116}.topic-mod-grid{display:grid;grid-template-columns:minmax(220px,1fr) 160px auto auto auto;gap:10px;align-items:end;padding:14px}.topic-mod-grid label:not(.check){display:grid;gap:5px;color:#8f98a4;font:700 8px Orbitron}.topic-mod-grid .check{min-height:38px;margin:0;display:flex;align-items:center;gap:7px}.post-toolbar{justify-content:space-between!important;gap:10px}.post-toolbar>div,.post-toolbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.post-number{font:800 7px Orbitron;color:#68717d}.post-action-button{border:0;background:transparent;color:#9884a7;padding:4px 5px;font:700 7px Orbitron;cursor:pointer}.post-action-button:hover{color:#fff}.post-action-button.danger{color:#cc7887}.best-answer{border-color:#3e7255!important;box-shadow:0 14px 40px rgba(24,74,48,.13)!important}.best-answer .post-content{background:linear-gradient(135deg,rgba(35,94,59,.08),transparent 42%)}.best-answer-chip{display:inline-flex;padding:4px 7px;border:1px solid #3b744f;border-radius:999px;background:#102019;color:#88d7a6;font:800 7px Orbitron}.state-pill.solved{color:#8ad5a5;border-color:#3c704f;background:#102019}
@media(max-width:950px){.topic-mod-grid{grid-template-columns:1fr 1fr}.topic-mod-grid button{grid-column:1/-1}.topic-head{align-items:flex-start;flex-direction:column}.topic-head-side{justify-items:start}.topic-user-actions{flex-wrap:wrap}}
@media(max-width:620px){.topic-mod-grid{grid-template-columns:1fr}.topic-mod-grid button{grid-column:auto}.post-toolbar{align-items:flex-start}.post-toolbar-actions{justify-content:flex-end}.topic-user-actions .sf-btn{min-height:30px}}
.topic-status.solved{background:#153220!important;color:#8ce0aa!important;border:1px solid #356d4b}.saved-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.saved-topic-list{display:grid}.saved-topic-list>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #252a31;text-decoration:none}.saved-topic-list>a:hover b{color:#c991ec}.saved-topic-list a small{display:block;color:#747d88;margin-top:3px}.saved-topic-list>a>span:not(.state-pill){font:800 7px Orbitron;color:#758d80}.saved-message-list{margin-bottom:60px}@media(max-width:760px){.saved-content-grid{grid-template-columns:1fr}}

/* v28.2.12 navigation consistency + dismissible alerts */
.alert-dismiss{border:0;background:transparent;color:#777f8b;padding:3px 0;font:800 7px Orbitron;cursor:pointer}.alert-dismiss:hover{color:#fff}.sf-breadcrumb+.page-head{padding-top:38px}.sf-breadcrumb+.profile-hero{margin-top:14px}.sf-breadcrumb+.ticket-head{padding-top:28px}.page-shell>.sf-breadcrumb:first-child{margin-top:22px}.auth-actions .sf-btn{width:auto}

/* --------------------------------------------------------------------------
   v28.2.12 — full-width Vivarium + persistent command UX
   -------------------------------------------------------------------------- */
/* The Vivarium is the primary community surface. Nothing competes beside it. */
.community-shell{width:min(1480px,94vw)}
.layout-grid{grid-template-columns:minmax(0,1fr)!important;gap:22px!important}
.side-column{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:2px}
.chat-panel{padding:20px 22px;border-color:#30343c;background:linear-gradient(180deg,rgba(17,19,25,.97),rgba(13,15,20,.97));box-shadow:0 18px 55px rgba(0,0,0,.2)}
.chat-panel .panel-head{gap:18px;flex-wrap:wrap}.chat-panel .panel-head>div:first-child{min-width:220px}.chat-room-tabs{margin-left:auto}
.chat-stream{height:620px;min-height:520px;padding:16px 8px 18px;scrollbar-gutter:stable;overscroll-behavior:contain}
.chat-message{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:11px 10px;margin:1px 0}.chat-message>.avatar{width:40px;height:40px;border-radius:10px}.chat-message .chat-body>p{font-size:16px;line-height:1.52;margin:5px 0 7px}.chat-message header{min-height:34px;gap:9px;flex-wrap:wrap}.chat-message time{font-size:12px}
.chat-compose{position:relative;grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;gap:10px;padding-top:14px}.chat-compose textarea{min-height:76px;max-height:180px;resize:vertical;padding:13px 14px;font-size:16px;line-height:1.45}.chat-compose select{min-width:140px}.chat-compose>.sf-btn{min-width:92px}
.chat-command-output{position:relative;margin:10px 0 0;padding:11px 44px 11px 13px;border-color:#4f3c60;background:linear-gradient(90deg,#17101f,#11151a);box-shadow:0 8px 24px rgba(0,0,0,.16)}.chat-command-output[hidden]{display:none!important}.command-output-body{max-height:230px;overflow:auto;line-height:1.55}.command-output-body b{color:#d5a7ef}.command-output-body small{color:#8e8595}.command-output-close{position:absolute;right:10px;top:9px;width:26px;height:26px;border:1px solid #3b3442;border-radius:6px;background:#0d0f13;color:#9b93a0;cursor:pointer;font-size:17px;line-height:1}.command-output-close:hover{border-color:#725087;color:#fff}
.slash-command-autocomplete{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:40;display:grid;max-height:330px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;-webkit-overflow-scrolling:touch;border:1px solid #3a3f48;border-radius:10px;background:#0d1015;box-shadow:0 18px 60px rgba(0,0,0,.5);padding:6px}.slash-command-autocomplete::-webkit-scrollbar{width:9px}.slash-command-autocomplete::-webkit-scrollbar-track{background:#090b0f;border-radius:999px}.slash-command-autocomplete::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#5d3b7a,#8b5fc7);border:2px solid #090b0f;border-radius:999px}.slash-command-autocomplete::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#754e97,#a06fdc)}.slash-command-autocomplete{scrollbar-width:thin;scrollbar-color:#76509a #090b0f}.slash-command-autocomplete[hidden]{display:none!important}.slash-command-option{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:#bbc1ca;text-align:left;cursor:pointer}.slash-command-option:hover,.slash-command-option.active{background:#19151f;color:#fff}.slash-command-option>span{display:flex;align-items:baseline;gap:8px;min-width:0}.slash-command-option b{font:800 10px Orbitron;color:#ca90ee}.slash-command-option small{color:#756f7c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-command-option em{font-style:normal;color:#89919b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slash-command-option.active em{color:#bcc3cd}

@media(max-width:1100px){.side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-stream{height:570px}}
@media(max-width:760px){.community-shell{width:min(100% - 20px,1480px)}.chat-panel{padding:14px 12px}.chat-stream{height:58vh;min-height:430px;padding-left:2px;padding-right:2px}.chat-compose{grid-template-columns:1fr auto}.chat-compose textarea{grid-column:1/-1;min-height:84px}.chat-compose select{min-width:0}.chat-compose>.sf-btn{min-width:88px}.slash-command-option{grid-template-columns:1fr}.slash-command-option em{white-space:normal}.side-column{grid-template-columns:1fr}.chat-message{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:10px 4px}.chat-message>.avatar{width:36px;height:36px}}

/* v28.2.14 — forum directory spacing polish */
.forum-directory{
  display:grid;
  gap:20px;
}
.forum-category.standalone{
  margin-top:0;
  margin-bottom:0;
}
.forum-category.standalone>header{
  align-items:flex-start;
  gap:22px;
  padding:21px 22px 19px;
}
.forum-category.standalone>header>div{
  align-items:flex-start;
  gap:15px;
  min-width:0;
}
.forum-category.standalone .category-mark{
  display:grid;
  place-items:center;
  flex:0 0 28px;
  width:28px;
  min-height:28px;
  line-height:1;
  margin-top:1px;
}
.forum-category.standalone h2{
  margin:0 0 5px;
  line-height:1.2;
}
.forum-category.standalone .category-desc{
  margin-top:0;
  line-height:1.45;
}
.forum-category.standalone .category-desc p,
.forum-row .forum-desc p{
  margin:0;
}
.forum-rows{
  display:grid;
}
.forum-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  min-height:84px;
  padding:17px 20px;
}
.forum-row-icon{
  flex:0 0 40px;
  width:40px;
  height:40px;
  margin:0;
}
.forum-row-copy{
  flex:1 1 auto;
  min-width:0;
  padding-right:18px;
}
.forum-row-title{
  gap:9px;
  margin-bottom:5px;
  line-height:1.25;
}
.forum-row-title b{
  display:block;
  line-height:1.25;
}
.forum-row .forum-desc{
  margin:0;
  line-height:1.45;
}
.forum-row-stats{
  flex:0 0 auto;
  margin-left:auto;
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.055);
}
@media (max-width:720px){
  .forum-directory{gap:14px}
  .forum-category.standalone>header{padding:17px 16px;gap:12px}
  .forum-category.standalone>header>div{gap:11px}
  .category-visibility{display:none}
  .forum-row{gap:12px;min-height:78px;padding:15px 14px}
  .forum-row-icon{flex-basis:38px;width:38px;height:38px}
  .forum-row-copy{padding-right:0}
  .forum-row-stats{padding-left:10px;gap:9px!important;border-left:0}
  .forum-row-stats>span{display:none}
}

/* ========================================================================
   v28.3.0 — Snake Farm Community Design System
   One visual language for player pages, forums, profiles, support and staff.
   ======================================================================== */
:root{
  --sf-space-1:4px;--sf-space-2:8px;--sf-space-3:12px;--sf-space-4:16px;--sf-space-5:20px;--sf-space-6:24px;--sf-space-7:32px;--sf-space-8:40px;
  --sf-radius-sm:7px;--sf-radius-md:11px;--sf-radius-lg:16px;--sf-radius-xl:22px;
  --sf-panel:#101218;--sf-panel-2:#0d1015;--sf-panel-3:#151922;--sf-border:#2b3039;--sf-border-soft:#222730;
  --sf-text:#eef1f5;--sf-muted:#89929f;--sf-dim:#65707d;--sf-accent:#8b5fc7;--sf-accent-2:#ba78e8;
  --sf-success:#58c98b;--sf-warning:#d6aa58;--sf-danger:#df6578;--sf-info:#6ba7db;
  --sf-shadow:0 20px 60px rgba(0,0,0,.22);--sf-shadow-soft:0 10px 30px rgba(0,0,0,.15);
  --sf-control-h:42px;
}
html{scrollbar-color:#6f4a91 #090b0f;scrollbar-width:thin;scroll-behavior:smooth}
*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:#090b0f}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4d365f,#7b54a0);border:2px solid #090b0f;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#674781,#996cc0)}
body{color:var(--sf-text)}
.community-shell,.page-shell{width:min(1440px,94vw)}
.page-shell{padding-bottom:64px}.page-head{padding:54px 0 28px}.page-head>p,.page-head>div>p{max-width:820px}
.panel,.forum-category,.new-topic,.ticket-row,.profile-card,.profile-hero,.reply-box{border-color:var(--sf-border);border-radius:var(--sf-radius-md);background:linear-gradient(180deg,rgba(17,19,25,.96),rgba(13,15,20,.97));box-shadow:var(--sf-shadow-soft)}
.panel{padding:20px}.panel h2,.panel h3{letter-spacing:-.2px}.muted{color:var(--sf-muted)!important}
.sf-btn{min-height:36px;gap:7px;padding:8px 12px;border-color:#42364e;border-radius:var(--sf-radius-sm);background:#13161c;color:#dfe4ea;transition:.14s ease;white-space:nowrap}.sf-btn:hover{border-color:#78569a;background:#1a1720;color:#fff;transform:translateY(-1px)}.sf-btn.primary{background:linear-gradient(135deg,#65318d,#8d4eb9);border-color:#a46bc9}.sf-btn.ghost{background:transparent;border-color:#343a44;color:#9ba5b2}.sf-btn.danger{background:#2a141a;border-color:#743a48;color:#f2a3af}.sf-btn.warning{background:#261e11;border-color:#765c31;color:#e7c77e}.sf-btn.active{border-color:#9c68c8;background:#21172b;color:#fff}.sf-btn:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b87aea;outline-offset:2px}
input,select,textarea{min-height:var(--sf-control-h);border-color:#303640;border-radius:var(--sf-radius-sm);background:#0b0e13;color:#ecf0f4;padding:10px 12px}textarea{min-height:110px}label>small{display:block;margin-top:4px;color:var(--sf-dim);line-height:1.35}.stack-form{gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-actions{padding-top:4px}.check{min-height:34px}.check input{min-height:0}
.section-title{align-items:center;gap:16px;margin:0 0 16px}.section-title h2{font-size:22px}.section-title>span{color:var(--sf-muted);font-weight:600}.empty-state{display:grid;place-items:center;gap:4px;min-height:120px;padding:24px;border:1px dashed #303742;border-radius:var(--sf-radius-md);background:#0c0f14;text-align:center}.empty-state span{color:var(--sf-muted)}
.table-scroll,.admin-scroll{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}table{width:100%;border-collapse:separate;border-spacing:0}th{position:sticky;top:0;background:#11151b;z-index:1}th,td{padding:11px 12px;border-bottom:1px solid #242a32;text-align:left;vertical-align:top}tbody tr:hover td{background:rgba(255,255,255,.015)}

/* Professional long-form content */
.rich-content,.professional-post-body,.post-body{line-height:1.72;color:#d7dbe1}.rich-content>*,.professional-post-body>*,.post-body>*{max-width:100%}.rich-content p,.professional-post-body p,.post-body p{margin:.8em 0}.rich-content h2,.professional-post-body h2,.post-body h2{font:700 24px Orbitron;margin:1.5em 0 .55em;color:#f5f2f7}.rich-content h3,.professional-post-body h3,.post-body h3{font:700 18px Orbitron;margin:1.35em 0 .5em;color:#ebe5f0}.rich-content ul,.rich-content ol,.professional-post-body ul,.professional-post-body ol,.post-body ul,.post-body ol{padding-left:1.5rem;margin:1em 0}.rich-content li,.professional-post-body li,.post-body li{margin:.4em 0}.rich-content blockquote,.professional-post-body blockquote,.post-body blockquote{margin:1.2em 0;padding:14px 16px;border-left:3px solid #8055a7;background:#0c0f14;border-radius:0 9px 9px 0;color:#b8c0ca}.rich-content pre,.professional-post-body pre,.post-body pre{overflow:auto;padding:16px;border:1px solid #2c333d;border-radius:10px;background:#080b0f}.rich-content code,.professional-post-body code,.post-body code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.rich-content img,.professional-post-body img,.post-body img{display:block;max-width:min(100%,1100px);height:auto;margin:18px auto;border:1px solid #303640;border-radius:12px;box-shadow:0 18px 50px #0007}.rich-content figure,.professional-post-body figure,.post-body figure{margin:20px 0}.rich-content figcaption,.professional-post-body figcaption,.post-body figcaption{text-align:center;color:#7f8995;font-size:13px;margin-top:7px}.rich-content table,.professional-post-body table,.post-body table{display:block;overflow:auto;margin:18px 0;border:1px solid #303640;border-radius:10px}.rich-content table td,.rich-content table th,.professional-post-body table td,.professional-post-body table th,.post-body table td,.post-body table th{min-width:130px}
.post{grid-template-columns:190px minmax(0,1fr);border-radius:14px;box-shadow:var(--sf-shadow-soft)}.post aside{padding:18px;background:linear-gradient(180deg,#0d1015,#0a0d11)}.post-content{min-width:0}.post-body{padding:24px 28px}.post-toolbar{padding:9px 14px;border-top:1px solid #252a32;background:#0d1015}

/* Player profile overhaul */
.profile-page{--profile-accent:#8B5FC7}.profile-cover{position:relative;overflow:hidden;margin-top:14px;border:1px solid color-mix(in srgb,var(--profile-accent) 35%,#2c3038);border-radius:20px;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--profile-accent) 20%,transparent),transparent 38%),linear-gradient(135deg,#11141b,#0b0e13);box-shadow:0 28px 80px #0005}.profile-cover::after{content:"";position:absolute;inset:0;border-top:3px solid var(--profile-accent);pointer-events:none}.profile-cover-grid{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,#000,transparent 90%)}.cover-genetics .profile-cover-grid{background-size:22px 22px;transform:rotate(2deg) scale(1.05)}.cover-night{background:radial-gradient(circle at 70% 10%,rgba(95,64,135,.25),transparent 35%),linear-gradient(135deg,#080b13,#111221)}.cover-minimal .profile-cover-grid{display:none}.profile-identity{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;min-height:230px;padding:34px}.profile-avatar-ring{position:relative}.profile-avatar{width:112px;height:112px;border-radius:24px;border:1px solid color-mix(in srgb,var(--profile-accent) 60%,#343943);background:linear-gradient(145deg,color-mix(in srgb,var(--profile-accent) 22%,#181b22),#0d1015);font:800 38px Orbitron;box-shadow:0 0 0 6px rgba(255,255,255,.02),0 18px 40px #0007}.profile-4h-mark{position:absolute;right:-12px;bottom:-10px;width:46px;height:46px}.profile-4h-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 8px #7846b9)}.profile-title-block h1{font:800 clamp(30px,4vw,50px) Orbitron;margin:4px 0}.profile-subline{display:flex;gap:9px;flex-wrap:wrap;color:#9da6b2}.profile-subline span+span::before{content:"•";margin-right:9px;color:#5e6672}.profile-status-message{margin:12px 0 0;color:#c4b6cd;font-size:18px}.profile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.profile-stat-strip{display:grid;grid-template-columns:repeat(5,1fr);margin:14px 0;border:1px solid var(--sf-border);border-radius:14px;background:#0d1015;overflow:hidden}.profile-stat-strip>div{padding:16px 18px;border-right:1px solid #252a32}.profile-stat-strip>div:last-child{border-right:0}.profile-stat-strip b{display:block;font:800 24px Orbitron}.profile-stat-strip span{color:#7d8793;font:700 8px Orbitron;text-transform:uppercase}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px}.profile-content-column,.profile-sidebar{display:grid;align-content:start;gap:16px}.profile-sidebar{position:sticky;top:92px}.profile-interests{margin-top:20px;padding-top:16px;border-top:1px solid #292f37}.profile-interests>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.profile-interests span,.scope-chip-grid span{display:inline-flex;padding:5px 8px;border:1px solid #343a44;border-radius:999px;background:#0d1116;color:#aab3bf;font-size:12px}.profile-badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.profile-badge-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:11px;border:1px solid color-mix(in srgb,var(--badge-a) 32%,#2a3038);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--badge-a) 8%,#0d1015),#0d1015)}.profile-badge-item>span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:color-mix(in srgb,var(--badge-a) 14%,#11151b);color:var(--badge-a);font:800 14px Orbitron}.profile-badge-item small{display:block;color:#7f8995;line-height:1.25;margin-top:2px}.profile-facility-card dl{display:grid;margin:14px 0 0}.profile-facility-card dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #252b33}.profile-facility-card dt{color:#7d8792}.profile-facility-card dd{margin:0;text-align:right;color:#e0e5ea;font-weight:700}.profile-activity-list{display:grid}.profile-activity-list>a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #252a32;text-decoration:none}.profile-activity-list>a:first-child{border-top:0}.profile-activity-list a:hover b{color:#cf9cf0}.profile-activity-list small{display:block;color:#7d8792;margin-top:3px}.professional-achievements{grid-template-columns:repeat(2,minmax(0,1fr))}.professional-achievements>div{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:center}.professional-achievements>div>span{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:#16121e;color:#ba81e0}.profile-staff-card{border-color:color-mix(in srgb,var(--profile-accent) 45%,#2c3038)}

/* Account settings */
.settings-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.settings-jumpbar{position:sticky;top:74px;z-index:35;display:flex;gap:6px;overflow:auto;margin:0 0 18px;padding:10px;border:1px solid #292f37;border-radius:11px;background:rgba(10,12,17,.9);backdrop-filter:blur(14px);scrollbar-width:none}.settings-jumpbar::-webkit-scrollbar{display:none}.settings-jumpbar a{padding:8px 11px;border-radius:7px;text-decoration:none;color:#8e98a5;font:700 8px Orbitron;white-space:nowrap}.settings-jumpbar a:hover{background:#18131f;color:#fff}.settings-workspace{display:grid;gap:16px}.settings-section{scroll-margin-top:140px}.profile-theme-grid,.privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notification-preference-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notification-preference-grid fieldset{display:grid;align-content:start;gap:7px;margin:0;padding:15px;border:1px solid #2d333c;border-radius:10px;background:#0d1015}.notification-preference-grid legend{padding:0 6px;font:700 10px Orbitron;color:#c9a0e5}.pending-email-list{display:grid}.pending-email-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #252a32}.pending-email-row small{display:block;color:#7d8792}

/* Badge catalog */
.badge-catalog-head{display:flex;align-items:end;justify-content:space-between;gap:22px}.badge-progress-summary{min-width:220px;padding:16px;border:1px solid #34303c;border-radius:12px;background:#0d1015}.badge-progress-summary>b{font:800 30px Orbitron}.badge-progress-summary>span{display:block;color:#838d99}.badge-progress-summary>div,.badge-progress-line>div{height:6px;margin-top:10px;border-radius:999px;background:#232831;overflow:hidden}.badge-progress-summary i,.badge-progress-line i{display:block;height:100%;background:linear-gradient(90deg,#73459d,#b36bdf);border-radius:inherit}.badge-catalog-toolbar{position:sticky;top:84px;z-index:30;display:grid;gap:12px;margin:18px 0;background:rgba(13,16,21,.94);backdrop-filter:blur(15px)}.badge-search-wrap{display:grid;grid-template-columns:auto minmax(220px,1fr);align-items:center;gap:12px}.badge-search-wrap label{font:700 8px Orbitron;color:#85909c}.badge-filter-row{display:flex;gap:6px;overflow:auto;padding-bottom:2px;scrollbar-width:none}.badge-filter-row::-webkit-scrollbar{display:none}.badge-catalog-groups{display:grid;gap:22px}.badge-collection-group>header{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:4px 2px 11px;border-bottom:1px solid #2a3038}.badge-collection-group>header h2{margin:0;font:700 23px Orbitron}.badge-collection-group>header>span{color:#7f8995}.badge-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:10px}.badge-catalog-card{display:grid;grid-template-columns:56px 1fr;gap:13px;padding:15px;border:1px solid color-mix(in srgb,var(--badge-a) 28%,#2b3038);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--badge-a) 6%,#11141a),#0d1015);transition:.15s ease}.badge-catalog-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--badge-a) 55%,#303640);box-shadow:0 14px 34px #0005}.badge-catalog-card.locked{filter:saturate(.72);opacity:.8}.badge-catalog-card[hidden],.badge-collection-group[hidden]{display:none!important}.badge-icon-large{display:grid;place-items:center;width:56px;height:56px;border-radius:13px;background:color-mix(in srgb,var(--badge-a) 14%,#11151a);border:1px solid color-mix(in srgb,var(--badge-a) 28%,#2d333b);color:var(--badge-a);font:800 18px Orbitron}.badge-card-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.badge-card-meta span{font:700 7px Orbitron;color:#747e8a}.badge-card-meta .rarity-label{color:var(--badge-a)}.badge-card-copy h3{margin:5px 0 4px;font:700 15px Orbitron}.badge-card-copy>p{margin:0;color:#939da8;line-height:1.38}.badge-earn-box{display:grid;gap:2px;margin-top:10px;padding-top:9px;border-top:1px solid #272d35}.badge-earn-box b{font:700 8px Orbitron;color:#b8c1cb}.badge-earn-box span{color:#76818d;font-size:13px}.badge-catalog-card.earned .badge-earn-box b{color:#79d29c}.badge-progress-line{margin-top:9px}.badge-progress-line small{display:block;margin-top:4px;color:#7b8590}

/* Contextual staff drawer */
.sf-staff-drawer-toggle{position:fixed;right:0;top:46%;z-index:1600;display:grid;gap:2px;place-items:center;width:52px;padding:12px 7px;border:1px solid #654786;border-right:0;border-radius:12px 0 0 12px;background:linear-gradient(180deg,#251633,#17101f);color:#e7d7f0;box-shadow:-12px 16px 36px #0007;cursor:pointer}.sf-staff-drawer-toggle span{font:800 18px Orbitron;color:#c37bec}.sf-staff-drawer-toggle b{font:800 7px Orbitron;letter-spacing:.8px}.sf-staff-drawer{position:fixed;top:0;right:0;z-index:1700;display:grid;grid-template-rows:auto 1fr auto;width:min(390px,92vw);height:100dvh;transform:translateX(105%);transition:transform .22s ease;background:#0c0f14;border-left:1px solid #453655;box-shadow:-30px 0 80px #0009}.sf-staff-open .sf-staff-drawer{transform:none}.sf-staff-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px;border-bottom:1px solid #2a3038}.sf-staff-drawer h2{margin:0;font:700 20px Orbitron}.sf-staff-drawer-close{width:34px;height:34px;border:1px solid #333a44;border-radius:8px;background:#11151a;color:#a8b1bb;font-size:21px;cursor:pointer}.sf-staff-drawer-body{overflow:auto;padding:10px}.sf-staff-action{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:13px;border:1px solid transparent;border-radius:9px;text-decoration:none}.sf-staff-action:hover{border-color:#453655;background:#15111b}.sf-staff-action span{display:grid;gap:2px}.sf-staff-action small{color:#77818d}.sf-staff-action strong{color:#a66bd0}.sf-staff-drawer>footer{display:grid;gap:6px;padding:16px 20px;border-top:1px solid #2a3038;background:#090c10}.sf-staff-drawer>footer small{color:#717b86}.sf-staff-drawer-scrim{position:fixed;inset:0;z-index:1650;border:0;background:rgba(2,3,5,.62);backdrop-filter:blur(2px)}.sf-staff-open{overflow:hidden}

/* Directory cards */
.directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-card{align-items:center;min-width:0;padding:16px;transition:.14s ease}.profile-card:hover{transform:translateY(-2px);border-color:#51415f;background:#15131b}.profile-card>div{min-width:0}.profile-card h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

@media(max-width:1100px){.profile-layout{grid-template-columns:1fr}.profile-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.badge-card-grid,.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-stat-strip{grid-template-columns:repeat(3,1fr)}.profile-stat-strip>div:nth-child(3){border-right:0}.profile-badge-grid{grid-template-columns:1fr}.post{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:760px){.community-shell,.page-shell{width:min(100% - 20px,1440px)}.sf-top{padding:0 14px}.profile-identity{grid-template-columns:auto 1fr;gap:14px;padding:22px 18px}.profile-actions{grid-column:1/-1;justify-content:flex-start}.profile-avatar{width:78px;height:78px;border-radius:18px;font-size:27px}.profile-4h-mark{width:36px;height:36px}.profile-stat-strip{grid-template-columns:repeat(2,1fr)}.profile-stat-strip>div{border-right:1px solid #252a32;border-bottom:1px solid #252a32}.profile-sidebar{grid-template-columns:1fr}.professional-achievements,.notification-preference-grid,.profile-theme-grid,.privacy-grid,.form-grid.two{grid-template-columns:1fr}.badge-catalog-head,.settings-head{align-items:flex-start;flex-direction:column}.badge-progress-summary{width:100%}.badge-card-grid,.directory-grid{grid-template-columns:1fr}.badge-catalog-toolbar{top:74px}.badge-search-wrap{grid-template-columns:1fr}.post{grid-template-columns:1fr}.post aside{border-right:0;border-bottom:1px solid #252a32;display:grid;grid-template-columns:auto 1fr;align-items:center}.post-body{padding:18px}.sf-staff-drawer-toggle{top:auto;bottom:22px}.settings-jumpbar{top:74px}}
@media(max-width:520px){.profile-stat-strip{grid-template-columns:1fr 1fr}.profile-identity{grid-template-columns:1fr}.profile-avatar-ring{width:max-content}.profile-title-block h1{font-size:28px}.badge-catalog-card{grid-template-columns:44px 1fr}.badge-icon-large{width:44px;height:44px}.panel{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sf-btn,.profile-card,.badge-catalog-card,.sf-staff-drawer{transition:none!important}.sf-staff-drawer-toggle{transition:none!important}}

/* =========================================================
   v28.3.0 — discovery, support, notifications, chat utilities
   ========================================================= */
.forum-discovery-toolbar{margin:18px 0;padding:14px 16px}.forum-filter-form{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(140px,.75fr)) auto auto;gap:10px;align-items:end}.forum-filter-form label,.poll-composer-grid label{display:grid;gap:6px}.forum-filter-form label>span,.poll-composer-grid label>small,.topic-tag-picker legend{font:700 9px Orbitron;letter-spacing:.08em;color:var(--muted)}.topic-tags{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}.topic-tags span{display:inline-flex;align-items:center;padding:4px 7px;border:1px solid color-mix(in srgb,var(--tag-color,#8B5FC7) 55%,#20232a);border-radius:999px;background:color-mix(in srgb,var(--tag-color,#8B5FC7) 12%,#11131a);color:color-mix(in srgb,var(--tag-color,#8B5FC7) 70%,white);font:700 8px Orbitron;letter-spacing:.04em}.topic-head-tags{margin:10px 0 0}.topic-tag-picker{border:1px solid var(--sf-line,#2d3039);border-radius:var(--sf-radius-sm,10px);padding:12px;margin:2px 0}.topic-tag-picker legend{padding:0 7px}.topic-tag-picker legend small{font-family:Rajdhani,system-ui;font-size:12px;letter-spacing:0;text-transform:none}.topic-tag-options{display:flex;flex-wrap:wrap;gap:7px}.topic-tag-options label{cursor:pointer}.topic-tag-options input{position:absolute;opacity:0;pointer-events:none}.topic-tag-options span{display:inline-flex;padding:6px 9px;border:1px solid #30333c;border-radius:999px;color:#9a96a0;background:#0c0e13;font-size:13px}.topic-tag-options input:checked+span{border-color:var(--tag-color,#8B5FC7);background:color-mix(in srgb,var(--tag-color,#8B5FC7) 18%,#0c0e13);color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--tag-color,#8B5FC7) 30%,transparent)}.topic-tag-picker.compact{grid-column:1/-1}.poll-composer{border:1px solid #2c3038;border-radius:10px;background:#0d0f14;padding:0}.poll-composer>summary{padding:11px 13px;color:#c594e5;font:700 9px Orbitron;cursor:pointer}.poll-composer>summary small{color:#77717d}.poll-composer-grid{display:grid;grid-template-columns:1fr 1.35fr .8fr;gap:10px;padding:0 13px 13px}.poll-composer-grid textarea{min-height:110px}.forum-poll{margin:16px 0}.forum-poll .section-title{margin:0 0 14px}.poll-options{display:grid;gap:8px}.poll-option{position:relative;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 12px;border:1px solid #2e323a;border-radius:9px;background:#0d0f14;overflow:hidden;cursor:pointer}.poll-option.selected{border-color:#8150a4}.poll-option>input{position:relative;z-index:2}.poll-option-copy{display:grid;gap:3px;position:relative;z-index:1}.poll-option-copy b{font-size:14px}.poll-option-copy small{color:#85808a}.poll-option-copy i{position:absolute;inset:-10px -12px -10px -42px;z-index:-1;background:linear-gradient(90deg,rgba(139,95,199,.18),rgba(139,95,199,.05));width:var(--poll-pct);pointer-events:none}.poll-options>.sf-btn{justify-self:start;margin-top:5px}

.notification-page{padding-bottom:70px}.notification-page .page-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.page-head-actions{display:flex;gap:8px;flex-wrap:wrap}.page-head-actions form{display:block}.notification-summary,.support-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.notification-summary>*,.support-summary>div{display:grid;gap:3px;padding:14px 16px;border:1px solid #2d3039;border-radius:12px;background:#101218;text-decoration:none}.notification-summary strong,.support-summary strong{font:800 24px Orbitron;color:#eee}.notification-summary span,.support-summary span{font:700 9px Orbitron;color:#8e8793;text-transform:uppercase;letter-spacing:.08em}.notification-group{margin-bottom:14px}.notification-group .section-title{margin:0 0 10px}.notification-list{display:grid;gap:6px}.notification-row{display:grid;grid-template-columns:40px minmax(0,1fr) 24px;gap:12px;align-items:center;padding:12px 13px;border:1px solid #252933;border-radius:10px;background:#0e1015;text-decoration:none;transition:.15s ease}.notification-row:hover{border-color:#46404f;background:#13151c;transform:translateY(-1px)}.notification-row.unread{border-color:#5c3a71;background:linear-gradient(90deg,rgba(133,75,171,.13),#0e1015 52%)}.notification-icon{display:grid;place-items:center;width:38px;height:38px;border:1px solid #343844;border-radius:10px;background:#13161d;font-size:17px}.notification-copy{min-width:0}.notification-line{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.notification-copy p{margin:3px 0;color:#aaa4ae}.notification-copy small{color:#716c77}.notification-type{padding:3px 5px;border:1px solid #34313e;border-radius:5px;color:#9b85ae;font:700 7px Orbitron;letter-spacing:.05em}.notification-open{color:#71687c;font-size:22px}.empty-state.compact{padding:22px;min-height:0}

.support-page,.ticket-page{padding-bottom:70px}.support-page .page-head{display:flex;align-items:end;justify-content:space-between;gap:18px}.support-create{margin:16px 0}.support-create-grid{grid-template-columns:1fr 1fr}.support-editor-field,.support-create-grid .form-actions{grid-column:1/-1}.support-ticket-panel{margin-top:15px}.professional-ticket-list{display:grid;gap:7px}.professional-ticket-list .ticket-row{grid-template-columns:105px minmax(0,1fr) minmax(120px,180px) 22px;gap:12px;border-radius:10px;border:1px solid #292d35;background:#0e1015}.professional-ticket-list .ticket-row:hover{border-color:#494251;background:#13151b}.ticket-row-copy{display:grid;gap:2px;min-width:0}.ticket-row-copy small{color:#8e769f;font:700 8px Orbitron}.ticket-row-copy b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-row-copy span{color:#7f7984;font-size:13px}.ticket-row-owner{display:grid;gap:2px}.ticket-row-owner small{font:700 7px Orbitron;color:#77717c}.ticket-row-owner strong{font-size:13px}.ticket-open{font-size:22px;color:#74667e}.ticket-case-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:36px 0 18px;border-bottom:1px solid #292c34}.ticket-case-head h1{margin:4px 0 9px;font:800 clamp(28px,4vw,44px)/1.04 Orbitron}.ticket-case-meta{display:flex;gap:7px;flex-wrap:wrap}.ticket-case-meta span{padding:5px 7px;border:1px solid #30333d;border-radius:6px;color:#8e8893;font-size:12px}.ticket-staff-context{display:flex;gap:8px;align-items:center;margin:15px 0;border-color:#4e3e60;background:linear-gradient(90deg,rgba(120,71,157,.11),#101218)}.ticket-staff-context>div{display:grid;gap:3px;margin-right:auto}.ticket-staff-context>div span{color:#817a86;font-size:13px}.ticket-message{padding:17px 18px}.ticket-message header>div{display:flex;align-items:center;gap:8px}.ticket-reply-box{position:relative}.canned-response-bar{display:flex;align-items:end;gap:8px;padding:10px;border:1px solid #30333d;border-radius:9px;background:#0d0f14}.canned-response-bar label{display:grid;gap:5px;flex:1}.canned-response-bar label{font:700 8px Orbitron;color:#8e8793}.staff-note-check{padding:10px 12px;border:1px solid #5b4c31;border-radius:8px;background:#17140d}.staff-note-check small{color:#91876e}.priority-chip{display:inline-flex;padding:4px 6px;border:1px solid #3b3e46;border-radius:5px;font:700 7px Orbitron}.priority-chip.urgent{color:#ff8da0;border-color:#743845}.priority-chip.high{color:#e6b76e;border-color:#6a5330}

.chat-utility-bar{display:flex;align-items:center;gap:8px;min-height:38px;padding-top:9px}.chat-jump-latest{margin-left:auto;display:inline-flex;align-items:center;gap:7px;border:1px solid #76509a;border-radius:999px;background:#21172b;color:#fff;padding:7px 10px;cursor:pointer}.chat-jump-latest[hidden]{display:none!important}.chat-jump-latest b{font:700 8px Orbitron}.chat-jump-latest span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;background:#8b5fc7;border-radius:999px;font-size:11px}.chat-pinned-panel{margin:8px 0;padding:10px;border:1px solid #40354a;border-radius:10px;background:#0d0f14;max-height:300px;overflow:auto;scrollbar-gutter:stable}.chat-pinned-panel[hidden]{display:none!important}.chat-pinned-panel>header{display:flex;align-items:center;justify-content:space-between;padding:3px 3px 8px;border-bottom:1px solid #272a31}.chat-pinned-panel>header button{border:0;background:none;color:#8d8692;font-size:20px;cursor:pointer}.chat-pinned-panel>a{display:grid;gap:3px;padding:9px 4px;border-bottom:1px solid #23262d;text-decoration:none}.chat-pinned-panel>a:last-child{border-bottom:0}.chat-pinned-panel p{margin:0;color:#aaa3af}.chat-pinned-panel small{color:#6f6974}.chat-message.flash-focus{animation:sf-chat-focus 1.4s ease}@keyframes sf-chat-focus{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 1px #9c67c4,0 0 28px rgba(139,95,199,.28);background:#17131d}}.chat-edited,.chat-own-edit{border:0;background:none;color:#77717d;font:600 10px Rajdhani;cursor:pointer;padding:2px 4px}.chat-edited:hover,.chat-own-edit:hover{color:#c99bea}.chat-inline-edit{display:grid;gap:7px;margin:6px 0}.chat-inline-edit textarea{min-height:72px;resize:vertical}.chat-inline-edit>div{display:flex;gap:6px}.chat-history-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.chat-history-scrim{position:absolute;inset:0;border:0;background:rgba(3,4,7,.78);backdrop-filter:blur(4px)}.chat-history-modal>section{position:relative;width:min(720px,94vw);max-height:min(76vh,760px);overflow:auto;scrollbar-gutter:stable;border:1px solid #3a3d47;border-radius:14px;background:#0e1015;box-shadow:0 30px 100px #000;padding:16px}.chat-history-modal>section>header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-16px;background:#0e1015;padding:16px 0 10px;z-index:2}.chat-history-modal h3{margin:0;font:700 17px Orbitron}.chat-history-list{display:grid;gap:9px}.chat-history-list article{padding:11px;border:1px solid #2a2e36;border-radius:9px}.chat-history-list article>small{display:block;color:#716b76;margin-bottom:7px}.chat-history-list article>div{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:5px 0}.chat-history-list p{margin:0;color:#aaa3af}.mention-autocomplete{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:41;display:grid;max-height:300px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid #3a3f48;border-radius:10px;background:#0d1015;box-shadow:0 18px 60px rgba(0,0,0,.5);padding:6px}.mention-autocomplete[hidden]{display:none!important}.mention-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 11px;border:0;border-radius:7px;background:transparent;color:#bbc1ca;text-align:left;cursor:pointer}.mention-option:hover,.mention-option.active{background:#19151f;color:#fff}.mention-option small{color:#8e789e}

#sfToastStack.toast-stack{position:fixed;right:18px;bottom:18px;z-index:1200;display:grid;gap:8px;width:min(360px,calc(100vw - 30px));pointer-events:none}.sf-toast{transform:translateY(12px);opacity:0;padding:11px 13px;border:1px solid #353943;border-radius:10px;background:#12141a;color:#eee;box-shadow:0 18px 50px #0009;transition:.18s ease;pointer-events:auto}.sf-toast.show{transform:none;opacity:1}.sf-toast.success{border-color:#35654d}.sf-toast.error{border-color:#753b48}.sf-toast.info{border-color:#4f4560}

@media(max-width:1050px){.forum-filter-form{grid-template-columns:1fr 1fr 1fr}.forum-filter-form label:first-of-type{grid-column:1/-1}.poll-composer-grid{grid-template-columns:1fr 1fr}.poll-composer-grid label:nth-child(2){grid-column:1/-1}.support-create-grid{grid-template-columns:1fr}.support-create-grid>*{grid-column:1/-1!important}}
@media(max-width:720px){.forum-filter-form{grid-template-columns:1fr 1fr}.forum-filter-form label{grid-column:auto}.forum-filter-form label:first-of-type{grid-column:1/-1}.notification-page .page-head,.support-page .page-head,.ticket-case-head{align-items:flex-start;flex-direction:column}.notification-summary,.support-summary{grid-template-columns:repeat(3,1fr)}.professional-ticket-list .ticket-row{grid-template-columns:90px minmax(0,1fr) 20px}.ticket-row-owner{display:none}.ticket-staff-context{align-items:stretch;flex-direction:column}.ticket-staff-context>div{margin-right:0}.canned-response-bar{align-items:stretch;flex-direction:column}.poll-composer-grid{grid-template-columns:1fr}.poll-composer-grid>*{grid-column:1!important}}
@media(max-width:520px){.forum-filter-form{grid-template-columns:1fr}.forum-filter-form>*{grid-column:1!important}.notification-summary,.support-summary{grid-template-columns:1fr}.notification-row{grid-template-columns:34px minmax(0,1fr) 16px;padding:10px}.notification-icon{width:32px;height:32px}.professional-ticket-list .ticket-row{grid-template-columns:1fr 18px}.professional-ticket-list .ticket-status{grid-column:1}.ticket-row-copy{grid-column:1}.ticket-open{grid-column:2;grid-row:1/3;align-self:center}.chat-utility-bar{flex-wrap:wrap}.chat-jump-latest{margin-left:0}.chat-history-list article>div{grid-template-columns:1fr}.topic-tag-options{gap:5px}}

/* v28.3.0 notification bell / compact top tray */
.top-notification-menu{position:relative}.top-notification-menu>summary{list-style:none;display:flex;align-items:center;gap:5px;padding:7px 8px;border:1px solid transparent;border-radius:8px;cursor:pointer;color:#a49daa;font:700 9px Orbitron}.top-notification-menu>summary::-webkit-details-marker{display:none}.top-notification-menu>summary:hover,.top-notification-menu[open]>summary{background:#14161c;border-color:#30333b;color:#fff}.top-notification-menu>summary>span{color:#a36bcd}.top-notification-menu>summary em{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#844daf;color:#fff;font-style:normal;font-size:9px}.top-notification-popover{position:absolute;right:0;top:calc(100% + 10px);z-index:80;width:min(390px,calc(100vw - 24px));max-height:min(520px,72vh);overflow:auto;scrollbar-gutter:stable;border:1px solid #363944;border-radius:12px;background:#0e1015;box-shadow:0 24px 75px #000c}.top-notification-popover>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-bottom:1px solid #272a31;background:#0e1015}.top-notification-popover>header div{display:grid}.top-notification-popover>header b{font:700 11px Orbitron}.top-notification-popover>header small{color:#79737e}.top-notification-popover>header a,.top-notification-popover>footer a{color:#b988d6;text-decoration:none;font-size:12px}.top-notification-list{display:grid;padding:5px}.top-notification-list>a{display:grid;gap:2px;padding:9px;border-radius:8px;text-decoration:none}.top-notification-list>a:hover{background:#161820}.top-notification-list>a.unread{background:linear-gradient(90deg,rgba(133,75,171,.12),transparent)}.top-notification-list>a b{font-size:13px}.top-notification-list>a span{color:#9a949e;font-size:12px}.top-notification-list>a small{color:#66616b}.top-notification-empty{padding:24px;text-align:center;color:#7e7883}.top-notification-popover>footer{padding:9px 12px;border-top:1px solid #272a31}.top-notification-menu[open] summary:before{content:"";position:fixed;inset:0;z-index:70;cursor:default}.top-notification-menu[open] .top-notification-popover{z-index:81}
@media(max-width:650px){.top-notification-menu>summary b{display:none}.top-notification-popover{position:fixed;top:78px;right:10px;left:10px;width:auto}.account{gap:5px}}

/* v28.3.0 — roadmap linkage, rich media lightbox and intentional scroll regions */
.feature-roadmap-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;margin-top:22px;padding:18px;border:1px solid rgba(139,95,199,.42);border-radius:16px;background:linear-gradient(135deg,rgba(139,95,199,.10),rgba(14,15,22,.92))}.feature-roadmap-card .eyebrow{grid-column:1/-1;margin:0}.feature-roadmap-card h3{margin:7px 0 5px}.rich-media-lightbox{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:28px}.rich-media-lightbox[hidden]{display:none}.rich-media-lightbox-scrim{position:absolute;inset:0;border:0;background:#050509e8;cursor:zoom-out}.rich-media-lightbox figure{position:relative;z-index:1;max-width:min(1200px,94vw);max-height:92vh;margin:0;display:grid;gap:10px}.rich-media-lightbox img{display:block;max-width:100%;max-height:82vh;margin:auto;border-radius:12px;object-fit:contain;box-shadow:0 22px 80px #000}.rich-media-lightbox figcaption{color:#d7d2dd;text-align:center}.rich-media-lightbox-close{position:absolute;z-index:2;top:18px;right:18px;width:44px;height:44px;border-radius:50%;font-size:22px}.rich-content figure img,.professional-post figure img{cursor:zoom-in}.chat-stream,.dm-stream,.notification-list,.sf-staff-drawer-body,.badge-collection-grid,.profile-activity-list{overscroll-behavior:contain;scrollbar-gutter:stable}.top-notification-list{max-height:min(440px,65vh);overflow:auto;overscroll-behavior:contain}.mention-autocomplete,.slash-command-autocomplete{overscroll-behavior:contain;scrollbar-gutter:stable}
@media(max-width:720px){.feature-roadmap-card{grid-template-columns:1fr}.feature-roadmap-card .sf-btn{width:100%}.rich-media-lightbox{padding:14px}.rich-media-lightbox-close{top:10px;right:10px}}

/* v28.3.0 — global player search */
.top-search-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--sf-muted,#aaa);padding:8px 10px;border-radius:10px}.top-search-link:hover,.top-search-link:focus-visible{background:rgba(139,95,199,.11);color:#fff}.top-search-link span{font-size:20px;line-height:1}.community-global-search{display:grid;grid-template-columns:1fr auto;gap:10px;max-width:800px;margin-top:20px}.community-global-search input{min-height:48px}.search-result-groups{display:grid;gap:16px}.search-result-group>header{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:12px;margin-bottom:4px}.search-result-group>header h2{margin:2px 0}.search-result-group>header>span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:rgba(139,95,199,.14);color:#d9c3ff}.search-result-list{display:grid}.search-result-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.06);text-decoration:none;color:inherit}.search-result-row:last-child{border-bottom:0}.search-result-row:hover{background:linear-gradient(90deg,rgba(139,95,199,.07),transparent)}.search-result-row h3{margin:6px 0 4px}.search-result-row p{margin:0;color:var(--sf-muted,#aaa);max-width:78ch}.search-result-row>strong{color:#c9a8ff}.search-result-row.player>div{min-width:0}
@media(max-width:700px){.top-search-link b{display:none}.community-global-search{grid-template-columns:1fr}.community-global-search .sf-btn{width:100%}.search-result-row{grid-template-columns:1fr}.search-result-row>strong{justify-self:start}}

/* v28.3.0 — profile staff presence and event engagement */
.staff-presence{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:6px;padding:5px 9px;border:1px solid rgba(255,255,255,.09);border-radius:999px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#c9c3cf;background:#0b0c11cc}.staff-presence i{width:7px;height:7px;border-radius:50%;background:#6fd69a;box-shadow:0 0 10px #6fd69a88}.staff-presence.presence-busy i,.staff-presence.presence-tickets i{background:#e1b05c;box-shadow:0 0 10px #e1b05c88}.staff-presence.presence-away i{background:#8f93a2;box-shadow:none}.staff-presence.presence-development i{background:#a875ed;box-shadow:0 0 10px #a875ed88}.staff-presence.presence-do_not_disturb i{background:#db6767;box-shadow:0 0 10px #db676788}.event-engagement{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.event-engagement>span{padding:8px 11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0c0d12}.event-countdown{margin-left:auto}.event-rsvp-actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.event-rsvp-actions .sf-btn{min-width:110px}@media(max-width:650px){.event-countdown{margin-left:0}.event-rsvp-actions .sf-btn{flex:1}}

/* v28.3.0 — unified responsive header and global interaction states */
.sf-nav-toggle{display:none;width:42px;height:42px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#0c0d12}.sf-nav-toggle span{display:block;height:2px;margin:4px 0;border-radius:2px;background:#d7d0df}.global-toast-stack{position:fixed;right:18px;bottom:18px;z-index:15000}.sf-top a:focus-visible,.sf-btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #b685ff;outline-offset:2px}.media-lightbox-open{overflow:hidden}
@media(max-width:980px){.sf-top{position:relative;display:grid;grid-template-columns:1fr auto auto;align-items:center}.sf-nav-toggle{display:block;grid-column:2}.sf-top>nav{position:absolute;z-index:300;left:12px;right:12px;top:calc(100% + 8px);display:none;max-height:min(70vh,520px);overflow:auto;padding:10px;border:1px solid rgba(139,95,199,.38);border-radius:16px;background:#0b0c12f7;box-shadow:0 24px 70px #000c;overscroll-behavior:contain}.sf-top.nav-open>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.sf-top>nav a{padding:11px 12px;border-radius:9px}.sf-top>.account{grid-column:3}.sf-top .brand{min-width:0}}
@media(max-width:620px){.sf-top{grid-template-columns:minmax(0,1fr) auto}.sf-top>.account{grid-column:1/-1;display:flex;justify-content:flex-end;overflow-x:auto;scrollbar-width:none}.sf-top>.account::-webkit-scrollbar{display:none}.sf-top.nav-open>nav{grid-template-columns:1fr}.sf-top .brand span{font-size:.82rem}.sf-top .brand small{font-size:.62rem}.global-toast-stack{left:12px;right:12px;bottom:12px}}

/* v28.3.0 — announcement archive */
.top-notification-popover footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.announcement-timeline{display:grid;gap:14px}.announcement-history{position:relative;overflow:hidden}.announcement-history:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#7d55bd}.announcement-history.severity-critical:before{background:#d85f6b}.announcement-history.severity-warning:before{background:#d4a154}.announcement-history.severity-success:before{background:#58b783}.announcement-history.expired{opacity:.78}.announcement-history>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.announcement-history>header h2{margin:7px 0 0}.announcement-history time{white-space:nowrap;color:#918b99;font-size:.82rem}@media(max-width:640px){.announcement-history>header{display:block}.announcement-history time{display:block;margin-top:8px}}

/* ========================================================================== */
/* v28.3.1 — centralized role name-effect library                            */
/* ========================================================================== */
.player-identity .rank-name{
  display:inline-block;position:relative;isolation:isolate;
  color:var(--role-a,#9c64cc)!important;background:none!important;
  background-size:auto!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;
  text-shadow:none;filter:none;transform:none;letter-spacing:normal;
  animation:none!important;transition:filter .18s ease,text-shadow .18s ease;
}
.player-identity .rank-name::before,.player-identity .rank-name::after{content:none!important;display:none!important}
.name-sparkles,.founder-sparkles{display:none!important}
.name-fx-particles{display:none;position:absolute;inset:-9px -10px -7px;pointer-events:none;overflow:visible;z-index:3}
.name-fx-particles i{position:absolute;display:block;width:3px;height:3px;border-radius:50%;opacity:0;background:#fff;box-shadow:0 0 6px currentColor;pointer-events:none}
.name-fx-particles i:nth-child(1){left:4%;top:18%}.name-fx-particles i:nth-child(2){left:24%;top:2%}.name-fx-particles i:nth-child(3){left:49%;top:22%}.name-fx-particles i:nth-child(4){left:69%;top:4%}.name-fx-particles i:nth-child(5){left:88%;top:24%}.name-fx-particles i:nth-child(6){left:58%;top:72%}

/* clean */
.effect-none .rank-name{color:var(--role-a)!important}
.effect-subtle_glow .rank-name{color:var(--role-a)!important;text-shadow:0 0 5px color-mix(in srgb,var(--role-a) 70%,transparent),0 0 13px color-mix(in srgb,var(--role-a) 35%,transparent)!important}
.effect-soft_pulse .rank-name{color:var(--role-a)!important;animation:sfFxSoftPulse 2.7s ease-in-out infinite!important}
.effect-shadow_slide .rank-name{color:var(--role-a)!important;animation:sfFxShadowSlide 3s ease-in-out infinite!important}

/* flowing color */
.effect-gradient_shift .rank-name,.effect-founder_scroll .rank-name,.effect-aurora_flow .rank-name,.effect-rainbow_cycle .rank-name,.effect-prismatic .rank-name,.effect-sunset_flow .rank-name,.effect-ocean_wave .rank-name,.effect-forest_shimmer .rank-name,.effect-candy_scroll .rank-name,.effect-galaxy .rank-name,.effect-holographic .rank-name,
.effect-gold_shine .rank-name,.effect-silver_shine .rank-name,.effect-bronze_shine .rank-name,
.effect-royal_sparkle .rank-name,.effect-prismatic_sparkle .rank-name,.effect-cosmic_dust .rank-name,.effect-ember_scroll .rank-name{
  color:transparent!important;-webkit-background-clip:text!important;background-clip:text!important;background-size:260% 100%!important;animation:sfFxFlow 5.8s linear infinite!important
}
.effect-gradient_shift .rank-name{background-image:linear-gradient(90deg,var(--role-a),var(--role-b),var(--role-a))!important}
.effect-founder_scroll .rank-name,.effect-royal_sparkle .rank-name{background-image:linear-gradient(100deg,var(--role-a),var(--role-b) 38%,#f1c8ff 52%,var(--role-b) 65%,var(--role-a))!important;text-shadow:0 0 14px color-mix(in srgb,var(--role-a) 28%,transparent)}
.effect-aurora_flow .rank-name{background-image:linear-gradient(90deg,var(--role-a),#5ee7c1,#76a9ff,var(--role-b),var(--role-a))!important}
.effect-rainbow_cycle .rank-name{background-image:linear-gradient(90deg,#ff4f73,#ffac45,#f8e85c,#53e49a,#55c9ff,#8f78ff,#ea6eea,#ff4f73)!important;background-size:360% 100%!important;animation-duration:4.2s!important}
.effect-prismatic .rank-name,.effect-prismatic_sparkle .rank-name{background-image:linear-gradient(105deg,#ff6a8f,#ffb45c,#fff27a,#78efc1,#75c9ff,#a891ff,#f587df,#ff6a8f)!important;background-size:340% 100%!important;filter:saturate(1.15)}
.effect-sunset_flow .rank-name{background-image:linear-gradient(90deg,#8e3eff,#ed4f95,#ff7d4b,#f0b05a,#8e3eff)!important}
.effect-ocean_wave .rank-name{background-image:linear-gradient(90deg,#286ff0,#29bde0,#71f1df,#2f8cff,#286ff0)!important}
.effect-forest_shimmer .rank-name{background-image:linear-gradient(90deg,#2d875d,#6de49c,#c4e878,#4fb77a,#2d875d)!important}
.effect-candy_scroll .rank-name{background-image:linear-gradient(90deg,#ff70c9,#8be5ff,#a789ff,#ff91d7,#ff70c9)!important}
.effect-galaxy .rank-name,.effect-cosmic_dust .rank-name{background-image:linear-gradient(90deg,#25145d,#6631d8,#b358f3,#4e70e9,#1c1a54,#6631d8)!important;background-size:330% 100%!important}
.effect-holographic .rank-name{background-image:linear-gradient(115deg,#93f7ff,#e7a7ff,#ffb9d5,#fff2a1,#9dffd4,#93f7ff)!important;background-size:380% 100%!important;animation-duration:3.3s!important}
.effect-gold_shine .rank-name{background-image:linear-gradient(105deg,#795416,#d9a53b,#fff0a6,#bd8024,#7b5515)!important}
.effect-silver_shine .rank-name{background-image:linear-gradient(105deg,#6d7480,#dce5ef,#ffffff,#9ba6b5,#5d6571)!important}
.effect-bronze_shine .rank-name{background-image:linear-gradient(105deg,#6b351d,#c87842,#f6bb7c,#9d4d29,#63301c)!important}

/* neon / energy */
.effect-neon_pulse .rank-name{color:var(--role-b)!important;text-shadow:0 0 4px #fff,0 0 10px var(--role-a),0 0 20px var(--role-a)!important;animation:sfFxNeon 2.2s ease-in-out infinite!important}
.effect-electric_blue .rank-name{color:#bcecff!important;text-shadow:0 0 4px #fff,0 0 10px #57bfff,0 0 22px #347cff!important;animation:sfFxElectric 1.8s steps(2,end) infinite!important}
.effect-plasma .rank-name{color:#ff9df4!important;text-shadow:0 0 5px #ff8be7,0 0 15px #8b3cff!important;animation:sfFxPlasma 2.8s ease-in-out infinite!important}
.effect-toxic_glow .rank-name{color:#9dff75!important;text-shadow:0 0 5px #7dff53,0 0 17px #27b95c!important;animation:sfFxNeon 2.5s ease-in-out infinite!important}
.effect-ice_shimmer .rank-name{color:#d9f7ff!important;text-shadow:0 0 5px #dffaff,0 0 13px #58c7ff!important;animation:sfFxIce 3s ease-in-out infinite!important}
.effect-fire_glow .rank-name{color:#ffbf74!important;text-shadow:0 0 5px #ffb052,0 0 13px #ef5b2a,0 0 22px #9d241d!important;animation:sfFxFire 2.2s ease-in-out infinite!important}
.effect-neon_spark .rank-name{color:var(--role-b)!important;text-shadow:0 0 4px #fff,0 0 10px var(--role-a),0 0 20px var(--role-a)!important;animation:sfFxNeon 2.2s ease-in-out infinite!important}

/* digital */
.effect-matrix_scan .rank-name{color:#80ff9c!important;text-shadow:0 0 8px #3add65!important;background-image:linear-gradient(90deg,#56d77a,#d1ffe0,#56d77a)!important;background-size:220% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:sfFxFlow 2.8s linear infinite!important}
.effect-scanline .rank-name{background-image:linear-gradient(90deg,var(--role-a) 0 36%,#fff 48%,var(--role-b) 58%,var(--role-a) 100%)!important;background-size:330% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;animation:sfFxFlow 3.5s linear infinite!important}
.effect-glitch_shift .rank-name{color:var(--role-b)!important;animation:sfFxGlitch 2.6s steps(1,end) infinite!important}
.effect-chromatic_split .rank-name{color:#f7f7ff!important;animation:sfFxChromatic 2.2s steps(2,end) infinite!important}

/* motion */
.effect-wave_bob .rank-name{color:var(--role-a)!important;animation:sfFxWave 2.1s ease-in-out infinite!important}
.effect-float_soft .rank-name{color:var(--role-a)!important;animation:sfFxFloat 3.8s ease-in-out infinite!important}
.effect-heartbeat .rank-name{color:var(--role-a)!important;transform-origin:center;animation:sfFxHeartbeat 2.1s ease-in-out infinite!important}
.effect-letter_breathe .rank-name{color:var(--role-a)!important;animation:sfFxLetters 3.5s ease-in-out infinite!important}
.effect-tilt_shift .rank-name{color:var(--role-a)!important;transform-origin:center bottom;animation:sfFxTilt 3.3s ease-in-out infinite!important}

/* particles */
.effect-sparkle_glow .rank-name{color:var(--role-a)!important;text-shadow:0 0 9px color-mix(in srgb,var(--role-a) 45%,transparent)!important}
.effect-sparkle_glow .name-fx-particles,.effect-starfield .name-fx-particles,.effect-ember_particles .name-fx-particles,.effect-firefly_particles .name-fx-particles,.effect-snow_particles .name-fx-particles,.effect-confetti_particles .name-fx-particles,.effect-comet_sparkles .name-fx-particles,.effect-royal_sparkle .name-fx-particles,.effect-prismatic_sparkle .name-fx-particles,.effect-cosmic_dust .name-fx-particles,.effect-ember_scroll .name-fx-particles,.effect-neon_spark .name-fx-particles{display:block}
.effect-sparkle_glow .name-fx-particles i,.effect-royal_sparkle .name-fx-particles i,.effect-prismatic_sparkle .name-fx-particles i{color:#f5dcff;background:currentColor;border-radius:1px;transform:rotate(45deg);animation:sfFxTwinkle 2.6s ease-in-out infinite}
.effect-starfield .rank-name{color:#d6c8ff!important;text-shadow:0 0 10px #7156c8!important}.effect-starfield .name-fx-particles i,.effect-cosmic_dust .name-fx-particles i{color:#d9e6ff;background:#fff;animation:sfFxStars 3.8s ease-in-out infinite}
.effect-ember_particles .rank-name{color:#f0a260!important}.effect-ember_particles .name-fx-particles i,.effect-ember_scroll .name-fx-particles i{color:#ff8b42;background:currentColor;animation:sfFxEmber 2.5s ease-out infinite}
.effect-firefly_particles .rank-name{color:#a8db81!important}.effect-firefly_particles .name-fx-particles i{color:#dbff72;background:currentColor;animation:sfFxFirefly 3.8s ease-in-out infinite}
.effect-snow_particles .rank-name{color:#d7efff!important}.effect-snow_particles .name-fx-particles i{color:#f4fbff;background:currentColor;animation:sfFxSnow 3.2s linear infinite}
.effect-confetti_particles .name-fx-particles i{background:#ff6c9f;color:#ff6c9f;border-radius:0;animation:sfFxConfetti 2.8s ease-in infinite}.effect-confetti_particles .name-fx-particles i:nth-child(2n){background:#64d9ff;color:#64d9ff}.effect-confetti_particles .name-fx-particles i:nth-child(3n){background:#ffe56c;color:#ffe56c}
.effect-comet_sparkles .rank-name{color:var(--role-a)!important}.effect-comet_sparkles .name-fx-particles i,.effect-neon_spark .name-fx-particles i{width:7px;height:2px;border-radius:999px;color:#d9c5ff;background:linear-gradient(90deg,transparent,currentColor);animation:sfFxComet 2.9s linear infinite}
.effect-cosmic_dust .name-fx-particles i{color:#bca5ff}.effect-neon_spark .name-fx-particles i{color:#8de9ff}
.name-fx-particles i:nth-child(2){animation-delay:-.55s!important}.name-fx-particles i:nth-child(3){animation-delay:-1.1s!important}.name-fx-particles i:nth-child(4){animation-delay:-1.65s!important}.name-fx-particles i:nth-child(5){animation-delay:-2.2s!important}.name-fx-particles i:nth-child(6){animation-delay:-2.75s!important}

@keyframes sfFxFlow{to{background-position:260% 0}}
@keyframes sfFxSoftPulse{0%,100%{filter:brightness(.92);text-shadow:0 0 4px transparent}50%{filter:brightness(1.25);text-shadow:0 0 10px color-mix(in srgb,var(--role-a) 45%,transparent)}}
@keyframes sfFxShadowSlide{0%,100%{text-shadow:-5px 0 8px color-mix(in srgb,var(--role-b) 25%,transparent)}50%{text-shadow:5px 0 8px color-mix(in srgb,var(--role-a) 35%,transparent)}}
@keyframes sfFxNeon{0%,100%{filter:brightness(.9)}45%,55%{filter:brightness(1.3)}}
@keyframes sfFxElectric{0%,18%,22%,77%,81%,100%{filter:brightness(1)}20%,79%{filter:brightness(1.65);text-shadow:-1px 0 #fff,1px 0 #68d3ff,0 0 18px #338cff}}
@keyframes sfFxPlasma{0%,100%{text-shadow:0 0 5px #ff8be7,0 0 13px #7733df}50%{text-shadow:0 0 8px #fff,0 0 20px #ff4fcf,0 0 30px #6438ff}}
@keyframes sfFxIce{50%{filter:brightness(1.4);text-shadow:0 0 5px #fff,0 0 17px #55ceff}}
@keyframes sfFxFire{50%{filter:brightness(1.25);text-shadow:0 0 7px #ffd589,0 0 18px #ff612f,0 0 28px #a8281d}}
@keyframes sfFxGlitch{0%,92%,100%{transform:none;text-shadow:none}93%{transform:translateX(-1px);text-shadow:2px 0 #ff4d8c,-2px 0 #55d8ff}95%{transform:translateX(1px);text-shadow:-2px 0 #ff4d8c,2px 0 #55d8ff}97%{transform:none;text-shadow:1px 0 #ff4d8c,-1px 0 #55d8ff}}
@keyframes sfFxChromatic{0%,88%,100%{text-shadow:1px 0 #ff4778,-1px 0 #4de5ff}90%{text-shadow:3px 0 #ff4778,-3px 0 #4de5ff}93%{text-shadow:-2px 0 #ff4778,2px 0 #4de5ff}}
@keyframes sfFxWave{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes sfFxFloat{0%,100%{transform:translateY(1px)}50%{transform:translateY(-2px)}}
@keyframes sfFxHeartbeat{0%,72%,100%{transform:scale(1)}78%{transform:scale(1.055)}84%{transform:scale(1)}89%{transform:scale(1.035)}}
@keyframes sfFxLetters{0%,100%{letter-spacing:normal}50%{letter-spacing:.055em}}
@keyframes sfFxTilt{0%,100%{transform:rotate(0)}40%{transform:rotate(-1.2deg)}65%{transform:rotate(1.2deg)}}
@keyframes sfFxTwinkle{0%,60%,100%{opacity:0;transform:rotate(45deg) scale(.25)}68%{opacity:1;transform:rotate(45deg) scale(1.2)}78%{opacity:.25;transform:rotate(90deg) scale(.65)}}
@keyframes sfFxStars{0%,100%{opacity:0;transform:translateY(3px) scale(.4)}45%{opacity:.9;transform:translateY(-2px) scale(1)}70%{opacity:.2;transform:translateY(-6px) scale(.6)}}
@keyframes sfFxEmber{0%{opacity:0;transform:translateY(7px) scale(.55)}25%{opacity:.9}100%{opacity:0;transform:translateY(-10px) translateX(3px) scale(.25)}}
@keyframes sfFxFirefly{0%,100%{opacity:0;transform:translate(0,2px)}35%{opacity:.9;transform:translate(3px,-2px)}70%{opacity:.25;transform:translate(-2px,-5px)}}
@keyframes sfFxSnow{0%{opacity:0;transform:translateY(-6px)}18%{opacity:.8}100%{opacity:0;transform:translateY(12px) translateX(3px)}}
@keyframes sfFxConfetti{0%{opacity:0;transform:translateY(-5px) rotate(0)}22%{opacity:1}100%{opacity:0;transform:translateY(12px) rotate(220deg)}}
@keyframes sfFxComet{0%,58%{opacity:0;transform:translateX(-15px)}65%{opacity:1}82%{opacity:0;transform:translateX(20px)}100%{opacity:0}}

@media(prefers-reduced-motion:reduce){
  .player-identity .rank-name{animation:none!important;transform:none!important;letter-spacing:normal!important}
  .name-fx-particles{display:none!important}
  .effect-gradient_shift .rank-name,.effect-founder_scroll .rank-name,.effect-aurora_flow .rank-name,.effect-rainbow_cycle .rank-name,.effect-prismatic .rank-name,.effect-sunset_flow .rank-name,.effect-ocean_wave .rank-name,.effect-forest_shimmer .rank-name,.effect-candy_scroll .rank-name,.effect-galaxy .rank-name,.effect-holographic .rank-name,.effect-gold_shine .rank-name,.effect-silver_shine .rank-name,.effect-bronze_shine .rank-name,.effect-royal_sparkle .rank-name,.effect-prismatic_sparkle .rank-name,.effect-cosmic_dust .rank-name,.effect-ember_scroll .rank-name{background-position:50% 0!important}
}


/* v28.3.1 — Global Chat identity cleanup: no boxed names/effects/tags. */
.chat-message header .player-identity,
.chat-message header .name-sparkles,
.chat-message header .name-fx-particles,
.chat-message header .employee-badge,
.chat-message header .rank-badge{
  border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;
}
.chat-message header .player-identity{gap:7px}
.chat-message header .rank-badge{margin-left:1px;color:#8f8798!important;font-size:8px!important;letter-spacing:.75px!important;opacity:.92}
.chat-message header .employee-badge{display:inline-flex!important}
.chat-message header .employee-badge img{display:block}
.chat-message header .founder-sparkles{background:transparent!important}

/* --------------------------------------------------------------------------
   v28.3.6 — Badge Art Library + Global Chat visual grouping
   -------------------------------------------------------------------------- */
.badge-art{--art-a:var(--badge-a,#8b5fc7);--art-b:var(--badge-b,#d6a8ff);position:relative;display:inline-grid;place-items:center;flex:0 0 auto;isolation:isolate;overflow:hidden;vertical-align:middle;background:linear-gradient(145deg,color-mix(in srgb,var(--art-a) 74%,#171a21),color-mix(in srgb,var(--art-b) 58%,#080a0e));border:1px solid color-mix(in srgb,var(--art-b) 55%,#343945);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 3px 10px rgba(0,0,0,.28);color:#fff;text-shadow:0 1px 4px #0009;font-style:normal;line-height:1}
.badge-art::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.22),transparent 34% 68%,rgba(255,255,255,.07))}
.badge-art>span{position:relative;z-index:1;display:grid;place-items:center;max-width:90%;overflow:hidden;text-overflow:clip;white-space:nowrap;font-family:Rajdhani,system-ui,sans-serif;font-weight:900}
.badge-art-compact{width:18px;height:18px;font-size:10px}.badge-art-medium{width:42px;height:42px;font-size:20px}.badge-art-large{width:68px;height:68px;font-size:28px}
.badge-art-compact>span{font-size:9px}.badge-art-medium>span{font-size:20px}.badge-art-large>span{font-size:28px}
.badge-art-text{border-radius:7px}.badge-art-custom{border:0!important;border-radius:8px!important;background:transparent!important;box-shadow:none!important;clip-path:none!important}.badge-art-custom::before{display:none}.badge-art-custom img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
/* Frame silhouettes. */
.badge-frame-round{border-radius:50%}.badge-frame-shield{clip-path:polygon(8% 7%,92% 7%,92% 58%,76% 82%,50% 100%,24% 82%,8% 58%)}.badge-frame-hex{clip-path:polygon(25% 4%,75% 4%,98% 50%,75% 96%,25% 96%,2% 50%)}.badge-frame-diamond{clip-path:polygon(50% 1%,99% 50%,50% 99%,1% 50%)}.badge-frame-crest{clip-path:polygon(12% 6%,88% 6%,96% 30%,82% 74%,50% 100%,18% 74%,4% 30%)}.badge-frame-medal{clip-path:polygon(20% 0,39% 17%,50% 2%,61% 17%,80% 0,73% 31%,94% 45%,80% 66%,72% 97%,50% 82%,28% 97%,20% 66%,6% 45%,27% 31%)}.badge-frame-plaque{clip-path:polygon(8% 0,92% 0,100% 18%,100% 82%,92% 100%,8% 100%,0 82%,0 18%);border-radius:8px}.badge-frame-ticket{clip-path:polygon(0 0,100% 0,100% 28%,90% 36%,90% 64%,100% 72%,100% 100%,0 100%,0 72%,10% 64%,10% 36%,0 28%)}.badge-frame-capsule{border-radius:999px}.badge-frame-egg{border-radius:52% 48% 48% 52%/62% 62% 38% 38%}.badge-frame-scale{clip-path:polygon(50% 0,92% 31%,82% 82%,50% 100%,18% 82%,8% 31%);border-radius:46% 46% 38% 38%}.badge-frame-banner{clip-path:polygon(0 8%,100% 8%,91% 50%,100% 92%,0 92%,9% 50%)}
/* Material finishes. */
.badge-finish-matte{filter:saturate(.82);box-shadow:inset 0 0 18px rgba(0,0,0,.28),0 3px 10px rgba(0,0,0,.28)}
.badge-finish-enamel{background:linear-gradient(145deg,color-mix(in srgb,var(--art-a) 88%,white 5%),color-mix(in srgb,var(--art-b) 72%,#080a0e));box-shadow:inset 0 1px 1px rgba(255,255,255,.34),inset 0 -7px 18px rgba(0,0,0,.22),0 4px 14px rgba(0,0,0,.32)}
.badge-finish-chrome{background:linear-gradient(145deg,#f5f7fb 0%,#747c88 23%,color-mix(in srgb,var(--art-a) 42%,#c9d0da) 45%,#252a31 69%,#c9ced7 100%);color:#11151b;text-shadow:0 1px #fff7}
.badge-finish-gold{--art-a:#8f661c;--art-b:#ffe09a;background:linear-gradient(135deg,#5f4110,#f1bf53 28%,#fff0a7 47%,#9e6e19 68%,#f0c45f);color:#2b1d07;text-shadow:0 1px #fff7;box-shadow:inset 0 0 0 1px #fff4,0 0 16px #d3a34b22}
.badge-finish-ember{background:radial-gradient(circle at 65% 68%,#ffb35d 0 7%,transparent 8%),linear-gradient(145deg,#481717,#c44722 46%,#6f1b28);box-shadow:inset 0 0 20px #ff7d3442,0 0 14px #e55d2c26}
.badge-finish-frost{background:linear-gradient(145deg,#d8f6ff,#6ca6c7 30%,#315b83 62%,#c6efff);color:#10243a;text-shadow:0 1px #fff8;box-shadow:inset 0 0 16px #fff8,0 0 13px #79d4ff25}
.badge-finish-neon{background:#0b0d13;border-color:color-mix(in srgb,var(--art-a) 76%,white);color:var(--art-b);text-shadow:0 0 5px #fff,0 0 10px var(--art-a);box-shadow:inset 0 0 12px color-mix(in srgb,var(--art-a) 34%,transparent),0 0 12px color-mix(in srgb,var(--art-a) 35%,transparent)}
.badge-finish-holo{background:linear-gradient(100deg,#ff84aa 0%,#ffd66b 17%,#7bf0c9 34%,#72c5ff 51%,#a783ff 68%,#f18cdf 84%,#ff84aa 100%);background-size:360% 100%;background-position:0 50%;color:#17131d;text-shadow:0 1px #fff8}
.player-badge .badge-art{margin-left:-2px}.player-badge .badge-art-custom{width:20px;height:20px}

/* Global Chat stays open and airy, but gets subtle timeline structure. */
.chat-date-divider{display:grid;grid-template-columns:minmax(20px,1fr) auto minmax(20px,1fr);align-items:center;gap:12px;margin:15px 4px 10px;color:#746f79;font:700 8px Orbitron;letter-spacing:1px;text-transform:uppercase;user-select:none}
.chat-date-divider::before,.chat-date-divider::after{content:"";height:1px;background:linear-gradient(90deg,transparent,#353740)}.chat-date-divider::after{background:linear-gradient(90deg,#353740,transparent)}
.chat-date-divider span{padding:0 4px;color:#8f8995}
.chat-message.group-break{margin-top:9px;padding-top:13px}
.chat-message.group-break::before{content:"";position:absolute;left:54px;right:10px;top:3px;height:1px;background:linear-gradient(90deg,rgba(72,75,86,.58),rgba(72,75,86,.15) 72%,transparent);pointer-events:none}
.chat-date-divider+.chat-message{margin-top:0}.chat-date-divider+.chat-message::before{display:none}
/* Slash commands stay a fixed-height overlay; the list scrolls inside itself. */
.slash-command-autocomplete{max-height:min(286px,42vh)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;contain:layout paint;scroll-behavior:smooth}
@media(max-width:760px){.chat-date-divider{margin:13px 2px 8px}.chat-message.group-break::before{left:47px;right:4px}.slash-command-autocomplete{max-height:min(260px,38vh)!important}}

/* v28.3.6 — image-backed built-in badge symbols. */
.badge-art>.badge-symbol-image{position:relative;z-index:1;display:block;width:62%;height:62%;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}.badge-art>.badge-symbol-preserve{width:78%;height:78%;filter:none!important;opacity:1;filter:none}.badge-finish-chrome>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-gold>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-frost>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-holo>.badge-symbol-image:not(.badge-symbol-preserve){filter:brightness(0);opacity:.82}.badge-art-compact>.badge-symbol-image{width:66%;height:66%}.badge-art-compact>.badge-symbol-preserve{width:88%;height:88%}.badge-art-large>.badge-symbol-preserve{width:84%;height:84%}

/* v28.3.7 — public badge catalog uses the shared visual-art renderer. */
.badge-icon-large>.badge-art{margin:0}.badge-icon-large>.badge-art-medium{width:44px;height:44px}.badge-icon-large>.badge-art-custom{width:48px;height:48px}


/* v28.3.11 — profile cabinet + professional editorial presentation */
.sf-btn.tiny{min-height:30px;padding:5px 9px;font-size:11px}.profile-badge-editor-list{display:grid;gap:10px}.profile-badge-editor-row{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid #2b3038;border-radius:12px;background:#0d1015}.profile-badge-editor-row:hover{border-color:#46515d}.badge-editor-art{display:grid;place-items:center;min-height:58px;border-radius:10px;background:linear-gradient(145deg,#141821,#0b0e13)}.badge-editor-copy{display:grid;gap:4px;min-width:0}.badge-editor-copy>b{font-size:15px}.badge-editor-copy small{color:#8b939e;line-height:1.35}.badge-editor-copy>span{font:700 9px Orbitron;letter-spacing:.12em;color:#b79bc9}.badge-editor-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.badge-order-buttons{display:flex;gap:4px}.profile-badge-art{display:grid;place-items:center;min-width:48px}.profile-badge-item{align-items:center}.profile-badge-item>.profile-badge-art{margin:0!important}
.editorial-page{padding-bottom:80px}.editorial-index-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:center;gap:30px;overflow:hidden}.editorial-index-head>div{position:relative;z-index:2}.editorial-index-head>img{width:100%;height:230px;object-fit:cover;border-radius:18px;border:1px solid #303842;box-shadow:0 24px 60px #0007}.editorial-index-head h1{max-width:760px}.editorial-index-head p{max-width:760px;font-size:17px;line-height:1.65}.guide-featured-story,.roadmap-featured{position:relative;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);min-height:330px;margin:24px 0 28px;border:1px solid #303842;border-radius:20px;overflow:hidden;background:#10141a;color:inherit;text-decoration:none;box-shadow:0 24px 70px #0006}.guide-featured-story>img,.roadmap-featured>img{width:100%;height:100%;min-height:330px;object-fit:cover}.guide-featured-story>div,.roadmap-featured>div{padding:34px;display:flex;flex-direction:column;justify-content:center}.guide-featured-story span,.roadmap-featured span,.editorial-kickers span{font:800 10px Orbitron;letter-spacing:.13em;color:#a9cbb0}.guide-featured-story h2,.roadmap-featured h2{font:800 clamp(25px,3vw,40px)/1.08 Orbitron;margin:10px 0}.guide-featured-story p,.roadmap-featured p{font-size:17px;line-height:1.6;color:#b9c1ca}.guide-featured-story b,.roadmap-featured b{margin-top:12px;color:#d8b3f4}.content-discovery-toolbar{display:grid;gap:14px;margin-bottom:22px}.content-discovery-toolbar label{display:grid;gap:7px}.content-discovery-toolbar label>span{font:800 10px Orbitron;letter-spacing:.12em;color:#8f9aa5}.content-discovery-toolbar input{font-size:16px}.content-filter-pills{display:flex;gap:7px;flex-wrap:wrap}.content-filter-pills .active{border-color:#6f8f71;background:#17251b;color:#cbe2ce}.editorial-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.editorial-card{position:relative;display:flex;flex-direction:column;min-width:0;border:1px solid #29313a;border-radius:16px;overflow:hidden;background:#0e1116;color:inherit;text-decoration:none;transition:.18s ease}.editorial-card:hover{transform:translateY(-3px);border-color:#536858;box-shadow:0 22px 45px #0006}.editorial-card-image{position:relative;height:190px;overflow:hidden;background:#10151b}.editorial-card-image img{width:100%;height:100%;object-fit:cover;transition:.3s}.editorial-card:hover .editorial-card-image img{transform:scale(1.025)}.editorial-card-image:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0e1116)}.editorial-card-image>span{position:absolute;z-index:2;left:14px;bottom:12px;padding:6px 8px;border:1px solid #ffffff2e;border-radius:999px;background:#080b0dc7;backdrop-filter:blur(8px);font:800 9px Orbitron;letter-spacing:.12em}.editorial-card-copy{display:flex;flex-direction:column;gap:9px;flex:1;padding:18px}.editorial-card-copy h2{font:750 20px/1.22 Orbitron;margin:0}.editorial-card-copy p{color:#9fa8b3;line-height:1.55;margin:0}.editorial-card-meta,.editorial-card-copy footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.editorial-card-meta small{font:700 9px Orbitron;letter-spacing:.08em;color:#7f8a95}.editorial-card-meta b{font:800 9px Orbitron;color:#a9d0b2}.editorial-card-copy footer{margin-top:auto;padding-top:9px;border-top:1px solid #232a31;font-size:12px}.editorial-card-copy footer strong{color:#c9a3e7}.editorial-card .pin{position:absolute;z-index:5;top:12px;right:12px;padding:5px 7px;border-radius:999px;background:#0a0c10d9;border:1px solid #78593c;color:#e8c17b;font:800 8px Orbitron}.editorial-hero{position:relative;min-height:430px;margin:22px 0 26px;border:1px solid #303842;border-radius:22px;overflow:hidden;background:#0c0f13;box-shadow:0 25px 70px #0008}.editorial-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.editorial-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,12,.96) 0%,rgba(7,10,12,.8) 48%,rgba(7,10,12,.18) 100%),linear-gradient(0deg,rgba(7,10,12,.65),transparent 60%)}.editorial-hero-copy{position:relative;z-index:2;display:flex;min-height:430px;flex-direction:column;justify-content:flex-end;width:min(800px,78%);padding:42px}.editorial-hero-copy h1{font:800 clamp(34px,5vw,62px)/1 Orbitron;margin:12px 0 14px}.editorial-hero-copy>p{font-size:19px;line-height:1.6;color:#d3d7da;margin:0}.editorial-kickers{display:flex;gap:8px;flex-wrap:wrap}.editorial-kickers span{padding:6px 9px;border:1px solid #ffffff27;border-radius:999px;background:#0a0d10b8}.editorial-kickers .official{color:#e5c785;border-color:#806a40}.editorial-byline{display:flex;gap:13px;align-items:center;flex-wrap:wrap;margin-top:18px;color:#a4adb6;font-size:12px}.editorial-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:22px;align-items:start}.editorial-article{padding:clamp(24px,4vw,44px)}.article-intro-card{margin:0 0 28px;padding:18px 20px;border:1px solid #304036;border-radius:13px;background:linear-gradient(135deg,#111b15,#101319)}.article-intro-card>p:last-child{font-size:18px;line-height:1.6;margin:.3em 0;color:#d3ddd6}.editorial-body{font-size:17px;line-height:1.82;color:#cbd1d7}.editorial-body>p,.editorial-body>ul,.editorial-body>ol,.editorial-body>blockquote,.editorial-body>h2,.editorial-body>h3,.editorial-body>h4{max-width:76ch;margin-left:auto;margin-right:auto}.editorial-body>h2{font-size:clamp(24px,3vw,31px);line-height:1.2;margin-top:1.7em;padding-top:.4em;border-top:1px solid #2b3239}.editorial-body>h3{font-size:20px}.editorial-body li{padding-left:3px;margin:.55em 0}.editorial-body ul li::marker{color:#7fb58a}.editorial-body ol li::marker{color:#c19ce0;font-weight:800}.editorial-body blockquote{padding:18px 20px;font-size:18px;line-height:1.6}.editorial-body figure{margin:30px auto;max-width:1100px}.editorial-body img{width:auto;max-height:680px;object-fit:contain}.editorial-sidebar{display:grid;gap:16px;position:sticky;top:88px}.editorial-toc-card,.editorial-related{padding:18px}.editorial-toc-card nav{display:grid;margin-top:10px}.editorial-toc-card nav a{padding:8px 0;border-bottom:1px solid #232a31;color:#bac2ca;text-decoration:none;font-size:13px;line-height:1.35}.editorial-toc-card nav a:hover{color:#fff}.editorial-toc-card nav a.sub{padding-left:15px;color:#89939e}.editorial-related h3{margin:.4em 0 12px}.editorial-related>a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center;padding:9px 0;border-top:1px solid #242b32;text-decoration:none;color:inherit}.editorial-related>a img{width:64px;height:50px;object-fit:cover;border-radius:8px}.editorial-related>a span{display:grid;gap:3px}.editorial-related>a b{font-size:12px;line-height:1.3}.editorial-related>a small{color:#7f8993}.roadmap-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.roadmap-summary-strip>div{padding:17px;border:1px solid #29323a;border-radius:13px;background:#0e1217;display:grid;gap:3px}.roadmap-summary-strip b{font:800 28px Orbitron;color:#d9e4db}.roadmap-summary-strip span{color:#8f9aa5;font-size:12px}.roadmap-progress{height:7px;border-radius:999px;background:#252c31;overflow:hidden;margin:12px 0}.roadmap-progress i,.roadmap-hero-progress i{display:block;height:100%;background:linear-gradient(90deg,#5c9a69,#a980c6);border-radius:inherit}.roadmap-board-pro{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.roadmap-board-pro .roadmap-lane{padding:13px}.roadmap-board-pro .roadmap-lane>header{align-items:center}.roadmap-board-pro .roadmap-lane>header div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex:1}.roadmap-board-pro .roadmap-lane>header small{color:#737d87}.roadmap-card-pro{display:block;margin:11px 0;border:1px solid #2c333b;border-radius:13px;overflow:hidden;background:#11151a;text-decoration:none;color:inherit;transition:.16s}.roadmap-card-pro:hover{border-color:#526557;transform:translateY(-2px)}.roadmap-card-image{position:relative;height:110px}.roadmap-card-image img{width:100%;height:100%;object-fit:cover}.roadmap-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,#11151a)}.roadmap-card-image span{position:absolute;z-index:2;bottom:8px;left:10px;font:800 8px Orbitron;letter-spacing:.1em}.roadmap-card-copy{padding:12px}.roadmap-card-copy h3{font-size:15px;line-height:1.25;margin:0 0 6px}.roadmap-card-copy p{font-size:12px;line-height:1.5;color:#929ca6;margin:0}.roadmap-card-copy footer{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:10px;color:#79838d}.roadmap-card-copy footer strong{color:#b99bd1}.roadmap-empty{padding:22px 8px;text-align:center}.roadmap-hero-progress{display:flex;align-items:center;gap:12px;margin-top:20px;width:min(500px,100%)}.roadmap-hero-progress>div{height:9px;flex:1;border-radius:99px;overflow:hidden;background:#2c3237}.roadmap-hero-progress>b{font:800 12px Orbitron}.announcement-timeline{display:grid;gap:16px}.announcement-history{position:relative;overflow:hidden;padding:22px 24px}.announcement-history:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#697683}.announcement-history.severity-success:before{background:#5fa36e}.announcement-history.severity-warning:before{background:#c99a56}.announcement-history.severity-critical:before{background:#cf6875}.announcement-history header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.announcement-history h2{margin:.45em 0}.announcement-history time{color:#77818c;font-size:12px}.event-full{max-width:1050px;margin:24px auto;padding:clamp(24px,4vw,42px)}
@media(max-width:1050px){.editorial-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-layout{grid-template-columns:1fr}.editorial-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-board-pro{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.profile-badge-editor-row{grid-template-columns:52px minmax(0,1fr)}.badge-editor-controls{grid-column:1/-1;justify-content:flex-start;padding-top:8px;border-top:1px solid #242b32}.editorial-index-head{grid-template-columns:1fr}.editorial-index-head>img{height:180px}.guide-featured-story,.roadmap-featured{grid-template-columns:1fr}.guide-featured-story>img,.roadmap-featured>img{min-height:200px;height:210px}.guide-featured-story>div,.roadmap-featured>div{padding:23px}.editorial-card-grid,.roadmap-board-pro{grid-template-columns:1fr}.editorial-hero{min-height:520px}.editorial-hero-shade{background:linear-gradient(0deg,rgba(7,10,12,.97) 0%,rgba(7,10,12,.78) 60%,rgba(7,10,12,.2) 100%)}.editorial-hero-copy{width:100%;min-height:520px;padding:26px}.editorial-hero-copy h1{font-size:34px}.editorial-sidebar{grid-template-columns:1fr}.roadmap-summary-strip{grid-template-columns:repeat(2,1fr)}.announcement-history header{display:grid}.editorial-article{padding:22px 18px}}


/* ========================================================================== */
/* v28.4.6 — Chrome-safe Identity Studio motion + expanded name effects        */
/* ========================================================================== */
.player-identity{overflow:visible!important;isolation:auto}
.player-identity .rank-name{overflow:visible!important;isolation:isolate;transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:antialiased}
.name-fx-particles{display:none;position:absolute!important;left:-14px!important;right:-14px!important;top:-12px!important;bottom:-11px!important;inset:auto!important;pointer-events:none!important;overflow:visible!important;z-index:12!important;transform:translateZ(0);contain:none!important}
.name-fx-particles i{position:absolute!important;display:block!important;width:4px;height:4px;margin:0!important;padding:0!important;border:0!important;border-radius:50%;opacity:0;background:currentColor;box-shadow:0 0 7px currentColor;pointer-events:none!important;will-change:transform,opacity;backface-visibility:hidden;transform:translate3d(0,0,0)}
.name-fx-particles i:nth-child(1){left:2%;top:16%}.name-fx-particles i:nth-child(2){left:16%;top:-1%}.name-fx-particles i:nth-child(3){left:31%;top:28%}.name-fx-particles i:nth-child(4){left:45%;top:3%}.name-fx-particles i:nth-child(5){left:59%;top:70%}.name-fx-particles i:nth-child(6){left:72%;top:12%}.name-fx-particles i:nth-child(7){left:84%;top:42%}.name-fx-particles i:nth-child(8){left:96%;top:8%}.name-fx-particles i:nth-child(9){left:10%;top:72%}.name-fx-particles i:nth-child(10){left:38%;top:84%}.name-fx-particles i:nth-child(11){left:67%;top:-8%}.name-fx-particles i:nth-child(12){left:90%;top:82%}
.name-fx-particles i:nth-child(2){animation-delay:-.43s!important}.name-fx-particles i:nth-child(3){animation-delay:-.86s!important}.name-fx-particles i:nth-child(4){animation-delay:-1.29s!important}.name-fx-particles i:nth-child(5){animation-delay:-1.72s!important}.name-fx-particles i:nth-child(6){animation-delay:-2.15s!important}.name-fx-particles i:nth-child(7){animation-delay:-2.58s!important}.name-fx-particles i:nth-child(8){animation-delay:-3.01s!important}.name-fx-particles i:nth-child(9){animation-delay:-3.44s!important}.name-fx-particles i:nth-child(10){animation-delay:-3.87s!important}.name-fx-particles i:nth-child(11){animation-delay:-4.30s!important}.name-fx-particles i:nth-child(12){animation-delay:-4.73s!important}

/* Existing particle presets are restated here so old cached/historical rules cannot suppress them. */
.effect-sparkle_glow .name-fx-particles,.effect-starfield .name-fx-particles,.effect-ember_particles .name-fx-particles,.effect-firefly_particles .name-fx-particles,.effect-snow_particles .name-fx-particles,.effect-confetti_particles .name-fx-particles,.effect-comet_sparkles .name-fx-particles,.effect-royal_sparkle .name-fx-particles,.effect-prismatic_sparkle .name-fx-particles,.effect-cosmic_dust .name-fx-particles,.effect-ember_scroll .name-fx-particles,.effect-neon_spark .name-fx-particles,.effect-orbit_sparks .name-fx-particles,.effect-leaf_drift .name-fx-particles,.effect-bubble_rise .name-fx-particles,.effect-venom_drops .name-fx-particles,.effect-lightning_motes .name-fx-particles,.effect-stardust_trail .name-fx-particles,.effect-royal_aurora .name-fx-particles,.effect-prism_storm .name-fx-particles,.effect-ember_rain .name-fx-particles,.effect-spectral_comet .name-fx-particles,.effect-morph_surge .name-fx-particles{display:block!important}

/* Chrome-safe versions of the original particle families. */
.effect-sparkle_glow .name-fx-particles i,.effect-royal_sparkle .name-fx-particles i,.effect-prismatic_sparkle .name-fx-particles i{color:#f5dcff!important;background:currentColor!important;border-radius:1px!important;animation:sfV2846Twinkle 2.55s ease-in-out infinite!important}
.effect-starfield .name-fx-particles i,.effect-cosmic_dust .name-fx-particles i{color:#d9e6ff!important;background:currentColor!important;animation:sfV2846Star 3.5s ease-in-out infinite!important}
.effect-ember_particles .name-fx-particles i,.effect-ember_scroll .name-fx-particles i{color:#ff8b42!important;background:currentColor!important;animation:sfV2846Ember 2.45s ease-out infinite!important}
.effect-firefly_particles .name-fx-particles i{color:#dcff72!important;background:currentColor!important;animation:sfV2846Firefly 3.6s ease-in-out infinite!important}
.effect-snow_particles .name-fx-particles i{color:#f4fbff!important;background:currentColor!important;animation:sfV2846Snow 3.1s linear infinite!important}
.effect-confetti_particles .name-fx-particles i{color:#ff6c9f!important;background:currentColor!important;border-radius:1px!important;animation:sfV2846Confetti 2.7s ease-in infinite!important}.effect-confetti_particles .name-fx-particles i:nth-child(2n){color:#64d9ff!important}.effect-confetti_particles .name-fx-particles i:nth-child(3n){color:#ffe56c!important}
.effect-comet_sparkles .name-fx-particles i,.effect-neon_spark .name-fx-particles i{width:9px!important;height:2px!important;border-radius:999px!important;color:#8de9ff!important;background:linear-gradient(90deg,transparent,currentColor)!important;animation:sfV2846Comet 2.8s linear infinite!important}

/* New moving color treatments. */
.effect-morph_cycle .rank-name,.effect-venom_ribbon .rank-name,.effect-biolume_flow .rank-name,.effect-ultraviolet_flow .rank-name,.effect-frost_ribbon .rank-name,.effect-lava_ribbon .rank-name,.effect-sunrise_scroll .rank-name,.effect-twilight_scroll .rank-name,.effect-laser_ribbon .rank-name,.effect-crystal_flow .rank-name,.effect-heatmap_flow .rank-name,.effect-moonlit_flow .rank-name,.effect-color_wave .rank-name,.effect-shimmer_pulse .rank-name,.effect-cyber_scan .rank-name,.effect-rgb_river .rank-name,.effect-royal_aurora .rank-name,.effect-prism_storm .rank-name,.effect-ember_rain .rank-name,.effect-spectral_comet .rank-name,.effect-morph_surge .rank-name{color:transparent!important;-webkit-text-fill-color:transparent!important;-webkit-background-clip:text!important;background-clip:text!important;background-repeat:repeat-x!important;background-size:360% 100%!important;animation:sfV2846ColorTravel 5s linear infinite!important}
.effect-morph_cycle .rank-name,.effect-morph_surge .rank-name{background-image:linear-gradient(90deg,var(--role-a),var(--role-b),#ffd36b,var(--role-a),#f09acb,var(--role-b),var(--role-a))!important}
.effect-venom_ribbon .rank-name{background-image:linear-gradient(90deg,#153d21,#5bea68,#d7ff65,#2daa58,#153d21)!important}
.effect-biolume_flow .rank-name{background-image:linear-gradient(90deg,#1e4d78,#35e4dd,#7affd5,#7d62ff,#2dc9e6,#1e4d78)!important}
.effect-ultraviolet_flow .rank-name{background-image:linear-gradient(90deg,#35105f,#8138ff,#ed63dd,#ff59a5,#6d35eb,#35105f)!important}
.effect-frost_ribbon .rank-name{background-image:linear-gradient(90deg,#447fa5,#a7e8ff,#ffffff,#77c8f1,#d8f7ff,#447fa5)!important}
.effect-lava_ribbon .rank-name,.effect-ember_rain .rank-name{background-image:linear-gradient(90deg,#7c1818,#e84b23,#ffb02e,#fff09a,#ef5a22,#7c1818)!important}
.effect-sunrise_scroll .rank-name{background-image:linear-gradient(90deg,#f3b33c,#ff7e62,#ff77a3,#ffd178,#f3b33c)!important}
.effect-twilight_scroll .rank-name{background-image:linear-gradient(90deg,#22265c,#5d45aa,#a75bbd,#e0719c,#533b93,#22265c)!important}
.effect-laser_ribbon .rank-name{background-image:linear-gradient(90deg,var(--role-a) 0 38%,#ffffff 47%,#ffffff 50%,var(--role-b) 58%,var(--role-a) 70% 100%)!important;background-size:480% 100%!important;animation-duration:3.2s!important}
.effect-crystal_flow .rank-name{background-image:linear-gradient(105deg,#83dfff,#ffffff,#b8a2ff,#f3d6ff,#8af0e0,#83dfff)!important}
.effect-heatmap_flow .rank-name{background-image:linear-gradient(90deg,#4169e1,#22c7d8,#64e572,#ffe25b,#ff8d3b,#e84141,#4169e1)!important}
.effect-moonlit_flow .rank-name{background-image:linear-gradient(90deg,#111b4b,#5874c7,#e5efff,#839bd9,#29356f,#111b4b)!important}
.effect-color_wave .rank-name{background-image:linear-gradient(90deg,var(--role-a),var(--role-b),#fff,var(--role-a))!important;animation:sfV2846ColorTravel 4.6s linear infinite,sfV2846Bob 2.2s ease-in-out infinite!important}
.effect-shimmer_pulse .rank-name{background-image:linear-gradient(100deg,var(--role-a),var(--role-a) 34%,#fff 49%,var(--role-b) 62%,var(--role-a))!important;animation:sfV2846ColorTravel 3.8s linear infinite,sfV2846GlowPulse 2.1s ease-in-out infinite!important}
.effect-cyber_scan .rank-name{background-image:linear-gradient(90deg,#1be2e7,#21336e,#ff4bc5,#f8fbff,#16d8e5,#1be2e7)!important;background-size:420% 100%!important;animation-duration:2.8s!important}
.effect-rgb_river .rank-name{background-image:linear-gradient(90deg,#ff405e,#ff405e,#3eea76,#3eea76,#4ca4ff,#4ca4ff,#ff405e)!important;background-size:420% 100%!important;animation-duration:4s!important}
.effect-royal_aurora .rank-name{background-image:linear-gradient(90deg,var(--role-a),#63edd7,var(--role-b),#e1a7ff,#6aa8ff,var(--role-a))!important}
.effect-prism_storm .rank-name{background-image:linear-gradient(90deg,#ff527b,#ffb34f,#fff77f,#61efa5,#55caff,#916dff,#ef62de,#ff527b)!important;background-size:460% 100%!important;animation-duration:2.9s!important}
.effect-spectral_comet .rank-name{background-image:linear-gradient(90deg,#353a9f,#67d9ff,#ffffff,#d677ff,#ff7cba,#353a9f)!important;background-size:440% 100%!important;animation-duration:3.5s!important}

/* New particle families. */
.effect-orbit_sparks .rank-name{color:var(--role-a)!important;text-shadow:0 0 8px var(--role-a)!important}.effect-orbit_sparks .name-fx-particles i{color:#f4eaff!important;animation:sfV2846Orbit 3.2s linear infinite!important}
.effect-leaf_drift .rank-name{color:#7bd68d!important}.effect-leaf_drift .name-fx-particles i{width:5px!important;height:3px!important;border-radius:5px 1px 5px 1px!important;color:#72c56f!important;animation:sfV2846Leaf 3.8s ease-in infinite!important}
.effect-bubble_rise .rank-name{color:#89e7ef!important}.effect-bubble_rise .name-fx-particles i{width:5px!important;height:5px!important;background:transparent!important;border:1px solid #9cf4ff!important;box-shadow:0 0 5px #6de8ff!important;animation:sfV2846Bubble 3.4s ease-out infinite!important}
.effect-venom_drops .rank-name{color:#9cff70!important;text-shadow:0 0 9px #3bd94f!important}.effect-venom_drops .name-fx-particles i{width:3px!important;height:6px!important;border-radius:60% 60% 70% 70%!important;color:#8dff52!important;animation:sfV2846Drop 2.9s ease-in infinite!important}
.effect-lightning_motes .rank-name{color:#bce9ff!important;text-shadow:0 0 10px #4bb8ff!important}.effect-lightning_motes .name-fx-particles i{width:6px!important;height:2px!important;border-radius:0!important;color:#e8f8ff!important;animation:sfV2846Lightning 2.35s steps(2,end) infinite!important}
.effect-stardust_trail .rank-name{color:#d7c7ff!important}.effect-stardust_trail .name-fx-particles i{color:#d9c8ff!important;animation:sfV2846Dust 4.1s ease-in-out infinite!important}
.effect-royal_aurora .name-fx-particles i{color:#d9bcff!important;animation:sfV2846Firefly 3.5s ease-in-out infinite!important}
.effect-prism_storm .name-fx-particles i{color:#fff!important;animation:sfV2846PrismMote 2.3s ease-in-out infinite!important}.effect-prism_storm .name-fx-particles i:nth-child(3n+1){color:#ff6aa2!important}.effect-prism_storm .name-fx-particles i:nth-child(3n+2){color:#6ee8ff!important}.effect-prism_storm .name-fx-particles i:nth-child(3n){color:#ffe96a!important}
.effect-ember_rain .name-fx-particles i{color:#ff8a35!important;animation:sfV2846EmberRain 2.5s ease-in infinite!important}
.effect-spectral_comet .name-fx-particles i{width:10px!important;height:2px!important;border-radius:999px!important;color:#bdeeff!important;background:linear-gradient(90deg,transparent,currentColor)!important;animation:sfV2846SpectralComet 3.1s linear infinite!important}
.effect-morph_surge .name-fx-particles i{color:var(--role-b)!important;animation:sfV2846Surge 2.6s ease-in-out infinite!important}

@keyframes sfV2846ColorTravel{0%{background-position:0% 50%}100%{background-position:360% 50%}}
@keyframes sfV2846Bob{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-2px,0)}}
@keyframes sfV2846GlowPulse{0%,100%{filter:brightness(.95)}50%{filter:brightness(1.3) drop-shadow(0 0 5px var(--role-a))}}
@keyframes sfV2846Twinkle{0%,58%,100%{opacity:0;transform:translate3d(0,2px,0) rotate(45deg) scale(.25)}67%{opacity:1;transform:translate3d(0,-1px,0) rotate(45deg) scale(1.15)}78%{opacity:.2;transform:translate3d(0,-5px,0) rotate(90deg) scale(.65)}}
@keyframes sfV2846Star{0%,100%{opacity:0;transform:translate3d(-2px,4px,0) scale(.4)}42%{opacity:.95;transform:translate3d(1px,-2px,0) scale(1)}72%{opacity:.15;transform:translate3d(4px,-7px,0) scale(.55)}}
@keyframes sfV2846Ember{0%{opacity:0;transform:translate3d(0,8px,0) scale(.5)}22%{opacity:.95}100%{opacity:0;transform:translate3d(4px,-12px,0) scale(.22)}}
@keyframes sfV2846Firefly{0%,100%{opacity:0;transform:translate3d(-2px,3px,0) scale(.55)}32%{opacity:1;transform:translate3d(4px,-2px,0) scale(1)}68%{opacity:.22;transform:translate3d(-3px,-7px,0) scale(.7)}}
@keyframes sfV2846Snow{0%{opacity:0;transform:translate3d(-2px,-7px,0)}18%{opacity:.9}100%{opacity:0;transform:translate3d(4px,14px,0)}}
@keyframes sfV2846Confetti{0%{opacity:0;transform:translate3d(0,-7px,0) rotate(0deg)}20%{opacity:1}100%{opacity:0;transform:translate3d(4px,15px,0) rotate(240deg)}}
@keyframes sfV2846Comet{0%,54%{opacity:0;transform:translate3d(-18px,0,0) scaleX(.5)}62%{opacity:1}82%{opacity:0;transform:translate3d(24px,-2px,0) scaleX(1.2)}100%{opacity:0}}
@keyframes sfV2846Orbit{0%{opacity:0;transform:translate3d(-7px,4px,0) scale(.4)}18%{opacity:1}50%{transform:translate3d(6px,-6px,0) scale(1)}82%{opacity:.85}100%{opacity:0;transform:translate3d(-7px,4px,0) scale(.4)}}
@keyframes sfV2846Leaf{0%{opacity:0;transform:translate3d(-5px,-8px,0) rotate(-25deg)}20%{opacity:.9}100%{opacity:0;transform:translate3d(7px,15px,0) rotate(160deg)}}
@keyframes sfV2846Bubble{0%{opacity:0;transform:translate3d(0,9px,0) scale(.45)}20%{opacity:.85}100%{opacity:0;transform:translate3d(3px,-15px,0) scale(1.1)}}
@keyframes sfV2846Drop{0%{opacity:0;transform:translate3d(0,-8px,0) scaleY(.6)}22%{opacity:1}100%{opacity:0;transform:translate3d(2px,13px,0) scaleY(1.15)}}
@keyframes sfV2846Lightning{0%,78%,100%{opacity:0;transform:translate3d(0,0,0)}80%{opacity:1;transform:translate3d(-3px,-2px,0) rotate(-12deg)}84%{opacity:.25;transform:translate3d(4px,2px,0) rotate(9deg)}88%{opacity:1;transform:translate3d(1px,-4px,0)}}
@keyframes sfV2846Dust{0%,100%{opacity:0;transform:translate3d(-8px,6px,0) scale(.35)}25%{opacity:.8}65%{opacity:.35;transform:translate3d(6px,-5px,0) scale(.85)}}
@keyframes sfV2846PrismMote{0%,100%{opacity:0;transform:translate3d(-5px,5px,0) scale(.35)}38%{opacity:1;transform:translate3d(1px,-1px,0) scale(1.05)}70%{opacity:.15;transform:translate3d(7px,-7px,0) scale(.5)}}
@keyframes sfV2846EmberRain{0%{opacity:0;transform:translate3d(-2px,-10px,0) scale(.5)}18%{opacity:1}55%{transform:translate3d(2px,1px,0) scale(.8)}100%{opacity:0;transform:translate3d(5px,12px,0) scale(.25)}}
@keyframes sfV2846SpectralComet{0%,48%{opacity:0;transform:translate3d(-22px,2px,0)}58%{opacity:1}78%{opacity:.7}90%,100%{opacity:0;transform:translate3d(28px,-4px,0)}}
@keyframes sfV2846Surge{0%,100%{opacity:0;transform:translate3d(-4px,3px,0) scale(.4)}40%{opacity:1;transform:translate3d(1px,-3px,0) scale(1.2)}72%{opacity:.2;transform:translate3d(6px,2px,0) scale(.6)}}

/* Explicit device preference. System still honors the OS/browser accessibility setting. */
html[data-identity-motion="reduced"] .player-identity .rank-name{animation:none!important;transform:none!important;letter-spacing:normal!important;filter:none!important}
html[data-identity-motion="reduced"] .name-fx-particles{display:none!important}
@media (prefers-reduced-motion:reduce){
  html:not([data-identity-motion="full"]) .player-identity .rank-name{animation:none!important;transform:none!important;letter-spacing:normal!important;filter:none!important}
  html:not([data-identity-motion="full"]) .name-fx-particles{display:none!important}
}

.identity-motion-settings>label{display:grid;gap:7px;max-width:420px}.identity-motion-settings select{width:100%}.identity-motion-settings [data-identity-motion-status][data-effective="full"]{color:#63bd78}.identity-motion-settings [data-identity-motion-status][data-effective="reduced"]{color:#d3a75b}

/* =========================================================
   v28.5.0 — Social identity + modern forum suite
   ========================================================= */
.sf-mention{display:inline;font-weight:850;text-decoration:none!important;background:linear-gradient(90deg,var(--mention-a,#6e9b55),var(--mention-b,var(--mention-a,#6e9b55)));-webkit-background-clip:text;background-clip:text;color:transparent;border-bottom:1px dashed color-mix(in srgb,var(--mention-a,#6e9b55) 55%,transparent);padding:0 1px;white-space:nowrap}.sf-mention:hover{filter:brightness(1.18);border-bottom-style:solid}.sf-mention.missing{color:#8c8171;background:none}
.profile-hover-card{position:fixed;z-index:5000;width:min(330px,calc(100vw - 24px));padding:0 14px 14px;border:1px solid #8d704c;border-radius:14px;background:#f2e7d0;color:#2d2519;box-shadow:0 22px 65px rgba(15,20,13,.35);overflow:hidden;animation:profileCardIn .14s ease-out}.profile-hover-cover{height:58px;margin:0 -14px 0;background:linear-gradient(120deg,rgba(42,75,49,.94),rgba(111,145,84,.86)),url('/assets/snake-farm-discovery-center.webp') center 46%/cover}.profile-hover-main{display:grid;grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:end;margin-top:-25px}.profile-hover-avatar{width:58px;height:58px;border-radius:50%;border:3px solid #f2e7d0;background:#34513b;display:grid;place-items:center;overflow:hidden;color:#fff;font-size:22px;font-weight:900}.profile-hover-avatar img{width:100%;height:100%;object-fit:cover}.profile-hover-copy{min-width:0;padding-bottom:3px}.profile-hover-copy .player-identity{max-width:100%}.profile-hover-copy>small{display:block;margin-top:3px;color:#75654e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-hover-card>p{margin:10px 0 4px}.profile-hover-facility{margin:6px 0 8px;padding:7px 9px;border-radius:8px;background:#e2d4b7;font-weight:750}.profile-hover-badges{display:flex;gap:4px;flex-wrap:wrap;margin:8px 0}.profile-hover-card>.sf-btn{width:100%;justify-content:center}@keyframes profileCardIn{from{opacity:0;transform:translateY(5px) scale(.98)}to{opacity:1;transform:none}}

.topic-compose-meta{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin-bottom:10px}.topic-compose-meta label{display:grid;gap:5px}.topic-compose-meta select{width:100%}.forum-watch{margin-left:auto}.topic-row.has-unread{box-shadow:inset 4px 0 0 #6e9b55;background:linear-gradient(90deg,rgba(110,155,85,.10),transparent 42%)}.unread-dot{width:9px;height:9px;border-radius:50%;background:#77b95d;box-shadow:0 0 0 4px rgba(119,185,93,.14);flex:0 0 auto}.topic-prefix{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid color-mix(in srgb,var(--prefix-color,#6e9b55) 65%,#6b5435);border-radius:999px;background:color-mix(in srgb,var(--prefix-color,#6e9b55) 12%,#f0e3c9);color:#3f3424;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.topic-subline{display:flex;gap:10px;align-items:center;color:#7b6b53;font-size:11px;font-weight:700;margin-top:4px}.topic-type{font-size:10px;font-weight:900;letter-spacing:.08em;color:#49693e}.topic-status.featured{background:#e8c96d;color:#4c3510}.modern-topic-head .topic-kickers{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.modern-topic-head .topic-status{display:inline-flex;padding:3px 7px;border-radius:999px;background:#ddd0b4;color:#51432e;font-size:10px;font-weight:900;letter-spacing:.06em}.modern-topic-head .state-released{background:#cfe5c2;color:#30542c}.modern-topic-head .state-in_development{background:#d8caea;color:#503570}.modern-topic-head .state-planned{background:#d9e1c5;color:#4c6238}.modern-topic-head .state-declined,.modern-topic-head .state-archived{background:#ded8ce;color:#685d50}.first-unread-jump{display:flex;justify-content:center;width:max-content;margin:12px auto;padding:7px 12px;border-radius:999px;background:#35563b;color:#f7efdd;text-decoration:none;font-size:11px;font-weight:900;letter-spacing:.05em;box-shadow:0 6px 20px rgba(32,66,39,.18)}

.threaded-posts{display:grid;gap:12px;margin:18px 0}.thread-children{display:grid;gap:10px;margin-left:26px;padding-left:16px;border-left:2px solid rgba(91,112,69,.25)}.thread-children.depth-5,.thread-children.depth-6{margin-left:8px}.thread-post{position:relative;display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);overflow:visible}.thread-post.staff-pick{box-shadow:0 0 0 1px rgba(206,154,52,.5),0 10px 34px rgba(94,67,21,.09)}.thread-post.staff-pick:before{content:'STAFF COMMENDATION';position:absolute;right:16px;top:-9px;padding:3px 8px;border-radius:999px;background:#c89230;color:#fff8e2;font:900 9px/1.2 system-ui;letter-spacing:.08em}.staff-pick-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f0d37d;color:#52380d;font-size:9px;font-weight:900}.post-toolbar-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.post-toolbar-actions form{display:inline-flex;margin:0}.post-action-button.active{background:#d9e8cd!important;color:#31562e!important;border-color:#7a9f68!important}.post-author-meta .text-button{border:0;background:none;padding:0;color:#796c5c;text-decoration:underline dotted;cursor:pointer;font-size:10px}.forum-signature{margin-top:16px;padding:9px 0 0;border-top:1px dashed rgba(94,76,49,.28);font-size:12px;opacity:.86}.forum-signature img{max-height:48px!important;width:auto!important}.post-reaction-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:13px}.post-reactions{display:flex;gap:5px;flex-wrap:wrap}.post-reaction-bar .reaction-pill,.reaction-add{border:1px solid #b5a17d;background:#eee2ca;color:#493d2a;border-radius:999px;padding:4px 8px;font-size:11px;cursor:pointer}.post-reaction-bar .reaction-pill.mine{border-color:#698a56;background:#dce9d2}.reaction-add{background:transparent}.forum-reaction-menu{position:fixed;z-index:5200;display:grid;grid-template-columns:repeat(5,minmax(52px,1fr));gap:5px;max-width:min(410px,calc(100vw - 20px));padding:8px;border:1px solid #8c704d;border-radius:12px;background:#f4ead6;box-shadow:0 18px 55px rgba(26,22,16,.3)}.forum-reaction-menu button{display:grid;gap:3px;place-items:center;border:0;border-radius:8px;background:transparent;padding:7px 4px;color:#433724;cursor:pointer}.forum-reaction-menu button:hover{background:#dce8d1}.forum-reaction-menu span{font-size:21px}.forum-reaction-menu small{font-size:8px;font-weight:800;text-align:center}.thread-collapse{justify-self:start;margin-left:26px;border:0;background:none;color:#557045;font-weight:800;font-size:11px;cursor:pointer}.split-branch{margin-top:10px;font-size:11px}.split-branch form{display:flex;gap:6px;align-items:center;margin-top:6px}.split-branch input{flex:1;min-width:0}.thread-structure-tools{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.thread-structure-tools form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.thread-structure-tools label{display:grid;gap:5px;flex:1;min-width:220px}.reply-context{margin:3px 0 0;color:#688055;font-size:11px;font-weight:800}.new-replies-banner{position:fixed;z-index:3500;left:50%;bottom:22px;transform:translateX(-50%);border:1px solid #8b744d;border-radius:999px;background:#315238;color:#fff6e2;padding:9px 15px;box-shadow:0 12px 35px rgba(24,45,28,.3);font-weight:900;cursor:pointer}

.forum-modal{position:fixed;inset:0;z-index:6000;display:grid;place-items:center;padding:18px}.forum-modal-scrim{position:absolute;inset:0;border:0;background:rgba(15,18,13,.7);backdrop-filter:blur(3px)}.forum-modal>section{position:relative;z-index:1;width:min(780px,96vw);max-height:90vh;display:flex;flex-direction:column;border:1px solid #8e704c;border-radius:15px;background:#f3e8d1;color:#2d2519;box-shadow:0 30px 100px rgba(0,0,0,.45);overflow:hidden}.forum-modal>section>header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#dfcba5;border-bottom:1px solid #ab8c61}.forum-modal>section>header h2{margin:0;font-size:16px}.forum-modal>section>header button{border:0;background:none;font-size:24px;color:#4b3c28;cursor:pointer}.forum-modal-body{overflow:auto;padding:14px}.forum-edit-form .sf-rte{margin-bottom:10px}.forum-history-list{display:grid;gap:10px}.forum-history-list article{padding:10px;border:1px solid #ccb894;border-radius:10px;background:#fbf3e2}.forum-history-list article>small{color:#76654c}.forum-history-list .rich-content{margin-top:8px;max-height:260px;overflow:auto;padding-top:8px;border-top:1px dashed #c9b58f}

@media(max-width:820px){.thread-post{grid-template-columns:1fr}.thread-post .post-author{border-right:0;border-bottom:1px solid rgba(95,76,47,.14)}.thread-children{margin-left:10px;padding-left:9px}.topic-compose-meta{grid-template-columns:1fr}.forum-reaction-menu{grid-template-columns:repeat(4,minmax(48px,1fr))}.forum-watch{margin-left:0}.modern-topic-head{align-items:flex-start}}

/* v28.5.0 — forum completion layer */
.forum-detail-head.has-forum-banner{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(90deg,rgba(244,235,215,.96),rgba(244,235,215,.82)),var(--forum-banner) center/cover}.forum-detail-head.has-forum-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,color-mix(in srgb,var(--forum-accent,#6e9b55) 12%,transparent),transparent 60%)}
.topic-preview-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:5px 0 0;color:#756650;font-size:12px;line-height:1.45}.topic-row:hover .topic-preview-excerpt{color:#554a39}
.thread-presence{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px;color:#685e4e;font-size:11px}.thread-presence strong{color:#335d3a}.thread-presence .presence-avatars{display:flex}.thread-presence .presence-avatars span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;margin-left:-5px;border:2px solid #f2e7d0;background:#42644a;color:#fff;font-size:9px;font-weight:900}.thread-presence .presence-avatars span:first-child{margin-left:0}.thread-presence .typing{color:#6d4d8c;font-weight:850}
.multi-quote-tray{position:sticky;bottom:12px;z-index:180;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 12px;border:1px solid #9c8258;border-radius:12px;background:rgba(244,233,211,.96);box-shadow:0 12px 32px rgba(38,48,31,.2);backdrop-filter:blur(8px)}.multi-quote-tray>div{display:flex;align-items:center;gap:8px}.post-action-button.multi-selected{background:#355c3b!important;color:#fff8e6!important;border-color:#355c3b!important}
.post-author-meta{display:grid;gap:5px}.presence-label{display:inline-flex;align-items:center;gap:5px;font-size:9px;font-weight:900;letter-spacing:.07em;color:#887b68}.presence-label i{width:7px;height:7px;border-radius:50%;background:#aaa}.presence-label.online{color:#3d7645}.presence-label.online i{background:#66ad67;box-shadow:0 0 0 3px rgba(102,173,103,.14)}.forum-post-flair{display:flex;max-width:100%}.forum-post-flair .badge-display,.forum-post-flair .public-badge{max-width:100%}
.forum-style-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.forum-style-option{position:relative;cursor:pointer}.forum-style-option>input{position:absolute;opacity:0;pointer-events:none}.forum-style-swatch{min-height:118px;display:grid;align-content:center;gap:5px;padding:14px;border:2px solid #c1aa82;border-radius:13px;background:#f4ead7;color:#30271d;box-shadow:0 5px 18px rgba(59,47,30,.08);transition:.15s ease}.forum-style-option input:checked+.forum-style-swatch{border-color:#547346;box-shadow:0 0 0 3px rgba(84,115,70,.15),0 10px 26px rgba(59,47,30,.12);transform:translateY(-1px)}.forum-style-swatch small{color:#776951}.forum-style-swatch em{font-style:normal;font-size:11px;font-weight:800}.forum-style-clean .forum-style-swatch{background:#fffaf0;border-color:#d8d1c3}.forum-style-terrarium .forum-style-swatch{background:linear-gradient(135deg,#eaf2df,#f6ecd6);border-color:#6c9160}.forum-style-night-hunt .forum-style-swatch{background:linear-gradient(135deg,#17251c,#263b2a);color:#f2e9cf;border-color:#66826a}.forum-style-night-hunt .forum-style-swatch small{color:#bdc8b6}.forum-style-morph-glow .forum-style-swatch{background:linear-gradient(120deg,#f3e7d9,#e5ddf2,#dff0e2);background-size:200% 100%;animation:forumStyleFlow 6s linear infinite;border-color:#9d81b0}.forum-style-prismatic .forum-style-swatch{background:linear-gradient(120deg,#f5dfc2,#dfebf6,#e8d8ef,#dcedd7);background-size:250% 100%;animation:forumStyleFlow 4.5s linear infinite;border-color:#9e8bba}@keyframes forumStyleFlow{to{background-position:250% 0}}
.thread-post.forum-style-clean{background:#fffaf0!important;border-color:#d7cec0!important;box-shadow:0 4px 16px rgba(67,59,48,.06)!important}.thread-post.forum-style-terrarium{box-shadow:inset 4px 0 0 #6f9b66,0 8px 24px rgba(38,74,41,.08)!important;background:linear-gradient(90deg,#edf3e5,#f5ead2 34%)!important}.thread-post.forum-style-night-hunt{background:linear-gradient(120deg,#1c2b20,#28382a)!important;border-color:#61775f!important;color:#f2e9d4!important}.thread-post.forum-style-night-hunt .post-content,.thread-post.forum-style-night-hunt .post-author{color:#f2e9d4}.thread-post.forum-style-night-hunt .post-author{background:#172219!important}.thread-post.forum-style-night-hunt .post-body,.thread-post.forum-style-night-hunt .forum-signature{color:#f3ead8}.thread-post.forum-style-morph-glow{background:linear-gradient(120deg,#f4e7d6,#e5ddf1,#e0f0df,#f4e7d6)!important;background-size:260% 100%!important;animation:forumStyleFlow 10s linear infinite}.thread-post.forum-style-prismatic{border-color:#a287b5!important;box-shadow:0 0 0 1px rgba(125,196,181,.3),0 12px 36px rgba(104,76,125,.13)!important}.thread-post.forum-style-prismatic:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,transparent 10%,rgba(255,255,255,.32) 42%,transparent 58%);background-size:240% 100%;animation:forumPrism 6s linear infinite}@keyframes forumPrism{to{background-position:-240% 0}}
.forum-theme-forest{--forum-surface-accent:#5f8150}.forum-theme-night{--forum-surface-accent:#58745e}.forum-theme-hatchery{--forum-surface-accent:#b08348}.forum-theme-genetics{--forum-surface-accent:#7a6495}.forum-theme-seasonal{--forum-surface-accent:#b6743b}.forum-page[class*="forum-theme-"] .forum-detail-head,.modern-topic-page[class*="forum-theme-"] .modern-topic-head{border-top:4px solid var(--forum-surface-accent,#6e9b55)}.forum-theme-night .forum-detail-head,.forum-theme-night .modern-topic-head{background:linear-gradient(115deg,#1f3024,#334632)!important;color:#f4ead8}.forum-theme-genetics .forum-detail-head,.forum-theme-genetics .modern-topic-head{background:linear-gradient(115deg,#efe7d8,#e6def1)!important}.forum-theme-seasonal .forum-detail-head,.forum-theme-seasonal .modern-topic-head{background:linear-gradient(115deg,#f1e4cb,#efe8d6 55%,#e2edd7)!important}
.activity-filter-strip{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0 18px}.activity-filter-strip button{border:1px solid #aa916c;border-radius:999px;background:#efe2c8;color:#4a3c28;padding:7px 12px;font-weight:850;cursor:pointer}.activity-filter-strip button.active{background:#355d3c;color:#fff7e5;border-color:#355d3c}.activity-trail{position:relative;display:grid;gap:12px;padding-left:28px}.activity-trail:before{content:"";position:absolute;left:12px;top:8px;bottom:8px;width:2px;background:linear-gradient(#709462,#c2ad83)}.activity-entry{position:relative;display:grid;grid-template-columns:0 minmax(0,1fr)}.activity-marker{position:absolute;left:-28px;top:14px;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#355d3c;color:#fff8e5;border:3px solid #efe3ca;font-weight:900;z-index:2}.activity-card{padding:14px;border:1px solid #bca57d;border-radius:13px;background:#f4e9d4;box-shadow:0 7px 22px rgba(66,51,31,.07)}.activity-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.activity-card header>div{display:grid;gap:3px}.activity-card time{font-size:10px;color:#81725d}.activity-card h2{font-size:15px;margin:8px 0 4px}.activity-card p{margin:0;color:#655844}.activity-entry.activity-mention .activity-marker{background:#765a94}.activity-entry.activity-award .activity-marker{background:#a2752a}.activity-entry.activity-reaction .activity-marker{background:#4f885d}
.forum-reaction-palette-config{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed rgba(117,99,71,.3)}.reaction-choice span{font-size:18px}.forum-social-config small{font-weight:500;color:#8a7b64}.forum-presentation-settings .forum-style-picker{margin:8px 0 14px}
@media(max-width:900px){.forum-style-picker{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.forum-style-picker{grid-template-columns:1fr}.activity-card header{align-items:stretch}.activity-card header>.sf-btn{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){.forum-style-morph-glow .forum-style-swatch,.forum-style-prismatic .forum-style-swatch,.thread-post.forum-style-morph-glow,.thread-post.forum-style-prismatic:after{animation:none!important}}
.thread-presence{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.thread-presence .presence-dot{width:8px;height:8px;border-radius:50%;background:#64aa69;box-shadow:0 0 0 4px rgba(100,170,105,.14)}.thread-presence>small{color:#76558e;font-weight:800}.thread-presence-faces{display:flex;align-items:center;margin-left:2px}.thread-presence-faces>a{display:grid;place-items:center;min-width:25px;height:25px;margin-left:-6px;border:2px solid #efe4ce;border-radius:999px;background:#e4d7bb;text-decoration:none;overflow:hidden;padding:0 3px}.thread-presence-faces>a:first-child{margin-left:0}.thread-presence-faces .player-identity{transform:scale(.78);transform-origin:center}.thread-presence-faces .rank-badge,.thread-presence-faces .employee-badge{display:none!important}

/* v28.5.0 — Saved Field Notes collections */
.saved-folder-strip{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:5px 2px 10px;margin:10px 0 16px;scrollbar-width:thin}.saved-folder-strip a{flex:0 0 auto;text-decoration:none;padding:8px 12px;border:1px solid rgba(92,73,47,.32);border-radius:999px;background:rgba(252,245,225,.78);color:#4d3d2a;font-weight:800;font-size:12px}.saved-folder-strip a:hover,.saved-folder-strip a.active{background:#fff7df;border-color:#7b5d34;box-shadow:0 5px 14px rgba(40,29,16,.14)}
.saved-organizable-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border-top:1px solid rgba(82,65,43,.18);padding:8px 0}.saved-organizable-row>a{min-width:0;display:flex;justify-content:space-between;align-items:center;gap:10px;text-decoration:none;padding:4px 0}.saved-folder-form{display:flex;align-items:center;gap:6px}.saved-folder-form input{width:130px;max-width:28vw;background:#fffaf0;color:#3b3022;border:1px solid rgba(90,67,38,.35);border-radius:8px;padding:7px 9px}
.saved-folder-settings{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(300px,1.2fr) minmax(220px,.8fr);gap:18px;align-items:start;margin-bottom:18px;background:linear-gradient(145deg,rgba(255,249,229,.98),rgba(239,225,188,.95));color:#382c1f;border-color:rgba(98,70,37,.42)}.saved-folder-settings h2,.saved-folder-settings label,.saved-folder-settings summary{color:#382c1f}.saved-folder-settings .muted{color:#6f604c}.saved-folder-settings-form{display:grid;gap:10px}.saved-folder-settings-form label,.saved-share-link{display:grid;gap:5px;font-weight:800;font-size:11px;letter-spacing:.03em}.saved-folder-settings-form textarea,.saved-folder-settings-form select,.saved-share-link input,.saved-folder-rename input{width:100%;background:#fffdf5;color:#30271c;border:1px solid rgba(83,61,35,.35);border-radius:9px;padding:9px 10px}.saved-folder-admin{display:grid;gap:10px}.saved-folder-actions{display:flex;gap:7px;flex-wrap:wrap}.saved-folder-actions form{margin:0}.saved-folder-admin details{border-top:1px solid rgba(81,60,35,.22);padding-top:10px}.saved-folder-admin summary{cursor:pointer;font-weight:900;font-size:11px}.saved-folder-rename{display:flex;gap:7px;margin:10px 0 7px}.saved-folder-admin .sf-btn.danger{background:#7a2e29;color:#fff4e8;border-color:#8f3b35}
.saved-collection-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin:14px 0 18px;padding:26px clamp(18px,4vw,38px);border:1px solid rgba(78,61,38,.36);border-radius:18px;background:linear-gradient(110deg,rgba(255,248,224,.97),rgba(226,214,176,.94));box-shadow:0 16px 45px rgba(22,18,11,.2);color:#3d3021}.saved-collection-hero:after{content:"";position:absolute;right:-50px;bottom:-100px;width:260px;height:260px;border:34px solid rgba(63,102,57,.08);border-radius:50%}.saved-collection-hero h1{margin:.1em 0;font-size:clamp(28px,5vw,48px);color:#332719}.saved-collection-hero p{max-width:70ch}.saved-collection-owner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px}.saved-collection-owner>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#746451;font-weight:900}.saved-collection-stamp{position:relative;z-index:1;min-width:145px;text-align:center;padding:18px;border:2px dashed rgba(75,91,47,.45);border-radius:50%;transform:rotate(2deg);background:rgba(255,253,240,.62)}.saved-collection-stamp b{display:block;font-size:32px;color:#4a633a}.saved-collection-stamp span,.saved-collection-stamp small{display:block;color:#615643}.saved-share-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px}.saved-share-privacy{max-width:780px;margin:18px auto 50px;padding:10px 14px;text-align:center;color:#8e826e;font-size:12px}.saved-share-empty{max-width:720px;margin:14vh auto;padding:40px;text-align:center}.saved-forum-posts>article{overflow:hidden}.saved-post-excerpt{max-height:260px;overflow:hidden;position:relative}.saved-post-excerpt:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42px;background:linear-gradient(transparent,var(--panel,#171b1f));pointer-events:none}
@media(max-width:980px){.saved-folder-settings{grid-template-columns:1fr 1fr}.saved-folder-admin{grid-column:1/-1}.saved-share-grid{grid-template-columns:1fr}}
@media(max-width:720px){.saved-folder-settings{grid-template-columns:1fr}.saved-folder-admin{grid-column:auto}.saved-organizable-row{grid-template-columns:1fr}.saved-folder-form input{width:min(100%,210px);max-width:none}.saved-collection-hero{grid-template-columns:1fr}.saved-collection-stamp{justify-self:start}.saved-folder-rename{flex-direction:column}}

/* v28.5.0 — native community embeds */
a.sf-native-embed{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;margin:14px 0;padding:13px 15px;border:1px solid color-mix(in srgb,var(--embed-accent,#6E9B55) 48%,#6b583e);border-left:4px solid var(--embed-accent,#6E9B55);border-radius:13px;background:linear-gradient(105deg,rgba(255,250,232,.96),rgba(239,229,197,.92));box-shadow:0 8px 22px rgba(30,23,14,.12);text-decoration:none!important;color:#3c3020!important;overflow:hidden}.sf-native-embed:hover{transform:translateY(-1px);box-shadow:0 11px 27px rgba(30,23,14,.17)}.sf-native-embed-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--embed-accent,#6E9B55) 18%,#fff8df);color:var(--embed-accent,#6E9B55);font-size:21px;font-weight:900}.sf-native-embed-copy{min-width:0;display:grid;gap:2px}.sf-native-embed-copy small{font-size:9px;font-weight:900;letter-spacing:.13em;color:var(--embed-accent,#6E9B55)}.sf-native-embed-copy b{font-size:15px;color:#332719;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-native-embed-copy>span{font-size:12px;color:#655743;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sf-native-embed-copy em{font-size:10px;color:#877762;font-style:normal}.sf-native-embed>strong{font-size:11px;color:var(--embed-accent,#6E9B55);white-space:nowrap}@media(max-width:620px){a.sf-native-embed{grid-template-columns:auto minmax(0,1fr)}.sf-native-embed>strong{grid-column:2}}

/* v28.5.0 · compact inline staff shortcuts */
.post-staff-menu{position:relative;display:inline-block}
.post-staff-menu>summary{list-style:none;cursor:pointer}
.post-staff-menu>summary::-webkit-details-marker{display:none}
.post-staff-menu-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:min(280px,82vw);padding:12px;display:grid;gap:7px;background:var(--sf-paper,#f3ead5);color:#2f251b;border:1px solid rgba(76,58,37,.28);border-radius:12px;box-shadow:0 18px 42px rgba(0,0,0,.28)}
.post-staff-menu-pop b{font-size:.82rem;color:#2f251b}
.post-staff-menu-pop a{display:block;padding:7px 9px;border-radius:8px;background:rgba(83,105,55,.1);color:#31432a;text-decoration:none;font-weight:700;font-size:.78rem}
.post-staff-menu-pop a:hover{background:rgba(83,105,55,.18)}
.post-staff-menu-pop small{line-height:1.35;color:#6e6253}

/* v28.5.0 · community challenge treatment */
.event-challenge-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;padding:14px;border:1px solid rgba(95,119,65,.3);border-radius:14px;background:linear-gradient(110deg,rgba(236,235,199,.72),rgba(214,225,185,.52))}
.event-challenge-card>div{display:grid;gap:4px;padding:10px 12px;border-radius:10px;background:rgba(255,252,233,.62)}
.event-challenge-card small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#617347}.event-challenge-card b{color:#3d3526;line-height:1.45}
@media(max-width:680px){.event-challenge-card{grid-template-columns:1fr}}

/* v28.5.0 · personalized community trail */
.personal-community-feed{margin:16px 0}.personal-feed-list{display:grid;gap:8px}.personal-feed-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px 12px;border:1px solid rgba(107,87,58,.18);border-radius:12px;background:rgba(255,250,230,.05);text-decoration:none}.personal-feed-list>a:hover{border-color:rgba(111,139,79,.42);transform:translateY(-1px)}.personal-feed-list b{display:block}.personal-feed-list small{display:block;margin-top:3px;color:var(--muted)}.personal-feed-type{font-size:9px;font-weight:900;letter-spacing:.09em;color:#9bad79;min-width:72px}.personal-feed-empty{padding:18px;border:1px dashed rgba(128,111,82,.28);border-radius:12px}.personal-feed-empty p{margin:.35rem 0 .75rem;color:var(--muted)}@media(max-width:650px){.personal-feed-list>a{grid-template-columns:1fr}.personal-feed-type{min-width:0}.personal-feed-list .state-pill{justify-self:start}}

/* v28.5.0 · automatic multi-image galleries */
.sf-inline-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.sf-inline-gallery>figure{margin:0!important;min-width:0;overflow:hidden;border-radius:12px;background:rgba(0,0,0,.08)}.sf-inline-gallery>figure>img{display:block;width:100%;height:clamp(150px,22vw,280px);object-fit:cover;cursor:zoom-in}.sf-inline-gallery>figure figcaption{padding:7px 9px;font-size:11px}.sf-inline-gallery.count-3>figure:first-child{grid-row:span 2}.sf-inline-gallery.count-3>figure:first-child>img{height:100%;min-height:308px}.sf-inline-gallery.count-2>figure>img{height:clamp(180px,26vw,340px)}@media(max-width:620px){.sf-inline-gallery{grid-template-columns:1fr}.sf-inline-gallery.count-3>figure:first-child{grid-row:auto}.sf-inline-gallery.count-3>figure:first-child>img,.sf-inline-gallery>figure>img{height:auto;max-height:360px}}


/* v28.5.2 — social action polish */
.friend-head-stats{display:flex;gap:9px;flex-wrap:wrap;align-self:center}.friend-head-stats span{display:grid;place-items:center;min-width:92px;padding:9px 12px;border:1px solid #b9a17a;border-radius:12px;background:#efe2c7;color:#4c3e2a}.friend-head-stats b{font-size:18px;color:#355d3c}.friend-request-panel{border-color:#90a875}.friend-request-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:12px}.friend-request-card{display:grid;gap:12px;padding:14px;border:1px solid #bda77e;border-radius:14px;background:linear-gradient(145deg,#f7eedb,#eadcc1);box-shadow:0 8px 24px rgba(65,49,28,.08);scroll-margin:120px}.friend-request-card.focus-request{outline:3px solid rgba(82,126,73,.35);border-color:#527e49;animation:friend-request-focus 1.5s ease}.friend-request-person{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;text-decoration:none;color:#392f22}.friend-request-person>span:last-child{display:grid;gap:3px}.friend-request-person small{color:#77674f}.friend-avatar-fallback{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#355d3c;color:#fff8e8;font-size:18px;font-weight:900}.friend-request-actions,.notification-actions{display:flex;gap:7px;flex-wrap:wrap}.friend-request-actions .sf-btn,.notification-actions .sf-btn{min-width:92px;justify-content:center}.friend-manage-row>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.notification-action-row{cursor:default}.notification-action-row:hover{transform:none}.notification-friend-person{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:7px 0 3px}.notification-friend-person small{color:#7d6d58}.notification-actions{margin-top:10px}@keyframes friend-request-focus{0%,100%{box-shadow:0 8px 24px rgba(65,49,28,.08)}40%{box-shadow:0 0 0 6px rgba(82,126,73,.13),0 12px 34px rgba(65,49,28,.12)}}
/* Keep a real caret landing zone after atomic mentions in Chromium. */
.sf-rte-edit a[data-mention-user]{display:inline-block;vertical-align:baseline;user-select:all;-webkit-user-select:all}.sf-rte-edit a[data-mention-user]+br{display:inline}

/* ========================================================================== 
   v28.5.3 — Identity FX II + Badge Materials II + community containment pass
   ========================================================================== */

/* Keep decorative effects from forcing layout or clipping neighboring content. */
.player-identity,.player-identity .rank-name{position:relative;isolation:isolate;overflow:visible!important;min-width:0}
.player-identity .rank-name{display:inline-block;vertical-align:baseline;transform-origin:50% 55%}
.name-fx-particles{inset:-16px -20px -14px!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:calc(100% + 40px)!important;height:calc(100% + 30px)!important;margin:-16px -20px -14px!important;contain:none!important}
.name-fx-particles i{transform-origin:center;will-change:transform,opacity,filter!important}

/* Every particle family now has its own moving text treatment as well. */
.effect-sparkle_glow .rank-name,.effect-starfield .rank-name,.effect-ember_particles .rank-name,.effect-firefly_particles .rank-name,.effect-snow_particles .rank-name,.effect-confetti_particles .rank-name,.effect-comet_sparkles .rank-name,.effect-royal_sparkle .rank-name,.effect-prismatic_sparkle .rank-name,.effect-cosmic_dust .rank-name,.effect-ember_scroll .rank-name,.effect-neon_spark .rank-name,.effect-orbit_sparks .rank-name,.effect-leaf_drift .rank-name,.effect-bubble_rise .rank-name,.effect-venom_drops .rank-name,.effect-lightning_motes .rank-name,.effect-stardust_trail .rank-name,.effect-royal_aurora .rank-name,.effect-prism_storm .rank-name,.effect-ember_rain .rank-name,.effect-spectral_comet .rank-name,.effect-morph_surge .rank-name,.effect-serpent_wave .rank-name,.effect-oil_slick .rank-name,.effect-radioactive_flow .rank-name,.effect-rose_gold_flow .rank-name,.effect-blacklight_flow .rank-name,.effect-opal_shift .rank-name,.effect-northern_lights .rank-name,.effect-molten_gold .rank-name,.effect-deep_sea .rank-name,.effect-sunbeam .rank-name,.effect-meteor_shower .rank-name,.effect-constellation .rank-name,.effect-pixel_burst .rank-name,.effect-petal_storm .rank-name,.effect-spore_cloud .rank-name,.effect-crystal_shards .rank-name,.effect-rainstorm .rank-name,.effect-plasma_orbit .rank-name,.effect-firestorm .rank-name,.effect-moon_motes .rank-name,.effect-event_horizon .rank-name,.effect-dragonfire .rank-name,.effect-celestial_crown .rank-name,.effect-serpent_soul .rank-name{
  color:transparent!important;-webkit-text-fill-color:transparent!important;-webkit-background-clip:text!important;background-clip:text!important;
  background-repeat:repeat-x!important;background-size:420% 100%!important;animation:sfFxTextTravel 5.4s linear infinite!important;
}
.effect-sparkle_glow .rank-name{background-image:linear-gradient(90deg,var(--role-a),#fff7ff,var(--role-b),#fff,var(--role-a))!important}
.effect-starfield .rank-name,.effect-constellation .rank-name{background-image:linear-gradient(90deg,#6e72c8,#dbe8ff,#8d6ee7,#fff,#5d76c9)!important}
.effect-ember_particles .rank-name,.effect-ember_scroll .rank-name,.effect-firestorm .rank-name{background-image:linear-gradient(90deg,#76210f,#ff632b,#ffd45a,#fff0a0,#e64018,#76210f)!important}
.effect-firefly_particles .rank-name,.effect-spore_cloud .rank-name{background-image:linear-gradient(90deg,#315b2f,#b8ee61,#fff59a,#71c451,#315b2f)!important}
.effect-snow_particles .rank-name,.effect-rainstorm .rank-name{background-image:linear-gradient(90deg,#6185ad,#e9f8ff,#9fdcff,#fff,#6b85b0)!important}
.effect-confetti_particles .rank-name{background-image:linear-gradient(90deg,#ff5f91,#ffd95a,#64d9ff,#ac79ff,#67e69d,#ff5f91)!important;background-size:500% 100%!important;animation-duration:3.8s!important}
.effect-comet_sparkles .rank-name,.effect-spectral_comet .rank-name,.effect-meteor_shower .rank-name{background-image:linear-gradient(90deg,#26295d,#7fdfff,#fff,#bf75ff,#ff7fc1,#26295d)!important}
.effect-royal_sparkle .rank-name,.effect-celestial_crown .rank-name{background-image:linear-gradient(90deg,var(--role-a),#f4c865,#fff3b6,var(--role-b),#e4bcff,var(--role-a))!important}
.effect-prismatic_sparkle .rank-name,.effect-prism_storm .rank-name,.effect-crystal_shards .rank-name{background-image:linear-gradient(90deg,#ff5a84,#ffbd55,#fff47a,#56ecad,#58cbff,#956fff,#ed68d9,#ff5a84)!important;background-size:520% 100%!important;animation-duration:3.2s!important}
.effect-cosmic_dust .rank-name,.effect-event_horizon .rank-name{background-image:linear-gradient(90deg,#070913,#302276,#7d58dc,#2b77b9,#070913,#c770ff,#070913)!important}
.effect-neon_spark .rank-name,.effect-plasma_orbit .rank-name{background-image:linear-gradient(90deg,#10e5e3,#7b50ff,#ff4ccb,#fff,#19e7ff,#10e5e3)!important;background-size:470% 100%!important;animation-duration:3.3s!important}
.effect-orbit_sparks .rank-name{background-image:linear-gradient(90deg,var(--role-a),#fff,var(--role-b),#d9c4ff,var(--role-a))!important}
.effect-leaf_drift .rank-name,.effect-serpent_soul .rank-name{background-image:linear-gradient(90deg,#244f35,#78cf6d,#d5e66b,#47ad7e,#b9e385,#244f35)!important}
.effect-bubble_rise .rank-name,.effect-deep_sea .rank-name{background-image:linear-gradient(90deg,#173956,#47d8e4,#b5ffff,#2ca596,#5378da,#173956)!important}
.effect-venom_drops .rank-name,.effect-radioactive_flow .rank-name{background-image:linear-gradient(90deg,#10170e,#59ff4d,#d4ff4a,#29c943,#061008,#59ff4d)!important;background-size:460% 100%!important}
.effect-lightning_motes .rank-name{background-image:linear-gradient(90deg,#244f8d,#a7e9ff,#fff,#5ab7ff,#29316e,#a7e9ff)!important;background-size:470% 100%!important;animation-duration:2.8s!important}
.effect-stardust_trail .rank-name,.effect-moon_motes .rank-name{background-image:linear-gradient(90deg,#353c75,#c7d4ff,#fff,#aa91dd,#6675ae,#353c75)!important}
.effect-royal_aurora .rank-name,.effect-northern_lights .rank-name{background-image:linear-gradient(90deg,var(--role-a),#5ef4be,#77d9ff,#9a77ff,var(--role-b),#5ef4be,var(--role-a))!important;background-size:520% 100%!important}
.effect-ember_rain .rank-name,.effect-dragonfire .rank-name{background-image:linear-gradient(90deg,#741412,#ef3d20,#ff9c29,#fff0a1,#ff5a1f,#741412)!important}
.effect-morph_surge .rank-name{background-image:linear-gradient(90deg,var(--role-a),var(--role-b),#fff4a8,var(--role-a),#f29ed6,var(--role-b),var(--role-a))!important;background-size:500% 100%!important;animation-duration:3.4s!important}
.effect-serpent_wave .rank-name{background-image:repeating-linear-gradient(105deg,#183d27 0 7%,#71c567 10% 17%,#e2cf6b 20% 24%,var(--role-a) 27% 35%,var(--role-b) 39% 46%,#183d27 50% 57%)!important;background-size:360% 100%!important;animation:sfFxSerpentText 4.4s linear infinite!important}
.effect-oil_slick .rank-name{background-image:linear-gradient(90deg,#16131d,#244b44,#684b91,#2e6c82,#8c567e,#294d3b,#16131d)!important;background-size:500% 100%!important;animation-duration:5.8s!important}
.effect-rose_gold_flow .rank-name{background-image:linear-gradient(90deg,#7f473d,#d99883,#ffe0bf,#c67775,#f2bda6,#7f473d)!important}
.effect-blacklight_flow .rank-name{background-image:linear-gradient(90deg,#12091e,#842cff,#f134ff,#20d8ff,#4e24c9,#12091e)!important;background-size:470% 100%!important;animation-duration:3.9s!important}
.effect-opal_shift .rank-name{background-image:linear-gradient(90deg,#f3d9e7,#baf1db,#d9e6ff,#fff6d6,#e0c9ff,#bdf0ec,#f3d9e7)!important;background-size:520% 100%!important;animation-duration:7.2s!important}
.effect-molten_gold .rank-name{background-image:linear-gradient(90deg,#51320c,#c7871b,#fff09e,#f5c34f,#8d5611,#fff4b5,#51320c)!important;background-size:430% 100%!important;animation-duration:4.1s!important}
.effect-sunbeam .rank-name{background-image:linear-gradient(95deg,#b07818 0 34%,#fff4ba 43%,#fff 48%,#f7c95c 56%,#b07818 66% 100%)!important;background-size:480% 100%!important;animation-duration:4.8s!important}
.effect-pixel_burst .rank-name{background-image:linear-gradient(90deg,#ff3d70,#30ed7e,#42a4ff,#ef46dc,#fff,#ff3d70)!important;background-size:500% 100%!important;animation:sfFxTextStep 3.2s steps(12,end) infinite!important}
.effect-petal_storm .rank-name{background-image:linear-gradient(90deg,#8a435d,#ef7ca4,#ffd0dd,#b867bc,#f1a2bb,#8a435d)!important}
.effect-plasma_orbit .rank-name{filter:drop-shadow(0 0 5px rgba(113,90,255,.55))}
.effect-event_horizon .rank-name{filter:drop-shadow(0 0 5px #4b39a5);animation:sfFxTextTravel 5s linear infinite,sfFxVoidPulse 2.8s ease-in-out infinite!important}
.effect-dragonfire .rank-name{filter:drop-shadow(0 0 5px #ff7b23)}
.effect-celestial_crown .rank-name{filter:drop-shadow(0 0 5px #c9a14e)}
.effect-serpent_soul .rank-name{filter:drop-shadow(0 0 5px #4eb778);animation:sfFxTextTravel 4.8s linear infinite,sfFxSoulPulse 3.2s ease-in-out infinite!important}

/* Particles are now distinct physical families instead of recolored dots. */
.effect-sparkle_glow .name-fx-particles i,.effect-royal_sparkle .name-fx-particles i,.effect-celestial_crown .name-fx-particles i{
  width:7px!important;height:7px!important;background:currentColor!important;clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%)!important;border-radius:0!important;box-shadow:0 0 9px currentColor!important;animation:sfFxStarburst 2.8s ease-in-out infinite!important
}
.effect-prismatic_sparkle .name-fx-particles i,.effect-prism_storm .name-fx-particles i,.effect-crystal_shards .name-fx-particles i{
  width:7px!important;height:9px!important;border-radius:1px!important;clip-path:polygon(50% 0,100% 45%,65% 100%,12% 70%)!important;background:currentColor!important;animation:sfFxShardBurst 2.7s cubic-bezier(.2,.75,.25,1) infinite!important
}
.effect-starfield .name-fx-particles i,.effect-constellation .name-fx-particles i,.effect-cosmic_dust .name-fx-particles i,.effect-moon_motes .name-fx-particles i{
  width:3px!important;height:3px!important;border-radius:50%!important;background:currentColor!important;box-shadow:0 0 4px currentColor,0 0 9px currentColor!important;animation:sfFxDepthStar 4.8s ease-in-out infinite!important
}
.effect-constellation .name-fx-particles i:nth-child(3n){width:6px!important;height:6px!important;clip-path:polygon(50% 0,62% 37%,100% 50%,62% 63%,50% 100%,38% 63%,0 50%,38% 37%)!important;border-radius:0!important}
.effect-ember_particles .name-fx-particles i,.effect-ember_scroll .name-fx-particles i,.effect-firestorm .name-fx-particles i,.effect-dragonfire .name-fx-particles i{
  width:4px!important;height:6px!important;border-radius:70% 40% 70% 40%!important;background:radial-gradient(circle at 45% 35%,#fff8bd 0 18%,#ff9a35 38%,#e84418 70%,transparent 72%)!important;box-shadow:0 0 8px #ff6a24!important;animation:sfFxFlameLift 2.65s cubic-bezier(.22,.62,.38,1) infinite!important
}
.effect-firestorm .name-fx-particles i:nth-child(2n),.effect-dragonfire .name-fx-particles i:nth-child(3n){animation-name:sfFxFlameBurst!important}
.effect-firefly_particles .name-fx-particles i,.effect-spore_cloud .name-fx-particles i{
  width:5px!important;height:5px!important;border-radius:50%!important;background:radial-gradient(circle,#fffcc2 0 20%,currentColor 35%,transparent 72%)!important;box-shadow:0 0 10px currentColor!important;animation:sfFxWander 5.1s ease-in-out infinite!important
}
.effect-spore_cloud .name-fx-particles i{width:6px!important;height:6px!important;color:#a8d98a!important;filter:blur(.35px);animation-duration:6.4s!important}
.effect-snow_particles .name-fx-particles i{
  width:5px!important;height:5px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 0 5px #cdeeff!important;animation:sfFxSnowTumble 4s linear infinite!important
}
.effect-confetti_particles .name-fx-particles i,.effect-petal_storm .name-fx-particles i{
  width:7px!important;height:4px!important;border-radius:1px!important;box-shadow:none!important;animation:sfFxConfettiThrow 3.4s cubic-bezier(.2,.65,.3,1) infinite!important
}
.effect-petal_storm .name-fx-particles i{width:7px!important;height:5px!important;border-radius:90% 10% 90% 10%!important;color:#f08db2!important;background:currentColor!important;animation:sfFxPetalFall 4.2s ease-in infinite!important}
.effect-comet_sparkles .name-fx-particles i,.effect-spectral_comet .name-fx-particles i,.effect-meteor_shower .name-fx-particles i{
  width:16px!important;height:2px!important;border-radius:999px!important;background:linear-gradient(90deg,transparent,currentColor 55%,#fff)!important;box-shadow:0 0 7px currentColor!important;animation:sfFxMeteor 3.1s linear infinite!important
}
.effect-meteor_shower .name-fx-particles i{transform:rotate(-24deg);animation-duration:2.6s!important}
.effect-orbit_sparks .name-fx-particles i,.effect-plasma_orbit .name-fx-particles i,.effect-event_horizon .name-fx-particles i{
  width:5px!important;height:5px!important;border-radius:50%!important;background:currentColor!important;box-shadow:0 0 8px currentColor!important;left:50%!important;top:50%!important;animation:sfFxOrbitBox 4s linear infinite!important
}
.effect-plasma_orbit .name-fx-particles i:nth-child(odd){color:#ff4fd2!important}.effect-plasma_orbit .name-fx-particles i:nth-child(even){color:#38e7ff!important}
.effect-event_horizon .name-fx-particles i{color:#8f68ff!important;animation:sfFxSpiralIn 4.6s cubic-bezier(.45,0,.55,1) infinite!important}
.effect-leaf_drift .name-fx-particles i,.effect-serpent_soul .name-fx-particles i{
  width:8px!important;height:5px!important;border-radius:90% 12% 90% 12%!important;background:linear-gradient(135deg,#b7db6b,#3e9c5b)!important;box-shadow:0 0 4px #6dc278!important;animation:sfFxLeafTumble 4.8s ease-in infinite!important
}
.effect-serpent_soul .name-fx-particles i:nth-child(3n){clip-path:polygon(50% 0,100% 45%,70% 100%,30% 100%,0 45%)!important;border-radius:0!important;background:#d9d66b!important;animation-name:sfFxCoilMote!important}
.effect-bubble_rise .name-fx-particles i{
  width:8px!important;height:8px!important;border:1px solid #aafaff!important;border-radius:50%!important;background:radial-gradient(circle at 32% 28%,#fff 0 10%,transparent 18%)!important;box-shadow:inset 0 0 4px #45cfe6,0 0 7px #52dbec!important;animation:sfFxBubbleFloat 4.2s ease-out infinite!important
}
.effect-venom_drops .name-fx-particles i{
  width:5px!important;height:9px!important;border-radius:70% 70% 78% 78%!important;clip-path:polygon(50% 0,94% 62%,78% 100%,22% 100%,6% 62%)!important;background:linear-gradient(#d8ff54,#41df45)!important;box-shadow:0 0 7px #65ff4b!important;animation:sfFxVenomDrop 3.2s cubic-bezier(.35,0,.7,1) infinite!important
}
.effect-lightning_motes .name-fx-particles i{
  width:8px!important;height:11px!important;border-radius:0!important;clip-path:polygon(45% 0,100% 0,65% 38%,92% 38%,25% 100%,42% 57%,8% 57%)!important;background:#e8fbff!important;box-shadow:0 0 9px #5bc9ff!important;animation:sfFxElectricJump 2.4s steps(1,end) infinite!important
}
.effect-stardust_trail .name-fx-particles i{
  width:5px!important;height:5px!important;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)!important;border-radius:0!important;background:#d8c9ff!important;animation:sfFxStardustDrift 5s ease-in-out infinite!important
}
.effect-royal_aurora .name-fx-particles i{width:8px!important;height:3px!important;border-radius:50%!important;background:linear-gradient(90deg,#66f1cb,#a477ff)!important;filter:blur(.4px);animation:sfFxAuroraMote 5.6s ease-in-out infinite!important}
.effect-ember_rain .name-fx-particles i{width:4px!important;height:6px!important;border-radius:60% 40% 70% 30%!important;background:#ff8130!important;box-shadow:0 0 7px #ff5c24!important;animation:sfFxEmberRainDown 3s ease-in infinite!important}.effect-ember_rain .name-fx-particles i:nth-child(even){animation-name:sfFxFlameLift!important}
.effect-morph_surge .name-fx-particles i{width:7px!important;height:2px!important;border-radius:999px!important;background:linear-gradient(90deg,transparent,var(--role-b),#fff)!important;box-shadow:0 0 7px var(--role-b)!important;animation:sfFxRadialSurge 2.9s ease-out infinite!important}
.effect-pixel_burst .name-fx-particles i{width:5px!important;height:5px!important;border-radius:0!important;box-shadow:none!important;background:currentColor!important;animation:sfFxPixelBurst 2.7s steps(7,end) infinite!important}.effect-pixel_burst .name-fx-particles i:nth-child(3n+1){color:#ff4d82!important}.effect-pixel_burst .name-fx-particles i:nth-child(3n+2){color:#50e77c!important}.effect-pixel_burst .name-fx-particles i:nth-child(3n){color:#53a8ff!important}
.effect-rainstorm .name-fx-particles i{width:1px!important;height:11px!important;border-radius:999px!important;background:linear-gradient(transparent,#bfe8ff)!important;box-shadow:none!important;animation:sfFxRain 2s linear infinite!important}

/* Motion-path alternatives stay pure transforms for Chrome/Safari parity. */
.name-fx-particles i:nth-child(1){--fx-x:-34px;--fx-y:-10px;--fx-r:0deg}.name-fx-particles i:nth-child(2){--fx-x:-24px;--fx-y:13px;--fx-r:45deg}.name-fx-particles i:nth-child(3){--fx-x:-13px;--fx-y:-15px;--fx-r:90deg}.name-fx-particles i:nth-child(4){--fx-x:-3px;--fx-y:15px;--fx-r:135deg}.name-fx-particles i:nth-child(5){--fx-x:9px;--fx-y:-14px;--fx-r:180deg}.name-fx-particles i:nth-child(6){--fx-x:20px;--fx-y:13px;--fx-r:225deg}.name-fx-particles i:nth-child(7){--fx-x:31px;--fx-y:-9px;--fx-r:270deg}.name-fx-particles i:nth-child(8){--fx-x:37px;--fx-y:10px;--fx-r:315deg}.name-fx-particles i:nth-child(9){--fx-x:-29px;--fx-y:6px;--fx-r:20deg}.name-fx-particles i:nth-child(10){--fx-x:-8px;--fx-y:-5px;--fx-r:110deg}.name-fx-particles i:nth-child(11){--fx-x:14px;--fx-y:5px;--fx-r:205deg}.name-fx-particles i:nth-child(12){--fx-x:28px;--fx-y:-4px;--fx-r:300deg}

@keyframes sfFxTextTravel{0%{background-position:0% 50%}100%{background-position:420% 50%}}
@keyframes sfFxTextStep{0%{background-position:0% 50%}100%{background-position:500% 50%}}
@keyframes sfFxSerpentText{0%{background-position:0 50%;filter:drop-shadow(0 0 2px rgba(105,194,102,.25))}50%{filter:drop-shadow(0 0 5px rgba(224,207,107,.4))}100%{background-position:360% 50%;filter:drop-shadow(0 0 2px rgba(105,194,102,.25))}}
@keyframes sfFxStarburst{0%,64%,100%{opacity:0;transform:rotate(0) scale(.1)}72%{opacity:1;transform:rotate(45deg) scale(1.35)}82%{opacity:.45;transform:rotate(110deg) scale(.65)}}
@keyframes sfFxShardBurst{0%,100%{opacity:0;transform:translate3d(0,2px,0) rotate(0) scale(.2)}35%{opacity:1}75%{opacity:.2;transform:translate3d(var(--fx-x),var(--fx-y),0) rotate(var(--fx-r)) scale(1)}}
@keyframes sfFxDepthStar{0%,100%{opacity:.05;transform:translate3d(0,0,0) scale(.25);filter:blur(.3px)}38%{opacity:1;transform:translate3d(calc(var(--fx-x) * .18),calc(var(--fx-y) * .18),0) scale(1.2);filter:none}70%{opacity:.25;transform:translate3d(calc(var(--fx-x) * .3),calc(var(--fx-y) * -.2),0) scale(.55)}}
@keyframes sfFxFlameLift{0%{opacity:0;transform:translate3d(0,10px,0) rotate(-8deg) scale(.45)}18%{opacity:1}55%{transform:translate3d(3px,-4px,0) rotate(8deg) scale(.85)}100%{opacity:0;transform:translate3d(-2px,-24px,0) rotate(-15deg) scale(.18)}}
@keyframes sfFxFlameBurst{0%,45%{opacity:0;transform:translate3d(0,5px,0) scale(.2)}55%{opacity:1}100%{opacity:0;transform:translate3d(var(--fx-x),calc(var(--fx-y) - 14px),0) rotate(var(--fx-r)) scale(.5)}}
@keyframes sfFxWander{0%,100%{opacity:0;transform:translate3d(-5px,4px,0) scale(.5)}15%{opacity:.9}32%{transform:translate3d(7px,-4px,0) scale(1.05)}52%{transform:translate3d(-2px,-9px,0) scale(.7)}73%{opacity:.8;transform:translate3d(9px,2px,0) scale(1)}88%{opacity:.15;transform:translate3d(2px,-13px,0) scale(.45)}}
@keyframes sfFxSnowTumble{0%{opacity:0;transform:translate3d(-3px,-18px,0) rotate(0) scale(.7)}15%{opacity:.9}50%{transform:translate3d(7px,0,0) rotate(180deg) scale(1)}100%{opacity:0;transform:translate3d(-5px,24px,0) rotate(420deg) scale(.65)}}
@keyframes sfFxConfettiThrow{0%,12%{opacity:0;transform:translate3d(0,5px,0) rotate(0) scale(.3)}24%{opacity:1}65%{transform:translate3d(var(--fx-x),calc(var(--fx-y) - 8px),0) rotate(260deg) scale(1)}100%{opacity:0;transform:translate3d(calc(var(--fx-x) * 1.2),22px,0) rotate(520deg) scale(.6)}}
@keyframes sfFxPetalFall{0%{opacity:0;transform:translate3d(0,-18px,0) rotate(0)}18%{opacity:.95}50%{transform:translate3d(8px,3px,0) rotate(170deg)}100%{opacity:0;transform:translate3d(-6px,25px,0) rotate(390deg)}}
@keyframes sfFxMeteor{0%,48%{opacity:0;transform:translate3d(-34px,-8px,0) rotate(-16deg) scaleX(.45)}55%{opacity:1}76%{opacity:.8}88%,100%{opacity:0;transform:translate3d(42px,12px,0) rotate(-16deg) scaleX(1)}}
@keyframes sfFxOrbitBox{0%{opacity:0;transform:translate3d(-32px,-12px,0) scale(.5)}10%{opacity:1}25%{transform:translate3d(0,-18px,0) scale(1)}50%{transform:translate3d(34px,2px,0) scale(.7)}75%{transform:translate3d(0,18px,0) scale(1)}90%{opacity:1}100%{opacity:0;transform:translate3d(-32px,-12px,0) scale(.5)}}
@keyframes sfFxSpiralIn{0%{opacity:0;transform:translate3d(var(--fx-x),var(--fx-y),0) rotate(0) scale(1.15)}15%{opacity:.9}70%{opacity:.65;transform:translate3d(calc(var(--fx-x) * .25),calc(var(--fx-y) * .25),0) rotate(260deg) scale(.65)}100%{opacity:0;transform:translate3d(0,0,0) rotate(520deg) scale(.05)}}
@keyframes sfFxLeafTumble{0%{opacity:0;transform:translate3d(0,-19px,0) rotate(-25deg)}14%{opacity:.95}45%{transform:translate3d(9px,-2px,0) rotate(120deg)}72%{transform:translate3d(-6px,11px,0) rotate(240deg)}100%{opacity:0;transform:translate3d(4px,25px,0) rotate(390deg)}}
@keyframes sfFxCoilMote{0%,100%{opacity:0;transform:translate3d(-17px,8px,0) rotate(0) scale(.25)}20%{opacity:1}45%{transform:translate3d(0,-12px,0) rotate(120deg) scale(1)}70%{transform:translate3d(17px,5px,0) rotate(250deg) scale(.7)}}
@keyframes sfFxBubbleFloat{0%{opacity:0;transform:translate3d(0,16px,0) scale(.25)}18%{opacity:.9}45%{transform:translate3d(6px,2px,0) scale(.8)}78%{transform:translate3d(-4px,-12px,0) scale(1.2)}100%{opacity:0;transform:translate3d(3px,-25px,0) scale(1.45)}}
@keyframes sfFxVenomDrop{0%,22%{opacity:0;transform:translate3d(0,-15px,0) scaleY(.35)}30%{opacity:1}70%{opacity:1;transform:translate3d(1px,10px,0) scaleY(1.15)}100%{opacity:0;transform:translate3d(2px,25px,0) scale(.4)}}
@keyframes sfFxElectricJump{0%,70%,100%{opacity:0;transform:translate3d(0,0,0) rotate(0) scale(.5)}72%{opacity:1;transform:translate3d(-8px,-7px,0) rotate(-14deg) scale(1)}75%{opacity:.1}78%{opacity:1;transform:translate3d(8px,5px,0) rotate(14deg) scale(.85)}81%{opacity:0}84%{opacity:.9;transform:translate3d(1px,-3px,0) rotate(-4deg) scale(1.15)}}
@keyframes sfFxStardustDrift{0%,100%{opacity:0;transform:translate3d(-18px,12px,0) rotate(0) scale(.2)}18%{opacity:.9}52%{opacity:.75;transform:translate3d(1px,-3px,0) rotate(120deg) scale(1)}80%{opacity:.12;transform:translate3d(20px,-16px,0) rotate(250deg) scale(.45)}}
@keyframes sfFxAuroraMote{0%,100%{opacity:.05;transform:translate3d(-13px,7px,0) scaleX(.5)}25%{opacity:.85;transform:translate3d(1px,-7px,0) scaleX(1.5)}58%{opacity:.35;transform:translate3d(15px,4px,0) scaleX(.7)}80%{opacity:.7;transform:translate3d(-4px,10px,0) scaleX(1.2)}}
@keyframes sfFxEmberRainDown{0%{opacity:0;transform:translate3d(0,-19px,0) rotate(0) scale(.5)}16%{opacity:1}100%{opacity:0;transform:translate3d(4px,24px,0) rotate(180deg) scale(.25)}}
@keyframes sfFxRadialSurge{0%,30%{opacity:0;transform:translate3d(0,0,0) scaleX(.2)}42%{opacity:1}100%{opacity:0;transform:translate3d(var(--fx-x),var(--fx-y),0) rotate(var(--fx-r)) scaleX(1.4)}}
@keyframes sfFxPixelBurst{0%,35%,100%{opacity:0;transform:translate3d(0,0,0) scale(.3)}42%{opacity:1}75%{opacity:.85;transform:translate3d(var(--fx-x),var(--fx-y),0) scale(1)}82%{opacity:0}}
@keyframes sfFxRain{0%{opacity:0;transform:translate3d(-3px,-22px,0)}12%{opacity:.8}100%{opacity:0;transform:translate3d(6px,26px,0)}}
@keyframes sfFxVoidPulse{0%,100%{filter:drop-shadow(0 0 3px #382478) brightness(.9)}50%{filter:drop-shadow(0 0 8px #7b5bed) brightness(1.2)}}
@keyframes sfFxSoulPulse{0%,100%{filter:drop-shadow(0 0 3px #32794c)}50%{filter:drop-shadow(0 0 9px #78c968)}}

/* New effects with particles must explicitly expose their particle layer. */
.effect-meteor_shower .name-fx-particles,.effect-constellation .name-fx-particles,.effect-pixel_burst .name-fx-particles,.effect-petal_storm .name-fx-particles,.effect-spore_cloud .name-fx-particles,.effect-crystal_shards .name-fx-particles,.effect-rainstorm .name-fx-particles,.effect-plasma_orbit .name-fx-particles,.effect-firestorm .name-fx-particles,.effect-moon_motes .name-fx-particles,.effect-event_horizon .name-fx-particles,.effect-dragonfire .name-fx-particles,.effect-celestial_crown .name-fx-particles,.effect-serpent_soul .name-fx-particles{display:block!important}

/* --------------------------------------------------------------------------
   Badge Materials II — no diagonal/diamond holo transition. Holo now moves
   laterally through layered spectral bands; animated sparkle materials use
   pseudo-element micro-particles contained inside the selected badge frame.
   -------------------------------------------------------------------------- */
.badge-finish-holo{background:linear-gradient(100deg,#ff84aa 0%,#ffd66b 17%,#7bf0c9 34%,#72c5ff 51%,#a783ff 68%,#f18cdf 84%,#ff84aa 100%)!important;background-size:360% 100%!important;background-position:0 50%!important;animation:sfBadgeSpectralSweep 7.2s linear infinite!important}
.badge-finish-holo::before{background:linear-gradient(105deg,transparent 0 34%,rgba(255,255,255,.7) 46%,rgba(255,255,255,.15) 53%,transparent 65%)!important;background-size:280% 100%!important;animation:sfBadgeSheen 4.8s ease-in-out infinite!important}
.badge-finish-holo::after,.badge-finish-starlight::after,.badge-finish-glitter::after,.badge-finish-prism::after,.badge-finish-galaxy::after,.badge-finish-reactive::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 18% 24%,#fff 0 1px,transparent 1.7px),radial-gradient(circle at 72% 18%,#fff 0 1.2px,transparent 1.9px),radial-gradient(circle at 46% 76%,#fff 0 1px,transparent 1.7px),radial-gradient(circle at 86% 62%,#fff 0 .9px,transparent 1.6px);background-size:100% 100%;opacity:.15;animation:sfBadgeSparkles 3.2s ease-in-out infinite}
.badge-finish-aurora{background:linear-gradient(110deg,#142f36,#42c994,#59c9eb,#8068dc,#cf76bf,#42c994,#142f36)!important;background-size:430% 100%!important;animation:sfBadgeSpectralSweep 8.2s ease-in-out infinite!important;color:#f4ffff;text-shadow:0 0 5px #89ffe3}
.badge-finish-prism{background:linear-gradient(100deg,#ff5d83,#ffbc52,#fff06b,#59e5a6,#4dc5ff,#8f69ff,#e764d6,#ff5d83)!important;background-size:470% 100%!important;animation:sfBadgeSpectralSweep 5.2s linear infinite!important;color:#19141c;text-shadow:0 1px #fff9}
.badge-finish-galaxy{background:radial-gradient(circle at 28% 32%,rgba(102,117,255,.85),transparent 20%),radial-gradient(circle at 74% 68%,rgba(225,87,255,.65),transparent 24%),linear-gradient(135deg,#090b1a,#18285a 45%,#351454)!important;color:#e9e9ff;text-shadow:0 0 6px #8298ff;box-shadow:inset 0 0 18px #8794ff25,0 0 12px #6540b52e}
.badge-finish-venom{background:linear-gradient(135deg,#061008,#174c22,#55d739,#d7ff55,#259934,#061008)!important;background-size:300% 100%!important;animation:sfBadgeSpectralSweep 6.2s ease-in-out infinite!important;color:#ebffd9;text-shadow:0 0 6px #62ff48;box-shadow:inset 0 0 15px #55ff4435,0 0 12px #4eff3d2d}
.badge-finish-inferno{background:radial-gradient(circle at 50% 115%,#fff092 0 13%,#ff9d28 28%,#e3401f 48%,#5d1517 73%,#1a0a0b 100%)!important;color:#fff0c4;text-shadow:0 0 5px #ff932b;animation:sfBadgeHeat 3.4s ease-in-out infinite!important}
.badge-finish-ocean{background:linear-gradient(115deg,#071c32,#0d6380,#31c6c9,#9df5e5,#288fb5,#071c32)!important;background-size:350% 100%!important;animation:sfBadgeSpectralSweep 7.4s ease-in-out infinite!important;color:#e8ffff;text-shadow:0 0 5px #5fe7e5}
.badge-finish-emerald{background:radial-gradient(circle at 50% 45%,#b7f690 0 5%,#3ca65e 35%,#18563b 64%,#0a211b 100%)!important;color:#f0ffe8;text-shadow:0 0 6px #85e475;animation:sfBadgePulse 2.8s ease-in-out infinite!important}
.badge-finish-rose{background:linear-gradient(135deg,#5f3342,#b7677c,#f0c5c6,#fff0da,#c77c85,#5f3342)!important;background-size:320% 100%!important;animation:sfBadgeSpectralSweep 8.6s ease-in-out infinite!important;color:#371d24;text-shadow:0 1px #fff8}
.badge-finish-starlight{background:radial-gradient(circle at 52% 48%,#7385d8,#222b60 48%,#090b16 100%)!important;color:#fff;text-shadow:0 0 7px #b7c8ff;box-shadow:inset 0 0 18px #9caeff35,0 0 13px #7f8cff27}
.badge-finish-starlight::after{opacity:.75!important;animation-duration:2.6s!important}
.badge-finish-glitter{background:linear-gradient(110deg,color-mix(in srgb,var(--art-a) 78%,#37223e),color-mix(in srgb,var(--art-b) 70%,#1a1b28),color-mix(in srgb,var(--art-a) 65%,#8a6d38))!important;color:#fff;text-shadow:0 0 5px #fff7}
.badge-finish-glitter::after{opacity:.9!important;background-image:radial-gradient(circle at 12% 20%,#fff 0 1.5px,transparent 2.3px),radial-gradient(circle at 38% 74%,#ffeaa3 0 1.3px,transparent 2px),radial-gradient(circle at 68% 24%,#fff 0 1.2px,transparent 2px),radial-gradient(circle at 84% 70%,#d8f6ff 0 1.5px,transparent 2.2px),radial-gradient(circle at 54% 46%,#fff 0 .9px,transparent 1.6px)!important;animation:sfBadgeGlitter 2s steps(5,end) infinite!important}
.badge-finish-reactive{background:linear-gradient(90deg,#ff3e69,#ffb037,#67e665,#43c8ff,#8a64ff,#ef54cd,#ff3e69)!important;background-size:520% 100%!important;animation:sfBadgeReactive 3.5s linear infinite!important;color:#fff;text-shadow:0 1px 2px #0008,0 0 6px #fff5}
.badge-finish-reactive::after{opacity:.4!important}
.badge-finish-void{background:radial-gradient(circle at 50% 50%,#5a3a8d 0 5%,#17132e 32%,#050609 72%)!important;color:#d8c7ff;text-shadow:0 0 7px #7b5bdd;box-shadow:inset 0 0 20px #6b50b04a,0 0 15px #3f2b6c30;animation:sfBadgeVoid 4s ease-in-out infinite!important}
.badge-finish-aurora>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-prism>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-galaxy>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-rose>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-starlight>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-glitter>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-reactive>.badge-symbol-image:not(.badge-symbol-preserve){filter:brightness(0) invert(1)!important;opacity:.9}
@keyframes sfBadgeSpectralSweep{0%{background-position:0 50%}100%{background-position:360% 50%}}
@keyframes sfBadgeSheen{0%,35%{background-position:220% 50%}70%,100%{background-position:-120% 50%}}
@keyframes sfBadgeSparkles{0%,100%{opacity:.12;transform:scale(.96) rotate(0)}45%{opacity:.75;transform:scale(1.03) rotate(2deg)}70%{opacity:.25}}
@keyframes sfBadgeGlitter{0%,100%{opacity:.35;transform:translate3d(0,0,0)}20%{opacity:.95;transform:translate3d(1px,-1px,0)}40%{opacity:.25}60%{opacity:.85;transform:translate3d(-1px,1px,0)}80%{opacity:.45}}
@keyframes sfBadgeReactive{0%{background-position:0 50%;filter:hue-rotate(0deg)}100%{background-position:520% 50%;filter:hue-rotate(360deg)}}
@keyframes sfBadgeHeat{0%,100%{filter:brightness(.9) saturate(1)}50%{filter:brightness(1.2) saturate(1.3)}}
@keyframes sfBadgePulse{0%,100%{filter:brightness(.9);box-shadow:inset 0 0 18px #70d47f25,0 0 8px #55c27022}50%{filter:brightness(1.18);box-shadow:inset 0 0 22px #a2ef8d45,0 0 16px #70d47f44}}
@keyframes sfBadgeVoid{0%,100%{filter:brightness(.88)}50%{filter:brightness(1.18) drop-shadow(0 0 5px #7254c0)}}

/* Layout QA: children may shrink instead of forcing cards/pages wider than their panel. */
:where(.page-shell,.community-shell,.layout-grid,.main-column,.side-column,.panel,.forum-category,.new-topic,.reply-box,.profile-card,.profile-hero,.profile-columns,.thread-post,.post-body,.post-author,.modern-topic-head,.editorial-layout,.editorial-article,.saved-share-grid,.saved-folder-settings,.personal-feed-list,.activity-card,.event-card,.club-card,.ticket-row,.message-layout,.messages-layout,.friend-row,.notification-row)>*{min-width:0}
:where(.page-shell,.community-shell,.panel,.post-body,.editorial-body,.rich-content,.profile-card,.notification-row,.ticket-row,.friend-row){overflow-wrap:anywhere}
:where(.page-shell,.community-shell) img,:where(.page-shell,.community-shell) video,:where(.page-shell,.community-shell) canvas{max-width:100%;height:auto}
:where(.page-shell,.community-shell) iframe{max-width:100%}
:where(.page-shell,.community-shell) input:not([type=checkbox]):not([type=radio]),:where(.page-shell,.community-shell) textarea,:where(.page-shell,.community-shell) select{max-width:100%;min-width:0}
.rich-content pre,.editorial-body pre{max-width:100%;overflow:auto;white-space:pre}.rich-content table,.editorial-body table{max-width:100%}
@media(max-width:720px){.sf-top{gap:12px}.account{min-width:0}.user-chip{min-width:0;max-width:42vw}.user-chip b,.user-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert,.panel-head,.section-title,.topic-head{gap:10px;flex-wrap:wrap}.thread-children{max-width:100%}}

/* Accessibility / performance: keep the visual personality but stop hidden effects from consuming paint. */
.player-identity:not(:hover):not(:focus-within) .name-fx-particles i{content-visibility:auto}
@media(prefers-reduced-motion:reduce){
  html:not([data-identity-motion="full"]) .badge-art{animation:none!important}
  html:not([data-identity-motion="full"]) .badge-art::before,html:not([data-identity-motion="full"]) .badge-art::after{animation:none!important}
}
html[data-identity-motion="reduced"] .badge-art,html[data-identity-motion="reduced"] .badge-art::before,html[data-identity-motion="reduced"] .badge-art::after{animation:none!important}
.badge-finish-chameleon{background:linear-gradient(100deg,var(--art-a),color-mix(in srgb,var(--art-a) 45%,#71ffb6),var(--art-b),color-mix(in srgb,var(--art-b) 52%,#8c7dff),var(--art-a))!important;background-size:430% 100%!important;animation:sfBadgeChameleon 5.4s ease-in-out infinite!important;color:#fff;text-shadow:0 1px 2px #0008,0 0 5px currentColor}
.badge-finish-sparkstorm{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--art-a) 70%,#fff),color-mix(in srgb,var(--art-b) 50%,#15151f) 48%,#08090d 100%)!important;color:#fff;text-shadow:0 0 6px #fff8;box-shadow:inset 0 0 18px color-mix(in srgb,var(--art-a) 35%,transparent),0 0 15px color-mix(in srgb,var(--art-b) 28%,transparent)}
.badge-finish-sparkstorm::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle at 10% 18%,#fff 0 1.4px,transparent 2px),radial-gradient(circle at 28% 72%,var(--art-b) 0 1.6px,transparent 2.4px),radial-gradient(circle at 51% 30%,#fff5a8 0 1.3px,transparent 2.1px),radial-gradient(circle at 72% 82%,#fff 0 1.4px,transparent 2.2px),radial-gradient(circle at 89% 42%,var(--art-a) 0 1.6px,transparent 2.4px);animation:sfBadgeSparkStorm 1.8s steps(6,end) infinite}
.badge-finish-chameleon>.badge-symbol-image:not(.badge-symbol-preserve),.badge-finish-sparkstorm>.badge-symbol-image:not(.badge-symbol-preserve){filter:brightness(0) invert(1)!important;opacity:.92}
@keyframes sfBadgeChameleon{0%{background-position:0 50%;filter:hue-rotate(0deg)}50%{filter:hue-rotate(55deg) brightness(1.14)}100%{background-position:430% 50%;filter:hue-rotate(0deg)}}
@keyframes sfBadgeSparkStorm{0%,100%{opacity:.18;transform:rotate(0) scale(.96)}20%{opacity:1;transform:rotate(3deg) scale(1.04)}38%{opacity:.2}58%{opacity:.88;transform:rotate(-3deg) scale(1)}78%{opacity:.32}}
.fx-paused .rank-name,.fx-paused .name-fx-particles i,.sf-page-hidden .player-identity .rank-name,.sf-page-hidden .player-identity .name-fx-particles i,.sf-page-hidden .badge-art,.sf-page-hidden .badge-art::before,.sf-page-hidden .badge-art::after{animation-play-state:paused!important}

/* v28.5.20 — every chat identity stays readable, including new department roles. */
.chat-message header .player-identity{max-width:min(100%,34rem);opacity:1!important;visibility:visible!important}
.chat-message header .player-identity .rank-name{min-width:1ch;max-width:100%;opacity:1!important;visibility:visible!important;white-space:nowrap;overflow:visible;text-overflow:clip}
.chat-message header .player-identity.effect-none .rank-name{background:none!important;color:var(--role-a,#9c64cc)!important;-webkit-text-fill-color:var(--role-a,#9c64cc)!important}
.chat-message header .player-identity:not(.effect-none) .rank-name{-webkit-text-fill-color:initial}
.chat-message header .player-identity:is(.effect-gradient_shift,.effect-founder_scroll,.effect-aurora_flow,.effect-rainbow_cycle,.effect-prismatic,.effect-sunset_flow,.effect-ocean_wave,.effect-forest_shimmer,.effect-candy_scroll,.effect-galaxy,.effect-holographic,.effect-gold_shine,.effect-silver_shine,.effect-bronze_shine,.effect-royal_sparkle,.effect-prismatic_sparkle,.effect-cosmic_dust,.effect-ember_scroll) .rank-name{-webkit-text-fill-color:transparent}
/* Keep animated badge sheen/spark layers inside the badge stacking context. */
.badge-finish-holo::before,.badge-finish-aurora::before,.badge-finish-prism::before,.badge-finish-galaxy::before,.badge-finish-starlight::before,.badge-finish-glitter::before,.badge-finish-reactive::before,.badge-finish-chameleon::before,.badge-finish-sparkstorm::before{z-index:0!important}
/* v28.5.3 — skip paint/layout work for long off-screen collections until needed. */
:where(.forum-topic-row,.thread-post,.badge-catalog-card,.directory-profile-card,.notification-row,.activity-card,.saved-item,.content-card,.guide-shelf-card,.devlog-log-entry,.announcement-history,.editorial-card){content-visibility:auto;contain-intrinsic-size:auto 180px}
@media(max-width:700px){:where(.thread-post,.forum-topic-row,.notification-row,.activity-card,.saved-item){contain-intrinsic-size:auto 220px}}
