/* Home-only side rails; the app shell and processing screens keep their geometry. */
#section1.home-side-layout { position: relative; }
:where(#section1 > .main-menu-grid) > .menu-card { box-shadow: var(--shadow); }
#section1 .section-heading-row { justify-content: flex-end; gap: 0; margin-bottom: 20px; }
#section1 .section-heading-row:has(> .usage-summary[hidden]) { display: none; }
#section1 .usage-summary { flex: 0 1 320px; width: min(320px, 100%); min-width: 0; max-width: 320px; margin-top: 0; border-color: rgba(0,230,118,.2); border-radius: var(--radius); background: var(--bg-card); box-shadow: var(--shadow); }
#section1 .usage-summary-line { flex-wrap: wrap; gap: 2px 8px; }
#section1 .usage-summary-value { color: var(--accent-green); }
.home-side-tools { position: absolute; inset: -34px 0 auto; height: 28px; display: flex; justify-content: space-between; gap: 8px; }
.home-side-toggle { display: inline-flex; align-items: center; gap: 12px; padding: 4px 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-secondary); color: var(--text-secondary); font: inherit; font-size: 11px; cursor: pointer; }
.home-side-toggle:hover, .home-side-toggle[aria-expanded="true"] { color: var(--accent-green); border-color: rgba(0,230,118,.35); }
.home-side-toggle span { transition: transform .3s ease; }
.home-side-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
.home-rail-toggle { display: none; width: 24px; height: 24px; padding: 4px; margin: -10px 6px 6px; align-items: center; justify-content: center; border: 1px solid rgba(255,145,0,.3); border-radius: 5px; background: var(--bg-secondary); color: var(--accent-orange); cursor: pointer; z-index: 2; pointer-events: auto; }
.home-rail-toggle svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-rail-toggle:hover { border-color: var(--accent-orange); background: rgba(255,145,0,.18); }
.home-rail-toggle:disabled { cursor: wait; }
.home-rail-toggle:focus-visible { outline: 2px solid var(--accent-orange) !important; outline-offset: 3px; }
.home-right-panel-switch { position: absolute; right: auto; left: calc(36px / var(--home-layout-scale, 1)); top: -10px; z-index: 2; width: 24px; height: 24px; padding: 4px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,145,0,.3); border-radius: 5px; color: var(--accent-orange); background: var(--bg-secondary); cursor: pointer; }
.home-right-panel-switch svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.home-right-panel-switch:hover { border-color: var(--accent-orange); background: rgba(255,145,0,.18); }
.home-right-panel-switch:disabled { cursor: wait; }
#homePackageView[hidden], #homeActivityView[hidden], #homeActivityLoadMore[hidden] { display: none !important; }
#section1 .home-packages-panel.home-activity-mode { flex-direction: column; height: var(--home-right-height); min-height: 0; overflow: visible; }
#section1 .home-packages-panel.home-activity-mode.is-open:not([hidden]) { display: flex; }
@media (min-width: 1760px) {
  #section1 .home-packages-panel.home-activity-mode:not([hidden]) { display: flex; }
}
@supports (zoom: 1) {
  @media (min-width: 1240px) {
    #section1 .home-packages-panel.home-activity-mode:not([hidden]) { display: flex; }
  }
}
.home-activity-mode > .home-side-heading { flex: 0 0 auto; }
.home-activity-mode #homeActivityView { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.home-activity-mode #homeActivityList { flex: 1 1 auto; min-height: 0; overflow: hidden; }
.home-activity-mode .home-updates-all, .home-activity-retry { flex: 0 0 auto; }
.home-activity-list { list-style: none; margin: 0; padding: 0; }
.home-activity-entry { padding: 8px 10px; margin: 0 0 10px; border-left: 2px solid rgba(0,230,118,.35); border-radius: 6px; overflow-wrap: anywhere; }
.home-activity-list > .home-activity-entry:nth-child(odd), .home-activity-dialog-body > .home-activity-entry:nth-child(odd) { background: rgba(0,212,255,.045); }
.home-activity-list > .home-activity-entry:nth-child(even), .home-activity-dialog-body > .home-activity-entry:nth-child(even) { background: rgba(0,230,118,.025); }
.home-activity-entry:last-child { margin-bottom: 0; }
.home-activity-entry > strong { display: block; color: #bec6da; font-size: 11px; font-weight: 600; margin-bottom: 3px; }
.home-activity-entry > .home-activity-heading { display: flex; align-items: baseline; min-width: 0; }
.home-activity-name { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-activity-ecu { flex: 0 0 auto; min-width: 0; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-activity-description { display: block; font-size: 11px; line-height: 1.55; }
.home-activity-stars { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; margin: 3px 0; }
/* Compact only the right-card preview; the full history dialog and voting
   button targets retain their existing spacing and sizes. */
#homeActivityList > .home-activity-entry { padding: 4px 10px; margin-bottom: 4px; }
#homeActivityList > .home-activity-entry:last-child { margin-bottom: 0; }
#homeActivityList > .home-activity-entry > .home-activity-heading { margin-bottom: 0; line-height: 1.35; }
#homeActivityList > .home-activity-entry > .home-activity-stars { margin: 0; }
#homeActivityList > .home-activity-entry > .home-activity-description { line-height: 1.35; }
.home-activity-star { display: inline-grid; place-items: center; padding: 0; width: 19px; height: 23px; border: 0; background: transparent; color: #626b7e; font: 20px/1 sans-serif; }
.home-activity-star.is-filled { color: #ffc857; }
button.home-activity-star { cursor: pointer; }
button.home-activity-star:hover, button.home-activity-star:focus-visible { color: #ffe196; }
button.home-activity-star:disabled { cursor: wait; }
.home-rating-status { flex-basis: 100%; font-size: 10px; color: var(--text-secondary); line-height: 1.4; }
.home-rating-status.is-error { color: var(--accent-orange); }
.home-activity-retry { border: 0; color: var(--accent-green); background: transparent; padding: 6px 0; text-align: left; font: inherit; cursor: pointer; }
.recent-process-rating { margin-top: 5px; display: block; }
.recent-process-rating .home-activity-stars { flex-wrap: nowrap; }
.recent-process-rating .home-activity-star { width: 15px; height: 19px; font-size: 16px; }
.recent-process-rating .home-rating-status { white-space: normal; }
.home-rail-toggle .home-rail-open-icon, .home-rail-toggle[aria-expanded="false"] .home-rail-close-icon { display: none; }
.home-rail-toggle[aria-expanded="false"] .home-rail-open-icon { display: block; }
.home-rail-preference-status { display: none; }
.home-side-toggle:focus-visible, #homeSidepanels button:focus-visible, .home-package-link:focus-visible { outline: 2px solid var(--accent-green); outline-offset: 3px; }
.home-side-panel { display: none; position: relative; padding: 20px 16px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--bg-card); box-shadow: var(--shadow); color: var(--text-secondary); font-size: 12px; line-height: 1.55; }
.home-side-panel::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; border-radius: var(--radius) var(--radius) 0 0; background: linear-gradient(90deg, var(--accent-cyan), var(--accent-green)); }
.home-side-panel.is-open { display: block; max-height: none; overflow: visible; margin-bottom: 24px; }
.home-side-heading { padding-bottom: 13px; margin-bottom: 15px; border-bottom: 1px solid var(--border); }
.home-side-panel .home-side-icon { width: 48px; height: 48px; border-radius: 10px; margin-bottom: 16px; color: var(--accent-green); background: var(--accent-green-dim); }
.home-side-icon svg { width: 24px; height: 24px; }
.home-side-heading h2 { font-family: 'Rajdhani', sans-serif; font-size: 18px; font-weight: 700; line-height: normal; letter-spacing: .5px; color: var(--text-primary); margin: 0 0 3px; }
.home-side-kicker { font-size: 10px; color: var(--text-secondary); }
.home-release + .home-release { padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--border); }
.home-release-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.home-release-version { display: block; width: fit-content; margin: 0; padding: 2px 6px; border: 1px solid rgba(0,230,118,.2); border-radius: var(--radius-sm); color: var(--accent-green); background: var(--accent-green-dim); font: 10px 'JetBrains Mono', monospace; }
.home-side-panel .home-release-new { margin-top: 0; }
.home-side-panel .card-status { line-height: normal; }
/* Account access is already shown in the top bar; omit the duplicate price-card badge. */
#homeActivePackage { display: none !important; }
.home-release ul { list-style: none; margin: 0; padding: 0; }
.home-release li { margin-bottom: 10px; padding: 8px 10px; border-left: 2px solid rgba(0,230,118,.35); border-radius: 6px; }
.home-release li:nth-child(odd) { background: rgba(0,212,255,.045); }
.home-release li:nth-child(even) { background: rgba(0,230,118,.025); }
.home-release li:last-child { margin-bottom: 0; }
.home-release strong { display: block; margin-bottom: 2px; color: #bec6da; font-size: 11px; font-weight: 600; }
.home-release li span { display: block; font-size: 11px; }
.home-side-status { margin: 0; font-size: 12px; }
.home-package-tiers { display: flex; gap: 4px; padding: 3px; margin-bottom: 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-input); }
.home-package-tiers button { flex: 1; border: 0; border-radius: 4px; padding: 7px 0; color: var(--text-secondary); background: transparent; font: 11px 'JetBrains Mono', monospace; cursor: pointer; }
.home-package-tiers button { transition: color .3s ease, background-color .3s ease; }
.home-package-tiers button:hover { background: var(--bg-card-hover); color: var(--accent-green); }
.home-package-tiers button[aria-pressed="true"] { background: var(--accent-green-dim); color: var(--accent-green); }
.home-package-prices { min-height: 150px; }
.home-price-row { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 4px 8px; margin-bottom: 8px; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg-secondary); transition: border-color .3s ease, background-color .3s ease, transform .3s ease, box-shadow .3s ease; }
.home-price-row:last-child { margin-bottom: 0; }
.home-price-row:hover, .home-price-row:focus-within { border-color: var(--border-active); background: var(--bg-card-hover); transform: translateY(-2px); box-shadow: var(--shadow); }
.home-price-row:focus-within { outline: 2px solid var(--accent-green); outline-offset: 2px; }
.home-price-row dt { min-width: 0; font-size: 11px; }
.home-price-name { display: inline-flex; align-items: center; gap: 5px; color: var(--text-secondary); text-decoration: none; }
.home-price-name::after { content: ''; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.home-price-name:focus-visible { outline: none; }
.home-price-row:hover .home-price-name, .home-price-row:focus-within .home-price-name { color: var(--accent-green); }
.home-price-name [aria-hidden="true"] { flex-shrink: 0; color: var(--accent-green); }
.home-price-row dd { margin: 0; color: var(--text-primary); font-size: 12px; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.home-price-row dd.home-price-meta { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 2px; color: var(--text-secondary); font-size: 10px; font-weight: 400; white-space: normal; }
.home-price-advantage { color: #9bedc9; }
.home-package-link { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 15px; padding: 9px 11px; border: 1px solid rgba(0,230,118,.35); border-radius: var(--radius-sm); background: var(--accent-green-dim); color: var(--accent-green); font-size: 11px; text-decoration: none; transition: border-color .3s ease, background-color .3s ease; }
.home-package-link:hover { border-color: var(--accent-green); background: var(--bg-card-hover); }
.home-side-footnote { margin: 10px 0 0; font-size: 10px; line-height: 1.5; color: var(--text-secondary); }
.home-updates-all { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 8px; margin-top: 16px; padding: 10px 11px; border: 1px solid rgba(0,230,118,.3); border-radius: var(--radius-sm); background: var(--accent-green-dim); color: var(--accent-green); font: inherit; font-size: 11px; text-align: left; cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.home-updates-all:hover { border-color: var(--accent-green); background: rgba(0,230,118,.15); }
.home-updates-all > span { font-size: 15px; line-height: 1; }
/* Native top-layer modals: only their detail body scrolls, never the side cards. */
.home-updates-dialog { width: min(820px, calc(100vw - 48px)); height: min(720px, calc(100dvh - 48px)); max-height: min(720px, calc(100dvh - 48px)); max-width: none; margin: auto; padding: 0; border: 1px solid rgba(0,212,255,.26); border-radius: 18px; overflow: hidden; color: var(--text-primary); background: linear-gradient(145deg, rgba(0,212,255,.045), transparent 42%), var(--bg-card); box-shadow: 0 28px 100px rgba(0,0,0,.6), 0 0 36px rgba(0,212,255,.055); font-family: 'Exo 2', sans-serif; }
.home-updates-dialog[open] { display: flex; flex-direction: column; }
.home-updates-dialog::before { content: ''; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, var(--accent-cyan), var(--accent-green)); }
.home-updates-dialog::backdrop { background: rgba(3,8,15,.78); backdrop-filter: blur(7px); }
.home-updates-dialog-header { flex: 0 0 auto; display: flex; align-items: center; gap: 14px; padding: 24px; border-bottom: 1px solid var(--border); }
.home-updates-dialog-icon { flex: 0 0 46px; width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid rgba(0,230,118,.17); border-radius: 12px; background: var(--accent-green-dim); color: var(--accent-green); }
.home-updates-dialog-icon svg { width: 25px; height: 25px; }
.home-updates-dialog-heading { min-width: 0; flex: 1; }
.home-updates-dialog-heading h2 { margin: 0 0 3px; font: 700 26px/1.1 'Rajdhani', sans-serif; letter-spacing: .4px; }
.home-updates-dialog-heading p { margin: 0; color: var(--text-secondary); font-size: 12px; line-height: 1.5; }
.home-updates-dialog-close { flex: 0 0 36px; width: 36px; height: 36px; display: grid; place-items: center; padding: 8px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg-secondary); color: var(--text-secondary); cursor: pointer; transition: color .2s ease, border-color .2s ease, background-color .2s ease; }
.home-updates-dialog-close svg { width: 19px; height: 19px; }
.home-updates-dialog-close:hover { color: var(--text-primary); border-color: rgba(0,212,255,.4); background: var(--bg-card-hover); }
.home-updates-dialog-body { flex: 1 1 auto; min-height: 0; min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: 22px 24px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #344453 transparent; }
.home-updates-dialog-body > .home-release, .home-activity-dialog-body > * { flex-shrink: 0; }
.home-activity-dialog .home-activity-entry { padding: 12px 14px; margin-bottom: 12px; border: 1px solid var(--border); border-left: 2px solid rgba(0,230,118,.35); border-radius: 8px; background: rgba(10,16,25,.54); }
.home-activity-dialog .home-activity-entry > strong { font-size: 13px; }
.home-activity-dialog .home-activity-description { font-size: 12px; }
.home-updates-dialog .home-release { min-width: 0; padding: 17px 18px; margin: 0; border: 1px solid var(--border); border-radius: 10px; background: rgba(10,16,25,.54); }
.home-updates-dialog .home-release + .home-release { padding-top: 17px; margin-top: 0; }
.home-updates-dialog .home-release-heading { gap: 10px; margin-bottom: 13px; }
.home-updates-dialog .home-release-version { padding: 4px 8px; font-size: 11px; }
.home-updates-dialog .home-release-new { margin: 0; font-size: 10px; }
.home-updates-dialog .home-release li { padding-left: 12px; margin-bottom: 13px; }
.home-updates-dialog .home-release li:last-child { margin-bottom: 0; }
.home-updates-dialog .home-release strong { font-size: 13px; line-height: 1.5; color: #d2dae9; overflow-wrap: anywhere; }
.home-updates-dialog .home-release li span { font-size: 12px; line-height: 1.6; color: var(--text-secondary); overflow-wrap: anywhere; }
.home-updates-dialog .home-side-status { color: var(--text-secondary); line-height: 1.6; }
.home-modal-pagination { flex: 0 0 auto; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; padding: 12px 16px; border-top: 1px solid var(--border); background: var(--bg-secondary); }
.home-modal-pagination[hidden] { display: none !important; }
.home-modal-pagination button { min-width: 32px; min-height: 32px; padding: 5px 8px; border: 1px solid var(--border); border-radius: 6px; color: var(--text-secondary); background: var(--bg-card); font: inherit; font-size: 11px; cursor: pointer; }
.home-modal-pagination button:hover, .home-modal-pagination button[aria-current="page"] { color: var(--accent-green); border-color: rgba(0,230,118,.4); background: var(--accent-green-dim); }
.home-modal-pagination button:disabled { opacity: .45; cursor: default; }
.home-modal-page-gap { color: var(--text-secondary); padding-inline: 2px; }
.home-updates-all:focus-visible, .home-updates-dialog button:focus-visible { outline: 2px solid var(--accent-cyan); outline-offset: 3px; }
@media (min-width: 1760px) {
  .app-container:has(> #section1.active) > .steps { width: calc(100% - 74px); }
  #section1 .section-heading-row { position: absolute; right: -262px; bottom: calc(100% + 12px); width: 320px; margin-bottom: 0; }
  /* Side panels share the center's document scroll, without affecting grid sizing. */
  #homeSidepanels { position: absolute; top: 0; bottom: 0; inset-inline: -262px; display: grid; grid-template-columns: 240px minmax(0, 1fr) 240px; grid-template-rows: minmax(0, 1fr); align-items: start; pointer-events: none; }
  .home-side-tools { display: none; }
  .home-side-panel, .home-side-panel.is-open { display: block; position: relative; top: auto; grid-row: 1; width: 240px; max-height: none; overflow: visible; margin: 0; align-self: start; pointer-events: auto; }
  .home-updates-panel { grid-column: 1; }
  .home-packages-panel { grid-column: 3; }
  .home-rail-toggle { display: inline-flex; grid-row: 1; align-self: start; }
  .home-updates-rail-toggle { grid-column: 1; justify-self: end; }
  .home-packages-rail-toggle { grid-column: 3; justify-self: start; }
  #section1 .home-side-panel[hidden] { display: none; }
  #homeSidepanels[data-preferences-pending="true"] > .home-side-panel, #homeSidepanels[data-preferences-pending="true"] > .home-rail-toggle { visibility: hidden; }
  .home-rail-preference-status:not([hidden]) { display: block; grid-column: 2; grid-row: 1; justify-self: center; align-self: start; margin: 6px 0 0; padding: 5px 8px; border: 1px solid rgba(255,145,0,.3); border-radius: 5px; background: var(--bg-secondary); color: var(--accent-orange); font-size: 10px; z-index: 3; pointer-events: auto; }
}
@media (min-width: 821px) and (max-width: 1759px) {
  .home-updates-panel .home-release ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
}
/* One 1676px composition: 1152px of three-column function cards, two 240px
   rails and two 22px gaps. Scale every card together; retain tablet disclosures. */
@supports (zoom: 1) {
  @media (min-width: 1240px) {
    .app-container:has(> #section1.active) > .steps { width: calc(50% + 838px * var(--home-layout-scale, 1) - 336px); }
    #section1.home-side-layout { width: calc(1152px * var(--home-layout-scale, 1)); max-width: none; margin-inline: auto; }
    #section1 .section-heading-row { position: absolute; right: calc(-262px * var(--home-layout-scale, 1)); bottom: calc(100% + 12px); width: 320px; margin-bottom: 0; }
    #section1 #homeSidepanels { position: absolute; top: 0; bottom: 0; inset-inline: calc(-262px * var(--home-layout-scale, 1)); display: grid; grid-template-columns: calc(240px * var(--home-layout-scale, 1)) minmax(0, 1fr) calc(240px * var(--home-layout-scale, 1)); grid-template-rows: minmax(0, 1fr); align-items: start; pointer-events: none; }
    #section1 .home-side-tools { display: none; }
    #section1 .home-side-panel, #section1 .home-side-panel.is-open { display: block; position: relative; top: auto; grid-row: 1; width: 240px; max-height: none; overflow: visible; margin: 0; align-self: start; pointer-events: auto; zoom: var(--home-layout-scale, 1); }
    #section1 .home-updates-panel { grid-column: 1; }
    #section1 .home-packages-panel { grid-column: 3; }
    #section1 .home-rail-toggle { display: inline-flex; grid-row: 1; align-self: start; }
    #section1 .home-updates-rail-toggle { grid-column: 1; justify-self: end; }
    #section1 .home-packages-rail-toggle { grid-column: 3; justify-self: start; }
    #section1 .home-side-panel[hidden] { display: none; }
    #section1 #homeSidepanels[data-preferences-pending="true"] > .home-side-panel, #section1 #homeSidepanels[data-preferences-pending="true"] > .home-rail-toggle { visibility: hidden; }
    #section1 .home-rail-preference-status:not([hidden]) { display: block; grid-column: 2; grid-row: 1; justify-self: center; align-self: start; margin: 6px 0 0; padding: 5px 8px; border: 1px solid rgba(255,145,0,.3); border-radius: 5px; background: var(--bg-secondary); color: var(--accent-orange); font-size: 10px; z-index: 3; pointer-events: auto; }
    #section1 .home-updates-panel .home-release ul { display: block; }
    /* Compact rails keep a readable text floor without enlarging card geometry. */
    #section1 .home-side-panel, #section1 .home-side-status { font-size: max(12px, calc(9.5px / var(--home-layout-scale, 1))); }
    #section1 .home-activity-entry > strong, #section1 .home-activity-description { font-size: max(11px, calc(9.5px / var(--home-layout-scale, 1))); }
    #section1 .home-release strong, #section1 .home-release li span, #section1 .home-price-row dt, #section1 .home-package-link, #section1 .home-updates-all { font-size: max(11px, calc(9.5px / var(--home-layout-scale, 1))); }
    #section1 .home-price-row dd { font-size: max(12px, calc(10px / var(--home-layout-scale, 1))); }
    #section1 .home-side-kicker, #section1 .home-release-version, #section1 .home-side-footnote, #section1 .home-price-row dd.home-price-meta { font-size: max(10px, calc(9px / var(--home-layout-scale, 1))); }
    #section1 .home-package-tiers button, #section1 .home-side-panel .card-status { font-size: max(11px, calc(9px / var(--home-layout-scale, 1))); }
    #section1 > .main-menu-grid { width: 1152px; margin-inline: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); zoom: var(--home-layout-scale, 1); }
    /* Recent content shares the same raw desktop canvas and single parent zoom.
       Keep five ECU cards and all six history columns, including IP and status. */
    #section1 > .recent-ecu-section, #section1 > .recent-process-section { width: 1152px; max-width: none; margin-inline: auto; zoom: var(--home-layout-scale, 1); }
    #section1 .recent-ecu-meta, #section1 .recent-ecu-note, #section1 .recent-process-row { font-size: max(12px, calc(9.5px / var(--home-layout-scale, 1))); }
    #section1 .recent-ecu-brand, #section1 .recent-ecu-id, #section1 .recent-ecu-kicker, #section1 .recent-ecu-chip, #section1 .recent-process-note, #section1 .recent-process-status { font-size: max(11px, calc(9px / var(--home-layout-scale, 1))); }
    #section1 .recent-process-head { font-size: max(10px, calc(9px / var(--home-layout-scale, 1))); }
  }
}
/* JS supplies an unzoomed height measured to the IMMO EDIT/CLONE card bottom.
   Only this rail is bounded; no shell/grid sizing or shared document scroll changes. */
#section1 .home-updates-panel.home-updates-bounded:not([hidden]) { display: flex; flex-direction: column; height: var(--home-updates-height); min-height: 0; max-height: none; overflow: hidden; }
#section1 .home-updates-bounded .home-side-heading { flex: 0 0 auto; }
#section1 .home-updates-bounded #homeUpdateReleases { flex: 1 1 auto; min-height: 0; overflow: hidden; }
#section1 .home-updates-bounded .home-updates-all { flex: 0 0 auto; }
@media (max-width: 820px) {
  #section1 .section-heading-row { align-items: flex-end; }
  #section1 .usage-summary { flex: 0 1 auto; }
}
/* Hide the entire new UI on phones, including landscape and open disclosures. */
@media (max-width: 767px), (max-width: 1024px) and (max-height: 500px) and (hover: none) and (pointer: coarse) {
  #homeSidepanels { display: none; }
}
@media (max-width: 600px) {
  .home-updates-dialog { width: calc(100vw - 24px); height: calc(100dvh - 24px); max-height: calc(100dvh - 24px); border-radius: 12px; }
  .home-updates-dialog-header { gap: 10px; padding: 16px; }
  .home-updates-dialog-heading h2 { font-size: 22px; }
  .home-updates-dialog-heading p { font-size: 11px; }
  .home-updates-dialog-icon { flex-basis: 38px; width: 38px; height: 38px; border-radius: 9px; }
  .home-updates-dialog-icon svg { width: 22px; height: 22px; }
  .home-updates-dialog-body { gap: 12px; padding: 16px; }
  .home-updates-dialog .home-release { padding: 13px; }
  .home-updates-dialog .home-release + .home-release { padding-top: 13px; }
}
@media (max-height: 560px) {
  .home-updates-dialog-header { gap: 10px; padding: 14px 20px; }
  .home-updates-dialog-heading h2 { font-size: 22px; }
  .home-updates-dialog-icon { flex-basis: 38px; width: 38px; height: 38px; border-radius: 9px; }
  .home-updates-dialog-body { gap: 10px; padding: 12px 20px; }
  .home-updates-dialog .home-release, .home-updates-dialog .home-release + .home-release { padding: 12px 14px; }
  .home-updates-dialog .home-release-heading { margin-bottom: 9px; }
  .home-updates-dialog .home-release li { margin-bottom: 9px; }
}
@media (max-height: 400px) {
  .home-updates-dialog-header { padding-block: 10px; }
  .home-updates-dialog-heading p { display: none; }
  .home-updates-dialog-icon { display: none; }
  .home-updates-dialog-body { padding-block: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-side-toggle span, .home-package-tiers button, .home-price-row, .home-package-link, .home-updates-all, .home-updates-dialog button { transition: none; }
  .home-price-row:hover, .home-price-row:focus-within { transform: none; }
  .home-side-panel .status-dot { animation: none; }
}

/* Guest login invitation reuses the palette, not the large history viewport. */
.app-auth-guest button.select-option { appearance: none; width: 100%; text-align: left; font-family: inherit; background: transparent; color: var(--text-primary); }
.app-auth-guest button.select-option:hover { background: var(--bg-card-hover); }
.app-auth-guest button.select-option.selected { background: rgba(45,122,237,.08); color: var(--accent-cyan); }
#guestLoginDialog { width: min(560px, calc(100vw - 24px)); height: fit-content; max-height: calc(100dvh - 24px); overflow: auto; }
#guestLoginDialog .home-updates-dialog-card { box-sizing: border-box; width: 100%; flex: 0 0 auto; }
#guestLoginTitle { margin: 0 0 12px; font-family: 'Rajdhani', sans-serif; font-size: 26px; line-height: 1.2; }
#guestLoginDescription { margin: 0; color: var(--text-secondary); font-size: 14px; line-height: 1.6; }
#guestLoginDialog .btn-row { flex-wrap: wrap; margin: 22px 0 0; padding: 0; }
@media (max-width: 600px) {
  #guestLoginDialog .btn-row .btn { flex: 1 1 calc(50% - 6px); min-width: 0; }
  #guestLoginDialog #guestPromptClose { flex-basis: 100%; }
}
