:root{--bg: #f2f2f7;--card: #ffffff;--text: #1c1c1e;--muted: #8e8e93;--green: #34c759;--amber: #ff9500;--red: #ff3b30;--sep: #e5e5ea}@media(prefers-color-scheme:dark){:root{--bg: #000;--card: #1c1c1e;--text: #fff;--muted: #8e8e93;--sep: #38383a}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}main{max-width:480px;margin:0 auto;padding:env(safe-area-inset-top,12px) 16px 24px}h2{font-size:15px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin:24px 4px 8px}.card{background:var(--card);border-radius:16px;overflow:hidden}.card .row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;width:100%;padding:14px 16px;background:none;border:none;border-bottom:1px solid var(--sep);color:var(--text);font-size:17px;text-align:left}.card .row:last-of-type{border-bottom:none}.card .row.done .label{color:var(--muted)}.card .row .check{font-size:20px;color:var(--green)}.card .row .time{color:var(--muted);font-variant-numeric:tabular-nums}.extra{display:flex;justify-content:space-between;align-items:center;padding:14px 16px}.extra .add{background:none;border:none;color:#007aff;font-size:17px}.status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.tile{background:var(--card);border-radius:16px;padding:16px 8px;text-align:center}.tile .emoji{font-size:32px}.tile .ago{font-size:13px;color:var(--muted);margin:4px 0 12px;min-height:16px}.tile button{width:100%;padding:14px 0;border:none;border-radius:12px;font-size:17px;font-weight:600;color:#fff}.tile.neutral button{background:#007aff}.tile.green button{background:var(--green)}.tile.amber button{background:var(--amber)}.tile.red button{background:var(--red)}.offline{background:var(--amber);color:#fff;text-align:center;border-radius:10px;padding:6px;margin-bottom:12px;font-size:14px}.gate{max-width:320px;margin:25vh auto;text-align:center;padding:0 16px}.gate input{width:100%;padding:14px;font-size:17px;border-radius:12px;border:1px solid var(--sep);background:var(--card);color:var(--text);margin:12px 0}.gate button{width:100%;padding:14px;border:none;border-radius:12px;background:#007aff;color:#fff;font-size:17px}.gate .err{color:var(--red)}.status .tile .edit{background:none;border:none;color:var(--muted);font-size:12px;padding:6px 0 0}.row-wrap{display:flex;align-items:center}.row-wrap .row{flex:1}.row-wrap .edit{background:none;border:none;color:#007aff;font-size:14px;padding:0 12px}.edit-controls{display:flex;align-items:center;gap:6px}.status .tile .edit-controls{margin-top:6px;flex-wrap:wrap;justify-content:center}.row-wrap .edit-controls{margin-right:12px}.edit-controls input[type=time]{font:inherit;font-size:15px;color:var(--text);background:var(--bg);border:1px solid var(--sep);border-radius:8px;padding:4px 6px}.edit-controls .confirm{background:#007aff;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;padding:6px 10px}.edit-controls .cancel{background:none;border:none;color:var(--muted);font-size:15px;padding:4px}.entries{padding:4px 16px 12px}.entry{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:14px;padding:4px 0}.entry .del{background:none;border:none;color:var(--red);font-size:16px}
