/* Device experiences share data, while layouts follow the available touch canvas. */
body.phone-ui .phone-dynamic-island,body.tablet-ui .lock-screen::before{display:none!important}
body.phone-ui .phone-shell,body.tablet-ui .tablet-shell{background:#1a1934 var(--site-wallpaper) center / cover no-repeat}
body.phone-ui .phone-shell{padding:56px 18px 142px;overflow-y:auto;overscroll-behavior:contain}
body.phone-ui .phone-widgets{flex-shrink:0;margin-bottom:28px}
body.phone-ui .phone-widget{min-height:150px}
body.phone-ui .phone-home-grid{row-gap:24px;flex-shrink:0}
body.phone-ui .phone-app-icon>span,body.phone-ui .phone-app-icon img{width:clamp(48px,15vw,62px);height:clamp(48px,15vw,62px)}
body.phone-ui .phone-search-pill{position:fixed;bottom:129px;left:50%;transform:translateX(-50%);cursor:pointer}
body.phone-ui .phone-dock{position:fixed;bottom:32px;left:16px;right:16px;margin:0;min-height:84px}
body.phone-ui .phone-home-button,body.tablet-ui .tablet-home-button{touch-action:none;pointer-events:auto;min-height:28px;z-index:10020}
body.phone-ui.phone-app-open .phone-status,body.tablet-ui.phone-app-open .tablet-status{color:#222;pointer-events:auto}
body.phone-ui .phone-status-icons,body.tablet-ui .tablet-status-right{cursor:pointer;min-height:32px}
body.tablet-ui .tablet-home-layout{grid-template-columns:minmax(210px,30%) 1fr;gap:24px;overflow:auto;padding-bottom:18px}
body.tablet-ui .tablet-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 16px}
body.tablet-ui .tablet-search-pill{cursor:pointer}
body.tablet-ui .tablet-widget{box-shadow:0 8px 24px #0002;background:#ffffff26}
body.tablet-ui .tablet-dock{max-width:90vw;gap:16px}
body.tablet-ui .tablet-app-icon>span,body.tablet-ui .tablet-app-icon img{width:58px;height:58px}
.touch-recent-button{display:none}
body.phone-ui .touch-recent-button,body.tablet-ui .touch-recent-button{display:block;position:absolute;right:16px;bottom:8px;font-size:10px;color:inherit;opacity:.7;pointer-events:auto;z-index:10020;min-height:28px}
#touch-system-layer[hidden]{display:none}
#touch-system-layer{position:fixed;inset:0;z-index:30000;display:flex;align-items:center;justify-content:center;background:#10203970;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:48px 18px 32px;color:#222}
.touch-panel{width:min(720px,100%);max-height:100%;overflow:auto;background:#f5f5f7ee;border:1px solid #fff8;border-radius:28px;padding:20px;box-shadow:0 30px 90px #0004;animation:touch-panel-in .25s ease-out}
.touch-panel>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:22px}
.touch-panel>header button{color:#087bdf;font-size:16px;padding:12px}
#touch-panel-body h2{font-size:14px;color:#6b7080;margin:20px 0 12px}
.touch-search-field{display:flex;align-items:center;gap:8px;padding:12px;background:#e4e5e9;border-radius:12px}
.touch-search-field input{width:100%;border:0;background:transparent;font:16px var(--font);outline:none;user-select:text}
.touch-search-apps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 8px}
.touch-search-apps .phone-app-icon{display:flex;align-items:center;flex-direction:column;gap:8px;font-size:11px;color:#333}
.touch-search-apps .phone-app-icon span,.touch-search-apps img{width:52px;height:52px;border-radius:13px}
.touch-result{display:flex;align-items:center;width:100%;gap:12px;text-align:left;padding:14px 0;border-bottom:1px solid #d9dbe0;min-height:56px}
.touch-result>span{flex:1;min-width:0}.touch-result strong,.touch-result small{display:block}.touch-result small{margin-top:5px;color:#7a7d87;font-size:11px}
.touch-recent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.touch-app-card{text-align:left;min-width:0;color:#323846}.touch-app-card>img{width:30px;height:30px;border-radius:8px;vertical-align:middle;margin-right:8px}.touch-app-card strong{font-size:13px}
.touch-card-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;height:180px;margin-top:12px;border:1px solid #d8dce4;border-radius:18px;background:linear-gradient(145deg,#fff,#e6edf3);color:#6b859f;font-size:12px}.touch-card-preview svg{width:54px;height:54px}
.touch-home-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:14px;background:#e5e7ed;padding:16px;margin-top:20px;font-size:16px;color:#167ce0}
.touch-control-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.touch-control-grid button{display:flex;align-items:center;flex-direction:column;gap:10px;background:#e0e3e9;border-radius:20px;padding:24px 12px;color:#555}.touch-control-grid button[aria-pressed=true]{background:#2484f2;color:white}.touch-control-grid svg{width:28px;height:28px}.touch-control-grid small{opacity:.75}
.touch-brightness{display:flex;align-items:center;gap:12px;background:#e1e3e9;padding:20px;border-radius:18px;margin-top:16px}.touch-brightness input{width:100%;accent-color:#168af2}
.touch-large-title{font-size:32px;margin:0 0 24px}
body.phone-ui .settings-toolbar .toolbar-group{display:flex!important}body.phone-ui #settings-back{display:flex;color:#168af2;min-width:44px}body.phone-ui .settings-toolbar .toolbar-group>button:disabled{display:none}
body.phone-ui .settings-content{padding-bottom:70px!important}
body.tablet-ui .settings-window .window-body{display:flex;min-height:0}
body.tablet-ui .settings-sidebar{display:block;width:260px;min-width:220px;padding-top:24px;overflow:auto;background:#e9e9ef;color:#222}
body.tablet-ui .settings-content{flex:1;min-width:0;max-width:none;margin:0;height:auto;overflow:auto}
body.tablet-ui .settings-nav-item,body.tablet-ui .settings-account{color:#222;font-size:14px;min-height:44px}
body.tablet-ui .settings-nav-item.active{background:#cdddec}
body.phone-ui .preview-window:not(.portfolio-window){inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important}
body.tablet-ui .preview-window:not(.portfolio-window){inset:0!important;width:100vw!important;height:100dvh!important;border-radius:0!important}
body.phone-ui .portfolio-window .port-photos .port-layout{padding-bottom:68px}
body.phone-ui .port-photos .port-sidebar{display:flex!important;position:absolute;bottom:26px;left:0;right:0;width:auto!important;min-width:0!important;height:54px;z-index:9;padding:4px 8px;background:#f5f5f9ee;justify-content:space-around;border-top:1px solid #ddd}
body.phone-ui .port-photos .port-sidebar .port-nav-item{display:flex;flex-direction:column;gap:3px;font-size:10px;flex:1;padding:4px;min-width:0}
body.phone-ui .port-photos .port-sidebar .port-nav-item span{display:block;font-size:10px}
body.phone-ui .port-photos .port-sidebar .port-nav-item:nth-of-type(n+4){display:none}
body.phone-ui .port-photos .port-photo-content{padding:20px 12px 90px}
body.phone-ui .portfolio-window .port-photos .port-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
body.phone-ui .port-photo-tile img{aspect-ratio:1;object-fit:cover;border-radius:0!important}
body.phone-ui .port-photos .port-photo-tile>span{display:none}
body.phone-ui .portfolio-window .port-messages .port-message-list{width:100%;min-width:0;background:white;padding:52px 18px 36px}
body.phone-ui .port-messages .port-message-main{display:none}
body.phone-ui .port-messages.touch-message-detail .port-message-list{display:none}
body.phone-ui .port-messages.touch-message-detail .port-message-main{display:flex;width:100%}
body.phone-ui .portfolio-window .port-conversation{justify-content:flex-start;min-height:78px;border-bottom:1px solid #eee;border-radius:0}
body.phone-ui .portfolio-window .port-conversation>span:last-child{display:block}
body.phone-ui .portfolio-window .port-conversation strong{font-size:16px;max-width:none}
body.phone-ui .portfolio-window .port-conversation small{font-size:13px;max-width:none}
body.phone-ui .portfolio-window .port-message-list>.native-search{display:flex;padding:12px;margin-bottom:16px;background:#f0f0f5;border-radius:12px}
body.phone-ui .native-message-list-tools{height:48px;visibility:visible;padding:0;justify-content:space-between}
body.phone-ui .native-message-list-tools::before{content:'Conversations';font-weight:700;font-size:28px}
body.phone-ui .native-message-list-tools [data-messages-all]{display:none}
body.phone-ui .touch-message-back{position:absolute;left:10px;top:29px;color:#1685ed;font-size:14px;padding:10px;z-index:4}
body:not(.phone-ui) .touch-message-back{display:none}
body.tablet-ui .portfolio-window .port-message-list{width:30%;min-width:220px}
body.tablet-ui .native-mail-folders,body.tablet-ui .native-note-folders{width:160px;min-width:160px}
body.tablet-ui .native-mail-list,body.tablet-ui .portfolio-window .port-note-list{width:28%;min-width:180px}
body.tablet-ui .portfolio-window .port-layout{height:auto;flex:1;min-height:0}
@media(max-width:740px){body.tablet-ui .tablet-home-layout{grid-template-columns:190px 1fr;gap:16px}body.tablet-ui .tablet-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 10px}body.tablet-ui .tablet-shell{padding:16px 22px 28px}body.tablet-ui .tablet-dock{gap:10px}body.tablet-ui .tablet-app-icon>span,body.tablet-ui .tablet-app-icon img{width:48px;height:48px}body.tablet-ui .native-mail-folders,body.tablet-ui .native-note-folders{display:none}}
@media(max-height:540px){body.phone-ui .phone-widgets{display:none}body.phone-ui .phone-home-grid{grid-template-columns:repeat(4,1fr);max-width:500px;width:100%;align-self:center}body.phone-ui .phone-shell{padding-top:52px}body.phone-ui .phone-search-pill{display:none}}
@keyframes touch-panel-in{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.touch-panel{animation:none}}
body.phone-ui.phone-app-open .phone-status,body.tablet-ui.phone-app-open .tablet-status{pointer-events:none}
body.phone-ui.phone-app-open .phone-status-icons,body.tablet-ui.phone-app-open .tablet-status-right{pointer-events:auto}
body.phone-ui .portfolio-window .native-message-header{height:100px;min-height:100px;padding-top:36px}
body.phone-ui .touch-message-back{top:48px}
body.phone-ui .phone-app-icon strong{max-width:86px;font-size:10px}
body.phone-ui.phone-app-open .phone-shell{overflow:hidden}
body.phone-ui.phone-app-open .phone-status-icons *,body.tablet-ui.phone-app-open .tablet-status-right *{color:#222;border-color:#222}
body.phone-ui.phone-app-open .cell-bars span{background:#222}
body.phone-ui.phone-app-open .phone-home-button::after,body.tablet-ui.phone-app-open .tablet-home-button::after{background:#111}
body.phone-ui.phone-app-open .touch-recent-button,body.tablet-ui.phone-app-open .touch-recent-button{color:#555}
body.phone-ui .port-conversation{background:transparent!important}
body.phone-ui .port-conversation.active{background:#f5f5f7!important}
body[data-device-preview=false].phone-ui .phone-shell,body[data-device-preview=false].tablet-ui .tablet-shell{position:absolute;inset:0;width:100%;height:100dvh;max-height:none;max-width:none;border-radius:0;box-shadow:none;margin:0}
body[data-device-preview=false].phone-ui .lock-screen,body[data-device-preview=false].tablet-ui .lock-screen{width:100%;height:100dvh;max-width:none;max-height:none;border-radius:0;box-shadow:none;margin:0}
body[data-device-preview=false].phone-ui .window,body[data-device-preview=false].tablet-ui .window{left:0!important;top:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;transform:none!important;border-radius:0!important;box-shadow:none!important}
body.tablet-ui .finder-list .list-item{background:white;margin:0;border-radius:0}
body.tablet-ui .finder-list .list-item.selected{background:#eaf2ff}
body.tablet-ui .finder-list-header button,body.tablet-ui .list-item-date,body.tablet-ui .list-item-kind,body.tablet-ui .list-item-size{color:#7a7e87}
body.tablet-ui .finder-toolbar{height:100px;min-height:100px;padding-top:34px;background:#f6f6f9}
body.tablet-ui .tablet-status{position:absolute;top:0;left:24px;right:24px;height:28px;margin:0;font-size:12px}
body.tablet-ui .tablet-shell{padding-top:62px}
body.tablet-ui .tablet-status .tablet-multitask-pill,body.tablet-ui .window-multitask-pill{display:none}
body.tablet-ui .settings-window,body.phone-ui .settings-window{background:#f2f2f7!important;backdrop-filter:none}
body.tablet-ui .settings-window .window-titlebar{background:#f6f6f9}
body.phone-ui .phone-shell,body.tablet-ui .tablet-shell{scrollbar-width:none}
body.tablet-ui .touch-career-widget strong{display:block;font-size:20px;line-height:1.3;margin-top:10px}
body.tablet-ui .touch-career-widget p{font-size:14px;line-height:1.5}
body.tablet-ui .tablet-home-layout{grid-template-columns:1fr;gap:20px}
body.tablet-ui .tablet-today-view{display:grid;grid-template-columns:1fr;gap:16px;width:100%}
body.tablet-ui .tablet-about-widget{width:100%}
body.tablet-ui .tablet-about-widget>.tablet-widget{width:100%;min-height:178px;padding:24px 28px}
body.tablet-ui .tablet-about-widget .tablet-widget-head{gap:14px}
body.tablet-ui .tablet-about-widget .tablet-widget-avatar{width:48px;height:48px}
body.tablet-ui .tablet-about-widget .tablet-widget strong{font-size:22px}
body.tablet-ui .tablet-about-widget .tablet-widget p{font-size:15px;max-width:780px}
body.tablet-ui .tablet-career-section{min-width:0}
body.tablet-ui .tablet-career-heading{display:flex;align-items:baseline;justify-content:space-between;margin:0 4px 10px;color:#fff}
body.tablet-ui .tablet-career-heading strong{font-size:14px}
body.tablet-ui .tablet-career-heading span{font-size:11px;color:#ffffffb8}
body.tablet-ui .tablet-career-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,31%);gap:14px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain}
body.tablet-ui .tablet-career-scroll .touch-career-widget{min-height:168px;scroll-snap-align:start}
body.tablet-ui .tablet-main-grid-area{width:100%}
@media(max-width:740px){body.tablet-ui .tablet-career-scroll{grid-auto-columns:minmax(220px,52%)}}
body.phone-ui .portfolio-window .port-toolbar:not(.native-safari-toolbar){height:88px;min-height:88px;padding-top:46px}
body.phone-ui .portfolio-window .native-message-header{height:100px;min-height:100px;padding-top:36px}
body.tablet-ui .finder-toolbar,body.tablet-ui .finder-window .finder-toolbar{padding-top:32px}
body.tablet-ui .window-multitask-pill{display:none!important}
body.tablet-ui #finder-titlebar{height:92px;min-height:92px;padding:34px 20px 10px}
body.tablet-ui #finder-titlebar .toolbar-group{gap:4px}
body.tablet-ui .list-item-name>img,body.tablet-ui .list-item-name>svg{width:30px;height:30px;flex-shrink:0}
body.tablet-ui .list-item-name{font-size:14px}
body.phone-ui .portfolio-window .native-safari-toolbar{display:grid;grid-template-columns:1fr 1fr 1fr;height:118px;min-height:118px;padding:8px 16px 26px;gap:6px;align-items:center}
body.phone-ui .portfolio-window .native-safari-toolbar .native-address{grid-column:1/-1;grid-row:1;width:100%;height:38px}
body.phone-ui .portfolio-window .native-safari-toolbar>.native-tool{grid-column:2;grid-row:2;justify-self:center;background:transparent;color:#1775c9}
body.phone-ui .portfolio-window .native-safari-toolbar .port-history{display:flex;grid-column:1;grid-row:2;gap:10px;color:#1775c9}
body.phone-ui .portfolio-window .native-safari-toolbar .native-safari-actions{grid-column:3;grid-row:2;justify-content:flex-end}
body.phone-ui .portfolio-window .port-safari .port-layout{padding-bottom:118px}
body.phone-ui .port-safari:not(.native-sidebar-collapsed) .port-sidebar{display:block;position:absolute;left:12px;right:12px;bottom:124px;top:52px;width:auto;min-width:0;padding:20px;border:1px solid #ddd;border-radius:20px;background:#f5f5fa;z-index:15;box-shadow:0 8px 40px #0003;overflow:auto}
body.phone-ui .port-safari .port-sidebar .port-nav-item{display:flex;justify-content:flex-start;gap:12px;padding:14px;font-size:16px}
body.phone-ui .port-safari .port-sidebar .port-nav-item span,body.phone-ui .port-safari .port-side-heading{display:block}
body.phone-ui .port-safari .port-sidebar .port-side-heading{font-size:12px;margin:14px 8px;color:#777}
@media(min-width:601px){
 body.phone-ui[data-device-preview=true]{--device-width:393px;--device-height:min(852px,calc(100dvh - 80px))}
 body.phone-ui[data-device-preview=true] .phone-shell,body.phone-ui[data-device-preview=true] .lock-screen,body.phone-ui[data-device-preview=true] .window{position:fixed!important;inset:auto!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:var(--device-width)!important;height:var(--device-height)!important;max-height:none!important;border-radius:40px!important;margin:0!important}
 body.phone-ui[data-device-preview=true] .phone-home-button{position:absolute;bottom:4px}
 body.phone-ui[data-device-preview=true] .portfolio-window #preview-content{height:100%}
 body.phone-ui[data-device-preview=true] #touch-system-layer .touch-panel{max-width:393px}
}
@media(min-width:1025px){
 body.tablet-ui[data-device-preview=true]{--device-width:min(1080px,calc(100vw - 60px));--device-height:min(760px,calc(100dvh - 80px))}
 body.tablet-ui[data-device-preview=true] .tablet-shell,body.tablet-ui[data-device-preview=true] .lock-screen,body.tablet-ui[data-device-preview=true] .window{position:fixed!important;inset:auto!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:var(--device-width)!important;height:var(--device-height)!important;max-height:none!important;border-radius:30px!important;margin:0!important}
 body.tablet-ui[data-device-preview=true] .portfolio-window #preview-content,body.tablet-ui[data-device-preview=true] .settings-content{height:100%}
}

/* Home Screen pages. */
body.phone-ui .phone-shell{overflow:hidden;padding-bottom:142px;touch-action:pan-y}
body.phone-ui .phone-home-grid{align-content:start;row-gap:22px}
body.phone-ui .phone-widgets[hidden],body.tablet-ui .tablet-today-view[hidden]{display:none!important}
body.phone-ui .phone-shell[data-home-page]:not([data-home-page="0"]) .phone-home-grid{margin-top:18px;row-gap:26px}
body.tablet-ui .tablet-home-layout{display:grid;grid-template-columns:minmax(220px,29%) minmax(0,1fr);align-items:start;overflow:hidden;gap:32px}
body.tablet-ui .tablet-home-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 16px;align-content:start}
body.tablet-ui .tablet-shell:not([data-home-page="0"]) .tablet-home-layout{grid-template-columns:1fr}
body.tablet-ui .tablet-career-section{display:none}
body.tablet-ui .tablet-about-widget>.tablet-widget{min-height:210px;padding:22px}
body.tablet-ui .tablet-about-widget .tablet-widget strong{font-size:20px}
body.tablet-ui .tablet-search-pill{margin-top:25px}
.touch-page-dots{display:flex;align-items:center;justify-content:center;gap:3px;position:absolute;left:50%;transform:translateX(-50%);bottom:133px;z-index:7;padding:3px 7px;border-radius:20px;background:#00000020}
.touch-page-dots button{display:grid;place-items:center;width:22px;height:22px;cursor:pointer}
.touch-page-dots span{display:block;width:6px;height:6px;border-radius:50%;background:#ffffff60}
.touch-page-dots button[aria-current="page"] span{background:white;box-shadow:0 0 6px #ffffff50}
body.phone-ui .phone-search-pill{bottom:113px;font-size:10px;padding:4px 12px}
body.tablet-ui .touch-page-dots{bottom:120px}
body.phone-ui.phone-app-open .touch-page-dots,body.tablet-ui.phone-app-open .touch-page-dots{display:none}
@media(max-width:740px){body.tablet-ui .tablet-home-grid{grid-template-columns:repeat(4,minmax(0,1fr))}body.tablet-ui .tablet-home-layout{grid-template-columns:180px 1fr;gap:20px}}
@media(max-height:680px){body.phone-ui .phone-widget{min-height:115px;padding:12px}.phone-widget-badge{display:none!important}body.phone-ui .phone-widgets{margin-bottom:16px}body.phone-ui .phone-home-grid{row-gap:16px}body.phone-ui .phone-app-icon>span,body.phone-ui .phone-app-icon img{width:46px;height:46px}}
/* Device switcher: phone carousel, tablet overview. */
#touch-system-layer.touch-switcher{padding:0;background:#15203350;backdrop-filter:blur(28px) brightness(.72);-webkit-backdrop-filter:blur(28px) brightness(.72);color:white;display:block}
.touch-switcher .touch-panel{width:100%;height:100%;max-height:none;max-width:none!important;overflow:hidden;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}
.touch-switcher .touch-panel>header{display:none}
.touch-switcher #touch-panel-body{height:100%;display:flex;flex-direction:column;justify-content:center}
.touch-switcher-status{display:flex;justify-content:space-between;position:absolute;left:28px;right:28px;top:22px;font-size:14px;font-weight:600;z-index:4}
.touch-switcher-status button{font-size:13px;color:#fff;padding:8px 12px;border-radius:20px;background:#ffffff15}
.touch-switcher .touch-recent-grid{display:flex;overflow-x:auto;gap:20px;padding:30px max(25px,calc((100vw - 276px)/2)) 55px;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center;overscroll-behavior:contain}
.touch-recent-item{flex:0 0 276px;min-width:0;scroll-snap-align:center;position:relative}
.touch-app-heading{display:flex;gap:9px;align-items:center;margin:0 10px 12px;color:white}
.touch-app-heading img{width:28px;height:28px;border-radius:7px}
.touch-app-heading strong{font-size:15px;font-weight:600;flex:1}
.touch-app-heading button{color:#fffc;font-size:22px;width:28px;height:28px;border-radius:50%;background:#ffffff16;cursor:pointer}
.touch-switcher .touch-app-card{display:block;width:100%;padding:0;cursor:pointer;border-radius:28px}
.touch-switcher .touch-card-preview{display:block;position:relative;width:276px;height:580px;border:1px solid #ffffff40;border-radius:28px;overflow:hidden;margin:0;background:#f6f6f8;box-shadow:0 15px 40px #0005;color:#222;touch-action:pan-x}
.snapshot-window{position:absolute!important;left:0!important;top:0!important;inset:auto!important;width:var(--snapshot-width)!important;height:var(--snapshot-height)!important;max-width:none!important;max-height:none!important;min-width:0!important;transform:scale(.708)!important;transform-origin:top left;border-radius:0!important;pointer-events:none;display:flex!important;flex-direction:column;box-shadow:none!important;border:0!important}
.snapshot-window [data-snapshot-content]{display:block;flex:1;min-height:0;padding:0;text-align:left;overflow:hidden;background:white}
.snapshot-window .window-titlebar{display:none!important}
.snapshot-window .port-app{height:100%}.snapshot-window .snapshot-media{height:220px;border-radius:12px;background:linear-gradient(145deg,#323340,#535767);color:#ddd;display:grid;place-items:center;font-size:16px;margin:12px}
.snapshot-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;font-size:30px;background:#f1f3f8;color:#60738e}.snapshot-placeholder .symbol{width:64px;height:64px}
.touch-switcher-home,.cc-home{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);height:30px;width:180px;display:grid;place-items:center;cursor:pointer}
.touch-switcher-home span,.cc-home span{display:block;width:125px;height:5px;background:#fffc;border-radius:4px}
.touch-switcher-empty{width:100%;text-align:center;align-self:center;margin:auto;color:white}
.touch-switcher-empty h2{font-size:23px!important;color:white!important}
body.tablet-ui .touch-switcher .touch-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:auto;max-height:calc(100dvh - 155px);padding:30px 50px;gap:32px;margin:auto 0;scroll-snap-type:none}
body.tablet-ui .touch-recent-item{width:100%;flex:auto}
body.tablet-ui .touch-switcher .touch-card-preview{width:100%;height:225px;border-radius:16px}
body.tablet-ui .snapshot-window{transform:scale(.3)!important}
body.tablet-ui .touch-app-heading strong{font-size:14px}
@media(max-width:900px){body.tablet-ui .touch-switcher .touch-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:30px}}
@media(max-height:750px){body.phone-ui .touch-switcher .touch-card-preview{height:480px}.touch-switcher .touch-recent-grid{padding-top:60px}}
/* Control Center: glass modules, grouped connectivity and vertical sliders. */
#touch-system-layer.touch-control-center{display:block;padding:0;color:white;background:#10213365;backdrop-filter:blur(35px) saturate(1.3);-webkit-backdrop-filter:blur(35px) saturate(1.3)}
.touch-control-center .touch-panel{width:100%;height:100%;max-height:none;max-width:none!important;border:0;border-radius:0;background:none;box-shadow:none;padding:0;overflow:auto}
.touch-control-center .touch-panel>header{display:none}
.touch-control-center #touch-panel-body{width:min(360px,calc(100% - 40px));margin:0 auto;padding:36px 0 65px}
.cc-status{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:550;color:#ffffffcd;margin-bottom:27px}.cc-status>span:last-child{display:flex;align-items:center;gap:7px}.cc-status .symbol{width:19px;height:19px}.cc-status-dot{color:#73d098;font-size:7px;margin-left:6px}
.cc-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 22px}.cc-heading>span{font-size:26px;font-weight:650}.cc-heading>button{font-size:25px;font-weight:300;background:#ffffff18;width:32px;height:32px;border-radius:50%}
.cc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.cc-grid>section,.cc-grid>button,.cc-slider,.cc-square,.cc-focus,.cc-utilities>button{background:#ffffff15;border:1px solid #ffffff14;box-shadow:inset 0 1px 1px #ffffff10,0 7px 20px #0001;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.cc-connectivity{grid-column:span 2;border-radius:30px;min-height:155px;padding:13px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:center}
.cc-connectivity>span{display:none}.cc-toggle{border-radius:50%;height:54px;width:54px;background:#ffffff16;display:grid;place-items:center;cursor:pointer;justify-self:center;color:#fff;transition:background .15s}.cc-toggle .symbol{width:25px;height:25px}.cc-toggle.active{background:#177cf7}.cc-toggle.cc-airplane.active{background:#f4a137}.cc-toggle.cc-cellular.active{background:#42ba64}
.cc-media{grid-column:span 2;border-radius:30px;min-height:155px;padding:17px;display:grid;grid-template-columns:36px 1fr;align-items:start;gap:12px}.cc-media-cover{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#ffffff18;font-size:25px}.cc-media strong{display:block;font-size:11px;line-height:1.4;color:#fff}.cc-media small{display:block;font-size:10px;color:#ffffff85;margin-top:4px}.cc-media button{grid-column:span 2;display:grid;place-items:center;margin:0 auto;width:44px;height:38px;color:white;cursor:pointer}.cc-media button .symbol{width:28px;height:28px}
.cc-small-controls{grid-column:span 2;display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.cc-small-controls>.cc-toggle,.cc-square{width:100%;height:69px;border-radius:22px;margin:0;display:grid;place-items:center;color:white;cursor:pointer}.cc-square .symbol{width:27px;height:27px}.cc-rotation.active{background:#f8f8fb;color:#ef546c}
.cc-focus{grid-column:span 2;display:flex;align-items:center;gap:14px;border-radius:24px;padding:16px;color:white;text-align:left;font-size:14px;cursor:pointer}.cc-focus .symbol{width:23px;height:23px;color:#c5b0ff}.cc-focus span{font-weight:600}.cc-focus small{display:block;font-size:10px;color:#ffffff8c;margin-top:3px}.cc-focus.active{background:#6757a970}
.cc-slider{position:relative;border-radius:25px;min-height:154px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:20px 0;color:#262a39;background:linear-gradient(to top,#fffc var(--cc-value),#ffffff12 var(--cc-value));cursor:ns-resize}
.cc-slider>input{appearance:none;-webkit-appearance:none;position:absolute;inset:0;opacity:0;writing-mode:vertical-lr;direction:rtl;width:100%;height:100%;margin:0;cursor:ns-resize;touch-action:none}.cc-slider>.symbol{width:25px;height:25px;pointer-events:none;z-index:1}.cc-slider:focus-within{outline:2px solid #ffffffa0;outline-offset:3px}
.cc-wide{grid-column:span 2;display:flex;align-items:center;gap:13px;padding:17px;border-radius:24px;color:white;text-align:left;cursor:pointer;font-size:13px}.cc-wide .symbol{width:23px;height:23px}.cc-wide small{display:block;font-size:9px;color:#ffffff80;margin-top:4px}
.cc-utilities{grid-column:span 4;display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.cc-utilities>button{height:70px;border-radius:24px;display:grid;place-items:center;cursor:pointer;color:#fff}.cc-utilities .symbol{width:25px;height:25px}
body.tablet-ui .touch-control-center #touch-panel-body{width:360px;margin:40px 60px 0 auto;padding-top:0}
body.tablet-ui .cc-heading{margin-bottom:18px}
body.tablet-ui .cc-status{margin-bottom:20px}
@media(max-height:720px){.touch-control-center #touch-panel-body{padding-top:22px}.cc-heading{margin-bottom:15px}.cc-status{margin-bottom:16px}.cc-connectivity,.cc-media{min-height:135px}.cc-slider{min-height:132px}.cc-utilities>button{height:58px}}
@media(prefers-reduced-motion:reduce){.cc-toggle{transition:none}}
#touch-system-layer .snapshot-window{position:absolute!important;inset:auto!important;left:0!important;top:0!important;width:var(--snapshot-width)!important;height:var(--snapshot-height)!important;transform:scale(.708)!important;transform-origin:top left!important;max-width:none!important;max-height:none!important;border-radius:0!important;overflow:hidden!important;opacity:1!important;filter:none!important}
body.tablet-ui #touch-system-layer .snapshot-window{transform:scale(.3)!important}
#touch-system-layer .touch-recent-grid{isolation:isolate}
#touch-system-layer .snapshot-window .window-multitask-pill,#touch-system-layer .snapshot-window .window-resize-handle{display:none!important}
#touch-system-layer .touch-card-preview{isolation:isolate;contain:layout paint}

/* Audio and Places adapt to the active device, including device previews. */
.audio-mobile-heading,.audio-mobile-tabs,.places-sheet-handle{display:none}
body.phone-ui .portfolio-window .reference-audio{display:flex;flex-direction:column;height:100%;position:relative}
body.phone-ui .reference-audio .audio-sidebar{display:none!important}
body.phone-ui .reference-audio .audio-workspace{flex:1;min-height:0;padding-top:48px}
body.phone-ui .audio-mobile-heading{display:block;padding:12px 20px 0;background:#2d2525;flex-shrink:0}
body.phone-ui .audio-mobile-heading>strong{display:block;font-size:30px;letter-spacing:-.6px;color:#fff;margin-bottom:12px}
body.phone-ui .audio-mobile-heading .reference-search{height:40px;margin-bottom:10px;background:#ffffff10}
body.phone-ui .reference-audio .audio-main{padding:8px 20px 160px;flex:1;overflow:auto;overscroll-behavior:contain}
body.phone-ui .audio-page-heading{font-size:25px;margin:8px 0 18px}
body.phone-ui .audio-feature-banner{min-height:250px;margin-bottom:28px;padding:20px 14px}
body.phone-ui .audio-feature-banner>strong{font-size:53px}
body.phone-ui .audio-feature-banner i{font-size:59px}
body.phone-ui .audio-feature-banner>span{font-size:14px}
body.phone-ui .audio-feature-banner small{font-size:11px}
body.phone-ui .reference-audio .audio-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
body.phone-ui .reference-audio .audio-collection strong{font-size:14px;line-height:1.4}
body.phone-ui .reference-audio .audio-collection small{font-size:12px}
body.phone-ui .audio-tile em{font-size:14px}
body.phone-ui .reference-audio .audio-transport{position:absolute;left:12px;right:12px;bottom:90px;height:58px!important;min-height:58px!important;padding:7px 10px!important;border-radius:15px;background:#514448ef!important;z-index:12;gap:10px;box-shadow:0 4px 20px #0004}
body.phone-ui .audio-transport .audio-now-playing{order:0;height:43px;background:transparent;justify-content:flex-start}
body.phone-ui .audio-now-playing>span{display:grid;width:37px;height:37px;border-radius:7px;font-size:25px}
body.phone-ui .audio-now-playing>div{text-align:left;padding:0}
body.phone-ui .audio-now-playing strong{font-size:12px;color:#fff}
body.phone-ui .audio-now-playing small{display:block;font-size:10px}
body.phone-ui .audio-transport-buttons{order:1;gap:7px}
body.phone-ui .audio-transport-buttons>button{min-width:38px;min-height:40px}
body.phone-ui .audio-transport-buttons>button:first-child,body.phone-ui .audio-transport-buttons>button:nth-child(2),body.phone-ui .audio-transport-end{display:none}
body.phone-ui .audio-mobile-tabs{display:flex;position:absolute;bottom:0;left:0;right:0;min-height:85px;padding:8px 12px 27px;background:#31282cf5;border-top:1px solid #ffffff16;z-index:11;backdrop-filter:blur(20px)}
body.phone-ui .audio-mobile-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#b9aaaf;min-height:44px;font-size:11px;cursor:pointer}
body.phone-ui .audio-mobile-tabs .symbol{width:23px;height:23px}
body.phone-ui .audio-mobile-tabs button[aria-current="page"]{color:#ff668c}
body.phone-ui .audio-selected-heading h2{font-size:24px}
body.phone-ui .audio-selected-heading button{width:44px;height:44px}
body.phone-ui .reference-audio .audio-player{height:352px}
body.phone-ui .portfolio-window .reference-places{display:block;position:relative;height:100%;overflow:hidden}
body.phone-ui .reference-places .places-canvas{position:absolute;inset:0;display:flex}
body.phone-ui .reference-places .places-toolbar{position:absolute;top:48px;left:12px;right:12px;z-index:5;border:0;border-radius:15px;background:#342e33df!important;height:48px!important;min-height:48px!important;padding:0 12px!important;backdrop-filter:blur(18px)}
body.phone-ui .places-toolbar>button:first-child{display:none}
body.phone-ui .places-toolbar strong{font-size:14px}
body.phone-ui .places-toolbar-actions{gap:14px}
body.phone-ui .places-toolbar-actions button,body.phone-ui .places-toolbar-actions a{min-width:32px;min-height:40px}
body.phone-ui .places-map{position:absolute;inset:0;min-height:0}
body.phone-ui .map-scale{top:112px;left:20px}
body.phone-ui .map-location-card{display:none}
body.phone-ui .map-zoom{bottom:285px;right:20px;flex-direction:column}
body.phone-ui .map-zoom button{width:44px;height:44px;font-size:24px}
body.phone-ui .map-zoom button+button{border-left:0;border-top:1px solid #ffffff17}
body.phone-ui .map-compass{right:18px;bottom:385px;width:45px;height:45px}
body.phone-ui .reference-places .places-sidebar{position:absolute;left:0;right:0;bottom:0;height:265px;max-height:72%;padding:8px 18px 34px;border-radius:25px 25px 0 0;z-index:7;background:#312c32f5;border:1px solid #ffffff13;overflow:auto;visibility:visible!important;backdrop-filter:blur(22px);box-shadow:0 -5px 24px #0003}
body.phone-ui .places-sheet-handle{display:grid;place-items:center;min-height:25px;width:100%;flex-shrink:0;cursor:pointer}
body.phone-ui .places-sheet-handle>span{width:38px;height:5px;border-radius:3px;background:#ffffff40}
body.phone-ui .places-sidebar .reference-search{min-height:43px;flex-shrink:0;margin-bottom:8px;font-size:15px}
body.phone-ui .places-sidebar h2{font-size:14px;margin:9px 0}
body.phone-ui .place-favourite{min-height:57px;padding:9px 8px;gap:12px}
body.phone-ui .place-favourite-icon{width:34px;height:34px}
body.phone-ui .place-favourite strong{font-size:14px}
body.phone-ui .place-favourite small{font-size:12px}
body.phone-ui .reference-places.sheet-expanded .places-sidebar{height:65%}
body.phone-ui .places-attribution{font-size:10px}
body.phone-ui .places-journey{font-size:13px}
body.tablet-ui .portfolio-window .reference-audio{grid-template-columns:240px minmax(0,1fr)}
body.tablet-ui .reference-audio .audio-sidebar{padding:64px 15px 30px}
body.tablet-ui .reference-audio .audio-navigation{font-size:15px;min-height:44px;padding:10px}
body.tablet-ui .reference-audio .audio-library-item{font-size:13px}
body.tablet-ui .reference-audio .audio-sidebar h2{font-size:12px}
body.tablet-ui .reference-audio .audio-main{padding:35px 30px 65px}
body.tablet-ui .reference-audio .audio-transport{height:90px!important;min-height:90px!important;padding:36px 18px 10px!important}
body.tablet-ui .audio-transport button{min-height:38px}
body.tablet-ui .reference-audio .audio-collection{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
body.tablet-ui .portfolio-window .reference-places{grid-template-columns:300px minmax(0,1fr)}
body.tablet-ui .reference-places .places-sidebar{padding:58px 18px 35px}
body.tablet-ui .reference-places .places-toolbar{height:82px!important;min-height:82px!important;padding:33px 18px 10px!important}
body.tablet-ui .place-favourite{min-height:66px}
body.tablet-ui .place-favourite strong{font-size:15px}
body.tablet-ui .place-favourite small{font-size:12px}
body.tablet-ui .places-sidebar h2{font-size:14px}
body.tablet-ui .places-toolbar button,body.tablet-ui .places-toolbar a{min-width:36px;min-height:40px}
body.tablet-ui .map-zoom button{width:44px;height:44px}
body.tablet-ui .reference-places.sidebar-hidden{grid-template-columns:0 minmax(0,1fr)}
@media(max-width:800px){body.tablet-ui .portfolio-window .reference-audio{grid-template-columns:200px minmax(0,1fr)}body.tablet-ui .portfolio-window .reference-places{grid-template-columns:245px minmax(0,1fr)}body.tablet-ui .audio-transport-buttons{gap:5px}body.tablet-ui .audio-transport-end{display:none}body.tablet-ui .reference-audio .audio-main{padding:25px 20px 55px}}
body.phone-ui:has(.reference-audio).phone-app-open .phone-status,body.phone-ui:has(.reference-places).phone-app-open .phone-status,body.tablet-ui:has(.reference-audio).phone-app-open .tablet-status,body.tablet-ui:has(.reference-places).phone-app-open .tablet-status{color:#fff!important}
body.phone-ui:has(.reference-audio).phone-app-open .phone-status-icons *,body.phone-ui:has(.reference-places).phone-app-open .phone-status-icons *,body.tablet-ui:has(.reference-audio).phone-app-open .tablet-status-right *,body.tablet-ui:has(.reference-places).phone-app-open .tablet-status-right *{color:#fff!important;border-color:#fff!important}
body.phone-ui:has(.reference-audio).phone-app-open .cell-bars span,body.phone-ui:has(.reference-places).phone-app-open .cell-bars span{background:#fff!important}
body.phone-ui:has(.reference-audio) .phone-home-button::after,body.phone-ui:has(.reference-places) .phone-home-button::after,body.tablet-ui:has(.reference-audio) .tablet-home-button::after,body.tablet-ui:has(.reference-places) .tablet-home-button::after{background:#fff!important;box-shadow:none}
.places-sheet-handle{touch-action:none}
body.phone-ui:has(.calculator-app) .portfolio-window .port-toolbar,body.tablet-ui:has(.calculator-app) .portfolio-window .port-toolbar{background:#202123!important;color:#fff!important;border-bottom:0}
body.phone-ui:has(.calculator-app) .native-window-heading strong,body.tablet-ui:has(.calculator-app) .native-window-heading strong{color:white}
body.phone-ui:has(.calculator-app).phone-app-open .phone-status,body.tablet-ui:has(.calculator-app).phone-app-open .tablet-status{color:#fff!important}
body.phone-ui:has(.calculator-app).phone-app-open .phone-status-icons *,body.tablet-ui:has(.calculator-app).phone-app-open .tablet-status-right *{color:#fff!important;border-color:#fff!important}
body.phone-ui:has(.calculator-app).phone-app-open .cell-bars span{background:#fff!important}
body.phone-ui:has(.calculator-app) .phone-home-button::after,body.tablet-ui:has(.calculator-app) .tablet-home-button::after{background:#fff!important;box-shadow:none}
/* System edges reserve only the status strip and home indicator for gestures. */
.touch-gesture-edges{position:fixed;inset:0;z-index:40000;pointer-events:none}.touch-gesture-edges[hidden]{display:none}.touch-edge{position:absolute;pointer-events:auto;touch-action:none;appearance:none;border:0;padding:0;background:transparent;color:transparent}.touch-edge:focus-visible{outline:2px solid #99c6ff;outline-offset:-3px;background:#8ab8ff25}.touch-edge-notifications{left:0;top:0;width:65%;height:max(23px,env(safe-area-inset-top))}.touch-edge-controls{right:0;top:0;width:35%;height:max(23px,env(safe-area-inset-top))}.touch-edge-home{left:15%;bottom:0;width:70%;height:max(22px,env(safe-area-inset-bottom))}.touch-system-open .touch-edge-notifications,.touch-system-open .touch-edge-controls{display:none}.touch-gesture-active{cursor:grabbing}body.phone-ui .lock-screen,body.tablet-ui .lock-screen{touch-action:none}.touch-panel{animation:touch-panel-enter .3s cubic-bezier(.2,.8,.2,1)}.touch-control-center .touch-panel,.touch-notifications .touch-panel{touch-action:pan-x}.touch-notifications .touch-panel{max-width:440px;background:#f5f5f0c9;border-radius:28px}.touch-notification-date{font-size:23px;font-weight:600;margin:12px 0 24px;letter-spacing:-.6px}.touch-notifications .widget{background:#ffffffb5;color:#252630;border:1px solid #fff9}.touch-notification-empty{text-align:center;padding:45px 15px;color:#434754}.touch-notification-empty .symbol{width:35px;height:35px}.touch-notification-empty h2{font-size:19px}.touch-notification-empty p{font-size:13px;line-height:1.7;color:#6b6e79}.touch-notification-home{display:block;width:100%;padding:18px;font-size:12px;color:#656977}.touch-switcher .touch-app-card{touch-action:pan-x}.phone-home-grid,.tablet-home-grid{animation:touch-grid-enter .2s ease-out}
@keyframes touch-panel-enter{from{opacity:.3;transform:translateY(-28px) scale(.97)}to{opacity:1;transform:none}}@keyframes touch-grid-enter{from{opacity:.5;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.touch-panel,.phone-home-grid,.tablet-home-grid{animation:none}}
/* Gesture motion follows the drag, then settles without replaying entry effects. */
#touch-system-layer.is-gesture-driven .touch-panel,#touch-system-layer.touch-panel-no-enter .touch-panel{animation:none}
#touch-system-layer.is-dismissing{pointer-events:none;animation:touch-layer-exit .22s ease-in both}
#touch-system-layer.is-dismissing .touch-panel{animation:touch-panel-exit .22s cubic-bezier(.4,0,1,1) both}
#touch-system-layer.is-interactive-exit{pointer-events:none}
.touch-switcher:not(.touch-panel-no-enter) .touch-recent-item{animation:touch-card-arrive .38s cubic-bezier(.22,1,.36,1) both}
.touch-switcher:not(.touch-panel-no-enter) .touch-recent-item:nth-child(2){animation-delay:35ms}
.touch-switcher:not(.touch-panel-no-enter) .touch-recent-item:nth-child(3){animation-delay:60ms}
@keyframes touch-layer-exit{to{opacity:0}}@keyframes touch-panel-exit{from{transform:none}to{transform:translateY(35px) scale(.97);opacity:0}}@keyframes touch-card-arrive{from{opacity:0;transform:translateY(55px) scale(.9)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#touch-system-layer.is-dismissing,#touch-system-layer.is-dismissing .touch-panel,.touch-switcher .touch-recent-item{animation:none!important}}
