:root{color-scheme:dark;--bg:#090d0f;--surface:#12191d;--surface-2:#182126;--line:#29343b;--muted:#99a8af;--text:#eef2ef;--accent:#ff6639;--accent-soft:#ff663914;--gold:#f0ba70;--green:#7bd3ac;--red:#ff8490;--side:216px;font-family:"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%}button[hidden],[hidden]{display:none!important}button:disabled{opacity:.45;cursor:default}::selection{background:var(--accent);color:#080d0f}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex:none}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15}h1{font-family:Bahnschrift,"Arial Narrow",Arial,sans-serif;font-weight:800;font-size:44px;letter-spacing:-.035em}h2{font-size:22px;letter-spacing:-.02em}h3{font-size:17px}small{font-size:12px}input,select,textarea{width:100%;color:var(--text);background:#0c1215;border:1px solid #35434b;border-radius:6px;padding:11px 13px;min-height:43px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#7c8d95}label{color:#c5cfd3}hr{border:0;border-top:1px solid var(--line);margin:12px 0}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.metric-number{font-family:Bahnschrift,"Segoe UI",sans-serif;font-weight:700;font-variant-numeric:tabular-nums}.accent{color:var(--accent)}.ok{color:var(--green)}.negative{color:var(--red)}
.review-bar{height:32px;padding:0 24px;display:flex;justify-content:space-between;align-items:center;background:#222b30;color:#aeb9be;font-size:9px;letter-spacing:.1em;position:sticky;top:0;z-index:60}.review-bar b{padding:0 8px;color:var(--accent)}.review-bar>div{display:flex;gap:20px}.review-bar label{display:flex;align-items:center;gap:7px;cursor:pointer;letter-spacing:0;font-size:11px}.review-bar input{width:13px;height:13px;min-height:0;accent-color:var(--accent);padding:0;margin:0}
.topbar{height:72px;position:sticky;top:32px;z-index:50;display:flex;align-items:center;border-bottom:1px solid var(--line);background:#0c1115f5;backdrop-filter:blur(12px);padding-right:28px}.brand{width:var(--side);flex:none;display:flex;align-items:center;gap:9px;padding:0 21px}.brand-symbol{width:42px;height:35px;object-fit:contain}.brand-word{width:114px;max-height:30px;object-fit:contain}.top-context{display:flex;align-items:center;gap:14px;white-space:nowrap;font-size:12px;color:var(--muted);padding-left:30px}.top-context strong{font-weight:550;color:var(--text)}.context-slash{color:#425058}.top-actions{margin-left:auto;display:flex;gap:19px;align-items:center}.home-link{font-size:12px;display:flex;align-items:center;gap:7px;color:#b1bec4}.home-link svg{width:13px;height:13px}.home-link:hover{color:var(--text)}.wallet{background:none;border:0;border-left:1px solid var(--line);text-align:left;padding:0 0 0 19px;display:grid;gap:1px}.wallet-label{font-size:9px;color:var(--muted);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.wallet strong{font-size:16px;line-height:1.3;display:flex;align-items:center;gap:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.wallet strong i{display:inline-flex;color:var(--accent);background:var(--accent-soft);width:23px;height:23px;align-items:center;justify-content:center;border-radius:4px}.wallet strong i svg{width:14px;height:14px}.wallet-mobile-label{display:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--line);border-radius:6px;position:relative}.icon-btn:hover{background:var(--surface-2);border-color:#53616a}.mail-shortcut{border:0}.notify-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);position:absolute;right:6px;top:5px}.account-trigger{border:0;background:none;display:flex;align-items:center;gap:11px;padding:0}.account-name{font-size:12px;font-weight:700}.account-trigger>span:last-child svg{width:13px;height:13px;color:var(--muted)}.mini-avatar,.avatar{display:flex;align-items:center;justify-content:center;flex:none;font-weight:750;color:var(--gold);border:1px solid #745335;background:#30251c}.mini-avatar{width:34px;height:34px;font-size:11px;border-radius:7px}.avatar{width:43px;height:43px;border-radius:7px;font-size:14px}.account-popover{position:absolute;right:24px;top:63px;width:258px;padding:13px;background:#141c21;border:1px solid #3b4952;border-radius:8px;box-shadow:0 16px 50px #0008}.account-id{display:grid;gap:3px;padding:8px 9px 12px}.account-id span{color:var(--muted);font-size:11px}.account-popover button{display:flex;gap:10px;align-items:center;background:none;border:0;width:100%;padding:12px 9px;text-align:left;font-size:12px;border-radius:4px}.account-popover button svg{width:16px;height:16px;color:var(--muted)}.account-popover button:hover{background:#243039}
.sidebar{position:fixed;top:104px;bottom:0;left:0;width:var(--side);padding:18px 12px 0;background:#0e1418;border-right:1px solid var(--line);z-index:35;display:flex;flex-direction:column}.nav-group{margin-bottom:19px}.nav-group-label{padding:4px 14px 7px;color:#617780;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.sidebar nav{overflow:auto;scrollbar-width:thin;scrollbar-color:#2d3c45 transparent}.nav-link{display:flex;align-items:center;gap:11px;width:100%;min-height:40px;padding:9px 13px;border:0;background:none;text-align:left;color:#a9b6bc;border-radius:5px;font-size:12px}.nav-link svg{width:17px;height:17px;color:#6f868f}.nav-link:hover{background:#172229;color:#fff}.nav-link.active{background:#ff663913;color:#ff916f;box-shadow:inset 2px 0 0 var(--accent)}.nav-link.active svg{color:var(--accent)}.nav-link .nav-count{margin-left:auto;border-radius:3px;background:#28353c;padding:0 5px;color:#d4dbde;font-size:10px}.sidebar-bottom{margin-top:auto;padding:16px 9px}.sidebar-bottom>a{display:flex;align-items:center;gap:10px;color:#b7c3c8;font-size:11px;padding:14px 0;border-top:1px solid var(--line)}.sidebar-bottom>a>span:nth-child(2){flex:1}.sidebar-bottom small{display:block;color:#5e737d;font-size:10px}.sidebar-bottom>a svg{width:15px;height:15px}.beta-label{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:.13em;color:#59737d;padding:8px 0 12px}.beta-label>span{background:var(--green);border-radius:50%;width:4px;height:4px}
.workspace{margin-left:var(--side);min-height:calc(100svh - 104px);padding:30px 34px 0;display:flex;flex-direction:column}.content{width:100%;max-width:1320px;margin:0 auto;flex:1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head .eyebrow{margin-bottom:8px}.page-head p:not(.eyebrow){color:var(--muted);font-size:13px;max-width:700px;margin-top:10px}.page-actions{display:flex;gap:8px}.surface{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:21px}.section-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:19px}.section-top h2{font-size:17px}.section-top a,.section-top button:not(.btn){font-size:11px;color:var(--muted);background:none;border:0}.section-top a:hover,.section-top button:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:41px;padding:10px 16px;border:1px solid #3b4952;border-radius:5px;background:#19242b;color:var(--text);font-weight:650;font-size:12px;white-space:nowrap;transition:background .15s,border-color .15s}.btn svg{width:16px;height:16px}.btn:hover{background:#24323b;border-color:#667680}.btn.primary{background:var(--accent);color:#0e1112;border-color:var(--accent)}.btn.primary:hover{background:#ff825b;border-color:#ff825b}.btn.quiet{background:transparent}.btn.small{min-height:32px;padding:5px 11px;font-size:11px}.btn.wide{width:100%}.btn.danger{color:var(--red)}.pill{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;font-size:9px;font-weight:750;letter-spacing:.06em;border:1px solid var(--line);border-radius:4px;white-space:nowrap}.pill.orange{color:#ff9678;background:var(--accent-soft);border-color:#84412b}.pill.green{color:var(--green);background:#7bd3ac0c;border-color:#2b5143}.pill.gold{color:var(--gold);border-color:#705132}.meta-row{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px}.two-columns{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:25px 0;overflow:auto;scrollbar-width:none}.tabs button{position:relative;white-space:nowrap;border:0;background:none;color:var(--muted);font-size:12px;font-weight:650;padding:0 0 15px}.tabs button.active{color:var(--text)}.tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}.tabs .count{margin-left:5px;color:#6c828d;font-size:10px}.empty-state{padding:34px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;color:var(--muted);min-height:170px}.empty-state>svg{width:28px;height:28px;color:#526d79;margin-bottom:6px}.empty-state h3{color:var(--text);font-size:16px}.empty-state p{max-width:430px;font-size:12px}.empty-state .btn{margin-top:10px}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;max-width:1320px;margin:45px auto 0;padding:23px 0;border-top:1px solid var(--line);font-size:10px;color:#70858f}.footer>a{color:#a3b4bd;font-weight:650;white-space:nowrap}.footer>div{display:flex;gap:14px}.footer button{border:0;background:none;padding:0;color:inherit;font-size:inherit}.footer a:hover,.footer button:hover{color:var(--text)}.mobile-nav{display:none}
.profile-cover{position:relative;overflow:hidden;min-height:248px;border-radius:8px;border:1px solid #3b403b;background:#142025}.profile-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10191eee 0%,#10191edd 34%,#10191e33 80%),linear-gradient(0deg,#10191ef2,transparent 60%),url("/shared/assets/portal-v2/squad.png") center 46%/cover}.cover-body{position:relative;padding:30px;max-width:64%}.cover-top{display:flex;align-items:center;gap:14px;margin-bottom:22px}.profile-avatar{width:54px;height:54px;font-size:20px;color:#f4d1a1;border-color:#b08248;border-radius:9px;background:linear-gradient(135deg,#715030,#382c22)}.cover-title{font-size:49px;font-family:Bahnschrift,"Segoe UI",sans-serif;letter-spacing:-.035em;line-height:1.1;margin-bottom:13px}.cover-info{display:flex;flex-wrap:wrap;gap:15px;font-size:11px;color:#bbc7cb}.cover-info span{display:flex;align-items:center;gap:6px}.cover-info svg{width:14px;height:14px}.cover-actions{position:absolute;right:18px;top:18px;display:flex;gap:8px}.cover-actions .btn{background:#0c151ac9;min-height:35px;font-size:11px;backdrop-filter:blur(8px)}.cover-bottom{position:absolute;right:20px;bottom:20px;font-size:9px;letter-spacing:.16em;color:#f0e5d3d0;display:flex;gap:12px;align-items:center}.cover-bottom i{height:1px;width:28px;background:var(--accent)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:8px;margin-bottom:20px;background:var(--surface)}.metric{padding:19px 23px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric-label{color:var(--muted);font-size:10px;letter-spacing:.07em;font-weight:650}.metric-value{font:700 33px/1.2 Bahnschrift,"Segoe UI",sans-serif;margin:7px 0 3px}.metric-note{font-size:10px;color:#6f8894}.rank-line{display:flex;align-items:center;gap:15px}.rank-emblem{display:flex;align-items:center;justify-content:center;width:55px;height:60px;background:#f0ba7010;border:1px solid #675238;border-radius:6px;color:var(--gold)}.rank-emblem svg{width:31px;height:31px}.rank-line h3{font-size:16px;margin-bottom:5px}.rank-line small{color:var(--muted)}.rank-progress{margin:20px 0 11px;height:5px;border-radius:4px;background:#29383f;overflow:hidden}.rank-progress span{display:block;height:100%;background:var(--accent);width:64%}.progress-notes{display:flex;justify-content:space-between;font-size:10px;color:#a4b4bd;gap:15px}.progress-notes b{color:var(--text);font-weight:650}.profile-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:18px}.profile-grid>.surface{min-width:0}.collection-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-item{border:1px solid #2e3c43;border-radius:6px;background:#0e161b;padding:9px 10px;text-align:left;min-width:0}.mini-item img{height:64px;width:100%;object-fit:contain}.mini-item span{font-size:9px;display:block;color:#b5c0c5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:8px}.mini-item:hover{border-color:var(--accent)}.activity-list{display:grid;gap:0}.activity-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--line)}.activity-row:first-child{padding-top:0;border-top:0}.activity-symbol{width:33px;height:33px;display:flex;align-items:center;justify-content:center;color:var(--muted);background:#223039;border-radius:5px}.activity-row strong{display:block;font-size:12px;font-weight:600}.activity-row small{color:var(--muted);font-size:10px}.activity-row time{font-size:10px;color:#79909c;margin-left:auto;white-space:nowrap}.team-strip{display:flex;align-items:center;gap:15px;padding-bottom:17px;border-bottom:1px solid var(--line);margin-bottom:17px}.team-emblem{width:45px;height:45px;display:flex;align-items:center;justify-content:center;background:#ff66391a;border:1px solid #784d3b;border-radius:6px;font-family:Bahnschrift;font-size:23px;color:#ffa079}.team-strip h3{font-size:16px}.team-strip small{color:var(--muted)}.profile-grid .surface+.surface{margin-top:0}.stack{display:grid;gap:18px}.stack>.surface{min-width:0}.status-card{display:flex;gap:13px;align-items:start;padding:15px 18px;border-radius:6px;border:1px solid #314550;background:#14232c;color:#aebdc5;font-size:12px;margin-bottom:20px}.status-card svg{color:#7e9caa;margin-top:3px}.status-card strong{color:#dbe5e9;display:block;font-size:13px;margin-bottom:3px}.profile-inventory-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.profile-inventory-toolbar span{font-size:12px;color:var(--muted)}
.feature-banner{position:relative;min-height:166px;overflow:hidden;border:1px solid #3c463f;border-radius:8px;padding:25px 28px;margin-bottom:22px;background:#192327}.feature-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10191e,#10191ece 38%,#10191e24),url("/shared/assets/portal-v2/tactical.png") 70% 40%/cover}.feature-banner>*{position:relative}.feature-banner .eyebrow{margin-bottom:8px}.feature-banner h2{font:750 31px/1.1 Bahnschrift,"Segoe UI",sans-serif;letter-spacing:-.02em;margin-bottom:13px}.feature-banner p{font-size:12px;color:#c7d0d0;max-width:450px}.feature-banner .btn{margin-top:15px}.feature-banner>.feature-number{position:absolute;right:20px;bottom:13px;font-size:10px;letter-spacing:.18em;color:#dbcab1}.catalog-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:19px}.search-field{display:flex;align-items:center;background:#111a20;border:1px solid #36434b;border-radius:6px;padding-left:12px;flex:1;min-width:0}.search-field svg{color:#7d94a0;width:17px}.search-field input{border:0;background:none;min-height:44px}.catalog-sort{width:188px;background:#111a20}.category-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.category-chips button{background:#152027;border:1px solid #293c45;border-radius:5px;padding:7px 12px;font-size:11px;color:#a0b4bf}.category-chips button.active{background:var(--accent-soft);color:#ffa180;border-color:#9c4f33}.results-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:11px;color:var(--muted)}.results-line .grid-tools{display:flex;gap:6px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.product-card{border:1px solid #2c3a41;background:#131c21;border-radius:7px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:border-color .15s,transform .15s}.product-card:hover{border-color:#63727b;transform:translateY(-2px)}.product-image{position:relative;min-height:155px;width:100%;border:0;background:radial-gradient(ellipse at 50% 70%,#30495177,transparent 65%),linear-gradient(140deg,#1c2a30,#10171c);display:flex;justify-content:center;align-items:center;padding:23px 15px}.product-image img{width:100%;max-width:230px;height:111px;object-fit:contain;filter:drop-shadow(0 9px 8px #0007)}.product-image.portrait img{max-width:130px;height:140px;object-position:50% 15%}.product-image .pill{position:absolute;top:10px;left:10px;font-size:8px;padding:2px 5px;background:#141b20}.product-image .inventory-owned{position:absolute;right:10px;top:10px;color:var(--green)}.product-image .inventory-owned svg{width:14px;height:14px}.product-body{padding:14px;flex:1;display:flex;flex-direction:column}.product-category{font-size:9px;color:#7f96a2;margin-bottom:6px}.product-name{font-size:13px;font-weight:650;line-height:1.4;min-height:37px;overflow-wrap:anywhere}.product-term{font-size:10px;color:var(--muted);margin-top:9px;display:flex;align-items:center;gap:5px}.product-term svg{width:12px;height:12px}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line)}.product-price{font-size:18px;font-weight:750;letter-spacing:-.02em;white-space:nowrap}.product-price small{font-size:9px;color:#a0b1b8;letter-spacing:.07em;margin-left:3px}.product-footer .btn{min-height:32px;padding:6px 10px;font-size:10px}.cart-count{background:var(--accent);color:#131719;min-width:15px;text-align:center;font-size:9px;border-radius:3px;padding:0 3px}.product-offers{font-size:10px;color:var(--muted);margin-top:8px}.sell-info{display:flex;gap:13px;justify-content:space-between;padding:17px 19px;border:1px solid #354951;background:#132027;border-radius:6px;font-size:12px;margin-bottom:22px}.sell-info strong{font-weight:650}.sell-info p{color:#9ab0bb;margin-top:4px;font-size:11px}.trade-profit{display:grid;gap:10px;background:#0b1419;border:1px solid var(--line);border-radius:6px;padding:17px;margin:20px 0}.trade-profit>div{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.trade-profit>div:last-child{border-top:1px solid var(--line);padding-top:12px;color:var(--text);font-size:15px}.trade-profit b{color:var(--text)}
.event-hero{display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden;background:var(--surface);border:1px solid #3d4549;border-radius:8px;margin-bottom:22px}.event-art{position:relative;min-height:285px;background:linear-gradient(0deg,#071117ee,transparent 60%),url("/shared/assets/portal-v2/tactical.png") center/cover;display:flex;align-items:flex-end;padding:25px}.event-art .event-mark{font:850 54px/.96 Bahnschrift,"Arial Narrow",sans-serif;letter-spacing:-.025em;text-shadow:0 3px 18px #000;max-width:390px}.event-art .event-mark em{display:block;color:var(--accent);font-style:normal}.event-details{padding:27px}.event-details h2{font-size:24px;margin:13px 0 17px}.event-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 18px;margin:22px 0}.event-facts small{font-size:10px;color:var(--muted);display:block;margin-bottom:4px}.event-facts strong{font-size:13px}.event-details>p{color:var(--muted);font-size:12px}.event-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.event-card{padding:22px}.event-card h3{margin:15px 0 8px;font-size:18px}.event-card p{color:var(--muted);font-size:12px;margin-bottom:20px}.event-card-foot{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#a6bac4}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;color:#76909e;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:750;padding:12px 15px;background:#152128}.data-table td{padding:15px;border-bottom:1px solid var(--line)}.data-table tr:last-child td{border:0}.data-table tbody tr:hover{background:#1b293155}.data-table .number{text-align:right;font-variant-numeric:tabular-nums}.data-table .selected-number{color:var(--gold);font-weight:700}.table-wrap{border:1px solid var(--line);border-radius:6px;overflow:auto}.table-user{display:flex;gap:12px;align-items:center}.table-user .avatar{width:31px;height:31px;font-size:10px}.wizard-steps{display:flex;gap:4px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.wizard-steps span{flex:1;color:#6c8795;font-size:10px;display:flex;align-items:center;gap:7px}.wizard-steps b{display:flex;align-items:center;justify-content:center;width:21px;height:21px;border:1px solid #415663;border-radius:4px;font-size:10px}.wizard-steps .active{color:var(--text)}.wizard-steps .active b{background:var(--accent);color:#101315;border-color:var(--accent)}.form-grid{display:grid;gap:17px}.form-grid label{font-size:11px;display:grid;gap:7px}.form-grid .inline{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wizard-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding-top:19px;margin-top:25px}.review-line{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line);font-size:12px}.review-line span{color:var(--muted)}
.drawer,.modal{margin:auto;color:var(--text);background:#131b20;border:1px solid #40515c;border-radius:10px;padding:0;box-shadow:0 30px 80px #0008}.drawer{margin:0 0 0 auto;position:fixed;top:0;bottom:0;right:0;max-height:100svh;width:min(565px,100%);height:100svh;border-radius:0;border-right:0;max-width:100%;overflow:auto}.drawer::backdrop,.modal::backdrop{background:#040a0dd0;backdrop-filter:blur(4px)}.modal{width:min(650px,calc(100% - 32px));max-height:90svh;overflow:auto}.dialog-inner{padding:27px}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:23px}.dialog-head .eyebrow{margin-bottom:6px}.dialog-head h2{font-size:23px}.dialog-head .icon-btn{flex:none}.item-large-visual{height:220px;background:radial-gradient(ellipse,#35515e77,transparent 68%),#0e181f;border:1px solid #304550;border-radius:7px;display:flex;align-items:center;justify-content:center;margin:20px 0}.item-large-visual img{max-width:360px;width:85%;max-height:190px;object-fit:contain;filter:drop-shadow(0 13px 15px #000a)}.item-large-visual img.portrait{max-width:150px;max-height:205px}.description{font-size:13px;color:var(--muted);margin:17px 0;line-height:1.7}.bonus-list{list-style:none;padding:0;margin:17px 0 24px;display:grid;gap:11px}.bonus-list li{font-size:12px;display:flex;gap:9px;color:#cbd7dc}.bonus-list svg{color:var(--gold);width:15px;height:15px;margin-top:2px}.periods{display:flex;gap:8px;margin:14px 0 25px}.periods button{flex:1;text-align:left;padding:12px;background:#0e161c;border:1px solid #344751;border-radius:6px;font-size:11px}.periods button small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.periods button.active{border-color:var(--accent);background:var(--accent-soft)}.purchase-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:23px}.purchase-price{font:700 29px/1.1 Bahnschrift,"Segoe UI",sans-serif;white-space:nowrap}.purchase-price small{color:var(--muted);font-size:12px}.purchase-bar .btn{min-height:46px}.cart-row{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}.cart-row img{width:90px;height:65px;object-fit:contain}.cart-row>div{flex:1;min-width:0}.cart-row strong{font-size:12px;display:block}.cart-row small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.cart-row b{font-size:13px;white-space:nowrap}.cart-row .icon-btn{width:26px;height:26px;border:0}.cart-total{display:flex;justify-content:space-between;margin:25px 0;font-size:17px}.checkbox-line{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:12px;color:var(--muted)}.checkbox-line input{width:16px;height:16px;min-height:0;accent-color:var(--accent)}.toast{position:fixed;right:25px;bottom:25px;max-width:380px;z-index:100;padding:14px 18px;border:1px solid #49616c;border-radius:7px;background:#20313b;box-shadow:0 12px 40px #0008;font-size:12px;display:flex;gap:10px;align-items:center}.toast svg{color:var(--green);width:17px}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.more-grid button{display:flex;align-items:center;gap:9px;text-align:left;border:1px solid var(--line);background:#19252d;border-radius:6px;padding:16px 13px;font-size:12px}.more-grid svg{color:var(--muted)}
@media(min-width:1700px){.workspace{padding:38px 48px 0}.content,.footer{max-width:1400px}.product-image{min-height:180px}.product-image img{height:128px}.profile-cover{min-height:278px}}
@media(max-width:1180px){:root{--side:186px}.brand{padding:0 15px;gap:7px}.brand-symbol{width:36px}.brand-word{width:104px}.workspace{padding:25px 24px 0}.top-context{padding-left:24px}.top-context>span:first-child,.context-slash{display:none}.home-link{display:none}.top-actions{gap:13px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-grid{grid-template-columns:1.2fr 1fr}.metric{padding:16px}.cover-title{font-size:43px}.event-art .event-mark{font-size:46px}.footer{flex-wrap:wrap;font-size:9px}}
@media(max-width:960px){:root{--side:0px}.sidebar{display:none}.brand{width:auto;padding-left:20px;padding-right:18px}.top-context{padding-left:0}.topbar{padding-right:20px}.workspace{margin-left:0;padding:25px 24px 80px}.mobile-nav{display:flex;position:fixed;z-index:45;bottom:0;left:0;right:0;min-height:66px;padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:#0d151bf5;backdrop-filter:blur(10px);border-top:1px solid #334751;justify-content:space-around}.mobile-nav button{flex:1;max-width:140px;background:none;border:0;color:#8099a6;display:flex;flex-direction:column;gap:5px;align-items:center;font-size:9px;padding:4px}.mobile-nav svg{width:20px;height:20px}.mobile-nav button.active{color:var(--accent)}.home-link{display:flex}.account-name{display:none}.toast{bottom:83px}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-image{min-height:140px}.product-image img{height:98px}.footer{margin-top:35px;gap:16px}}
@media(max-width:760px){.review-bar{height:52px;padding:7px 16px;flex-direction:column;align-items:start;gap:5px;font-size:8px}.review-bar>div{gap:17px}.review-bar label{font-size:10px}.review-bar b{padding:0 4px}.topbar{top:52px;height:64px;padding-right:14px}.brand{padding-left:14px;padding-right:10px;gap:5px}.brand-symbol{width:31px;height:30px}.brand-word{width:80px;height:24px}.top-context,.home-link,.mail-shortcut,.account-trigger>span:last-child{display:none}.top-actions{gap:11px}.wallet{border-left:0;padding:0;gap:1px}.wallet-label{font-size:8px}.wallet strong{font-size:13px;gap:8px}.wallet strong i{width:18px;height:18px}.wallet-mobile-label{display:block;font-size:8px;color:var(--accent)}.mini-avatar{width:30px;height:30px}.account-popover{top:59px;right:12px}.workspace{padding:20px 15px 85px;min-height:calc(100svh - 116px)}h1{font-size:34px}.page-head{margin-bottom:20px;align-items:start;gap:12px}.page-head p:not(.eyebrow){font-size:12px}.page-actions .btn{padding:8px 12px;min-height:36px;font-size:10px}.surface{padding:17px}.two-columns,.profile-grid{grid-template-columns:1fr}.tabs{gap:24px;margin:19px 0}.tabs button{font-size:11px;padding-bottom:13px}.profile-cover{min-height:240px}.profile-cover:before{background:linear-gradient(90deg,#10191eef,#10191e99 65%),linear-gradient(0deg,#10191eea,transparent),url("/shared/assets/portal-v2/squad.png") 63% 48%/cover}.cover-body{max-width:100%;padding:24px 20px}.cover-top{gap:11px;margin-bottom:18px}.profile-avatar{height:45px;width:45px;font-size:16px}.cover-title{font-size:37px;margin-bottom:14px}.cover-info{font-size:10px;gap:10px}.cover-actions{right:10px;top:10px}.cover-actions .btn{min-height:30px;font-size:0;padding:7px;border:0}.cover-actions .btn svg{width:15px;height:15px}.cover-bottom{display:none}.cover-top .eyebrow{font-size:9px}.metric-grid{grid-template-columns:1fr 1fr}.metric{padding:15px 17px}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric-value{font-size:29px}.metric-label{font-size:9px}.metric-note{font-size:9px}.rank-line h3{font-size:15px}.section-top{margin-bottom:16px}.collection-strip{gap:6px}.mini-item{padding:8px}.mini-item img{height:60px}.feature-banner{padding:22px;min-height:176px}.feature-banner h2{font-size:27px}.feature-banner p{font-size:11px;max-width:235px}.feature-banner:before{background:linear-gradient(90deg,#10191ef5,#10191e99),url("/shared/assets/portal-v2/tactical.png") 70% center/cover}.catalog-toolbar{flex-wrap:wrap;gap:9px}.catalog-toolbar .search-field{flex-basis:100%}.catalog-sort{width:auto;flex:1;font-size:11px;min-height:37px}.catalog-toolbar .btn{min-height:37px}.category-chips{gap:6px;margin-bottom:16px}.category-chips button{font-size:10px;padding:6px 9px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-image{min-height:124px;padding:21px 11px 12px}.product-image img{height:87px}.product-image.portrait img{height:114px}.product-body{padding:11px}.product-name{font-size:11px;min-height:32px}.product-category{font-size:8px}.product-footer{margin-top:12px;padding-top:10px}.product-price{font-size:16px}.product-footer .btn{padding:5px 8px;font-size:9px;min-height:30px}.product-footer .btn svg{width:12px;height:12px}.product-term{font-size:9px}.product-price small{font-size:8px}.product-offers{font-size:9px}.sell-info{padding:15px;flex-direction:column;gap:10px;font-size:11px}.event-hero{grid-template-columns:1fr}.event-art{min-height:205px;padding:22px}.event-art .event-mark{font-size:45px}.event-details{padding:22px}.event-details h2{font-size:21px}.event-cards{grid-template-columns:1fr}.event-facts{gap:14px}.data-table{font-size:11px}.data-table th{padding:11px;font-size:8px}.data-table td{padding:13px 11px}.data-table .mobile-hide{display:none}.footer{flex-direction:column;align-items:flex-start;margin-top:28px;gap:13px;font-size:9px}.footer>a{align-self:center;font-size:10px}.footer>div{flex-wrap:wrap;gap:15px}.dialog-inner{padding:22px 18px}.dialog-head h2{font-size:21px}.modal{width:calc(100% - 24px);max-height:89svh}.item-large-visual{height:190px}.item-large-visual img{max-width:285px;max-height:160px}.purchase-price{font-size:25px}.purchase-bar{gap:11px}.purchase-bar .btn{font-size:11px;padding:11px}.cart-row img{width:65px;height:53px}.wizard-steps{gap:8px}.wizard-steps span{font-size:0;justify-content:center}.wizard-steps b{font-size:10px}.form-grid .inline{gap:11px}.toast{left:15px;right:15px;max-width:none;font-size:11px}.review-line{font-size:11px}.profile-inventory-toolbar{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.is-guest .wallet,.is-guest .mail-shortcut,.is-guest .account-trigger{display:none}.guest-signin{min-height:34px;padding:8px 16px}.review-bar>div{gap:15px}.wizard-footer{position:sticky;bottom:-27px;background:#131b20;z-index:2;padding-bottom:4px}.shop-search-empty,.product-grid>.empty-state{grid-column:1/-1}
@media(max-width:760px){.review-bar>div{gap:12px}.wizard-footer{bottom:-22px}.guest-signin{min-height:32px;padding:6px 15px}}

/* Production integration: old page controllers remain the source of truth. */
body.portal-v2{--ink:#090d0f;--surface-raised:#182126;--surface-hover:#223039;--line-soft:#263138;--accent-bright:#ff9678;--accent-ink:#101315;--success:#7bd3ac;--focus:#ff916f;--side:216px;display:flex;min-height:100svh;background:#090d0f;overflow-x:hidden;font-size:14px}
body.portal-v2 .topnav.v2-topbar{top:0;height:72px;min-height:72px;padding:0 28px 0 0;gap:0;border-radius:0;border-bottom:1px solid var(--line);z-index:50;flex:none;background:#0c1115f5;max-width:none}
body.portal-v2 .topnav.v2-topbar>.brand{width:var(--side);flex:none;padding:0 21px;gap:9px;letter-spacing:0}
body.portal-v2 .topnav.v2-topbar .brand img.brand-symbol{width:42px;height:35px}body.portal-v2 .topnav.v2-topbar .brand img.brand-word{width:114px;height:30px}
body.portal-v2 .topnav nav{display:none}body.portal-v2 .topnav.v2-topbar .session{gap:19px;display:flex;margin-inline-start:auto;flex-wrap:nowrap}
body.portal-v2 .sidebar{top:72px;width:var(--side)}body.portal-v2 main.v2-page{margin:0;margin-inline-start:var(--side);width:calc(100% - var(--side));max-width:none;padding:30px max(25px,calc((100vw - var(--side) - 1400px)/2)) 25px;flex:1;min-width:0}
body.portal-v2 main.v2-page h1{font-size:44px;line-height:1.12}body.portal-v2 .page-head{margin-bottom:24px}body.portal-v2 .page-head .eyebrow{margin-bottom:9px}
body.portal-v2 .button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:41px;padding:10px 16px;border-radius:5px;background:#19242b;border:1px solid #3b4952;font-size:12px;font-weight:650;max-width:100%;white-space:normal;text-align:center;color:var(--text)}body.portal-v2 .button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}body.portal-v2 .button.ghost{background:transparent}body.portal-v2 .button.small{min-height:32px;padding:6px 11px;font-size:11px}body.portal-v2 .button.danger{color:var(--danger)}body.portal-v2 .button[hidden]{display:none!important}
body.portal-v2 .panel{border-radius:8px;border-color:var(--line);padding:21px;background:var(--surface);box-shadow:none}body.portal-v2 .panel+.panel{margin-top:18px}body.portal-v2 .empty{min-height:130px;padding:28px 18px;border:0;border-radius:5px;background:#0e171c44;font-size:12px;line-height:1.7}body.portal-v2 .empty b{font-size:16px;display:block;margin-bottom:8px}body.portal-v2 .table-wrap{border-radius:6px}body.portal-v2 table.data{font-size:12px}body.portal-v2 table.data th{font-size:10px;letter-spacing:.06em;padding:13px 15px}body.portal-v2 table.data td{padding:15px}
body.portal-v2 .tabs{margin:0;gap:20px;padding:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}body.portal-v2 .tabs button{padding:10px 0 14px;color:var(--muted);border:0;border-radius:0;background:transparent;font-size:12px}body.portal-v2 .tabs button.active{color:var(--text);background:transparent;box-shadow:inset 0 -2px var(--accent)}body.portal-v2 .tabs button.active:after{display:none}
body.portal-v2 input,body.portal-v2 select,body.portal-v2 textarea{border-radius:6px;color:var(--text);background:#0c1215;max-width:100%}body.portal-v2 input[type=checkbox],body.portal-v2 input[type=radio]{width:16px;height:16px;min-height:0;max-width:16px;flex:none;padding:0;accent-color:var(--accent)}
body.portal-v2 .account-menu{position:relative;white-space:normal}body.portal-v2 .account-menu>summary{display:flex;align-items:center;gap:10px;list-style:none;padding:0;border:0;color:var(--text)}body.portal-v2 .account-menu>summary::-webkit-details-marker{display:none}body.portal-v2 .account-menu .account-popover{top:48px;right:0;left:auto;width:255px;min-width:0;padding:13px;border-radius:8px;background:#141c21;border-color:#3b4952;z-index:60}body.portal-v2 .v2-account-link{display:flex;gap:10px;align-items:center;color:#c7d3d9;font-size:12px;padding:11px 8px;border-radius:5px}body.portal-v2 .v2-account-link svg{width:16px}body.portal-v2 .v2-account-logout{width:100%;background:none;border:0;border-top:1px solid var(--line);padding:12px 8px;margin-top:7px;text-align:start;font-size:12px;color:var(--muted)}body.portal-v2 .v2-account-language{padding:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:7px}
body.portal-v2 .legal-footer{margin:20px 0 0;margin-inline-start:var(--side);width:calc(100% - var(--side));padding:23px max(25px,calc((100vw - var(--side) - 1400px)/2));background:transparent;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;text-transform:none;letter-spacing:0;font-size:10px;color:#7f959f;flex:none}body.portal-v2 .legal-footer a{color:var(--muted);font-size:10px}body.portal-v2 .legal-footer-download{font-weight:650;margin-inline:auto}
body.portal-v2 .mobile-nav a.mobile-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0;color:#8099a6;font-size:10px;padding:7px 4px}body.portal-v2 .mobile-nav a.active{color:var(--accent)}body.portal-v2 .v2-more-dialog{width:min(540px,calc(100% - 24px));max-height:85svh;overflow:auto;padding:0;border-radius:10px;color:var(--text);background:var(--surface);border:1px solid #40515c}.v2-more-group{margin-bottom:17px}.v2-more-group>.eyebrow{margin-bottom:8px}.v2-more-dialog .nav-link{padding:13px 8px;min-height:45px}
body.portal-v2 .topnav-preferences .locale-picker{max-width:190px}body.portal-v2 .locale-popover{z-index:100}body.portal-v2 .topnav-preferences{gap:8px}
body.portal-v2 .tournament-hero,body.portal-v2 .team-hero{background:linear-gradient(90deg,#10191ef5,#10191ebb 60%,#10191e44),url('/shared/assets/portal-v2/tactical.png') center/cover;border-radius:8px;padding:30px;border-color:var(--line);min-height:210px}body.portal-v2 .team-hero{background-image:linear-gradient(90deg,#10191ef5,#10191ebb 60%,#10191e44),url('/shared/assets/portal-v2/squad.png')}body.portal-v2 .hero-title{font-family:Bahnschrift,'Segoe UI',sans-serif;letter-spacing:-.035em}body.portal-v2 .hero-stats{gap:12px}body.portal-v2 .hero-stat{background:#0d171bbb;border-color:#3b484c;border-radius:6px;min-width:110px}body.portal-v2 .hero-stat .value{font-family:Bahnschrift;font-size:27px}body.portal-v2 .hero-avatar{border-radius:7px}
body.portal-v2 .v2-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}body.portal-v2 .v2-event-card{padding:23px;border:1px solid var(--line);border-radius:8px;background:var(--surface);display:flex;flex-direction:column;gap:15px}body.portal-v2 .v2-event-card:first-child{grid-column:1/-1;min-height:235px;padding:30px;background:linear-gradient(90deg,#10191ef2,#10191eb0 60%,#10191e22),url('/shared/assets/portal-v2/tactical.png') center/cover}body.portal-v2 .v2-event-card h2{font:700 28px/1.2 Bahnschrift,'Segoe UI',sans-serif}body.portal-v2 .v2-event-meta{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted);font-size:12px}body.portal-v2 .v2-event-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto}body.portal-v2 .v2-event-empty{background:linear-gradient(90deg,#10191ef5,#10191eea 55%,#10191e66),url('/shared/assets/portal-v2/tactical.png') 70% center/cover!important;min-height:200px;text-align:start;padding:35px!important}body.portal-v2 .v2-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}body.portal-v2 .v2-team-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:22px}body.portal-v2 .v2-team-card h2{font-size:21px;margin:13px 0 12px}
html[dir=rtl] body.portal-v2 .v2-sidebar{left:auto;right:0}html[dir=rtl] body.portal-v2 .account-menu .account-popover{right:auto;left:0}html[dir=rtl] .nav-link.active{box-shadow:inset -2px 0 0 var(--accent)}
@media(max-width:1180px){body.portal-v2{--side:186px}body.portal-v2 .topnav.v2-topbar>.brand{padding:0 15px}body.portal-v2 main.v2-page{padding:25px 24px}body.portal-v2 .top-context>span{display:none}body.portal-v2 .topbar .top-actions{gap:13px}.v2-team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:960px){body.portal-v2{--side:0px;padding-bottom:70px}body.portal-v2 .sidebar{display:none}body.portal-v2 main.v2-page{margin:0;width:100%;padding:24px;max-width:none}body.portal-v2 .topnav.v2-topbar>.brand{width:auto;padding:0 20px}body.portal-v2 .legal-footer{margin:20px 0 0;width:100%;padding:22px 24px}body.portal-v2 .topnav .account-name{display:none}body.portal-v2 .mobile-nav{display:flex}body.portal-v2 .topbar .wallet-label{display:block}body.portal-v2 .topbar .wallet-mobile-label{display:block}body.portal-v2 .mobile-nav button{border-radius:0}}
@media(max-width:760px){body.portal-v2 main.v2-page{padding:20px 15px}body.portal-v2 main.v2-page h1{font-size:34px}body.portal-v2 .topnav.v2-topbar{height:64px;min-height:64px;padding-right:14px;top:0}body.portal-v2 .topnav.v2-topbar>.brand{padding:0 12px;gap:5px}body.portal-v2 .topnav.v2-topbar .brand img.brand-symbol{width:31px;height:30px}body.portal-v2 .topnav.v2-topbar .brand img.brand-word{width:80px;height:24px}body.portal-v2 .top-context{display:none}body.portal-v2 .topnav.v2-topbar .session{gap:9px}body.portal-v2 .topbar .home-link,body.portal-v2 .mail-shortcut,body.portal-v2 .account-trigger>svg{display:none}body.portal-v2 .wallet{padding:0;border:0;gap:1px}body.portal-v2 .wallet-label{font-size:8px}body.portal-v2 .wallet strong{font-size:13px;gap:7px}body.portal-v2 .wallet strong i{width:18px;height:18px}body.portal-v2 .wallet-mobile-label{font-size:8px}body.portal-v2 .panel{padding:17px}body.portal-v2 .page-head{align-items:flex-start;gap:12px}body.portal-v2 .page-head .button{padding:8px 11px;font-size:10px;min-height:35px}body.portal-v2 .legal-footer{flex-direction:column;align-items:flex-start;padding:20px 15px;gap:13px}body.portal-v2 .legal-footer-links{display:flex;gap:5px;flex-wrap:wrap}body.portal-v2 .legal-footer-download{align-self:center}body.portal-v2 .v2-event-grid,body.portal-v2 .v2-team-grid{grid-template-columns:1fr}body.portal-v2 .v2-event-card{padding:22px}body.portal-v2 .v2-event-card:first-child{padding:24px;min-height:235px}body.portal-v2 .tournament-hero,body.portal-v2 .team-hero{padding:23px 20px;min-height:220px}body.portal-v2 .hero-title{font-size:34px}body.portal-v2 .hero-stat{min-width:0;flex:1}body.portal-v2 .hero-stat .value{font-size:24px}.topnav:not(.v2-ready)>nav{display:none}}
@media(max-width:390px){body.portal-v2 .topbar .topnav-preferences{display:none}body.portal-v2 .v2-account-language{display:flex!important}}

body.portal-v2 .topnav.v2-topbar .session .v2-account{display:block!important}
body.portal-v2 .topnav.v2-topbar .session>.button{display:inline-flex!important}
.public-news-page.v2-mounted .news-footer{display:none}
body.portal-v2 .v2-event-list-panel{border:0;background:transparent;padding:0}body.portal-v2 .v2-event-list-panel>.panel-toolbar{margin-bottom:22px}body.portal-v2 .wizard-progress li::after{display:none!important}body.portal-v2 .wizard-progress span{border-radius:4px}body.portal-v2 .wizard-actions{position:sticky;bottom:0;background:var(--surface);z-index:3;padding-block:18px}body.portal-v2 .v2-event-foot .muted{font-size:11px}

/* Flags for the two additional supported portal locales. */
.locale-flag-no{background:linear-gradient(90deg,transparent 0 27%,#fff 27% 44%,transparent 44%),linear-gradient(#ba0c2f 0 34%,#fff 34% 66%,#ba0c2f 66%)}
.locale-flag-no::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 32%,#00205b 32% 39%,transparent 39%),linear-gradient(transparent 0 43%,#00205b 43% 57%,transparent 57%)}
.locale-flag-zhtw{background:#fe0000}.locale-flag-zhtw::before{content:"";position:absolute;top:0;left:0;width:11px;height:8px;background:#000095}.locale-flag-zhtw::after{content:"✺";position:absolute;top:-1px;left:2px;color:#fff;font-size:8px}

/* The live bracket heading already identifies this section. */
body.portal-v2 .bracket-featured h2::after{content:none}
/* Translated mobile labels may need two lines. */
body.portal-v2 .v2-mobile-nav .mobile-nav-link span,
body.portal-v2 .v2-mobile-nav button span{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;line-height:1.15}
/* The admin console has its own section menu inside the shared service shell. */
body.portal-admin.portal-v2{background:var(--bg);color:var(--text)}
body.portal-admin.portal-v2 .admin-console{margin-inline-start:var(--side);width:calc(100% - var(--side));grid-template-columns:200px minmax(0,1fr);min-width:0}
body.portal-admin.portal-v2 .admin-console main.v2-page{margin-inline:0;width:auto;max-width:none;min-width:0;padding:30px 24px}
body.portal-admin.portal-v2 .admin-sidebar{background:var(--surface);color:var(--muted);border-inline-end:1px solid var(--line)}
body.portal-admin.portal-v2 .admin-brand strong,
body.portal-admin.portal-v2 .admin-content h1,
body.portal-admin.portal-v2 .admin-content h2,
body.portal-admin.portal-v2 .admin-content h3,
body.portal-admin.portal-v2 .admin-content .stat-value,
body.portal-admin.portal-v2 .admin-content .stat-number{color:var(--text)}
body.portal-admin.portal-v2 .admin-content .panel,
body.portal-admin.portal-v2 .admin-content .stat,
body.portal-admin.portal-v2 .support-chat{background:var(--surface);border-color:var(--line);color:var(--text)}
body.portal-admin.portal-v2 .admin-content .input,
body.portal-admin.portal-v2 .admin-content input,
body.portal-admin.portal-v2 .admin-content select,
body.portal-admin.portal-v2 .admin-content textarea{background:#0c1215;color:var(--text);border-color:#35434b}
body.portal-admin.portal-v2 .admin-content .table-wrap,
body.portal-admin.portal-v2 .admin-content table,
body.portal-admin.portal-v2 .admin-content thead{background:var(--surface);border-color:var(--line);color:var(--text)}
body.portal-admin.portal-v2 .admin-content th{background:var(--surface-2);color:var(--muted);border-color:var(--line)}
body.portal-admin.portal-v2 .admin-content td{color:var(--text);border-color:var(--line)}
body.portal-admin.portal-v2 .support-chat-bubble{background:var(--surface-2);border-color:var(--line);color:var(--text)}
body.portal-admin.portal-v2 .support-chat-row.from-support .support-chat-bubble{background:#2a201b;border-color:#74432f}
body.portal-admin.portal-v2 .support-chat-meta b{color:var(--text)}
body.portal-admin.portal-v2 .admin-nav-item{color:var(--muted)}
body.portal-admin.portal-v2 .admin-nav-item.active{background:var(--accent-soft);color:var(--accent)}
body.portal-admin.portal-v2 .admin-content .muted,
body.portal-admin.portal-v2 .admin-content .form-label{color:var(--muted)}
body.portal-admin.portal-v2 .admin-review,
body.portal-admin.portal-v2 .mail-item-results,
body.portal-admin.portal-v2 .mail-item-result,
body.portal-admin.portal-v2 .mail-item-selected{background:var(--surface-2);border-color:var(--line);color:var(--text)}
body.portal-admin.portal-v2 .mail-item-result:hover,
body.portal-admin.portal-v2 .admin-wizard-progress li.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
body.portal-admin.portal-v2 .admin-nav-item{text-align:start}
@media(max-width:960px){body.portal-admin.portal-v2 .admin-console{margin-inline-start:0;width:100%;display:block}body.portal-admin.portal-v2 .admin-sidebar{top:72px;z-index:20}body.portal-admin.portal-v2 .admin-console main.v2-page{padding:24px 15px}}
.portal-v2 [data-game-download][aria-disabled="true"] { opacity: .5; cursor: not-allowed; pointer-events: none; }
.portal-v2 .sidebar-bottom [data-game-download] { min-width: 0; }
.portal-v2 .sidebar-bottom [data-game-download] > span { min-width: 0; }
.portal-v2 .sidebar-bottom [data-game-download-status] { line-height: 1.45; white-space: normal; }
.v2-account-access { display: flex; align-items: center; gap: 9px; padding: 11px 14px; color: var(--muted); font-size: 11px; line-height: 1.45; background: rgba(255,255,255,.025); }
.v2-account-access svg { width: 16px; height: 16px; flex: none; }
.v2-account-access.granted { color: #51e49b; }
.admin-game-access { display: grid; gap: 8px; justify-items: start; min-width: 135px; }
.admin-game-access .button { white-space: normal; text-align: start; }
.portal-v2 [data-game-access-contact][hidden] { display:none; }

/* Presentation-only launcher mode, selected by an explicit URL marker. */
html.launcher-embedded body.portal-v2 { --side:0px; padding-block:0!important; }
html.launcher-embedded .topnav.v2-topbar,
html.launcher-embedded body > .v2-sidebar,
html.launcher-embedded body > .v2-mobile-nav,
html.launcher-embedded body > .v2-more-dialog,
html.launcher-embedded .legal-footer.v2-footer { display:none!important; }
html.launcher-embedded body.portal-v2 main.v2-page { margin-inline:0!important; width:100%!important; max-width:none!important; }

/* The nested language list stays inside the visible browser window. */
body.portal-v2 { --v2-topbar-height:72px; }
body.portal-v2 .v2-account-language .preference-popover {
  position:fixed;
  top:calc(var(--v2-topbar-height) + 8px);
  right:12px;
  left:auto;
  width:240px;
  min-width:0;
  max-width:calc(100vw - 24px);
  max-height:calc(100dvh - var(--v2-topbar-height) - 24px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
html[dir=rtl] body.portal-v2 .v2-account-language .preference-popover { right:auto; left:12px; }
@media(max-width:760px) { body.portal-v2 { --v2-topbar-height:64px; } }

/* Use the complete viewport height for the sidebar and its section list. */
body.portal-v2 .v2-sidebar {
  top:var(--v2-topbar-height);
  bottom:0;
  height:calc(100dvh - var(--v2-topbar-height));
  min-height:0;
  max-height:none;
}
body.portal-v2 .v2-sidebar > nav { flex:1 1 0%; min-height:0; overflow-y:auto; }
body.portal-v2 .v2-sidebar .sidebar-bottom { flex:none; margin-top:0; }
body.portal-v2 .v2-more-download small { display:block; color:var(--muted); font-size:10px; line-height:1.45; }

/* Cross-host navigation still uses regular links, but the shell acknowledges
   the transition immediately so a mini-game never appears frozen between
   documents. The overlay is non-blocking once the destination starts. */
.v2-route-loader{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(7,12,16,.72);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .18s ease}.v2-route-loader.is-visible{opacity:1;pointer-events:auto}.v2-route-loader-panel{display:grid;justify-items:center;gap:12px;min-width:190px;padding:19px 24px;border:1px solid #3b515d;border-radius:8px;background:#111b21;color:var(--text);font-size:12px;box-shadow:0 14px 40px #0008}.v2-route-loader-spinner{width:24px;height:24px;border:2px solid #42616d;border-top-color:var(--accent);border-radius:50%;animation:v2-route-spin .9s linear infinite}.v2-route-loader-panel i{display:block;width:150px;height:3px;border-radius:3px;overflow:hidden;background:#273942;position:relative}.v2-route-loader-panel i:after{content:\"\";display:block;width:42%;height:100%;border-radius:inherit;background:var(--accent);animation:v2-route-progress 1.15s ease-in-out infinite}.is-route-loading main.v2-page{animation:v2-route-fade-out .18s ease both}.is-route-loading .v2-route-loader{display:grid}@keyframes v2-route-spin{to{transform:rotate(360deg)}}@keyframes v2-route-progress{0%{transform:translateX(-120%)}100%{transform:translateX(360%)}}@keyframes v2-route-fade-out{to{opacity:.62;transform:translateY(2px)}}@media(prefers-reduced-motion:reduce){.v2-route-loader{transition:none}.v2-route-loader-spinner,.v2-route-loader-panel i:after{animation:none}.is-route-loading main.v2-page{animation:none}}

/* Neutral account placeholders keep the current shell visible before auth completes. */
.v2-session-pending{display:flex;align-items:center;gap:16px;min-width:130px}.v2-session-pending>span{display:block;border:1px solid #2c3b44;background:linear-gradient(100deg,#18232a,#26363f,#18232a);background-size:200% 100%;animation:v2-session-pulse 1.5s ease-in-out infinite}.v2-pending-wallet{width:78px;height:16px;border-radius:4px}.v2-pending-avatar{width:34px;height:34px;border-radius:7px}@keyframes v2-session-pulse{0%,100%{background-position:0 0}50%{background-position:100% 0}}@media(max-width:760px){.v2-session-pending{min-width:94px;gap:10px}.v2-pending-wallet{width:50px}.v2-pending-avatar{width:30px;height:30px}}@media(prefers-reduced-motion:reduce){.v2-session-pending>span{animation:none}}
