:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1622;--raised:#14222f;--ink:#e9f2f7;--accent:#45d6c8;--cta:#ff9a3c;--cta-ink:#2a1704;--danger:#ff5d5d;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--text-sm:15px;--text-base:18px;--text-lg:21px;--text-xl:28px;--line:color-mix(in srgb, currentColor 14%, transparent);--line-strong:color-mix(in srgb, currentColor 28%, transparent);--radius-control:10px;--radius-card:12px;font:18px/1.5 system-ui,sans-serif}body{background:var(--bg);color:var(--ink);margin:0}html{scrollbar-width:none;overscroll-behavior-y:none}body{touch-action:manipulation}html::-webkit-scrollbar{display:none}main{flex-direction:column;gap:16px;max-width:470px;margin:0 auto;padding:24px 20px 128px;display:flex}h1{font-size:var(--text-xl);letter-spacing:-.01em;margin:0;font-weight:800}form{flex-direction:column;align-items:flex-start;gap:8px;display:flex}input,select{font:inherit;background:var(--raised);color:inherit;border:1px solid var(--line-strong);border-radius:var(--radius-control);padding:8px 10px;font-size:max(1em,16px)}input{box-sizing:border-box;width:100%}button{font:inherit;cursor:pointer;color:inherit;background:var(--raised);border:1px solid var(--line-strong);border-radius:var(--radius-control);padding:8px 16px}.error{color:var(--danger)}.error-note{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.offline-note{border-radius:var(--radius-control);background:var(--raised);border:1px solid var(--line);font-size:var(--text-sm);opacity:.8;text-align:center;margin:0;padding:6px 12px}.skeleton-list{gap:var(--space-3);flex-direction:column;display:flex}.skeleton{border-radius:var(--radius-card);background:var(--raised);height:44px;animation:1.6s ease-in-out infinite skeleton-pulse}.skeleton-card{height:92px}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:.85}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.journeys{align-items:start;gap:28px;display:grid}.streak-badge{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--raised);width:100%;color:inherit;text-align:left;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.streak-badge-main{flex-direction:column;gap:4px;min-width:0;display:flex}.row-chevron{opacity:.5;flex:none}.streak-goals{font-size:var(--text-sm);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px;margin:0;display:flex}.goal-chip{border:1px solid var(--line-strong);white-space:nowrap;border-radius:999px;padding:2px 10px}.goal-chip.met{border-color:var(--accent);color:var(--accent)}.readiness{flex-direction:column;gap:6px;display:flex}.readiness-taps{border:1px solid var(--line-strong);border-radius:var(--radius-control);display:flex;overflow:hidden}.readiness-taps button{font-size:var(--text-sm);opacity:.8;background:0 0;border:none;border-radius:0;flex:1;padding:10px 0}.readiness-taps button+button{border-left:1px solid var(--line-strong)}.readiness-taps button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 16%, var(--raised));color:var(--accent);opacity:1;font-weight:600}.preview-list{flex-direction:column;gap:4px;margin:8px 0;padding:0;list-style:none;display:flex}.preview-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:4px;display:flex}.preview-value{font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.85}.level-up{border:2px solid var(--cta);background:color-mix(in srgb, var(--cta) 14%, var(--raised));border-radius:var(--radius-card);font-size:var(--text-sm);margin:0;padding:10px 14px}.streak-num{font-variant-numeric:tabular-nums;margin:0;font-size:24px;font-weight:700}.prestige{vertical-align:-.167em;box-sizing:border-box;border:.09em solid var(--accent);width:1.125em;height:1.125em;color:var(--accent);border-radius:50%;display:inline-block;overflow:hidden}.prestige-num{justify-content:center;align-items:center;width:100%;height:100%;font-size:.72em;font-weight:700;line-height:1;display:flex}.journeys h2{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin:0 0 10px}.journey-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.item{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--raised);flex-direction:column;gap:2px;padding:10px 14px;display:flex}button.item{text-align:left;width:100%;color:inherit;box-sizing:border-box}.item.next{border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--raised));padding:14px}.item-name{font-weight:600}.item.next .item-name{font-size:var(--text-lg)}.item-head{align-items:center;gap:12px;display:flex}.item-emoji{font-size:30px;line-height:1}.item.next .item-emoji{font-size:36px}.item-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.item-desc{font-size:var(--text-sm);opacity:.7}.item.upcoming{opacity:.55}.item-last{font-size:var(--text-sm);margin-top:6px}.start-screen{flex-direction:column;gap:14px;max-width:440px;display:flex}.start-screen h2{margin:0;font-size:24px}.start-screen .item-desc{margin:-10px 0 0}.back{opacity:.7;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;display:inline-flex}.presets{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.presets button{font-size:var(--text-sm);padding:6px 12px}.ways,.log-form{flex-direction:column;align-items:stretch;gap:10px;margin-top:6px;display:flex}label{font-size:var(--text-sm);flex-direction:column;gap:4px;display:flex}button.primary{background:var(--cta);color:var(--cta-ink);border:1px solid #0000;font-weight:700}button.confirm{background:var(--accent);color:var(--bg);border:1px solid #0000;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}.hint{font-size:var(--text-sm);opacity:.7;margin:0}:root{--exec-pad-bottom:var(--space-5)}@media (display-mode:standalone){:root{--exec-pad-bottom:40px}}body:has(.exec) main{padding-bottom:var(--exec-pad-bottom)}.exec{text-align:center;min-height:calc(100svh - var(--space-5) - var(--exec-pad-bottom));align-items:center}.exec-stage{justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;flex:1;width:100%;display:flex}.exec-controls{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.exec button{width:100%}.exec-progress{box-sizing:border-box;text-align:center;background:color-mix(in srgb, currentColor 6%, transparent);font-size:var(--text-base);font-variant-numeric:tabular-nums;border:none;border-radius:999px;flex:none;align-self:stretch;margin:0;padding:4px 14px;position:relative;overflow:hidden}.exec-progress-fill{background:color-mix(in srgb, var(--accent) 16%, transparent);transition:width .3s;position:absolute;top:0;bottom:0;left:0}.exec-progress-text{justify-content:space-between;align-items:baseline;gap:var(--space-3);white-space:nowrap;opacity:.8;display:flex;position:relative}.exec-progress-time{font-weight:600}@media (width<=360px){.exec-progress{font-size:var(--text-sm);padding-left:10px;padding-right:10px}}.exec-time{font-variant-numeric:tabular-nums;margin:0;font-size:56px;font-weight:700;line-height:1.1}.exec-bar{background:var(--line);border-radius:999px;width:100%;height:6px;overflow:hidden}.exec-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .2s linear,background-color .3s}.exec-bar-fill.ending{background:var(--cta)}.exec-side{font-size:var(--text-lg);margin:0;font-weight:600}.exec h2{font-size:var(--text-xl)}.exec-pause{opacity:.6}.exec .exec-tools{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.exec.paused .exec-time,.exec.paused .exec-bar{opacity:.4}.exec.paused .exec-progress-text{opacity:.5}.exec .exec-tools button{width:auto;font-size:var(--text-sm);padding:6px 12px}.exec-note{text-align:left;width:100%}.exec-note-open{font-size:var(--text-sm);opacity:.6;text-align:center;background:0 0;border:none;padding:6px 0}.exec .exec-footer{gap:var(--space-2);margin-top:var(--space-4);justify-content:center;display:flex}.exec .exec-footer button{width:auto;font-size:var(--text-sm);align-items:center;gap:6px;padding:6px 14px;display:inline-flex}.exec.overview{height:calc(100svh - var(--space-5) - var(--exec-pad-bottom))}.exec-overview{scrollbar-width:none;text-align:left;gap:var(--space-4);flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow-y:auto}.exec-overview::-webkit-scrollbar{display:none}.exec-overview-round .preview-list{margin:6px 0 0}.exec-overview-step{align-items:center}.exec-overview-step>span:nth-child(2){flex:1}.exec-overview-mark{width:16px;color:var(--accent);flex:none;display:inline-flex}.exec-overview-step.done{opacity:.45}.exec-overview-step.current{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.mute-toggle{justify-content:center;align-items:center;gap:8px;display:inline-flex}.item-last+.item-last{margin-top:0}.library,.history,.profile,.shop{flex-direction:column;gap:28px;display:flex}.library h2{font-size:var(--text-base);text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin:0 0 8px}.library h3,.profile h3,.shop h3,.ex-group h3{font-size:var(--text-sm);opacity:.8;margin:12px 0 6px}.lib-row{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--raised);width:100%;color:inherit;text-align:left;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;padding:8px 12px;display:flex}.rotation{margin:0;padding:0;list-style:none}.lib-tools,.ex-tools{gap:6px;display:flex}.rot-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.rot-head h3{font-size:var(--text-base);opacity:1;margin:0}.rotations{gap:var(--space-4);flex-direction:column;display:flex}.rotations h2{margin:0}.ex-row>input{flex:1;width:auto;min-width:0}.ex-row>input.type-emoji{text-align:center;flex:0 0 72px}.goal-input{flex:none;width:76px}.type-card{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);gap:var(--space-2);background:var(--raised);flex-direction:column;display:flex}.type-card .ex-row{flex-wrap:wrap}.type-card .ex-row>button{font-size:var(--text-sm);flex:none;padding:4px 10px}.lib-tools button,.ex-tools button{font-size:var(--text-sm);padding:4px 10px}.lib-tools button,.ex-tools button,.type-card .ex-row>button,.rot-head button,.hist-delete,.exec .exec-tools button{justify-content:center;align-items:center;gap:6px;display:inline-flex;position:relative}.lib-tools button:after,.ex-tools button:after,.type-card .ex-row>button:after,.rot-head button:after,.hist-delete:after,.exec .exec-tools button:after{content:"";position:absolute;inset:-8px -2px}.lib-add{gap:8px;display:flex}select{max-width:100%}.lib-add select{flex:1;min-width:0}.ex-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--raised);flex-direction:column;gap:8px;margin-bottom:8px;padding:10px;display:flex}.ex-row{align-items:center;gap:10px;display:flex}.ex-row select{flex:1;min-width:0}.ex-flag{flex-direction:row;align-items:center;gap:6px}input[type=checkbox]{width:auto}.auto-opts{border:1px solid var(--line);border-radius:var(--radius-card);padding:var(--space-3);margin:var(--space-4) 0}.auto-opts legend{padding:0 var(--space-2);font-size:var(--text-sm);opacity:.7}.setting-group+.setting-group{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line)}.auto-opts .hint{margin:var(--space-1) 0 var(--space-3) 26px}.auto-opts .hint:last-child{margin-bottom:0}.ex-tools{justify-content:flex-end}button.danger{color:var(--danger);border:1px solid var(--danger);background:0 0}.ok{color:var(--accent)}.hist-actions{flex-wrap:wrap;gap:8px;display:flex}.hist-list{margin:0;padding:0;list-style:none}.hist-row{border-bottom:1px solid var(--line);gap:14px;padding:10px 2px;display:flex}.hist-delete{font-size:var(--text-sm);opacity:.6;align-self:center;margin-left:auto;padding:4px 10px}.hist-day{font-size:var(--text-sm);opacity:.8;padding:var(--space-4) 0 var(--space-1)}.hist-main{flex-direction:column;gap:2px;display:flex}.hist-note{font-style:italic}.toast{z-index:10;box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-card);background:var(--raised);border:1px solid var(--line-strong);width:calc(100% - 40px);max-width:430px;font-size:var(--text-sm);padding:12px 16px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:96px;left:50%;transform:translate(-50%)}.toast-action{color:var(--accent);background:0 0;border:none;flex:none;padding:4px 0;font-weight:600}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.tabbar{box-sizing:border-box;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);width:100%;max-width:470px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}@media (display-mode:standalone){.tabbar{padding-bottom:8px}}.tabbar button{color:inherit;font-size:var(--text-sm);opacity:.65;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 0 14px;display:flex}.tabbar button.active{opacity:1;color:var(--accent);font-weight:600}body:has(.start-screen) .tabbar{display:none}.shop-item{background:var(--raised);border:1px solid var(--line);border-radius:var(--radius-card);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.shop-item h3{opacity:1;font-size:var(--text-base);margin:0}.shop-buy{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.shop-price{font-variant-numeric:tabular-nums;font-weight:700}.help{gap:var(--space-3);flex-direction:column;display:flex}.help h2{margin:0;font-size:24px}.help h3{margin:var(--space-3) 0 0;font-size:var(--text-lg)}.help p{margin:0}.help ul{gap:var(--space-2);flex-direction:column;margin:0;padding-left:20px;display:flex}.signout{border-top:1px solid var(--line);padding-top:var(--space-5)}.shop-chip{font-size:var(--text-sm);color:var(--accent);border:1px solid var(--accent);margin-left:var(--space-2);white-space:nowrap;border-radius:999px;padding:1px 8px;font-weight:400}.shop-status{text-align:right}
