/* Full-height content behind four independent corner controls, as in v17. */
.app.aligned{--relief-inset:inset 4px 4px 7px #183b562b,inset -2px -2px 4px #ffffff91,inset 0 0 0 1px #9baabd69;--reading-top:calc(82px + env(safe-area-inset-top,0px));--reading-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
/* No global contour clip: the open center must remain the real page content. */
html:has(.app.aligned),body:has(.app.aligned){height:100%;overflow:hidden;overscroll-behavior:none}
.app.aligned #screen{position:relative;z-index:1;padding:0;scroll-padding:calc(var(--reading-top) + 12px) 20px calc(var(--reading-bottom) + 22px);-webkit-overflow-scrolling:touch;overflow-anchor:none}
.aligned .milk-panel{filter:drop-shadow(0 -3px 5px #103f7138)}
.aligned .page-panel{min-height:220px;padding-bottom:30px}
.aligned #screen:not([data-view=tools]):not([data-view=news])>.page-content>.page-panel{margin-top:76px;min-height:calc(100dvh - var(--reading-top) - var(--reading-bottom) - 100px)}
.aligned .page-panel>.inset,.aligned .page-panel>form.inset{margin:0;padding:0;width:auto;max-width:none}
.aligned .page-summary{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 23px}
.aligned .primary{min-height:50px;border-radius:17px 23px 17px 10px;background:linear-gradient(145deg,#4089c0,var(--brand-blue) 65%);border:1px solid #fff4;box-shadow:inset 1px 1px 1px #ffffff6b,inset -2px -3px 3px #123d6570,0 3px 0 #185282,0 8px 14px #183b5638;color:white;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:10px}
.aligned .primary svg{width:20px;height:20px;flex-shrink:0}.aligned .primary:active{transform:translateY(2px);box-shadow:var(--relief-inset)}
.aligned .secondary{border:1px solid #b7c2cf;border-radius:14px 19px 14px 10px;background:linear-gradient(140deg,#fffefa,#e7ecf1);box-shadow:inset 1px 1px 1px #fff,3px 4px 7px #183b5621;color:var(--ink);min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.aligned .field{font-size:12px;font-weight:550;line-height:1.6;display:block;margin:0 0 22px}
.aligned .field input,.aligned .field select,.aligned .search{background:linear-gradient(135deg,#e8edf2,#f9fafb);box-shadow:var(--relief-inset);border:1px solid #b7c2cf;border-radius:15px;color:var(--ink);width:100%;min-width:0;font-size:16px;min-height:48px;margin-top:9px}
.aligned .field select{height:50px;padding:0 12px}.aligned .field input{padding:12px}
.aligned .field input:focus,.aligned .field select:focus{outline:2px solid var(--brand-blue);outline-offset:3px}
.aligned input::placeholder{color:#637481;opacity:1}.aligned .app-search input{font-size:16px}.aligned .app-search input::placeholder{color:#e0edf6}
.aligned .search{display:flex;align-items:center;padding:0 8px 0 14px;gap:8px;margin:12px 0 18px}
.aligned .search input{border:0;box-shadow:none;background:transparent;padding:12px 0;width:100%;min-width:0;font-size:16px}
.aligned .search>.icon-button{min-width:44px;width:44px;height:44px;border-radius:13px;background:var(--accent);color:var(--ink)}
.aligned .source-tabs{display:flex;margin:16px 22px 0;padding:4px;border-radius:20px;background:#185a9280;box-shadow:inset 2px 3px 5px #103f714d,inset -1px -1px 1px #fff3;gap:4px}
.aligned .source-tabs button{min-width:0;flex:1;min-height:44px;color:#e4eff8;font-size:13px;border-radius:16px}
.aligned .source-tabs button.active,.aligned .source-tabs button.selected,.aligned .source-tabs button[aria-pressed=true]{color:var(--accent);background:linear-gradient(145deg,#4389bf,#216ba6);box-shadow:inset 1px 1px 1px #ffffff69,inset -1px -2px 3px #123d6570,3px 4px 7px #103f7159}

.aligned .breadcrumbs{margin:0 0 20px;padding:0 0 14px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:2px;color:var(--muted)}
.aligned .breadcrumbs button{min-height:44px;font-size:12px;color:var(--ink);overflow-wrap:anywhere;max-width:100%}
.aligned .list{border:0;border-radius:0;background:transparent;overflow:visible}
.aligned .file-row{display:flex;gap:10px;align-items:center;min-height:92px;padding:18px 0;border-bottom:1px solid var(--line);background:transparent}
.aligned .file-open{flex:1;min-width:0;gap:15px;padding:2px 0;display:flex;align-items:center;text-align:left}
.aligned .file-symbol{position:relative;flex:0 0 39px;width:39px;height:51px;border-radius:7px 16px 7px 7px;transform:rotate(-5deg);background:linear-gradient(135deg,#5d9bcf,var(--brand-blue));color:white;box-shadow:1px 2px 0 #c8dae7,3px 5px 0 #e9edf0,5px 8px 9px #183b5633;display:grid;place-items:center}
.aligned .file-symbol:before{content:"";position:absolute;top:0;right:0;width:12px;height:13px;border-radius:0 2px 0 4px;background:linear-gradient(135deg,#fff8,#e3eff7);box-shadow:-1px 2px 2px #183b562e}
.aligned .file-symbol svg{width:23px;height:23px;stroke-width:1.7}.aligned .file-copy{min-width:0}
.aligned .file-name{font-size:14px;font-weight:550;letter-spacing:-.02em;line-height:1.6;overflow-wrap:anywhere}.aligned .file-sub{font-size:11px;margin-top:7px;line-height:1.5;color:var(--muted)}
.aligned .favorite{flex:0 0 44px;width:44px;min-height:44px;height:44px;border-radius:50%;color:var(--muted);background:linear-gradient(145deg,#fff,#e9ecf0);box-shadow:4px 5px 8px #183b5626,-3px -3px 7px #fff,inset 1px 1px 1px #fff;border:1px solid #ffffffd9}
.aligned .favorite svg{width:20px;height:20px;stroke-width:1.7}.aligned .favorite[aria-pressed=true]{background:linear-gradient(145deg,#fff3af,#f5d64a);color:var(--ink);box-shadow:var(--relief-inset)}
.aligned .settings-card{margin:0;padding:0 0 25px;border:0;border-radius:0;background:none;box-shadow:none}
.aligned .settings-card+.settings-card{border-top:1px solid var(--line);padding-top:24px}.aligned .settings-card h2{font-size:17px;font-weight:550;margin-bottom:12px;overflow-wrap:anywhere}.aligned .settings-card p{font-size:12px;line-height:1.85;color:var(--muted);margin-bottom:20px}
.aligned .empty{padding:18px 0 26px;text-align:left;border:0;border-radius:0;background:none}
.aligned .empty .state-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px 18px 14px 7px;color:var(--brand-blue);background:linear-gradient(140deg,#fff,#dce5ed);box-shadow:5px 6px 11px #183b5629,inset 1px 1px 1px #fff;margin:0 0 23px}
.aligned .empty h2{font-size:18px;font-weight:550;line-height:1.5}.aligned .empty p{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0 20px}
.aligned .result{padding:22px 17px;margin:25px 0;background:linear-gradient(135deg,#e8edf2,#f9fafb);box-shadow:var(--relief-inset);border:1px solid #b7c2cf;border-radius:15px 25px 15px 12px;color:var(--ink);overflow-wrap:anywhere}.aligned .result strong{font-size:25px;font-weight:550;line-height:1.6}
.aligned .tool-disclaimer,.aligned .market-help{font-size:11px;line-height:1.85;color:var(--muted)}.aligned .tool-straps a{text-decoration:none;text-align:center}
.aligned .tool-footnote{margin:30px 23px 0;color:#e0edf6;font-size:11px;line-height:1.8}.aligned .tool-footnote a{color:var(--accent);display:flex;align-items:center;gap:6px;min-height:44px}.aligned .tool-footnote svg{width:16px}
.aligned .news-intro{color:var(--muted);font-size:12px}.aligned .news-list{gap:0}.aligned .news-card{padding:22px 0!important;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.aligned .news-card h3{font-size:16px;font-weight:550;line-height:1.7;margin:12px 0 18px}.aligned .news-meta{font-size:11px;color:var(--muted)}
.aligned .news-editorial{padding:0 0 20px;background:none;color:var(--ink);border-radius:0;border-bottom:1px solid var(--line)}.aligned .news-editorial p{color:var(--muted);font-size:12px}
.aligned .news-filters{gap:6px}.aligned .news-filters button{font-size:11px;padding:8px}.aligned .news-filters button.selected{background:var(--brand-blue);color:white}
.aligned .market-intro{font-size:11px;color:var(--muted);margin-bottom:23px}.aligned .market-source,.aligned .news-sources{font-size:11px;line-height:1.9;border-radius:0;background:none}
.aligned .market-filters,.aligned .market-analysis{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;margin:20px 0;background:none}
.aligned .market-filters summary,.aligned .market-analysis summary{font-size:13px;min-height:44px;align-content:center}.aligned .market-filters summary span{font-size:10px}
.aligned .market-stat{border:0;border-radius:15px 24px 15px 10px;background:linear-gradient(135deg,#e8edf2,#f9fafb);box-shadow:var(--relief-inset);padding:20px 15px}.aligned .market-stat strong{font-size:26px;font-weight:550;color:var(--brand-blue)}
.aligned .market-card{border:0;border-radius:0;padding:22px 0;border-bottom:1px solid var(--line);background:none}.aligned .market-address{font-size:15px;font-weight:550}.aligned .market-card-price{font-weight:550;font-size:25px;color:var(--brand-blue)}
.aligned .market-list{gap:0}.aligned .market-card-meta,.aligned .market-card-top{font-size:11px}
.aligned .market-detail-head{padding:0 0 24px;border-bottom:1px solid var(--line);background:none;border-radius:0;color:var(--ink)}.aligned .market-detail-head h2{font-size:21px;line-height:1.6;font-weight:550}.aligned .market-detail-head>strong{color:var(--brand-blue);font-size:30px;font-weight:550}
.aligned .market-detail>div{font-size:12px;gap:12px}.aligned .market-detail dd{overflow-wrap:anywhere}
.aligned .live-error{position:relative;margin:24px 20px 0;padding:20px;border-radius:17px 27px 17px 10px;border:1px solid #b36754;background:#fff4ed;color:#843b2e;font-size:13px;line-height:1.7}
.aligned .live-loading{margin:0 22px 14px;color:white;font-size:12px}.aligned .pagination{flex-wrap:wrap;gap:10px}.aligned .section-head h2{font-size:17px;font-weight:550}.aligned .section-head .text-button{font-size:12px}
@media(max-width:350px){.aligned .file-open{gap:12px}.aligned .file-symbol{width:32px;flex-basis:32px;height:45px}.aligned .file-name{font-size:13px}.aligned .field{font-size:11px}}
@media(prefers-reduced-motion:reduce){.aligned .primary:active{transform:none}}
.aligned .pull-status{position:absolute;z-index:7;top:calc(var(--reading-top) + 5px);left:50%;transform:translateX(-50%);max-width:calc(100% - 40px);padding:10px 17px;border:1px solid #ffffffa6;border-radius:18px 23px 18px 12px;background:linear-gradient(145deg,#fffefa,#e7ecf1);box-shadow:3px 5px 12px #183b5645,inset 1px 1px 1px #fff;color:var(--ink);font-size:13px;line-height:1.5;text-align:center;pointer-events:none}
.aligned .pull-status[hidden]{display:none}.aligned .pull-status[data-state=ready]{background:var(--accent)}.aligned .pull-status[data-state=error]{background:#fff4ed;color:#843b2e}.aligned .pull-status[data-state=loading]:before{content:"";display:inline-block;width:11px;height:11px;margin-right:8px;border:2px solid #a7c0d4;border-top-color:var(--brand-blue);border-radius:50%;animation:pull-spin .8s linear infinite}
@keyframes pull-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.aligned .pull-status[data-state=loading]:before{animation:none}}

/* Whole page content moves together, independently of the scroll viewport. */
.aligned .page-content{position:relative;display:flow-root;min-height:100%;padding:calc(var(--reading-top) + 12px) 0 calc(var(--reading-bottom) + 22px);margin-top:var(--pull-offset,0px);transition:margin-top 260ms cubic-bezier(.22,.72,.18,1)}
.aligned:is([data-pull-state=pulling],[data-pull-state=ready]) .page-content{transition:none}
@media(prefers-reduced-motion:reduce){.aligned .page-content{transition:none}}

/* The reading surface owns its bottom breathing room. Padding outside it
   exposed a full-width blue band at the end of pale pages. */
.aligned #screen:not([data-view=tools]):not([data-view=news])>.page-content{display:flex;flex-direction:column;padding-bottom:0}
.aligned #screen:not([data-view=tools]):not([data-view=news])>.page-content>*{flex-shrink:0}
.aligned #screen:not([data-view=tools]):not([data-view=news])>.page-content>.milk-panel{flex-grow:1;padding-bottom:calc(var(--reading-bottom) + 22px)}

.aligned .app-update-notice{position:absolute;z-index:10;top:calc(var(--reading-top) + 4px);left:16px;right:16px;display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 12px;border:1px solid #bacbd8;border-radius:16px;background:#fdfcf7;color:var(--ink);font-size:13px;box-shadow:0 3px 10px #183b5626}
.aligned .app-update-notice[hidden]{display:none}.aligned .app-update-notice button{padding:4px 12px;white-space:nowrap}.aligned .app-version-label{display:block;font-size:10px;line-height:1.5;padding:8px;overflow-wrap:anywhere;color:var(--muted)}

/* Full address stays readable in one horizontal line; longer values scroll horizontally and remain complete in the official table. */
.aligned .address-line{display:flex;align-items:center;gap:8px;margin:18px 0}
.aligned .market-detail-head .address-line h2{flex:1;min-width:0;margin:0;font-size:clamp(12px,3.7vw,18px);line-height:1.6;white-space:nowrap;overflow-x:auto;text-overflow:clip;letter-spacing:0}
.aligned .address-map{flex:0 0 44px;width:44px;height:44px;min-height:44px}
.aligned .address-map svg{width:22px;height:22px}
.document-preview{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:none;border:0;padding:0;background:#142b3e;color:white;overscroll-behavior:none}
.document-preview[open]{display:flex;flex-direction:column}.document-preview::backdrop{background:#142b3e}
.preview-toolbar{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:68px;background:#195a96;flex-shrink:0}
.preview-toolbar button,.preview-pager button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:48px;color:white;border:1px solid #ffffff50;border-radius:12px;padding:8px}
.preview-toolbar button{flex-shrink:0}.preview-toolbar svg,.preview-pager svg{width:22px;height:22px}.preview-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.preview-stage{flex:1;min-height:0;overflow:auto;padding:12px;overscroll-behavior:contain}.preview-stage canvas,.preview-stage img{display:block;margin:0 auto;background:white}.preview-stage img{max-width:100%;height:auto}.preview-stage p{padding:20px;line-height:1.8}
.preview-video{display:block;width:100%;max-height:calc(100dvh - 210px);margin:0 auto;background:#07131e;border-radius:12px}
.video-actions{display:flex;justify-content:center;gap:12px;padding:16px 0;flex-wrap:wrap}
.video-actions button{min-height:48px;padding:10px 18px;border:1px solid #ffffff60;border-radius:14px;color:white;display:flex;align-items:center;gap:8px}
.video-actions button[hidden]{display:none}.video-actions button:disabled{opacity:.45}.video-actions svg{width:20px;height:20px}
.preview-pager{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#195a96;flex-shrink:0}.preview-pager[hidden]{display:none}.preview-pager button:disabled{opacity:.4}
.aligned .visit-item small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.aligned .visit-summary{position:sticky;top:var(--reading-top);background:var(--sheet);border-bottom:1px solid var(--line);padding:12px 0;z-index:2;font-size:12px}
.aligned .calculation-breakdown{font-size:12px;width:100%;margin:16px 0 0}.aligned .calculation-breakdown>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line)}.aligned .calculation-breakdown dd{margin:0;text-align:right;font-weight:550}

/* Calculators/checklist use the corner return control, without a second header. */
.aligned #screen:not([data-view=tools]):not([data-view=news])>.page-content>.page-panel.tool-page{margin-top:24px;padding-top:16px}

.aligned #screen:not([data-view=tools]):not([data-view=news])>.page-content>.page-panel.detail-page{margin-top:24px;padding-top:16px}
