:root{--bg:#f4f5f8;--surface:#fff;--surface-2:#eef0f4;--surface-3:#e3e6ec;--column:#ebedf2;--border:#dcdfe6;--text:#1c2030;--text-2:#4b5266;--muted:#7a8196;--accent:#2580c3;--brand-orange:#ec6a3f;--danger:#dc2626;--warn:#d97706;--ok:#16a34a;--shadow:0 1px 2px #0000000f, 0 1px 3px #0000001a;--shadow-lg:0 10px 40px #0003;--radius:10px;--on-accent:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14161c;--surface:#1d2028;--surface-2:#252935;--surface-3:#2e3341;--column:#191c23;--border:#303544;--text:#e6e8ef;--text-2:#b4b9c8;--muted:#868c9f;--accent:#4fb0ec;--danger:#f87171;--warn:#fbbf24;--ok:#4ade80;--shadow:0 1px 2px #0006;--shadow-lg:0 10px 40px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#14161c;--surface:#1d2028;--surface-2:#252935;--surface-3:#2e3341;--column:#191c23;--border:#303544;--text:#e6e8ef;--text-2:#b4b9c8;--muted:#868c9f;--accent:#4fb0ec;--danger:#f87171;--warn:#fbbf24;--ok:#4ade80;--shadow:0 1px 2px #0006;--shadow-lg:0 10px 40px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{--accent-soft:color-mix(in srgb, var(--accent) 15%, transparent)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html{font-size:14px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:1rem/1.45 Inter,Segoe UI,system-ui,-apple-system,Noto Sans,sans-serif}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}input,textarea,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:7px;outline:none;padding:6px 9px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;margin:0}textarea{resize:vertical;width:100%}h1{margin:0 0 4px;font-size:26px}h2{align-items:center;gap:8px;margin:28px 0 12px;font-size:18px;display:flex}h3{align-items:center;gap:7px;margin:0 0 10px;font-size:14px;display:flex}h4{color:var(--text-2);align-items:center;gap:7px;margin:0 0 8px;font-size:13px;display:flex}code{background:var(--surface-2);word-break:break-all;border-radius:5px;padding:1px 6px;font-size:12px}kbd{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-bottom-width:2px;border-radius:4px;padding:0 5px;font:11px ui-monospace,monospace}.row{align-items:center;display:flex}.row.wrap,.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.gap{gap:10px}.gap-sm{gap:6px}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.pad{padding:16px}.pad-sm{padding:6px 8px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.danger-text{color:var(--danger)}.ok-text{color:var(--ok)}.dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.btn{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:7px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--surface-3)}.btn>svg{flex-shrink:0}.btn:disabled{opacity:.5;cursor:default}.btn.sm{padding:4px 10px;font-size:13px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--danger)}.btn.danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.accent{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.icon-btn{color:var(--text-2);border-radius:6px;justify-content:center;align-items:center;padding:5px;display:inline-flex}.icon-btn:hover{background:var(--surface-3);color:var(--text)}.icon-btn.tiny{padding:3px}.icon-btn.danger:hover{color:var(--danger)}.icon-btn.starred{color:#eab308}.link{color:var(--accent);text-align:left;align-items:center;gap:5px;display:inline-flex}.link:hover{text-decoration:underline}.seg{background:var(--surface-2);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--text-2);border-radius:6px;padding:4px 10px;font-size:13px}.seg button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow), inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent);font-weight:600}.seg.wrap{flex-wrap:wrap}.app{height:100%;display:flex}.app:not(.phone){box-sizing:border-box;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:2px;width:240px;padding:14px 10px;display:flex;overflow-y:auto}.brand{color:var(--accent);align-items:center;gap:9px;padding:6px 8px 16px;font-size:17px;font-weight:700;display:flex}.brand span{color:var(--text)}.nav-item{color:var(--text-2);text-align:left;border-radius:7px;align-items:center;gap:10px;width:100%;padding:7px 10px;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.search-trigger{border:1px solid var(--border);margin-bottom:6px}.search-trigger kbd{margin-left:auto}.nav-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;align-items:center;gap:6px;padding:16px 10px 6px;font-size:11px;font-weight:600;display:flex}.nav-heading:has(svg:first-child){justify-content:flex-start}.board-dot{border-radius:3px;flex-shrink:0;width:10px;height:10px}.nav-input{width:100%;margin:4px 0}.main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.page{flex:1;min-height:0;padding:28px 36px 60px;overflow-y:auto}.save-error{background:var(--danger);color:#fff;padding:6px 14px;font-size:13px}.fatal{max-width:700px;padding:40px}.fatal pre{white-space:pre-wrap;background:var(--surface-2);border-radius:8px;padding:12px}.board-page{flex-direction:column;flex:1;min-height:0;display:flex}.board-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 20px;display:flex}.board-swatch{border-radius:4px;width:14px;height:14px}.board-title{font-size:18px;font-weight:700}.view-tabs{gap:2px;margin-left:14px;display:flex}.view-tabs button{color:var(--text-2);border-radius:7px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;font-weight:500;display:flex}.view-tabs button:hover{background:var(--surface-2)}.view-tabs button.active{background:var(--accent-soft);color:var(--accent)}.toolbar{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:8px;padding:8px 20px;display:flex}.search-box{background:var(--surface-2);color:var(--muted);border-radius:7px;align-items:center;gap:6px;width:240px;padding:0 8px;display:flex}.search-box input{box-shadow:none;background:0 0;border:none;flex:1;padding:6px 0}.group-by{color:var(--text-2);align-items:center;gap:8px;font-size:13px;display:flex}.group-by select{padding:4px 8px}.board-content{flex:1;min-height:0;overflow:auto}.inline-edit{cursor:text;border-radius:5px;margin:-1px -4px;padding:1px 4px}.inline-edit:hover{background:var(--surface-2)}.inline-input{width:100%;padding:2px 6px}.kanban{align-items:flex-start;gap:12px;min-width:max-content;height:100%;padding:16px 20px;display:flex}.column{background:var(--column);border-top:3px solid var(--board,var(--accent));border-radius:12px;flex-direction:column;flex-shrink:0;width:290px;max-height:100%;display:flex}.column.over-limit{box-shadow:inset 0 0 0 2px var(--danger)}.column-header{cursor:grab;align-items:center;gap:8px;padding:10px 10px 6px 12px;display:flex}.column-title{flex:1;min-width:0;font-weight:600}.count{color:var(--muted);background:var(--surface-2);border-radius:10px;padding:0 7px;font-size:12px;font-weight:500}.count.danger{color:#fff;background:var(--danger)}.column-body{flex-direction:column;flex:1;gap:8px;min-height:40px;padding:4px 8px;display:flex;overflow-y:auto}.column.collapsed{cursor:pointer;width:44px}.collapsed-inner{flex-direction:column;align-items:center;gap:10px;width:100%;padding:12px 0;display:flex}.vertical{writing-mode:vertical-rl;font-weight:600}.add-card-btn{color:var(--text-2);border-radius:7px;align-items:center;gap:6px;margin:4px 8px 8px;padding:7px 8px;display:flex}.add-card-btn:hover{background:var(--surface-3);color:var(--text)}.add-card-form,.add-list-form{flex-direction:column;gap:6px;padding:6px 8px 10px;display:flex}.add-list-form{padding:10px}.add-list-btn{background:var(--surface-2);width:260px;color:var(--text-2);border:1px dashed var(--border);border-radius:12px;flex-shrink:0;align-items:center;gap:6px;padding:11px 14px;font-weight:500;display:flex}.add-list-btn:hover{background:var(--surface-3);color:var(--text)}.wip-input{width:64px;margin-left:auto;padding:2px 6px}.card-tile{background:var(--surface);box-shadow:var(--shadow);cursor:pointer;border:1px solid #0000;border-radius:9px;flex-direction:column;gap:6px;padding:9px 10px;display:flex;overflow:hidden}.card-tile:hover{border-color:var(--accent)}.card-tile:focus-visible{outline:2px solid var(--accent)}.card-tile.dragging{box-shadow:var(--shadow-lg);transform:rotate(2.5deg)}.card-tile.done .card-title{color:var(--muted);text-decoration:line-through}.card-cover{height:30px;margin:-9px -10px 2px}.card-labels{flex-wrap:wrap;gap:4px;display:flex}.label-pill{color:#fff;white-space:nowrap;text-shadow:0 1px 1px #0003;border-radius:10px;padding:1px 8px;font-size:11px;font-weight:600}.card-title-row{align-items:flex-start;gap:7px;display:flex}.card-title{word-break:break-word;flex:1}.progress-toggle{padding-top:2px;display:inline-flex}.progress-toggle:hover{transform:scale(1.15)}.prog-done{color:var(--ok)}.prog-doing{color:#3b82f6}.prog-todo{color:var(--muted)}.card-badges{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.card-badges:empty{display:none}.badge{color:var(--text-2);border:1px solid var(--border);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:0 6px;font-size:11.5px;line-height:20px;display:inline-flex}.badge.icon-only{padding:0 4px}.badge.subtle{background:var(--surface-2)}.due-overdue.badge{background:var(--danger);color:#fff;border-color:var(--danger)}.due-today.badge{background:var(--warn);color:#fff;border-color:var(--warn)}.due-soon.badge{color:var(--warn);border-color:var(--warn)}.due-done.badge{background:var(--ok);color:#fff;border-color:var(--ok)}.due-text.due-overdue{color:var(--danger);font-weight:600}.due-text.due-today{color:var(--warn);font-weight:600}.card-avatars{margin-left:auto;display:inline-flex}.card-avatars .avatar+.avatar{margin-left:-6px}.avatar{color:#fff;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.drag-overlay{cursor:grabbing;width:274px}.list-view{padding:16px 20px}.list-add{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:9px;align-items:center;gap:8px;margin-bottom:12px;padding:4px 10px;display:flex}.list-add input{min-width:0;box-shadow:none;background:0 0;border:none;flex:1}.list-add select{text-overflow:ellipsis;flex-shrink:1;min-width:0;max-width:45%}.table{border-collapse:collapse;background:var(--surface);width:100%;min-width:1150px;box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:9px 10px;font-size:12px;font-weight:600}.table th svg{vertical-align:-2px;margin-left:3px}.table .title-cell{min-width:260px}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 10px}.table tr:last-child td{border-bottom:none}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:var(--surface-2)}.table tr.done .title-cell{color:var(--muted);text-decoration:line-through}.table select{background:0 0;border-color:#0000;max-width:100%;padding:3px 4px}.table select:hover{border-color:var(--border)}.calendar-wrap{gap:16px;height:100%;padding:16px 20px;display:flex}.calendar{flex-direction:column;flex:1;min-width:0;display:flex}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal-toolbar h2{min-width:150px;margin:0 8px;font-size:17px}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.cal-grid.head div{color:var(--muted);padding:4px 8px;font-size:12px;font-weight:600}.cal-grid.body{background:var(--border);border:1px solid var(--border);border-radius:10px;flex:1;gap:1px;overflow:hidden}.cal-day{background:var(--surface);flex-direction:column;min-height:0;padding:4px 6px;display:flex;overflow:hidden}.cal-day.other{background:var(--surface-2)}.cal-day.other .num{color:var(--muted)}.cal-day.today .num{background:var(--accent);color:var(--on-accent);text-align:center;border-radius:50%;width:24px}.cal-day.drop,.cal-side.drop{box-shadow:inset 0 0 0 2px var(--accent)}.cal-day-head{justify-content:space-between;align-items:center;display:flex}.cal-day-head .num{font-size:12px;font-weight:600;line-height:24px}.cal-day-head .icon-btn{opacity:0}.cal-day:hover .cal-day-head .icon-btn{opacity:1}.cal-chips{flex-direction:column;gap:3px;display:flex;overflow-y:auto}.cal-chip{background:var(--surface-2);cursor:pointer;border-left:3px solid;border-radius:5px;align-items:center;gap:5px;padding:2px 6px;font-size:12px;display:flex}.cal-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cal-chip.done span{color:var(--muted);text-decoration:line-through}.cal-chip:hover{background:var(--surface-3)}.cal-side{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex-shrink:0;gap:4px;width:230px;padding:12px;display:flex;overflow-y:auto}.timeline{flex-direction:column;height:100%;padding:16px 20px;display:flex}.timeline .seg{margin-left:12px}.tl-scroll{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex:1;overflow:auto}.tl-header{background:var(--surface);z-index:2;border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.tl-label-col{background:var(--surface);z-index:1;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid var(--border);flex-shrink:0;width:220px;padding:0 12px;position:sticky;left:0;overflow:hidden}.tl-row .tl-label-col{cursor:pointer;line-height:34px}.tl-row .tl-label-col:hover{color:var(--accent)}.tl-day{flex-direction:column;flex-shrink:0;align-items:center;padding:4px 0;font-size:11px;display:flex}.tl-day.weekend{background:var(--surface-2)}.tl-day.today{color:var(--accent);font-weight:700}.tl-group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;width:max-content;padding:8px 12px 4px;font-size:12px;font-weight:600;position:sticky;left:0}.tl-row{height:34px;display:flex}.tl-track{display:flex;position:relative}.tl-cell{border-right:1px solid #0000;flex-shrink:0;height:100%}.tl-cell.weekend{background:var(--surface-2)}.tl-cell.today{background:var(--accent-soft)}.tl-bar{color:#fff;text-align:left;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 1px #0004;border-radius:6px;min-width:14px;height:22px;padding:0 8px;font-size:12px;font-weight:500;position:absolute;top:6px;overflow:hidden}.tl-bar:hover{filter:brightness(1.1);box-shadow:var(--shadow)}.tl-bar.done{opacity:.6}.charts{flex-direction:column;gap:16px;max-width:1200px;padding:20px;display:flex}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat-tile{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.stat-label{color:var(--text-2);align-items:center;gap:6px;font-size:12px;display:flex}.stat-value{font-size:28px;font-weight:700}.stat-value small{color:var(--muted);font-size:14px;font-weight:500}.panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.chart-row{grid-template-columns:110px 1fr 36px;align-items:center;gap:10px;padding:4px 0;display:grid}.chart-label{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.chart-track{height:16px}.chart-stack{gap:2px;min-width:2px;height:100%;display:flex}.chart-seg{min-width:3px;height:100%}.chart-seg:first-child{border-radius:4px 0 0 4px}.chart-seg:last-child{border-radius:0 4px 4px 0}.chart-seg:only-child{border-radius:4px}.chart-seg:hover{filter:brightness(1.15)}.chart-value{text-align:right;font-size:13px;font-weight:600}.legend{color:var(--text-2);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:12px;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.home h1{margin-top:4px}.home-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;margin-top:20px;display:grid}.panel.danger h3{color:var(--danger)}.panel.warn h3{color:var(--warn)}.home-list{margin:0;padding:0;list-style:none}.home-list.panel{padding:6px 16px}.home-task{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:7px 4px;font-size:13.5px;display:flex}.home-task:last-child{border-bottom:none}.home-task:hover{background:var(--surface-2)}.board-tag{color:var(--c);background:color-mix(in srgb, var(--c) 15%, transparent);white-space:nowrap;border-radius:9px;padding:0 7px;font-size:11px}.board-tiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.board-tile{text-align:left;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #0000;flex-direction:column;gap:6px;padding:22px 16px 14px;display:flex;position:relative;overflow:hidden}.board-tile:not(.new):hover{border-color:var(--accent)}.tile-band{height:6px;position:absolute;top:0;left:0;right:0}.tile-title{font-size:15px;font-weight:650}.board-tile.new{border:1px dashed var(--border);box-shadow:none;gap:10px;padding-top:14px}.progress-bar{background:var(--surface-3);border-radius:4px;height:6px;margin:6px 0;display:block;overflow:hidden}.progress-bar>span{background:var(--ok);border-radius:4px;height:100%;transition:width .2s;display:block}.modal-backdrop{z-index:50;background:#0008;justify-content:center;align-items:flex-start;padding:6vh 20px;animation:.12s fade;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);width:100%;box-shadow:var(--shadow-lg);border-radius:14px;animation:.14s pop;position:relative}.modal.confirm{padding:20px}.modal.confirm p{margin:0 0 18px}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}.card-detail{padding:0 0 20px}.detail-cover{border-radius:14px 14px 0 0;height:64px}.card-detail .close{background:var(--surface);position:absolute;top:10px;right:10px}.archived-banner{background:var(--warn);color:#fff;align-items:center;gap:10px;padding:8px 20px;font-weight:500;display:flex}.detail-head{flex-direction:column;gap:4px;padding:20px 56px 8px 24px;display:flex}.detail-title{font-size:20px;font-weight:700}.detail-grid{grid-template-columns:1fr 250px;gap:24px;padding:8px 24px 0;display:grid}.detail-main{flex-direction:column;gap:22px;min-width:0;display:flex}.detail-side{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field>label,.field-row>label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px;font-weight:600}.field select,.field input[type=date]{width:100%}.field-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.side-actions{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:8px;padding-top:12px;display:flex}.side-actions .btn{justify-content:flex-start}.desc{background:var(--surface-2);border-color:#0000;min-height:70px}.desc:focus{background:var(--surface)}.label-toggle{border:1.5px solid var(--c);color:var(--c);border-radius:12px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.label-toggle.on{background:var(--c);color:#fff}.label-toggle.add{--c:var(--muted);border-style:dashed}.checklist{margin:6px 0;padding:0;list-style:none}.checklist li{border-radius:6px;align-items:center;gap:8px;padding:4px;display:flex}.checklist li:hover{background:var(--surface-2)}.checklist li .inline-edit{flex:1;margin:0}.checklist li.done .inline-edit{color:var(--muted);text-decoration:line-through}.checklist li .icon-btn{opacity:0}.checklist li:hover .icon-btn{opacity:1}.add-input{background:var(--surface-2);border-color:#0000;width:100%}.add-input.grow{width:auto}.attachments,.comments{margin:0 0 8px;padding:0;list-style:none}.attachments li{align-items:center;gap:10px;padding:4px 0;display:flex}.comments li{background:var(--surface-2);border-radius:8px;margin-top:8px;padding:8px 12px}.comments p{white-space:pre-wrap;margin:2px 0 0}.chip{background:var(--surface-2);border-radius:14px;align-items:center;gap:6px;padding:2px 4px 2px 3px;font-size:13px;display:inline-flex}.chip.add{border:1px dashed var(--border);color:var(--text-2);background:0 0;padding:3px 10px}.popover-anchor{display:inline-flex}.popover{z-index:100;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:10px;max-height:70vh;position:fixed;overflow-y:auto}.menu{flex-direction:column;min-width:200px;padding:5px;display:flex}.menu-item{text-align:left;cursor:pointer;border-radius:6px;align-items:center;gap:9px;padding:6px 9px;font-size:13.5px;display:flex}.menu-item:hover{background:var(--surface-2)}.menu-item.danger{color:var(--danger)}.menu-heading{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:6px;padding:8px 9px 4px;font-size:11px;font-weight:600;display:flex}.menu-section{border-bottom:1px solid var(--border);margin-bottom:4px;padding:0 4px 6px}.filter-menu{width:280px}.filter-menu .seg{margin:0 6px 4px}.label-manager{width:280px}.label-edit-row{align-items:center;gap:8px;padding:3px 6px;display:flex}.label-edit-row input{flex:1;padding:4px 8px}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.swatch.sel{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--text-2)}.swatch.none{border:1px dashed var(--border);color:var(--muted)}.search-modal{overflow:hidden}.search-input{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:10px;padding:12px 16px;display:flex}.search-input>input{box-shadow:none;background:0 0;border:none;flex:1;padding:4px 0;font-size:16px}.search-results{max-height:60vh;margin:0;padding:6px;list-style:none;overflow-y:auto}.search-results li{cursor:pointer;border-radius:8px;align-items:center;gap:12px;padding:8px 10px;display:flex}.search-results li.sel{background:var(--accent-soft)}.search-results .due-overdue{color:var(--danger)}.archive-list{flex-direction:column;gap:6px;margin:16px 0;padding:0;list-style:none;display:flex}.archive-list li{background:var(--surface);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:12px;padding:8px 12px;display:flex}.settings{max-width:760px}.settings .panel{margin-top:16px}.shortcuts{margin:0;padding-left:18px;line-height:2}.empty{text-align:center;color:var(--muted);padding:40px 20px}.empty h3{color:var(--text-2);justify-content:center}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-track{background:0 0}@media (hover:none) and (pointer:coarse){::-webkit-scrollbar{width:0;height:0}}@media (width<=1000px){.detail-grid{grid-template-columns:1fr}.sidebar{width:200px}.view-tabs button{padding:6px 8px}}.completed-section{padding:0 8px 8px}.completed-toggle{width:100%;color:var(--text-2);border-radius:7px;align-items:center;gap:6px;padding:6px 8px;font-size:13px;font-weight:500;display:flex}.completed-toggle:hover{background:var(--surface-3);color:var(--text)}.completed-toggle .count{margin-left:auto}.completed-cards{flex-direction:column;gap:8px;margin-top:4px;display:flex}.completed-cards .card-tile{opacity:.75}.completed-cards .card-tile:hover{opacity:1}.ctx-menu{z-index:200;background:var(--surface);border:1px solid var(--border);min-width:200px;max-width:340px;box-shadow:var(--shadow-lg);overscroll-behavior:contain;border-radius:10px;padding:5px;font-size:13.5px;animation:80ms fade;position:fixed;overflow-y:auto}.ctx-item{text-align:left;border-radius:6px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.ctx-item:hover,.ctx-item.open{background:var(--surface-2)}.ctx-item.danger{color:var(--danger)}.ctx-icon{width:16px;color:var(--text-2);flex-shrink:0;justify-content:center;display:inline-flex}.ctx-sep{background:var(--border);height:1px;margin:4px 6px}.picker{flex-direction:column;width:320px;display:flex}.picker-search{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:6px;padding:8px 10px;display:flex}.picker-search input{box-shadow:none;background:0 0;border:none;flex:1;padding:2px 0}.picker-list{max-height:300px;margin:0;padding:4px;list-style:none;overflow-y:auto}.picker-list li{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;display:flex}.picker-list li:hover,.picker-list li.sel{background:var(--surface-2)}.picker-hint{margin:0;padding:0 12px 8px}.board-dot.inline{vertical-align:0;width:8px;height:8px;margin-right:5px;display:inline-block}.check{border:1.5px solid var(--border);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.check.on{background:var(--accent);border-color:var(--accent)}.label-picker .label-editing{cursor:default;background:var(--surface-2);flex-direction:column;align-items:stretch}.label-picker .label-editing:hover{background:var(--surface-2)}.label-picker li .icon-btn{opacity:0}.label-picker li:hover .icon-btn{opacity:1}.label-create{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:8px 12px 12px;display:flex}.label-create .btn{align-self:flex-start}.bucket-picker{flex-direction:column;gap:4px;width:260px;padding:4px 8px 8px;display:flex}.bucket-picker label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:4px;font-size:11px;font-weight:600}.bucket-picker .btn{align-self:flex-start;margin-top:8px}.link-type-seg{margin:8px 10px 0}.label-pill.lg{align-items:center;gap:4px;padding:3px 6px 3px 10px;font-size:12px;display:inline-flex}.label-pill.lg button{color:#fff;opacity:.7;border-radius:50%;padding:1px;display:inline-flex}.label-pill.lg button:hover{opacity:1;background:#0003}.blocked-banner{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-weight:500;display:flex}.badge.blocked{color:var(--danger);border-color:var(--danger);font-weight:600}.linked-item{text-align:left;border-radius:5px;align-items:center;gap:8px;min-width:0;padding:2px 4px;display:flex}.linked-item:hover{background:var(--surface-3)}.linked-item>span:first-of-type{flex-shrink:1}.linked-item .muted{flex-shrink:2}.checklist li.done .linked-item>span:first-of-type{color:var(--muted);text-decoration:line-through}.linked-list{flex-direction:column;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.linked-list li{background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;padding:4px 6px;display:flex}.link-type{width:110px;color:var(--text-2);background:0 0;border-color:#0000;flex-shrink:0;padding:2px 4px;font-size:12px}.link-type.static{padding-left:8px;display:inline-block}.recurrence{flex-direction:column;gap:6px;display:flex}.recurrence .interval{width:60px;padding:3px 6px}.recurrence input[type=date]{flex:1}.weekdays{gap:4px;display:flex}.weekdays button{background:var(--surface-2);width:28px;height:28px;color:var(--text-2);border:1px solid var(--border);border-radius:50%;font-size:12px;font-weight:600}.weekdays button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.splash{justify-content:center;align-items:center;height:100%;animation:.3s fade;display:flex}.wordmark{letter-spacing:-.01em;color:var(--text);font-size:24px;font-weight:800}.wordmark span{color:var(--accent)}.brand{color:var(--text);gap:10px}.brand .collapse-btn{margin-left:auto}.quick-add-btn{background:var(--accent);color:var(--on-accent);margin-bottom:6px;font-weight:600}.quick-add-btn:hover{background:var(--accent);color:var(--on-accent);filter:brightness(1.08)}.quick-add-btn kbd{color:#fff;background:#ffffff2a;border-color:#ffffff40;margin-left:auto}.nav-item kbd{margin-left:auto}.nav-emoji{text-align:center;width:16px;font-size:14px;line-height:1}.sidebar{transition:width .15s}.sidebar.collapsed{width:60px;padding:14px 8px}.sidebar.collapsed .label,.sidebar.collapsed .wordmark,.sidebar.collapsed .nav-heading,.sidebar.collapsed .nav-input{display:none}.sidebar.collapsed .brand{flex-direction:column;padding:4px 0 12px}.sidebar.collapsed .brand .collapse-btn{margin:0}.sidebar.collapsed .nav-item{justify-content:center;padding:8px 0}.sidebar.collapsed .running-timer{flex-direction:column;padding:6px 2px;font-size:10px}.running-timer{background:color-mix(in srgb, var(--brand-orange) 14%, transparent);color:var(--text);border-radius:8px;align-items:center;gap:8px;margin-bottom:6px;padding:7px 10px;font-size:13px;display:flex}.running-timer .timer-text{font-variant-numeric:tabular-nums;font-weight:600}.link-plain{text-align:left}.link-plain:hover{text-decoration:underline}.pulse{background:var(--brand-orange);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brand-orange) 60%, transparent)}70%{box-shadow:0 0 0 7px #0000}to{box-shadow:0 0 #0000}}.toasts{z-index:300;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.toast{background:var(--text);min-width:300px;max-width:520px;color:var(--bg);box-shadow:var(--shadow-lg);border-radius:10px;align-items:center;gap:12px;padding:9px 10px 9px 16px;animation:.15s pop;display:flex}.toast .btn{color:var(--accent);background:0 0;border-color:#0000;font-weight:700}.toast .btn:hover{background:#ffffff1a}.toast .icon-btn{color:inherit;opacity:.7}.board-icon{font-size:20px;line-height:1}.board-stage{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.board-stage>.board-content{z-index:1;position:relative}.board-bg{background:var(--board-bg);pointer-events:none;position:absolute;inset:0}.board-bg:after{content:"";opacity:var(--dim,0);background:#000;position:absolute;inset:0}.board-page.has-bg .column{background:color-mix(in srgb, var(--column) 86%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.board-page.has-bg .add-list-btn{background:color-mix(in srgb, var(--surface) 75%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.board-page.has-bg .list-view,.board-page.has-bg .charts,.board-page.has-bg .calendar-wrap,.board-page.has-bg .timeline{-webkit-backdrop-filter:none;backdrop-filter:none}.cols-narrow .column{width:240px}.cols-narrow .drag-overlay{width:224px}.cols-wide .column{width:350px}.cols-wide .drag-overlay{width:334px}.add-card-row{align-items:center;padding-right:8px;display:flex}.add-card-row .add-card-btn{flex:1}.card-tile.compact{gap:4px;padding:6px 8px;font-size:.93em}.card-tile.compact .badge{line-height:17px}.card-cover-img{object-fit:cover;width:calc(100% + 20px);max-height:150px;margin:-9px -10px 2px;display:block}.card-tile.compact .card-cover-img{width:calc(100% + 16px);max-height:110px;margin:-6px -8px 2px}.card-tile.full-cover:not(.full-image){color:#fff;text-shadow:0 1px 2px #0005}.card-tile.full-cover:not(.full-image) .badge{color:#fff;border-color:#ffffff70}.card-tile.full-cover:not(.full-image) .prog-todo{color:#ffffffc0}.card-tile.full-cover:not(.full-image) .card-title{font-size:1.05em;font-weight:600}.card-tile.full-image .card-cover-img{max-height:240px}.card-label-bars{flex-wrap:wrap;gap:4px;display:flex}.card-label-bars span{border-radius:4px;width:36px;height:7px}.card-tile.aged-1{opacity:.85}.card-tile.aged-2{opacity:.65;filter:saturate(.7)}.card-tile.aged-3{opacity:.45;filter:saturate(.3)}.card-tile[class*=aged-]:hover{opacity:1;filter:none}.badge.timer-running{color:var(--brand-orange);border-color:var(--brand-orange);font-weight:600}.card-detail.drop{outline:3px dashed var(--accent);outline-offset:-8px}.drop-hint{z-index:5;background:color-mix(in srgb, var(--surface) 80%, transparent);color:var(--accent);pointer-events:none;border-radius:14px;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex;position:absolute;inset:0}.detail-cover.image{object-fit:cover;width:100%;height:180px;display:block}.md-view{cursor:text;background:var(--surface-2);border-radius:8px;min-height:44px;padding:8px 12px}.md-view:hover{background:var(--surface-3)}.md-view.empty{align-items:center;display:flex}.md-edit{flex-direction:column;gap:4px;display:flex}.markdown{overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown h1,.markdown h2,.markdown h3{margin:.8em 0 .4em;font-size:1.15em}.markdown h1{font-size:1.3em}.markdown p{margin:.4em 0}.markdown ul,.markdown ol{margin:.4em 0;padding-left:1.4em}.markdown li:has(>input[type=checkbox]){margin-left:-1.3em;list-style:none}.markdown li>input[type=checkbox]{vertical-align:-2px;margin-right:6px}.markdown a{color:var(--accent)}.markdown code{background:var(--surface-3)}.markdown pre{background:var(--surface-3);border-radius:8px;padding:10px;overflow-x:auto}.markdown pre code{background:0 0;padding:0}.markdown blockquote{border-left:3px solid var(--border);color:var(--text-2);margin:.4em 0;padding-left:12px}.markdown table{border-collapse:collapse}.markdown th,.markdown td{border:1px solid var(--border);padding:4px 8px}.comments .markdown{margin-top:2px}.thumbs{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:10px;display:grid}.thumbs figure{background:var(--surface-2);border:2px solid #0000;border-radius:8px;margin:0;overflow:hidden}.thumbs figure.is-cover{border-color:var(--accent)}.thumbs img{object-fit:cover;cursor:zoom-in;width:100%;height:96px;display:block}.thumbs figcaption{align-items:center;gap:2px;padding:3px 4px 3px 8px;font-size:12px;display:flex}.thumbs figcaption .ellipsis{flex:1}.activity{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.activity li{color:var(--text-2);align-items:center;gap:10px;padding:5px 0;font-size:13px;display:flex;position:relative}.activity li+li:before{content:"";background:var(--border);width:1px;height:12px;position:absolute;top:-6px;left:3.5px}.activity b{color:var(--text);font-weight:600}.activity-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.time-tracker{flex-direction:column;gap:6px;display:flex}.time-tracker input{padding:4px 8px}.time-total{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.time-total.running{color:var(--brand-orange)}.progress-bar.over>span{background:var(--danger)}.time-log{max-height:160px;margin:0;padding:0;list-style:none;overflow-y:auto}.time-log li{align-items:center;gap:8px;padding:2px 0;display:flex}.cover-editor{flex-direction:column;gap:8px;display:flex}.cover-thumbs{flex-wrap:wrap;gap:6px;display:flex}.cover-thumbs button{border:2px solid #0000;border-radius:6px;width:54px;height:38px;overflow:hidden}.cover-thumbs button.sel{border-color:var(--accent)}.cover-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.detail-side input[type=datetime-local]{width:100%}.customize-head{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.customize-head h2{margin:0}.customize-body{flex-direction:column;gap:18px;max-height:75vh;padding:8px 20px 22px;display:flex;overflow-y:auto}.customize-body h4{color:var(--text);margin-bottom:8px;font-size:14px}.emoji-grid{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.emoji-grid button{background:var(--surface-2);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:18px;display:inline-flex}.emoji-grid button:hover{background:var(--surface-3)}.emoji-grid button.sel{box-shadow:0 0 0 2px var(--accent)}.emoji-input{width:100px}.bg-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.bg-swatch{height:44px;color:var(--text-2);cursor:pointer;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:12px;display:inline-flex;position:relative;overflow:hidden}.bg-swatch.none,.bg-swatch.upload{background:var(--surface-2);border:1px dashed var(--border)}.bg-swatch.sel{border:2px solid var(--accent);box-shadow:0 0 0 2px var(--surface) inset}.bg-swatch.custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.bg-swatch.custom input,.swatch.custom input{opacity:0;cursor:pointer;position:absolute;inset:0}.swatch.custom{background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);position:relative}.check-row{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:13.5px;display:flex}.check-row input[type=time]{padding:2px 6px}.badge-grid{grid-template-columns:repeat(2,1fr);gap:0 16px;display:grid}.field-row>label{min-width:120px}.quick-add form{flex-direction:column;gap:14px;padding:16px 18px;display:flex}.quick-title{color:var(--accent);align-items:center;gap:10px;display:flex}.quick-title input{box-shadow:none;background:0 0;border:none;flex:1;padding:4px 0;font-size:18px}.quick-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-grid label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.quick-grid .span2{grid-column:span 2}.quick-foot{align-items:center}.my-tasks h1{align-items:center;gap:10px;display:flex}.toolbar.flat{background:0 0;border:none;flex-wrap:wrap;gap:16px;padding:12px 0}.my-tasks .list-add select{background:var(--surface-2);border-color:#0000}.task-group{margin-top:18px}.task-group h3{margin-bottom:6px}.task-rows{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin:0;padding:4px 12px;list-style:none}.task-rows li{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:8px 2px;display:flex}.task-rows li:last-child{border-bottom:none}.task-rows li:hover{background:var(--surface-2)}.task-rows .due-text{text-align:right;width:64px;font-size:13px}.strike{color:var(--muted);text-decoration:line-through}button.board-tag:hover{filter:brightness(1.2)}.shortcut-groups{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px 28px;display:grid}.shortcut-groups h4{color:var(--text);margin:10px 0 6px}.shortcut-groups dl{margin:0}.shortcut-groups dl>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:4px 0;font-size:13px;display:flex}.shortcut-groups dt{white-space:nowrap}.shortcut-groups dt kbd+kbd{margin-left:3px}.shortcut-groups dd{color:var(--text-2);text-align:right;margin:0}.chart-value.wide{width:auto;min-width:52px}.chart-row:has(.chart-value.wide){grid-template-columns:110px 1fr 60px}.crash{text-align:center;max-width:560px;color:var(--warn);flex-direction:column;align-items:center;gap:8px;margin:60px auto;display:flex}.crash h2{color:var(--text);margin:4px 0 0}.crash pre{white-space:pre-wrap;background:var(--surface-2);max-width:100%;color:var(--text-2);border-radius:8px;padding:10px 14px;font-size:12px}.trail-bar{background:var(--accent-soft);border-bottom:1px solid var(--border);border-radius:14px 14px 0 0;align-items:center;gap:12px;padding:10px 56px 10px 16px;display:flex}.trail-back{background:var(--surface);flex-shrink:0}.trail-text{flex-direction:column;min-width:0;display:flex}.crumbs{flex-wrap:wrap;align-items:center;gap:2px;font-size:13px;display:flex}.crumb{color:var(--muted);align-items:center;gap:2px;display:inline-flex}.crumb button{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.crumb button:hover{text-decoration:underline}.crumb.current{color:var(--text);font-weight:600}.card-modal:has(.trail-bar) .detail-cover{border-radius:0}.card-slide.forward{animation:.22s ease-out slide-in-right}.card-slide.back{animation:.22s ease-out slide-in-left}@keyframes slide-in-right{0%{opacity:0;transform:translate(36px)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-36px)}}@media (width<=900px){.hide-narrow{display:none}}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}[data-strongfocus] :focus-visible{outline:3px solid var(--accent)!important;outline-offset:2px!important;box-shadow:0 0 0 6px var(--accent-soft)!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:1ms!important;animation-iteration-count:1!important}}[data-reducemotion] *,[data-reducemotion] :before,[data-reducemotion] :after{transition:none!important;animation-duration:1ms!important;animation-iteration-count:1!important}:root[data-highcontrast]{--text-2:var(--text);--muted:color-mix(in srgb, var(--text) 80%, var(--bg));--border:color-mix(in srgb, var(--text) 45%, var(--bg))}[data-highcontrast] .card-tile,[data-highcontrast] .column,[data-highcontrast] .panel,[data-highcontrast] .modal,[data-highcontrast] .popover,[data-highcontrast] .ctx-menu{border:1px solid var(--border)}[data-highcontrast] .badge{border-width:1.5px;font-weight:600}[data-highcontrast] .label-pill{outline:1px solid color-mix(in srgb, var(--text) 50%, transparent)}[data-highcontrast] .card-tile[class*=aged-]{opacity:1;filter:none}[data-underlinelinks] a,[data-underlinelinks] .link,[data-underlinelinks] .crumb button,[data-underlinelinks] .linked-item>span:first-of-type,[data-underlinelinks] .markdown a{text-decoration:underline}[data-readablespacing] body{letter-spacing:.03em;word-spacing:.14em;line-height:1.7}[data-readablespacing] .card-title,[data-readablespacing] .markdown p{line-height:1.6}[data-largertargets] .icon-btn{padding:8px}[data-largertargets] .icon-btn.tiny{padding:6px}[data-largertargets] .btn{padding:9px 15px}[data-largertargets] .btn.sm{padding:7px 12px}[data-largertargets] .nav-item{padding:10px 12px}[data-largertargets] input[type=checkbox],[data-largertargets] .progress-toggle svg{width:20px;height:20px}[data-largertargets] .menu-item,[data-largertargets] .ctx-item{padding:9px 10px}.zoom-control{align-items:center;gap:8px;display:flex}.zoom-control input[type=range]{width:200px;accent-color:var(--accent)}.zoom-control .zoom-value{text-align:right;font-variant-numeric:tabular-nums;min-width:48px;font-weight:600}.a11y-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px 20px;display:grid}.a11y-grid .check-row{align-items:flex-start}.a11y-grid .check-row span{flex-direction:column;display:flex}.side-actions>.popover-anchor{display:flex}.side-actions>.popover-anchor>.btn{flex:1;justify-content:flex-start}.drop-hint{display:none}body[data-filedrag=card] .card-modal{outline:3px dashed var(--accent);outline-offset:4px}body[data-filedrag=card] .drop-hint{display:flex}.drop-target{outline:2px dashed var(--accent);outline-offset:4px;background:var(--accent-soft);border-radius:10px}.sort-chip{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:10px;align-items:center;gap:3px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.sort-chip:hover{filter:brightness(1.15)}.column-header .sort-btn{opacity:0}.column-header:hover .sort-btn,.column-header .sort-btn:focus-visible{opacity:1}.sort-menu{width:300px}.sort-menu small{font-size:11px}.sort-note{margin:0;padding:4px 9px 6px}.tile-desc{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.86em;display:-webkit-box;overflow:hidden}.tile-fields{flex-wrap:wrap;gap:4px;display:flex}.tile-field{border:1px solid var(--border);border-left-width:3px;border-radius:6px;padding:0 6px;font-size:11.5px;line-height:19px}.tile-checklist{flex-direction:column;gap:2px;margin:0;padding:0;font-size:.86em;list-style:none;display:flex}.tile-checklist li{align-items:center;gap:6px;display:flex}.tile-checklist input{width:13px;height:13px}.tile-checklist li.done span{color:var(--muted);text-decoration:line-through}.tile-list{color:var(--text-2);flex-direction:column;gap:1px;font-size:.84em;display:flex}.tile-list>span{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;display:flex;overflow:hidden}.tile-note{color:var(--text-2);background:var(--surface-2);border-radius:6px;margin:0;padding:4px 7px;font-size:.84em}.badge .rel{opacity:.85}.card-avatars.named{flex-wrap:wrap;gap:4px;margin-left:0}.named-avatar{background:var(--surface-2);border-radius:12px;align-items:center;gap:4px;padding:1px 7px 1px 2px;font-size:11.5px;display:inline-flex}.card-avatars.named .avatar+.avatar{margin-left:0}.badge-modes{flex-direction:column;gap:4px;display:flex}.badge-mode-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:4px 0;display:flex}.badge-mode-row>span{flex-direction:column;font-size:13.5px;display:flex}.badge-mode-row small{font-size:11.5px}.fields-editor{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.field-def{background:var(--surface-2);border-radius:8px;flex-direction:column;gap:6px;width:100%;padding:8px;display:flex}.field-def input:not([type]),.field-def input[type=text]{padding:4px 8px}.field-def select{padding:4px 6px}.field-options{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.field-option{background:var(--surface);border:1px solid;border-left-width:4px;border-radius:6px;align-items:center;gap:4px;padding:2px 4px;display:inline-flex}.field-option input[type=color]{background:0 0;border:none;width:20px;height:20px;padding:0}.field-option input:not([type=color]){border-color:#0000;width:110px;padding:2px 6px}.custom-fields{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:end;gap:8px 14px;display:grid}.custom-field{flex-direction:column;gap:3px;display:flex}.custom-field input:not([type=checkbox]),.custom-field select{width:100%;padding:5px 8px}.custom-field select{border-left-width:4px}.custom-fields>.btn{justify-self:start}.cf-name{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px;font-weight:600}.chip-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600}.chip-btn:hover{background:var(--surface-3)}.chip-btn.default{border-color:var(--accent);color:var(--accent)}.focus-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.focus-row .small.muted{align-items:center;gap:4px;margin-right:2px;display:inline-flex}.focus-custom{width:52px;font-size:12px;padding:2px 6px!important}.focus-menu{gap:8px;width:280px;padding:10px}.focus-presets{flex-wrap:wrap;gap:6px;display:flex}.focus-widget{background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:8px;margin-bottom:6px;font-size:13px;position:relative;overflow:hidden}.focus-widget.paused{opacity:.75}.focus-bar{background:color-mix(in srgb, var(--accent) 18%, transparent);transition:width 1s linear;position:absolute;inset:0 auto 0 0}.focus-main{align-items:center;gap:8px;padding:7px 10px 2px;display:flex;position:relative}.focus-main .timer-text{font-variant-numeric:tabular-nums;font-weight:700}.focus-actions{gap:2px;padding:0 4px 4px;display:flex;position:relative}.focus-actions .btn{padding:2px 7px;font-size:12px}.sidebar.collapsed .focus-main{flex-direction:column;gap:2px;padding:6px 2px;font-size:10px}.md-editor{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.md-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.md-toolbar{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:1px;padding:4px;display:flex}.md-toolbar button{color:var(--text-2);border-radius:5px;padding:5px;display:inline-flex}.md-toolbar button:hover{background:var(--surface-3);color:var(--text)}.md-sep{background:var(--border);width:1px;margin:3px 4px}.md-editor textarea.desc{box-shadow:none;border:none;border-radius:0;min-height:90px}.md-view{position:relative}.md-edit-btn{opacity:0;position:absolute;top:6px;right:6px}.md-view:hover .md-edit-btn{opacity:1}.markdown pre{position:relative}.code-copy{background:var(--surface);border:1px solid var(--border);color:var(--text-2);opacity:.75;border-radius:5px;padding:2px 8px;font-size:11px;position:absolute;top:6px;right:6px}.code-copy:hover{opacity:1;color:var(--text)}.markdown :not(pre)>code{cursor:copy}.markdown input[type=checkbox]:not(:disabled){cursor:pointer}.import-drop{cursor:pointer;border:2px dashed var(--border);color:var(--text-2);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:28px;display:flex}.import-drop:hover{border-color:var(--accent);color:var(--accent)}.import-preview{flex-direction:column;gap:10px;display:flex}.import-preview .field input{width:100%}.import-lists{border:1px solid var(--border);border-radius:8px;max-height:200px;margin:0;padding:0;list-style:none;overflow-y:auto}.import-lists li{border-bottom:1px solid var(--border);padding:5px 10px;display:flex}.import-lists li:last-child{border-bottom:none}.import-help summary{cursor:pointer;color:var(--accent);font-size:13px}.import-help p{margin:6px 0;font-size:13px}.drop-overlay{z-index:400;pointer-events:none;justify-content:center;align-items:center;animation:.1s fade;display:flex;position:fixed;inset:0}.drop-overlay.card{background:color-mix(in srgb, var(--bg) 55%, transparent)}.drop-overlay.none{background:color-mix(in srgb, var(--bg) 35%, transparent)}.drop-panel{text-align:center;border:3px dashed var(--accent);max-width:440px;color:var(--accent);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:36px 48px;display:flex}.drop-panel b{color:var(--text);font-size:22px}.drop-panel span{color:var(--text-2);font-size:15px}.drop-panel small{color:var(--muted)}.drop-overlay.none .drop-panel{border-color:var(--border);color:var(--muted)}.drop-banner{z-index:400;pointer-events:none;background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-lg);border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.card-tile.file-drop-target{outline:3px dashed var(--accent);outline-offset:2px;transition:transform .1s;transform:scale(1.02)}.drop-tip{align-items:center;gap:5px;margin:6px 0 0;display:flex}.lightbox{z-index:250;background:#000d;justify-content:center;align-items:center;padding:40px 80px 80px;animation:.12s fade;display:flex;position:fixed;inset:0}.lightbox img{object-fit:contain;border-radius:6px;max-width:100%;max-height:100%;box-shadow:0 10px 40px #000a}.lightbox-bar{color:#fff;background:#000a;align-items:center;gap:10px;padding:12px 18px;display:flex;position:absolute;bottom:0;left:0;right:0}.lightbox-bar .muted{color:#fff9}.lightbox-bar .btn{color:#fff;background:#ffffff1a;border-color:#ffffff30}.lightbox-bar .icon-btn{color:#fff}.lightbox-nav{color:#fff;background:#ffffff1a;border-radius:50%;padding:10px;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#fff3}.lightbox-nav.prev{left:16px}.lightbox-nav.next{right:16px}.cal-chip{touch-action:none}.cal-chip.ghost{opacity:.35}.cal-chip.drag-chip{box-shadow:var(--shadow-lg);background:var(--surface);cursor:grabbing;max-width:200px}.slider-row{align-items:center;gap:10px;display:flex}.slider-row input[type=range]{width:220px;accent-color:var(--accent)}.slider-value{font-variant-numeric:tabular-nums;min-width:42px;color:var(--text-2);font-size:13px}.board-header{container:board-header/inline-size}.board-header>*{flex-shrink:0}.board-title-wrap{flex:0 auto;min-width:60px;max-width:320px;overflow:hidden}.board-title-wrap .board-title{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.board-header>.grow{flex:1 1 0;min-width:0}.view-tabs{margin-left:8px}@container board-header (width<=1080px){.view-tabs button:not(.active) .tab-label{display:none}.view-tabs button:not(.active){padding:6px 8px}.board-header .btn-label{display:none}.board-header .btn.sm{padding:5px 8px}.board-title-wrap{max-width:220px}}@container board-header (width<=520px){.view-tabs .tab-label{display:none}.view-tabs button.active{padding:6px 8px}}@media (width<=700px){.board-header{flex-wrap:wrap;row-gap:6px}}.toolbar{container:board-toolbar/inline-size}.toolbar .search-box{flex:0 240px;width:auto;min-width:120px}@container board-toolbar (width<=640px){.toolbar .btn .btn-label,.group-by .gb-label{display:none}}.checklist li{position:relative}.checklist li.dragging{z-index:2;background:var(--surface-2);box-shadow:var(--shadow);opacity:.95}.cl-grip{color:var(--muted);cursor:grab;opacity:0;touch-action:none;padding:2px 0;display:inline-flex}.checklist li:hover .cl-grip,.cl-grip:focus-visible{opacity:1}.cl-grip:active{cursor:grabbing}.cl-actions{opacity:0;gap:1px;display:inline-flex}.checklist li:hover .cl-actions,.checklist li:focus-within .cl-actions{opacity:1}.cl-labels{flex-wrap:wrap;flex-shrink:0;gap:3px;max-width:45%;display:inline-flex}.label-pill.sm{padding:0 6px;font-size:10px;line-height:16px}.checklist li.cl-gap{justify-content:center;align-items:center;height:4px;margin:-2px 0;padding:0;display:flex}.checklist li.cl-gap:hover{background:0 0}.cl-gap button{opacity:0;width:100%;height:12px;color:var(--accent);justify-content:center;align-items:center;display:inline-flex;position:relative}.cl-gap button:before{content:"";border-top:2px solid var(--accent);position:absolute;top:50%;left:26px;right:0}.cl-gap button svg{background:var(--surface);border:1.5px solid var(--accent);border-radius:50%;position:relative}.cl-gap:hover button{opacity:1}.checklist li.cl-insert{background:var(--accent-soft)}.cl-insert input{box-shadow:none;background:0 0;border:none;flex:1;padding:3px 0}.item-dots{flex-shrink:0;gap:2px;display:inline-flex}.item-dots span{border-radius:50%;width:7px;height:7px}.picker-list li.disabled{opacity:.5;cursor:not-allowed}.picker-why{color:var(--warn)}:root{--rel-parent:#ec6a3f;--rel-child:#3b82f6;--rel-blocker:#ef4444;--rel-blocked:#f59e0b;--rel-related:#a855f7}.badge.rel{max-width:100%;font-weight:600}.badge.rel .rel-text{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.badge.rel-parent{color:var(--rel-parent);border-color:color-mix(in srgb, var(--rel-parent) 55%, transparent);background:color-mix(in srgb, var(--rel-parent) 10%, transparent)}.badge.rel-child{color:var(--rel-child);border-color:color-mix(in srgb, var(--rel-child) 55%, transparent);background:color-mix(in srgb, var(--rel-child) 10%, transparent)}.badge.rel-blocked{color:var(--rel-blocked);border-color:color-mix(in srgb, var(--rel-blocked) 55%, transparent)}.badge.rel-related{color:var(--rel-related);border-color:color-mix(in srgb, var(--rel-related) 55%, transparent)}.badge.blocked{color:var(--rel-blocker);border-color:var(--rel-blocker)}.card-tile.link-source{box-shadow:0 0 0 2px var(--text-2), var(--shadow)}.card-tile.link-role{transition:box-shadow .12s}.card-tile.link-parent{box-shadow:0 0 0 2px var(--rel-parent), var(--shadow)}.card-tile.link-child{box-shadow:0 0 0 2px var(--rel-child), var(--shadow)}.card-tile.link-blocker{box-shadow:0 0 0 2px var(--rel-blocker), var(--shadow)}.card-tile.link-blocked{box-shadow:0 0 0 2px var(--rel-blocked), var(--shadow)}.card-tile.link-related{box-shadow:0 0 0 2px var(--rel-related), var(--shadow)}.card-tile.link-role:after{content:attr(data-rel-label);color:#fff;pointer-events:none;z-index:1;border-radius:6px;padding:0 6px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:5px;right:6px}.card-tile.link-parent:after{background:var(--rel-parent)}.card-tile.link-child:after{background:var(--rel-child)}.card-tile.link-blocker:after{background:var(--rel-blocker)}.card-tile.link-blocked:after{background:var(--rel-blocked)}.card-tile.link-related:after{background:var(--rel-related)}.card-tile{position:relative}.ai-dialog .customize-head h2{align-items:center;gap:8px;display:flex}.ai-tabs{flex-wrap:wrap;margin:10px 20px 0}.ai-tabs button{align-items:center;gap:6px;display:inline-flex}.ai-output{flex-direction:column;gap:8px;display:flex}.ai-output textarea,.ai-paste{background:var(--surface-2);resize:vertical;min-height:220px;font:12px/1.5 ui-monospace,JetBrains Mono,monospace}.ai-preview{background:var(--accent-soft);border-radius:10px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.ai-preview ul{margin:0;padding-left:20px}.ai-note{border-top:1px solid var(--border);margin:4px 0 0;padding-top:10px}.link-type.parent-tag{color:var(--rel-parent);align-items:center;gap:4px;font-weight:600;display:inline-flex}.card-tile.selected{box-shadow:0 0 0 2.5px var(--accent), var(--shadow);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.selection-bar{z-index:60;background:var(--surface);border:1px solid var(--accent);box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:12px;align-items:center;gap:8px;max-width:calc(100vw - 40px);padding:8px 10px 8px 16px;animation:.12s pop;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (width<=1200px){.sel-hint{display:none}}.sel-count{color:var(--accent);font-weight:700}.related-chip{background:color-mix(in srgb, var(--rel-related) 14%, transparent);max-width:360px;color:var(--text);border-radius:14px;align-items:center;gap:6px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.related-chip>svg{color:var(--rel-related);flex-shrink:0}.related-chip .check-row{white-space:nowrap;padding:0;font-size:12px}.about-board{width:100%}.phone-bar{padding:6px 8px;padding-top:max(6px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;display:flex}.phone-bar-title{font-size:16px;font-weight:700}.phone-bar .icon-btn{justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.nav-backdrop{z-index:59;background:#0007;animation:.12s fade;position:fixed;inset:0}@media (width<=680px){.app.phone .sidebar{z-index:60;width:min(300px,84vw);box-shadow:var(--shadow-lg);padding-top:max(14px, env(safe-area-inset-top));transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.app.phone.nav-open .sidebar{transform:none}.app.phone .sidebar .collapse-btn{display:none}.app.phone .nav-item{padding:10px}.page{padding:16px 14px 80px}.app.phone{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box}.app.phone .main{padding-bottom:env(safe-area-inset-bottom)}.app.phone .sidebar{padding-bottom:max(14px, env(safe-area-inset-bottom))}.modal{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box}.modal.welcome{flex-direction:column;display:flex}.modal.welcome .welcome-body{flex:1}.page{overflow-x:hidden}.field-row{flex-wrap:wrap;row-gap:6px}.field-row>label{flex-basis:100%;min-width:0}.field-row>*{max-width:100%}.seg{flex-wrap:wrap}.board-header{flex-wrap:nowrap;gap:4px;padding:8px 12px}.board-header>.board-title-wrap{flex:0 auto;min-width:48px;overflow:hidden}.board-header .board-title{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.board-header .view-tabs{gap:0;margin-left:2px}.board-header .view-tabs button,.board-header .view-tabs button.active{padding:6px}.board-header .btn.sm{padding:5px 6px}.task-rows .due-text.due-null{display:none}.calendar-wrap{flex-direction:column;padding:10px 12px;overflow-y:auto}.calendar{flex:none}.cal-toolbar h2{min-width:0}.cal-grid.head div{text-align:center;padding:4px 2px;font-size:11px}.cal-day{padding:3px}.cal-side{width:auto;overflow:visible}.toolbar{flex-wrap:wrap;padding:6px 12px}.board-content{scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.kanban{gap:10px;padding:10px 12px}.column{scroll-snap-align:center;width:calc(100vw - 44px)}.add-list-btn,.add-list-form{scroll-snap-align:center}.modal-backdrop{padding:0}.modal{border-radius:0;min-height:100%;width:100%!important;max-width:none!important}.modal.confirm{border-radius:14px;min-height:0;margin:30vh 16px 0;padding:20px;width:auto!important}.detail-cover{border-radius:0}.detail-head{padding:16px 52px 6px 16px}.detail-grid{grid-template-columns:1fr;gap:18px;padding:6px 16px 0}.card-detail .close{top:max(10px, env(safe-area-inset-top))}.toasts{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));transform:none}.sel-hint,.hide-phone{display:none!important}}@media (hover:none) and (pointer:coarse){.cl-grip,.cl-actions,.checklist li .icon-btn,.column-header .sort-btn,.cal-day-head .icon-btn,.label-picker li .icon-btn,.md-edit-btn{opacity:1}.cl-gap{display:none}.icon-btn.tiny{min-width:30px;min-height:30px}input[type=checkbox]{width:20px;height:20px}body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,[contenteditable],.markdown,.md-body{-webkit-user-select:text;user-select:text}input,textarea,select{font-size:max(16px,1em)}}.pair-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;max-width:420px;min-height:100%;margin:0 auto;padding:24px 20px;display:flex}.pair-screen h2{margin:4px 0 0}.pair-screen p{margin:0}.pair-screen label{text-align:left;width:100%;color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.pair-screen input{padding:10px 12px;font-size:16px}.pair-screen .pair-code{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:26px}.pair-screen .btn{justify-content:center;width:100%;padding:12px;font-size:15px}.pair-error{color:var(--danger);font-size:14px}.conn-banner{background:var(--warn);align-items:center;gap:8px;display:flex}.pairing-body{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.qr{background:#fff;border-radius:12px;padding:12px;line-height:0}.qr svg{width:220px;height:220px}.pair-big-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--accent);font-size:38px;font-weight:700}.port-input{width:80px}.devices li{gap:10px}.devices li .grow{flex-direction:column;gap:2px;min-width:0;display:flex}.install-help{margin-top:10px}.install-help summary{cursor:pointer;color:var(--accent);font-weight:600}.install-help ol{flex-direction:column;gap:4px;margin:6px 0;padding-left:20px;display:flex}.install-help p{margin:6px 0}.install-help code{word-break:break-all}.copyable{cursor:copy}.secure-banner{background:var(--accent-soft);color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.secure-banner .btn{flex-shrink:0}.setup-steps{counter-reset:step;flex-direction:column;gap:4px;margin:12px 0;padding:0;list-style:none;display:flex}.setup-steps>li{counter-increment:step;flex-direction:column;align-items:flex-start;gap:6px;padding:4px 0 14px 40px;display:flex;position:relative}.setup-steps>li:before{content:counter(step);background:var(--surface-2);width:26px;height:26px;color:var(--muted);border:1px solid var(--border);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;top:2px;left:0}.setup-steps>li:not(:last-child):after{content:"";background:var(--border);width:1px;position:absolute;top:32px;bottom:0;left:13px}.setup-steps>li.current:before{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.setup-steps>li.done:before{content:"✓";background:var(--ok);color:#fff;border-color:var(--ok)}.setup-steps .step-title{font-weight:650}.setup-steps p{margin:0}.setup-steps code{word-break:break-all}.address-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.address-row select{max-width:260px}.address-input{width:220px}.cert-box{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:4px;padding-top:12px;display:flex}.cert-box .step-title{align-items:center;gap:6px;font-weight:650;display:flex}.cert-box p{margin:0}.cert-box details p{margin:4px 0}.menu-item select.auto-progress{margin-left:auto;padding:2px 4px;font-size:12px}.detail-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.complete-btn.on{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, transparent)}.quick-empty{background:var(--accent-soft);border-radius:8px;margin:14px 16px 0;padding:10px 12px;font-size:13px}:root[data-style=bassdrop]{--bg:#fbf5ff;--surface:#fff;--surface-2:#f4eafc;--surface-3:#eadcf7;--column:#f1e6fb;--border:#e2d2f2;--text:#24123a;--text-2:#4e3a6b;--muted:#84719f;--accent:#d61f84;--brand-orange:#0a9fbd;--danger:#d92b4b;--warn:#b77a00;--ok:#0f9a64;--neon:#0a9fbd}@media (prefers-color-scheme:dark){:root[data-style=bassdrop]:not([data-theme=light]){--bg:#110b1f;--surface:#1a1230;--surface-2:#231940;--surface-3:#2e2251;--column:#160f29;--border:#35295a;--text:#f3ecff;--text-2:#cbbaf0;--muted:#9786c0;--accent:#ff3fa4;--brand-orange:#22e1ff;--danger:#ff5c7a;--warn:#ffd23f;--ok:#3cf0a6;--neon:#22e1ff;--shadow:0 1px 2px #00000080;--shadow-lg:0 10px 40px #000000b3, 0 0 0 1px #ff3fa41f}}:root[data-style=bassdrop][data-theme=dark]{--bg:#110b1f;--surface:#1a1230;--surface-2:#231940;--surface-3:#2e2251;--column:#160f29;--border:#35295a;--text:#f3ecff;--text-2:#cbbaf0;--muted:#9786c0;--accent:#ff3fa4;--brand-orange:#22e1ff;--danger:#ff5c7a;--warn:#ffd23f;--ok:#3cf0a6;--neon:#22e1ff;--shadow:0 1px 2px #00000080;--shadow-lg:0 10px 40px #000000b3, 0 0 0 1px #ff3fa41f}:root[data-style=bassdrop] body{background:radial-gradient(1200px 420px at 50% 110%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%), var(--bg)}:root[data-style=bassdrop] .wordmark,:root[data-style=bassdrop] .wordmark span{background:linear-gradient(90deg, var(--accent), var(--neon));color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-style=bassdrop] .nav-item.active,:root[data-style=bassdrop] .view-tabs button.active{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent), 0 0 14px color-mix(in srgb, var(--accent) 30%, transparent)}:root[data-style=bassdrop] .column{border-top-color:var(--board,var(--accent));box-shadow:0 -2px 12px -6px var(--board,var(--accent))}:root[data-style=bassdrop] .btn.primary{box-shadow:0 0 16px color-mix(in srgb, var(--accent) 40%, transparent)}.bassdrop-mark .bd-bars rect{transform-box:fill-box;transform-origin:50% 100%}.brand:hover .bassdrop-mark .bd-bars rect,.bassdrop-mark.dancing .bd-bars rect{animation:.9s ease-in-out infinite alternate bd-eq}.brand:hover .bassdrop-mark .bd-bars rect:nth-child(2n),.bassdrop-mark.dancing .bd-bars rect:nth-child(2n){animation-duration:.6s;animation-delay:-.2s}.brand:hover .bassdrop-mark .bd-bars rect:nth-child(3n),.bassdrop-mark.dancing .bd-bars rect:nth-child(3n){animation-duration:.75s;animation-delay:-.4s}@keyframes bd-eq{0%{transform:scaleY(1)}to{transform:scaleY(.45)}}@media (prefers-reduced-motion:reduce){.bassdrop-mark .bd-bars rect{animation:none!important}}html[data-reducemotion] .bassdrop-mark .bd-bars rect{animation:none!important}.logo-btn{border-radius:8px;align-items:center;gap:10px;padding:0;display:inline-flex}.logo-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.welcome-body{min-height:360px;padding:26px 28px 8px}.welcome-body h2{text-wrap:balance;margin:0 0 12px;font-size:22px}.welcome-body section{flex-direction:column;gap:14px;display:flex}.welcome-body p{margin:0}.welcome-hero{align-items:center;gap:16px;display:flex}.welcome-hero h2{margin-bottom:4px}.welcome-field{color:var(--text-2);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.welcome-field input{padding:9px 12px;font-size:15px;font-weight:400}.welcome-field .seg{align-self:flex-start}.welcome-terms{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;display:grid}.welcome-terms dt{font-weight:700}.welcome-terms dd{color:var(--text-2);margin:0}.welcome-tips{grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.welcome-tips li{background:var(--surface-2);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.welcome-tips li svg{color:var(--accent);flex-shrink:0;margin-top:1px}.welcome-choices{flex-direction:column;gap:8px;display:flex}.welcome-choice{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.welcome-choice.on{border-color:var(--accent);background:var(--accent-soft)}.welcome-choice input[type=radio]{margin-top:3px}.welcome-choice>svg{color:var(--accent);flex-shrink:0;margin-top:1px}.welcome-choice span{flex-direction:column;gap:2px;min-width:0;display:flex}.welcome-board-name{margin-top:6px}.welcome-foot{border-top:1px solid var(--border);align-items:center;gap:8px;padding:14px 28px 20px;display:flex}.welcome-dots{gap:6px;display:flex}.welcome-dots span{background:var(--surface-3);border-radius:50%;width:8px;height:8px}.welcome-dots span.on{background:var(--accent);border-radius:4px;width:20px}.inline-icon{vertical-align:-2px}.mini-board{border:1px solid var(--border);background:var(--bg);border-radius:12px;padding:10px 12px 12px}.mini-board-title{align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.mini-cols{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mini-col{background:var(--column);border-top:3px solid var(--accent);border-radius:8px;flex-direction:column;gap:5px;min-width:0;padding:6px;display:flex}.mini-col-title{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.mini-card{background:var(--surface-2);border:1px solid var(--border);height:18px;box-shadow:var(--shadow);border-radius:5px;align-items:center;padding-left:4px;display:flex;position:relative}.mini-card.done{opacity:.55}.mini-tag{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);background:var(--accent-soft);border-radius:4px;padding:0 4px;font-size:9px;font-weight:700}.help-start{background:var(--accent-soft);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.help-start p{margin:2px 0 0}.help-h{margin:22px 0 8px;font-size:15px}.help-faq{color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding-left:18px;font-size:13px;display:flex}.help-faq b{color:var(--text)}@media (width<=680px){.welcome-body{padding:20px 16px 8px}.welcome-tips{grid-template-columns:1fr}.welcome-foot{padding:12px 16px 16px}}.settings-nav{z-index:5;background:var(--bg);flex-wrap:wrap;gap:4px;margin:-6px 0 10px;padding:10px 0;display:flex;position:sticky;top:-28px}.settings-nav button{color:var(--text-2);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:13px}.settings-nav button:hover{color:var(--accent);border-color:var(--accent)}.settings .panel{scroll-margin-top:56px}.nav-category{flex-direction:column;gap:2px;display:flex}.nav-category-head{text-align:left;text-transform:uppercase;letter-spacing:.06em;width:100%;color:var(--muted);align-items:center;gap:6px;padding:10px 10px 4px;font-size:11px;font-weight:600;display:flex}.nav-category-head:hover{color:var(--text)}.nav-category-head .count{opacity:.8;font-size:10px;font-weight:600}.category-picker{width:240px}.home-category{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;margin:18px 0 8px;font-size:13px;display:flex}.category-picker form input{flex:1;min-width:0}@media (width<=680px){.settings-nav{top:-16px}}.prog-waiting{color:#f59e0b}.prog-hold{color:#a855f7}.conn-pill{top:calc(10px + env(safe-area-inset-top));z-index:250;background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;animation:.2s fade;display:flex;position:fixed;left:50%;transform:translate(-50%)}.conn-pill.back{color:var(--ok)}.conn-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.phone-bar-home{text-align:left;align-items:center;gap:8px;display:flex}body.dragging-card .board-content{scroll-snap-type:none}#set-desktop .check-row{align-items:flex-start}#set-desktop .check-row input{margin-top:3px}#set-desktop .check-row span{flex-direction:column;gap:2px;display:flex}:root[data-style=partycat]{--bg:#f1fafa;--surface:#fff;--surface-2:#e4f4f5;--surface-3:#d3ecee;--column:#e8f5f6;--border:#cbe3e6;--text:#0f2236;--text-2:#33506b;--muted:#6a879f;--accent:#0e9a95;--brand-orange:#e0405f;--danger:#d23552;--warn:#b47a00;--ok:#0e9a62;--neon:#e0405f;--on-accent:#fff}@media (prefers-color-scheme:dark){:root[data-style=partycat]:not([data-theme=light]){--bg:#0a1424;--surface:#111f35;--surface-2:#172a45;--surface-3:#1f3656;--column:#0e1a2e;--border:#25405f;--text:#e9f6ff;--text-2:#b6d1e8;--muted:#7c99b6;--accent:#3dd6d0;--brand-orange:#ff5e7e;--danger:#ff6b81;--warn:#ffd166;--ok:#5cf2a5;--neon:#ff5e7e;--on-accent:#052a2a;--shadow:0 1px 2px #00000080;--shadow-lg:0 10px 40px #000000b3, 0 0 0 1px #3dd6d01f}}:root[data-style=partycat][data-theme=dark]{--bg:#0a1424;--surface:#111f35;--surface-2:#172a45;--surface-3:#1f3656;--column:#0e1a2e;--border:#25405f;--text:#e9f6ff;--text-2:#b6d1e8;--muted:#7c99b6;--accent:#3dd6d0;--brand-orange:#ff5e7e;--danger:#ff6b81;--warn:#ffd166;--ok:#5cf2a5;--neon:#ff5e7e;--on-accent:#052a2a;--shadow:0 1px 2px #00000080;--shadow-lg:0 10px 40px #000000b3, 0 0 0 1px #3dd6d01f}:root[data-style=partycat] body{background:radial-gradient(2px 2px at 12% 18%, color-mix(in srgb, var(--text) 35%, transparent) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 68% 9%, color-mix(in srgb, var(--text) 30%, transparent) 50%, transparent 51%), radial-gradient(2px 2px at 88% 62%, color-mix(in srgb, var(--text) 25%, transparent) 50%, transparent 51%), radial-gradient(1.5px 1.5px at 34% 82%, color-mix(in srgb, var(--text) 25%, transparent) 50%, transparent 51%), radial-gradient(700px 360px at 6% 105%, color-mix(in srgb, var(--accent) 13%, transparent), transparent 70%), radial-gradient(700px 360px at 96% -10%, color-mix(in srgb, var(--neon) 12%, transparent), transparent 70%), var(--bg)}:root[data-style=partycat] .wordmark,:root[data-style=partycat] .wordmark span{background:linear-gradient(90deg, var(--accent), var(--neon));color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-style=partycat] .nav-item.active,:root[data-style=partycat] .view-tabs button.active{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent), 0 0 14px color-mix(in srgb, var(--accent) 25%, transparent)}.partycat-mark{display:block}.brand:hover .partycat-mark,.partycat-mark.spinning{animation:.7s linear infinite cat-spin}@keyframes cat-spin{0%{transform:perspective(200px)rotateY(0)}to{transform:perspective(200px)rotateY(360deg)}}@media (prefers-reduced-motion:reduce){.partycat-mark{animation:none!important}}html[data-reducemotion] .partycat-mark{animation:none!important}.confetti{pointer-events:none;z-index:400;position:fixed;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:8px;height:14px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.25,.6,.45,1);animation-fill-mode:forwards;position:absolute;top:-12px}@keyframes confetti-fall{to{transform:translate(var(--drift), 105vh) rotate(var(--spin));opacity:.9}}.about-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.about-row p{margin:0}.beat-pads{align-items:center;gap:8px;margin-left:auto;display:flex}.beat-pad{border:1px solid var(--border);background:radial-gradient(circle at 35% 30%, var(--surface), var(--surface-3));width:30px;height:30px;box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--text) 10%, transparent);border-radius:50%;transition:transform 80ms}.beat-pad:active,.beat-pad.hit{background:var(--accent-soft);border-color:var(--accent);transform:scale(.88)}.feeds{flex-direction:column;gap:8px;display:flex}.feed-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.feed-row .swatches,.feed-row .color-picker{flex-shrink:0}.feed-name{width:160px}.feed-add{flex-wrap:wrap;gap:8px;display:flex}.feed-add input:first-child{width:160px}.feed-add .grow{min-width:220px}.cal-event{color:var(--text);background:color-mix(in srgb, var(--ev) 18%, transparent);border-left:3px solid var(--ev);white-space:nowrap;cursor:default;border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;line-height:1.3;display:flex;overflow:hidden}.cal-event svg{color:var(--ev);flex-shrink:0}.cal-event.all-day{background:color-mix(in srgb, var(--ev) 32%, transparent)}.cal-event .ev-time{color:var(--text-2);font-variant-numeric:tabular-nums}.cal-event .ev-title{text-overflow:ellipsis;overflow:hidden}.about-logo{display:inline-flex}.about-logo.bop{animation:.22s ease-out bop}@keyframes bop{40%{transform:translateY(-4px)rotate(-4deg)}}@media (prefers-reduced-motion:reduce){.about-logo.bop{animation:none}}.beat-pad{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (hover:none) and (pointer:coarse){.beat-pad{width:44px;height:44px}}.tile-done-note{color:var(--ok)}.spin-cat-spot{justify-content:center;padding:4px 0 8px;display:flex}.spin-cat{image-rendering:auto;background-image:url(/Zomello/spin-cat.webp);background-position:0 0;background-repeat:no-repeat;border-radius:12px}.spin-cat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin .panel{flex-direction:column;gap:10px;display:flex}.admin-stats{flex-wrap:wrap;align-items:baseline;gap:18px;display:flex}.admin-stats b{font-size:18px}.admin-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-list>li{border-top:1px solid var(--border);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.admin-list>li:first-child{border-top:none}.admin-main{flex-direction:column;gap:4px;min-width:0;display:flex}.admin-user.off{opacity:.6}.admin-actions{flex-shrink:0}.admin-board .board-dot{margin-top:5px}.admin-members{align-items:center}.admin-members select{padding:2px 6px;font-size:12.5px}.admin-add{border:1px solid var(--border);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:10px;padding:12px;display:grid}.admin-add label:not(.check-row){color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.admin-created{background:var(--accent-soft);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.admin-created p{margin:0}.admin-created pre{background:var(--surface);white-space:pre-wrap;border-radius:8px;margin:0;padding:10px;font-size:13px}.admin-reset input{width:200px}.chip.accent{background:var(--accent-soft);color:var(--accent)}.gap-xs{gap:2px}.share-body{flex-direction:column;gap:10px;display:flex}.share-body h4{color:var(--text-2);margin:8px 0 0;font-size:13px}.share-invite{gap:8px;display:flex}.share-invite input{flex:1;min-width:0}.share-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.share-list li{align-items:center;gap:10px;padding:4px 0;display:flex}.btn.danger-outline{color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 40%, transparent);align-self:flex-start}.invites-panel{border-color:var(--accent)}.invites-panel li{flex-wrap:wrap;align-items:center;gap:10px;padding:6px 0;display:flex}.account-btn{align-items:center;gap:8px;display:flex}.shared-icon{color:var(--muted);flex-shrink:0}.password-form{flex-direction:column;gap:6px;max-width:320px;margin:6px 0;display:flex}.password-form .step-title{align-items:center;gap:6px;font-weight:600;display:flex}.cert-hint{text-align:left;max-width:360px;font-size:13px}.cert-hint summary{cursor:pointer;color:var(--accent)}.cert-hint ol{gap:6px;margin:8px 0 0;padding-left:20px;line-height:1.45;display:grid}.page .cert-hint{max-width:none;margin-top:10px}.server-list{gap:6px;margin:10px 0;padding:0;list-style:none;display:grid}.server-list li{border:1px solid var(--border);background:var(--surface);border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.server-name{flex-direction:column;min-width:0;display:flex}.server-name .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.server-add input{min-width:0}.callout{border:1px solid var(--border);border-left:3px solid var(--warn,#eab308);background:var(--surface);border-radius:8px;margin-top:10px;padding:10px 12px}.callout p{margin:0 0 8px}.server-find{margin-top:10px}.server-find .server-list{margin-top:8px}@media (hover:none) and (pointer:coarse){.nav-item kbd{display:none}.sidebar{width:240px}}.computer-connect{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:8px;margin:10px 0 14px;padding:12px;display:grid}.computer-connect h4{align-items:center;gap:6px;margin:0;display:flex}.computer-steps{gap:4px;margin:0;padding-left:18px;line-height:1.45;display:grid}.place-sections{gap:6px;margin-top:12px;display:grid}.place-head{width:100%;color:var(--text-2,var(--muted));text-align:left;letter-spacing:-.01em;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 10px 8px;font-size:19px;font-weight:600;display:flex}.place-section.here>.place-head{color:var(--text)}.place-section.here>.place-head svg:first-child{color:var(--accent)}.place-head .count{font-size:12px;font-weight:600}.place-head:active{background:var(--surface-2)}.place-tree{border-left:2px solid var(--border);margin-left:14px;padding:0 0 6px 8px}.place-section.here .place-tree{border-left-color:var(--accent-soft)}.place-elsewhere .nav-item{opacity:.85}.nav-category-row{align-items:center;gap:2px;display:flex}.nav-category-row .nav-category-head{flex:1;min-width:0}.place-subhead{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 10px 4px;font-size:11px;font-weight:600}.place-actions{flex-wrap:wrap;gap:6px;padding:6px 4px 0;display:flex}.place-actions .btn{color:var(--muted)}.place-empty{margin:2px 10px 6px 28px}.drop-into{background:var(--accent-soft);outline:1px dashed var(--accent);outline-offset:-1px;border-radius:8px}.no-section-drop{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:8px;margin:4px 6px;padding:10px;font-size:12px}.no-section-drop.drop-into{color:var(--accent)}.phone-nav-head{justify-content:space-between}.phone-nav-head .link-plain{color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;background:0 0;border:none;min-width:0;padding:0}.live-dot{background:var(--ok,#22c55e);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--ok,#22c55e) 25%, transparent);border-radius:50%;flex-shrink:0}.device-banner{background:var(--accent-soft);color:var(--accent);border-radius:9px;align-items:center;gap:8px;margin:6px 4px 2px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.demo-banner .btn{white-space:nowrap}.paste-box{width:100%;font-family:var(--mono,ui-monospace, monospace);resize:vertical;font-size:12.5px}.place-head.drop-into,.place-section.drop-into>.place-head{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft)}.phone-nav-head.drop-into,[data-computer-boards].drop-into{outline:2px dashed var(--accent);outline-offset:-2px;background:var(--accent-soft);border-radius:8px}.private-mark{flex-shrink:0;margin-left:auto;display:inline-flex}
