/* FlashFile public shell — Second-pass 01 public hierarchy and homepage polish. */
.ff-public-shell{display:block;background:var(--ff-bg-surface)}
.ff-public-header{position:relative;z-index:80;background:var(--ff-header-bg);border-bottom:1px solid rgba(217,223,235,.88);box-shadow:0 1px 0 rgba(23,32,51,.02);backdrop-filter:blur(12px)}
.ff-public-header-inner{width:min(calc(100% - 2 * var(--ff-page-gutter)),var(--ff-public-max-width));min-height:4rem;display:flex;align-items:center;gap:1rem;margin-inline:auto}
.ff-public-nav{display:flex;align-items:stretch;align-self:stretch;gap:.1rem;margin-left:auto}
.ff-public-nav-link{position:relative;min-height:4rem;display:inline-flex;align-items:center;padding:0 .7rem;color:var(--ff-text-secondary)!important;font-size:.86rem;font-weight:680;text-decoration:none!important}
.ff-public-nav-link::after{content:"";position:absolute;right:.7rem;bottom:-1px;left:.7rem;height:2px;background:var(--ff-brand-primary);transform:scaleX(0);transform-origin:center;transition:transform var(--ff-motion-fast) var(--ff-ease-standard)}
.ff-public-nav-link:hover,.ff-public-nav-link.is-active{color:var(--ff-text-primary)!important}
.ff-public-nav-link:hover::after,.ff-public-nav-link.is-active::after{transform:scaleX(1)}
.ff-public-actions{display:flex;align-items:center;gap:.25rem;margin-left:.35rem;padding-left:.7rem;border-left:1px solid var(--ff-border)}
.ff-public-menu-button{display:none;width:2.75rem;height:2.75rem;margin-left:auto;color:var(--ff-text-primary);background:transparent;border:1px solid transparent;border-radius:var(--ff-radius-md);font-size:1.18rem;line-height:1;cursor:pointer}
.ff-public-menu-button:hover,.ff-public-menu-button[aria-expanded="true"]{background:var(--ff-bg-subtle);border-color:var(--ff-border)}
.ff-public-main{min-height:calc(100vh - 14rem)}
.ff-public-main>.container,.ff-public-main>.container-fluid{padding-top:1rem}
.ff-user-chip{min-height:2.55rem;display:inline-flex;align-items:center;gap:.48rem;padding:.45rem .75rem;color:var(--ff-text-primary)!important;background:var(--ff-bg-subtle);border:1px solid var(--ff-border);border-radius:var(--ff-radius-pill);font-size:.81rem;font-weight:750;text-decoration:none!important}
.ff-user-chip:hover{background:var(--ff-selection-bg);border-color:var(--ff-border-strong)}
.ff-user-chip-icon{width:.56rem;height:.56rem;color:var(--ff-accent-text);font-size:.56rem;line-height:1}
.ff-admin-entry{min-height:2.55rem;display:inline-flex;align-items:center;padding:.5rem .75rem;color:var(--ff-accent-secondary)!important;border:1px solid rgba(114,86,216,.28);border-radius:var(--ff-radius-sm);font-size:.82rem;font-weight:750;text-decoration:none!important}
.ff-admin-entry:hover{background:var(--ff-premium-bg)}

/* Second-pass homepage: one product story, two restrained follow-on paths. */
.ff-home-main{position:relative;isolation:isolate;overflow:hidden;background:var(--ff-bg-surface)}
.ff-home-main::before{content:"";position:absolute;z-index:-1;top:-11rem;right:max(-9rem,calc((100vw - var(--ff-public-max-width))/2 - 8rem));width:38rem;height:38rem;background:radial-gradient(circle,rgba(114,86,216,.09),rgba(40,85,217,.035) 42%,transparent 70%);pointer-events:none}
.ff-home-container{width:min(calc(100% - 2 * var(--ff-page-gutter)),var(--ff-public-max-width));margin-inline:auto}
.ff-home-hero{padding:clamp(3.5rem,6.5vw,6rem) 0 clamp(3.25rem,5.5vw,5rem)}
.ff-home-hero-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(26rem,1.04fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.ff-home-eyebrow{margin:0 0 .8rem;color:var(--ff-accent-text);font-size:.75rem;font-weight:800;letter-spacing:.1em}
.ff-home-intro h1{max-width:10em;margin:0 0 1.25rem;color:var(--ff-text-primary);font-size:clamp(2.7rem,1.9rem + 2.7vw,4.25rem);font-weight:800;line-height:1.13;letter-spacing:-.052em}
.ff-home-headline-emphasis{color:var(--ff-accent-text);background:linear-gradient(100deg,var(--ff-brand-primary),var(--ff-brand-accent));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.ff-home-lead{max-width:35rem;margin:0 0 1.7rem;color:var(--ff-text-secondary);font-size:1.03rem;line-height:1.8}
.ff-home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}
.ff-home-primary,.ff-home-upload-cta{display:inline-flex;align-items:center;justify-content:center;color:#fff!important;background:linear-gradient(105deg,var(--ff-brand-primary),var(--ff-brand-accent));border-radius:var(--ff-radius-sm);box-shadow:0 7px 18px rgba(40,85,217,.16);font-weight:750;text-decoration:none!important;transition:transform var(--ff-motion-fast) var(--ff-ease-standard),box-shadow var(--ff-motion-fast) var(--ff-ease-standard),filter var(--ff-motion-fast) var(--ff-ease-standard)}
.ff-home-primary,.ff-home-secondary{min-height:3rem;gap:.55rem;padding:.65rem 1.15rem;font-size:.9rem}
.ff-home-secondary{display:inline-flex;align-items:center;justify-content:center;color:var(--ff-text-primary)!important;background:var(--ff-bg-surface);border:1px solid var(--ff-border-strong);border-radius:var(--ff-radius-sm);font-weight:720;text-decoration:none!important}
.ff-home-secondary:hover{color:var(--ff-accent-text)!important;background:var(--ff-bg-subtle);border-color:var(--ff-brand-primary)}
.ff-home-primary:hover,.ff-home-upload-surface:hover .ff-home-upload-cta{filter:saturate(1.08) brightness(1.04);box-shadow:0 9px 22px rgba(40,85,217,.22);transform:translateY(-1px)}
.ff-home-primary:active,.ff-home-upload-surface:active .ff-home-upload-cta{filter:brightness(.94);box-shadow:0 4px 10px rgba(40,85,217,.16);transform:translateY(0)}
.ff-home-primary:focus-visible,.ff-home-secondary:focus-visible,.ff-home-upload-surface:focus-visible{outline:3px solid var(--ff-focus);outline-offset:4px}
.ff-home-upload-panel{position:relative;padding:.7rem;background:linear-gradient(145deg,var(--ff-bg-elevated),var(--ff-premium-bg));border:1px solid rgba(114,86,216,.18);border-radius:calc(var(--ff-radius-lg) + .35rem);box-shadow:var(--ff-shadow-md),0 20px 48px rgba(40,85,217,.08)}
.ff-home-upload-panel::before{content:"";position:absolute;z-index:-1;inset:-1.1rem;background:radial-gradient(circle at 72% 24%,rgba(114,86,216,.08),transparent 62%);border-radius:inherit;pointer-events:none}
.ff-home-upload-surface{min-height:20rem;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--ff-text-primary)!important;text-align:center;background:var(--ff-bg-elevated);border:2px dashed var(--ff-dropzone-border);border-radius:var(--ff-radius-lg);text-decoration:none!important;transition:border-color var(--ff-motion-normal) var(--ff-ease-standard),background var(--ff-motion-normal) var(--ff-ease-standard)}
.ff-home-upload-surface:hover{background:var(--ff-bg-surface);border-color:var(--ff-brand-primary)}
.ff-home-upload-icon{width:4rem;height:4rem;display:grid;place-items:center;margin-bottom:.9rem;color:var(--ff-accent-text);background:linear-gradient(145deg,var(--ff-selection-bg),var(--ff-premium-bg));border:1px solid rgba(40,85,217,.08);border-radius:50%;box-shadow:var(--ff-shadow-sm)}
.ff-home-upload-kicker{margin-bottom:.4rem;color:var(--ff-accent-text);font-size:.68rem;font-weight:800;letter-spacing:.1em}.ff-home-upload-title{font-size:1.3rem;font-weight:800}.ff-home-upload-copy{margin:.35rem 0 1.15rem;color:var(--ff-text-secondary)}
.ff-home-upload-cta{min-height:2.75rem;padding:.55rem 1rem;font-size:.9rem}.ff-home-upload-note{margin-top:.8rem;color:var(--ff-text-muted);font-size:.74rem}

.ff-home-benefit-section{padding:clamp(3.5rem,6vw,5.25rem) 0;background:var(--ff-bg-page);border-block:1px solid var(--ff-border)}
.ff-home-section-heading{max-width:38rem;margin-bottom:2rem}.ff-home-section-heading h2{margin:0;color:var(--ff-text-primary);font-size:clamp(1.55rem,1.35rem + .7vw,2rem);font-weight:800;line-height:1.3;letter-spacing:-.03em}.ff-home-section-heading--compact{margin-bottom:1.35rem}
.ff-home-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.ff-home-benefit{display:grid;grid-template-columns:3.15rem minmax(0,1fr);gap:1rem;align-items:start;padding:1.35rem;background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-sm)}
.ff-home-benefit-icon{width:3rem;height:3rem;display:grid;place-items:center;color:var(--ff-accent-text);background:linear-gradient(145deg,var(--ff-selection-bg),var(--ff-premium-bg));border:1px solid rgba(40,85,217,.08);border-radius:50%}
.ff-home-benefit-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ff-home-benefit h3{margin:.12rem 0 .38rem;color:var(--ff-text-primary);font-size:1.04rem}.ff-home-benefit p{margin:0;color:var(--ff-text-secondary);font-size:.86rem;line-height:1.7}

