/* Revision 17: size the application to the visible browser area, not a device frame. */
:root.phone-layout{--phone-header:calc(48px + var(--phone-safe-top));--phone-footer:0px}.phone-layout .phone-bottom-nav{display:none!important}.phone-layout:not([data-phone-home=true]) .phone-status{display:none!important}.phone-layout .phone-app-nav{top:0;height:var(--phone-header);padding:var(--phone-safe-top) 6px 0;display:grid;grid-template-columns:78px minmax(0,1fr) 132px;gap:4px;touch-action:pan-x}.phone-layout .phone-app-nav>strong{font-size:17px;line-height:1.2;justify-content:center}.phone-layout .phone-app-nav>.phone-back{height:40px;min-height:44px;margin:0;max-width:100%;padding:0 4px;font-size:12px;gap:1px;min-width:0}.phone-layout .phone-app-nav>.phone-back:before{display:none}.phone-layout .phone-app-nav .phone-back span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phone-layout .phone-app-nav .phone-back svg{width:15px}.phone-nav-actions{display:flex;justify-content:flex-end;align-items:center;gap:0;min-width:0}.phone-layout .phone-nav-actions>button{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:5px;border:0;border-radius:5px;background:transparent;color:#fff;font-size:18px;text-shadow:0 1px #354c6c;box-shadow:none}.phone-nav-actions>button svg{width:21px;height:21px}.phone-layout .phone-controls-trigger{min-width:44px}.phone-layout .phone-nav-actions>button:focus-visible{outline:2px solid white;outline-offset:-4px}.phone-layout .phone-home{inset:calc(44px + var(--phone-safe-top)) 0 0;padding:12px 12px calc(128px + var(--phone-safe-bottom));background-position:center}.phone-layout .phone-home-dock{bottom:0;min-height:112px;padding-bottom:max(10px,var(--phone-safe-bottom));padding-top:12px}.phone-layout .phone-home-name{display:none}.phone-layout .phone-app-grid{row-gap:16px}.phone-layout .phone-app-icon{min-height:84px}.phone-layout #desktop{inset:var(--phone-header) 0 var(--phone-footer)}.phone-layout .app-window>.window-content{height:100%;min-height:0;max-width:100%;scroll-padding:12px 0 max(12px,var(--phone-safe-bottom));overscroll-behavior:contain}.phone-layout .window-content>div{min-width:0}.phone-layout .window-content :is(input,textarea,select){max-width:100%}.phone-layout :is(.window-content,.settings-main,.photos-main,.finder-body,.mail-reading,.quick-look-page){scrollbar-gutter:auto;-webkit-overflow-scrolling:touch}
/* Chat dedicates its remaining height to history and a single composer. */
.phone-layout .compact-messages{height:100%;min-height:0}.phone-layout .compact-messages .chat-main{height:100%;min-height:0;display:flex;flex-direction:column}.phone-layout .compact-messages .chat-log{min-height:0;flex:1;overflow:auto;gap:7px;padding:12px 26px 20px}.phone-layout .compact-messages .message{padding:7px 10px;max-width:94%;line-height:1.4}.phone-layout .compact-messages .message p{font-size:15px;line-height:1.4}.phone-layout .compact-messages .compose{position:relative;bottom:auto;flex:0 0 auto;padding:6px 8px max(6px,var(--phone-safe-bottom));min-height:58px}.phone-layout .compose-row{min-height:44px;gap:4px;padding:3px 5px}.phone-layout .compose textarea{font-size:16px;line-height:1.35;padding:7px 2px;min-height:36px;max-height:100px;min-width:0;flex:1}.phone-layout .compose-row>.compose-emoji,.phone-layout .compose-row>.dictate,.phone-layout .compose-row>.send-button{min-height:40px;min-width:36px;height:40px;padding:5px}.phone-layout .compose-row>.send-button{width:40px}.phone-layout .conversation{min-height:68px;padding:10px 12px}.phone-layout .conversations{padding:10px}.phone-keyboard.phone-layout{--phone-safe-bottom:0px}.phone-keyboard .phone-status{display:none!important}.phone-keyboard .compose{padding-bottom:6px!important}
/* A compact identity header and four visible story sections. */
.phone-layout .journey-hero{grid-template-columns:56px minmax(0,1fr);padding:14px 12px;gap:12px;align-items:start}.phone-layout .journey-hero>img{width:56px;height:74px;border-width:2px;margin-top:2px}.phone-layout .journey-hero h1{font-size:22px;line-height:1.1;margin:0 0 8px}.phone-layout .journey-hero .eyebrow{font-size:10px;margin:0 0 6px;letter-spacing:1px}.phone-layout .journey-hero p:last-child{font-size:13px;line-height:1.45;margin:0}.phone-layout .journey-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px;overflow:visible}.phone-layout .journey-nav button{min-width:0;padding:6px 3px;font-size:12px;line-height:1.25;min-height:44px;white-space:normal;overflow-wrap:anywhere}.phone-layout .journey-body{padding:12px}.phone-layout .journey-perspective{padding:12px;gap:9px;margin:0 0 16px}.phone-layout .journey-perspective p{font-size:15px;line-height:1.4;margin:0}.phone-layout .journey-perspective .audience-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-width:0;width:100%;padding:2px}.phone-layout .audience-switch button{font-size:12px;line-height:1.3;min-width:0;min-height:44px;padding:6px;overflow-wrap:anywhere}.phone-layout .journey-body h2{font-size:23px}.phone-layout .journey-body h3{font-size:19px}.phone-layout .journey-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.phone-layout .journey-facts strong{font-size:24px}.phone-layout .journey-facts span{font-size:12px;line-height:1.35}.phone-layout .journey-overview-grid button{min-height:96px}.phone-layout .journey-projects>article,.phone-layout .career-timeline article{padding:14px 12px}.phone-layout .journey-actions{gap:6px;flex-wrap:wrap}.phone-layout .journey-actions .button{padding:8px 10px;font-size:13px}
/* Calendar keeps full 44px booking targets, but gives more space to the actual day. */
.phone-layout .phone-cal-toolbar{display:block;padding:4px 6px;height:auto;min-height:0;flex-shrink:0}.phone-cal-date{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:5px;align-items:center}.phone-layout .phone-cal-date #booking-day{width:100%;max-width:none;min-width:0;height:40px;padding:6px 10px;font-size:16px;text-align:center}.phone-cal-date>.button{padding:4px;min-height:44px}.phone-cal-options{display:flex;align-items:center;justify-content:space-between;gap:6px}.phone-layout .phone-cal-options>.button{font-size:12px;padding:6px 8px;min-height:44px;white-space:nowrap}.phone-layout .phone-cal-options .calendar-view-switch{margin-left:auto;min-width:0}.phone-layout .phone-cal-options .calendar-view-switch button{font-size:13px;min-width:44px;min-height:40px;padding:5px 10px}.phone-layout .phone-cal-options [data-action=cal-refresh]{margin-left:0;width:44px;min-width:44px}.phone-layout .planner-day-head{height:40px;min-height:40px;padding:0;flex-shrink:0}.phone-layout .planner-day-head>button{min-height:40px;height:40px;display:flex;align-items:center;justify-content:center;gap:6px}.phone-layout .planner-day-head button small,.phone-layout .planner-day-head button strong{font-size:13px;line-height:1.25}.phone-layout .planner-day-head>span{font-size:10px}.phone-layout .calendar-stage{min-height:0;flex:1;display:flex;flex-direction:column}.phone-layout .calendar-scroll{min-height:0;flex:1;overscroll-behavior:contain;scroll-padding:10px}.phone-layout .calendar-status{padding:5px 9px max(5px,var(--phone-safe-bottom));font-size:11px;line-height:1.35;max-height:56px;overflow:auto;flex-shrink:0}.phone-layout .cal-sidebar{padding:12px}.phone-layout .cal-sidebar h2{font-size:21px;margin:14px 0 8px}.phone-layout .cal-sidebar>label{margin:14px 0}.phone-layout .calendar-time-slot{height:44px;min-height:44px;font-size:13px}.phone-layout .cal-message{padding:30px 12px}.phone-layout .cal-confirm-heading{flex-wrap:wrap;gap:7px;padding:8px}.phone-layout .cal-confirm-copy{padding:6px 10px;font-size:13px}.phone-layout .cal-embed{height:auto;min-height:0;flex:1}
/* Mail fits the form to the page and lets its content scroll as a single unit. */
.phone-layout .mail-reading{padding:12px;min-height:0}.phone-layout .email-compose-form{height:auto;min-height:100%;flex:0 0 auto;gap:8px}.phone-layout .email-compose-form label{padding:0 0 5px;margin:0;gap:3px;font-size:13px}.phone-layout .email-compose-form input{min-height:40px;padding:8px 6px}.phone-layout .email-compose-form #mail-body{height:clamp(120px,25dvh,200px);min-height:120px;padding:10px 6px}.phone-layout .mail-compose-head{padding:6px 8px}.phone-layout .mail-bottom{position:static;margin-top:0;padding:7px;flex-wrap:wrap}.phone-layout .email-verification{padding:7px;flex-shrink:0}.phone-layout .mail-folders{padding:12px}.phone-layout .mail-list>button{min-height:78px;padding:12px}.phone-layout .mail-reading .mail-letter{padding:0;line-height:1.6}.phone-layout .mail-subject{padding:4px 0 12px}.phone-layout .mail-subject h2{font-size:22px;margin:8px 0}.phone-layout .mail-subject small{font-size:13px}
/* Files and documents use compact tool shelves, not desktop-sized empty blocks. */
.phone-layout .finder-toolbar{padding:5px 8px;gap:5px;flex-shrink:0}.phone-layout .finder-toolbar #work-search{min-height:40px;padding:8px}.phone-layout .finder-body{padding:12px}.phone-layout .finder-body .section-heading{margin:0 0 12px}.phone-layout .finder-body .eyebrow{font-size:10px;margin:0 0 5px}.phone-layout .finder-body h2{font-size:22px;margin:0}.phone-layout .catalog-grid:not(.catalog-list){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.phone-layout .catalog-open{padding:10px 6px;min-height:128px;gap:7px}.phone-layout .catalog-open strong{font-size:14px;line-height:1.35}.phone-layout .catalog-open small{font-size:12px}.phone-layout .catalog-open .large-folder,.phone-layout .catalog-open .file-art{height:48px;width:48px}.phone-layout .file-more{min-height:36px;min-width:36px}.phone-layout .catalog-list .catalog-open{min-height:64px;justify-content:flex-start;flex-direction:row;padding-right:40px}.phone-layout .finder-status{padding:6px 8px;min-height:28px;font-size:11px}.phone-layout .pdf-toolbar{min-height:44px;padding:3px 6px;gap:3px}.phone-layout .pdf-toolbar>div{gap:0}.phone-layout .pdf-toolbar button{min-height:40px;min-width:36px}.phone-layout .pdf-toolbar .button{min-height:40px;padding:6px 9px}.phone-layout .document-tabs{padding:3px 5px 0;gap:3px}.phone-layout .document-tab{min-height:40px;min-width:118px;max-width:70vw}.phone-layout .document-tab button{min-height:40px}.phone-layout .pdf-find{padding:4px 6px;min-height:44px;gap:4px}.phone-layout .pdf-find input{font-size:16px;padding:7px 8px;max-width:none}.phone-layout .pdf-find>span{display:none}.phone-layout .pdf-find button{min-height:36px;min-width:36px}.phone-layout .pdf-status{padding:4px 8px;min-height:24px;max-height:42px;font-size:11px}.phone-layout .pdf-canvas{padding:12px 10px 20px}.phone-layout .quick-look-page{padding:12px}.phone-layout .preview-app .rich-toolbar{padding:5px 8px;min-height:44px;flex-wrap:wrap}.phone-layout .preview-app>footer{padding:5px 8px;font-size:11px}
/* The other apps have their own layouts but the same space budget. */
.phone-layout .photos-main{padding:12px}.phone-layout .photos-sidebar{min-height:52px;padding:4px 6px;gap:5px}.phone-layout .photos-sidebar button{min-height:44px;padding:7px 10px;font-size:13px}.phone-layout .photos-main .eyebrow{display:none}.phone-layout .photos-main .section-heading{gap:8px;margin:0}.phone-layout .photos-main h2{font-size:23px;margin:0}.phone-layout .photo-tools{padding:8px 0;margin:0 0 10px;gap:4px}.phone-layout .photo-tools>input{min-height:40px;padding:8px}.phone-layout .photo-tools label{min-height:40px}.phone-layout .album-placeholders{gap:8px}.phone-layout .album-placeholder{min-height:84px;padding:12px;transform:none!important}.phone-layout .photos-empty{padding:16px 4px}.phone-layout .voice-stage,.phone-layout .video-stage,.phone-layout .voice-screen,.phone-layout .video-screen{padding:16px 12px;min-height:0;height:auto;overflow:visible}.phone-layout .voice-orb{width:90px;height:90px;margin:12px auto}.phone-layout .voice-stage h1,.phone-layout .voice-screen h1,.phone-layout .video-screen h2{font-size:23px;line-height:1.2;margin:14px 0 10px}.phone-layout .voice-stage p,.phone-layout .video-stage p,.phone-layout .voice-screen p,.phone-layout .video-screen p{font-size:15px;line-height:1.5}.phone-layout .video-preview{height:clamp(130px,27dvh,220px);min-height:130px;max-width:100%;margin:0 auto 14px}.phone-layout .contact-gate{padding:12px;margin:12px 0;max-width:100%}.phone-layout .contact-gate>div{display:flex;flex-direction:column;align-items:stretch;gap:6px}.phone-layout .contact-gate label{width:100%;margin:6px 0;font-size:13px}.phone-layout .contact-gate input{min-height:40px;padding:9px}.phone-layout .contact-gate .button{width:100%;margin:0}.phone-layout .settings-main{padding:14px 12px}.phone-layout .settings-main h2{font-size:23px;margin:0 0 12px}.phone-layout .settings-sidebar{padding:12px}.phone-layout .settings-owner{padding:10px}.phone-layout .settings-sidebar button{min-height:54px;font-size:16px}.phone-layout .setting-group{padding:10px 12px;margin:12px 0}.phone-layout .wallpaper-options{gap:8px}.phone-layout .wallpaper-options button{min-height:76px;text-align:left;display:flex;align-items:center;gap:12px;padding:8px;font-size:14px}.phone-layout .wallpaper-preview{width:88px;height:56px;flex-shrink:0}.phone-layout .settings-about-brand{padding:12px 0}.phone-layout .website-about{padding:18px 12px}.phone-layout .website-about>svg{max-width:84px;max-height:84px}.phone-layout .classic-browser-address{padding:5px 8px;gap:6px}.phone-layout .classic-browser-address output{padding:8px;font-size:13px}.phone-layout .browser-destinations{padding:4px;gap:3px}.phone-layout .browser-destinations button{font-size:13px;min-height:40px;padding:6px}.phone-layout .browser-destinations a{font-size:12px;min-height:40px;padding:6px}.phone-layout .fixed-browser{min-height:0;height:100%}.phone-layout .dashboard-frame{min-height:0;flex:1}.phone-layout .profile-site-view{padding:18px 12px}.phone-layout .profile-site-view .profile-cover{margin:-18px -12px 0;height:68px}.phone-layout .profile-site-view h1{font-size:25px}.phone-layout .profile-site-view p{font-size:15px;line-height:1.5}.phone-layout #search-dialog{inset:calc(var(--phone-top,0px) + 6px) 6px auto;width:calc(100% - 12px);max-height:calc(var(--phone-vh,100dvh) - 12px);border-radius:8px}.phone-layout .spotlight-input{padding:6px;gap:4px}.phone-layout #search-results{max-height:calc(var(--phone-vh,100dvh) - 135px)}.phone-layout .search-result{min-height:58px;padding:10px;gap:9px}.phone-layout #small-dialog{inset:calc(var(--phone-top,0px) + 8px) 8px auto;margin:0;width:calc(100% - 16px);max-height:calc(var(--phone-vh,100dvh) - 16px);padding:14px;overflow:auto}.phone-layout #small-dialog.emoji-dialog{inset:auto 6px calc(max(6px,var(--phone-safe-bottom))) 6px;width:calc(100% - 12px);padding:12px}.phone-layout .emoji-grid{max-height:clamp(100px,35dvh,300px)}.phone-layout .emoji-palette nav{max-height:100px;padding:6px 0;gap:2px}.phone-layout .emoji-palette footer{padding-top:6px}.phone-layout .dialog-title h2{font-size:20px}.phone-layout .phone-action-list button{min-height:44px}.phone-layout .toast{bottom:max(12px,var(--phone-safe-bottom));max-width:calc(100% - 24px)}
@media(max-width:374px){.phone-layout .phone-app-nav{grid-template-columns:44px minmax(0,1fr) 132px}.phone-layout .phone-back span{display:none}.phone-layout .journey-hero .eyebrow{display:none}.phone-layout .journey-hero h1{font-size:21px}.phone-layout .journey-nav button{font-size:11px}.phone-layout .journey-facts{gap:6px}.phone-layout .phone-app-grid{gap:14px 6px}}
.phone-short.phone-layout .journey-hero{padding:10px 12px}.phone-short.phone-layout .voice-orb{width:70px;height:70px;margin:8px auto}.phone-short.phone-layout .phone-home{padding-right:12px}.phone-short.phone-layout .phone-home-dock{position:relative;inset:auto;margin-top:15px;width:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0}.phone-short.phone-layout .phone-app-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.phone-short.phone-layout .phone-home{padding-bottom:12px}.phone-short.phone-layout .phone-app-icon{min-height:74px}.phone-short.phone-layout .calendar-status{display:none}.phone-keyboard .phone-owner-avatar{display:none}
:root[data-large-text=true].phone-layout .journey-hero{grid-template-columns:56px minmax(0,1fr)}:root[data-large-text=true].phone-layout .journey-nav{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-large-text=true].phone-layout .journey-facts,:root[data-large-text=true].phone-layout .catalog-grid:not(.catalog-list){grid-template-columns:1fr}:root[data-large-text=true].phone-layout .phone-back span{display:none}:root[data-large-text=true].phone-layout .phone-app-nav{grid-template-columns:44px minmax(0,1fr) 132px}:root[data-large-text=true].phone-layout .phone-home-dock{position:relative;inset:auto;width:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}:root[data-large-text=true].phone-layout .phone-home{padding:12px}:root[data-large-text=true].phone-layout .phone-cal-options{flex-wrap:wrap}:root[data-large-text=true].phone-layout .planner-day-head{max-height:80px;overflow:auto}:root[data-large-text=true].phone-layout .cal-toolbar input{min-height:44px}
/* Narrow resizable desktop windows adapt to their own width. */
@container app (max-width:600px){.journey-hero{padding:18px;gap:15px}.journey-hero>img{width:70px;height:92px}.journey-hero h1{font-size:27px}.journey-nav{flex-wrap:wrap;gap:4px;padding:6px}.journey-body{padding:18px}.journey-perspective{flex-wrap:wrap;gap:10px}.journey-overview-grid,.journey-projects{grid-template-columns:1fr}.journey-facts{gap:12px}.journey-facts strong{font-size:27px}.cal-toolbar{flex-wrap:wrap;padding:6px}.cal-sidebar{width:146px;padding:14px 10px}.calendar-keys{display:grid;gap:8px}.cal-sidebar h2{font-size:20px}.settings-sidebar{width:132px;padding:12px 6px}.settings-main{padding:15px}.settings-owner{flex-wrap:wrap}.settings-sidebar button{font-size:12px;padding:10px 5px}.photos-sidebar{width:112px;padding:14px 7px}.photos-main{padding:15px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))!important}.fixed-browser .browser-destinations{flex-wrap:wrap}.fixed-browser .browser-destinations button{min-width:0;flex:1}.contact-gate>div{flex-wrap:wrap}.video-preview{max-width:100%;height:180px}.voice-screen,.video-screen{padding:20px 15px}.pdf-find{flex-wrap:wrap}.pdf-find input{min-width:100px}.finder-toolbar{flex-wrap:wrap}.finder-toolbar input{flex:1;min-width:90px}.document-tab{min-width:115px}.mail-columns{display:grid;grid-template-columns:125px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:0}.mail-folders{grid-column:1/-1;display:flex;flex-wrap:wrap;width:100%;height:auto}.mail-list{width:auto;min-height:0}.mail-reading{min-width:0}.email-compose-form{min-width:0}.email-compose-form label{flex-wrap:wrap}.email-compose-form input{min-width:0;width:100%}.mail-bottom{flex-wrap:wrap}.mail-subject h2{font-size:20px}.album-placeholder{min-height:120px}}

