/* Ink behaves like a material: a press has weight, then releases. */
/* Decorative overflow must never let focus scroll the entire home screen. */
.screen,.task-card{overflow:clip}
.home-content{position:absolute;inset:32px 0 0;padding-top:54px}
.dock{position:absolute;left:19px;right:19px;bottom:33px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-items:center;height:62px;padding:0}
.dock button{display:grid;place-items:center;width:44px;height:44px;padding:9px;min-width:0}
.dock .capture-button{width:62px;height:62px}
.dock button svg{display:block}
.swipe-hint{position:absolute;bottom:7px;left:0;right:0;margin:0 auto;width:max-content}
button{position:relative;isolation:isolate;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .22s cubic-bezier(.2,.8,.25,1.35),background .2s,color .2s,box-shadow .2s;border-color:color-mix(in srgb,currentColor 25%,transparent)}
button:not(.capture-button){overflow:hidden}button.is-pressed{transform:scale(.93)!important}.tap-ink{position:absolute;z-index:-1;width:12px;height:12px;border-radius:50%;background:currentColor;opacity:.17;pointer-events:none;transform:translate(-50%,-50%);animation:inkTouch .65s ease-out forwards}
@keyframes inkTouch{to{transform:translate(-50%,-50%) scale(35);opacity:0}}
.tap-bounce svg{animation:iconRelease .4s cubic-bezier(.2,.8,.2,1.3)}@keyframes iconRelease{0%{transform:scale(.8) rotate(-7deg)}55%{transform:scale(1.15) rotate(4deg)}100%{transform:scale(1) rotate(0)}}
.dock button{overflow:visible;transition:transform .25s cubic-bezier(.2,.8,.2,1.4),background .2s,box-shadow .2s}.dock button svg{transition:transform .25s cubic-bezier(.2,.8,.2,1.4),stroke .2s;pointer-events:none}.dock button:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,5px);font-size:8px;white-space:nowrap;letter-spacing:.5px;background:var(--ink);color:var(--paper);padding:5px 8px;border-radius:4px;opacity:0;pointer-events:none;transition:.2s}.dock .capture-button:after{background:#c24127;color:#fff0dc}.dock .tap-ink{z-index:0;overflow:hidden;max-width:80px;max-height:80px}.dock button:focus-visible:after{opacity:1;transform:translate(-50%,0)}
.task-card{transition:transform .25s ease-out,box-shadow .25s;transform-style:preserve-3d}.task-card:after{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,30%),#efe3bd0d,transparent 65%);pointer-events:none}.task-card h3{transition:opacity .3s}.task-card.done{box-shadow:inset 0 0 50px #c2412715}.complete{transition:background .2s,transform .2s,box-shadow .2s}.complete-arrow{transition:translate .2s}.card-heading button{min-height:32px}.edit-task{padding-left:10px;padding-right:7px}.home-content{pointer-events:none}.home-content button,.task-card{pointer-events:auto}.orb{pointer-events:auto;cursor:pointer;outline-offset:6px}.orb:before{content:'';position:absolute;inset:8px;border:1px solid #ffefc655;border-radius:50%;opacity:0;transition:opacity .25s}.orb:hover:before,.orb:focus-visible:before{opacity:1}.orb:focus-visible{outline:2px solid var(--red)}
dialog[open]{animation:sheetIn .3s cubic-bezier(.2,.8,.2,1)}dialog::backdrop{animation:backdropIn .2s ease-out}@keyframes sheetIn{from{transform:translateY(28px) scale(.97);opacity:0}to{transform:none;opacity:1}}@keyframes backdropIn{from{opacity:0}to{opacity:1}}
.app-drawer:not([hidden]){animation:drawerIn .35s cubic-bezier(.16,1,.3,1)}@keyframes drawerIn{from{transform:translateY(45%);opacity:0}to{transform:none;opacity:1}}#appList button{display:flex;flex-direction:column;align-items:center;gap:12px;padding:21px 8px;animation:appIn .35s both}#appList button:nth-child(2n){animation-delay:.035s}#appList button:nth-child(n+5){animation-delay:.07s}#appList button svg{width:26px;height:26px;stroke-width:1.5}@keyframes appIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dial-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.dial-pad button{border:1px solid #c7bda9;background:#e9e0cf;border-radius:50%;font:700 28px Barlow;height:62px;width:62px;justify-self:center}.dial-pad button:nth-child(3n+2){background:#ded4bf}.quick-searches{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.quick-searches button{border:1px solid #c6baa5;background:none;border-radius:20px;padding:8px 12px;font-size:10px}.focus-timer{font:90px/1.3 Anton;color:#c24127;text-align:center;letter-spacing:-3px;margin:30px 0}.timer-presets{display:flex;gap:10px}.timer-presets button{flex:1;border:1px solid #c6baa5;background:#e8deca;border-radius:5px;padding:12px;font-size:12px}.settings-choices{display:flex;flex-direction:column}.settings-choices button{background:none;border:0;border-bottom:1px solid #c6baa5;padding:18px 0;display:flex;justify-content:space-between;font-size:13px}#panelSeason{display:block;width:100%;margin-top:12px;padding:12px;border:1px solid #c6baa5;background:#e8deca;font-size:14px}.selected{background:#c24127!important;color:#fff0dc!important;border-color:#c24127!important}#record:not(:disabled):active{color:#c24127}
@media(hover:hover){.dock button:hover{background:#c2412710;transform:translateY(-5px)}.dock button:hover svg{transform:scale(1.15) rotate(-4deg);stroke:var(--red)}.dock button:hover:after{opacity:1;transform:translate(-50%,0)}.dock .capture-button:hover{background:#ad301b;box-shadow:0 7px 18px #bf40283a;transform:translateY(-5px) scale(1.05)}.dock .capture-button:hover svg{stroke:#fff0dc;transform:scale(1.09)}.try-button:hover{color:#c24127;padding-left:7px}.try-button:hover svg{transform:translateX(4px)}.complete:hover{background:#fff6de;box-shadow:0 4px 14px #0003;transform:translateY(-2px)}.complete:hover .complete-arrow{translate:4px}.primary:hover{background:#a9321e;box-shadow:0 5px 14px #a9321e2b;transform:translateY(-2px)}.edit-task:hover,.undo:hover{color:#fbead1;background:#ffffff0a}.dial-pad button:hover,.timer-presets button:hover,.quick-searches button:hover{background:#c24127;color:#fff0dc}#appList button:hover{background:var(--ink);color:var(--paper);transform:translateY(-3px)}.settings-choices button:hover{color:#c24127;padding-left:5px}.close-modal:hover{background:#c2412712;transform:rotate(90deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.is-pressed{transform:none!important}}
