/* Account surfaces share the public homepage's frame and content spacing. */
.public-account-page{max-width:1050px!important;margin:18px auto!important;padding:18px!important;background:transparent!important;border:0!important;box-shadow:none!important;box-sizing:border-box}
.public-account-page .login-wrap{max-width:460px;margin:clamp(28px,4vh,44px) auto 0}
.public-account-page .login-card h1{font-size:16px!important;line-height:1.4;margin:0 0 16px;font-weight:700;overflow-wrap:anywhere}
.account-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.account-actions>button{flex:0 1 auto;min-width:0;max-width:100%}
.account-actions>.text-btn{font-size:12px!important;padding:8px!important;flex:1 1 120px}
button,a:is(.primary-btn,.secondary-btn,.text-btn,.danger-btn,[role="button"]){text-decoration:none!important}
.account-processing{font-size:14px;margin:12px 0 0}
.account-role-options{border:0;background:transparent;padding:0;display:grid;gap:10px}
.account-role-options>label{display:flex!important;align-items:center;gap:9px;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;line-height:1.4;cursor:pointer}
.account-role-options input[type="radio"]{appearance:auto!important;background:transparent!important;border:0!important;padding:0!important;border-radius:50%!important;accent-color:var(--de-accent);width:16px!important;height:16px!important;min-height:0!important;flex:0 0 16px;margin:0!important;box-shadow:none!important}
.account-role-options input[type="radio"]:focus-visible{outline:2px solid var(--de-accent);outline-offset:3px;border-radius:50%}
.account-role-options p{font-size:11px;line-height:1.4;margin:0}
.account-role-options+button{margin-top:16px}
.public-account-page>.public-brand{display:none}
#releaseEmailPage .login-card .body{text-align:center}
#releaseEmailPage .body>p{font-size:14px;line-height:1.5;margin:0 0 14px;overflow-wrap:anywhere}
#releaseSetupForm>.field:nth-child(-n+4){margin-bottom:18px}
#cookiePreferencesBtn{text-decoration:underline!important}
#cookiePreferencesBtn:focus-visible{outline:2px solid var(--de-accent);outline-offset:3px}
.dcc-recaptcha-host{min-height:60px;margin-top:12px;max-width:100%}
.dcc-recaptcha-host:empty{display:none}
.dcc-recaptcha-host .grecaptcha-badge{visibility:visible!important;position:relative!important;max-width:100%;box-shadow:none!important}
.release-gold-total[hidden]{display:none!important}
.dcc-row-drop-before{box-shadow:inset 0 3px var(--de-accent)}
.dcc-row-drop-after{box-shadow:inset 0 -3px var(--de-accent)}
.dcc-drag-snapshot::before,.dcc-drag-snapshot::after,.dcc-drag-snapshot ::before,.dcc-drag-snapshot ::after{content:none!important}
@media(max-width:700px){
 .public-account-page{width:100%!important;max-width:1050px!important;margin:0 auto!important;padding:12px!important}
 .public-account-page .login-wrap{margin-top:18px}
 #sheetPage .inventory-table tbody input[data-k$="_2"]{text-align:left!important;text-align-last:left!important;padding-right:24px!important}
 /* Owner-approved mobile geometry: a dedicated gutter matches Attacks. */
 #sheetPage :is(.skills-table,.spells-table,.inventory-table) tbody tr.mobile-row-card{grid-template-columns:20px repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(5,auto);column-gap:20px;padding:12px;box-sizing:border-box;background:var(--de-panel)!important;border:1px solid var(--de-structure)!important}
 #sheetPage :is(.skills-table,.spells-table,.inventory-table) tbody tr.mobile-row-card>td{grid-column:2/-1!important}
 #sheetPage :is(.skills-table,.spells-table) tbody tr.mobile-row-card>td:nth-child(2){grid-column:2!important}
 #sheetPage :is(.skills-table,.spells-table) tbody tr.mobile-row-card>td:nth-child(3){grid-column:3!important}
 #sheetPage .spells-table tbody tr.mobile-row-card>td:nth-child(4){grid-column:2!important}
 #sheetPage .spells-table tbody tr.mobile-row-card>td:nth-child(5){grid-column:3!important}
 #sheetPage .inventory-table tbody tr.mobile-row-card{grid-template-rows:repeat(4,auto)}
 #sheetPage tr.mobile-row-card>.row-drag-handle{grid-column:1;grid-row:1/-1;position:static;transform:none;align-self:center;justify-self:center;font-size:18px}
 #sheetPage tr.mobile-row-card .row-name-control>input{padding-left:8px!important}
 :is(.skills-table,.spells-table,.inventory-table) .row-drag-dots{transform:none!important;--drag-ink-offset:0px!important;gap:3px!important}
}

body.dcc-release .gm-drag-handle{touch-action:none}

/* Choice switches have two active alternatives; position only selects the value. */
@media(max-width:700px){
 #sheetPage .spells-table tr.mobile-row-card>td:nth-child(7){grid-column:2!important;grid-row:5}
 #sheetPage .spells-table tr.mobile-row-card>td:nth-child(8){grid-column:3!important;grid-row:5}
 #sheetPage .spells-table tr.mobile-row-card>.skill-check-cell{display:flex!important;align-items:center;gap:8px;min-height:44px!important;padding:0!important}
 #sheetPage .spells-table tr.mobile-row-card>.skill-check-cell::before{position:static;flex:0 0 auto}
 #sheetPage .spells-table tr.mobile-row-card>.skill-check-cell input{margin:0!important;flex:0 0 auto}
}

/* Application-wide labels. The important layer also overrides legacy important font shorthands. */
@layer button-labels{button,button *,input:is([type=button],[type=submit],[type=reset]),[role=button],[role=button] *,.primary-btn,.secondary-btn,.danger-btn,.text-btn{font-weight:400!important}}

.site-footer a,.site-footer button{color:var(--de-text)!important}
.site-footer a:focus-visible,.site-footer button:focus-visible{outline:2px solid var(--de-accent);outline-offset:2px}
