body.profile-open,body.settings-open{overflow:hidden;}
/* Shared Profile and Settings drawers. The drawers present account/settings
   information; navigation stays owned by the shared top navigation. */
.ma-drawer-backdrop{
  position:fixed;inset:0;z-index:80;display:none;
  background:var(--ma-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.ma-drawer-backdrop.open{display:block;}
.ma-drawer{
  position:fixed;top:18px;right:18px;z-index:90;
  width:min(500px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow-x:hidden;overflow-y:auto;
  padding:18px;box-sizing:border-box;border:1px solid var(--ma-border);border-radius:var(--ma-radius-lg);
  background:var(--ma-surface-strong);box-shadow:var(--ma-shadow);color:var(--ma-text);
  transform:translateX(calc(100% + 44px));transition:transform var(--ma-motion-medium) ease;
}
.ma-drawer.open{transform:translateX(0);}
.ma-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ma-space-3);margin-bottom:16px;}
.ma-menu-kicker{font-size:.69rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--ma-muted);}
.ma-drawer-title{font-family:var(--ma-font-display);font-weight:900;font-size:1.85rem;line-height:1.05;letter-spacing:-.045em;color:var(--ma-text-strong);}
.ma-drawer-close{flex:0 0 auto;}

.ma-profile-card{margin-top:12px;padding:16px;}
.ma-account-card{padding:18px;}
.ma-account-user{display:flex;align-items:center;gap:13px;}
.ma-account-copy{min-width:0;}
.ma-account-avatar{width:50px;height:50px;border-radius:var(--ma-radius-md);object-fit:cover;background:var(--ma-writing-soft);border:1px solid var(--ma-border-strong);}
.ma-account-name{font-size:1.03rem;font-weight:900;color:var(--ma-text-strong);overflow-wrap:anywhere;}
.ma-account-email,.ma-sync-detail{color:var(--ma-muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere;}
.ma-drawer .ma-card,.ma-drawer .ma-setting-list,.ma-drawer .ma-setting-row,
.ma-account-copy,.ma-profile-card-head>div{min-width:0;max-width:100%;}
.ma-sync-detail{width:100%;max-width:100%;white-space:normal;}
.ma-auth-actions{margin-top:14px;display:grid;grid-template-columns:1fr;gap:10px;}
.ma-profile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.ma-profile-card-title{margin-top:3px;font-size:1.03rem;font-weight:900;color:var(--ma-text-strong);}
.ma-sync-status-line{display:flex;align-items:center;gap:10px;margin-top:4px;}
.ma-sync-dot{width:10px;height:10px;border-radius:999px;background:var(--ma-info);box-shadow:0 0 0 4px color-mix(in srgb,var(--ma-info) 18%,transparent);flex:0 0 auto;}
.ma-sync-dot.ok,.ma-sync-dot.cloud,.ma-sync-dot.success{background:var(--ma-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--ma-success) 18%,transparent);}
.ma-sync-dot.warning,.ma-sync-dot.offline{background:var(--ma-warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--ma-warning) 18%,transparent);}
.ma-sync-dot.error,.ma-sync-dot.danger{background:var(--ma-danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--ma-danger) 18%,transparent);}
.ma-sync-meta{margin-top:8px;font-size:12px;color:var(--ma-muted);}
.ma-achievement-summary{display:flex;align-items:baseline;gap:8px;margin:8px 0 14px;}
.ma-achievement-summary strong{font-size:32px;line-height:1;color:var(--ma-text-strong);}
.ma-achievement-summary span{color:var(--ma-muted);font-size:13px;font-weight:800;}

.ma-progression-card{--ma-card-bg:linear-gradient(145deg,color-mix(in srgb,var(--ma-results) 8%,var(--ma-surface-soft)),var(--ma-surface-soft));}
.ma-progression-card .ma-profile-card-title span{color:var(--ma-results);}
.ma-level-xp-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:2px 0 9px;}
.ma-level-xp-line strong{font-size:1.45rem;line-height:1;color:var(--ma-text-strong);}
.ma-level-xp-line span{font-size:12px;font-weight:800;color:var(--ma-muted);}
.ma-level-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--ma-surface-inset);border:1px solid var(--ma-border);}
.ma-level-progress>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ma-results),color-mix(in srgb,var(--ma-results) 62%,var(--ma-writing)));transition:width var(--ma-motion-medium) ease;}
.ma-level-activity{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;}
.ma-level-activity>div{min-width:0;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px;padding:10px 12px;border-radius:var(--ma-radius-md);background:var(--ma-surface-inset);border:1px solid var(--ma-border);}
.ma-level-activity span{font-size:12px;font-weight:800;color:var(--ma-muted);}
.ma-level-activity strong{grid-row:1 / span 2;grid-column:2;font-size:1.25rem;color:var(--ma-text-strong);}
.ma-level-activity small{font-size:10px;color:var(--ma-muted);}
.ma-progression-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--ma-border);}
.ma-progression-footer .ma-achievement-summary{margin:0;}
.ma-progression-footer .ma-achievement-summary strong{font-size:1.35rem;}

