:root{color-scheme:dark;--bg: #0b0f14;--surface: #111720;--surface-2: #17202b;--surface-3: #202b38;--text: #f4f7fb;--muted: #8d9aaa;--line: rgba(255, 255, 255, .08);--accent: #7c6df2;--accent-2: #9f92ff;--danger: #ff6b7d;--success: #42c98a;--warning: #f4b95f;--shadow: 0 22px 70px rgba(0, 0, 0, .38);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}:root[data-theme=light]{color-scheme:light;--bg: #f3f5f9;--surface: #ffffff;--surface-2: #f7f8fb;--surface-3: #e9edf4;--text: #172033;--muted: #687387;--line: rgba(23, 32, 51, .1);--shadow: 0 22px 70px rgba(38, 48, 69, .15)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.shell{min-height:100vh;padding-bottom:max(28px,env(safe-area-inset-bottom))}.topbar{height:62px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;border:0;background:transparent;font-weight:760;font-size:17px;cursor:pointer}.brand-mark{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(145deg,#6d5fe8,#9c73eb);box-shadow:0 7px 22px #7c6df257;font-weight:850}.brand-mark.large{width:54px;height:54px;border-radius:17px;font-size:23px}.avatar{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--surface-2);font-weight:800;cursor:pointer}.section-tabs{display:flex;gap:4px;padding:10px 18px 4px;max-width:1260px;margin:0 auto}.section-tabs button{border:0;padding:9px 14px;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer;font-weight:670}.section-tabs button.active{background:var(--surface-2);color:var(--text)}.count{margin-left:7px;padding:1px 6px;border-radius:10px;background:var(--surface-3);font-size:11px}.board-strip{display:flex;gap:8px;padding:8px 18px 16px;overflow-x:auto;scrollbar-width:none;max-width:1260px;margin:0 auto}.board-strip::-webkit-scrollbar{display:none}.board-pill{border:1px solid var(--line);background:var(--surface);padding:9px 12px;border-radius:12px;display:flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;color:var(--muted)}.board-pill.selected{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.board-pill small{min-width:19px;padding:1px 5px;background:var(--surface-3);border-radius:8px;text-align:center}.add-board{border-style:dashed}.content{max-width:1224px;margin:0 auto;padding:12px 18px 50px}.board-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:8px 0 22px}.board-heading h1{margin:3px 0 0;font-size:clamp(28px,5vw,42px);letter-spacing:-.04em}.eyebrow{color:var(--accent-2);font-size:12px;font-weight:780;text-transform:uppercase;letter-spacing:.1em}.board-actions{display:flex;align-items:center;gap:8px}.view-switch{display:flex;padding:3px;background:var(--surface);border:1px solid var(--line);border-radius:11px}.view-switch button,.icon-button{border:0;background:transparent;border-radius:8px;height:34px;min-width:34px;cursor:pointer;color:var(--muted)}.view-switch button.active{background:var(--surface-3);color:var(--text)}.icon-button{background:var(--surface);border:1px solid var(--line);font-size:20px}.primary,.secondary,.danger{border:0;border-radius:11px;padding:10px 15px;cursor:pointer;font-weight:720}.primary{background:linear-gradient(135deg,var(--accent),#9a6ee9);color:#fff;box-shadow:0 8px 22px #7c6df238}.secondary{background:var(--surface-3);color:var(--text)}.danger{background:color-mix(in srgb,var(--danger) 15%,var(--surface));color:var(--danger)}button:disabled{opacity:.45;cursor:default;box-shadow:none}.add-card{margin-bottom:16px}.text-button{border:0;background:none;color:var(--accent-2);cursor:pointer}.card-list{display:grid;gap:9px}.card{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:15px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.card.completed h3{text-decoration:line-through;color:var(--muted)}.check{width:22px;height:22px;flex:0 0 auto;border:1.5px solid var(--muted);border-radius:7px;background:transparent;cursor:pointer;margin-top:1px}.check.checked{background:var(--success);border-color:var(--success);color:#062719;font-weight:900}.card-main{min-width:0;flex:1}.card h3{margin:0;font-size:15px;line-height:1.35}.card p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--muted);font-size:11px;margin-top:10px}.card-meta .overdue{color:var(--danger)}.tag{--tag-color: #8b5cf6;background:color-mix(in srgb,var(--tag-color) 18%,transparent);color:color-mix(in srgb,var(--tag-color) 72%,white);padding:2px 7px;border-radius:7px}.status-chip{padding:4px 8px;border-radius:8px;font-size:10px;white-space:nowrap;color:var(--muted);background:var(--surface-2)}.status-chip.in_progress{color:var(--warning)}.status-chip.done{color:var(--success)}.kanban{display:grid;grid-template-columns:repeat(4,minmax(230px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.kanban-column{min-height:220px;background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--line);border-radius:16px;padding:10px}.kanban-column>header{display:flex;align-items:center;gap:8px;padding:4px 4px 12px;font-size:12px;font-weight:750;color:var(--muted)}.kanban-column>header small{margin-left:auto;background:var(--surface-3);padding:2px 6px;border-radius:7px}.kanban-column>div{display:grid;gap:8px}.kanban-column .card{padding:12px;display:grid;grid-template-columns:auto 1fr}.kanban-column .status-chip{display:none}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.status-dot.todo{background:#6695f1}.status-dot.in_progress{background:var(--warning)}.status-dot.done{background:var(--success)}.empty{min-height:390px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--muted)}.empty h2{color:var(--text);margin:18px 0 4px}.empty p{max-width:340px;margin:0 0 20px;line-height:1.55}.empty-illustration{width:118px;height:88px;position:relative}.empty-illustration span{position:absolute;width:70px;height:48px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.empty-illustration span:nth-child(1){left:0;top:28px;transform:rotate(-8deg)}.empty-illustration span:nth-child(2){right:0;top:28px;transform:rotate(8deg)}.empty-illustration span:nth-child(3){left:24px;top:4px;background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.error-banner{position:sticky;top:70px;z-index:15;margin-bottom:12px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;border:1px solid color-mix(in srgb,var(--danger) 38%,var(--line));background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-radius:12px;color:var(--danger);font-size:13px}.error-banner button{border:0;background:none;font-size:20px;color:inherit;cursor:pointer}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#03060ab3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:grid;place-items:end center;padding-top:20px}.modal{width:min(560px,100%);max-height:calc(100vh - 24px);overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:22px 22px 0 0;box-shadow:var(--shadow);animation:modal-in .2s ease-out}.modal.wide{width:min(840px,100%)}.modal>header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.modal>header h2{margin:0;font-size:18px}.modal>header button{width:34px;height:34px;border:0;border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:20px;cursor:pointer}.modal-body{padding:20px;overflow-y:auto;max-height:calc(100vh - 90px)}@keyframes modal-in{0%{transform:translateY(25px);opacity:0}}.form-stack{display:grid;gap:16px}.form-stack label{display:grid;gap:7px}.form-stack label>span,.label-row{color:var(--muted);font-size:12px;font-weight:670}.form-stack input,.form-stack textarea,.form-stack select,.member select,.invite-result input{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text);padding:11px 12px}.form-stack textarea{resize:vertical;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:6px}.dialog-actions.split{justify-content:space-between;align-items:center}.dialog-actions>div{display:flex;gap:8px}.label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.tag-picker{display:flex;flex-wrap:wrap;gap:7px}.tag-picker button{--tag-color: #8b5cf6;border:1px solid color-mix(in srgb,var(--tag-color) 32%,var(--line));background:transparent;color:var(--muted);border-radius:9px;padding:6px 9px;cursor:pointer}.tag-picker button.selected{color:color-mix(in srgb,var(--tag-color) 72%,white);background:color-mix(in srgb,var(--tag-color) 18%,transparent)}.reminders{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-wrap:wrap;gap:10px 16px}.reminders legend{color:var(--muted);padding:0 6px;font-size:12px}.reminders label{display:flex;align-items:center;grid-template-columns:auto 1fr;gap:7px;font-size:12px}.reminders input{width:auto}.share-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px}.share-grid h3{margin:0 0 12px;font-size:14px}.member-list{display:grid;gap:8px}.member{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px;border-radius:12px;background:var(--surface-2)}.member-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--accent) 20%,var(--surface-3));font-weight:800;color:var(--accent-2)}.member-avatar.large{width:52px;height:52px;border-radius:16px;font-size:20px}.member strong,.member small,.profile-card strong,.profile-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member strong{font-size:13px}.member small,.profile-card small{color:var(--muted);margin-top:2px}.member select{width:108px;padding:7px}.member .remove{border:0;background:transparent;color:var(--danger);cursor:pointer}.role-badge{font-size:10px;color:var(--muted);background:var(--surface-3);padding:4px 7px;border-radius:7px}.share-actions{display:grid;align-content:start;gap:10px}.share-actions label{display:grid;gap:7px;color:var(--muted);font-size:12px}.share-actions select{border:1px solid var(--line);border-radius:11px;padding:10px;background:var(--surface-2);color:var(--text)}.share-actions p{color:var(--muted);font-size:12px;line-height:1.5;margin:-4px 0 4px}.share-actions hr{border:0;border-top:1px solid var(--line);width:100%;margin:10px 0}.invite-result{display:grid;gap:7px}.fallback-code{background:var(--surface-2);border-radius:11px;padding:10px}.fallback-code code{display:block;color:var(--accent-2);margin-bottom:5px}.fallback-code small{color:var(--muted);line-height:1.4}.profile-card{display:flex;align-items:center;gap:12px;padding:12px;background:var(--surface-2);border-radius:14px}.splash{min-height:100vh;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted);text-align:center;padding:24px}.splash p{max-width:380px}@media(min-width:700px){.modal-backdrop{place-items:center;padding:24px}.modal{border-radius:22px}}@media(max-width:699px){.topbar,.section-tabs,.board-strip,.content{padding-left:14px;padding-right:14px}.kanban{grid-template-columns:repeat(4,82vw);margin-right:-14px;padding-right:14px}.share-grid,.form-grid{grid-template-columns:1fr}.board-heading{align-items:center}.board-heading h1{font-size:30px}.status-chip{display:none}.member{grid-template-columns:auto minmax(0,1fr) auto}.member .remove{grid-column:3}}
