@keyframes petBob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes petZzz{0%{opacity:0;transform:translateY(4px)}40%{opacity:.9}to{opacity:0;transform:translate(6px,-10px)}}.pet{display:block;overflow:visible}.pet__bob{animation:petBob 2s var(--ease-out) infinite;transform-origin:100px 150px}.pet--elated .pet__bob{animation-duration:1s}.pet--happy .pet__bob{animation-duration:1.3s}.pet--content .pet__bob{animation-duration:2s}.pet--listless .pet__bob{animation-duration:3.4s}.pet--sleepy .pet__bob{animation-duration:4.2s}.pet--dozing .pet__bob{animation:none}.pet__zzz text{animation:petZzz 2.6s ease-out infinite}.pet__zzz text:last-child{animation-delay:1.3s}.pet--pokable{cursor:pointer}.pet--pokable:active .pet__bob{transform:scale(.94) translateY(2px)}:root{--surface-0: var(--tg-theme-secondary-bg-color, #F2F3F7);--surface-1: var(--tg-theme-bg-color, #FFFFFF);--surface-2: color-mix(in oklab, var(--surface-1) 94%, var(--text-1));--text-1: var(--tg-theme-text-color, #0B0B0F);--text-2: var(--tg-theme-hint-color, #7A7A85);--text-3: color-mix(in oklab, var(--text-2) 55%, transparent);--accent: var(--tg-theme-button-color, #2AABEE);--accent-on: var(--tg-theme-button-text-color, #FFFFFF);--accent-soft: color-mix(in oklab, var(--accent) 12%, var(--surface-1));--danger: var(--tg-theme-destructive-text-color, #E5484D);--success: #3FA97C;--warn: #E4913C;--fs-display: 30px;--lh-display: 1.15;--fs-title: 20px;--lh-title: 1.3;--fs-body: 16px;--lh-body: 1.45;--fs-label: 13px;--lh-label: 1.35;--fs-micro: 11px;--lh-micro: 1.3;--fw-reg: 400;--fw-med: 550;--fw-bold: 700;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 40px;--sp-8: 56px;--gutter: var(--sp-4);--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-full: 999px;--elev-1: 0 1px 2px rgb(0 0 0 / .05), 0 4px 14px rgb(0 0 0 / .05);--elev-2: 0 2px 6px rgb(0 0 0 / .07), 0 14px 34px rgb(0 0 0 / .09);--dur-fast: .12s;--dur: .2s;--dur-slow: .42s;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--tabbar-h: 58px;--safe-b: env(safe-area-inset-bottom, 0px)}:root[data-theme=dark]{--surface-2: color-mix(in oklab, var(--surface-1) 88%, white);--elev-1: none;--elev-2: 0 8px 28px rgb(0 0 0 / .5)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:600px){#root{max-width:560px;margin-inline:auto}}*{box-sizing:border-box}html,body{margin:0;background:var(--surface-0);color:var(--text-1);font:var(--fw-reg) var(--fs-body) / var(--lh-body) -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,input{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}#root{padding-bottom:calc(var(--tabbar-h) + var(--safe-b))}.screen{padding:var(--sp-5) 0 var(--sp-6)}.screen__head{display:flex;align-items:baseline;gap:var(--sp-3);padding:0 var(--gutter) var(--sp-4)}.screen__head h1{flex:1;margin:0;font-size:var(--fs-title);line-height:var(--lh-title);font-weight:var(--fw-bold)}.section-label{display:flex;justify-content:space-between;padding:var(--sp-5) var(--gutter) var(--sp-2);font-size:var(--fs-label);font-weight:var(--fw-med);color:var(--text-2)}.stack{display:flex;flex-direction:column;gap:var(--sp-2);padding:0 var(--gutter)}.center{min-height:60vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-6);text-align:center;color:var(--text-2)}.btn{padding:var(--sp-3) var(--sp-5);border-radius:var(--r-full);font-weight:var(--fw-med);transition:opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.btn:active{transform:scale(.97)}.btn[disabled]{opacity:.45}.btn--full{width:100%;border-radius:var(--r-md);padding:var(--sp-4)}.btn--primary{background:var(--accent);color:var(--accent-on)}.btn--soft{background:var(--accent-soft);color:var(--accent)}.btn--quiet{color:var(--accent);padding:var(--sp-2)}.btn--danger{background:var(--surface-1);color:var(--danger)}.card{background:var(--surface-1);border-radius:var(--r-md);box-shadow:var(--elev-1)}.row{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);transition:opacity var(--dur) var(--ease-out)}.row--off{opacity:.5}.row__check{flex:0 0 30px;width:30px;height:30px;border:2px solid var(--text-3);border-radius:50%;color:var(--accent-on);font-size:16px;line-height:1;position:relative;transition:background var(--dur) var(--ease-spring),border-color var(--dur) var(--ease-out),transform var(--dur) var(--ease-spring)}.row__check:after{content:"";position:absolute;inset:-9px}.row__check.is-on{background:var(--accent);border-color:var(--accent);transform:scale(1.08)}.row__icon{flex:0 0 30px;font-size:22px;text-align:center}.row__body{flex:1;min-width:0;text-align:left}.row__title{font-weight:var(--fw-med);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row--done .row__title{text-decoration:line-through;color:var(--text-2)}.row__sub{margin-top:2px;font-size:var(--fs-label);color:var(--text-2)}.row__time{font-variant-numeric:tabular-nums;font-weight:var(--fw-med);color:var(--text-2)}.tabbar{position:fixed;left:0;right:0;bottom:0;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);display:flex;background:color-mix(in oklab,var(--surface-1) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid color-mix(in oklab,var(--text-1) 8%,transparent);z-index:20}@media(min-width:600px){.tabbar{max-width:560px;margin-inline:auto}}.tabbar__tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-2)}.tabbar__tab.is-active{color:var(--accent)}.tabbar__icon{font-size:20px;line-height:1}.tabbar__label{font-size:var(--fs-micro);font-weight:var(--fw-med)}.chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);padding:0 var(--gutter)}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-full);background:var(--surface-1);box-shadow:var(--elev-1);font-size:var(--fs-label);font-weight:var(--fw-med)}.chip__value{font-variant-numeric:tabular-nums}.hero{display:flex;flex-direction:column;align-items:center;padding:0 var(--gutter)}.hero__name{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--fw-bold)}.hero__stage{color:var(--text-2);font-size:var(--fs-label);margin-top:2px}.hero__art{margin:var(--sp-2) 0}.meter{width:100%;max-width:260px;margin-top:var(--sp-2)}.meter__track{height:8px;border-radius:var(--r-full);background:color-mix(in oklab,var(--text-1) 8%,transparent);overflow:hidden}.meter__fill{height:100%;border-radius:var(--r-full);background:var(--accent);transition:width var(--dur-slow) var(--ease-out)}.meter__label{display:flex;justify-content:space-between;margin-top:var(--sp-1);font-size:var(--fs-micro);color:var(--text-2);font-variant-numeric:tabular-nums}.note{margin:var(--sp-3) var(--gutter) 0;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-1);font-size:var(--fs-label);color:var(--text-2)}.flash{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tabbar-h) + var(--safe-b) + var(--sp-4));padding:var(--sp-2) var(--sp-4);border-radius:var(--r-full);background:var(--accent);color:var(--accent-on);font-size:var(--fs-label);font-weight:var(--fw-med);box-shadow:var(--elev-2);z-index:30;animation:flashIn var(--dur) var(--ease-spring)}@keyframes flashIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);margin:0 var(--gutter);padding:var(--sp-6) var(--sp-5);text-align:center;color:var(--text-2)}.error-box{margin:var(--sp-4) var(--gutter) 0;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-1);color:var(--danger);font-size:var(--fs-label)}.sheet{position:fixed;inset:0;background:var(--surface-0);overflow-y:auto;padding:var(--sp-5) 0 var(--sp-8)}.field{padding:var(--sp-5) var(--gutter) 0}.field>label{display:block;margin-bottom:var(--sp-2);font-size:var(--fs-label);font-weight:var(--fw-med);color:var(--text-2)}.field input[type=text],.field input[type=time]{width:100%;padding:var(--sp-3) var(--sp-4);border:none;border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--elev-1)}.field input[type=time]{font-variant-numeric:tabular-nums;font-size:var(--fs-title);font-weight:var(--fw-med)}.icons{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.icons button{width:46px;height:46px;font-size:22px;border:2px solid transparent;border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--elev-1);transition:border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-spring)}.icons button[aria-pressed=true]{border-color:var(--accent);transform:scale(1.06)}.days{display:flex;gap:var(--sp-1)}.days button{flex:1;padding:var(--sp-3) 0;border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--elev-1);color:var(--text-2);font-weight:var(--fw-med)}.days button[aria-pressed=true]{background:var(--accent);color:var(--accent-on)}.days-preset{display:flex;gap:var(--sp-2);margin-top:var(--sp-2)}.days-preset button{padding:var(--sp-1) var(--sp-3);border-radius:var(--r-full);background:var(--surface-1);color:var(--accent);font-size:var(--fs-label)}.toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface-1);box-shadow:var(--elev-1)}.toggle .switch{width:46px;height:27px;border-radius:var(--r-full);background:var(--text-3);position:relative;transition:background var(--dur) var(--ease-out)}.toggle .switch:after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform var(--dur) var(--ease-spring)}.toggle[aria-pressed=true] .switch{background:var(--accent)}.toggle[aria-pressed=true] .switch:after{transform:translate(19px)}.landing{min-height:100vh;padding:var(--sp-8) var(--sp-5) calc(var(--sp-7) + var(--safe-b));background:linear-gradient(155deg,#1b2c46,#0a111c);color:#f2f6fa;text-align:center;display:flex;flex-direction:column;align-items:center}.landing .mark{margin-bottom:var(--sp-5)}.landing h1{margin:0;font-size:38px;font-weight:var(--fw-bold);letter-spacing:-.8px}.landing .lead{margin:var(--sp-2) 0 0;color:#4bd5ff;font-weight:var(--fw-med)}.landing .body{margin:var(--sp-5) 0 0;max-width:30em;color:#9fb2c6;font-size:15px;line-height:1.65}.landing .points{margin:var(--sp-6) 0 0;padding:0;list-style:none;text-align:left;max-width:26em;width:100%}.landing .points li{position:relative;padding:var(--sp-2) 0 var(--sp-2) var(--sp-7);color:#c8d6e4;font-size:15px}.landing .points li:before{content:"";position:absolute;left:var(--sp-1);top:15px;width:12px;height:6px;border-left:2.5px solid #2AABEE;border-bottom:2.5px solid #2AABEE;transform:rotate(-45deg)}.landing .cta{margin-top:var(--sp-7);padding:var(--sp-4) var(--sp-7);border-radius:var(--r-full);background:#2aabee;color:#fff;font-weight:var(--fw-med);text-decoration:none}.landing .cta-secondary{margin-top:var(--sp-3);padding:var(--sp-2);color:#7c93ad;font-size:14px;text-decoration:none}.landing .note{margin:var(--sp-6) 0 0;padding:0;background:none;color:#5c7086;font-size:var(--fs-label)}
