/* One visible settings panel. Keep controls readable instead of scaling the whole form. */
#acct [hidden]{display:none!important}
#acct{height:var(--app-height,100dvh);bottom:auto;padding:12px 16px 20px}
#acct .acard{max-height:100%;overflow:auto;width:min(580px,100%);box-sizing:border-box;animation:none}
#acct .acard.account-signed-in{width:min(790px,100%);display:flex;flex-direction:column;gap:12px;overflow:hidden}
#acct h2{padding-right:42px;flex:none}
#acct .aform select{min-height:48px;border:3px solid var(--ink,#2b1d14);border-radius:12px;padding:8px;background:#fff9eb;font:inherit;max-width:100%}
#acct input,#acct button{min-height:44px;box-sizing:border-box;min-width:0}
#acct .ahead{flex-wrap:wrap;padding:0;flex:none;gap:10px}
#acct .ahead>div{min-width:0;flex:1}
#acct .ahead small{overflow-wrap:anywhere}
#acct .ahead .btn{font-size:14px;padding:6px 10px;flex:none}
#acct .account-note{font-size:14px;line-height:1.5;margin:0;color:#705b45;flex:none}
#acct .account-workspace{display:grid;grid-template-columns:145px minmax(0,1fr);gap:18px;min-height:0}
#acct .account-tabs{display:flex;flex-direction:column;gap:10px}
#acct .account-tabs button{border:3px solid var(--ink);border-radius:14px;padding:10px;background:#fff9e9;color:var(--ink);font:700 16px var(--f-body);cursor:pointer}
#acct .account-tabs button[aria-selected=true]{background:#ffdc64;box-shadow:0 3px 0 var(--ink)}
#acct .account-tabs button:focus-visible{outline:3px solid #2879ac;outline-offset:2px}
#acct .account-panels{min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;padding:0 4px 5px}
#acct .account-panels h3{font-size:22px;margin:0 0 12px}
#acct .personal-preferences{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
#acct .personal-preferences label:first-child,#acct .personal-preferences label:has(input[type=range]),#acct .rbtns,#acct .settings-state{grid-column:1/-1}
#acct .personal-preferences label{min-width:0}
#acct input[type=range]{padding:0;width:100%;accent-color:#e79c20}
#acct .personal-preferences label:has(input[type=range]){grid-template-columns:1fr auto;align-items:center;gap:0}
#acct input[type=range]{grid-row:2;grid-column:1/-1}
#acct output{font-weight:800;grid-column:2;grid-row:1}
#acct .settings-state,#acct .redeem-state,#acct .password-state{margin:0;min-height:24px;font-size:14px;font-weight:700}
#acct .aerr{color:#a72b26}#acct .rbtns{display:flex;gap:10px;flex-wrap:wrap;margin:0}
#acct .rbtns button{flex:1;padding:8px;font-size:16px;white-space:nowrap}
#acct .personal-services{margin:0;padding:0;border:0}
#acct .personal-services p{font-size:16px;line-height:1.6;margin:12px 0}
#acct .redeem{flex-wrap:wrap}#acct .redeem input{min-width:120px}
#acct [data-return]{align-self:flex-end;flex:none;min-width:150px;margin-top:0;font-size:17px;padding:8px 16px}
@media(max-width:600px){
 #acct{padding:8px 10px 16px}
 #acct .acard{padding:16px;border-width:4px;border-radius:23px}
 #acct .acard.account-signed-in{gap:10px}
 #acct h2{font-size:25px}
 #acct .account-workspace{display:flex;flex-direction:column;gap:14px}
 #acct .account-tabs{flex-direction:row;gap:6px;flex:none}
 #acct .account-tabs button{flex:1;padding:8px 4px;font-size:14px}
 #acct .account-note{font-size:13px}
 #acct .ahead .aav{font-size:30px}#acct .ahead small{font-size:12px}
 #acct .aform input{padding:8px;font-size:16px}
 #acct .personal-preferences{gap:8px 12px}
 #acct .account-panels{padding-left:0;padding-right:0}
 #acct [data-return]{width:100%}
}
/* Short windows / software keyboard: only the active panel may scroll, never lose a field. */
@media(max-height:600px) and (min-width:601px){
 #acct .acard{padding:14px 20px}
 #acct .account-signed-in{gap:6px}
 #acct .account-workspace{gap:12px}
 #acct .personal-preferences{grid-template-columns:1fr 1fr 1fr;gap:6px 10px}
 #acct .personal-preferences label:first-child{grid-column:auto}
 #acct .personal-preferences label:has(input[type=range]){grid-column:1/-1}
}
/* Three compact language rows; the active panel alone scrolls on small screens. */
#acct .voice-note{font-size:13px;line-height:1.5;margin:0 0 10px;color:#705b45}
#acct .voice-all{border:0;margin:0;padding:0;min-width:0}
#acct .voice-row{border:2px solid var(--ink);border-radius:14px;background:#fff9e9;padding:10px 12px;margin:0 0 10px;min-width:0}
#acct .voice-row h4{margin:0 0 6px;font-size:16px}
#acct .voice-id-label{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;font-size:14px;font-weight:700}
#acct .voice-row input:not([type=range]),#acct .voice-row select{width:100%;border:2px solid var(--ink);border-radius:10px;background:#fff;padding:6px 8px;font:16px var(--f-body);min-width:0;min-height:44px}
#acct .voice-tuning{display:grid;grid-template-columns:minmax(0,1fr) 83px 62px;gap:8px;align-items:center;margin-top:6px}
#acct .voice-tuning>label:first-child{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;font-size:14px;font-weight:700}
#acct .voice-tuning input[type=range]{grid-column:auto;grid-row:auto;min-width:0;margin:0}
#acct .voice-number-label{display:flex;align-items:center;gap:3px}
#acct .voice-number-label input{padding:6px 3px!important;text-align:center}
#acct .voice-tuning .btn{padding:5px;font-size:14px;min-width:0}
#acct .voice-actions{display:flex;justify-content:flex-end;margin-top:4px}
#acct .voice-actions .btn{font-size:15px;padding:6px 12px}
#acct .voice-state{font-size:14px;line-height:1.5;margin:8px 0 0;min-height:21px;font-weight:700;overflow-wrap:anywhere}
#acct .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
 #acct .account-tabs{display:grid;grid-template-columns:1fr 1fr}
 #acct .voice-row{padding:8px;margin-bottom:8px}
 #acct .voice-id-label{grid-template-columns:58px minmax(0,1fr);gap:6px}
 #acct .voice-tuning{grid-template-columns:minmax(0,1fr) 76px 54px;gap:5px}
 #acct .voice-actions .btn{width:100%}
}
#acct h2,#acct .ahead{margin:0}
#acct .account-workspace{flex:1;overflow:hidden}
#acct .account-tabs{min-height:0;overflow:auto;align-content:start}
@media(max-height:600px){
 #acct .acard.account-signed-in{padding:10px 16px;gap:6px}
 #acct .account-signed-in h2{font-size:22px;line-height:44px}
 #acct .account-signed-in .account-note{display:none}
 #acct .account-signed-in .ahead .aav{font-size:28px}
 #acct .account-signed-in .ahead small{font-size:12px}
 #acct .account-signed-in .account-tabs{gap:6px}
 #acct .account-signed-in .account-tabs button{padding:6px;font-size:14px}
 #acct .account-panels h3{font-size:19px;margin-bottom:6px}
}

