/* Scoped to Plus. Existing memories, map chrome and other dialogs are untouched. */
.plus-dialog{--plus-navy:#00243f;--plus-mint:#75d9c3;--plus-muted:#c4d8e1;box-sizing:border-box;color:#f8fcff;background:var(--plus-navy);border:1px solid #5d8292;border-radius:28px;padding:0;width:min(660px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain;box-shadow:0 24px 80px #001a3166;font-size:1rem;text-align:left;color-scheme:dark}
.plus-dialog::backdrop{background:#001426a8}
.plus-dialog{scroll-padding-block-start:var(--plus-heading-space,88px)}
.plus-dialog *{box-sizing:border-box}
.plus-dialog [hidden]{display:none!important}
.plus-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;position:sticky;top:0;z-index:1;background:var(--plus-navy);border-bottom:1px solid #b9dcd51f}
.plus-wordmark{font-weight:800;font-size:1.1rem;letter-spacing:-.025em;line-height:1.35}
.plus-dialog button{font:inherit;cursor:pointer;min-height:44px;touch-action:manipulation}
.plus-dialog .plus-close{width:max(44px,2rem);height:max(44px,2rem);padding:0;line-height:1;display:grid;place-items:center;border-radius:50%;border:1px solid #7594a8;background:#ffffff0c;color:#fff;font-size:1.75rem;flex-shrink:0}
.plus-body{padding:26px 28px 22px;min-width:0}
.plus-hero{margin:0 0 24px}
.plus-dialog .plus-eyebrow{margin:0 0 12px;font-size:.7rem;line-height:1.5;font-weight:750;letter-spacing:.11em;text-transform:uppercase;color:var(--plus-mint)}
.plus-dialog h2{font-size:clamp(1.65rem,5vw,2.45rem);font-weight:800;letter-spacing:-.035em;line-height:1.12;margin:0 0 14px;color:#fff;text-wrap:balance}
.plus-subtitle{color:var(--plus-muted);line-height:1.55;margin:0;max-width:42ch}
.plus-storage,.plus-free-note,.plus-manage-help{font-size:.85rem;line-height:1.5;color:var(--plus-muted);margin:0 0 20px;overflow-wrap:anywhere}
.plus-free-note{padding:0;border:0;border-radius:0;background:transparent}
.plus-free-note summary{min-height:44px;align-content:center;padding:10px 0;cursor:pointer;touch-action:manipulation}
.plus-free-note p{margin:0 0 12px;font:inherit;color:inherit}
.plus-membership{padding:12px 14px;border:1px solid #75d9c34d;border-radius:14px;background:#75d9c310;color:#dff6ee;font-size:.85rem;line-height:1.5;margin:18px 0 0}
.plus-benefits{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:16px;padding:0;margin:0 0 24px}
.plus-benefits li{display:grid;align-content:start;gap:6px;padding:2px 0 2px 14px;border:0;border-left:2px solid #75d9c3;border-radius:0;background:transparent}
.plus-benefits strong{font-size:1rem;color:#fff}.plus-benefits span{color:var(--plus-muted);font-size:.9rem;line-height:1.5}
.plus-plans{border:0;padding:0;margin:0;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:12px}.plus-plans legend{font-size:.85rem;font-weight:650;color:#edf8f5;margin-bottom:12px}
.plus-plan{display:flex;align-items:center;gap:12px;border:1px solid #68859b;border-radius:16px;padding:15px;min-height:76px;cursor:pointer;background:#ffffff06}
.plus-plan:has(input:checked){border:2px solid var(--plus-mint);padding:14px;background:#75d9c316}
.plus-plan input{appearance:none;-webkit-appearance:none;width:20px;height:20px;flex-shrink:0;margin:0;border:2px solid #93afbc;border-radius:50%;background:transparent;display:grid;place-items:center}
.plus-plan input::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--plus-mint);transform:scale(0)}
.plus-plan input:checked{border-color:var(--plus-mint)}
.plus-plan input:checked::before{transform:scale(1)}
.plus-plan:has(input:disabled){cursor:default;opacity:.65}
.plus-plan:has(input:disabled:checked){border-color:#7594a8}
.plus-plan>span{display:grid;gap:5px;flex:1;min-width:0;overflow-wrap:anywhere}.plus-price{color:#eefbf8;font-size:.95rem;font-weight:650}.plus-plan-cadence{font-size:.72rem;color:var(--plus-muted);line-height:1.4}.plus-plan-note{max-width:90px;text-align:right;color:var(--plus-mint);font-size:.75rem;line-height:1.35}
.plus-status{color:#d4e3ec;font-size:.9rem;line-height:1.5;margin:16px 0;min-height:1.5em}
.plus-status:empty{display:none}
.plus-actions{margin-top:22px;padding-top:18px;border-top:1px solid #b9dcd52b}
.plus-secondary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 12px;margin-top:6px}
.plus-dialog .plus-primary{width:100%;background:var(--plus-mint);color:var(--plus-navy);border:0;border-radius:16px;padding:15px;font-weight:800;font-size:1rem;min-height:54px}
.plus-dialog button:disabled{opacity:.5;cursor:default}.plus-dialog .plus-restore,.plus-dialog .plus-retry,.plus-dialog .plus-manage,.plus-dialog .plus-dismiss{display:block;margin:0;background:transparent;border:0;color:#e1f5f3;text-decoration:underline;text-underline-offset:4px;padding:10px 12px;max-width:100%;white-space:normal;font-size:.85rem}
.plus-dialog .plus-manage{border:1px solid #7594a8;border-radius:12px;width:100%;margin-top:12px;font-weight:700;text-decoration:none}
.plus-disclosure{font-size:.72rem;line-height:1.6;color:var(--plus-muted);margin:18px 0 4px}
.plus-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin-top:12px}.plus-links button{color:#d3e5ee;background:transparent;border:0;text-decoration:underline;font-size:.8rem}
.plus-dialog :focus-visible{outline:3px solid #6ecce8;outline-offset:4px}
.plus-dialog .plus-plan:has(input:focus-visible){outline:3px solid #6ecce8;outline-offset:3px}
.plus-dialog .plus-plan input:focus-visible{outline:none}
.plus-dialog h2:focus-visible{outline:none}
.account-plus-card{border:1px solid #557587;border-radius:22px;padding:20px;color:#fff;background:#00283f;margin:12px 0;display:grid;gap:10px;min-width:0;text-align:left}
.account-plus-card[hidden]{display:none!important}.account-plus-card p{color:#c4d8e1;margin:0;font-size:.85rem;line-height:1.5}.account-plus-card button{color:#e1f5f3;background:transparent;min-height:44px;border:1px solid #7594a8;border-radius:12px;font-weight:700;padding:10px;white-space:normal}
@media(max-width:380px){.plus-body{padding:20px 18px}.plus-heading{padding:12px 18px}.plus-plan-note{display:none}.plus-dialog{border-radius:22px}.account-plus-card{padding:16px}}
/* Capacity, preservation and offline readiness are distinct, not one status. */
.plus-allowances{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:12px;min-width:0;margin:14px 0}
.plus-allowance{min-width:0;border:1px solid #d5e9e3;border-radius:18px;padding:18px;background:#edf7f4;color:#00283f;text-align:left;color-scheme:light}
.plus-allowance h3{margin:0 0 8px;font:650 .8rem/1.4 system-ui;color:#375c66}
.plus-allowance>strong{display:block;color:#00283f;font-size:1.2rem;letter-spacing:-.02em;line-height:1.3;overflow-wrap:anywhere}
.plus-allowance progress{display:block;width:100%;height:6px;margin:12px 0;border:0;border-radius:8px;overflow:hidden;accent-color:#19776d;background:#ccded7}
.plus-allowance progress::-webkit-progress-bar{background:#ccded7;border-radius:8px}
.plus-allowance progress::-webkit-progress-value{background:#19776d;border-radius:8px}
.plus-allowance[data-state="critical"] progress::-webkit-progress-value,.plus-allowance[data-state="full"] progress::-webkit-progress-value{background:#95600c}
.plus-allowance p{font-size:.75rem;line-height:1.5;margin:10px 0 0;color:#375c66}
.plus-allowance .plus-allowance-usage{font-size:.8rem;font-weight:650;color:#214e59}
.plus-allowance .plus-allowance-notice{padding-top:10px;border-top:1px solid #cbded7;color:#375c66}
.plus-current-plan{margin:0 0 16px;border-block:1px solid #b9dcd52b;padding:4px 0}
.plus-current-plan summary{min-height:44px;padding:12px 0;cursor:pointer;color:#e6f5f1;line-height:1.5;font-weight:650;font-size:.9rem}
.plus-dialog[data-member="true"] .plus-current-plan{border-bottom:0;margin-bottom:0}
.plus-allowance-footnote{color:var(--plus-muted);font-size:.75rem;line-height:1.5;margin:0 0 14px}
.plus-preview-note{border:1px dashed #78989d;border-radius:12px;padding:10px 12px;color:#dfede9;font:.75rem/1.5 system-ui;margin:0 0 20px}
.account-plus-card .plus-account-eyebrow{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#75d9c3}
.account-plus-card>strong{font-size:1.15rem}
.account-plus-card>small{color:#c4d8e1;font-size:.75rem;line-height:1.5}
.account-plus-card [data-plus-open]{background:#75d9c3;color:#00283f;border-color:#75d9c3}
.plus-account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.plus-account-actions button{min-width:0;overflow-wrap:anywhere}
.account-offline-readiness{color:#d6e6eb;border:1px solid #557587;border-radius:16px;padding:4px 14px;margin:14px 0}
.account-offline-readiness summary{font-weight:650;cursor:pointer;min-height:44px;padding:10px 0;line-height:1.5}
.account-offline-readiness p{font-size:.85rem;line-height:1.5;margin:4px 0 10px}
.account-offline-readiness small{display:block;font-size:.75rem;line-height:1.5;margin:0 0 12px;color:#b9cdda}
.plus-chapter-notice{grid-column:1/-1;padding:12px 14px;border:1px solid #bfdcd5;border-radius:14px;background:#edf7f2;color:#254e58;font:.8rem/1.5 system-ui}
.plus-chapter-notice[hidden]{display:none!important}
.plus-chapter-notice p{margin:0;color:inherit;font:inherit}
.plus-chapter-notice button{min-height:44px;max-width:100%;padding:8px 0;background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;color:#075468;font:650 .8rem/1.5 system-ui;white-space:normal;cursor:pointer}
.plus-chapter-notice button[hidden]{display:none!important}
.plus-chapter-notice button:focus-visible,.account-plus-card button:focus-visible,.account-offline-readiness summary:focus-visible{outline:3px solid #6ecce8;outline-offset:3px}
@media(max-width:380px){.plus-account-actions{grid-template-columns:minmax(0,1fr)}}

/* Account is an overview, not a second paywall. Use one quiet summary with
   compact rows; the full Plus panel keeps its more spacious allowance cards. */
html body main.app-shell #accountMenu .account-plus-card {
  padding: 14px 0 0; margin: 6px 0 0; gap: 6px;
  border: 0; border-top: 1px solid #29495f; border-radius: 0;
  background: transparent;
}
html body main.app-shell #accountMenu .plus-account-eyebrow {
  font-size: .6875rem; line-height: 1.4; letter-spacing: .08em;
}
html body main.app-shell #accountMenu .plus-account-heading {
  display: grid; justify-items: start; gap: 4px; text-align: left;
}
html body main.app-shell #accountMenu .plus-account-heading > strong {
  font-size: 1rem; line-height: 1.4;
}
html body main.app-shell #accountMenu .account-plus-card > p {
  font-size: .75rem; line-height: 1.5;
}
html body main.app-shell #accountMenu .plus-allowances {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 0; margin: 6px 0; border: 1px solid #36586e; border-radius: 14px;
  overflow: hidden; background: #0a2e46;
}
html body main.app-shell #accountMenu .plus-allowance {
  padding: 12px 14px; border: 0; border-radius: 0;
  background: transparent; color: #f8fcff; color-scheme: dark;
}
html body main.app-shell #accountMenu .plus-allowance + .plus-allowance { border-top: 1px solid #36586e; }
html body main.app-shell #accountMenu .plus-allowance h3 {
  margin: 0 0 4px; font-size: .75rem; color: #b8d0dd;
}
html body main.app-shell #accountMenu .plus-allowance > strong {
  font-size: 1rem; line-height: 1.35; color: #fff;
}
html body main.app-shell #accountMenu .plus-allowance .plus-allowance-usage {
  margin: 4px 0 0; font-size: .8125rem; line-height: 1.4; font-weight: 500; color: #abeddd;
}
html body main.app-shell #accountMenu .plus-allowance .plus-allowance-notice {
  font-size: .75rem; border-color: #36586e; color: #ffe0a3;
}
html body main.app-shell #accountMenu .account-plus-card button {
  font-size: .8125rem; line-height: 1.4; min-height: 44px; padding: 10px 12px;
}
html body main.app-shell #accountMenu .plus-account-actions button {
  border-color: transparent; padding: 8px 4px; color: #c4d8e1;
  text-decoration: underline; text-underline-offset: 3px; font-weight: 500;
}
html body main.app-shell #accountMenu .plus-account-details {
  min-width: 0; border-top: 1px solid #29495f; color: #c4d8e1;
}
html body main.app-shell #accountMenu .plus-account-details > summary {
  min-height: 44px; box-sizing: border-box; padding: 12px 2px;
  font-size: .75rem; line-height: 1.5; font-weight: 650; cursor: pointer;
}
html body main.app-shell #accountMenu .plus-account-details h4 {
  margin: 8px 0 4px; font-size: .8125rem; line-height: 1.4; color: #fff;
}
html body main.app-shell #accountMenu .plus-account-details p {
  margin: 0 0 10px; font-size: .75rem; line-height: 1.5; color: #c4d8e1;
}
/* Keep stacked rows at narrow widths and at enlarged text sizes. A container
   query keys the divider to the actual Account content, not device detection. */
html body main.app-shell #accountMenu .account-plus-card { container-type: inline-size; }
@container (min-width: 34rem) {
  html body main.app-shell #accountMenu .plus-allowance + .plus-allowance {
    border-top: 0; border-left: 1px solid #36586e;
  }
}
@container (max-width: 33.999rem) {
  html body main.app-shell #accountMenu .plus-allowance + .plus-allowance {
    border-top: 1px solid #36586e; border-left: 0;
  }
}
@media (orientation: landscape) and (max-height: 520px) {
  html body main.app-shell #accountMenu .account-plus-card { padding-top: 6px; }
}