.ff-home-options{padding:clamp(3.5rem,6vw,5rem) 0}.ff-home-options-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;background:linear-gradient(135deg,var(--ff-bg-subtle),rgba(241,237,255,.58));border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-sm)}
.ff-home-option{display:grid;grid-template-columns:52px minmax(0,1fr);gap:1rem;padding:1.65rem}.ff-home-option+.ff-home-option{border-left:1px solid var(--ff-border)}
.ff-home-option-icon{width:52px;height:52px;display:grid;place-items:center;color:#fff;background:var(--ff-brand-primary);border-radius:50%;font-size:1.15rem;box-shadow:var(--ff-shadow-sm)}.ff-home-option-icon--affiliate{background:var(--ff-brand-accent)}.ff-home-option-icon .ff-icon{width:auto}
.ff-home-option h3,.ff-home-option p{margin:0}.ff-home-option .ff-home-option-label{margin:0 0 .3rem;color:var(--ff-accent-text);font-size:.65rem;font-weight:800;letter-spacing:.08em}.ff-home-option h3{color:var(--ff-text-primary);font-size:1rem}.ff-home-option p:not(.ff-home-option-label){margin:.35rem 0 .65rem;color:var(--ff-text-secondary);font-size:.84rem;line-height:1.65}.ff-home-option a{font-size:.84rem;font-weight:750;text-decoration:none}.ff-home-option a:hover{text-decoration:underline;text-underline-offset:.22rem}

/* Route-bound public footer. */
.ff-public-footer{color:#d9dfeb;background:#182235}
.ff-public-footer-inner{width:min(calc(100% - 2 * var(--ff-page-gutter)),var(--ff-public-max-width));display:grid;grid-template-columns:minmax(13rem,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,5rem);margin-inline:auto;padding:3rem 0 2.25rem}
.ff-brand-inverse{color:#fff!important}.ff-public-footer-brand p{max-width:15rem;margin:1rem 0 0;color:#aeb9cd;font-size:.86rem;line-height:1.75}
.ff-public-footer-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.ff-public-footer-groups>div{display:flex;flex-direction:column;align-items:flex-start}
.ff-public-footer h2{margin:0 0 .65rem;color:#fff;font-size:.78rem;letter-spacing:.06em}
.ff-public-footer-groups a{min-height:2.1rem;display:flex;align-items:center;color:#cbd4e3!important;font-size:.8rem;text-decoration:none!important}.ff-public-footer-groups a:hover{color:#fff!important}
.ff-public-footer-bottom{border-top:1px solid rgba(255,255,255,.1)}.ff-public-footer-bottom>div{width:min(calc(100% - 2 * var(--ff-page-gutter)),var(--ff-public-max-width));margin-inline:auto;padding:.9rem 0;color:#98a5ba;font-size:.74rem}

@media(max-width:63.99rem){
  .ff-public-header-inner{flex-wrap:wrap;gap:.45rem;padding-block:.55rem}.ff-public-menu-button{display:grid;place-items:center}.ff-public-actions{margin-left:.15rem;padding-left:.45rem}
  .ff-public-nav{order:4;width:100%;display:none;margin:0;padding:.45rem 0 0;border-top:1px solid var(--ff-border)}.ff-public-nav.is-open{display:grid}.ff-public-nav-link{min-height:2.75rem;padding:.4rem .65rem;border-radius:var(--ff-radius-sm)}.ff-public-nav-link::after{display:none}.ff-public-nav-link:hover,.ff-public-nav-link.is-active{color:var(--ff-accent-text)!important;background:var(--ff-bg-subtle)}
  .ff-home-hero-grid{grid-template-columns:1fr}.ff-home-hero{padding-top:3.5rem}.ff-home-upload-panel{max-width:43rem}.ff-home-upload-surface{min-height:18rem}.ff-public-footer-inner{grid-template-columns:1fr}.ff-public-footer-groups{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:47.99rem){
  .ff-home-benefits{grid-template-columns:1fr}.ff-home-options-panel{grid-template-columns:1fr}.ff-home-option+.ff-home-option{border-top:1px solid var(--ff-border);border-left:0}.ff-public-footer-inner{gap:2rem;padding:2.5rem 0 2rem}.ff-public-footer-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
}
@media(max-width:31rem){
  .ff-public-header-inner{width:calc(100% - 1.5rem)}.ff-public-actions{gap:.05rem;padding-left:.3rem}.ff-public-actions .ff-text-action,.ff-public-actions .ff-primary-action{min-height:2.45rem;padding-inline:.55rem;font-size:.8rem}.ff-public-actions .ff-logout-action{display:none}.ff-brand{font-size:1rem}.ff-brand-mark{width:1.8rem;height:1.8rem}.ff-admin-entry{display:none}.ff-user-chip{width:2.45rem;min-height:2.45rem;justify-content:center;padding:0}.ff-user-chip>span:last-child{display:none}
  .ff-home-intro h1{font-size:2.45rem}.ff-home-lead{font-size:.96rem}.ff-home-upload-panel{padding:.5rem}.ff-home-upload-surface{min-height:16rem;padding:1.25rem}.ff-home-actions{align-items:stretch;flex-direction:column}.ff-home-primary,.ff-home-secondary{width:100%}.ff-home-benefit{padding:1.15rem}.ff-home-option{grid-template-columns:48px minmax(0,1fr);padding:1.3rem 1.15rem}.ff-home-option-icon{width:48px;height:48px;font-size:1.05rem}.ff-public-footer-inner,.ff-public-footer-bottom>div{width:calc(100% - 2rem)}.ff-public-footer-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.ff-public-footer-groups a{font-size:.76rem}
}

/* Phase 04G — public utility, support, legal, and safe edge states. */
.ff-info-page{width:min(calc(100% - 2 * var(--ff-page-gutter)),68rem);margin-inline:auto;padding:clamp(2.75rem,6vw,5.75rem) 0 clamp(4rem,7vw,6.5rem)}
.ff-info-hero{max-width:46rem;margin-bottom:clamp(1.75rem,4vw,2.75rem)}
.ff-info-eyebrow{margin:0 0 .6rem;color:var(--ff-accent-text);font-size:.76rem;font-weight:800;letter-spacing:.075em}
.ff-info-hero h1,.ff-state-card h1{margin:0;color:var(--ff-text-primary);font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.18;letter-spacing:-.04em}
.ff-info-hero>p:last-child,.ff-state-card>p{max-width:42rem;margin:.9rem 0 0;color:var(--ff-text-secondary);font-size:1rem;line-height:1.8}
.ff-info-card,.ff-legal-article,.ff-state-card{background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-sm)}
.ff-info-card{padding:clamp(1.25rem,3vw,1.8rem)}
.ff-info-card h2,.ff-info-note h2,.ff-utility-results h2{margin:0 0 .55rem;color:var(--ff-text-primary);font-size:1.08rem;font-weight:780;line-height:1.4}
.ff-info-card p,.ff-info-note p{margin:0;color:var(--ff-text-secondary);font-size:.88rem;line-height:1.75}
.ff-info-primary{min-height:2.8rem;display:inline-flex;align-items:center;justify-content:center;margin-top:1.15rem;padding:.58rem 1.05rem;color:#fff!important;background:linear-gradient(105deg,var(--ff-brand-primary),var(--ff-brand-accent));border:0;border-radius:var(--ff-radius-sm);font-size:.88rem;font-weight:760;text-decoration:none!important;box-shadow:0 7px 18px rgba(40,85,217,.14);cursor:pointer}
.ff-info-primary:hover{filter:saturate(1.06) brightness(1.04);box-shadow:0 9px 22px rgba(40,85,217,.2)}
.ff-info-primary:focus-visible,.ff-info-link:focus-visible,.ff-faq-list .accordion-button:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px}
.ff-info-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.85rem;color:var(--ff-accent-text)!important;font-size:.86rem;font-weight:750;text-decoration:none!important}
.ff-info-link:hover{text-decoration:underline!important;text-underline-offset:.22rem}
.ff-info-note{margin-top:1.5rem;padding:1.25rem 1.4rem;background:var(--ff-bg-subtle);border:1px solid var(--ff-border);border-radius:var(--ff-radius-md)}
.ff-break-anywhere{overflow-wrap:anywhere;word-break:break-word}

.ff-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ff-support-primary{grid-column:1/-1;display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:1.15rem;background:linear-gradient(135deg,var(--ff-bg-surface),var(--ff-selection-bg));border-color:rgba(40,85,217,.2)}
.ff-info-icon{width:3.35rem;height:3.35rem;display:grid;place-items:center;color:var(--ff-accent-text);background:var(--ff-bg-surface);border:1px solid rgba(40,85,217,.18);border-radius:50%;font-size:1.25rem;font-weight:850;box-shadow:var(--ff-shadow-sm)}

.ff-faq-page{max-width:60rem}.ff-faq-list{overflow:hidden;border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-sm)}
.ff-faq-list .accordion-item{border:0;border-bottom:1px solid var(--ff-border)}.ff-faq-list .accordion-item:last-child{border-bottom:0}
.ff-faq-list .accordion-button{padding:1.2rem 1.35rem;color:var(--ff-text-primary);background:var(--ff-bg-surface);font-size:.95rem;font-weight:750;box-shadow:none}
.ff-faq-list .accordion-button:not(.collapsed){color:var(--ff-accent-text);background:var(--ff-selection-bg)}
.ff-faq-list .accordion-body{padding:1.1rem 1.35rem 1.3rem;color:var(--ff-text-secondary);font-size:.9rem;line-height:1.8}

.ff-legal-page{max-width:58rem}.ff-legal-article{padding:clamp(1.5rem,4vw,2.6rem);color:var(--ff-text-secondary);font-size:.94rem;line-height:1.9}
.ff-legal-article p{margin:0 0 1.25rem}.ff-legal-article p:last-child{margin-bottom:0}
.ff-legal-article ul,.ff-legal-article ol{display:grid;gap:.85rem;margin:1rem 0 1.5rem;padding-left:1.4rem}
.ff-legal-article li{padding-left:.2rem}.ff-legal-article section+section{margin-top:2.2rem;padding-top:2rem;border-top:1px solid var(--ff-border)}
.ff-legal-article h2{margin:0 0 .85rem;color:var(--ff-text-primary);font-size:1.18rem;font-weight:780;line-height:1.45}

.ff-utility-page,.ff-report-page{max-width:58rem}.ff-utility-form-card form,.ff-info-form{display:grid;gap:1rem}
.ff-info-label,.ff-info-field label{color:var(--ff-text-primary);font-size:.84rem;font-weight:750}
.ff-utility-textarea,.ff-info-field .form-control,.ff-info-field .form-select{width:100%;padding:.72rem .82rem;color:var(--ff-text-primary);background:var(--ff-bg-surface);border:1px solid var(--ff-border-strong);border-radius:var(--ff-radius-sm);box-shadow:none}
.ff-utility-textarea:focus,.ff-info-field .form-control:focus,.ff-info-field .form-select:focus{border-color:var(--ff-brand-primary);box-shadow:0 0 0 3px var(--ff-focus)}
.ff-info-help{margin:-.35rem 0 0;color:var(--ff-text-muted);font-size:.76rem;line-height:1.6}.ff-utility-form-card .ff-info-primary,.ff-info-form .ff-info-primary{justify-self:start;margin-top:.2rem}
.ff-utility-results{margin-top:1rem}.ff-table-scroll{max-width:100%;overflow-x:auto}.ff-info-table{width:100%;border-collapse:collapse;font-size:.83rem}
.ff-info-table th,.ff-info-table td{padding:.8rem .7rem;border-bottom:1px solid var(--ff-border);text-align:left;vertical-align:middle}.ff-info-table th{color:var(--ff-text-muted);font-size:.74rem;font-weight:780;letter-spacing:.03em}.ff-info-table tr:last-child td{border-bottom:0}
.ff-info-size{white-space:nowrap;text-align:right!important}.ff-status-pill{display:inline-flex;align-items:center;gap:.38rem;white-space:nowrap;font-size:.76rem;font-weight:750}.ff-status-dot{width:.52rem;height:.52rem;border-radius:50%;background:currentColor}
.ff-status-success{color:var(--ff-success)}.ff-status-warning{color:var(--ff-warning)}.ff-status-error{color:var(--ff-danger)}
.ff-info-alert{padding:.8rem 1rem;color:var(--ff-danger);background:var(--ff-danger-bg);border:1px solid var(--ff-danger-border);border-radius:var(--ff-radius-sm);font-size:.84rem;line-height:1.6}
.ff-report-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 0 1.5rem;padding:1rem;background:var(--ff-bg-subtle);border-radius:var(--ff-radius-sm)}
.ff-report-context div{min-width:0}.ff-report-context dt{color:var(--ff-text-muted);font-size:.74rem;font-weight:700}.ff-report-context dd{margin:.25rem 0 0;color:var(--ff-text-primary);font-size:.85rem}.ff-info-field{display:grid;gap:.42rem}.ff-info-security{max-width:100%;overflow:hidden}

.ff-state-page{width:min(calc(100% - 2 * var(--ff-page-gutter)),38rem);margin-inline:auto;padding:clamp(3.5rem,9vw,7rem) 0 clamp(4.5rem,9vw,7.5rem)}
.ff-state-card{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1.6rem,5vw,2.6rem)}
.ff-state-code{margin-bottom:.8rem;color:var(--ff-accent-text);font-size:.84rem;font-weight:850;letter-spacing:.16em}.ff-state-icon{width:3rem;height:3rem;display:grid;place-items:center;margin-bottom:1rem;color:var(--ff-accent-text);background:var(--ff-selection-bg);border-radius:50%;font-size:1.15rem;font-weight:800}

/* Announcements in the user shell reuse the container top spacing. */
.ff-user-shell .ff-info-page.ff-news-page{padding-top:0}
.ff-news-page{max-width:58rem}.ff-news-list{display:grid;gap:1rem}.ff-news-card time,.ff-news-article time{display:block;color:var(--ff-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.035em}
.ff-news-page>.ff-info-hero h1{font-size:clamp(1.65rem,2.3vw,2.1rem)}
.ff-news-list .ff-news-card{padding-block:1.25rem}
.ff-news-card h2{margin:.45rem 0 0;font-size:1.18rem;line-height:1.45}.ff-news-card h2 a{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:var(--ff-text-primary)!important;text-decoration:none}.ff-news-card h2 a:hover{color:var(--ff-accent-text)!important}
.ff-news-content{color:var(--ff-text-secondary);font-size:.9rem;line-height:1.85;overflow-wrap:anywhere}.ff-news-content>:last-child{margin-bottom:0}.ff-news-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.ff-news-comments{color:var(--ff-text-muted)!important;font-size:.76rem;text-decoration:none!important}
.ff-news-paging{margin-top:1.5rem}.ff-news-empty{text-align:left}.ff-news-back{margin-bottom:1rem}.ff-news-back .ff-info-link{margin-top:0}.ff-news-article{padding:clamp(1.5rem,4vw,2.6rem)}
.ff-news-article h1{margin:.5rem 0 .6rem;color:var(--ff-text-primary);font-size:clamp(1.8rem,4vw,2.65rem);font-weight:800;line-height:1.25;letter-spacing:-.035em}.ff-news-article .ff-news-content{margin-top:1.5rem}.ff-news-comment-area{margin-top:1.5rem}

@media(max-width:47.99rem){
  .ff-info-page{padding-top:2.25rem}.ff-support-grid{grid-template-columns:1fr}.ff-support-primary{grid-column:auto}.ff-report-context{grid-template-columns:1fr}.ff-info-table{min-width:34rem}
}
@media(max-width:31rem){
  .ff-info-page,.ff-state-page{width:calc(100% - 1.5rem)}.ff-info-page{padding-top:1.75rem}.ff-info-card,.ff-legal-article,.ff-state-card{border-radius:var(--ff-radius-md)}.ff-support-primary{grid-template-columns:1fr}.ff-info-primary{width:100%}.ff-utility-form-card .ff-info-primary,.ff-info-form .ff-info-primary{justify-self:stretch}.ff-news-meta{align-items:flex-start;flex-direction:column}
}

/* Second-Pass 02 — focused authentication shell and account-access states. */
.ff-auth-shell{min-height:100vh;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--ff-bg-page) 0,var(--ff-bg-surface) 22rem)}
.ff-auth-shell #ff-app-shell{min-height:100vh;display:flex;flex-direction:column}
.ff-auth-shell-header{min-height:5rem;display:flex;align-items:center;justify-content:center;padding:1rem var(--ff-page-gutter);background:var(--ff-header-bg);border-bottom:1px solid var(--ff-border)}
.ff-auth-shell-header .ff-brand{display:inline-flex}.ff-auth-shell-header .ff-brand-logo{width:auto;height:2rem;display:block}
.ff-auth-main{flex:1;display:flex;align-items:flex-start;justify-content:center}
.ff-auth-shell-footer{padding:1.35rem var(--ff-page-gutter) 1.75rem;color:var(--ff-text-muted);font-size:.74rem;text-align:center;border-top:1px solid var(--ff-border)}
.ff-auth-shell-footer nav{display:flex;justify-content:center;gap:1rem}.ff-auth-shell-footer a{color:var(--ff-text-muted);font-weight:700;text-decoration:none}.ff-auth-shell-footer a:hover{color:var(--ff-accent-text)}.ff-auth-shell-footer p{margin:.55rem 0 0}
.ff-auth-shell-footer a:focus-visible,.ff-auth-shell-header .ff-brand:focus-visible,.ff-auth-cancel:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px}