#acct .account-voice-mode .account-note{display:none}

.account-avatar-control{position:relative;flex:none}.account-avatar-control .aav{cursor:pointer;border:3px solid #4b3021;min-width:60px;min-height:60px;background:#fff2c8;border-radius:20px}.account-avatar-picker{position:absolute;top:70px;left:0;z-index:4;display:grid;grid-template-columns:repeat(3,52px);gap:7px;padding:12px;border:3px solid #4b3021;border-radius:20px;background:#fffaf0;box-shadow:0 5px 0 #95714e}.account-avatar-picker[hidden]{display:none}.account-avatar-picker button{min-height:48px;font-size:30px;border:2px solid #95714e;border-radius:12px;background:#fff}.account-avatar-picker button[aria-pressed=true]{background:#ffda75}.account-avatar-control [data-avatar-status]{display:block;max-width:100px;font-size:12px}

/* CR-013: registration notice and guardian confirmation */
.reg-notice{margin:4px 0 2px;padding:10px 12px;border-radius:12px;background:#fff7e6;border:1px solid #e8cf9d;font-size:14px;line-height:1.6}.reg-notice p{margin:0 0 6px}.reg-check{display:flex;gap:8px;align-items:flex-start;font-weight:700}.reg-check input{width:20px;height:20px;margin-top:2px;flex:none}
.billing-sim-link{margin:6px 0 0}.billing-sim-link a{font-weight:800}

/* CR-016 password recovery */
.acard .alink{display:block;margin:10px auto 0;background:none;border:0;color:#7a4b1f;font:600 16px/1.4 inherit;text-decoration:underline;cursor:pointer;min-height:44px}
.acard .alink[hidden]{display:none}
.recovery-codes{margin-top:8px}.recovery-codes h3{margin:0 0 6px}
.recovery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:14px 0;padding-left:28px}
.recovery-list code{font:700 20px/1.5 ui-monospace,Menlo,monospace;letter-spacing:.08em;user-select:all;-webkit-user-select:all}
.recovery-left,.recover-help{font-size:15px;color:#5b4632}
@media(max-width:420px){.recovery-list{grid-template-columns:1fr}}
#acct .recovery-codes .rbtns{display:flex;flex-wrap:wrap;gap:8px}#acct .recovery-codes .rbtns button{white-space:normal;min-width:0}
@media(max-width:520px){#acct .recovery-codes .rbtns [data-codes-saved]{flex:1 1 100%}}
