:root{--bg: #0b0b0c;--surface: #161415;--border: #2b2729;--control: #77696e;--text: #f1edee;--text-dim: #aba1a5;--accent: #fba9c0;--on-accent: #2b0d17;--accent-soft: #2a1a20;--danger: #ff6b6b;--danger-soft: #24100f;--danger-text: #ff8f8a;--warn: #f2c46d;--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{font:inherit;color:inherit}a{color:var(--accent)}.sr-only{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:20px}.splash-error{gap:16px;align-content:center;padding:16px;text-align:center;font-size:16px}.screen{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 8px) 16px calc(env(safe-area-inset-bottom) + 64px)}.top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px}.brand{font-size:22px;font-weight:700;color:var(--accent)}.top-title{flex:1;text-align:center;font-size:20px;font-weight:700}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;flex:0 0 44px;margin-right:-10px;border:0;border-radius:12px;background:none;color:var(--text-dim);cursor:pointer;text-decoration:none}.top .icon-btn:first-child{margin:0 0 0 -10px}.icon-btn:active{background:var(--surface)}.icon-btn-spacer{width:44px;flex:0 0 44px}.empty{color:var(--text-dim);padding:24px 0;display:flex;flex-direction:column;align-items:flex-start;gap:16px}.section-title{padding:20px 0 6px;font-size:14px;font-weight:600;color:var(--text-dim)}.form{margin-top:8px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;gap:12px}.form.is-editing{border-color:var(--accent)}.form-mode{color:var(--accent);font-size:14px;font-weight:600}.text-input{width:100%;height:52px;padding:0 14px;border:1px solid var(--control);border-radius:12px;background:var(--bg);font-size:18px}.text-input::placeholder{color:var(--text-dim)}.text-input:focus,.when-field input:focus{outline:2px solid var(--accent);outline-offset:1px}.counter{margin-top:-6px;color:var(--text-dim);font-size:13px;text-align:right}.counter.is-over{color:var(--danger-text)}.when-row{display:flex;gap:10px}.when-field{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--text-dim)}.when-field input{width:100%;min-width:0;height:48px;padding:0 10px;border:1px solid var(--control);border-radius:12px;background:var(--bg);color:var(--text);font-size:16px;font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none;display:flex;align-items:center}.repeat{display:flex;gap:6px}.repeat-opt{flex:1 1 0;min-width:0;min-height:44px;padding:0 4px;border:1px solid var(--control);border-radius:10px;background:none;color:var(--text);font-size:14px;white-space:nowrap;cursor:pointer}.repeat-opt.is-on{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.status{font-size:15px;line-height:1.4}.status-ok{color:var(--text)}.status-warn{color:var(--warn)}.status-error{color:var(--danger-text)}.form-actions{display:flex;flex-wrap:wrap;gap:10px}.form-actions .btn-primary{flex:1 1 auto}.warn-box{padding:12px 14px;border:1px solid var(--danger);border-radius:12px;background:var(--danger-soft);font-size:15px;line-height:1.45;display:flex;flex-direction:column;gap:6px}.warn-title{color:var(--danger-text);font-weight:700}.warn-btn{align-self:flex-start;margin-top:4px}.missed{margin-top:8px;padding:0 16px 4px;border:1px solid var(--danger);border-radius:16px;background:var(--danger-soft)}.missed-title{color:var(--danger-text);padding-top:14px}.missed-row{display:flex;align-items:center;gap:12px;padding:12px 0}.missed-row+.missed-row{border-top:1px solid #3a1f1e}.missed-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.day li+li{border-top:1px solid var(--border)}.alert-row{width:100%;display:flex;align-items:flex-start;gap:14px;min-height:56px;padding:14px 4px;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer}.alert-row:active{background:var(--surface)}.alert-row.is-editing{background:var(--accent-soft)}.row-time{flex:0 0 56px;color:var(--accent);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.row-text{font-size:17px;line-height:1.35;overflow-wrap:anywhere}.row-sub{color:var(--text-dim);font-size:14px;line-height:1.35}.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)}.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;white-space:nowrap}.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{background:none;border-color:var(--control);color:var(--text-dim)}.btn-danger{border-color:var(--danger);color:var(--danger-text)}.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px 16px}.note{padding:4px 16px 8px;color:var(--text-dim);font-size:15px;line-height:1.4}.btn-row .note{padding:0;flex:1;font-size:16px}.note-box{margin:4px 16px 12px;padding:12px 14px;border-radius:10px;background:var(--accent-soft);color:var(--text);font-size:16px;line-height:1.45}.note-box p+p{margin-top:4px}.steps-list{margin:8px 0 0;padding-left:20px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;color:var(--text-dim);overflow-wrap:anywhere}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--text-dim)}.field 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{outline:2px solid var(--accent);outline-offset:1px}.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:#1f1c1d;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:34px;font-weight:700;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-form .btn-primary{height:46px;border:0;border-radius:10px;cursor:pointer}.form-error{color:var(--danger-text);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}