/* Phase 04F foundation, refined for Second-Pass 02. */
.ff-auth-page{width:min(calc(100% - 2 * var(--ff-page-gutter)),36rem);margin-inline:auto;padding:clamp(2.25rem,6vw,5rem) 0 clamp(3.25rem,7vw,6rem)}
.ff-auth-card{position:relative;padding:clamp(1.45rem,4vw,2.35rem);overflow:hidden;background:var(--ff-bg-elevated);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-md),0 22px 55px rgba(40,85,217,.055)}
.ff-auth-card::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--ff-brand-primary),var(--ff-brand-accent))}
.ff-auth-card-wide{width:min(100%,39rem);margin-inline:auto}
.ff-auth-heading{margin-bottom:1.75rem}
.ff-auth-eyebrow{margin:0 0 .5rem!important;color:var(--ff-accent-text)!important;font-size:.75rem!important;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.ff-auth-heading h1,.ff-result-page h1{margin:0;color:var(--ff-text-primary);font-size:clamp(1.65rem,4vw,2rem);font-weight:800;line-height:1.25;letter-spacing:-.025em}
.ff-auth-heading>p:last-child,.ff-result-page .ff-auth-card>p{margin:.75rem 0 0;color:var(--ff-text-secondary);font-size:.91rem;line-height:1.75}
.ff-auth-form{display:grid;gap:1.15rem}
.ff-auth-field{display:grid;gap:.45rem;text-align:left}
.ff-auth-field label,.ff-auth-turnstile>p{margin:0;color:var(--ff-text-primary);font-size:.78rem;font-weight:750;line-height:1.4}
.ff-auth-field .form-control,.ff-auth-field .form-select{width:100%;min-height:3rem;padding:.68rem .8rem;color:var(--ff-text-primary);background:var(--ff-bg-surface);border:1px solid var(--ff-border-strong);border-radius:var(--ff-radius-sm);font-size:1rem;line-height:1.35;box-shadow:none}
.ff-auth-field .form-control:hover,.ff-auth-field .form-select:hover{border-color:var(--ff-input-hover-border)}
.ff-auth-field .form-control:focus,.ff-auth-field .form-select:focus{border-color:var(--ff-brand-primary);box-shadow:0 0 0 3px var(--ff-focus)}
.ff-auth-field .form-control[aria-invalid=true]{border-color:var(--ff-danger);box-shadow:0 0 0 3px rgba(195,60,82,.12)}
.ff-auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.ff-auth-label-row a{font-size:.79rem;font-weight:700;text-decoration:none}
.ff-auth-help-text{margin:0;color:var(--ff-text-muted);font-size:.76rem;line-height:1.55}
.ff-auth-terms{display:grid;grid-template-columns:1.15rem minmax(0,1fr);gap:.65rem;align-items:start;margin:0;color:var(--ff-text-secondary);font-size:.78rem;line-height:1.65;text-align:left}.ff-auth-terms input{width:1.05rem;height:1.05rem;margin:.18rem 0 0;accent-color:var(--ff-brand-primary)}.ff-auth-terms a{font-weight:750;text-underline-offset:.15rem}.ff-auth-terms input:focus-visible{outline:3px solid var(--ff-focus);outline-offset:2px}
.ff-auth-submit{width:100%;min-height:3rem;display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1rem;color:#fff!important;background:linear-gradient(105deg,var(--ff-brand-primary),var(--ff-brand-accent));border:0;border-radius:var(--ff-radius-sm);font-size:.91rem;font-weight:780;text-decoration:none!important;box-shadow:0 7px 18px rgba(40,85,217,.14)}
.ff-auth-submit:hover{filter:saturate(1.06) brightness(1.04);box-shadow:0 9px 22px rgba(40,85,217,.2)}
.ff-auth-submit:focus-visible,.ff-auth-secondary-button:focus-visible,.ff-auth-help a:focus-visible,.ff-result-link:focus-visible,.ff-auth-label-row a:focus-visible,.ff-auth-secondary a:focus-visible,.ff-auth-optional summary:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px}
.ff-auth-status{display:grid;gap:.25rem;padding:.85rem 1rem;border:1px solid;border-radius:var(--ff-radius-sm);font-size:.82rem;line-height:1.6;text-align:left}
.ff-auth-status strong{font-size:.84rem}.ff-auth-status-error{color:var(--ff-danger);background:var(--ff-danger-bg);border-color:var(--ff-danger-border)}.ff-auth-status-info{color:var(--ff-info);background:var(--ff-info-bg);border-color:var(--ff-info-border)}
.ff-auth-client-error{padding:.75rem .85rem;color:var(--ff-danger);background:var(--ff-danger-bg);border:1px solid var(--ff-danger-border);border-radius:var(--ff-radius-sm);font-size:.82rem;line-height:1.55}
.ff-auth-turnstile{display:grid;gap:.55rem;justify-items:center;text-align:center}
.ff-auth-captcha{max-width:100%;min-height:65px;display:flex;justify-content:center}.ff-auth-captcha>div,.ff-auth-captcha iframe{max-width:100%}
.ff-auth-secondary{display:grid;gap:.65rem;margin-top:1.35rem;padding-top:1.3rem;border-top:1px solid var(--ff-border);text-align:center}.ff-auth-secondary p{margin:0;color:var(--ff-text-secondary);font-size:.82rem}.ff-auth-secondary-button{width:100%;min-height:2.8rem;display:inline-flex;align-items:center;justify-content:center;color:var(--ff-accent-text)!important;background:var(--ff-bg-surface);border:1px solid rgba(40,85,217,.32);border-radius:var(--ff-radius-sm);font-size:.86rem;font-weight:750;text-decoration:none!important}.ff-auth-secondary-button:hover{background:var(--ff-selection-bg);border-color:var(--ff-brand-primary)}
.ff-auth-secondary-inline{display:block}.ff-auth-secondary-inline a{font-weight:750;text-decoration:none}
.ff-auth-help{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem 1rem;margin-top:1.1rem}.ff-auth-help a,.ff-result-link{color:var(--ff-text-muted)!important;font-size:.75rem;font-weight:650;text-decoration:none!important}.ff-auth-help a:hover,.ff-result-link:hover{color:var(--ff-accent-text)!important}
.ff-auth-optional{padding:.85rem 1rem;background:var(--ff-bg-subtle);border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm)}.ff-auth-optional summary{color:var(--ff-text-primary);font-size:.83rem;font-weight:750;cursor:pointer}.ff-auth-optional>p{margin:.65rem 0 1rem;color:var(--ff-text-secondary);font-size:.76rem;line-height:1.55}.ff-auth-optional .ff-auth-field+.ff-auth-field{margin-top:1rem}
.ff-result-page{text-align:center}.ff-result-page .ff-auth-card{display:flex;flex-direction:column;align-items:center}.ff-result-icon{width:3rem;height:3rem;display:grid;place-items:center;margin-bottom:1rem;border-radius:50%;font-size:1.2rem;font-weight:850}.ff-result-icon-success{color:var(--ff-success);background:var(--ff-success-bg)}.ff-result-icon-error{color:var(--ff-danger);background:var(--ff-danger-bg)}.ff-result-icon-info{color:#2855d9;background:var(--ff-selection-bg)}.ff-result-page .ff-auth-submit{margin-top:1.35rem}.ff-result-link{margin-top:1rem}
.ff-result-icon .ff-icon{font-size:1.1rem}.ff-email-change-page .ff-auth-status{margin-bottom:1rem}.ff-auth-processing{display:flex;align-items:center;justify-content:center;gap:.75rem;min-height:7rem;color:var(--ff-text-secondary)}.ff-auth-processing p{margin:0}.ff-auth-processing .ff-icon{color:var(--ff-accent-text);font-size:1.1rem}.ff-auth-summary{margin:0 0 1rem;padding:1rem;background:var(--ff-bg-subtle);border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm)}.ff-auth-summary div{display:grid;gap:.25rem}.ff-auth-summary dt{color:var(--ff-text-muted);font-size:.72rem;font-weight:750}.ff-auth-summary dd{margin:0;color:var(--ff-text-primary);font-size:.86rem;font-weight:750;overflow-wrap:anywhere}.ff-auth-step{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.8rem;margin:1.1rem 0;padding:1rem;background:var(--ff-bg-subtle);border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);text-align:left}.ff-auth-step>span{width:2rem;height:2rem;display:grid;place-items:center;color:#fff;background:var(--ff-brand-primary);border-radius:50%;font-size:.78rem;font-weight:850}.ff-auth-step h2,.ff-auth-result-block h2{margin:0;color:var(--ff-text-primary);font-size:1rem;font-weight:800}.ff-auth-step p,.ff-auth-result-block p{margin:.35rem 0 0;color:var(--ff-text-secondary);font-size:.8rem;line-height:1.7}.ff-auth-cancel{justify-self:center;color:var(--ff-text-muted)!important;font-size:.78rem;font-weight:700;text-decoration:none}.ff-auth-result-block{display:flex;flex-direction:column;align-items:center;text-align:center}.ff-auth-result-block .ff-result-icon{margin-bottom:.8rem}

@media(max-width:31rem){
  .ff-auth-shell-header{min-height:4.5rem}.ff-auth-shell-header .ff-brand-logo{height:1.75rem}.ff-auth-page{width:calc(100% - 1.5rem);padding:1.35rem 0 3rem}.ff-auth-card{padding:1.35rem 1rem;border-radius:var(--ff-radius-md)}.ff-auth-heading{margin-bottom:1.35rem}.ff-auth-form{gap:1rem}.ff-auth-field .form-control,.ff-auth-field .form-select,.ff-auth-submit{min-height:3.125rem}.ff-auth-captcha{margin-inline:auto}.ff-auth-help{flex-direction:column;align-items:center}.ff-auth-shell-footer nav{flex-wrap:wrap}
}

/* Phase 04G — authenticated Anti-Debrid presentation. */
.ff-antidebrid-page{max-width:58rem}.ff-antidebrid-stack{display:grid;gap:1rem;min-width:0}.ff-antidebrid-stack>*{min-width:0}.ff-antidebrid-guide{display:grid;gap:.7rem}.ff-antidebrid-guide p+p{margin-top:0}
.ff-antidebrid-generator>p{margin-bottom:1.2rem}.ff-antidebrid-output-field{margin-bottom:1.15rem}.ff-antidebrid-output-row{display:flex;align-items:stretch;gap:.55rem;min-width:0}.ff-antidebrid-output{min-width:0;font-family:var(--ff-font-mono);font-size:.78rem;text-overflow:ellipsis}
.ff-antidebrid-security{display:grid;gap:.6rem;padding:1rem;background:var(--ff-bg-subtle);border:1px solid var(--ff-border);border-radius:var(--ff-radius-md)}.ff-antidebrid-security h3{margin:0;color:var(--ff-text-primary);font-size:.84rem;font-weight:780}.ff-antidebrid-actions{display:flex;align-items:center;gap:1rem;min-width:0}.ff-antidebrid-actions .ff-info-primary{flex:0 0 auto}.ff-antidebrid-status{min-width:0;margin:1.15rem 0 0;color:var(--ff-text-muted);font-size:.78rem;line-height:1.55;overflow-wrap:anywhere}.ff-antidebrid-status.is-error{color:var(--ff-danger)}.ff-antidebrid-status.is-success{color:var(--ff-success)}
.ff-antidebrid-danger{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.85rem;padding:1.25rem 1.35rem;color:var(--ff-danger);background:var(--ff-danger-bg);border:2px solid var(--ff-danger-border);border-radius:var(--ff-radius-md)}.ff-antidebrid-danger-icon{display:grid;place-items:center;width:2rem;height:2rem;color:#fff;background:var(--ff-danger-solid);border-radius:50%;font-size:1rem;font-weight:850}.ff-antidebrid-danger h2{margin:.08rem 0 .65rem;color:var(--ff-danger);font-size:1.08rem;font-weight:850}.ff-antidebrid-danger p{margin:0;color:var(--ff-text-primary);font-size:.84rem;line-height:1.72}.ff-antidebrid-danger p+p{margin-top:.55rem}.ff-antidebrid-danger strong{color:var(--ff-danger);font-weight:850}.ff-antidebrid-danger a{color:var(--ff-danger);font-weight:800;text-underline-offset:.2rem}
.ff-antidebrid-active h2{margin-bottom:1rem}.ff-antidebrid-table{min-width:48rem}.ff-antidebrid-link-input{display:block;width:100%;min-width:20rem;padding:.48rem .58rem;color:var(--ff-text-primary);background:var(--ff-bg-surface);border:1px solid var(--ff-border-strong);border-radius:var(--ff-radius-sm);font-family:var(--ff-font-mono);font-size:.75rem}.ff-antidebrid-copy{padding:.48rem .72rem;color:var(--ff-accent-text);background:var(--ff-bg-surface);border:1px solid var(--ff-brand-primary);border-radius:var(--ff-radius-sm);font-size:.76rem;font-weight:750;white-space:nowrap}.ff-antidebrid-copy:hover{color:#fff;background:var(--ff-brand-primary)}.ff-antidebrid-copy:disabled{color:var(--ff-text-muted);background:var(--ff-bg-subtle);border-color:var(--ff-border);cursor:not-allowed}.ff-antidebrid-empty{margin:0;color:var(--ff-text-muted);font-size:.84rem}.ff-antidebrid-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-top:1rem;color:var(--ff-text-muted);font-size:.78rem}.ff-antidebrid-pagination span:last-child{text-align:right}.ff-antidebrid-pagination a{font-weight:750}
@media(max-width:31rem){.ff-antidebrid-actions{align-items:stretch;flex-direction:column}.ff-antidebrid-actions .ff-info-primary{width:100%}.ff-antidebrid-status{width:100%;margin-top:0}.ff-antidebrid-security{padding:.85rem;overflow:hidden}.ff-antidebrid-danger{grid-template-columns:1fr;padding:1rem}.ff-antidebrid-danger-icon{width:1.8rem;height:1.8rem}.ff-antidebrid-output-row{align-items:stretch;flex-direction:column}.ff-antidebrid-output-row .ff-antidebrid-copy{min-height:2.8rem}.ff-antidebrid-link-input{min-width:18rem}}

/* Phase 04G-R1 — Affiliate acquisition page. */
.ff-affiliate-page{max-width:72rem;min-width:0}
.ff-affiliate-page *{min-width:0}
.ff-affiliate-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(17rem,.55fr);gap:clamp(1.5rem,5vw,4.5rem);align-items:center;padding:clamp(2rem,5vw,4.25rem);overflow:hidden;color:#fff;background:linear-gradient(128deg,#18294f 0%,#2855d9 58%,#7256d8 100%);border-radius:calc(var(--ff-radius-lg) + .35rem);box-shadow:var(--ff-shadow-md),0 24px 55px rgba(40,85,217,.14)}
.ff-affiliate-hero::after{content:"";position:absolute;right:-6rem;bottom:-9rem;width:21rem;height:21rem;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 3rem rgba(255,255,255,.035),0 0 0 6rem rgba(255,255,255,.025);pointer-events:none}
.ff-affiliate-hero-copy,.ff-affiliate-hero-card{position:relative;z-index:1}
.ff-affiliate-eyebrow,.ff-affiliate-kicker{margin:0 0 .65rem;color:var(--ff-accent-text);font-size:.72rem;font-weight:850;letter-spacing:.12em}
.ff-affiliate-hero .ff-affiliate-eyebrow{color:#dce5ff}
.ff-affiliate-hero h1{max-width:42rem;margin:0;color:#fff;font-size:clamp(2.15rem,5vw,4rem);font-weight:850;line-height:1.13;letter-spacing:-.045em}
.ff-affiliate-lead{max-width:43rem;margin:1.15rem 0 0;color:#e8edff;font-size:clamp(.94rem,1.5vw,1.08rem);line-height:1.85}
.ff-affiliate-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.55rem}
.ff-affiliate-button{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.15rem;border:1px solid transparent;border-radius:var(--ff-radius-sm);font-size:.88rem;font-weight:780;text-decoration:none!important;transition:transform var(--ff-motion-fast) var(--ff-ease-standard),box-shadow var(--ff-motion-fast) var(--ff-ease-standard),background var(--ff-motion-fast) var(--ff-ease-standard)}
.ff-affiliate-button:hover{transform:translateY(-1px)}.ff-affiliate-button:focus-visible,.ff-affiliate-inline-link:focus-visible,.ff-affiliate-table-wrap:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px}
.ff-affiliate-button--primary{color:var(--ff-accent-text)!important;background:var(--ff-bg-surface);box-shadow:0 8px 20px rgba(13,27,63,.2)}.ff-affiliate-button--primary:hover{background:var(--ff-bg-subtle)}
.ff-affiliate-button--secondary{color:#fff!important;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.45)}.ff-affiliate-button--secondary:hover{background:rgba(255,255,255,.17)}
.ff-affiliate-hero-card{padding:1.4rem;background:rgba(15,27,62,.42);border:1px solid rgba(255,255,255,.28);border-radius:var(--ff-radius-lg);backdrop-filter:blur(10px)}
.ff-affiliate-mode{display:inline-flex;margin-bottom:1rem;padding:.32rem .55rem;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:var(--ff-radius-pill);font-size:.68rem;font-weight:850;letter-spacing:.12em}
.ff-affiliate-hero-card strong{display:block;color:#fff;font-size:1.42rem;line-height:1.35}.ff-affiliate-hero-card p{margin:.65rem 0 0;color:#dce5ff;font-size:.82rem;line-height:1.7}

.ff-affiliate-section{padding:clamp(3.2rem,7vw,5.25rem) 0;border-bottom:1px solid var(--ff-border)}
.ff-affiliate-section-heading{max-width:44rem;margin-bottom:1.65rem}.ff-affiliate-section-heading h2,.ff-affiliate-split h2,.ff-affiliate-final h2{margin:0;color:var(--ff-text-primary);font-size:clamp(1.55rem,3.5vw,2.25rem);font-weight:820;line-height:1.28;letter-spacing:-.035em}
.ff-affiliate-section-heading>p:last-child{margin:.7rem 0 0;color:var(--ff-text-secondary);font-size:.9rem;line-height:1.75}
.ff-affiliate-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ff-affiliate-feature-grid article{padding:1.35rem;background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-md);box-shadow:var(--ff-shadow-sm)}
.ff-affiliate-feature-grid article>span{width:2.55rem;height:2.55rem;display:grid;place-items:center;margin-bottom:1rem;color:var(--ff-accent-text);background:linear-gradient(145deg,var(--ff-selection-bg),var(--ff-premium-bg));border-radius:50%;font-size:.82rem;font-weight:850}
.ff-affiliate-feature-grid h3,.ff-affiliate-steps h3{margin:0;color:var(--ff-text-primary);font-size:.94rem;font-weight:780}.ff-affiliate-feature-grid p,.ff-affiliate-steps p{margin:.45rem 0 0;color:var(--ff-text-secondary);font-size:.8rem;line-height:1.72}
.ff-affiliate-section--soft{position:relative;margin-inline:calc(-1 * clamp(1.25rem,4vw,2.5rem));padding-inline:clamp(1.25rem,4vw,2.5rem);background:linear-gradient(135deg,var(--ff-bg-subtle),rgba(241,237,255,.42));border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg)}
.ff-affiliate-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}
.ff-affiliate-steps li{position:relative;display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.75rem;padding:1.25rem 1rem;background:var(--ff-bg-surface);border-block:1px solid var(--ff-border)}.ff-affiliate-steps li:first-child{border-left:1px solid var(--ff-border);border-radius:var(--ff-radius-md) 0 0 var(--ff-radius-md)}.ff-affiliate-steps li:last-child{border-right:1px solid var(--ff-border);border-radius:0 var(--ff-radius-md) var(--ff-radius-md) 0}.ff-affiliate-steps li+li::before{content:"";position:absolute;top:1.25rem;bottom:1.25rem;left:0;width:1px;background:var(--ff-border)}
.ff-affiliate-steps li>span{width:2.25rem;height:2.25rem;display:grid;place-items:center;color:#fff;background:var(--ff-brand-primary);border-radius:50%;font-size:.78rem;font-weight:850}
.ff-affiliate-split{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}.ff-affiliate-split>div>p{margin:.8rem 0 0;color:var(--ff-text-secondary);font-size:.9rem;line-height:1.85}.ff-affiliate-split strong{color:var(--ff-text-primary)}
.ff-affiliate-status-card,.ff-affiliate-note{padding:1.35rem;background:var(--ff-bg-subtle);border:1px solid var(--ff-border);border-left:4px solid var(--ff-brand-primary);border-radius:var(--ff-radius-md)}.ff-affiliate-status-card strong,.ff-affiliate-note strong{display:block;font-size:.9rem}.ff-affiliate-status-card p,.ff-affiliate-note p{margin:.5rem 0 0;color:var(--ff-text-secondary);font-size:.8rem;line-height:1.7}
.ff-affiliate-inline-link{display:inline-flex;margin-top:1rem;color:var(--ff-accent-text)!important;font-size:.84rem;font-weight:780;text-decoration:none!important}.ff-affiliate-inline-link::after{content:"→";margin-left:.4rem}.ff-affiliate-inline-link:hover{text-decoration:underline!important;text-underline-offset:.2rem}
.ff-affiliate-vip-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1.1rem 0 0;padding:0;counter-reset:vip-step;list-style:none}.ff-affiliate-vip-steps li{counter-increment:vip-step;padding:.7rem .75rem;color:var(--ff-text-secondary);background:var(--ff-bg-subtle);border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);font-size:.76rem;line-height:1.55}.ff-affiliate-vip-steps li::before{content:counter(vip-step) ". ";color:var(--ff-accent-text);font-weight:850}
.ff-affiliate-table-wrap{max-width:100%;overflow-x:auto;background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-sm)}
.ff-affiliate-table{width:100%;min-width:36rem;border-collapse:collapse}.ff-affiliate-table th,.ff-affiliate-table td{padding:1rem 1.2rem;border-bottom:1px solid var(--ff-border);text-align:left}.ff-affiliate-table thead th{color:var(--ff-text-muted);background:var(--ff-bg-subtle);font-size:.74rem;font-weight:780;letter-spacing:.035em}.ff-affiliate-table tbody th{color:var(--ff-text-primary);font-size:.86rem}.ff-affiliate-table td{color:var(--ff-accent-text);font-size:1rem}.ff-affiliate-table tbody tr:last-child>*{border-bottom:0}
.ff-affiliate-caption{margin:.8rem 0 0;color:var(--ff-text-muted);font-size:.74rem;line-height:1.65}
.ff-affiliate-rules{display:grid;gap:.8rem;margin:0;padding:0;list-style:none}.ff-affiliate-rules li{position:relative;padding:1rem 1.1rem 1rem 2.4rem;color:var(--ff-text-secondary);background:var(--ff-bg-surface);border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm);font-size:.84rem;line-height:1.75}.ff-affiliate-rules li::before{content:"✓";position:absolute;top:1rem;left:1rem;color:var(--ff-accent-text);font-weight:850}.ff-affiliate-rules strong{color:var(--ff-text-primary)}
.ff-affiliate-legal{margin:1.15rem 0 0;color:var(--ff-text-muted);font-size:.78rem;line-height:1.7}.ff-affiliate-legal a{font-weight:750;text-underline-offset:.18rem}
.ff-affiliate-final{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:clamp(3.25rem,7vw,5.5rem);padding:clamp(1.6rem,4vw,2.5rem);color:#fff;background:linear-gradient(120deg,#1d3264,var(--ff-brand-primary));border-radius:var(--ff-radius-lg);box-shadow:var(--ff-shadow-md)}
.ff-affiliate-final .ff-affiliate-kicker{color:#dce5ff}.ff-affiliate-final h2{color:#fff}.ff-affiliate-final p:last-child{max-width:40rem;margin:.55rem 0 0;color:#dce5ff;font-size:.86rem;line-height:1.7}.ff-affiliate-button--light{flex:0 0 auto;color:var(--ff-accent-text)!important;background:var(--ff-bg-surface)}.ff-affiliate-button--light:hover{background:var(--ff-bg-subtle)}

@media(max-width:63.99rem){
  .ff-affiliate-hero{grid-template-columns:1fr}.ff-affiliate-hero-card{max-width:28rem}.ff-affiliate-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-affiliate-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.ff-affiliate-steps li:first-child{border-radius:var(--ff-radius-md) 0 0 0}.ff-affiliate-steps li:nth-child(2){border-right:1px solid var(--ff-border);border-radius:0 var(--ff-radius-md) 0 0}.ff-affiliate-steps li:nth-child(3){border-left:1px solid var(--ff-border);border-radius:0 0 0 var(--ff-radius-md)}.ff-affiliate-steps li:last-child{border-radius:0 0 var(--ff-radius-md) 0}.ff-affiliate-steps li:nth-child(n+3){border-top:0}.ff-affiliate-split{grid-template-columns:1fr}.ff-affiliate-status-card,.ff-affiliate-note{max-width:34rem}
}
@media(max-width:47.99rem){
  .ff-affiliate-hero{padding:1.65rem;border-radius:var(--ff-radius-lg)}.ff-affiliate-feature-grid,.ff-affiliate-steps{grid-template-columns:1fr}.ff-affiliate-steps li,.ff-affiliate-steps li:first-child,.ff-affiliate-steps li:nth-child(2),.ff-affiliate-steps li:nth-child(3),.ff-affiliate-steps li:last-child{border:1px solid var(--ff-border);border-bottom:0;border-radius:0}.ff-affiliate-steps li:first-child{border-radius:var(--ff-radius-md) var(--ff-radius-md) 0 0}.ff-affiliate-steps li:last-child{border-bottom:1px solid var(--ff-border);border-radius:0 0 var(--ff-radius-md) var(--ff-radius-md)}.ff-affiliate-steps li+li::before{display:none}.ff-affiliate-final{align-items:flex-start;flex-direction:column}
}
@media(max-width:31rem){
  .ff-affiliate-page{width:calc(100% - 1.5rem)}.ff-affiliate-hero{padding:1.35rem 1rem}.ff-affiliate-hero h1{font-size:2.15rem}.ff-affiliate-actions{align-items:stretch;flex-direction:column}.ff-affiliate-button{width:100%}.ff-affiliate-hero-card{padding:1rem}.ff-affiliate-section--soft{margin-inline:0;padding-inline:1rem}.ff-affiliate-vip-steps{grid-template-columns:1fr}.ff-affiliate-table th,.ff-affiliate-table td{padding:.85rem}.ff-affiliate-final{padding:1.35rem 1rem}
}

/* Second-Pass 07: affiliate page content spacing only. */
.ff-info-page.ff-affiliate-page{width:min(calc(100% - 2 * var(--ff-page-gutter)),72rem);padding-block:2rem 3rem}
.ff-affiliate-page .ff-affiliate-hero{padding:clamp(1.35rem,3vw,2.25rem);gap:2rem;box-shadow:var(--ff-shadow-sm)}
.ff-affiliate-page .ff-affiliate-hero::after{display:none}
.ff-affiliate-page .ff-affiliate-hero h1{font-size:clamp(2.15rem,3.5vw,3rem);line-height:1.2}
.ff-affiliate-page .ff-affiliate-lead{margin-top:.85rem}
.ff-affiliate-page .ff-affiliate-actions{margin-top:1.15rem}
.ff-affiliate-page .ff-affiliate-hero-card{padding:1.15rem}
.ff-affiliate-page .ff-affiliate-mode{margin-bottom:.65rem;letter-spacing:0;font-size:.8rem}
.ff-affiliate-page .ff-affiliate-section{padding-block:1.75rem}
.ff-affiliate-page .ff-affiliate-section-heading{max-width:none;margin-bottom:1rem}
.ff-affiliate-page .ff-affiliate-section-heading h2{font-size:clamp(1.55rem,2.5vw,1.85rem)}
.ff-affiliate-page .ff-affiliate-participation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.ff-affiliate-page .ff-affiliate-participation h3{margin:0;font-size:1rem;font-weight:780}
.ff-affiliate-page .ff-affiliate-participation p,.ff-affiliate-page .ff-affiliate-source-note{margin:.6rem 0 0;color:var(--ff-text-secondary);font-size:.9rem;line-height:1.75}
.ff-affiliate-page .ff-affiliate-source-note{margin-top:1.15rem}
.ff-affiliate-page .ff-affiliate-inline-link{margin-top:.7rem}
.ff-affiliate-page .ff-affiliate-status-card{max-width:none;padding:1rem 1.15rem}
.ff-affiliate-page .ff-affiliate-status-card p{font-size:.9rem}
.ff-affiliate-page .ff-affiliate-table th,.ff-affiliate-page .ff-affiliate-table td{padding:.85rem 1rem}
.ff-affiliate-page .ff-affiliate-table thead th,.ff-affiliate-page .ff-affiliate-caption{font-size:.84rem}
.ff-affiliate-page .ff-affiliate-rules{gap:.55rem}
.ff-affiliate-page .ff-affiliate-rules li{padding:.65rem 1rem .65rem 2.4rem}
.ff-affiliate-page .ff-affiliate-rules li::before{top:.65rem}
.ff-affiliate-page a:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px}
@media(max-width:47.99rem){.ff-affiliate-page .ff-affiliate-participation{grid-template-columns:1fr;gap:1.15rem}}
@media(max-width:31rem){.ff-info-page.ff-affiliate-page{width:calc(100% - 1.5rem);padding-top:1.5rem}}

/* Second-Pass 07 R4: affiliate body only; approved hero stays unchanged. */
.ff-affiliate-page .ff-affiliate-income-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem}
.ff-affiliate-page .ff-affiliate-income-card{padding:1.25rem;background:var(--ff-bg-surface,var(--ff-bg-surface));border:1px solid var(--ff-border);border-radius:var(--ff-radius-md)}
.ff-affiliate-page .ff-affiliate-income-card h3,.ff-affiliate-page .ff-affiliate-help-grid h3,.ff-affiliate-page .ff-affiliate-rule-list h3{margin:0;color:var(--ff-text-primary);font-size:1rem;font-weight:780;line-height:1.5}
.ff-affiliate-page .ff-affiliate-income-card p,.ff-affiliate-page .ff-affiliate-help-grid p,.ff-affiliate-page .ff-affiliate-rule-list p,.ff-affiliate-page .ff-affiliate-faq p{margin:.65rem 0 0;color:var(--ff-text-secondary);font-size:.9rem;line-height:1.8}
.ff-affiliate-page .ff-affiliate-income-card .ff-affiliate-income-highlight{color:var(--ff-accent-text);font-size:1rem;font-weight:780}
.ff-affiliate-page .ff-affiliate-income-card .ff-affiliate-income-note{padding-top:.65rem;border-top:1px solid var(--ff-border)}
.ff-affiliate-page .ff-affiliate-help-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.ff-affiliate-page .ff-affiliate-help-grid li,.ff-affiliate-page .ff-affiliate-rule-list li{padding:1rem 1rem 1rem 2.4rem}
.ff-affiliate-page .ff-affiliate-help-grid li::before,.ff-affiliate-page .ff-affiliate-rule-list li::before{top:1rem}
.ff-affiliate-page .ff-affiliate-help-link{color:var(--ff-accent-text);text-underline-offset:.2rem}
.ff-affiliate-page .ff-affiliate-rule-list{counter-reset:affiliate-rule}
.ff-affiliate-page .ff-affiliate-rule-list li{counter-increment:affiliate-rule}
.ff-affiliate-page .ff-affiliate-rule-list li::before{content:counter(affiliate-rule) "."}
.ff-affiliate-page .ff-affiliate-faq{display:grid;gap:.65rem}
.ff-affiliate-page .ff-affiliate-faq details{padding:1rem;background:var(--ff-bg-surface,var(--ff-bg-surface));border:1px solid var(--ff-border);border-radius:var(--ff-radius-sm)}
.ff-affiliate-page .ff-affiliate-faq summary{cursor:pointer;color:var(--ff-text-primary);font-size:.95rem;font-weight:750;line-height:1.65;overflow-wrap:anywhere}
.ff-affiliate-page .ff-affiliate-faq summary:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px}
@media(max-width:47.99rem){.ff-affiliate-page .ff-affiliate-income-grid,.ff-affiliate-page .ff-affiliate-help-grid{grid-template-columns:1fr}}

