:root{color-scheme:light dark;--ink: #16171c;--muted: #6b6e7a;--line: #e2e3e9;--bg: #fbfbfd;--panel: #fff;--accent: #2c46c9;--danger: #b4482f}@media(prefers-color-scheme:dark){:root{--ink: #e9eaf0;--muted: #9a9daa;--line: #262833;--bg: #0d0e12;--panel: #15161c;--accent: #8aa2ff;--danger: #e08b6a}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink)}body{font:16px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.wrap{max-width:34rem;margin:0 auto;padding:24px 18px 64px}h1{font-size:1.6rem;letter-spacing:-.02em;margin:0 0 6px}header{display:flex;align-items:center;justify-content:space-between;gap:12px}.lede{color:var(--muted);margin:0 0 28px}.note{color:var(--muted);font-size:.9rem}.note.why{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.note.installed{margin-top:28px;font-size:.8rem}.empty{color:var(--muted)}.empty a{color:var(--accent)}.error{color:var(--danger);font-size:.9rem}.passcode{display:flex;flex-direction:column;gap:10px}.passcode label{font-size:.85rem;color:var(--muted);font-weight:600}.passcode input{font-size:17px;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-family:inherit}.passcode button,.google{font-size:1rem;font-weight:600;padding:13px 16px;border-radius:12px;border:none;background:var(--ink);color:var(--bg);cursor:pointer;font-family:inherit}.passcode button:disabled{opacity:.55;cursor:default}.google{background:var(--panel);color:var(--ink);border:1px solid var(--line);width:100%}.ghost{background:none;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:.8rem;cursor:pointer}.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.8rem;margin:22px 0 14px}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.list{list-style:none;padding:0;margin:18px 0 0}.list li{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:8px}:root{--accent: #2c46c9;--done: #1f9d55;--clay: #8a4b2a;--line2: #eef0f5}body{-webkit-tap-highlight-color:transparent}.wrap{max-width:34rem;margin:0 auto;padding:18px 16px calc(96px + env(safe-area-inset-bottom));min-height:100dvh}.top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}.top .sub{color:var(--muted);font-size:.9rem}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--panel);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);text-decoration:none;font-size:.68rem;font-weight:600}.tabbar a.on{color:var(--accent)}.tabbar .ico{font-size:1.1rem;line-height:1}.tabbar .lab{display:flex;align-items:center;gap:4px}.tabbar .count{background:var(--line2);color:var(--muted);border-radius:9px;padding:0 5px;font-size:.6rem;line-height:15px;min-width:15px;text-align:center}.tabbar a.on .count{background:var(--accent-soft);color:var(--accent)}.banner{position:fixed;left:0;right:0;top:0;z-index:40;margin:0;padding:10px 14px;background:#fff4e5;color:#7a4a12;border-bottom:1px solid #f0d9b5;font-size:.78rem}.fab{position:fixed;right:16px;bottom:calc(68px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:1.8rem;line-height:1;cursor:pointer;z-index:31;box-shadow:0 6px 18px #2c46c952}.scrim{position:fixed;inset:0;background:#0a0c146b;z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--panel);border-radius:18px 18px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));max-height:82dvh;overflow-y:auto}.sheet .grab{width:38px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}.sheet h3{margin:0 0 10px;font-size:1.05rem}.sheet textarea{width:100%;min-height:84px;font:16px/1.45 inherit;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg);color:var(--ink)}.sheet .save{width:100%;min-height:48px;margin-top:10px;border:none;border-radius:12px;background:var(--ink);color:var(--bg);font-size:1rem;font-weight:700;cursor:pointer}.sheet .hint{font-size:.78rem;color:var(--muted);margin:10px 0 0}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 13px;margin-bottom:8px;position:relative}.card.pin{border-color:#e8cfc4;background:#fdf7f4}.card .text{font-size:.95rem;padding-right:40px}.card.done .text{color:#9aa1ae;text-decoration:line-through}.check{position:absolute;top:8px;right:8px;width:44px;height:44px;padding:0;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.check svg{width:26px;height:26px;color:#d2d7e0}.check.filled svg{color:var(--done)}.check.filled{background:var(--done);border-radius:50%}.check.filled svg{color:#fff}.card .meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.chip{font-size:.72rem;font-weight:600;padding:4px 9px;border-radius:20px;background:#f1f3f7;color:var(--muted);border:none;cursor:pointer;min-height:30px}.chip.day{background:#e8eefc;color:var(--accent)}.del{margin-left:auto;font-size:.72rem;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;padding:8px 4px;min-height:44px}.card .ctx{margin-top:8px;border-left:2px solid var(--line);padding-left:9px}.card .ctx .cl{font-size:.85rem;color:var(--muted);padding:2px 0}.pinbar{margin-top:9px}.pinbar .doit{min-height:44px;padding:0 16px;border-radius:10px;border:none;background:var(--clay);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer}.pinhead{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin:6px 2px}.tlhead{font-size:.8rem;font-weight:700;color:var(--muted);margin:10px 2px 6px}.tl{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.tlrow{display:flex;gap:9px;padding:0 10px 0 0;border-top:1px solid var(--line2);min-height:44px}.tlrow:first-child{border-top:none}.tllab{flex:none;width:48px;text-align:right;padding:9px 0 0;font-size:.7rem;color:#a3aab8;font-weight:700}.tlrow.on .tllab{color:var(--ink)}.tlslot{flex:1;min-width:0;padding:5px 0;display:flex;flex-direction:column;gap:5px}.tlslot .card{margin-bottom:0}.band{display:flex;align-items:center;gap:7px;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin:14px 2px 7px}.band .count{background:var(--line2);border-radius:20px;padding:2px 7px;letter-spacing:0}.note{font-size:.78rem;color:var(--muted);margin:2px 2px 8px}.empty{color:var(--muted);margin:18px 2px}.empty.first{color:var(--muted)}.empty b{color:var(--ink)}.linkish{margin-top:12px}.importlink{display:block;margin-top:16px;color:var(--accent);font-size:.85rem}.choices{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.choices button,.choices .timeinput{min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:.9rem;font-weight:600;cursor:pointer}.timeinput{flex:1;min-width:140px}.primary{display:inline-block;margin-top:14px;min-height:44px;padding:12px 18px;border-radius:12px;background:var(--ink);color:var(--bg);text-decoration:none;font-weight:700}.ghostbtn{display:block;margin-top:10px;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:none;color:var(--muted);font-weight:600;cursor:pointer}.offer h2{font-size:1.1rem;margin:0 0 8px}.offer .save{width:100%;min-height:48px;margin-top:12px;border:none;border-radius:12px;background:var(--ink);color:var(--bg);font-weight:700;cursor:pointer}.result{margin-top:10px;font-size:.85rem;color:var(--done)}.undobar{position:fixed;left:12px;right:12px;z-index:35;bottom:calc(70px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;background:#15171c;color:#fff;border-radius:22px;padding:8px 10px 8px 16px;font-size:.85rem;font-weight:600;box-shadow:0 8px 22px #0000004d}.undobar span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undobar .u{min-height:40px;padding:0 14px;border:none;border-radius:16px;background:#fff;color:#15171c;font-weight:700;cursor:pointer}.undobar .ux{min-height:40px;min-width:40px;border:none;background:none;color:#9aa1ae;font-size:1.1rem;cursor:pointer}