.phone-layout #small-dialog.emoji-dialog{inset:auto;left:6px;right:6px;top:calc(var(--phone-top,0px) + var(--phone-vh,100dvh) - 8px);bottom:auto;transform:translateY(-100%);max-height:calc(var(--phone-vh,100dvh) - 16px)}
.phone-layout #phone-controls-dialog{top:var(--phone-top,0px)}
.phone-layout .voice-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}.phone-layout .voice-buttons>*{flex:none;min-height:44px;height:auto;width:100%;min-width:0;padding:9px 7px;font-size:13px;line-height:1.35}.phone-layout .voice-screen h1,.phone-layout .video-screen h2{color:#eaf0fd}.phone-layout .voice-screen>p,.phone-layout .video-screen>p{color:#bdcce3}.phone-layout .voice-screen h1 em{color:#aabfe8}.phone-layout .voice-screen>.fine,.phone-layout .video-screen>.fine{font-size:12px;line-height:1.45}.phone-layout .voice-transcript{padding:12px;margin:12px 0}.phone-layout .video-preview{height:clamp(130px,23dvh,180px)}.phone-layout .neo-notification{top:calc(var(--phone-header) + 5px);right:6px;width:calc(100% - 12px);max-width:420px;border-radius:8px;background:linear-gradient(#f1f6fc,#d1deee);color:#203953}.phone-layout .notification-open{padding:10px 38px 10px 10px;gap:9px}.phone-layout .notification-open>span:last-child{min-width:0}.phone-layout .notification-open strong{font-size:14px;color:#203953;line-height:1.3}.phone-layout .notification-open strong small{font-size:11px;color:#516980}.phone-layout .notification-open p{font-size:13px;line-height:1.35;color:#29445f;margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.phone-layout .neo-avatar{width:32px;height:32px;padding:3px}.phone-layout .notification-close{width:36px;height:36px;min-height:36px;right:0;top:0;color:#314c68}.phone-keyboard .neo-notification{display:none}
.phone-layout .voice-screen,.phone-layout .video-screen{min-height:100%}
.phone-layout .photo-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--phone-photo-min,160px)),1fr))!important}