/* Second-Pass 07 R4.3: equal income cards only in the existing two-column layout. */
@media(min-width:48rem){
  .ff-affiliate-page .ff-affiliate-income-grid{grid-auto-rows:1fr;align-items:stretch}
  .ff-affiliate-page .ff-affiliate-income-card{display:flex;flex-direction:column}
  .ff-affiliate-page .ff-affiliate-income-card>.ff-affiliate-inline-link{margin-top:auto;padding-top:.7rem;align-self:flex-start}
}

/* Support R1: the shared contact body fits the existing authenticated shell. */
.ff-user-shell .ff-info-page.ff-support-page{width:min(100%,72rem);padding-top:0}
.ff-user-shell .ff-support-page .ff-info-hero h1{font-size:clamp(1.65rem,2.3vw,2.1rem)}

/* Design2 legal policy publication: page-local reading and spacing. */
.ff-info-page.ff-legal-page{max-width:68rem;padding-top:24px}
.ff-legal-page .ff-info-hero{max-width:none;margin-bottom:1.5rem}
.ff-legal-page .ff-info-hero h1{font-size:clamp(1.65rem,2.3vw,2.1rem);line-height:1.3;letter-spacing:-.025em}
.ff-legal-page .ff-info-hero .ff-legal-subtitle{margin:.4rem 0 0;color:var(--ff-text-secondary);font-size:.94rem;line-height:1.5}
.ff-legal-page .ff-info-hero .ff-legal-updated{margin:.75rem 0 0;color:var(--ff-text-muted);font-size:.82rem;line-height:1.6}
.ff-legal-page .ff-legal-article{box-shadow:none;overflow-wrap:anywhere;font-size:max(.94rem,15px)}
.ff-legal-page .ff-legal-article a{color:var(--ff-link);text-decoration:underline;text-underline-offset:.18em}
.ff-legal-page a:focus-visible,.ff-public-footer a:focus-visible{outline:3px solid var(--ff-focus);outline-offset:3px;border-radius:2px}
.ff-user-shell .ff-info-page.ff-legal-page{width:min(100%,68rem);padding-top:0}
@media(max-width:48rem){.ff-info-page.ff-legal-page{padding-top:16px}.ff-user-shell .ff-info-page.ff-legal-page{padding-top:0}.ff-legal-page .ff-legal-article{padding:1.25rem}.ff-legal-page .ff-legal-article h2{font-size:1.12rem}}
