: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)}@media(prefers-color-scheme:dark){:root{--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)}}*{box-sizing:border-box}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 .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}#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%}.board{height:100%;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:0 0 min(86vw,320px);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}.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.due.overdue{color:#fff;background:var(--danger)}.chip.due.today{color:#fff;background:var(--warn)}.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,.journal{height:100%;overflow-y:auto;padding:4px 0 calc(20px + 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}.journal-editor{display:block;width:calc(100% - 28px);margin:0 14px;min-height:130px;resize:vertical;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);padding:12px;font:14px/1.55 ui-monospace,SF Mono,Menlo,monospace}.journal-preview{margin:10px 14px;padding:0 2px}.day-picker{display:flex;gap:6px;overflow-x:auto;padding:10px 14px 2px}.day-picker button{border:1px solid var(--border);background:var(--card);color:var(--muted);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer;white-space:nowrap}.day-picker button.active{background:var(--accent);border-color:var(--accent);color:#fff}#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:16px;background:var(--bg);color:var(--text);padding:0;width:min(680px,calc(100vw - 24px))}dialog::backdrop{background:#0000008c}@media(max-width:600px){dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;margin:0;border-radius:0}}#card-form{display:flex;flex-direction:column;gap:10px;padding:16px;height:100%}#card-title{border:none;background:none;color:var(--text);font-size:19px;font-weight:700;padding:4px 2px}#card-title:focus{outline:none;border-bottom:2px solid var(--accent)}.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:32vh;resize:vertical;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);padding:12px;font:14px/1.55 ui-monospace,SF Mono,Menlo,monospace}#card-preview{flex:1;min-height:32vh;overflow-y:auto;border:1px solid var(--border);border-radius:10px;background:var(--card);padding:4px 14px}.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}.card-meta{display:flex;gap:8px;flex-wrap:wrap}.card-meta input,.card-meta 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}#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}
