:root{--bg: #f4f5f7;--lane: #eaecf0;--card: #ffffff;--text: #1c1e26;--muted: #6b7280;--border: rgba(0, 0, 0, .08);--accent: #5b5bd6;--danger: #d64545;--ok: #2f9e5b;--warn: #d97706;--shadow: 0 1px 2px rgba(0, 0, 0, .1);color-scheme:light}:root[data-theme=dark]{--bg: #0f1115;--lane: #181b21;--card: #232730;--text: #e6e8ee;--muted: #9aa1ad;--border: rgba(255, 255, 255, .08);--accent: #7b7bf0;--danger: #e06c6c;--ok: #4fbf7f;--warn: #f0a34e;--shadow: 0 1px 3px rgba(0, 0, 0, .4);color-scheme:dark}:root{--c-tomato: #d64545;--c-tangerine: #d97706;--c-banana: #b59000;--c-basil: #2f9e5b;--c-peacock: #0f8f9e;--c-blueberry: #3b5bdb;--c-lavender: #7b5bd6;--c-flamingo: #d6559b;--c-graphite: #6b7280}:root[data-theme=dark]{--c-tomato: #f07171;--c-tangerine: #f0a34e;--c-banana: #e0c045;--c-basil: #4fbf7f;--c-peacock: #3fbccd;--c-blueberry: #6f8cff;--c-lavender: #a78bfa;--c-flamingo: #f07ab8;--c-graphite: #9aa1ad}[data-color=tomato]{--c: var(--c-tomato)}[data-color=tangerine]{--c: var(--c-tangerine)}[data-color=banana]{--c: var(--c-banana)}[data-color=basil]{--c: var(--c-basil)}[data-color=peacock]{--c: var(--c-peacock)}[data-color=blueberry]{--c: var(--c-blueberry)}[data-color=lavender]{--c: var(--c-lavender)}[data-color=flamingo]{--c: var(--c-flamingo)}[data-color=graphite]{--c: var(--c-graphite)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font:15px/1.45 -apple-system,Segoe UI,Roboto,sans-serif;padding-top:env(safe-area-inset-top)}#app{height:100%;display:flex;flex-direction:column}#login{height:100%;display:flex;align-items:center;justify-content:center}#login-form{display:flex;flex-direction:column;gap:12px;width:min(340px,86vw)}#login-form h1{text-align:center;margin:0 0 8px}#login-form input{padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-size:15px}#login-form button{padding:11px;border:none;border-radius:10px;font-size:15px;cursor:pointer}#login-form .error{color:var(--danger);font-size:13.5px;text-align:center;min-height:18px}header{display:flex;align-items:center;gap:10px;padding:10px 14px 4px}#tabs{display:flex;gap:2px;flex:1}#tabs button{border:none;background:none;color:var(--muted);font-size:15px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer}#tabs button.active{background:var(--lane);color:var(--text)}#search-btn{border:none;background:none;color:var(--muted);font-size:20px;cursor:pointer;padding:2px 8px}#select-btn{border:none;background:none;color:var(--muted);cursor:pointer;padding:4px 6px 0;border-radius:8px}#select-btn.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}#select-btn[hidden]{display:none}#sync-dot{width:9px;height:9px;border-radius:50%;background:var(--ok);flex:0 0 auto}#sync-dot.pending{background:var(--warn)}#sync-dot.offline{background:var(--danger)}#update-pill{border:none;border-radius:999px;background:var(--accent);color:#fff;font-size:13px;padding:5px 12px;cursor:pointer}#quick{display:flex;gap:8px;padding:8px 14px}#quick-input{flex:1;min-width:0;padding:10px 15px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text);font-size:15.5px}#quick-input:focus{outline:2px solid var(--accent);border-color:transparent}#quick button{border:none;border-radius:999px;width:42px;background:var(--accent);color:#fff;font-size:19px;cursor:pointer}#view{flex:1;overflow:hidden}.board-wrap{height:100%;display:flex;flex-direction:column;min-height:0}.board{flex:1 1 auto;min-height:0;display:flex;gap:12px;align-items:flex-start;overflow-x:auto;padding:4px 14px calc(14px + env(safe-area-inset-bottom));scroll-snap-type:x proximity}.lane{position:relative;flex:1 1 0;min-width:210px;scroll-snap-align:start;background:var(--lane);border-radius:14px;display:flex;flex-direction:column;max-height:100%}.lane.collapsed{flex:0 0 46px;min-height:160px}.collapsed-label{border:none;background:none;color:var(--text);cursor:pointer;padding:12px 0;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}.collapsed-label .vert{writing-mode:vertical-rl;font-weight:700;font-size:14px}.collapsed-label .count{color:var(--muted);font-size:12px}.lane>header{padding:10px 10px 4px;gap:6px}.lane-collapse{border:none;background:none;color:var(--muted);cursor:pointer;font-size:14px;padding:2px 4px}.lane h2{margin:0;font-size:14px;font-weight:700;flex:1;cursor:pointer}.lane .count{color:var(--muted);font-size:12.5px}.lane-delete{border:none;background:none;color:var(--muted);font-size:16px;cursor:pointer;padding:2px 6px}.lane-resize{position:absolute;top:0;right:-6px;width:12px;height:100%;cursor:col-resize;touch-action:none}.lane-resize:hover{background:linear-gradient(90deg,transparent 5px,var(--accent) 5px,var(--accent) 7px,transparent 7px)}.cards{overflow-y:auto;padding:4px 8px;display:flex;flex-direction:column;gap:8px;min-height:30px}.card{display:flex;gap:9px;background:var(--card);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow);cursor:grab;-webkit-user-select:none;user-select:none}.card.list{cursor:pointer;margin:0 14px 8px}.card[data-color]{border-left:4px solid var(--c);padding-left:9px}.card[data-color] h3{color:var(--c)}.done-btn{flex:0 0 20px;width:20px;height:20px;margin-top:1px;border:2px solid var(--muted);border-radius:50%;background:none;cursor:pointer;padding:0}.done-btn:hover{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 22%,transparent)}.card-main{flex:1;min-width:0}.card h3{margin:0;font-size:14.5px;font-weight:600;overflow-wrap:anywhere}.card .snippet{margin-top:4px;color:var(--muted);font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.chips{margin-top:6px;display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:12px;color:var(--muted);background:var(--lane);border-radius:6px;padding:1px 7px}.chip.ok{color:var(--ok)}.chip.recur{color:var(--accent)}.card.placeholder{opacity:.35;outline:2px dashed var(--accent);outline-offset:-2px}.card.ghost{position:fixed;z-index:1000;margin:0;pointer-events:none;transform:rotate(2.5deg) scale(1.03);box-shadow:0 12px 28px #00000059;opacity:.97}.add-card{margin:2px 8px 10px;padding:8px;border:none;border-radius:8px;background:none;color:var(--muted);font-size:13.5px;text-align:left;cursor:pointer}.add-card:hover{background:var(--card)}.add-lane{flex:0 0 auto;padding:12px 18px;border:1px dashed var(--border);border-radius:14px;background:none;color:var(--muted);font-size:14px;cursor:pointer;white-space:nowrap}.today-view{height:100%;overflow-y:auto;padding:4px 0 calc(150px + env(safe-area-inset-bottom));max-width:720px;margin:0 auto;width:100%}.section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 14px 8px}.empty{color:var(--muted);font-size:14px;margin:4px 14px}.agenda-day{display:flex;align-items:baseline;gap:10px;margin:20px 14px 8px}.agenda-day .section-title{margin:0}.agenda-day .agenda-sub{font-size:12px;color:var(--muted)}.agenda-day:after{content:"";flex:1;height:1px;background:var(--border);align-self:center}.agenda-day.is-today .section-title{color:var(--accent)}.agenda-day.overdue .section-title{color:var(--danger)}.agenda-day.overdue:after{background:color-mix(in srgb,var(--danger) 40%,var(--border))}.cal{height:100%;display:flex;flex-direction:column;--gutter-w: 56px;--grid-line: color-mix(in srgb, var(--text) 9%, transparent);--grid-line-soft: color-mix(in srgb, var(--text) 4.5%, transparent)}.cal-toolbar{display:flex;align-items:center;gap:10px;padding:2px 14px 8px;flex-wrap:wrap}.cal-nav{display:flex;align-items:center;gap:4px}.cal-nav-btn,.cal-today,.cal-icon{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:9px;cursor:pointer;font-size:14px;padding:5px 10px;line-height:1.1}.cal-nav-btn{padding:5px 11px;font-size:16px}.cal-icon{color:var(--muted);min-width:32px}.cal-icon.on{background:var(--accent);border-color:var(--accent);color:#fff}.cal-nav-btn:hover,.cal-today:hover,.cal-icon:hover{border-color:var(--accent)}.cal-title{flex:1;margin:0;font-size:16.5px;font-weight:700;white-space:nowrap}.cal-modes{display:flex;gap:2px;background:var(--lane);border-radius:999px;padding:2px}.cal-modes button{border:none;background:none;color:var(--muted);border-radius:999px;padding:5px 13px;font-size:13.5px;font-weight:600;cursor:pointer}.cal-modes button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.cal-tools{display:flex;gap:4px}.cal-body{flex:1;min-height:0;display:flex;gap:10px;padding:0 14px calc(10px + env(safe-area-inset-bottom))}.cal-time{flex:1;min-width:0;display:flex;flex-direction:column}.cal-head{display:flex}.cal-gutter-cell{flex:0 0 var(--gutter-w);width:var(--gutter-w);font-size:11px;color:var(--muted);text-align:right;padding-right:8px;align-self:flex-end;padding-bottom:4px}.cal-cols-head{flex:1;display:grid}.cal-dayhead{border:none;background:none;color:var(--muted);cursor:pointer;padding:2px 0 8px;display:flex;flex-direction:column;align-items:center;gap:1px;border-left:1px solid var(--grid-line-soft)}.cal-dayhead .dow{font-size:11px;text-transform:uppercase;letter-spacing:.05em}.cal-dayhead .num{font-size:19px;font-weight:600;color:var(--text);line-height:1.1}.cal-dayhead.today .num{background:var(--accent);color:#fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}.cal-dayhead.today .dow{color:var(--accent)}.cal-allday{display:flex;border-top:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);max-height:22vh;overflow-y:auto}.cal-ad-cols{flex:1;display:grid;grid-auto-rows:22px;gap:2px;padding:2px 0;position:relative}.cal-ad-cell{border-left:1px solid var(--grid-line-soft)}.cal-ad-cell.today{background:color-mix(in srgb,var(--accent) 7%,transparent)}.cal-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain}.cal-grid{display:flex}.cal-gutter{flex:0 0 var(--gutter-w);width:var(--gutter-w)}.cal-hour{font-size:11px;color:var(--muted);text-align:right;padding-right:8px;transform:translateY(-7px)}.cal-cols{flex:1;display:grid;position:relative;background-image:repeating-linear-gradient(to bottom,var(--grid-line) 0 1px,transparent 1px var(--hour-h))}.cal-col{position:relative;border-left:1px solid var(--grid-line-soft);touch-action:none}.cal-col.today{background:color-mix(in srgb,var(--accent) 5%,transparent)}.cal-event{position:absolute;left:2px;right:2px;overflow:hidden;border-radius:6px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 22%,var(--card));color:var(--text);padding:2px 5px;font-size:12px;line-height:1.25;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow)}.cal-event .ev-time{display:block;font-size:10.5px;color:var(--muted)}.cal-event .ev-title{font-weight:600;overflow-wrap:anywhere}.cal-event.short .ev-title,.cal-event.tiny .ev-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-event.tiny{display:flex;align-items:baseline;gap:4px;padding:0 5px;font-size:11px;line-height:1.05}.cal-event.tiny .ev-time{display:inline;flex:none;font-size:10px}.cal-event.tiny .ev-title{font-weight:500;min-width:0}.cal-event .ev-recur{color:var(--accent);margin-left:3px}.cal-event.dragging{opacity:.85;z-index:40;cursor:grabbing;box-shadow:0 8px 20px #00000059}.cal-event.occ{border-left-style:dashed;opacity:.72}.cal-event.done{opacity:.5;border-left-color:var(--ok);background:color-mix(in srgb,var(--ok) 16%,var(--card))}.cal-event.done .ev-title{text-decoration:line-through}.cal-event.provisional{opacity:.75;border-style:dashed;pointer-events:none;z-index:45}.cal-event[data-color]{border-left-color:var(--c);background:color-mix(in srgb,var(--c) 22%,var(--card))}.cal-bar[data-color]{background:color-mix(in srgb,var(--c) 78%,var(--card))}.cal-bar.dot[data-color]{background:none}.cal-bar.dot[data-color]:before{background:var(--c)}.cal-bar.dot.auto[data-color]:before{background:none;border-color:var(--c)}.cal-event.auto{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--accent) 13%,var(--card)) 0 7px,color-mix(in srgb,var(--accent) 7%,var(--card)) 7px 14px);border-left-style:dotted;border-left-width:3px}.cal-event.auto .ev-time{font-style:italic}.cal-resize{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}.cal-resize:hover{background:color-mix(in srgb,var(--accent) 45%,transparent)}.cal-now{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--danger);z-index:30;pointer-events:none}.cal-now:before{content:"";position:absolute;left:-5px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--danger)}.cal-bar{border-radius:5px;background:color-mix(in srgb,var(--accent) 78%,var(--card));color:#fff;font-size:11.5px;font-weight:600;padding:2px 7px;margin:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;-webkit-user-select:none;user-select:none;z-index:2}.cal-bar.cut-start{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}.cal-bar.cut-end{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.cal-bar.occ{opacity:.72}.cal-bar.done{background:color-mix(in srgb,var(--ok) 70%,var(--card));text-decoration:line-through}.cal-bar.dot{background:none;color:var(--text);font-weight:500;padding-left:14px;position:relative}.cal-bar.dot:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--accent)}.cal-bar.dot.done:before{background:var(--ok)}.cal-bar.dot.auto:before{background:none;border:1.5px solid var(--accent)}.agenda-row.auto .ag-time{font-style:italic}.cal-month{flex:1;display:flex;flex-direction:column;min-height:0}.cal-month-head{display:grid;grid-template-columns:repeat(7,1fr);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding-bottom:4px}.cal-month-head div{text-align:center}.cal-month-rows{flex:1;display:flex;flex-direction:column;border-top:1px solid var(--grid-line);border-left:1px solid var(--grid-line);min-height:0}.cal-mrow{flex:1;position:relative;min-height:0}.cal-mcells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr)}.cal-mday{border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);padding:2px;overflow:hidden;cursor:pointer}.cal-mday.other{background:color-mix(in srgb,var(--text) 3%,transparent)}.cal-mday.today{background:color-mix(in srgb,var(--accent) 8%,transparent)}.cal-mnum{border:none;background:none;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;padding:1px 5px;border-radius:999px}.cal-mday.today .cal-mnum{background:var(--accent);color:#fff}.cal-mday:not(.other) .cal-mnum{color:var(--text)}.cal-mbars{position:relative;height:100%;padding-top:24px;display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:19px;gap:1px;pointer-events:none}.cal-mbars>*{pointer-events:auto}.cal-more{border:none;background:none;color:var(--muted);font-size:11px;text-align:left;padding:0 6px;cursor:pointer}.cal-more:hover{color:var(--accent)}.cal-agenda{flex:1;overflow-y:auto;max-width:720px;margin:0 auto;width:100%}.cal-agenda .section-title.is-today{color:var(--accent)}.cal-agenda .section-title.overdue{color:var(--danger)}.agenda-row{display:flex;gap:12px;align-items:baseline;width:calc(100% - 28px);margin:0 14px 6px;text-align:left;border:none;background:var(--card);color:var(--text);border-radius:10px;padding:9px 13px;cursor:pointer;box-shadow:var(--shadow)}.agenda-row .ag-time{flex:0 0 92px;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.agenda-row .ag-title{flex:1;font-size:14.5px;font-weight:600;overflow-wrap:anywhere}.agenda-row .ag-lane{font-size:12px;color:var(--muted)}.agenda-row.done .ag-title{text-decoration:line-through;opacity:.6}.agenda-row.occ{opacity:.8}.cal-rail{flex:0 0 220px;display:flex;flex-direction:column;min-height:0;background:var(--lane);border-radius:12px;padding:0 0 8px}.cal-rail .section-title{margin:12px 12px 6px}.cal-rail-list{flex:1;overflow-y:auto;padding:0 8px;display:flex;flex-direction:column;gap:6px}.cal-rail-item{background:var(--card);border-radius:9px;padding:8px 10px;font-size:13px;cursor:grab;box-shadow:var(--shadow);-webkit-user-select:none;user-select:none;touch-action:none}.cal-rail-item .ri-title{display:block;font-weight:600;overflow-wrap:anywhere}.cal-rail-item .ri-lane{font-size:11.5px;color:var(--muted)}.cal-ghost{position:fixed;z-index:1200;pointer-events:none;background:var(--accent);color:#fff;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:8px;box-shadow:0 8px 20px #00000059;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:720px){.cal{--gutter-w: 44px}.cal-rail{display:none}.cal-title{flex:1 0 100%;order:-1}.cal-modes button{padding:5px 10px;font-size:13px}}#search-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(4px);z-index:1500;padding:calc(16px + env(safe-area-inset-top)) 14px 14px;overflow-y:auto}.search-box{display:flex;gap:8px;max-width:680px;margin:0 auto}#search-input{flex:1;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--text);font-size:16px}#search-close{border:none;background:var(--card);color:var(--muted);border-radius:12px;width:46px;cursor:pointer;font-size:15px}#search-results{max-width:680px;margin:12px auto 0;display:flex;flex-direction:column;gap:8px}.result{text-align:left;border:none;background:var(--card);color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer;box-shadow:var(--shadow)}.result strong{font-size:14.5px}.result-lane{color:var(--muted);font-size:12.5px;margin-left:8px}.result-snippet{color:var(--muted);font-size:13px;margin-top:3px;overflow-wrap:anywhere}dialog{border:none;border-radius:18px;background:var(--bg);color:var(--text);padding:0;width:min(760px,calc(100vw - 24px))}dialog::backdrop{background:#0000008c}@keyframes sheet-up{0%{transform:translateY(48px);opacity:.5}to{transform:none;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}dialog[open]::backdrop{animation:fade-in .2s ease-out}@media(max-width:600px){dialog:not(.clock-dlg):not(#confirm-modal):not(#ask-modal){width:100vw;max-width:100vw;max-height:92dvh;height:auto;margin:auto auto 0;border-radius:22px 22px 0 0;animation:sheet-up .24s cubic-bezier(.22,.7,.3,1)}#card-modal{height:92dvh}#card-form:before,#settings-body:before,.repeat-body:before{content:"";display:block;width:42px;height:4px;border-radius:2px;background:var(--border);margin:-6px auto 10px}#card-form footer{flex-wrap:wrap;gap:8px 10px;position:sticky;bottom:0;margin:0 -24px -18px;padding:10px 24px calc(14px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border)}#card-form footer .primary{flex:1 0 100%;order:3;padding:14px;font-size:16px;font-weight:600;border-radius:14px;background:color-mix(in srgb,var(--accent) 30%,var(--card));color:var(--text)}#card-form footer .complete{margin-right:auto}}#card-form{display:flex;flex-direction:column;gap:12px;padding:22px 24px 18px;height:100%;overflow-y:auto}#card-title{border:none;background:none;color:var(--text);font-size:25px;font-weight:700;letter-spacing:-.015em;padding:2px 2px 6px;line-height:1.25}#card-title::placeholder{color:color-mix(in srgb,var(--muted) 60%,transparent);font-weight:600}#card-title:focus{outline:none}.tabs{display:flex;gap:6px}.tabs button{border:none;background:none;color:var(--muted);padding:5px 12px;border-radius:999px;font-size:13.5px;cursor:pointer}.tabs button.active{background:var(--lane);color:var(--text)}#card-content{flex:1;min-height:36vh;resize:none;border:1px solid transparent;border-radius:14px;background:var(--card);color:var(--text);padding:18px 20px;font:16.5px/1.75 -apple-system,SF Pro Text,Segoe UI,Roboto,sans-serif;letter-spacing:.003em;box-shadow:var(--shadow);transition:border-color .15s ease}#card-content::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}#card-content:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 45%,transparent)}#card-preview{flex:1;min-height:36vh;overflow-y:auto;border-radius:14px;background:var(--card);padding:6px 20px 14px;box-shadow:var(--shadow);font:16.5px/1.75 -apple-system,SF Pro Text,Segoe UI,Roboto,sans-serif}#card-preview h1,#card-preview h2,#card-preview h3{letter-spacing:-.015em;margin:1.1em 0 .4em}#card-preview h1{font-size:1.5em}#card-preview h2{font-size:1.28em}#card-preview h3{font-size:1.1em}#card-preview p,#card-preview li{overflow-wrap:anywhere}#card-preview ul,#card-preview ol{padding-left:1.3em}#card-preview li{margin:.25em 0}#card-preview blockquote{margin:.8em 0;padding:2px 0 2px 14px;border-left:3px solid color-mix(in srgb,var(--accent) 45%,transparent);color:var(--muted)}#card-preview code{font:.88em/1.5 ui-monospace,SF Mono,Menlo,monospace;background:var(--lane);padding:1px 5px;border-radius:5px}#card-preview pre code{background:none;padding:0}#card-preview hr{border:none;border-top:1px solid var(--border);margin:1.4em 0}.markdown img{max-width:100%}.markdown input[type=checkbox]{accent-color:var(--accent)}.markdown pre{overflow-x:auto;background:var(--lane);padding:10px;border-radius:8px}.quick-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.quick .time-chip{display:flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}.quick .time-chip:hover{border-color:var(--accent)}.quick .time-chip .tag{display:none;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:5px;padding:1px 5px}.quick .time-chip.auto .tag{display:inline}.quick .time-chip.auto{border-style:dashed}.quick .arrow{color:var(--muted);font-size:13px}.quick .swatch-btn{flex:none;min-width:0;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;background:var(--card);cursor:pointer;padding:0}.quick .swatch-btn:hover{border-color:var(--accent)}.quick .swatch-btn i{width:18px;height:18px;border-radius:50%;background:var(--c, var(--accent))}#color-pop{position:absolute;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px;margin-top:4px;border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:0 10px 30px #0000004d}#color-pop[hidden]{display:none}.swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;background:var(--c, var(--accent));cursor:pointer;padding:0}.swatch[data-color=""]{background:var(--accent)}.swatch.on{border-color:var(--text)}.quick .linkish{border:none;background:none;color:var(--muted);font-size:13px;cursor:pointer;padding:4px 2px;white-space:nowrap}.quick .linkish:hover{color:var(--accent)}.quick button[hidden],.quick input[hidden],.quick span[hidden]{display:none}.quick input,.quick select{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-size:13.5px;flex:1;min-width:90px}#card-form footer{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding-bottom:env(safe-area-inset-bottom)}#card-form footer button{padding:9px 16px;border:none;border-radius:10px;font-size:14.5px;cursor:pointer}button.primary{background:var(--accent);color:#fff}button.danger{background:none;color:var(--danger)}button.complete{background:none;color:var(--ok);margin-right:auto}#settings-btn{border:none;background:none;color:var(--muted);font-size:17px;cursor:pointer;padding:2px 6px}#settings-body{padding:18px;display:flex;flex-direction:column;gap:4px}.set-head{display:flex;align-items:center;justify-content:space-between}.set-head h2{margin:0;font-size:19px}#set-close{border:none;background:none;color:var(--muted);font-size:16px;cursor:pointer;padding:4px 8px}#settings-body h3{margin:18px 0 6px;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.set-who{margin:2px 0 0;color:var(--muted);font-size:14px}.set-who strong{color:var(--text)}.set-note{margin:0 0 8px;color:var(--muted);font-size:13px;line-height:1.45}.set-tag{margin-left:8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:5px;padding:2px 6px}.set-row{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--card);border-radius:10px;margin-bottom:6px}.set-row-main{flex:1;min-width:0}.set-row-main strong{display:block;font-size:14px;font-weight:600}.set-meta{font-size:12px;color:var(--muted)}.set-actions{display:flex;align-items:center;gap:6px}.set-btn,.set-danger{border:1px solid var(--border);background:none;color:var(--text);border-radius:8px;padding:5px 10px;font-size:12.5px;cursor:pointer;white-space:nowrap}.set-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.set-btn:hover{border-color:var(--accent)}#set-signout{align-self:flex-start;margin-top:4px}#set-new-account{display:flex;gap:8px;margin-top:8px}#set-new-name{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-size:14px}#set-new-account button{border:none;border-radius:10px;padding:9px 16px;font-size:14px;cursor:pointer}.set-pills{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 4px}.set-pill{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer}.set-pill.on{background:var(--accent);border-color:var(--accent);color:#fff}#set-passphrase{margin-top:12px;padding:14px;border:1px dashed var(--accent);border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.set-pass-label{font-size:12px;color:var(--muted);margin-bottom:6px}.set-pass{display:block;font:17px/1.4 ui-monospace,SF Mono,Menlo,monospace;user-select:all;overflow-wrap:anywhere}.set-copy{margin-top:8px;border:none;border-radius:8px;background:var(--accent);color:#fff;padding:6px 14px;font-size:13px;cursor:pointer}.set-pass-hint{margin-top:8px;font-size:12.5px;color:var(--muted);line-height:1.45}.clock-dlg{border:none;border-radius:20px;background:var(--bg);color:var(--text);padding:18px;width:fit-content;max-width:calc(100vw - 24px);box-shadow:0 18px 50px #00000073}.clock-dlg::backdrop{background:#00000080}.clock-head{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:14px}.clock-seg{border:none;border-radius:10px;background:var(--lane);color:var(--muted);font-size:40px;font-weight:400;font-variant-numeric:tabular-nums;padding:4px 14px;cursor:pointer;line-height:1.15}.clock-seg.active{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.clock-colon{font-size:34px;color:var(--muted)}.clock-dial{position:relative;width:260px;height:260px;border-radius:50%;background:var(--lane);touch-action:none;-webkit-user-select:none;user-select:none}.clock-nums{position:absolute;inset:0}.clock-num{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:15px;font-variant-numeric:tabular-nums;pointer-events:none;z-index:2}.clock-num.inner{font-size:13px;color:var(--muted)}.clock-num.sel{color:#fff;font-weight:600}.clock-hand{position:absolute;left:130px;bottom:130px;width:2px;background:var(--accent);transform-origin:50% 100%;z-index:1}.clock-knob{position:absolute;top:-18px;left:50%;transform:translate(-50%);width:36px;height:36px;border-radius:50%;background:var(--accent)}.clock-hand.offgrid .clock-knob{width:10px;height:10px;top:-5px}.clock-centre{position:absolute;left:130px;top:130px;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--accent);z-index:3}.clock-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}.clock-foot button{border:none;border-radius:9px;background:none;color:var(--muted);font-size:14px;padding:8px 14px;cursor:pointer}.clock-auto{margin-right:auto;color:var(--accent)!important}.clock-ok{background:var(--accent)!important;color:#fff!important}#toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:9px 18px;border-radius:999px;font-size:14px;z-index:2000;max-width:88vw;text-align:center;display:flex;align-items:center;gap:16px}#toast[hidden]{display:none}.card{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.card.lifted{opacity:.45}.drag-ghost{position:fixed;z-index:1300;pointer-events:none;margin:0;box-shadow:0 16px 36px #00000073;transform-origin:center}.agenda-sec{padding:2px 0 8px;border-radius:14px;transition:background .12s}.agenda-sec.drop-target{background:color-mix(in srgb,var(--accent) 12%,transparent)}.agenda-sec.drop-target .section-title{color:var(--accent)}.toast-action{border:none;background:none;color:var(--accent);font-weight:700;font-size:14px;padding:2px 4px;cursor:pointer;letter-spacing:.02em}.lane-pills{display:flex;gap:6px;overflow-x:auto;padding:0 14px 8px;scrollbar-width:none}.lane-pills::-webkit-scrollbar{display:none}.lane-pill{display:flex;align-items:center;gap:7px;flex:0 0 auto;border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:999px;padding:8px 15px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.lane-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.lane-pill .count{font-size:12px;opacity:.7;font-weight:500}.lane-pill.add{font-size:17px;padding:8px 16px}.board.phone{padding:0 12px calc(12px + env(safe-area-inset-bottom));overflow:hidden;scroll-snap-type:none}.lane.full{flex:1 1 auto;width:100%;height:100%;max-height:100%}.lane.full>header{padding:12px 12px 6px}.lane.full .cards{flex:1}.lane.full .add-card{padding:12px 8px;font-size:14.5px}.cal-mday.sweeping{background:color-mix(in srgb,var(--accent) 24%,transparent)!important;box-shadow:inset 0 0 0 1px var(--accent)}.cal-mday.tinted{background:color-mix(in srgb,var(--c, var(--accent)) 14%,transparent)}.cal-mday.tinted.today{background:color-mix(in srgb,var(--c, var(--accent)) 24%,transparent)}.cal-mcells{touch-action:pan-y}#confirm-modal{border:none;border-radius:18px;background:var(--bg);color:var(--text);padding:0;width:min(340px,calc(100vw - 40px));box-shadow:0 24px 60px #00000073}#confirm-modal::backdrop{background:#0000008c}#confirm-modal,#ask-modal{margin:auto;height:fit-content}#confirm-form{display:flex;flex-direction:column;gap:10px;padding:22px 20px 16px}#confirm-form h3{margin:0;font-size:17px}#confirm-form p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}#confirm-form footer{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}#confirm-form footer button{border:none;border-radius:12px;padding:11px 18px;font-size:15px;font-weight:600;cursor:pointer;background:var(--card);color:var(--text)}#confirm-form footer button.danger{background:var(--danger);color:#fff}#ask-modal{border:none;border-radius:16px;background:var(--bg);color:var(--text);padding:0;width:min(360px,calc(100vw - 32px))}#ask-modal::backdrop{background:#00000080}#ask-form{display:flex;flex-direction:column;gap:12px;padding:18px}#ask-form h3{margin:0;font-size:16px}#ask-input{padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);font-size:15px}#ask-form footer{display:flex;justify-content:flex-end;gap:8px}#ask-form footer button{border:none;border-radius:10px;padding:9px 16px;font-size:14.5px;cursor:pointer;background:none;color:var(--muted)}.sel-bar{display:flex;align-items:center;gap:10px;flex:0 0 auto;position:relative;margin:0 14px 8px;padding:8px 10px 8px 14px;border-radius:12px;background:var(--accent);color:#fff;flex-wrap:wrap}.sel-count{font-size:14px;font-weight:600;flex:1;white-space:nowrap}.sel-actions{display:flex;gap:6px;flex-wrap:wrap}.sel-btn{border:none;border-radius:8px;background:#ffffff2e;color:#fff;font-size:13px;font-weight:600;padding:7px 12px;cursor:pointer;white-space:nowrap}.sel-btn:hover{background:#ffffff4d}.sel-btn.danger{background:#00000038}.sel-menu{position:absolute;top:calc(100% + 6px);left:14px;z-index:40;display:flex;flex-direction:column;min-width:170px;padding:6px;border-radius:12px;background:var(--card);box-shadow:0 12px 30px #00000059}.sel-menu button{border:none;background:none;color:var(--text);text-align:left;padding:9px 12px;border-radius:8px;font-size:14px;cursor:pointer}.sel-menu button:hover{background:var(--lane)}.card.selectable{cursor:pointer}.card.selected{outline:2px solid var(--accent);outline-offset:-2px;background:color-mix(in srgb,var(--accent) 12%,var(--card))}.cal-year{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-bottom:12px}.cal-ymonth{background:var(--lane);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;min-height:0}.cal-ymonth-head{border:none;background:none;color:var(--text);font-size:var(--yhead, 12.5px);font-weight:700;cursor:pointer;padding:0 0 6px 2px}.cal-ymonth-head:hover{color:var(--accent)}.cal-ydow,.cal-ygrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-ygrid{flex:1;grid-auto-rows:minmax(15px,1fr);align-content:stretch}.cal-ydow span{text-align:center;font-size:var(--ydow, 8px);color:var(--muted);text-transform:uppercase}.cal-yday{border:none;background:none;color:var(--text);font-size:var(--yday, 10px);min-height:15px;min-width:0;border-radius:5px;display:grid;place-items:center;cursor:pointer;padding:0;font-variant-numeric:tabular-nums;touch-action:pan-y}.cal-yday:hover{background:var(--card)}.cal-yday.today{background:var(--accent);color:#fff;font-weight:700}.cal-yday.tinted{background:color-mix(in srgb,var(--c, var(--accent)) 30%,transparent)}.cal-yday.has{box-shadow:inset 0 -2px color-mix(in srgb,var(--accent) 55%,transparent)}.cal-yday.sweeping{background:color-mix(in srgb,var(--accent) 45%,transparent)!important}.cal-ad-cell.sweeping{background:color-mix(in srgb,var(--accent) 28%,transparent)!important}.chip.due-today{color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent);font-weight:600}.chip.due-late{color:var(--danger);background:color-mix(in srgb,var(--danger) 15%,transparent);font-weight:600}.chip.due-future{color:var(--muted);background:var(--lane)}.kind-switch{display:flex;gap:2px;background:var(--lane);border-radius:999px;padding:2px;align-self:flex-start}.kind-switch button{border:none;background:none;color:var(--muted);border-radius:999px;padding:5px 15px;font-size:13px;font-weight:600;cursor:pointer}.kind-switch button.active{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.lane.routines{background:color-mix(in srgb,var(--accent) 8%,var(--lane))}.lane.routines>header h2{color:var(--accent)}.cal-bar{display:flex;align-items:center;gap:5px}.cal-bar .bar-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-bar .bar-box{flex:none;font-size:11px;line-height:1;opacity:.9}.cal-bar.is-task{background:var(--card);color:var(--text);font-weight:500;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c, var(--accent)) 45%,transparent)}.cal-bar.is-task .bar-box{color:var(--c, var(--accent))}.cal-bar.is-task.dot{background:none;box-shadow:none;padding-left:4px}.cal-bar.is-task.dot:before{display:none}.cal-bar.is-event{background:color-mix(in srgb,var(--c, var(--accent)) 82%,var(--card));color:#fff;font-weight:600}.cal-bar.is-event.dot{background:none;color:var(--text);font-weight:500;padding-left:14px}.cal-event .ev-box{font-size:11px;margin-right:4px;opacity:.85}.cal-event.is-event{border-left-width:4px;background:color-mix(in srgb,var(--c, var(--accent)) 34%,var(--card))}.cal-event.is-task{background:var(--card);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c, var(--accent)) 40%,transparent)}.cal-event.is-task.auto{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--c, var(--accent)) 13%,var(--card)) 0 7px,color-mix(in srgb,var(--c, var(--accent)) 6%,var(--card)) 7px 14px)}.cal-months{flex:1;min-height:0;overflow-y:auto;scroll-behavior:auto;overscroll-behavior:contain}.cal-month{min-height:78vh;padding-bottom:18px;display:flex;flex-direction:column}.cal-month-label{position:sticky;top:0;z-index:6;padding:6px 2px 8px;font-size:15px;font-weight:700;color:var(--text);background:linear-gradient(var(--bg) 70%,transparent)}.note-wrap{position:relative}#card-content{display:block;width:100%;min-height:84px;max-height:34vh;overflow-y:auto}.note-size{position:absolute;right:10px;bottom:8px;display:flex;gap:4px;opacity:.55}.note-size button{border:none;background:var(--lane);color:var(--muted);border-radius:7px;padding:3px 8px;font-size:12px;cursor:pointer}.note-size button:hover{color:var(--text)}.quick{display:flex;flex-direction:column;gap:8px}.quick-row{display:flex;align-items:center;gap:10px}.quick-label{flex:0 0 58px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.pill-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex:1;min-width:0}.pill{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.pill.on{background:var(--accent);border-color:var(--accent);color:#fff}#color-row .swatch{width:24px;height:24px}#sheet-modal{border:none;background:none;padding:0;width:min(420px,calc(100vw - 20px));margin:auto auto 10px}#sheet-modal::backdrop{background:#00000073}#sheet-body{background:var(--bg);border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:2px;max-height:80vh;overflow-y:auto}.sheet-title{padding:10px 14px 12px;font-size:15px;font-weight:700;color:var(--text);overflow-wrap:anywhere}.sheet-btn{border:none;background:var(--card);color:var(--text);text-align:left;padding:14px 16px;border-radius:12px;font-size:15.5px;cursor:pointer}.sheet-btn:hover{background:var(--lane)}.sheet-btn.ok{color:var(--ok);font-weight:600}.sheet-btn.danger{color:var(--danger)}.sheet-btn.move{padding-left:26px}.sheet-sep{height:6px}.sheet-cancel{margin-top:6px;border:none;background:var(--card);color:var(--muted);border-radius:12px;padding:14px;font-size:15.5px;font-weight:600;cursor:pointer}.card.swipe-ok{background:color-mix(in srgb,var(--ok) 20%,var(--card))}@keyframes lane-in-left{0%{transform:translate(26%);opacity:.4}to{transform:none;opacity:1}}@keyframes lane-in-right{0%{transform:translate(-26%);opacity:.4}to{transform:none;opacity:1}}.board.phone.slide-left{animation:lane-in-left .22s cubic-bezier(.22,.7,.3,1)}.board.phone.slide-right{animation:lane-in-right .22s cubic-bezier(.22,.7,.3,1)}#fab{position:fixed;right:18px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:900;width:58px;height:58px;border:none;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px #00000052}#fab:active{transform:scale(.94)}#fab-board{position:fixed;right:24px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:900;width:46px;height:46px;border:none;border-radius:50%;background:var(--card);color:var(--text);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px #0000004d}#fab-board:active{transform:scale(.94)}#fab-board[hidden]{display:none}#menu-scrim{position:fixed;inset:0;z-index:1190;background:#0000002e}#card-menu{position:fixed;z-index:1200;background:var(--card);border-radius:14px;padding:6px;box-shadow:0 14px 36px #0006;display:flex;flex-direction:column;gap:4px;max-width:min(320px,calc(100vw - 16px))}#card-menu[hidden],#menu-scrim[hidden]{display:none}.cm-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.cm-row .cm-x{margin-left:auto}.cm-row .cm-btn{flex:0 0 auto;white-space:nowrap}.cm-hint{font-size:12px;color:var(--muted);padding:0 6px;flex:0 0 auto}.cm-btn{border:none;background:var(--lane);color:var(--text);border-radius:10px;padding:10px 14px;font-size:16px;line-height:1;cursor:pointer}.cm-btn:hover{background:color-mix(in srgb,var(--accent) 18%,var(--lane))}.cm-btn.ok{color:var(--ok)}.cm-btn.danger{color:var(--danger)}.cm-btn.cm-lane{font-size:13px;font-weight:600;padding:9px 13px}.cm-btn.cm-x{font-size:17px;padding:7px 13px;color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,var(--lane))}#repeat-modal{border:none;border-radius:16px;background:var(--bg);color:var(--text);padding:0;width:min(340px,calc(100vw - 28px))}#repeat-modal::backdrop{background:#00000080}.repeat-body{padding:16px}.repeat-body h3{margin:0 0 10px;font-size:16px}#repeat-list{display:flex;flex-direction:column;gap:2px}.repeat-opt{border:none;background:none;color:var(--text);text-align:left;padding:12px 14px;border-radius:10px;font-size:15px;cursor:pointer}.repeat-opt:hover{background:var(--lane)}.repeat-opt.on{background:var(--accent);color:#fff;font-weight:600}.pill.wide{flex:1;text-align:left;font-weight:500}#fab.back{background:var(--card);color:var(--text);box-shadow:0 6px 18px #00000047}#view.sliding{position:relative;overflow:hidden}#view.sliding>.pane{position:absolute;inset:0;will-change:transform;display:flex;flex-direction:column}#update-pill{flex:0 0 auto;white-space:nowrap;max-width:46vw;overflow:hidden;text-overflow:ellipsis}#update-pill:disabled{opacity:.65}#tabs{min-width:0}
