/* Public visual system. Loaded only after the admin header has returned. */
:root{--portal-font:"Segoe UI",Arial,"Noto Sans",sans-serif;--portal-display:Impact,"Arial Black","Segoe UI",sans-serif}
body{font-family:var(--portal-font)}
.alliance-main,.profile-main,.plans-main,.calculator-page main{font-family:var(--portal-font)}
button,input,select,textarea{font-family:var(--portal-font)}
/* Keep display type on short page headings, not descriptions or long card names. */
:is(.calculator-hub-intro,.publication-directory-intro,.footer-page-intro,.codes-intro,.profile-heading,.auth-panel,.plans-hero) h1{font-family:var(--portal-display);font-weight:400}
:is(.calculator-choice,.publication-directory-card,.footer-page-section,.profile-main,.plans-main,.alliance-main) :is(h2,h3,h4){font-family:var(--portal-font);font-weight:800;letter-spacing:-.025em;text-transform:none}
:is(.home-main,.profile-main,.plans-main,.alliance-main) :is(p,li,dd,dt,label,small,time,output){font-family:var(--portal-font)}
:is(.plan-number,.profile-stat strong,.alliance-stats strong,.home-plan-counter strong){font-family:var(--portal-font);font-variant-numeric:tabular-nums}
:root{--portal-surface:#fffdfa;--portal-edge:#e4d3c5;--portal-ink:#37271e;--portal-muted:#786457;--portal-orange:#d94b22;--portal-radius:22px;--portal-shadow:0 12px 30px #56331b0a}
:is(.calculator-hub-intro,.publication-directory-intro,.footer-page-intro,.codes-intro){position:relative;isolation:isolate;box-sizing:border-box;max-width:none;min-height:230px;padding:36px 250px 36px 36px;margin-bottom:28px;border:1px solid var(--portal-edge);border-radius:var(--portal-radius);background:radial-gradient(ellipse at 90% 70%,#f6d9bf80,transparent 58%),linear-gradient(125deg,#fffdfa,#fff3e8);box-shadow:var(--portal-shadow);text-align:start}
:is(.calculator-hub-intro,.publication-directory-intro,.footer-page-intro,.codes-intro) h1{max-width:780px;margin:12px 0 16px;color:var(--portal-ink);font-size:clamp(32px,4vw,54px);line-height:1.08;letter-spacing:-.02em;overflow-wrap:normal;word-break:normal;hyphens:none}
:is(.calculator-hub-intro,.publication-directory-intro,.footer-page-intro,.codes-intro)>p:not([class*="kicker"]){max-width:760px;color:var(--portal-muted);font-size:15px;line-height:1.75}
.portal-section-art{position:absolute;inset-inline-end:24px;top:50%;transform:translateY(-50%);display:block;width:205px;height:180px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 12px 10px #5830171c)}
.publication-directory-main-evento .portal-section-art{width:240px;height:205px;inset-inline-end:10px}
.footer-page-intro:not(:has(.portal-section-art)){padding-inline-end:36px;min-height:0}
/* Cards retain real game items and content covers. */
.calculator-list{gap:20px;align-items:stretch}
.calculator-choice{border:1px solid var(--portal-edge);border-radius:var(--portal-radius);background:linear-gradient(145deg,#fffdfa,#fff7ef);box-shadow:var(--portal-shadow);transition:border-color .18s,box-shadow .18s,transform .18s}
.calculator-choice-content{min-width:0}
.calculator-choice h2{font:800 clamp(21px,2vw,26px)/1.22 var(--portal-font);text-transform:none;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal}
.calculator-choice-text{font-size:14px;line-height:1.65;color:var(--portal-muted)}
.calculator-choice-meta{font-size:12px;line-height:1.5}
.calculator-choice-media{height:155px;min-height:155px;max-height:155px;display:flex;align-items:center;justify-content:center}
.calculator-choice-media img:only-child{max-width:100%;max-height:155px;object-fit:contain}
.calculator-choice:focus-visible,.publication-directory-card:focus-visible{outline:3px solid #ce572e;outline-offset:4px}
.publication-directory-tools{gap:16px;align-items:center}
.publication-directory-search{border-radius:12px;min-height:48px;border-color:var(--portal-edge);background:#fffdfa}
.publication-directory-search input{min-width:0;font-size:15px}
.publication-directory-filters{gap:8px;flex-wrap:wrap}
.publication-directory-filter{min-height:40px;border-radius:10px;font-size:12px;line-height:1.4}
.publication-directory-filter[aria-pressed="true"]{background:#d94b22;color:#fff;border-color:#d94b22}
.publication-directory-grid{gap:20px;align-items:stretch}
.publication-directory-card{border:1px solid var(--portal-edge);border-radius:20px;background:#fffdfa;box-shadow:var(--portal-shadow);overflow:hidden;min-width:0}
.publication-directory-card-image{aspect-ratio:16/9;overflow:hidden}
.publication-directory-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.publication-directory-card-copy h2{font:800 clamp(20px,2vw,25px)/1.25 var(--portal-font);letter-spacing:-.02em;text-transform:none;overflow-wrap:anywhere}
.publication-directory-card-copy>p:not([class*="kicker"]){font-size:14px;line-height:1.65}
.publication-dates{font-size:11px;line-height:1.6}
.publication-directory-card:not(.has-publication-image)::before{content:"";display:block;position:static;height:150px;background:radial-gradient(ellipse,#efd2b8,transparent 75%),url('../../images/home/guides-library-v1.webp') center/130px auto no-repeat,#fbf0e5;opacity:1}
.publication-directory-main-evento .publication-directory-card:not(.has-publication-image)::before{background-image:url('../../images/home/events-planning-v1.webp')}
/* Decorative empty states do not replace instructions or functional controls. */
:is(.publication-directory-empty,.alliance-content-empty,.alliance-management-empty,.empty-wiki){box-sizing:border-box;padding:28px 22px;border:1px dashed #d8c3b1;border-radius:18px;background:#fff8f1;color:#796253;font-size:14px;line-height:1.7;text-align:center}
.alliance-content-empty::before{content:"";display:block;height:88px;margin-bottom:12px;background:url('../../images/home/guides-library-v1.webp') center/100px auto no-repeat}
.alliance-management-empty::before{content:"";display:block;height:88px;margin-bottom:12px;background:url('../../images/home/events-planning-v1.webp') center/110px auto no-repeat}
.alliance-management-empty>span[aria-hidden]{display:none}
/* Alliance: legibility and unified surfaces without changing data density. */
:is(.alliance-panel,.alliance-content-section,.alliance-suite-section){border-color:var(--portal-edge);border-radius:20px;box-shadow:var(--portal-shadow)}
.alliance-panel-title h2{font-size:clamp(25px,3vw,32px);line-height:1.15}
.alliance-panel-title p{line-height:1.65}
.alliance-button{min-height:42px;border-radius:10px;line-height:1.4}
.alliance-message strong{font-size:13px}.alliance-message time{font-size:11px}.alliance-message p{font-size:14px;line-height:1.6}
.alliance-button:focus-visible{outline:3px solid #d7784d;outline-offset:3px}
/* Institutional and account pages use the same spacing and finish. */
:is(.footer-page-section,.footer-page-form,.profile-section,.profile-plan-card){border-color:var(--portal-edge);border-radius:20px;box-shadow:var(--portal-shadow)}
.footer-page-section{padding:26px;background:#fffdfa}
.footer-page-section p,.footer-page-section li{font-size:15px;line-height:1.8}
.footer-page-form :is(input,textarea,select){font-size:16px;border-radius:10px;min-height:46px}
.footer-page-form-submit,.footer-page-action{min-height:46px;border-radius:10px}
.profile-plan-card h3{font-size:22px;line-height:1.25;overflow-wrap:anywhere}
.profile-plan-card p{font-size:14px;line-height:1.7}
.plan-card h2{font-size:clamp(29px,3vw,40px);line-height:1.12;overflow-wrap:normal;word-break:normal}
.plan-card li{line-height:1.6}.plan-status{line-height:1.6;letter-spacing:.04em}
.auth-shell{border-color:var(--portal-edge);border-radius:24px;box-shadow:0 20px 55px #53351f12}
.auth-brand{position:relative;isolation:isolate;background:#231c19;overflow:hidden}
.auth-brand::before{content:"";position:absolute;inset:0;width:auto;height:auto;border:0;border-radius:0;z-index:-1;background:linear-gradient(0deg,#1b1412f5,#1b1412c9),url('../../images/home/prison-hero-v2.webp') 72% center/cover no-repeat;pointer-events:none}
.auth-brand-copy strong{font-size:clamp(30px,3vw,43px);line-height:1.15}
.auth-brand-copy p{line-height:1.75}
.auth-benefits li{font-size:13px;line-height:1.6}
.auth-panel :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px;min-height:46px;border-radius:10px}
.auth-actions .btn-style{min-height:46px;border-radius:10px}
.auth-error,.auth-success{border-radius:12px;line-height:1.6}
@media(max-width:850px){
 :is(.calculator-hub-intro,.publication-directory-intro,.footer-page-intro,.codes-intro){padding:28px 190px 28px 28px;min-height:210px}
 .portal-section-art{width:145px;height:150px;inset-inline-end:20px}
 .publication-directory-main-evento .portal-section-art{width:175px;height:160px;inset-inline-end:10px}
 .calculator-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 :is(.calculator-hub-intro,.publication-directory-intro,.footer-page-intro,.codes-intro){display:flex;flex-direction:column;align-items:flex-start;min-height:0;padding:24px;border-radius:20px;margin-bottom:24px}
 .portal-section-art{position:static;inset:auto;transform:none;width:130px;height:105px;align-self:flex-end;margin:0 0 6px}
 .publication-directory-main-evento .portal-section-art{width:160px;height:115px;inset:auto}
 :is(.calculator-hub-intro,.publication-directory-intro,.footer-page-intro,.codes-intro) h1{font-size:34px;line-height:1.13}
 .footer-page-intro:not(:has(.portal-section-art)){padding:24px}
 .calculator-list{grid-template-columns:minmax(0,1fr);gap:16px}
 .calculator-choice{min-height:0;padding:24px}.calculator-choice-content{min-width:0}
 .calculator-choice-media{height:145px;min-height:145px;max-height:145px}
 .calculator-choice-text{font-size:14px}.calculator-choice h2{font-size:25px}
 .publication-directory-tools{align-items:stretch;flex-direction:column}
 .publication-directory-count{align-self:flex-start}
 .publication-directory-grid{gap:16px}
 .publication-directory-card-copy h2{font-size:23px}
 .auth-brand{min-height:0}.auth-brand::before{background-image:linear-gradient(0deg,#1b1412f5,#1b1412d9),url('../../images/home/prison-hero-v2-mobile.webp')}
 .auth-benefits{gap:12px}.auth-brand-copy strong{font-size:31px}
 .footer-page-section{padding:22px}.profile-plan-card h3{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.calculator-choice{transition:none}.calculator-choice:hover{transform:none}}

/* Shared finishes for the authenticated alliance screens and reusable controls. */
.alliance-main :is(.alliance-panel-title,.alliance-content-heading){display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.alliance-main :is(.alliance-panel-title,.alliance-content-heading) h2{margin:8px 0 10px;font-family:var(--portal-font);font-size:clamp(24px,2.8vw,32px);font-weight:800;line-height:1.2;letter-spacing:-.035em;text-transform:none}
.alliance-main :is(.alliance-panel-title,.alliance-content-heading) p{max-width:760px;margin:0;font-size:14px;line-height:1.7}
.alliance-main :is(.alliance-material-card,.alliance-event-card,.alliance-squad-card,.alliance-channel-card){border:1px solid var(--portal-edge);border-radius:18px;box-shadow:var(--portal-shadow);overflow-wrap:anywhere}
.alliance-main :is(.alliance-material-body,.alliance-squad-card,.alliance-event-card) h3{font-size:20px;line-height:1.3}
.alliance-main :is(.alliance-suite-empty,.alliance-squad-empty,.alliance-roster-empty){padding:28px 22px;border:1px dashed var(--portal-edge);border-radius:16px;background:#fff8f1;color:var(--portal-muted);font-size:14px;line-height:1.7;text-align:center}
.alliance-squad-empty::before{content:"";display:block;height:88px;margin-bottom:12px;background:url('../../images/home/alliance-premium-v1.webp') center/100px auto no-repeat}
.alliance-squad-empty>span[aria-hidden]{display:none}
.alliance-main :is(.alliance-management-form,.alliance-content-form,.alliance-guide-editor) label{font-family:var(--portal-font);font-size:13px;line-height:1.5}
.alliance-main :is(.alliance-intel-section-title h3,.alliance-guide-section-blocks>.alliance-intel-section-title h3){font-family:var(--portal-font);font-weight:800;line-height:1.2}
.alliance-main :is(.alliance-intel-section-title>span,.alliance-guide-tab-number){font-family:var(--portal-font);font-variant-numeric:tabular-nums}
/* Legacy compact selectors used !important; override only their auxiliary labels. */
.alliance-main :is(.alliance-panel-title>div:first-child>span,.alliance-content-heading>div:first-child>span){font-size:10px!important;line-height:1.4;letter-spacing:.07em!important}
.alliance-main .alliance-squad-capability-head>div :is(strong,small){font-family:var(--portal-font)!important}
.alliance-main .alliance-squad-capability-head>div small{font-size:12px!important;line-height:1.6!important}
.alliance-main :is(.alliance-squad-heading,.alliance-squad-heading-actions)>b strong{font-family:var(--portal-font);font-weight:800;font-variant-numeric:tabular-nums}
.alliance-main :is(.alliance-squad-heading,.alliance-squad-heading-actions)>b small{font-size:9px!important;line-height:1.4}
:is(.alliance-button,.footer-page-form-submit,.footer-page-action,.auth-actions .btn-style){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-family:var(--portal-font);font-weight:750;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
:is(.alliance-button,.footer-page-form-submit,.footer-page-action,.auth-actions .btn-style):disabled{cursor:not-allowed;opacity:.55;box-shadow:none}
:is(.footer-page-form,.auth-panel,.alliance-main) :is(input,select,textarea):focus-visible{outline:2px solid #cc643b;outline-offset:2px}
.auth-brand-copy strong{font-family:var(--portal-font);font-weight:800;text-transform:none;letter-spacing:-.035em}
.auth-panel :is(label,p,small,a),.auth-brand :is(p,li,small){font-family:var(--portal-font)}
.plan-card{border-color:var(--portal-edge);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow)}
.plan-card h2{font-size:clamp(27px,3vw,36px);line-height:1.2}
.plan-card :is(p,li){font-size:14px;line-height:1.7}
.profile-main :is(h2,h3){line-height:1.25;overflow-wrap:anywhere}
.profile-main :is(input,select,textarea){font-family:var(--portal-font)}
.calculator-page main :is(h2,h3,h4),.footer-page-form h2{font-family:var(--portal-font);font-weight:800;line-height:1.25;letter-spacing:-.025em;text-transform:none}
.calculator-page main :is(p,label,small,output,th,td){font-family:var(--portal-font)}
.calculator-page main :is(input,select,textarea){font-family:var(--portal-font);font-variant-numeric:tabular-nums}
.calculator-page main :is(table,.table-wrap){max-width:100%}
.calculator-choice-media img{object-fit:contain}
.auth-panel :is(.auth-switch,.auth-instruction){font-size:14px;line-height:1.65}
/* Avoid forcing Latin display fonts on scripts without those glyphs. */
html:is([lang^="ja"],[lang^="ko"],[lang^="zh"],[lang^="ar"],[lang^="th"]){--portal-display:var(--portal-font)}
@media(max-width:650px){
 .alliance-main :is(.alliance-panel-title,.alliance-content-heading){align-items:stretch;flex-direction:column;gap:16px}
 .alliance-main :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
 .alliance-main :is(.alliance-panel-title,.alliance-content-heading) h2{font-size:25px}
 .alliance-main :is(.alliance-panel-title,.alliance-content-heading)>details{max-width:100%}
 .alliance-main :is(.alliance-suite-actions,.alliance-content-actions){flex-wrap:wrap;gap:8px}
 .alliance-main :is(.alliance-suite-actions,.alliance-content-actions) .alliance-button{min-width:0;max-width:100%}
 .auth-panel label{font-size:12px;line-height:1.5}
 .plan-card{padding:24px}.plan-card h2{font-size:28px}
}

/* Finish the shared card layout: equal artwork slots and actions at the bottom. */
.calculator-list .calculator-choice{display:flex;padding:0;border-width:1px;min-width:0}
.calculator-list .calculator-choice .calculator-choice-content{display:flex;flex-direction:column;width:100%;min-width:0;height:100%;text-align:start}
.calculator-list .calculator-choice .calculator-choice-media{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 174px;width:100%;height:174px;min-height:174px;max-height:174px;aspect-ratio:auto;gap:8px;padding:22px 18px 8px;margin:0;overflow:hidden;transform:none;background:radial-gradient(ellipse at center,#eac7a680,transparent 72%),#fcf3eb;border-bottom:1px solid #eadbd0}
.calculator-list .calculator-choice .calculator-choice-media img{position:static;object-fit:contain;max-height:144px;max-width:100%;width:auto;height:auto;min-width:0;flex:0 1 auto;margin:0;transform:none;filter:drop-shadow(0 7px 7px #65402518)}
.calculator-list .calculator-choice .calculator-choice-media img:only-child{width:100%;height:144px;max-width:100%;max-height:144px;object-fit:contain}
.calculator-list .calculator-choice .calculator-choice-media:has(img:nth-child(2)) img{width:30%;height:125px;max-height:125px}
.calculator-list .calculator-choice .calculator-choice-kicker{top:12px;inset-inline-start:12px;left:auto;right:auto;max-width:calc(100% - 78px);padding:6px 9px;font-size:10px;font-weight:750;line-height:1.35;letter-spacing:0;color:#6f3d27;background:#fffdf5e8;box-shadow:none}
.calculator-list .calculator-choice .calculator-pro-tag{top:12px;right:auto;inset-inline-end:12px;border:0;border-radius:8px;font-size:10px;line-height:1.4;letter-spacing:.04em}
.calculator-list .calculator-choice .calculator-pro-tag.is-free{color:#28674d;background:#e5f3eb;box-shadow:none;max-width:40%;padding:6px 8px;min-height:25px;text-align:center;overflow-wrap:anywhere}
.calculator-list .calculator-choice:has(.calculator-pro-tag.is-free) .calculator-choice-kicker{max-width:52%}
.calculator-list .calculator-choice .calculator-choice-content h2{margin:20px 22px 10px;font-size:24px;line-height:1.25}
.calculator-list .calculator-choice .calculator-choice-text{display:block;margin:0 22px 20px;padding:0;font-size:14px;line-height:1.65;flex:1;max-height:none;overflow:visible;-webkit-line-clamp:unset}
.calculator-list .calculator-choice .calculator-choice-meta{margin:0 22px;padding:10px 12px;max-width:none;min-height:40px;font-size:12px;line-height:1.5;background:#f4eee8;box-shadow:none}
.calculator-list .calculator-choice .calculator-choice-meta[aria-hidden="true"]{display:none}
.calculator-list .calculator-choice .calculator-choice-open{align-self:flex-start;margin:14px 22px 22px;min-height:38px;border-radius:9px;padding:8px 12px;font-size:12px;line-height:1.4;color:#a14020;background:#f8e6da}
.calculator-list .calculator-choice::after{content:none}
.publication-directory-card{display:flex;flex-direction:column}
.publication-directory-card-copy{flex:1;min-width:0}
.publication-directory-card-copy h2{margin-top:10px;line-height:1.3}
.publication-directory-card-footer{margin-top:auto;min-height:48px}
.publication-directory-card-image{flex:0 0 auto}
.publication-directory-card:not(.has-publication-image)::before{height:auto;aspect-ratio:16/9;flex:0 0 auto}
.publication-directory-card .publication-dates{padding-inline:22px;overflow-wrap:anywhere}

/* Keep the text slots consistent across guide and event listings. */
:is(.featured-guide-card-copy > h3, .publication-directory-card-copy > h2, .child-card:has(> .publication-author) > strong) {
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    font-size: clamp(18px, 1.55vw, 23px);
    line-height: 1.18;
    min-height: 3lh;
}

:is(.featured-guide-card-copy > p, .publication-directory-card-copy > p:not(.publication-directory-card-kicker), .child-card:has(> .publication-author) > p) {
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin: 8px 0 0;
    font-size: 13px;
    line-height: 1.45;
    min-height: 2lh;
}

:is(.featured-guide-card-copy, .publication-directory-card-copy, .child-card) > :is(.featured-guide-author, .publication-author) {
    display: block;
    min-height: 1lh;
    margin: 10px 0 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    line-height: 1.4;
    color: #766458;
}

.publication-directory-card > .publication-directory-card-copy {
    margin-block: 21px 0;
}

.publication-directory-card-copy > .publication-directory-card-kicker {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.4;
    min-height: 1lh;
}

.publication-directory-card > .publication-directory-card-image,
.publication-directory-card:not(.has-publication-image)::before {
    height: auto;
    aspect-ratio: 16 / 9;
}

.publication-directory-card > .publication-directory-card-top {
    position: absolute;
    z-index: 2;
    inset-block-start: 14px;
    inset-inline-start: 14px;
    padding: 0;
}
.publication-directory-filters{padding-bottom:4px}
.footer-page-section h2{font-size:clamp(23px,2.5vw,29px);line-height:1.25}
.footer-page-form{background:linear-gradient(145deg,#fffdfa,#fff7ef);border-color:var(--portal-edge)}
.footer-page-form-grid{gap:20px}
.footer-page-field small{font-size:12px;line-height:1.6}
.footer-page-form-submit{box-shadow:0 7px 18px #ad431d20}
.footer-page-form-alert{padding:14px 16px;border-radius:12px;line-height:1.6}
/* Small section illustrations; never overlap forms, menus, or chat controls. */
.alliance-tab-panel[data-alliance-panel="training"] .alliance-content-heading>div:first-child{padding-inline-start:86px;position:relative}
.alliance-tab-panel[data-alliance-panel="training"] .alliance-content-heading>div:first-child::before{content:"";display:block;position:absolute;inset-inline-start:0;top:0;width:70px;height:78px;background:url('../../images/home/guides-library-v1.webp') center/contain no-repeat}
.alliance-management-panel>.alliance-panel-title>div:first-child,.alliance-squads-panel>.alliance-panel-title>div:first-child{position:relative;padding-inline-start:86px}
.alliance-management-panel>.alliance-panel-title>div:first-child::before,.alliance-squads-panel>.alliance-panel-title>div:first-child::before{content:"";display:block;position:absolute;inset-inline-start:0;top:0;width:70px;height:78px;background:url('../../images/home/events-planning-v1.webp') center/contain no-repeat}
.alliance-squads-panel>.alliance-panel-title>div:first-child::before{background-image:url('../../images/home/alliance-premium-v1.webp')}
.alliance-main .alliance-material-body{padding:20px}
.alliance-main .alliance-material-body>p{font-size:14px;line-height:1.65}
.profile-plan-grid{align-items:stretch;gap:18px}
.profile-plan-card{display:flex;flex-direction:column;background:linear-gradient(145deg,#fffdfa,#fff5eb)}
.profile-plan-footer{margin-top:auto;gap:12px;flex-wrap:wrap}
.profile-plan-footer a{min-height:42px;display:inline-flex;align-items:center;gap:8px;border-radius:9px}
.auth-panel .auth-password-heading{flex-wrap:wrap;gap:8px}
.auth-panel .auth-password-heading a{min-height:28px;display:inline-flex;align-items:center;text-align:start}
.auth-brand .auth-benefits li{backdrop-filter:blur(4px)}
@media(max-width:820px){
 .auth-shell{min-width:0}
 .auth-panel{min-width:0}
 .auth-brand-copy{max-width:none}
 .auth-brand .auth-benefits{grid-template-columns:1fr}
 .auth-brand .auth-benefits li{padding:10px 12px;font-size:12px}
 .auth-brand strong,.auth-shell-recovery .auth-brand>div strong{font-family:var(--portal-font);font-size:clamp(26px,6.5vw,34px);font-weight:800;line-height:1.2;text-transform:none;letter-spacing:-.03em}
}
@media(max-width:600px){
 .calculator-list .calculator-choice .calculator-choice-media{flex-basis:164px;min-height:164px;height:164px;max-height:164px}
 .calculator-list .calculator-choice .calculator-choice-content h2{font-size:23px}
 .footer-page-field :is(input,textarea,select){min-width:0;max-width:100%}
 .footer-page-actions .footer-page-action{width:100%;padding:12px 18px;line-height:1.4}
 .profile-plan-footer>a{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.calculator-list .calculator-choice:hover,.footer-page-action:hover{transform:none}}

/* Account and library details must stay readable beside the larger cards. */
.calculator-page main .calculator-hero-banner__copy{min-width:0;max-width:100%}
.calculator-page main h1{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto}
.calculator-page main :is(input:not([type="checkbox"]):not([type="radio"]),select){min-width:0;max-width:100%;font-size:16px}
.calculator-page main :is(th,td){font-variant-numeric:tabular-nums}
.alliance-main :is(.alliance-member-info,.alliance-combat-roster header>div){min-width:0}
.alliance-main :is(.alliance-member-info>strong,.alliance-combat-roster header strong){white-space:normal;overflow-wrap:anywhere;line-height:1.4}
.alliance-main .alliance-combat-hero-chips{max-height:var(--combat-hero-height,80px)}
.alliance-main .alliance-combat-hero-chips strong{font-size:12px;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.alliance-main .alliance-combat-hero-chips small{display:block;font-size:11px;line-height:1.5;overflow:visible;-webkit-line-clamp:unset}
.alliance-main .alliance-combat-hero-chips>span{align-items:start}
.alliance-main .alliance-combat-roster header small{font-size:11px;line-height:1.5;white-space:normal}
.alliance-main :is(h1,h2,h3,h4,p,strong,small,label,button,input,select,time){font-family:var(--portal-font)}
.alliance-main .alliance-hero h1{font-family:var(--portal-display);font-weight:400;letter-spacing:0;line-height:1.02}
.alliance-main :is(.alliance-overview-hero h2,.alliance-dashboard-head h2){font-weight:800;line-height:1.15;letter-spacing:-.025em;text-transform:none}
.alliance-main :is(.alliance-panel-title,.alliance-content-heading)>div:first-child>h2{font-family:var(--portal-font);font-weight:700;line-height:1.25;letter-spacing:-.025em;text-transform:none}
.alliance-main :is(.alliance-planning-intro h2,.alliance-weekly-head h2,.alliance-intel-head h2,.alliance-guide-editor-heading h2){font-family:var(--portal-font);font-weight:700;line-height:1.2;letter-spacing:-.025em;text-transform:none}
.alliance-main .alliance-stats strong{font-family:var(--portal-font);font-size:26px;font-weight:750;line-height:1.15;letter-spacing:-.035em;text-transform:none;word-break:normal;overflow-wrap:anywhere}
.alliance-main .alliance-stats strong span{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:0}
.alliance-main .alliance-stats .alliance-stat-role{font-size:18px;font-weight:650;line-height:1.35;letter-spacing:-.015em;text-transform:none}
.alliance-main .alliance-stats small{font-weight:650;letter-spacing:.045em;color:#74665d}
.alliance-main .alliance-tabs button{font-family:var(--portal-font);font-size:12px;font-weight:650;line-height:1.4;letter-spacing:0}
.alliance-main .alliance-button{font-weight:700;letter-spacing:.025em}
.alliance-main :is(.alliance-member-name,.alliance-squad-heading h3,.alliance-material-card h4){font-family:var(--portal-font);font-weight:700;line-height:1.3;letter-spacing:-.02em;text-transform:none}
.profile-main .profile-section-heading p,.profile-main .profile-form-intro{font-size:13px;line-height:1.65}
.profile-main :is(.profile-detail>span,.profile-detail-heading>span,.profile-field span){font-size:11px;line-height:1.45;letter-spacing:.04em}
.profile-main :is(.profile-sync-status,.profile-plan-footer>span){font-size:12px;line-height:1.6}
.profile-main .profile-plan-status{font-size:11px;line-height:1.4;white-space:normal;overflow-wrap:anywhere;text-align:center}
.profile-main .profile-plan-top{flex-wrap:wrap;gap:12px}
.profile-main .profile-plan-footer>a{font-size:12px;line-height:1.5;white-space:normal;text-align:start}
.profile-main .profile-sync-button{min-height:36px;margin:0;padding:8px 10px;font-size:11px;line-height:1.4}
.profile-main .profile-edit summary{min-height:48px;gap:12px;line-height:1.5}
.profile-main .profile-edit summary::after{flex-shrink:0}
.profile-main .profile-field input{min-height:46px;font-size:16px}
.profile-main :is(.profile-actions,.profile-plan-footer){overflow-wrap:anywhere}
.profile-main .profile-actions .btn-style{min-height:44px;padding:10px 16px;line-height:1.5;white-space:normal}
.alliance-main .alliance-material-tags span{font-size:10px;line-height:1.4}
.alliance-main .alliance-material-file-field small{font-size:12px;line-height:1.6}
.alliance-main .alliance-material-card footer{flex-wrap:wrap;align-items:center;gap:10px}
.alliance-main .alliance-material-card footer>a{display:inline-flex;align-items:center;min-height:42px;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.alliance-main .alliance-content-actions button{min-height:42px;padding:10px 12px;font-size:11px;line-height:1.4}
.alliance-main .alliance-content-create>summary{min-height:44px;line-height:1.5;font-size:12px;text-align:center}
.alliance-main .alliance-content-form label.is-check{align-items:flex-start;line-height:1.5}
.alliance-main .alliance-content-form label.is-check input{flex:0 0 auto;min-height:0;margin-top:3px}
@media(max-width:650px){
 .alliance-main .alliance-content-form{position:static;width:100%;max-width:none;margin-top:12px;grid-template-columns:minmax(0,1fr);padding:16px;border-radius:12px;box-shadow:0 10px 24px #3e251412}
 .alliance-main .alliance-content-heading>.alliance-content-create{width:100%;min-width:0}
 .profile-main .profile-hero-copy>small{font-size:12px;line-height:1.5}
 .profile-main .profile-plan-footer>span{max-width:none}
 .profile-main .profile-plan-footer>a{justify-content:center;text-align:center}
}
