:root{color-scheme:light;--bg: #f3efe6;--text: #241f18;--surface: #fffdf8;--text-muted: #6a6258;--text-faint: #8a8176;--accent: #3d6b5c;--on-accent: #fffdf8;--danger: #8a4b32;--border: rgba(36, 31, 24, .12);--border-strong: rgba(36, 31, 24, .16);--border-soft: rgba(36, 31, 24, .1);--border-hair: rgba(36, 31, 24, .08);--input: #fff;--mic: #e7dfd2;--mic-on: #8eae9f;--bubble-edge: #3d6b5c;--hint: #f6f0e4;--positive: #5a7066;--late: #8a7350;--accent-soft: rgba(61, 107, 92, .2);--check-ring: rgba(61, 107, 92, .45)}:root[data-theme=dark]{color-scheme:dark;--bg: #05070a;--text: #eef2fa;--surface: #131b2e;--text-muted: #93a0bd;--text-faint: #93a0bd;--accent: #1ad1b0;--on-accent: #05070a;--danger: #d7a750;--border: #26314d;--border-strong: #26314d;--border-soft: #26314d;--border-hair: #26314d;--input: #131b2e;--mic: #26314d;--mic-on: #1ad1b0;--bubble-edge: #1ad1b0;--hint: #131b2e;--positive: #6fcf97;--late: #b09a6b;--accent-soft: rgba(26, 209, 176, .28);--check-ring: rgba(26, 209, 176, .55)}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;height:100%;background:var(--bg);color:var(--text);font-family:IBM Plex Sans Arabic,system-ui,sans-serif;overflow-x:hidden}.os{max-width:720px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding:12px 14px 16px}header{display:flex;justify-content:space-between;align-items:baseline;padding:6px 4px 10px;gap:8px}header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}header strong{font-size:18px}.hat{font-family:inherit;font-size:11px;font-weight:700;border:1px solid var(--accent);color:var(--accent);background:transparent;border-radius:999px;padding:2px 8px;cursor:pointer}header span,header em{color:var(--text-muted);font-size:13px;font-style:normal}.strip{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px}.strip button{flex:0 0 auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 12px;font-family:inherit;font-size:13px;cursor:pointer;color:inherit}.strip button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.strip small{display:block;color:var(--text-faint);font-size:11px}.log{max-height:42vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px 12px;background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;margin:0 -2px}.log .bubble{margin:0 12px}.bubble{max-width:92%;align-self:flex-start;background:var(--surface);border-right:3px solid var(--bubble-edge);border-radius:14px 4px 14px 14px;padding:10px 12px;line-height:1.65;font-size:15px;white-space:pre-wrap}.bubble.me{align-self:flex-end;background:var(--accent);color:var(--on-accent);border-right:none;border-radius:4px 14px 14px}.err{color:var(--danger);font-size:13px;margin:0 0 8px}.period,.composer{display:flex;gap:8px;align-items:center}.period{background:var(--surface);border-radius:12px;padding:8px;margin-bottom:8px;flex-wrap:wrap}.period label{font-size:12px;color:var(--text-muted);display:flex;gap:6px;align-items:center}.period input,.composer input{font-family:inherit;border:1px solid var(--border-strong);border-radius:10px;padding:8px 10px;background:var(--input);color:inherit}.composer{background:var(--surface);border-radius:16px;padding:8px}.composer input{flex:1;min-width:0;border:none;outline:none;font-size:15px;background:transparent}.composer button[type=submit],.period button{background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;padding:8px 14px;font-family:inherit;font-weight:600;cursor:pointer}.mic{width:36px;height:36px;border-radius:50%;border:none;background:var(--mic);cursor:pointer;position:relative}.mic:after{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;border-radius:50%;background:var(--accent)}.mic.on{background:var(--mic-on)}.tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tabs button{font-family:inherit;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:999px;padding:6px 12px;cursor:pointer}.tabs button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.today{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.kicker{margin:0;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--accent)}.card,.group,.clock,.ledger,.reports{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px}.next-card,.clock{padding:16px 18px}.next-card.has-item{border-color:var(--accent-soft);box-shadow:0 0 0 1px var(--accent-soft)}.next-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px}.next-time{color:var(--text-muted);font-size:12px;white-space:nowrap}.next-card .row{display:flex;align-items:flex-start;gap:12px}.next-body,.item-body{flex:1;min-width:0}.next-body strong,.item-body strong{display:block;line-height:1.35}.next-body strong{font-size:16.5px;font-weight:600}.item-body strong{font-size:14.5px;font-weight:500}.next-body strong.done,.group li.done strong{text-decoration:line-through;color:var(--text-faint);font-weight:500}.next-body .meta,.clock span,.ledger-h span:last-child{display:block;color:var(--text-muted);font-size:12.5px;margin-top:4px}.late-tag{display:inline-block;margin-top:4px;color:var(--late);font-style:normal;font-size:11.5px;font-weight:500}.check{flex:0 0 auto;width:22px;height:22px;margin-top:2px;border-radius:50%;border:2px solid var(--check-ring);background:transparent;padding:0;cursor:pointer}.check.on{border:none;background:var(--accent);box-shadow:inset 0 0 0 5px var(--surface)}.clock-controls{flex:0 0 auto;display:flex;gap:4px;align-self:center}.clock-btn{width:26px;height:26px;border-radius:50%;border:1px solid var(--border-strong);background:transparent;color:var(--text-muted);font-size:11px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.clock-btn.play{border-color:var(--accent-soft);color:var(--accent)}.clock-btn.stop{border-color:var(--danger);color:var(--danger)}.next-actions{display:flex;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border-hair)}.ghost-sm{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:12px;cursor:pointer}.clock{display:flex;justify-content:space-between;align-items:center;gap:10px}.clock button{flex:0 0 auto;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;padding:8px 12px;font-family:inherit;font-weight:600;cursor:pointer}.groups{display:flex;flex-direction:column;padding:4px 2px}.groups .group{background:transparent;border:none;border-radius:0}.groups .group+.group{border-top:1px solid var(--border-hair)}.group-h,.ledger-h{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;background:transparent;border:none;font-family:inherit;color:inherit;padding:10px 12px;cursor:pointer;font-size:14px;font-weight:600}.group-label{display:flex;align-items:baseline;gap:6px}.group-count{color:var(--text-faint);font-weight:400;font-size:13px}.chev{color:var(--text-faint);font-size:12px;line-height:1}.group ul,.ledger ul,.reports ul{list-style:none;margin:0;padding:0 8px 10px}.group li{display:flex;align-items:flex-start;gap:12px;padding:10px 6px;border-radius:10px;font-size:14px}.group li+li{margin-top:2px}.ledger li,.reports li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--border-hair);font-size:14px}.group li small{display:block;color:var(--text-faint);font-size:12px;margin-top:3px}.manual-add-toggle{background:var(--surface);border:1px solid var(--border);color:var(--accent);border-radius:10px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;width:100%;text-align:center}.manual-add-form{background:var(--surface);border:1px solid var(--border-soft);border-radius:12px;padding:10px;margin-top:6px;display:flex;flex-direction:column;gap:8px}.manual-add-form input,.manual-add-form select{font-family:inherit;border:1px solid var(--border-strong);border-radius:10px;padding:8px 10px;background:var(--input);color:inherit;font-size:13px}.manual-add-row{display:flex;gap:6px}.manual-add-row select,.manual-add-row input[type=time]{flex:1;min-width:0}.manual-add-form button[type=submit]{background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;padding:8px 10px;font-family:inherit;font-weight:600;font-size:13px;cursor:pointer}.suggest-card{background:var(--hint);border:1px solid var(--accent-soft);border-radius:12px;padding:9px 10px 9px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;font-size:13px;color:var(--text-muted);line-height:1.5}.suggest-card button{flex:0 0 auto;background:transparent;border:none;color:var(--text-faint);font-size:13px;line-height:1;padding:2px 4px;cursor:pointer}.confirm-bar{background:var(--hint);border:1px solid var(--accent-soft);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;font-size:13px}.confirm-bar input{font-family:inherit;border:1px solid var(--border-strong);border-radius:10px;padding:8px 10px;background:var(--input);color:inherit}.confirm-actions{display:flex;gap:8px}.confirm-actions button{flex:1;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;padding:8px 10px;font-family:inherit;font-weight:600;font-size:13px;cursor:pointer}.confirm-actions button.ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border-strong);font-weight:500}.hint{margin:0;font-size:13px;color:var(--text-muted);background:var(--hint);border-radius:12px;padding:8px 10px}.empty{margin:0;padding:8px 2px;color:var(--text-muted);font-size:14px}.reports{padding:12px}.index-group{margin-bottom:8px}.index-h{margin:14px 0 4px;font-size:12px;font-weight:600;color:var(--text-muted)}.index-sub{padding-right:14px!important;color:var(--text-faint);font-size:12.5px!important}.money .manual-add-row input[type=number]{flex:1;min-width:0}.money-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.money-balances div{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 12px}.money-balances strong{display:block;font-size:18px;font-variant-numeric:tabular-nums}.money-balances span{color:var(--text-muted);font-size:12px}.loan-side{display:flex;align-items:center;gap:6px;flex-shrink:0}.routine-screen{padding:12px}.routine-screen>p{margin:0 0 8px;font-size:14px}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:10px}.cal-name,.cal-day{text-align:center;font-size:12px;padding:6px 0}.cal-name{color:var(--text-faint)}.cal-day{background:var(--surface);border:1px solid var(--border-hair);border-radius:8px;min-height:42px}.cal-day.has{border-color:var(--accent)}.cal-day small{display:block;color:var(--text-muted);font-size:10px}.party-edit{display:flex;gap:6px;align-items:center;width:100%}.party-edit input{flex:1;min-width:0;font-family:inherit;border:1px solid var(--border-strong);border-radius:10px;padding:8px 10px;background:var(--input);color:inherit}.journal-body{font-family:inherit;width:100%;min-height:96px;resize:vertical;border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;background:var(--input);color:inherit;font-size:15px;line-height:1.7}.brief-note{background:var(--surface);border:1px solid var(--border-soft);border-right:3px solid var(--bubble-edge);border-radius:14px;padding:12px 14px;line-height:1.7;margin:0 0 8px;font-size:15px}.reports h2{font-size:14px;margin:16px 0 6px}.reports p{margin:0 0 8px;font-size:14px}.tt-meta{color:var(--text-faint);font-size:11.5px}button:disabled{opacity:.55;cursor:not-allowed}@media(min-width:800px){.os{padding:24px 0 28px}}
