:root{--bg: var(--tg-theme-bg-color, #ffffff);--sec-bg: var(--tg-theme-secondary-bg-color, #f2f2f7);--text: var(--tg-theme-text-color, #000000);--hint: var(--tg-theme-hint-color, #8e8e93);--link: var(--tg-theme-link-color, #007aff);--button: var(--tg-theme-button-color, #007aff);--button-text: var(--tg-theme-button-text-color, #ffffff);--danger: var(--tg-theme-destructive-text-color, #ff3b30);--radius: 12px;--pad: 16px}*{box-sizing:border-box}html,body{margin:0;background:var(--sec-bg);color:var(--text);font:16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;touch-action:manipulation;-webkit-tap-highlight-color:transparent}#root{padding-bottom:96px}button{font:inherit;color:inherit;cursor:pointer}.header{padding:24px var(--pad) 16px;display:flex;align-items:baseline;gap:12px}.header h1{margin:0;font-size:22px;font-weight:700;flex:1}.xp{font-size:15px;font-weight:600;color:var(--link)}.streak{font-size:15px;color:var(--hint)}.group-label{padding:20px var(--pad) 6px;font-size:13px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.04em}.list{background:var(--bg);border-radius:var(--radius);margin:0 var(--pad);overflow:hidden}.row{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:none;text-align:left}.row+.row{border-top:1px solid var(--sec-bg)}.row:active{background:var(--sec-bg)}.row .icon{font-size:22px;width:28px;text-align:center}.row .inline-icon{margin-right:6px}.row .check{width:28px;height:28px;flex:0 0 28px;margin:8px 0;padding:0;border:2px solid var(--hint);border-radius:50%;background:none;color:var(--button-text);font-size:15px;line-height:1;position:relative}.row .check:after{content:"";position:absolute;inset:-8px}.row .check.on{background:var(--button);border-color:var(--button)}.row.done .title{text-decoration:line-through;opacity:.5}.row.done .sub,.row.done .time{opacity:.5}.row .body,.row .time{background:none;border:none;padding:0}.row .body{text-align:left}.row .body{flex:1;min-width:0}.row .title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .sub{font-size:13px;color:var(--hint);margin-top:2px}.row .time{font-variant-numeric:tabular-nums;font-weight:600}.row.off .icon,.row.off .title,.row.off .time{opacity:.4}.empty{margin:0 var(--pad);padding:40px 24px;background:var(--bg);border-radius:var(--radius);text-align:center;color:var(--hint)}.empty .big{font-size:40px;margin-bottom:12px}.fab{position:fixed;left:var(--pad);right:var(--pad);bottom:calc(20px + env(safe-area-inset-bottom));padding:15px;border:none;border-radius:var(--radius);background:var(--button);color:var(--button-text);font-weight:600}.fab:active{opacity:.8}.fab[disabled]{opacity:.5}.sheet{position:fixed;inset:0;background:var(--sec-bg);overflow-y:auto;padding-bottom:120px}.field{padding:20px var(--pad) 0}.field>label{display:block;font-size:13px;font-weight:600;color:var(--hint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.field input[type=text],.field input[type=time]{width:100%;padding:13px 14px;border:none;border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit}.field input[type=time]{font-variant-numeric:tabular-nums;font-size:20px;font-weight:600}.icons{display:flex;flex-wrap:wrap;gap:8px}.icons button{width:44px;height:44px;font-size:22px;border:2px solid transparent;border-radius:var(--radius);background:var(--bg)}.icons button[aria-pressed=true]{border-color:var(--button)}.days{display:flex;gap:6px}.days button{flex:1;padding:11px 0;border:none;border-radius:var(--radius);background:var(--bg);color:var(--hint);font-size:15px;font-weight:600}.days button[aria-pressed=true]{background:var(--button);color:var(--button-text)}.days-preset{display:flex;gap:8px;margin-top:8px}.days-preset button{padding:6px 12px;border:none;border-radius:999px;background:var(--bg);color:var(--link);font-size:13px}.destructive{display:block;width:calc(100% - var(--pad) * 2);margin:24px var(--pad) 0;padding:14px;border:none;border-radius:var(--radius);background:var(--bg);color:var(--danger);font-weight:500}.note{padding:12px var(--pad) 0;font-size:13px;color:var(--hint)}.flash{margin:12px var(--pad) 0;padding:10px 14px;border-radius:var(--radius);background:var(--bg);color:var(--link);font-size:14px;font-weight:600;text-align:center}.plain{background:none;border:none;color:var(--link)}.toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 14px;border:none;border-radius:var(--radius);background:var(--bg)}.toggle .switch{width:44px;height:26px;border-radius:999px;background:var(--hint);position:relative;transition:background .15s}.toggle .switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}.toggle[aria-pressed=true] .switch{background:var(--button)}.toggle[aria-pressed=true] .switch:after{transform:translate(18px)}.error{margin:16px var(--pad) 0;padding:12px 14px;border-radius:var(--radius);background:var(--bg);color:var(--danger);font-size:14px}.center{min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;text-align:center;color:var(--hint)}.landing{min-height:100vh;box-sizing:border-box;padding:56px 24px calc(40px + env(safe-area-inset-bottom));background:linear-gradient(155deg,#1b2c46,#0a111c);color:#f2f6fa;text-align:center;display:flex;flex-direction:column;align-items:center}.landing .mark{margin-bottom:20px}.landing h1{margin:0;font-size:38px;font-weight:700;letter-spacing:-.8px}.landing .lead{margin:8px 0 0;color:#4bd5ff;font-size:16px;font-weight:600}.landing .body{margin:24px 0 0;max-width:30em;color:#9fb2c6;font-size:15px;line-height:1.65}.landing .points{margin:28px 0 0;padding:0;list-style:none;text-align:left;max-width:26em;width:100%}.landing .points li{position:relative;padding:9px 0 9px 30px;color:#c8d6e4;font-size:15px}.landing .points li:before{content:"";position:absolute;left:4px;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:36px;padding:15px 40px;border-radius:999px;background:#2aabee;color:#fff;font-size:16px;font-weight:600;text-decoration:none}.landing .cta:active{opacity:.85}.landing .cta-secondary{margin-top:14px;padding:8px;color:#7c93ad;font-size:14px;text-decoration:none}.landing .note{margin:32px 0 0;color:#5c7086;font-size:13px}
