/* SpringBoard-style paging. The status bar, wallpaper and dock stay in place. */
.home{padding:0;position:relative;display:block;outline:none}
.home-pages{position:absolute;inset:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;isolation:isolate}
.home-pages::-webkit-scrollbar{display:none}
.home-page{flex:0 0 100%;width:100%;height:100%;min-width:0;padding:78px 23px 173px;scroll-snap-align:start;scroll-snap-stop:always;position:relative;overflow:hidden}
.home-pages.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.home-pages.dragging *{cursor:grabbing!important;pointer-events:none}
.home-pages img{pointer-events:none;-webkit-user-drag:none}
.home-page .widgets{margin-bottom:33px}
.home-page .app-button:hover{transform:none}
.home-controls{position:absolute;bottom:137px;left:50%;transform:translateX(-50%);height:29px;min-width:62px;z-index:2}
.home-controls .search-pill{margin:0;height:29px;background:#d9d7e529;backdrop-filter:blur(24px) saturate(1.5);box-shadow:inset 0 1px 0 #ffffff22,0 2px 8px #1a13310d;transition:opacity .18s,transform .18s}
.page-dots{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:0;border-radius:20px;background:#d9d7e529;backdrop-filter:blur(24px) saturate(1.5);box-shadow:inset 0 1px 0 #ffffff22;opacity:0;pointer-events:none;transition:opacity .18s;min-width:62px}
.page-dots button{background:none;padding:10px 5px;display:grid;place-items:center;min-height:29px}
.page-dots button span{width:6px;height:6px;border-radius:50%;background:#ffffff60;transition:background .16s,transform .16s}
.page-dots button[aria-current=true] span{background:white;transform:scale(1.08)}
.home-controls.is-paging .page-dots{opacity:1;pointer-events:auto}
.home-controls.is-paging .search-pill{opacity:0;pointer-events:none;transform:scale(.95)}
.home-controls:focus-within .search-pill{opacity:1;pointer-events:auto}
.home-controls:focus-within .page-dots:has(button:focus-visible){opacity:1;pointer-events:auto}
.home-controls:has(.page-dots button:focus-visible) .search-pill{opacity:0;pointer-events:none}
.dock{position:absolute;bottom:25px;left:13px;right:13px;margin:0;padding:14px 12px;z-index:2;background:linear-gradient(155deg,#e9deef46,#d0c4e935);-webkit-backdrop-filter:blur(28px) saturate(1.6);backdrop-filter:blur(28px) saturate(1.6);box-shadow:inset 0 1px 1px #ffffff55,inset 0 -1px 1px #ffffff18,0 6px 18px #15112b13;opacity:var(--dock-visibility,1);transform:translate3d(0,var(--dock-offset,0px),0);will-change:opacity,transform;backface-visibility:hidden;transition:none}
.home-controls{opacity:var(--dock-visibility,1)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.glass-search{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 15px;border-radius:18px;background:#dcd9e32e;box-shadow:inset 0 1px 0 #ffffff30;backdrop-filter:blur(28px) saturate(1.5);color:#fff;font-size:15px;text-shadow:0 1px 2px #0001}
.glass-search>span{font-size:25px;line-height:20px;font-weight:300}
.glass-widget{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#e8e5edb8;box-shadow:inset 0 1px 1px #ffffff9c,0 5px 20px #241a3c12;backdrop-filter:blur(28px) saturate(1.5);border-radius:26px;color:#302b3b;width:100%;padding:20px;margin-bottom:17px}
.today-page{overflow-y:auto;scrollbar-width:none;padding-bottom:40px}
.today-date{font-size:23px;font-weight:650;letter-spacing:-.6px;margin:25px 2px 17px;text-shadow:0 1px 8px #21152e22}
.today-profile{position:relative;min-height:166px}
.today-monogram{font-size:29px;letter-spacing:-2px;font-weight:700;width:54px;height:54px;border-radius:17px;background:#a9a0d2;color:white;display:grid;place-items:center;margin-bottom:14px}
.today-profile strong{font-size:20px;letter-spacing:-.7px}
.today-profile>span:nth-last-child(2){font-size:11px;color:#746b80;margin-top:5px}
.today-location{position:absolute;right:18px;top:25px;font-size:9px;color:#7f768c}
.today-project .content-kicker{color:#80758d;font-size:8px}
.today-project>strong{font-size:43px;letter-spacing:-2px;font-weight:500;margin-top:10px}
.today-project>span:nth-last-child(2){font-size:11px;max-width:200px;line-height:1.5;color:#786c85}
.today-project-link{font-size:10px;margin-top:16px;color:#6b538b}
.today-journey{flex-direction:row;align-items:center;gap:14px;padding:18px 20px}
.journey-symbol{font-size:30px;color:#8a77a7}
.today-journey strong{display:block;font-size:14px;font-weight:600}
.today-journey small{display:block;font-size:10px;color:#80758d;margin-top:4px}
.library-page{padding-top:78px;padding-bottom:25px;overflow-y:auto;scrollbar-width:none;background:#473b6020;backdrop-filter:blur(22px) saturate(1.2)}
.library-categories{margin-top:22px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 17px}
.library-category>span{font-size:10px;display:block;text-align:center;margin-top:8px;text-shadow:0 1px 4px #1c142b55}
.library-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px 10px;border-radius:26px;background:#eee9f533;box-shadow:inset 0 1px 0 #ffffff24;backdrop-filter:blur(25px) saturate(1.4);min-height:152px;align-content:start}
.library-group .app-icon{width:54px;height:54px;border-radius:13px}
.library-group .app-label{display:none}
.library-group .app-icon img{width:100%;height:100%}
.library-group .app-icon svg{width:35px;height:35px}
.calendar-icon{background:#fff}
.calendar-icon>svg,.library-group .calendar-icon>svg{display:block;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.calendar-icon-weekday{fill:#ed4545;font-size:11px;font-weight:500;letter-spacing:0}
.calendar-icon-day{fill:#111;font-size:40px;font-weight:300;letter-spacing:-1px}
@media(max-width:500px){.home-page{padding-top:calc(78px + max(0px, env(safe-area-inset-top) - 40px))}.home{padding:0}.dock{padding:14px;bottom:calc(25px + max(0px, env(safe-area-inset-bottom) - 20px))}.home-controls{bottom:calc(137px + max(0px, env(safe-area-inset-bottom) - 20px))}.home-page .widgets{gap:20px}}
@media(max-width:500px) and (max-height:740px){.home-page{padding-top:67px}.home-page .widgets{margin-bottom:22px}.dock{padding-top:10px;padding-bottom:10px}.home-controls{bottom:120px}.today-date{margin-top:18px;font-size:21px}.today-profile{min-height:148px}.glass-widget{padding:17px;margin-bottom:13px}.today-monogram{width:43px;height:43px;margin-bottom:10px}.today-project>strong{font-size:35px}.library-group{min-height:140px;gap:10px}}
