.renewal{font-size:12px;line-height:1.5;color:#17181b!important;margin:12px 0 0;min-height:36px}.age-gate{border:1px solid rgba(245,244,242,.22);border-radius:16px;padding:18px;margin:24px 0;color:#f5f4f2}.age-gate legend{font-weight:500;padding:0 6px}.age-gate p{font-size:13px!important}.dob-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dob-fields label{display:grid;gap:6px;text-align:left;font-size:13px}.dob-fields input,.dob-fields select{width:100%;min-width:0;padding:10px;border:1px solid rgba(245,244,242,.3);border-radius:9px;background:#252529;color:#f5f4f2;font:inherit;color-scheme:dark}.age-confirm{display:flex;align-items:flex-start;gap:9px;text-align:left;font-size:13px;margin-top:16px}.age-confirm input{margin-top:3px;accent-color:#f5f4f2}.age-gate #age-status:empty{display:none}.availability{font-size:12px;line-height:1.5;margin:12px auto}.ai-disclaimer{font-size:11px!important;line-height:1.5!important;text-align:center;margin:8px 4px 0!important;color:#f5f4f2!important}.hero .compose-wrap{padding-bottom:8px}.dialog{max-height:calc(100dvh - 32px);overflow:auto}.dialog :is(p,label,legend,span,small,a){color:#f5f4f2!important}.dialog .sso,.dialog .sso span{color:#17181b!important}.dialog .pill{background:#f5f4f2;color:#17181b!important}.dialog .sso:hover,.dialog .pill:hover{background:#deddd9!important;color:#17181b!important}.pc ul li{color:#17181b!important}.foot-col>a{display:block}body:has(.layout) :is(.intro,.layout,.footer){color:#17181b}body:has(.layout){background:#e9e8e4;color:#17181b;font-family:Inter,Arial,sans-serif}body:has(.layout) :is(p,small,a,b,h1,h2,li){color:inherit!important}body:has(.layout) header{background:#e9e8e4;color:#17181b}body:has(.layout) h1{font-family:'Inter Tight',Inter,sans-serif}.review-note{padding:18px;border:1px solid currentColor;border-radius:12px;margin-bottom:24px}
/* Keep all copy on each surface readable, including animated message fragments. */
html body :is(.appwin,.b6 .snip,.end-glass){--w:#f5f4f2;color:#f5f4f2!important}
html body :is(.appwin,.b6 .snip) :where(p,span,small,b,strong,em,i,li,div,label,textarea,code,a){color:#f5f4f2!important}
html body .b6 .s-grp .gm-ai .bubble{color:#f5f4f2!important}
html body .b6 .s-code .cf svg{color:#f5f4f2!important;fill:currentColor}
html body :is(.b6 .snip,.appwin) svg{color:#f5f4f2!important}
html body .b6 .avatars i{color:#17181b!important}
html body .hero .hs-email input::placeholder{color:#17181b;opacity:1}
html body .availability{color:#17181b!important}
.pg-personal .pc:not(:has(.renewal)) .pc-b{margin-bottom:48px}
.skip:not(:focus){width:1px;height:1px;padding:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip:focus{color:#f5f4f2!important;background:#17181b!important;border-radius:8px}

/* Light controls and badges own their ink; dark windows do not override it. */
html body .appwin :is(.sc-n,.at-i),html body .appwin :is(.sc-n,.at-i) *{color:#17181b!important;background-color:#f5f4f2!important}
html body .b6 :is(.av,.who) i{color:#17181b!important;flex-shrink:0;line-height:1}
html body .b6 .av i:nth-child(3),html body .b6 .s-fam .pv-row:nth-of-type(3) .who i{color:#f5f4f2!important}
html body .end-glass .end-go,html body .end-glass .end-go *,html body .end-glass .end-go::after{color:#17181b!important}
html body .pc.featured .pc-b,html body .pc.featured .pc-b *,html body .pc.featured .pc-b::after{color:#f5f4f2!important}
html body .pc.featured .pc-b:hover,html body .pc.featured .pc-b:focus-visible{background:#2a2b30!important;color:#f5f4f2!important}
html body .b6 .gm.ai p{background:#17181b!important;color:#f5f4f2!important}
html body .b6 .cd-out::before{background-color:#f5f4f2!important;flex:0 0 14px}
/* Do not let a theme override reveal completion before its animation finishes. */
html body .b6 .s-res:not(.done) .rs-done{opacity:0!important;visibility:hidden}
html body .b6 .s-res.done .rs-done{opacity:1!important;visibility:visible;transform:none}
html body .b6 .s-res li:not(.ok) .cb path{opacity:0}
html body .b6 .s-res li.ok .cb path{opacity:1}
html body .b6 .fc.js .s-code:not(.fixed) .cd-out{opacity:0!important;visibility:hidden}
html body .b6 .fc.js .s-code.fixed .cd-out{opacity:1!important;visibility:visible;transform:none}
/* Complete code lines wrap within the window rather than being cropped. */
html body .b6 .s-code pre{white-space:normal!important;overflow:visible!important}
html body .b6 .s-code .code-line{display:grid;grid-template-columns:20px minmax(0,1fr);gap:0;min-height:1.75em}
html body .b6 .s-code .code-line .ln{margin:0;width:auto}
html body .b6 .s-code .code-line code{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}
html body .b6 .s-code .code-line :is(.add,.del){display:inline;white-space:pre-wrap;overflow-wrap:anywhere}
html body .b6 .snip{flex-shrink:0;max-width:100%!important;box-sizing:border-box}
html body .b6 .sn-h{flex-wrap:nowrap;min-width:0;gap:8px}
html body .b6 .sn-h em{flex-shrink:0;font-size:11px}
html body .b6 .snip{transform:none!important}
@media(max-width:1200px){
 html body .b6 .fc,html body .b6 .fc:has(.s-code){display:flex!important;flex-direction:column;min-height:0!important;gap:28px!important}
 html body .b6 .fc .snip{align-self:center;max-width:560px!important}
 html body .b6 .fc .fc-t{align-self:stretch}
}
/* A fixed top bar avoids overflow ancestors disabling CSS sticky. */
html body header.header,html body header.header.scrolled{position:fixed!important;top:0!important;left:0;right:0;transform:none!important;animation:none!important}
body:has(>header.header){padding-top:72px}
html{scroll-padding-top:92px}
@media(min-width:761px){html body header.header .nav{position:absolute!important;left:50%;transform:translateX(-50%);margin:0!important;white-space:nowrap}html body header.header .account{margin-left:auto}}
@media(min-width:761px) and (max-width:1100px){html body header.header .hdr-ghost{display:none!important}html body header.header .nav{gap:2px!important;font-size:12px!important}html body header.header .nav a{padding-inline:8px!important}}
@media(max-width:760px){body:has(>header.header){padding-top:64px}html{scroll-padding-top:84px}}
html body .foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
html body .foot2 .availability{text-align:left;margin:24px 0 0;font-size:12px;color:#17181b!important}
@media(prefers-reduced-motion:reduce){html body .b6 .s-res .rs-done,html body .b6 .s-code .cd-out{opacity:1!important;visibility:visible}html body .b6 .s-code .add{clip-path:none!important}}

html body header.header,html body header.header.scrolled,html.lg-refract body header.header.scrolled{background:rgba(233,232,228,.94)!important}
html body header.header .nav a,html body header.header.scrolled .nav a,html body header.header.scrolled .brand,html body header.header.scrolled .brand *,html body header.header.scrolled .hdr-ghost{color:#17181b!important}
html body .b6 .av{display:flex;gap:0;padding-left:3px}
html body .b6 .av i{width:24px;height:24px;margin-left:-3px}
html body .b6 .fc .s-fam{max-width:460px!important}

/* Family layers reserve their space and blend without flashing or changing the card size. */
html body .b6 .family-note{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(245,244,242,.12);font-size:12px;line-height:1.5;opacity:var(--family-note,1);transform:translateY(calc(3px * (1 - var(--family-note,1))))}
html body .b6 .s-fam[data-family-phase] .pv-row:last-of-type{opacity:var(--family-row,1);transform:translateY(var(--family-offset,0px));background:transparent;transition:none}
html body .b6 .s-fam .family-label{display:inline-grid;white-space:nowrap;text-align:right}
html body .b6 .s-fam .family-label>span{grid-area:1/1;opacity:calc(1 - var(--family-members,1))}
html body .b6 .s-fam .family-label>span+span{opacity:var(--family-members,1)}
html body .b6 .s-fam .pv-row .family-label>span{opacity:calc(1 - var(--family-role,1))}
html body .b6 .s-fam .pv-row .family-label>span+span{opacity:var(--family-role,1)}


/* Praus month picker uses the same quiet surfaces as the sign-in window. */
.month-field{position:relative;min-width:0;display:grid;gap:6px;text-align:left;font-size:13px}
.month-field select[hidden]{display:none!important}
html body .dialog .month-trigger{height:42px;width:100%;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(245,244,242,.3);border-radius:9px;background:#ffffff09;color:#f5f4f2;font:inherit;line-height:1.5;cursor:pointer;text-align:left}
html body .dialog .month-trigger:hover,html body .dialog .month-trigger[aria-expanded=true]{background:#ffffff12;border-color:#ffffff80}
.month-trigger svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .18s ease}
.month-trigger[aria-expanded=true] svg{transform:rotate(180deg)}
.month-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:5;max-height:228px;overflow:auto;overscroll-behavior:contain;padding:5px;border:1px solid #ffffff30;border-radius:12px;background:#27272a;box-shadow:0 12px 30px #0006;scrollbar-width:thin;scrollbar-color:#77777a transparent}
.month-options[hidden]{display:none}
.month-options [role=option]{position:relative;padding:9px 26px 9px 10px;border-radius:7px;color:#f5f4f2;font-size:13px;line-height:1.5;cursor:pointer}
.month-options .is-active{background:#ffffff15}
.month-options [aria-selected=true]::after{content:'✓';position:absolute;right:9px}
.month-trigger:focus-visible{outline:2px solid #f5f4f2;outline-offset:3px}
html body .dialog .dob-fields input{height:42px;background:#ffffff09;color:#f5f4f2;font-size:13px;line-height:1.5}
html body .dialog .dob-fields input::placeholder{color:#b9b8bd;opacity:1}
html body .dialog .age-gate{margin:20px 0;padding:16px 18px}
html body .dialog #age-status:empty{display:none}
@media(prefers-reduced-motion:reduce){.month-trigger svg{transition:none}}

/* Keep the dialog in the top layer until its surface and backdrop finish fading. */
html body dialog.dialog.is-closing{animation:dialog-dismiss .24s cubic-bezier(.4,0,1,1) both;pointer-events:none}
html body dialog.dialog.is-closing::backdrop{animation:dialog-backdrop-dismiss .24s ease-out both}
@keyframes dialog-dismiss{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.985)}}
@keyframes dialog-backdrop-dismiss{from{opacity:1}to{opacity:0}}
@media(prefers-reduced-motion:reduce){html body dialog.dialog[open],html body dialog.dialog.is-closing,html body dialog.dialog.is-closing::backdrop{animation:none}}

@media(prefers-reduced-motion:reduce){html body .b6 .s-fam{--family-row:1!important;--family-offset:0px!important;--family-members:1!important;--family-role:1!important;--family-note:1!important}}
