/* Web interpretation of Apple's navigation-material and motion principles. */
:root{--motion-spring:cubic-bezier(.2,.85,.22,1.15);--motion-settle:cubic-bezier(.22,.8,.22,1);--glass-surface:linear-gradient(130deg,#ffffffd6,#edf4ffab 55%,#ffffffc7);--glass-rim:#ffffffed;--glass-shadow:0 14px 45px #18344e24,0 3px 10px #18344e12,inset 0 1px 1px #fff,inset 0 -1px 2px #a7bdd445}
.os-header{position:sticky;top:0;z-index:95;background:#ffffffd6;backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);transition:box-shadow .25s,background .25s}
.has-scrolled .os-header{background:#fffffff0;box-shadow:0 8px 20px #23456608}
.os-dock{z-index:110;isolation:isolate;background:var(--glass-surface);border:1px solid var(--glass-rim);box-shadow:var(--glass-shadow);backdrop-filter:blur(30px) saturate(175%);-webkit-backdrop-filter:blur(30px) saturate(175%);border-radius:29px;transition:box-shadow .35s,background .35s}
.os-dock::before{content:'';position:absolute;inset:1px;z-index:0;border:1px solid #ffffff90;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse 150px 80px at var(--glass-x,50%) 0,#ffffffb8,transparent 90%)}
.os-dock .dock-lens{position:absolute;z-index:0;top:7px;left:0;width:var(--lens-width,59px);height:calc(100% - 15px);border-radius:20px;background:linear-gradient(135deg,#ffffffce,#bcdcff6b);box-shadow:inset 0 1px 1px white,inset 0 -1px 2px #7599c33b,0 2px 7px #365c8a10;border:1px solid #ffffffa3;transform:translateX(var(--lens-x,10px));transition:transform .42s var(--motion-spring),width .32s var(--motion-settle);pointer-events:none}
.os-dock a{z-index:1;transition:transform .32s var(--motion-spring),color .2s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.os-dock a>span>.color-menu-icon{transition:transform .35s var(--motion-spring),filter .25s;filter:drop-shadow(0 3px 3px #27456b16)}
.os-dock a:active{transform:scale(.91)}
.os-dock a[aria-current=page] small{color:#145dbd}
.os-dock a[aria-current=page]>span>.color-menu-icon{filter:drop-shadow(0 4px 5px #27456b26)}
.hero-controls{backdrop-filter:blur(18px) saturate(155%);-webkit-backdrop-filter:blur(18px) saturate(155%);box-shadow:inset 0 1px 0 #ffffff3b,0 4px 12px #021d4a18}
.hero-slide-cta{box-shadow:inset 0 1px 1px #fff,0 4px 15px #061c4720;transition:transform .3s var(--motion-spring),box-shadow .3s}
.hero-slide:active .hero-slide-cta{transform:scale(.96)}
.hero-slide-tabs button,.income-categories button,.os-goals span{transition:background .22s,border-color .22s,transform .3s var(--motion-spring),color .22s}
.income-categories button:active{transform:scale(.94)}
.os-goals label:active span{transform:scale(.97)}
.income-thumbnail{transition:box-shadow .35s,transform .4s var(--motion-settle)}
.proof-cover-art{transition:transform .65s var(--motion-settle)}
.os-primary,.os-small-button,.os-search,.window-back,#window-expand,.s-button{transition:transform .28s var(--motion-spring),box-shadow .25s,background .25s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.os-primary:active,.os-small-button:active,.os-search:active,.window-back:active,#window-expand:active,.s-button:active{transform:scale(.97)}
.app-window{animation:none;box-shadow:0 30px 100px #1c375b38,0 5px 20px #1627411c;border-color:#ffffffee;border-radius:24px}
.app-window-bar{background:linear-gradient(130deg,#faffffed,#e9f2ffde);border-bottom-color:#bdcce059;box-shadow:inset 0 1px 0 #fff}
.app-open .os-desktop{filter:blur(5px);opacity:.64;transition:filter .3s,opacity .3s}
.app-window.expanded{border-radius:0;z-index:100}
.os-dialog{border:1px solid #fff;box-shadow:0 28px 100px #1c375b40,inset 0 1px 1px white}
.os-dialog[open]{animation:sheet-enter .34s var(--motion-settle)}
.os-dialog::backdrop{background:#172c4933;backdrop-filter:blur(12px) saturate(80%);-webkit-backdrop-filter:blur(12px) saturate(80%)}
.s-dialog-top{position:sticky;top:0;background:#fffffff5;z-index:1;padding-bottom:14px;border-bottom:1px solid #dfe6ef}
.window-back,#window-expand,.os-dialog .s-icon-button{border-radius:50%;border-color:#fff;background:#ffffffc9;box-shadow:inset 0 1px 1px #fff,0 2px 5px #2b486218}
body .studio-toast{background:#173652e8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #ffffff4a;border-radius:18px;box-shadow:0 8px 28px #18375026}
@keyframes sheet-enter{from{opacity:0;transform:translateY(18px) scale(.965)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 .os-dock a:hover>span>.color-menu-icon{transform:translateY(-5px) scale(1.06)}
 .income-card:hover .proof-cover-art{transform:scale(1.035)}
 .income-card:hover .income-thumbnail{box-shadow:0 10px 25px #162b4826}
 .hero-slide:hover .hero-slide-cta{transform:translateY(-2px);box-shadow:0 7px 20px #061c4730}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
 .os-dock a:hover>span>.color-menu-icon,.income-card:hover .proof-cover-art,.hero-slide:hover .hero-slide-cta{transform:none}
}
@media(prefers-reduced-transparency:reduce){
 .os-header{background:#fff}.os-dock{background:#f0f5fc}.hero-controls{background:#0a2a5e}.os-dialog::backdrop{background:#23374a8c}.os-header,.os-dock,.hero-controls,body .studio-toast{backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media(prefers-contrast:more){
 .os-header,.os-dock{background:#fff;border:1px solid #536783}.os-dock small,.income-date,.income-card-link{color:#142237}.hero-controls{background:#10233e}.os-dock .dock-lens{border-color:#315c8f;background:#dceaff}
}
