:root{--bg: #0d0c0a;--surface: #17160f;--border: #2b2920;--control: #6e6a5e;--text: #f0ede6;--text-dim: #a8a398;--accent: #ffcc00;--on-accent: #1f1800;--accent-soft: #2a2410;--accent-text: #ffe28a;--danger: #ff7b72;--ok: #8fd694;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{min-height:100vh;overflow-x:hidden}h1,h2,p,ul,ol{margin:0}ul{list-style:none;padding:0}button,input,select{font:inherit;color:inherit}a{color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.splash{min-height:100vh;display:grid;place-items:center;color:var(--text-dim);font-size:18px}.splash-error{gap:16px;align-content:center;padding:16px;text-align:center}.screen{max-width:520px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 96px)}.top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;margin-bottom:12px}.top-title{font-size:28px;font-weight:700;letter-spacing:-.01em}.top-title-sub{font-size:20px;flex:1;text-align:center}.top-sub{margin-top:2px;color:var(--text-dim);font-size:15px}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:0;border-radius:12px;background:none;color:var(--text-dim);cursor:pointer;text-decoration:none}.icon-btn:active{background:var(--surface)}.icon-btn:disabled{color:var(--border);cursor:default}.icon-btn-spacer{width:44px;flex:0 0 44px}.icon-btn-sm{width:40px;flex-basis:40px;height:44px}.loading,.empty{color:var(--text-dim);padding:32px 0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.block{margin-top:20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);overflow:hidden}.block-title{padding:14px 16px 6px;font-size:14px;font-weight:600;color:var(--text-dim)}.block-head{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:0 16px;border:0;background:none;text-align:left;cursor:pointer}.block-name{flex:1;min-width:0;font-size:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-time{color:var(--text-dim);font-size:15px;font-variant-numeric:tabular-nums}.block-count{min-width:40px;text-align:right;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-dim)}.block-count.is-complete{color:var(--accent)}.bar{height:3px;margin:0 16px 4px;border-radius:2px;background:var(--border);overflow:hidden}.bar-fill{height:100%;background:var(--accent);transition:width .2s ease}.rows>li+li{border-top:1px solid var(--border)}.check-row,.still-row{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:8px 16px;border:0;background:none;text-align:left}.check-row{cursor:pointer}.check-row:active{background:var(--accent-soft)}.check{flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:2px solid var(--control);display:grid;place-items:center;color:var(--on-accent);transition:background .12s ease,border-color .12s ease}.check-row.is-done .check{background:var(--accent);border-color:var(--accent)}.check-row.is-pending .check{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:16px;line-height:1.3;overflow-wrap:anywhere}.check-row.is-done .row-text{color:var(--text-dim)}.row-meta{font-size:14px;color:var(--text-dim)}.row-empty{padding:14px 16px;color:var(--text-dim)}.missed{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0 16px 12px 58px;padding:8px 12px;border-radius:10px;background:var(--accent-soft);color:var(--accent-text);font-size:14px;line-height:1.35}.missed-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 8px}.missed-text{flex:1 1 160px}.missed-fix{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--accent);background:none;color:var(--accent);font-weight:600;cursor:pointer}.still-row+.missed{margin-left:16px}.fixed-note{margin:0 16px 12px 58px;font-size:14px;color:var(--text-dim)}.list-row{display:flex;align-items:center;gap:4px;min-height:56px;padding-right:8px}.list-link{flex:1;min-width:0;display:flex;align-items:center;gap:8px;min-height:56px;padding:8px 4px 8px 16px;text-decoration:none;color:var(--text)}.list-link svg{color:var(--text-dim);flex:0 0 auto}.move-btns{display:flex;flex:0 0 auto}.inline-input{flex:1;min-width:0;height:44px;margin-left:12px;padding:0 10px;border:1px solid transparent;border-radius:10px;background:none;font-size:16px}.inline-input:focus{outline:none;border-color:var(--control);background:var(--bg)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--control);border-radius:10px;background:none;color:var(--text);font-size:16px;text-decoration:none;cursor:pointer}.btn:disabled{color:var(--text-dim);cursor:default}.btn-primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary:disabled{color:var(--on-accent);background:var(--accent-text)}.btn-danger{border-color:var(--danger);color:var(--danger)}.btn-add{margin:8px 16px 16px}.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px 16px}.block>.btn-danger{margin:16px}.note{padding:4px 16px 8px;color:var(--text-dim);font-size:14px;line-height:1.4}.btn-row .note{padding:0;flex:1;font-size:16px}.field .note{padding:0}.note-box{margin:4px 16px 12px;padding:12px 14px;border-radius:10px;background:var(--accent-soft);color:var(--text);font-size:15px;line-height:1.45}.note-box p+p{margin-top:4px}.steps-list{margin-top:8px;padding-left:20px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:var(--text-dim);overflow-wrap:anywhere}.form{padding:16px;display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--text-dim)}.field input,.field select,.add-row input{height:44px;padding:0 12px;border-radius:10px;border:1px solid var(--control);background:var(--bg);color:var(--text);font-size:16px}.field input:focus,.field select:focus,.add-row input:focus{outline:2px solid var(--accent);outline-offset:1px}.time-row{display:flex;gap:10px}.time-row input{flex:0 1 140px}.day-chips{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.day-chip{height:44px;border-radius:10px;border:1px solid var(--control);background:none;color:var(--text);font-weight:600;cursor:pointer}.day-chip.is-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.add-row{display:flex;gap:10px;padding:12px 16px 16px;border-top:1px solid var(--border)}.add-row input{flex:1;min-width:0}.toast-slot{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom) + 16px);display:flex;justify-content:center;padding:0 16px;pointer-events:none;z-index:10}.toast{max-width:480px;padding:12px 16px;border-radius:12px;background:#24221a;border:1px solid var(--control);font-size:15px;line-height:1.35;box-shadow:0 6px 24px #00000080}.toast-error{border-color:var(--danger)}.toast-ok{border-color:var(--ok)}.auth-screen{max-width:360px;margin:0 auto;padding:72px 16px 32px;display:flex;flex-direction:column}.auth-brand{font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--accent)}.auth-sub{color:var(--text-dim);font-size:14px;margin:4px 0 32px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-hint{font-size:14px;color:var(--text-dim);line-height:1.4}.auth-form .btn-primary{height:46px;border-radius:10px;cursor:pointer}.form-error{color:var(--danger);font-size:15px}.btn-link{margin-top:20px;min-height:44px;background:none;border:0;color:var(--text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.crash-screen{max-width:420px;margin:0 auto;padding:64px 16px;display:flex;flex-direction:column;gap:12px}.crash-title{font-size:22px}.crash-text,.crash-detail{color:var(--text-dim);font-size:15px;line-height:1.4}.crash-actions{display:flex;gap:12px;margin-top:8px}
