:root{--bg:#08090a;--bg-elev:#0e0f11;--surface:#121315;--surface-2:#18191c;--surface-hover:#1c1d21;--border:#212226;--border-strong:#2c2d32;--text:#ededef;--text-2:#a0a3aa;--text-3:#62666d;--accent:#ededef;--accent-hover:#fff;--accent-fg:#08090a;--accent-soft:#ffffff12;--accent-text:#ededef;--done:#4cb782;--done-soft:#4cb78224;--free:#f2994a;--free-soft:#f2994a24;--missed:#eb5757;--missed-soft:#eb57571f;--shadow:0 0 0 1px #0003, 0 8px 24px #00000059;--radius:10px;--radius-sm:6px;--ease:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--nav-h:64px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root{--bg:#fbfbfc;--bg-elev:#f4f4f6;--surface:#fff;--surface-2:#f6f6f8;--surface-hover:#f0f0f3;--border:#e7e7ea;--border-strong:#d9d9de;--text:#18181b;--text-2:#5c5f66;--text-3:#9a9da4;--accent:#18181b;--accent-hover:#000;--accent-fg:#fff;--accent-soft:#0000000d;--accent-text:#18181b;--done:#2f9e68;--done-soft:#2f9e681f;--free:#d97a22;--free-soft:#d97a221f;--missed:#d64545;--missed-soft:#d645451a;--shadow:0 0 0 1px #0000000a, 0 8px 24px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11", "ss01", "ss03";-webkit-tap-highlight-color:transparent;margin:0;font-size:14px;line-height:1.5}body{overscroll-behavior-y:none;min-height:100dvh}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.num{font-variant-numeric:tabular-nums}.app{min-height:100dvh}.sidebar{display:none}.main{max-width:720px;padding:calc(env(safe-area-inset-top) + 20px) 16px calc(var(--nav-h) + env(safe-area-inset-bottom) + 24px);margin:0 auto}.tabbar{z-index:20;padding:6px 8px calc(env(safe-area-inset-bottom) + 6px);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-top:1px solid var(--border);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--text-3);border-radius:var(--radius-sm);transition:color .15s var(--ease);flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0;font-size:11px;font-weight:500;display:flex}.tab[aria-current=page]{color:var(--text)}@media (width>=900px){.app{grid-template-columns:232px 1fr;display:grid}.tabbar{display:none}.sidebar{border-right:1px solid var(--border);background:var(--bg-elev);flex-direction:column;gap:2px;height:100dvh;padding:18px 12px;display:flex;position:sticky;top:0}.main{width:100%;padding:48px 32px 64px}}.brand{letter-spacing:-.01em;align-items:center;gap:10px;padding:4px 8px 18px;font-size:14px;font-weight:600;display:flex}.brand img{border-radius:6px;width:22px;height:22px}.nav-item{border-radius:var(--radius-sm);color:var(--text-2);text-align:left;transition:background .15s var(--ease), color .15s var(--ease);align-items:center;gap:10px;padding:7px 10px;font-size:13px;font-weight:500;display:flex}@media (hover:hover) and (pointer:fine){.nav-item:hover{background:var(--surface-hover);color:var(--text)}}.nav-item[aria-current=page]{background:var(--surface-2);color:var(--text)}.sidebar-foot{color:var(--text-3);margin-top:auto;padding:8px 10px;font-size:12px}.page-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.eyebrow{color:var(--text-3);letter-spacing:.01em;font-size:12px;font-weight:500}h1{letter-spacing:-.02em;margin:2px 0 0;font-size:22px;font-weight:600;line-height:1.25}h2{letter-spacing:-.005em;margin:0;font-size:13px;font-weight:600}.section{margin-top:28px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.small{font-size:12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.card-pad{padding:16px}.row-list>*+*{border-top:1px solid var(--border)}.btn{border-radius:var(--radius-sm);white-space:nowrap;height:34px;transition:background .15s var(--ease), border-color .15s var(--ease), transform .14s var(--ease), opacity .15s var(--ease);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-fg);box-shadow:0 1px 2px #0000004d}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:var(--accent-hover)}}.btn-secondary{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text)}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background:var(--surface-hover)}}.btn-ghost{color:var(--text-2)}@media (hover:hover) and (pointer:fine){.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}}.btn-done{background:var(--done);color:#fff}.btn-lg{border-radius:8px;height:48px;padding:0 18px;font-size:15px}.btn-block{width:100%}.btn-icon{width:30px;height:30px;padding:0}.link-btn{color:var(--text-2);border-radius:var(--radius-sm);transition:color .15s var(--ease), background .15s var(--ease);align-items:center;gap:5px;margin:-3px -6px;padding:3px 6px;font-size:12px;font-weight:500;display:inline-flex}@media (hover:hover) and (pointer:fine){.link-btn:hover{color:var(--text);background:var(--surface-hover)}}.chip{border:1px solid var(--border-strong);background:var(--surface);height:26px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:500;display:inline-flex}.badge{background:var(--surface-2);height:20px;color:var(--text-2);border:1px solid var(--border);border-radius:4px;align-items:center;gap:5px;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.badge-done{background:var(--done-soft);color:var(--done);border-color:#0000}.badge-free{background:var(--free-soft);color:var(--free);border-color:#0000}.badge-missed{background:var(--missed-soft);color:var(--missed);border-color:#0000}.dot{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.pulse{animation:pulse 1.6s var(--ease) infinite}@keyframes pulse{50%{opacity:.35}}.intention{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:10px;margin-bottom:10px;padding:10px 8px 10px 14px;display:flex}.intention-text{-webkit-line-clamp:2;letter-spacing:-.005em;min-width:0;color:var(--text);animation:intention-in .22s var(--ease);-webkit-box-orient:vertical;flex:1;margin:0;font-size:14px;font-weight:500;line-height:1.4;display:-webkit-box;overflow:hidden}.intention-shuffle{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-3);transition:color .15s var(--ease), background .15s var(--ease), transform .12s var(--ease);flex:none;place-items:center;display:grid;position:relative}.intention-shuffle:after{content:"";position:absolute;inset:-9px}.intention-shuffle:active{transform:scale(.9)}.intention-shuffle.is-spun svg{animation:intention-spin .3s var(--ease)}@media (hover:hover) and (pointer:fine){.intention-shuffle:hover{color:var(--text);background:var(--surface-hover)}}@keyframes intention-in{0%{opacity:0;transform:translateY(4px)}}@keyframes intention-spin{0%{transform:rotate(-180deg)}}@media (prefers-reduced-motion:reduce){.intention-text,.intention-shuffle svg{animation:none}}.workout{background:radial-gradient(120% 80% at 100% 0%, var(--accent-soft), transparent 60%), var(--surface);padding:20px;position:relative;overflow:hidden}.workout.is-done{background:radial-gradient(120% 80% at 100% 0%, var(--done-soft), transparent 60%), var(--surface)}.workout-meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.workout-time{color:var(--text);font-size:13px;font-weight:600}.workout-title{letter-spacing:-.025em;margin:14px 0 4px;font-size:28px;font-weight:600;line-height:1.15}.media{margin:18px 0 16px}.media-art{aspect-ratio:16/7;background:radial-gradient(70% 90% at 50% 50%, var(--accent-soft), transparent 70%), var(--bg-elev);border:1px solid var(--border);cursor:pointer;width:100%;transition:transform .15s var(--ease), border-color .15s var(--ease);border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.media-art.is-video{aspect-ratio:16/9;background:#000}@media (hover:hover) and (pointer:fine){.media-art:hover{border-color:var(--border-strong)}}.media-art:active{transform:scale(.98)}.media-art img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.media-art>svg{filter:drop-shadow(0 6px 18px #00000059)}.media-play{color:#fff;-webkit-backdrop-filter:blur(6px);width:56px;height:56px;transition:transform .15s var(--ease), background .15s var(--ease);background:#0009;border-radius:50%;place-items:center;padding-left:3px;display:grid;position:relative}@media (hover:hover) and (pointer:fine){.media-art:hover .media-play{background:#000000bf;transform:scale(1.06)}}.media-art img,.media-art>svg,.media-art>.media-tile{transition:filter .24s var(--ease), opacity .24s var(--ease)}.media-art.is-logged img,.media-art.is-logged>svg,.media-art.is-logged>.media-tile{filter:saturate(.6)brightness(.6)}.media-art.is-logged>svg,.media-art.is-logged>.media-tile{opacity:.25}.media-logged{background:var(--done);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;position:relative;box-shadow:0 6px 20px #0000004d}.media-art.is-logged>*{grid-area:1/1}.media-art.is-entering .media-logged{animation:pop .32s var(--ease) both}.media-art.is-entering .media-logged path{stroke-dasharray:24;animation:check-draw .3s var(--ease) .14s both}@keyframes check-draw{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}.badge-pop{animation:pop .28s var(--ease)}.media-tile{background:var(--surface-2);border:1px solid var(--border-strong);width:76px;height:76px;color:var(--text);border-radius:18px;place-items:center;display:grid}.media-tile-youtube{color:#fff;background:#f03;border-color:#0000}.media-tile-file{color:#fff;background:linear-gradient(#4aa8ff,#1a73e8);border-color:#0000}.media-info{align-items:flex-start;gap:12px;margin-top:12px;display:flex}.media-info .grow{flex:1;min-width:0}.media-name{-webkit-line-clamp:2;letter-spacing:-.01em;-webkit-box-orient:vertical;font-size:18px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.media-caption{color:var(--text-2);margin-top:3px;font-size:13px}.media-info .link-btn{flex:none;margin-top:3px}.src-icon{background:var(--surface-2);border:1px solid var(--border);width:26px;height:26px;color:var(--text-2);border-radius:6px;flex:none;place-items:center;display:grid}.actions{grid-template-columns:1fr auto;gap:8px;display:grid}.hint{color:var(--free);align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.hint button{color:inherit;text-underline-offset:2px;text-decoration:underline}.logged-row{justify-content:flex-end;display:flex}.done-check{background:var(--done);color:#fff;width:40px;height:40px;animation:pop .28s var(--ease);border-radius:50%;flex:none;place-items:center;display:grid}@keyframes pop{0%{opacity:0;transform:scale(.85)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.streak-hero{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.streak-count{letter-spacing:-.03em;color:var(--text);align-items:center;gap:6px;font-size:40px;font-weight:600;line-height:1;display:inline-flex}.streak-flame{color:var(--text-3);opacity:.6;transition:color .2s var(--ease), opacity .2s var(--ease)}.streak-flame.is-lit{color:var(--free);opacity:1;animation:pop .32s var(--ease)}.streak-best{color:var(--text-3);align-items:center;gap:5px;font-size:13px;font-weight:500;display:inline-flex}.streak-best.is-best{color:var(--free)}.week{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.week-day{color:var(--text-3);transition:background .15s var(--ease), transform .14s var(--ease);border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:10px 0 8px;font-size:11px;display:flex}@media (hover:hover) and (pointer:fine){.week-day:hover:not(:disabled){background:var(--surface-hover)}}.week-day:active:not(:disabled){transform:scale(.95)}.week-day.is-today{color:var(--text);font-weight:600}.week-day{container-type:inline-size}.status-dot{position:relative}.links-next .status-dot:after{--inset:3px;content:"";top:50%;left:calc(100% + var(--inset));width:calc(100cqw + 6px - 28px - 2 * var(--inset));background:linear-gradient(to right, var(--link-from), var(--link-to));height:4px;animation:streak-draw .36s var(--ease) both;animation-delay:calc(var(--link-i) * 70ms + .12s);pointer-events:none;margin-top:-2px;position:absolute;-webkit-mask:radial-gradient(circle,#000 1.1px,#0000 1.6px) 50%/4.5px 4px space no-repeat;mask:radial-gradient(circle,#000 1.1px,#0000 1.6px) 50%/4.5px 4px space no-repeat}@keyframes streak-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}.status-dot{border:1.5px dashed var(--border-strong);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.status-dot.done{background:var(--done);border:0}.status-dot.free{border:1.5px solid var(--free);background:var(--free-soft);color:var(--free)}.status-dot.missed{border:1.5px solid var(--missed);background:var(--missed-soft);color:var(--missed)}.status-dot.pending{border:1.5px solid var(--accent);background:var(--accent-soft)}.status-dot.future{border-style:dashed}.status-dot.before-start{background:var(--surface-2);border-color:#0000}.week-foot{border-top:1px solid var(--border);color:var(--text-2);justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;padding-top:12px;font-size:12px;display:flex}.info-row{align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.info-row .grow{flex:1;min-width:0}.info-row .title{font-weight:500}.progress{background:var(--surface-2);border-radius:999px;height:4px;margin-top:8px;overflow:hidden}.progress>span{background:var(--accent);border-radius:inherit;height:100%;transition:width .3s var(--ease);display:block}.stats{background:var(--border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}@media (width>=640px){.stats{grid-template-columns:repeat(4,1fr)}}.stat{background:var(--surface);padding:16px}.stat-label{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:flex}.stat-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:6px;font-size:28px;font-weight:600;line-height:1.1}.stat-value small{color:var(--text-3);letter-spacing:0;margin-left:4px;font-size:13px;font-weight:500}.cal-head{justify-content:space-between;align-items:center;padding:12px 12px 8px 16px;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;padding:4px 12px 12px;display:grid}.cal-dow{text-align:center;color:var(--text-3);padding:4px 0;font-size:11px}.cal-cell{aspect-ratio:1;font-variant-numeric:tabular-nums;max-height:56px;color:var(--text-2);transition:background .15s var(--ease), border-color .15s var(--ease), transform .14s var(--ease);border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:13px;display:flex;position:relative}.cal-cell:not(:disabled):active{transform:scale(.94)}@media (hover:hover) and (pointer:fine){.cal-cell:not(:disabled):hover{border-color:var(--border-strong)}}.cal-cell:disabled{cursor:default}.cal-cell.out{visibility:hidden}.cal-cell.done{background:var(--done-soft);color:var(--done);font-weight:600}.cal-cell.free{background:var(--free-soft);color:var(--free)}.cal-cell.missed{color:var(--missed)}.cal-cell.missed:after{content:"";background:var(--missed);border-radius:50%;width:4px;height:4px;position:absolute;bottom:18%}.cal-cell.future,.cal-cell.before-start{color:var(--text-3)}.cal-cell.today{border-color:var(--accent);color:var(--text);font-weight:600}.legend{border-top:1px solid var(--border);color:var(--text-2);flex-wrap:wrap;gap:14px;padding:10px 16px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px}.milestones{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (width>=640px){.milestones{grid-template-columns:repeat(3,1fr)}}.milestone{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);flex-direction:column;gap:2px;min-height:92px;padding:12px;display:flex}.milestone .m-icon{background:var(--surface-2);width:26px;height:26px;color:var(--text-3);border-radius:7px;place-items:center;margin-bottom:8px;display:grid}.milestone.reached .m-icon{background:var(--accent);color:var(--accent-fg)}.milestone.reached{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.milestone .m-label{font-size:13px;font-weight:500}.milestone:not(.reached) .m-label{color:var(--text-2)}.milestone .m-detail{color:var(--text-3);font-size:12px}.scrim{z-index:50;animation:fade .2s var(--ease);background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.scrim.is-closing{opacity:0;transition:opacity .15s var(--ease);animation:none}@media (width>=640px){.scrim{align-items:center}}.sheet{background:var(--surface);border:1px solid var(--border-strong);width:100%;max-width:440px;max-height:90dvh;box-shadow:var(--shadow);padding:20px 20px calc(env(safe-area-inset-bottom) + 20px);animation:sheet-in .32s var(--ease-drawer);border-radius:14px 14px 0 0;overflow:auto}.scrim.is-closing .sheet{transition:transform .18s var(--ease);animation:none;transform:translateY(100%)}@media (width>=640px){.sheet{animation:sheet-in-center .22s var(--ease);border-radius:14px;padding-bottom:20px}.scrim.is-closing .sheet{transform:scale(.97)}}.sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.sheet h3{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}@keyframes fade{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(100%)}}@keyframes sheet-in-center{0%{opacity:0;transform:scale(.96)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.field{flex-direction:column;gap:6px;display:flex}.field>label,.field-label{color:var(--text-2);font-size:12px;font-weight:500}.input,.select{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-elev);width:100%;height:34px;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);min-width:0;padding:0 10px;font-size:13px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.input::placeholder{color:var(--text-3)}.input-code{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;height:44px;font-size:20px}.form-grid{gap:12px;display:grid}.two-col{grid-template-columns:1fr 120px;gap:10px;display:grid}.day-row{text-align:left;width:100%;transition:background .15s var(--ease);align-items:center;gap:12px;padding:12px 16px;display:flex}@media (hover:hover) and (pointer:fine){.day-row:hover{background:var(--surface-hover)}}.day-tag{width:34px;color:var(--text-3);flex:none;font-size:12px;font-weight:600}.day-tag.is-today{color:var(--accent-text)}.day-row .grow{flex:1;min-width:0}.day-row .title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.day-row .num,.day-row .chev{flex:none}.day-row .chev{color:var(--text-3);transition:transform .2s var(--ease-in-out)}.day-row[aria-expanded=true] .chev{transform:rotate(180deg)}.day-editor{gap:12px;padding:4px 16px 16px 76px;display:grid}@media (width<=520px){.day-editor{padding-left:16px}}.source-edit{border-radius:var(--radius-sm);transition:opacity .15s var(--ease);grid-template-columns:auto 130px 1fr auto;align-items:center;gap:6px;display:grid}.source-edit .url{grid-column:2/-1}.source-edit .drag-handle{width:22px;margin-left:-6px}.source-edit.is-lifted{opacity:.35}.editor-foot{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:6px;display:flex}.intention-rows{gap:6px;margin-bottom:10px;display:grid}.intention-row{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.intentions-editor .editor-foot{margin-top:0}.day-slot{transition:background .15s var(--ease), opacity .15s var(--ease);position:relative}.day-row-wrap{align-items:stretch;display:flex}.day-row-wrap .day-row{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding-left:4px}.drag-handle{width:32px;color:var(--text-3);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:var(--radius-sm);transition:color .15s var(--ease);flex:none;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.drag-handle:hover{color:var(--text)}}.day-list.is-dragging,.day-list.is-dragging *{cursor:grabbing}.day-list.is-dragging .day-row:hover{background:0 0}.day-slot.is-origin{opacity:.35}.day-slot.is-target{background:var(--accent-soft);box-shadow:inset 0 0 0 1.5px var(--accent)}.day-slot:first-child.is-target{border-radius:var(--radius) var(--radius) 0 0}.day-slot:last-child.is-target{border-radius:0 0 var(--radius) var(--radius)}.day-slot.is-preview:not(.is-target){background:var(--accent-soft)}.day-slot.is-preview .title{animation:fade .18s var(--ease)}.drag-ghost{z-index:70;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius);min-height:52px;box-shadow:var(--shadow);pointer-events:none;will-change:transform;align-items:center;gap:12px;padding:12px 16px 12px 0;display:flex;position:fixed;top:0;left:0}.drag-ghost>*{scale:1.02}.drag-ghost:not(:has(.day-tag)){gap:10px;padding-left:10px}.drag-ghost .grow{flex:1;min-width:0}.drag-ghost .title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.flash{pointer-events:none;background:var(--accent-soft);animation:flash 1.2s var(--ease) forwards;position:absolute;inset:0}@keyframes flash{0%,30%{opacity:1}to{opacity:0}}.move-mode{margin-top:14px}.move-list .day-row:disabled{opacity:.45;cursor:default}.move-list .day-row:disabled:hover{background:0 0}.toast .btn{height:28px;padding:0 10px}.toast-text{text-overflow:ellipsis;max-width:60vw;overflow:hidden}.session{z-index:60;background:var(--bg);padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 20px);animation:fade .2s var(--ease);flex-direction:column;display:flex;position:fixed;inset:0}.session-top{justify-content:space-between;align-items:center;width:100%;max-width:560px;margin:0 auto;display:flex}.session-body{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;width:100%;max-width:560px;margin:0 auto;display:flex}.ring{aspect-ratio:1;width:min(68vw,260px);margin-bottom:20px;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring .ring-track{stroke:var(--surface-2)}.ring .ring-fill{stroke:var(--accent);transition:stroke-dashoffset 1s linear}.ring-label{letter-spacing:-.03em;font-variant-numeric:tabular-nums;place-items:center;font-size:44px;font-weight:600;display:grid;position:absolute;inset:0}.breath{background:var(--accent-soft);border-radius:50%;animation:16s ease-in-out infinite breathe;position:absolute;inset:22%}.breath.calm{animation:10s ease-in-out infinite calm}@keyframes breathe{0%,to{transform:scale(.7)}25%,50%{transform:scale(1.15)}75%{transform:scale(.7)}}@keyframes calm{0%,to{transform:scale(.7)}40%{transform:scale(1.15)}}.session-step{letter-spacing:-.02em;font-size:26px;font-weight:600}.session-bars{gap:3px;width:100%;max-width:560px;margin:0 auto 16px;display:flex}.session-bars span{background:var(--surface-2);border-radius:2px;flex:1;height:3px;overflow:hidden}.session-bars span>i{background:var(--accent);height:100%;display:block}.session-controls{justify-content:center;gap:10px;width:100%;max-width:560px;margin:0 auto;display:flex}.toast{left:50%;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 16px);z-index:40;background:var(--surface-2);border:1px solid var(--border-strong);box-shadow:var(--shadow);animation:toast-in .22s var(--ease);white-space:nowrap;border-radius:10px;align-items:center;gap:12px;padding:8px 8px 8px 14px;font-size:13px;display:flex;position:fixed;transform:translate(-50%)}@media (width>=900px){.toast{bottom:24px}}.sync-pill{color:var(--text-3);align-items:center;gap:6px;font-size:12px;display:inline-flex}.sync-pill.ok{color:var(--text-2)}.sync-pill.ok .dot{background:var(--done)}.sync-pill.err{color:var(--missed)}.rule-list{color:var(--text-2);margin:0;padding:0 0 0 18px;font-size:13px}.rule-list li+li{margin-top:4px}@media (prefers-reduced-motion:reduce){.sheet,.toast{animation-name:fade}.pulse,.breath,.done-check,.badge-pop,.streak-flame.is-lit,.media-art.is-entering .media-logged,.media-art.is-entering .media-logged path,.links-next .status-dot:after{animation:none}.flash{display:none}.btn:active,.week-day:active,.cal-cell:active,.media-art:active{transform:none}}
