/* Vendetta production pass: stable identity, contained cards and rounded controls. */
.auth-pending{display:none;color:var(--mut);padding:5rem 1rem;text-align:center;min-height:18rem}
html[data-auth-state="loading"] :is(#cabGuestView,#cabAuthView){display:none!important}
html[data-auth-state="loading"] .auth-pending{display:block}
.nav-auth-placeholder{display:block;width:6.25rem;height:2.375rem;border-radius:999px;background:#ffffff08}
.btn,.user-act-btn,.vd-tab-btn,.console-tabs button,.pay-method-opt,.site-nav-links a{border-radius:999px!important;--glass-radius:999px}
.btn{min-height:2.5rem;padding-inline:1.1rem;white-space:normal;text-align:center;line-height:1.25}
.btn::before{border-radius:inherit;clip-path:inset(0 round 999px)}
.vd-input,select.vd-input{border-radius:1.125rem}
.cab-card,.console-stat,.cab-plan-card,.plan,.vd-modal,.account-dialog{position:relative;border-radius:1.75rem;--glass-radius:1.75rem;min-width:0}
.cab-card,.console-stat{isolation:isolate}
.console-stat{overflow:hidden;background:rgba(var(--surface-rgb),.8)}
.console-stat::before,.console-stat::after{position:absolute;inset:0}
.console-page .console-tabs{border-radius:999px;margin-block:1.5rem;max-width:100%}
.console-page .console-ind{border-radius:999px}
.console-page .console-stat b{position:relative;z-index:2}
.console-page .console-sec{animation:none}
.console-page .console-table{table-layout:auto;width:100%}
.console-page .console-tw{max-width:100%;overflow:auto;border-radius:1rem}
.admin-gate{max-width:32rem;margin:2rem auto;padding:2rem;text-align:center}
.admin-gate h2{font-size:1.5rem;margin:0 0 1rem}.admin-gate p{color:var(--mut);margin-bottom:1.5rem}.admin-gate .btn{margin:.25rem}
.plans,.cab-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:52rem;margin-inline:auto}
.nav-user-chip{display:inline-flex!important;align-items:center;gap:.5rem!important;border-radius:999px!important;padding:.25rem .625rem .25rem .25rem!important;min-height:2.375rem;max-width:12rem}
.nav-user-avatar{flex:0 0 1.75rem!important;width:1.75rem!important;height:1.75rem!important;display:grid!important;place-items:center;border-radius:50%!important;line-height:1!important;margin:0!important}
.nav-sub-dot{flex:none!important;width:.45rem!important;height:.45rem!important;margin-left:.1rem}
.user-avatar{border-radius:50%!important;flex-shrink:0}.user-info-meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.user-info-meta #userRegistered{flex-basis:100%;color:var(--mut);font-size:.8rem}.email-fixed{font-size:.8rem;color:var(--mut);padding:.5rem}
.account-dialog{width:min(28rem,calc(100vw - 2rem));padding:1.75rem;border:1px solid var(--line);background:var(--s1);color:var(--tx)}
.account-dialog h2{font-size:1.5rem;margin:0}.account-dialog-description{color:var(--mut);font-size:.9rem;line-height:1.6}
.otp-input{height:3.5rem!important;text-align:center;font-size:1.5rem!important;letter-spacing:.2em;font-variant-numeric:tabular-nums;border-radius:1.25rem!important}
.two-factor-qr{background:#fff;padding:1rem;border-radius:1.5rem;width:max-content;max-width:100%;margin:1rem auto}.two-factor-qr[hidden]{display:none}.two-factor-qr img{display:block;width:240px;max-width:100%;height:auto;image-rendering:pixelated}
#twoFactorSecretText{overflow-wrap:anywhere;font-size:.85rem!important}.account-dialog-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}
.site-footer{display:grid;grid-template-columns:minmax(12rem,1.4fr) minmax(12rem,1fr) auto;gap:2rem;padding:2.5rem 0!important;margin-top:3rem;align-items:start!important;border-top:1px solid var(--line);font-size:.85rem;color:var(--mut)}
.site-footer .logo{color:var(--tx);font-size:1.1rem}.site-footer p{margin:.75rem 0}.site-footer small{font-size:.75rem}.site-footer nav,.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.site-footer a{color:var(--mut);text-decoration:none}.site-footer a:hover{color:var(--tx)}.footer-social a{display:inline-flex;align-items:center;gap:.5rem}.footer-social svg{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.legal-page{max-width:48rem;margin:3rem auto 5rem;line-height:1.8;overflow-wrap:anywhere}.legal-page h1{font-size:clamp(2rem,5vw,3rem);line-height:1.15;margin:1.5rem 0 1rem}.legal-page h2{font-size:1.25rem;margin:2rem 0 .5rem}.legal-page p{color:var(--mut)}.legal-page .legal-lead{font-size:1.05rem;color:var(--tx)}.legal-date,.legal-back{font-size:.85rem;color:var(--mut)}.legal-page a{color:var(--ac)}.support-links{display:flex;gap:.75rem;flex-wrap:wrap}
.terms-choice{display:flex;gap:.625rem;align-items:flex-start;font-size:.75rem;color:var(--mut);line-height:1.5}.terms-choice input{flex:none;accent-color:var(--ac);margin-top:.2rem}.terms-choice a{color:var(--tx)}
@media(max-width:760px){.site-footer{grid-template-columns:1fr;gap:1.5rem}.footer-social{flex-direction:row}.console-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.console-stat{padding:1rem}.console-stat b{font-size:1.75rem}.user-profile{flex-wrap:wrap}.site-nav{gap:.5rem}.nav-user-chip{max-width:8rem}.cab-card{padding:1.25rem}.plans,.cab-plans-grid{grid-template-columns:1fr!important}.legal-page{margin-top:2rem}.account-dialog-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){.console-page *{animation:none!important}.auth-pending{animation:none}}

.pay-method-opt[hidden]{display:none!important}.payment-availability{font-size:.8rem;color:var(--mut);line-height:1.5}

/* Grid children must shrink; overflow-x:hidden must not conceal an oversized card. */
.cab-grid{grid-template-columns:minmax(0,1fr)}.cab-grid>div{min-width:0}
@media(min-width:900px){.cab-grid-2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.user-avatar-large{border-radius:50%;width:3rem;height:3rem;box-shadow:none;flex:none}
.user-profile-strip{align-items:flex-start}.user-info-text{min-width:0;overflow-wrap:anywhere}.user-info-meta>.meta-sep{display:none}
.cab-card-header{flex-wrap:wrap}.cab-card-title{min-width:0}.cab-card-title svg{flex:none}
#cabAuthView .rv,#consoleApp .rv{opacity:1;filter:none!important;transform:none!important;transition:none!important}
@media(max-width:640px){
 .site-nav{grid-template-columns:minmax(0,1fr) auto!important}
 .site-nav .nav-user-chip{max-width:none;padding-right:.5rem!important}
 .site-nav .nav-user-chip>span:nth-child(2){display:none}
 .site-nav>.nav-auth-box{gap:.5rem}
 .sub-countdown-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
 .user-info-meta #userRegistered{flex-basis:auto}
 .cab-card :is(input,select,textarea){min-width:0;max-width:100%}
 .cab-header{gap:1rem;align-items:flex-start}
}

.user-launcher-btn{border-radius:999px!important}.user-act-btn:disabled{opacity:.5;cursor:default}

.time-help-trigger{justify-self:start;font-size:.875rem;min-height:2.25rem}
.time-help-trigger[hidden],.time-help-windows[hidden]{display:none!important}
.time-help-dialog{width:min(38rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:1.75rem;background:var(--s2,#141824)}
.time-help-heading{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}.time-help-heading h2{flex:1;min-width:0;font-size:1.5rem;line-height:1.25}
.time-help-x{width:2.5rem;height:2.5rem;flex:none;padding:0;display:grid;place-items:center}
.time-help-section{padding:1rem 1.125rem;border:1px solid var(--line);border-radius:1.25rem;margin:.875rem 0;background:#ffffff04}
.time-help-section h3{font-size:1rem;margin:0 0 .5rem}.time-help-section ol{padding-left:1.25rem;margin:0}.time-help-section p{margin:0}
.time-help-section :is(li,p){font-size:.875rem;line-height:1.65;color:var(--mut)}.time-help-section li+li{margin-top:.5rem}.time-help-section strong{font-weight:500;color:var(--tx)}
.time-help-windows{display:inline-flex;margin-top:.875rem;font-size:.8rem}.time-help-next{font-size:.875rem;line-height:1.65;color:var(--mut);margin:1.25rem 0}.time-help-return{width:100%;min-height:2.75rem}
@media(max-width:480px){.time-help-dialog{padding:1.25rem}.time-help-heading h2{font-size:1.25rem}.time-help-section{padding:1rem}}

/* Dashboard controls must not share advertising-filter selectors. */
.console-page{min-height:28rem}.console-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1.5rem 0}
.console-page .console-tabs{display:flex!important;visibility:visible;margin:0;flex-wrap:wrap;width:auto;overflow:visible}
.console-toolbar #consoleReload{flex:none}.console-page .console-sec,.console-page .console-table tbody tr{animation:none!important;opacity:1;transform:none!important}
.console-loading,.console-load-error{padding:2.5rem;text-align:center;min-height:16rem}.console-loading[hidden],.console-load-error[hidden]{display:none!important}
.console-loading h2,.console-load-error h2{margin:1rem 0 .5rem;font-size:1.375rem}.console-loading p,.console-load-error p{color:var(--mut);font-size:.9rem}
.console-spinner{display:inline-block;width:1.5rem;height:1.5rem;border:2px solid #ffffff20;border-top-color:var(--ac);border-radius:50%;animation:console-spin .8s linear infinite}
@keyframes console-spin{to{transform:rotate(360deg)}}
/* Footer layout is explicit for every group, independent of legacy footer div rules. */
.site-footer{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.65fr);align-items:start!important;gap:clamp(2rem,4vw,4rem);padding:2.5rem 0!important;margin-top:3rem;line-height:1.6}
.site-footer .footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-width:0}
.site-footer .footer-brand .logo{margin:0;color:var(--tx)}.site-footer .footer-brand p{margin:0;max-width:28ch;font-size:.875rem;line-height:1.6}
.site-footer .footer-brand small{display:block;margin-top:.25rem;font-size:.75rem;line-height:1.65;max-width:38ch}
.site-footer :is(.footer-links,.footer-community){display:flex;flex-direction:column;align-items:flex-start;gap:.875rem;min-width:0}
.site-footer h2{margin:0;font-size:.875rem;font-weight:500;line-height:1.75rem;color:var(--tx)}
.site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem;min-width:0}.site-footer nav a{display:block;line-height:1.6;overflow-wrap:anywhere}
.site-footer .footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem}
.site-footer .footer-social a{display:inline-flex;align-items:center;gap:.625rem;min-height:1.75rem;line-height:1.6}
.site-footer .footer-social svg{display:block;width:1.25rem;height:1.25rem;flex:none;fill:currentColor;stroke:none}
@media(max-width:640px){.site-footer{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.75rem 1rem}.site-footer .footer-brand{grid-column:1/-1}.console-loading,.console-load-error{padding:1.5rem}.console-toolbar{gap:.75rem}.console-toolbar .console-tabs{width:100%;border-radius:1.25rem}.console-page .console-ind{display:none}.console-tabs button.on{background:#ffffff14}.console-toolbar #consoleReload{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.console-spinner{animation:none}}

.legal-related{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding:1rem 0;border-top:1px solid var(--line);margin:2rem 0 1rem;font-size:.875rem;line-height:1.6}.legal-related-top{border-top:0;border-bottom:1px solid var(--line);margin:1rem 0 2rem;padding:0 0 1.25rem}.legal-related a{text-underline-offset:.2em}
.legal-table-wrap{max-width:100%;overflow-x:auto;margin:1.25rem 0;border:1px solid var(--line);border-radius:1rem}.legal-table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.65;text-align:left}.legal-table th,.legal-table td{padding:1rem;vertical-align:top;border-bottom:1px solid var(--line)}.legal-table th{color:var(--tx);font-weight:500;background:#ffffff06}.legal-table td{color:var(--mut)}.legal-table tr:last-child td{border-bottom:0}.legal-table th:first-child{width:22%}
.support-contact-card{padding:clamp(1.25rem,4vw,2rem);border:1px solid var(--line);border-radius:1.5rem;background:var(--s2,#141824);margin:1.5rem 0 2rem;min-width:0}.support-contact-label{display:block;font-size:.875rem;color:var(--mut)}.support-handle{display:block;width:fit-content;margin:.5rem 0;font-size:clamp(1.5rem,6vw,2.25rem);line-height:1.3;font-weight:600;text-decoration:none;overflow-wrap:anywhere}.support-contact-card p{margin:.75rem 0 1.25rem}.support-contact-card .btn{max-width:100%;white-space:normal;text-align:center;line-height:1.4}
@media(max-width:480px){.legal-table th,.legal-table td{padding:.65rem .5rem;font-size:.75rem}.legal-table th:first-child{width:25%}.legal-related{gap:.75rem 1rem}}

/* Keep profile identifiers inside their column so binding a device cannot move the balance. */
.cab-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.cab-header .user-profile-strip{min-width:0}
.cab-header .user-info-text{flex:1;min-width:0}
.cab-header #userHwidDisplay{flex-basis:100%;min-width:0;max-width:100%;overflow-wrap:anywhere}
.cab-header .cab-actions{justify-self:end;flex:none;flex-wrap:nowrap}
.cab-balance{display:inline-flex;align-items:center;gap:.75rem;padding:.375rem .5rem .375rem 1rem;border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(10,10,16,.6)}
.cab-balance .stat-val{white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:760px){
 .cab-header{grid-template-columns:minmax(0,1fr)}
 .cab-header .cab-actions{justify-self:start;max-width:100%;flex-wrap:wrap}
}

/* Hide scroll indicators without disabling scrolling or keyboard navigation. */
:root{scrollbar-gutter:auto!important}
*{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
.pg,#pg{display:none!important}

/* Floating navigation fades in and out without interrupting scrolling. */
.fn.site-nav{transition:opacity .3s var(--motion-ease),transform .3s var(--motion-ease),visibility 0s .3s;opacity:0}
.fn.site-nav.on{opacity:1;transition-delay:0s}
@media(prefers-reduced-motion:reduce){.fn.site-nav{transition:none}}

/* Native confirmation dialogs share the same fade as custom windows. */
@keyframes vd-dialog-shade-in{from{opacity:0}to{opacity:1}}
@keyframes vd-dialog-shade-out{from{opacity:1}to{opacity:0}}
.account-dialog::backdrop{animation:vd-dialog-shade-in .42s ease both}
.account-dialog[data-fade-closing]::backdrop{animation:vd-dialog-shade-out .32s ease both}
@media(prefers-reduced-motion:reduce){.account-dialog::backdrop{animation-duration:.18s}}