.ma-settings-section{margin-top:12px;}
.ma-settings-section-head{margin-bottom:10px;}
.ma-settings-section-title{margin-top:3px;color:var(--ma-text-strong);font-weight:900;font-size:1.05rem;}
.ma-settings-segmented{min-width:0;width:100%;}
.ma-settings-segmented--display{min-width:0;width:100%;}
.ma-shared-settings-drawer .ma-settings-section{
  --ma-setting-row-columns:minmax(96px,120px) minmax(0,1fr);
  --ma-setting-control-justify:stretch;
  --ma-setting-control-width:100%;
}
.ma-shared-settings-drawer .ma-settings-section .ma-setting-row{gap:var(--ma-space-3);}
.ma-settings-inline-actions{margin-top:2px;}
.ma-save-section{gap:var(--ma-space-3);}
.ma-settings-status{margin-top:8px;min-height:0;}
.ma-settings-status:empty{display:none;}
.ma-save-section .ma-settings-status:not(:empty){margin-top:0;}
.ma-theme-choice-btn.active,[data-ma-theme-choice].active{
  border-color:transparent;background:var(--ma-control-active);box-shadow:var(--ma-shadow-control);outline:none;
}

.ma-settings-disclosure{margin-top:16px;border:0;}
.ma-settings-disclosure>summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;
  cursor:pointer;padding:12px 2px;color:var(--ma-text-strong);user-select:none;
}
.ma-settings-disclosure>summary::-webkit-details-marker{display:none;}
.ma-settings-disclosure>summary>span{display:grid;gap:4px;}
.ma-settings-disclosure>summary strong{font-size:1.05rem;}
.ma-settings-disclosure>summary .ma-icon{transition:transform var(--ma-motion-fast) ease;}
.ma-settings-disclosure[open]>summary .ma-icon{transform:rotate(90deg);}
.ma-settings-data-list{margin-top:2px;}

/* Authentication visibility is state-owned by the shared profile binding. */
html[data-ma-signed-in="true"] [data-ma-sign-in],
html[data-ma-signed-in="false"] [data-ma-sign-out]{display:none;visibility:hidden;pointer-events:none;}
html[data-ma-signed-in="true"] [data-ma-sign-out],
html[data-ma-signed-in="false"] [data-ma-sign-in]{visibility:visible;pointer-events:auto;}

@media(max-width:760px),(max-width:900px) and (orientation:portrait),(pointer:coarse){
  .ma-drawer{
    top:calc(env(safe-area-inset-top,0px) + 12px);right:10px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);left:10px;
    width:auto;max-height:none;padding:14px;border-radius:var(--ma-page-card-radius-phone);overflow-y:auto;-webkit-overflow-scrolling:touch;
  }
  .ma-drawer-head{position:sticky;top:-14px;z-index:3;align-items:center;padding:14px 0 12px;margin:-14px 0 12px;background:var(--ma-surface-strong);border-bottom:1px solid var(--ma-border);}
  .ma-drawer-title{font-size:clamp(1.45rem,7vw,1.85rem);}
  .ma-settings-segmented,.ma-settings-segmented--display{min-width:0;width:100%;}
  .ma-settings-segmented--display{--ma-segment-count:4!important;}
  .ma-settings-inline-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .ma-settings-inline-actions .ma-button{width:100%;}
}
/* Explicit display modes win over pointer capability. */
body[data-effective-display-mode="tablet"] .ma-drawer{
  top:max(16px,env(safe-area-inset-top,0px));
  right:16px;
  bottom:auto;
  left:auto;
  width:min(600px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  padding:18px;
  border-radius:var(--ma-radius-lg);
}
body[data-effective-display-mode="phone"] .ma-drawer{
  top:calc(env(safe-area-inset-top,0px) + 8px);
  right:6px;
  bottom:calc(env(safe-area-inset-bottom,0px) + 8px);
  left:6px;
  width:auto;
  max-width:none;
  max-height:none;
  padding:14px;
  border-radius:var(--ma-page-card-radius-phone);
}

@media(max-width:560px){
  .ma-shared-profile-drawer .ma-button,.ma-shared-settings-drawer .ma-button{font-size:13px;}
  .ma-settings-segmented--display{--ma-segment-count:2!important;}
  .ma-settings-inline-actions{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){.ma-drawer,.ma-settings-disclosure>summary .ma-icon{transition:none;}}
