@font-face{font-family:League Spartan;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/league-spartan-var.woff2) format("woff2")}@font-face{font-family:Work Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/work-sans-var.woff2) format("woff2")}@font-face{font-family:Work Sans;font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/work-sans-italic-var.woff2) format("woff2")}:root{--font: "Work Sans", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-display: "League Spartan", "Arial Black", system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--signal-blue: #4784f6;--signal-green: #7ed957;--signal-yellow: #ffde59;--signal-pink: #e4346f;color-scheme:dark;--text: #ffffff;--text-soft: #b0b0b0;--text-faint: #757575;--text-invert: #ffffff;--text-on-light: #000000;--surface: #0e0e0e;--surface-raised: #1a1a1a;--surface-sunken: #000000;--surface-hover: #262626;--backdrop: rgba(0, 0, 0, .72);--modal-surface: var(--surface);--subtle: var(--surface-raised);--subtle-hover: var(--surface-hover);--subtle-border: var(--line-soft);--list-surface: color-mix(in srgb, #101114 86%, transparent);--line: #333333;--line-soft: #242424;--accent: var(--signal-blue);--accent-hover: #6b9cf8;--link: var(--signal-blue);--accent-fill-contrast: #2563eb;--accent-soft: rgba(71, 132, 246, .16);--danger: var(--signal-pink);--danger-soft: rgba(228, 52, 111, .16);--danger-fill-contrast: #cc2e64;--chip-grey: #262626;--chip-grey-text: #b0b0b0;--chip-amber: rgba(255, 222, 89, .16);--chip-amber-text: #ffde59;--chip-red: rgba(228, 52, 111, .18);--chip-red-text: #f27ba1;--chip-green: rgba(126, 217, 87, .16);--chip-green-text: #7ed957;--radius: 10px;--radius-sm: 8px;--radius-xs: 6px;--radius-lg: 14px;--gap: 14px;--list-width: 272px;--shadow-card: 0 1px 1px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .22);--shadow-card-hover: 0 3px 6px rgba(0, 0, 0, .35), 0 8px 18px rgba(0, 0, 0, .28);--shadow-raised: 0 8px 24px rgba(0, 0, 0, .45);--shadow-modal: 0 4px 16px rgba(0, 0, 0, .4), 0 24px 64px rgba(0, 0, 0, .55);--shadow-flat: 0 8px 24px rgba(0, 0, 0, .45);--ease: cubic-bezier(.4, 0, .2, 1);--track-tight: -.03em;--lh-body: 1.4;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-md: 1rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem}html[data-theme=light]{color-scheme:light;--text: #000000;--text-soft: #4d4d4d;--text-faint: #6e6e6e;--text-invert: #ffffff;--text-on-light: #000000;--surface: #f6f6f6;--surface-raised: #ffffff;--surface-sunken: #ececec;--surface-hover: #ececec;--backdrop: rgba(0, 0, 0, .55);--modal-surface: #ffffff;--subtle: #eceef1;--subtle-hover: #e2e5ea;--subtle-border: transparent;--list-surface: color-mix(in srgb, #f1f2f4 92%, transparent);--line: #d9d9d9;--line-soft: #ececec;--accent: var(--signal-blue);--accent-hover: #2f6fe8;--link: #1a5fd0;--accent-soft: rgba(71, 132, 246, .12);--chip-grey: #ececec;--chip-grey-text: #4d4d4d;--chip-amber: rgba(255, 222, 89, .35);--chip-amber-text: #6b5a00;--chip-red: rgba(228, 52, 111, .14);--chip-red-text: #b01c4e;--chip-green: rgba(126, 217, 87, .25);--chip-green-text: #2e6b18;--shadow-card: 0 1px 1px rgba(9, 30, 66, .1), 0 2px 6px rgba(9, 30, 66, .08);--shadow-card-hover: 0 3px 6px rgba(9, 30, 66, .12), 0 8px 18px rgba(9, 30, 66, .1);--shadow-raised: 0 8px 24px rgba(9, 30, 66, .12);--shadow-modal: 0 4px 16px rgba(9, 30, 66, .1), 0 24px 64px rgba(9, 30, 66, .16);--shadow-flat: 0 8px 24px rgba(9, 30, 66, .12)}:root{--label-green: #7ed957;--label-yellow: #ffde59;--label-orange: #f7a55c;--label-red: #f77a6e;--label-purple: #b78ae8;--label-blue: #7ba4f8;--label-sky: #66cfe8;--label-lime: #c3e26a;--label-pink: #f27ba1;--label-black: #bfbfbf;--label-teal: #5cd6c0;--label-gold: #e0b64f;--label-magenta: #e07be0;--label-brown: #c0906a;--label-grey: #9aa5b1;--label-forest: #63b47a}:root{--bg-blue: #16305e;--bg-teal: #123f3a;--bg-green: #23431c;--bg-violet: #2e2447;--bg-sunset: #5c3a10;--bg-ocean: #0e1f4a;--bg-ember: #58152e;--bg-slate: #24272c;--bg-night: radial-gradient(120% 90% at 80% 0%, #1b2f5e 0%, #101b3a 45%, #060a18 100%);--bg-dusk: linear-gradient(160deg, #2b1e55 0%, #4a2260 45%, #7c2d55 80%, #93373f 100%);--bg-aurora: linear-gradient(150deg, #04202e 0%, #0a3d3b 40%, #14615a 70%, #2b8f6f 100%);--bg-horizon: linear-gradient(170deg, #0a1a3f 0%, #14295e 55%, #3b2f73 85%, #55336f 100%)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh-body);color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;border:none;background:none;padding:0;cursor:pointer}input,textarea{font:inherit;color:inherit}a{color:var(--link)}:focus-visible{outline:2px solid var(--signal-blue);outline-offset:2px}.wordmark{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:var(--track-tight);color:var(--text);text-decoration:none;white-space:nowrap}.wordmark .dot{color:var(--link)}.app-frame{display:flex;flex-direction:column;height:100%}.top-bar{display:flex;align-items:center;gap:16px;padding:0 16px;height:48px;background:var(--surface-sunken);border-bottom:1px solid var(--line);flex-shrink:0}.top-bar-brand{font-size:var(--fs-md)}.top-bar-spacer{flex:1}.theme-toggle{position:relative;width:52px;height:26px;flex-shrink:0;border-radius:999px;border:1px solid var(--line);background:var(--surface-raised);transition:background .2s var(--ease),border-color .2s var(--ease)}.theme-toggle-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;color:var(--text-faint);transition:color .2s var(--ease)}.theme-toggle-icon.sun{left:6px}.theme-toggle-icon.moon{right:6px}.theme-toggle.dark .theme-toggle-icon.moon{color:var(--link)}.theme-toggle:not(.dark) .theme-toggle-icon.sun{color:var(--signal-amber, #b56a1a)}.theme-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--text);box-shadow:var(--shadow-card);transition:transform .2s var(--ease)}.theme-toggle.dark .theme-toggle-knob{transform:translate(26px)}.workspace-switcher{display:flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-soft);background:transparent;border:1px solid var(--line)}.workspace-switcher:hover{background:var(--surface-hover)}.top-bar-search{display:flex;align-items:center;gap:8px;flex:1 1 auto;height:32px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-raised);color:var(--text-soft);font-size:var(--fs-sm);transition:border-color .15s var(--ease)}.top-bar-create{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;flex-shrink:0}.create-menu{min-width:260px}.create-menu-form{display:flex;flex-direction:column;gap:8px;padding:6px 10px 10px}@media (max-width: 640px){.top-bar-create{padding:0 10px}.top-bar-create-label{display:none}}.share-modal{width:620px;display:flex;flex-direction:column;gap:14px}.share-modal-head{display:flex;align-items:center}.share-modal-title{font-size:var(--fs-lg);font-weight:700;margin:0;flex:1}.share-input-row{display:flex;align-items:flex-start;gap:8px}.share-input-wrap{position:relative;flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);min-height:36px}.share-input-wrap:focus-within{border-color:var(--signal-blue)}.share-input{flex:1;min-width:140px;border:none;background:none;color:var(--text);font-size:var(--fs-sm);padding:4px}.share-input:focus{outline:none}.share-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:var(--subtle);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:600}.share-chip-remove{padding:0 2px;color:var(--text-soft)}.share-chip-remove:hover{color:var(--text)}.share-suggestions{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-raised);padding:6px;display:flex;flex-direction:column;gap:2px}.share-suggestion{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:var(--radius-sm);text-align:left}.share-suggestion:hover{background:var(--subtle)}.share-suggestion-invite{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-soft)}.share-suggestion-hint{padding:6px 8px;margin:0;font-size:var(--fs-sm)}select.share-role-select{width:118px;flex:0 0 auto;height:36px;padding:0 8px;font-size:var(--fs-sm)}.share-links{display:flex;flex-direction:column;gap:6px}.share-links-note{margin:0;font-size:var(--fs-xs)}.share-link-result{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-sm)}.share-link-result .share-member-email{word-break:break-all}.share-copy-btn{flex-shrink:0}.share-link-row{display:flex;align-items:center;gap:10px}.share-link-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--subtle);display:inline-flex;align-items:center;justify-content:center;color:var(--text-soft);flex-shrink:0}.share-create-link{color:var(--link);font-size:var(--fs-sm);text-align:left;width:fit-content}.share-intro-note{margin:0 0 4px;font-size:var(--fs-xs)}.share-regen-btn{white-space:nowrap}.share-create-link:hover{text-decoration:underline}.share-members-head{border-bottom:1px solid var(--line)}.share-tab{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:var(--fs-sm);color:var(--link);border-bottom:2px solid var(--signal-blue);padding-bottom:6px}.share-count{background:var(--subtle);color:var(--text-soft);border-radius:4px;padding:0 6px;font-size:var(--fs-xs);font-weight:600}.share-visibility-note{margin:0;font-size:var(--fs-xs)}.share-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:320px;overflow-y:auto}.share-member-row{display:flex;align-items:center;gap:10px;padding:4px 0}.share-member-id{display:flex;flex-direction:column;flex:1;min-width:0}.share-member-email{font-size:var(--fs-xs);color:var(--text-soft);overflow:hidden;text-overflow:ellipsis}.share-member-role{font-size:var(--fs-sm)}.share-remove-btn{flex-shrink:0}.share-error{margin:0}@media (max-width: 640px){.share-modal{width:100%}.share-input-row{flex-wrap:wrap}}.top-bar-search:hover{border-color:var(--text-faint)}.top-bar-search-icon{flex-shrink:0;color:var(--text-faint)}.top-bar-search-text{flex:1;text-align:left}.top-bar-search-hint{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:var(--radius-xs);border:1px solid var(--line);color:var(--text-faint);font-size:var(--fs-xs)}.account-menu-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.account-menu-btn:focus-visible{outline:2px solid var(--signal-blue);outline-offset:2px}.popover-menu.account-menu{right:8px;left:auto;min-width:240px;max-width:min(280px,calc(100vw - 24px))}.account-theme-row{cursor:default}.account-theme-row:hover{background:transparent}.account-menu-divider{height:1px;background:var(--line-soft);margin:6px 0}.avatar{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:600;color:#fff;flex-shrink:0}.avatar-stack{display:flex}.avatar-stack .avatar{margin-left:-6px;border:2px solid var(--surface-raised)}.avatar-stack .avatar:first-child{margin-left:0}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:var(--fs-base);font-weight:500;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--text);color:var(--surface-sunken);font-weight:600}html[data-theme=light] .btn-primary{background:#000;color:#fff}.btn-primary:hover{background:var(--text-soft)}html[data-theme=light] .btn-primary:hover{background:#333}.btn-primary:disabled{opacity:.55;cursor:default}.btn-ghost{color:var(--text-soft)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.text-input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);font-size:var(--fs-base)}.text-input:focus{outline:2px solid var(--signal-blue);outline-offset:-1px;border-color:transparent}.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;background:var(--surface-sunken);padding:24px}.login-card{width:380px;max-width:100%;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-flat);padding:32px}html[data-theme=light] .login-card{background:#fff}.login-card h1{margin:0 0 4px;font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:var(--track-tight);font-size:var(--fs-xl);line-height:1.1}.login-card .login-sub{margin:0 0 24px;color:var(--text-soft);font-size:var(--fs-sm)}.login-field{display:block;margin-bottom:12px}.login-field span{display:block;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-tight);color:var(--text-soft);margin-bottom:4px}.login-error{margin:12px 0 0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-sm)}.login-divider{display:flex;align-items:center;gap:10px;margin:20px 0;color:var(--text-soft);font-size:var(--fs-xs)}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}.info-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.info-page .inner{max-width:420px}.info-page h1{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-tight);font-size:var(--fs-lg);margin:0 0 8px}.info-page p{color:var(--text-soft);margin:0 0 16px}.boards-home{flex:1;overflow-y:auto;padding:32px;max-width:960px;width:100%;margin:0 auto}.boards-home h1{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-tight);font-size:var(--fs-lg);margin:0 0 20px}.board-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.board-tile{display:flex;align-items:flex-start;padding:14px;height:112px;border-radius:var(--radius);border:none;color:#fff;font-weight:600;text-decoration:none;box-shadow:var(--shadow-card);transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.board-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-raised)}.tile-star{color:#ffffff8c;padding:2px;border-radius:var(--radius-xs);display:inline-flex}.tile-star:hover{color:#fff}.tile-star.on{color:var(--signal-yellow)}.board-tile-new{background:var(--surface-raised);color:var(--text-soft);font-weight:500;align-items:center;justify-content:center;border:1px dashed var(--line);box-shadow:none}.board-tile-new:hover{background:var(--surface-hover);box-shadow:none;transform:none}.board-page{flex:1;display:flex;flex-direction:column;min-height:0}.board-header{display:flex;align-items:center;gap:8px;padding:12px 16px;flex-shrink:0}.board-header .board-name-input{font-family:var(--font-display);font-size:1.125rem;font-weight:600;letter-spacing:var(--track-tight);color:#fff;background:transparent;border:none;border-radius:var(--radius-xs);padding:4px 8px;min-width:60px;field-sizing:content;max-width:42ch;white-space:nowrap;margin-right:4px}.board-header .btn{min-height:32px;padding:0 12px}.board-header .board-header-facepile{margin-right:4px}.board-btn svg{opacity:.85;flex-shrink:0}.share-btn{background:var(--accent-fill-contrast);color:#fff;text-decoration:none}.share-btn:hover{background:#1d4ed8;color:#fff}html[data-theme=light] .share-btn{background:var(--accent-fill-contrast);color:#fff}html[data-theme=light] .share-btn:hover{background:#1d4ed8}.board-menu-kebab{width:32px;padding:0;justify-content:center;color:#ffffffb3;font-size:var(--fs-lg)}.board-menu-kebab:hover{background:#ffffff24;color:#fff}.board-header .board-name-input:hover{background:#ffffff24}.board-header .board-name-input:focus{background:var(--surface-raised);color:var(--text);outline:2px solid var(--signal-blue)}.board-canvas{flex:1;overflow-x:auto;overflow-y:hidden;display:flex;align-items:flex-start;gap:var(--gap);padding:6px 20px 20px}.list-column{width:var(--list-width);max-height:100%;flex-shrink:0;display:flex;flex-direction:column;background:var(--list-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line-soft);border-radius:12px;box-shadow:var(--shadow-card)}.list-header{display:flex;align-items:center;gap:6px;padding:10px 8px 4px}.list-name-input{flex:1;min-width:0;font-size:var(--fs-base);font-weight:600;background:transparent;border:none;border-radius:var(--radius-xs);padding:4px 6px}.list-name-input:focus{background:var(--surface-raised);outline:2px solid var(--signal-blue)}.list-count{font-size:var(--fs-xs);color:var(--text-faint);padding-right:4px}.list-cards{overflow-y:auto;padding:4px 8px 8px;display:flex;flex-direction:column;gap:8px;min-height:8px}.card-front{display:block;background:var(--surface-raised);border:1px solid transparent;border-radius:var(--radius-sm);padding:8px 10px;text-decoration:none;color:var(--text);box-shadow:var(--shadow-card);transition:box-shadow .15s var(--ease),border-color .15s var(--ease),transform .15s var(--ease)}.card-front:hover{border-color:var(--accent);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.card-front.saving{cursor:default;opacity:.72}.card-front.saving:hover{border-color:transparent;box-shadow:var(--shadow-card);transform:none}.card-labels{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.label-pill{height:8px;min-width:40px;border-radius:999px}.label-pill.expanded{height:auto;padding:2px 10px;font-size:var(--fs-xs);font-weight:600;color:#000;border-radius:999px}.card-title{font-size:var(--fs-base);line-height:1.35;overflow-wrap:anywhere}.card-done-check{vertical-align:-3px;margin-right:5px}.card-done-check circle{fill:var(--signal-green)}.card-done-check path{stroke:#04260f}.card-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:var(--fs-xs);color:var(--text-soft)}.due-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--radius-xs);font-weight:500}.due-chip.future{background:var(--chip-grey);color:var(--chip-grey-text)}.due-chip.soon{background:var(--chip-amber);color:var(--chip-amber-text)}.due-chip.overdue{background:var(--chip-red);color:var(--chip-red-text)}.due-chip.complete{background:var(--chip-green);color:var(--chip-green-text)}.field-chip{display:inline-flex;align-items:center;padding:2px 6px;border-radius:var(--radius-xs);background:var(--chip-grey);color:var(--chip-grey-text);font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-badge-avatars{margin-left:auto}.card-badge-avatars .avatar{width:22px;height:22px;font-size:.625rem}.text-input:focus,input[type=datetime-local]:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=datetime-local],select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);padding:6px 10px;font-size:var(--fs-sm);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}.list-cards::-webkit-scrollbar,.board-canvas::-webkit-scrollbar,.modal-backdrop::-webkit-scrollbar{width:8px;height:8px}.list-cards::-webkit-scrollbar-thumb,.board-canvas::-webkit-scrollbar-thumb,.modal-backdrop::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}.list-cards::-webkit-scrollbar-thumb:hover,.board-canvas::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.list-cards::-webkit-scrollbar-track,.board-canvas::-webkit-scrollbar-track{background:transparent}.composer-trigger{display:flex;align-items:center;min-height:32px;text-align:left;padding:0 10px;margin:2px 8px 8px;width:calc(100% - 16px);border-radius:var(--radius-sm);color:var(--text-soft);font-size:var(--fs-base);transition:background .15s var(--ease),color .15s var(--ease)}.composer-trigger:hover{background:var(--subtle);color:var(--text)}.composer{padding:2px 8px 8px}.composer textarea{width:100%;resize:none;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);padding:8px 10px;font-size:var(--fs-base);line-height:1.35;min-height:54px}.composer textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-actions{display:flex;align-items:center;gap:8px;margin-top:6px}.add-list{width:var(--list-width);flex-shrink:0}.add-list-trigger{width:100%;text-align:left;padding:10px 12px;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.15);color:#fff;font-weight:500}.add-list-trigger:hover{background:#0000008c}.add-list-form{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:8px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:48px 16px;z-index:20}.card-modal{position:relative;width:768px;max-width:100%;background:var(--modal-surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:20px 24px 24px;display:flex;flex-direction:column;max-height:calc(100dvh - 96px);min-height:0}.card-modal>.modal-top-bar{flex:0 0 auto}.card-modal>.card-modal-grid{flex:1 1 auto;min-height:0;overflow-y:auto;margin-right:-12px;padding-right:12px}.card-modal.drag-active{outline:2px dashed var(--signal-blue);outline-offset:-2px}.drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--signal-blue) 12%,transparent);border-radius:var(--radius-lg);font-weight:600;color:var(--link);pointer-events:none}.card-modal-grid{display:grid;grid-template-columns:1fr 168px;gap:24px}@media (max-width: 640px){.card-modal-grid{grid-template-columns:1fr}}.card-modal-title{width:100%;font-size:var(--fs-lg);font-weight:600;letter-spacing:var(--track-tight);border:none;background:transparent;border-radius:var(--radius-xs);padding:4px 6px;resize:none;overflow:hidden;line-height:1.3}.card-modal-title:focus{background:var(--surface-raised);outline:2px solid var(--signal-blue)}.card-breadcrumb{font-size:var(--fs-sm);color:var(--text-soft);margin:0 0 16px;padding-left:6px}.modal-section{margin-bottom:20px}.modal-section>h3{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:600;color:var(--text);margin:0 0 10px}.modal-section>h3 svg{color:var(--text-soft);flex-shrink:0}.modal-label-row{display:flex;flex-wrap:wrap;gap:6px}.modal-label{padding:4px 12px;border-radius:var(--radius-xs);color:#000;font-size:var(--fs-sm);font-weight:600;opacity:.45}.modal-label.on{opacity:1}.desc-preview{background:var(--subtle);border-radius:var(--radius-sm);padding:12px 14px;font-size:var(--fs-base);line-height:1.5;cursor:text;min-height:44px;overflow-wrap:anywhere}.desc-preview:hover{background:var(--subtle-hover)}.desc-preview p{margin:0 0 8px}.desc-preview p:last-child{margin-bottom:0}.desc-preview pre{background:var(--surface-sunken);border-radius:var(--radius-xs);padding:8px 10px;overflow-x:auto;font-family:var(--font-mono);font-size:var(--fs-sm)}.desc-preview code{font-family:var(--font-mono);font-size:.85em;background:var(--surface-sunken);border-radius:var(--radius-xs);padding:1px 4px}.desc-preview pre code{background:none;padding:0}.desc-preview blockquote{margin:0 0 8px;padding-left:12px;border-left:3px solid var(--line);color:var(--text-soft)}.desc-preview h1,.desc-preview h2,.desc-preview h3{margin:0 0 8px;line-height:1.3}.desc-preview h1{font-size:var(--fs-md)}.desc-preview h2{font-size:var(--fs-base)}.desc-preview h3{font-size:var(--fs-sm)}.desc-editor textarea{width:100%;min-height:120px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);padding:10px 12px;font-size:var(--fs-base);line-height:1.5;resize:vertical}.desc-editor textarea:focus{outline:2px solid var(--signal-blue);border-color:transparent}.conflict-note{margin:8px 0;padding:10px 12px;border-radius:var(--radius-sm);background:var(--chip-amber);color:var(--chip-amber-text);font-size:var(--fs-sm)}.activity-item{display:flex;gap:8px;font-size:var(--fs-sm);color:var(--text-soft);padding:6px 0;border-top:1px solid var(--line-soft)}.activity-item time{color:var(--text-faint);flex-shrink:0}.due-editor{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.due-editor input[type=datetime-local]{padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);font-size:var(--fs-sm);color-scheme:dark}html[data-theme=light] .due-editor input[type=datetime-local]{color-scheme:light}.checkbox-row{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-soft);cursor:pointer}.custom-fields-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:12px}.custom-field-cell{display:flex;flex-direction:column;gap:4px}.card-front.dragging{opacity:.35}.list-column.dragging{opacity:.4}.drag-ghost{transform:rotate(3deg);box-shadow:var(--shadow-flat);cursor:grabbing;width:var(--list-width)}.list-header{cursor:grab}.presence-ring{display:inline-flex;border-radius:50%;outline:2px solid var(--signal-green);outline-offset:1px}.muted{color:var(--text-soft)}.spinner-page{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-faint);min-height:200px}.bell-wrap,.bell-btn{position:relative}.bell-badge{position:absolute;top:-2px;right:-4px;background:var(--signal-pink);color:#fff;font-size:.625rem;font-weight:700;border-radius:8px;padding:1px 5px}.bell-menu{position:absolute;top:calc(100% + 6px);right:0;width:420px;max-height:70vh;overflow-y:auto;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-raised);z-index:30;padding:12px}.bell-menu-head{display:flex;align-items:center;gap:8px;padding:0 4px 8px}.bell-menu-head>strong{font-size:var(--fs-md)}.bell-menu-actions{display:flex;justify-content:flex-end;padding:0 4px 4px}.mini-switch{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-soft)}.mini-switch-track{position:relative;width:34px;height:18px;border-radius:999px;background:var(--surface-sunken);border:1px solid var(--line);transition:background .15s var(--ease),border-color .15s var(--ease)}.mini-switch-knob{position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:var(--text-faint);transition:transform .15s var(--ease),background .15s var(--ease)}.mini-switch.on .mini-switch-track{background:var(--signal-green);border-color:var(--signal-green)}.mini-switch.on .mini-switch-knob{transform:translate(16px);background:#fff}.bell-empty{padding:8px;font-size:var(--fs-sm)}.bell-item{position:relative;display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;padding:10px;border-radius:var(--radius-sm);font-size:var(--fs-sm);cursor:pointer}.bell-item:hover{background:var(--surface-hover)}.bell-item.unread{background:var(--accent-soft)}.bell-item.unread:hover{background:var(--surface-hover)}.bell-unread-dot{position:absolute;top:12px;right:12px;width:8px;height:8px;border-radius:50%;background:var(--signal-blue)}.bell-card-tile{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--subtle)}.bell-card-name{font-size:var(--fs-base);font-weight:500;overflow-wrap:anywhere}.bell-card-tile .due-chip{margin-left:auto;flex-shrink:0}.bell-caption{font-size:var(--fs-xs);color:var(--text-soft)}.bell-caption>strong{color:var(--text)}.bell-actor{display:flex;align-items:center;gap:8px}.bell-actor-disc{width:28px;height:28px;border-radius:50%;background:var(--surface-hover);flex-shrink:0}.bell-actor-text{min-width:0;overflow-wrap:anywhere}.bell-time{margin-left:auto;flex-shrink:0;font-size:var(--fs-xs)}.bell-preview{font-size:var(--fs-sm);padding:8px 10px;cursor:default;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.checklist-block{margin-bottom:16px}.checklist-head{display:flex;align-items:center;gap:4px;margin-bottom:6px}.checklist-name-input{font-size:var(--fs-base);font-weight:700;background:transparent;border:none;border-radius:var(--radius-xs);padding:2px 4px;min-width:0;max-width:100%}.checklist-name-input:focus{background:var(--surface-raised);outline:2px solid var(--signal-blue)}.checklist-progress{display:flex;align-items:center;gap:8px;margin-bottom:8px}.checklist-percent{font-size:11px;color:var(--text-soft);min-width:30px}.progress-track{flex:1;height:4px;border-radius:999px;background:var(--surface-sunken);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:var(--signal-green);transition:width .24s var(--ease)}.check-item{display:flex;align-items:flex-start;gap:10px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-base);line-height:1.4}.check-item input[type=checkbox]{margin:2px 0 0;width:16px;height:16px;flex-shrink:0;accent-color:var(--signal-green);cursor:pointer}.check-item>span{flex:1;min-width:0;overflow-wrap:anywhere}.check-item:hover{background:var(--surface-hover)}.check-item.complete>span{text-decoration:line-through;color:var(--text-faint)}.check-item-delete{margin-left:auto;color:var(--text-faint);opacity:0;padding:0 4px;font-size:var(--fs-md);line-height:1;transition:opacity .15s var(--ease)}.check-item:hover .check-item-delete,.check-item:focus-within .check-item-delete,.check-item-delete:focus-visible{opacity:1}.check-item-edit{flex-shrink:0;display:inline-flex;align-items:center;color:var(--text-faint);opacity:0;padding:0 2px;transition:opacity .15s var(--ease),color .15s var(--ease)}.check-item-edit:hover{color:var(--text)}.check-item:hover .check-item-edit,.check-item:focus-within .check-item-edit,.check-item-edit:focus-visible{opacity:1}.check-item-delete{flex-shrink:0}.check-item-editing{flex-direction:column;align-items:stretch;gap:6px;cursor:default}.check-item-edit-input{width:100%;min-width:0;box-sizing:border-box;min-height:56px;resize:vertical;font-size:var(--fs-base);line-height:1.4}.comment-composer{position:relative;margin-bottom:12px}.composer-field{position:relative}.comment-composer textarea{width:100%;min-height:60px;height:60px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;font-size:var(--fs-sm);line-height:1.4;background:var(--surface-raised);resize:none;transition:height .12s var(--ease)}.comment-composer textarea:focus{height:88px;outline:2px solid var(--signal-blue);border-color:transparent}.mention-menu{position:absolute;left:8px;bottom:calc(100% + 4px);background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-raised);z-index:10;min-width:220px;padding:4px}.comment-composer .mention-menu{top:calc(100% + 4px);bottom:auto;z-index:45}.mention-option{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:6px 8px;border-radius:var(--radius-xs);font-size:var(--fs-sm)}.mention-option:hover,.mention-option.active{background:var(--surface-hover)}.mention{color:var(--accent);font-weight:600}.comment{display:flex;gap:8px;margin-bottom:16px}.comment.pending{opacity:.6}.comment-main{flex:1;min-width:0}.comment .comment-body,.comment .desc-preview{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;box-shadow:var(--shadow-card);overflow-wrap:anywhere}.comment-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-bottom:4px;font-size:var(--fs-sm)}.comment-author{font-weight:600}.comment-actions{display:flex;gap:14px;margin-top:4px}.comment-action{font-size:var(--fs-xs);color:var(--text-faint);text-decoration:underline}.comment-action:hover{color:var(--text)}.comment-permalink{color:var(--text-faint);text-decoration:underline;font-size:var(--fs-xs)}.comment-permalink:hover{color:var(--text-soft)}.comment-body{cursor:default}.comment-body:hover{background:var(--surface-raised)}.filter-btn{background:#00000059;border:1px solid rgba(255,255,255,.18);color:#fff}.filter-btn:hover{background:#0000008c}.filter-btn.active{background:var(--surface-raised);color:var(--accent);font-weight:600}.filter-panel{margin:0 16px 4px;padding:12px;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-raised);display:flex;flex-wrap:wrap;gap:12px;align-items:center}.busy-board-banner{margin:0 16px 8px;padding:10px 12px;background:var(--chip-amber);color:var(--chip-amber-text);border:1px solid var(--chip-amber-text);border-radius:var(--radius);display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;font-size:var(--fs-sm, 13px)}.busy-board-text{flex:1 1 240px}.busy-board-actions{display:flex;gap:8px;flex:0 0 auto}.filter-row{display:flex;align-items:center;gap:8px}.filter-row .text-input{width:auto}.filter-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-tight);color:var(--text-soft)}.search-panel{width:560px;max-width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:16px}.search-results{margin-top:12px;max-height:50vh;overflow-y:auto}.search-group h3{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-tight);color:var(--text-soft);margin:12px 0 4px}.search-result{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--line-soft);margin-bottom:4px}.search-result:hover{background:var(--surface-hover)}.shortcut-row{display:flex;align-items:center;gap:12px;padding:6px 0;border-top:1px solid var(--line-soft);font-size:var(--fs-sm)}.shortcut-row kbd{background:var(--surface-sunken);border:1px solid var(--line);border-radius:var(--radius-xs);padding:2px 8px;font-family:var(--font-mono);font-size:var(--fs-xs);min-width:40px;text-align:center}.modal-chips-row{display:flex;gap:24px;flex-wrap:wrap}.cover-picker{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.cover-swatch{width:36px;height:24px;border-radius:var(--radius-xs)}.settings-page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.settings-page-head h1{margin:0}.settings-section{margin-bottom:32px}.settings-section h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-tight);font-size:var(--fs-md);margin:0 0 8px}.token-form{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.token-form .text-input{width:auto;flex:1;min-width:160px}.fresh-token{background:var(--accent-soft);border-radius:var(--radius);padding:12px 16px;margin:12px 0}.fresh-token code{display:block;font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--surface-raised);border-radius:var(--radius-sm);padding:8px 10px;margin:8px 0;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.data-table th{text-align:left;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-tight);color:var(--text-soft);padding:6px 10px;border-bottom:1px solid var(--line)}.data-table td{padding:8px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.data-table code{font-family:var(--font-mono);font-size:var(--fs-xs)}.inactive-row{opacity:.55}.rule-card{background:var(--surface-raised);border:1px solid var(--line-soft);border-radius:var(--radius);padding:12px 16px;margin-top:16px}.rule-form{background:var(--surface-raised);border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px;margin:16px 0}.rule-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.rule-row .text-input{width:auto}.rule-section-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:var(--track-tight);color:var(--text-soft);margin:12px 0 6px}.section-head{display:flex;align-items:center;margin-bottom:10px}.section-head>h3{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);font-weight:600;color:var(--text);margin:0}.section-head>h3 svg{color:var(--text-soft);flex-shrink:0}.section-head-btn{min-height:32px;padding:0 12px;border-radius:var(--radius-sm);background:var(--subtle);color:var(--text);font-size:var(--fs-sm);font-weight:600;transition:background .15s var(--ease)}.section-head-btn:hover{background:var(--subtle-hover)}.section-head-btn:disabled{opacity:.6;cursor:default}.add-tile{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--subtle);border:1px solid var(--subtle-border);color:var(--text-soft);font-size:var(--fs-md);cursor:pointer;transition:background .15s var(--ease)}.add-tile:hover{background:var(--subtle-hover);color:var(--text)}.attachments-subhead{font-size:var(--fs-xs);font-weight:600;color:var(--text-soft);margin:2px 0 6px}.attachment-tile-row{display:flex;align-items:center;gap:12px;padding:6px 6px 6px 0;margin-bottom:2px;border-radius:var(--radius-sm)}.attachment-tile-row:hover{background:var(--subtle)}.attachment-ext{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border-radius:var(--radius-sm);background:var(--subtle);color:var(--text-soft);font-size:11px;font-weight:700;letter-spacing:.02em}.attachment-info{flex:1;min-width:0}.attachment-fname{display:block;text-align:left;font-size:var(--fs-base);font-weight:500;color:var(--text);overflow-wrap:anywhere}.attachment-fname:hover{text-decoration:underline}.attachment-meta{font-size:var(--fs-xs);margin-top:2px}.attachment-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--radius-sm);color:var(--text-soft);transition:background .15s var(--ease),color .15s var(--ease)}.attachment-icon-btn:hover{background:var(--subtle-hover);color:var(--text)}.card-modal-wide{width:900px;padding:16px 20px 24px;min-height:min(760px,calc(100dvh - 96px))}.modal-top-bar{display:flex;align-items:center;gap:6px;margin-bottom:12px}.list-picker{height:32px;background:var(--subtle);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;font-size:var(--fs-sm);font-weight:600}.modal-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--text-soft);transition:background .15s var(--ease),color .15s var(--ease)}.modal-icon-btn:hover{background:var(--subtle-hover);color:var(--text)}.modal-icon-btn.on{color:var(--link)}.card-actions-wrap{position:relative;display:inline-flex}.card-actions-menu{left:auto;right:0}.card-modal-grid-back{grid-template-columns:minmax(0,1fr) minmax(0,320px);align-items:start}.modal-main{min-width:0}.modal-activity-col{border-left:1px solid var(--line-soft);padding-left:24px;min-width:0}.card-action-row{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.card-act-btn{display:inline-flex;align-items:center;min-height:32px;gap:6px;padding:0 12px;border-radius:var(--radius-sm);background:var(--subtle);border:1px solid var(--subtle-border);color:var(--text);font-size:var(--fs-sm);font-weight:600;transition:background .15s var(--ease)}.card-act-btn:hover{background:var(--subtle-hover)}.card-act-btn svg{color:var(--text-soft);flex-shrink:0}.card-act-slot{position:relative;display:inline-flex}.card-modal-backdrop{flex-direction:column;align-items:center}.card-automation-bar{flex-shrink:0;margin-top:12px;display:inline-flex;align-items:center;gap:8px;max-width:min(768px,100%);overflow:visible;padding:6px 10px;background:var(--modal-surface);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-raised)}.card-automation-label{display:inline-flex;align-items:center;gap:4px;padding:0 4px;font-size:var(--fs-xs);color:var(--text-soft);white-space:nowrap}.card-automation-label svg{color:var(--text-faint)}.card-automation-btn{display:inline-flex;align-items:center;height:32px;padding:0 12px;border-radius:999px;background:var(--subtle);color:var(--text);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;transition:background .15s var(--ease)}.card-automation-btn:hover{background:var(--subtle-hover)}.card-automation-btn:disabled{opacity:.6;cursor:default}.card-automation-empty{color:var(--text-soft);font-weight:500}@media (max-width: 720px){.card-modal-grid-back{grid-template-columns:1fr}.modal-activity-col{border-left:none;border-top:1px solid var(--line-soft);padding-left:0;padding-top:16px;margin-top:4px}}.modal-comments{display:block}.rail-head{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;margin-bottom:8px}.rail-head h3{display:flex;align-items:center;gap:8px;font-size:var(--fs-base);font-weight:600;margin:0;white-space:nowrap}.rail-head .btn{flex-shrink:0;white-space:nowrap;font-size:var(--fs-sm)}.rail-head h3 svg{color:var(--text-soft);flex-shrink:0}.rail-feed{margin-top:8px}.feed-action{display:flex;gap:8px;padding:6px 0}.feed-action-main{display:flex;flex-direction:column;gap:1px;min-width:0}.feed-action-text{font-size:var(--fs-sm);color:var(--text);line-height:1.35}.feed-action-time{font-size:var(--fs-xs);color:var(--text-faint)}.feed-action-badge{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--text-faint);color:#fff;font-size:var(--fs-xs);font-weight:600;flex-shrink:0}.modal-title-row{display:flex;align-items:flex-start;gap:8px}.complete-circle{width:20px;height:20px;margin-top:8px;border-radius:50%;border:2px solid var(--text-faint);flex-shrink:0}.complete-circle.on{background:var(--signal-green);border-color:var(--signal-green)}.quick-actions{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.quick-btn{background:var(--subtle);border:1px solid var(--subtle-border);font-size:var(--fs-sm);padding:5px 10px}.quick-btn:hover{background:var(--subtle-hover)}.card-buttons-row .card-button{background:var(--accent-soft);color:var(--accent);font-weight:600}.meta-row{display:flex;flex-wrap:wrap;gap:24px;margin:12px 0 16px}.meta-cell{position:relative;min-width:0}.meta-cell h3{font-size:var(--fs-sm);font-weight:600;color:var(--text-soft);margin:0 0 6px}.avatar-add{background:var(--subtle);border:1px solid var(--line);color:var(--text-soft);cursor:pointer;font-size:var(--fs-md)}.member-picker{top:calc(100% + 4px);bottom:auto}.locked-badge{background:var(--chip-amber);color:var(--chip-amber-text);font-size:var(--fs-xs);font-weight:700;padding:3px 10px;border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:var(--track-tight)}.date-field{display:flex;align-items:center;gap:6px}.date-field-label{font-size:var(--fs-xs);color:var(--text-faint);min-width:60px}.list-column.collapsed{position:relative;width:40px;min-width:40px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;border:1px solid var(--line);background:var(--surface-raised)}.list-column.collapsed:hover{border-color:var(--text-faint)}.collapsed-list-name{writing-mode:vertical-rl;transform:rotate(180deg);font-weight:600;font-size:var(--fs-sm);line-height:1;text-align:center;max-height:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-column.collapsed .list-count{opacity:1;padding:0}.collapsed-due-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--danger)}.list-collapse-btn{border:0;background:transparent;color:var(--text-faint);cursor:pointer;font-size:var(--fs-sm);padding:2px 4px}.list-collapse-btn:hover,.list-collapse-btn:focus-visible{color:var(--text)}.template-chip{display:inline-block;font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;margin-right:6px;border:1px solid var(--signal-blue);color:var(--link);border-radius:3px;vertical-align:middle}.from-template-select{margin-left:auto;max-width:150px}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}.drag-ghost,.btn:active,.card-front:hover{transform:none!important}}.label-chip{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:4px;font-size:var(--fs-xs);font-weight:600;color:#000000d9;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.label-chip.bare{min-width:40px;padding:0;height:8px}.badge-item{display:inline-flex;align-items:center;gap:4px;color:var(--text-soft);font-size:var(--fs-xs)}.badge-item.done{background:var(--chip-green);color:var(--chip-green-text);padding:2px 6px;border-radius:var(--radius-xs)}.due-chip{display:inline-flex;align-items:center;gap:4px}.popover-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;min-width:220px;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-raised);padding:6px;display:flex;flex-direction:column;gap:2px}.kebab-wrap,.add-menu-wrap,.list-menu-wrap,.dates-wrap,.automations-wrap,.checklist-creator-wrap{position:relative;display:inline-flex}.checklist-creator{flex-direction:row;align-items:center;min-width:220px}.checklist-creator .text-input{flex:1}.kebab-menu{left:auto;right:0}.confirm-wrap{position:relative;display:inline-flex}.confirm-popover{left:auto;right:0;width:280px;gap:8px;padding:10px 12px 12px}.confirm-head{display:flex;align-items:center;justify-content:space-between}.confirm-head strong{font-size:var(--fs-base)}.confirm-close{color:var(--text-faint);font-size:var(--fs-sm);padding:2px 4px}.confirm-close:hover{color:var(--text)}.confirm-body{margin:0;font-size:var(--fs-sm)}.confirm-go{width:100%;justify-content:center;background:var(--danger-fill-contrast, var(--danger));color:#fff;font-weight:600}.confirm-go:hover{filter:brightness(1.08)}.popover-title{font-size:var(--fs-xs);font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;padding:6px 10px 4px}.popover-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border-radius:var(--radius-xs);font-size:var(--fs-base);color:var(--text);transition:background .15s var(--ease)}.popover-item:hover{background:var(--surface-hover)}.popover-item.danger{color:var(--danger)}.popover-item.indent{padding-left:26px;font-size:var(--fs-sm)}.label-picker{min-width:240px}.label-swatch{width:32px;height:14px;border-radius:999px;flex-shrink:0}.label-option-name{flex:1}.label-chip.applied{height:26px;padding:0 12px;font-size:var(--fs-sm);cursor:pointer}.modal-actions-row{display:flex;gap:6px;margin:6px 0 14px}.due-chip-btn{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--radius-sm);background:var(--subtle);border:1px solid var(--subtle-border);color:var(--text);font-size:var(--fs-base);transition:background .15s var(--ease),border-color .15s var(--ease)}.due-chip-btn:hover{background:var(--subtle-hover)}.status-pill{font-size:var(--fs-xs);font-weight:600;padding:2px 8px;border-radius:var(--radius-xs)}.status-pill.overdue{background:var(--danger-fill-contrast);color:#fff}.status-pill.soon{background:var(--chip-amber);color:var(--chip-amber-text)}.status-pill.complete{background:var(--chip-green);color:var(--chip-green-text)}.chev{color:var(--text-faint);line-height:.6}.dates-popover{width:min(300px,calc(100vw - 56px));gap:8px;padding:12px 14px 14px}.dates-popover-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.dates-popover-head strong{font-size:var(--fs-base)}.date-toggle{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;cursor:pointer;margin-top:2px}.date-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--signal-blue)}.date-inputs{display:flex;gap:8px}.date-input{width:100%}.date-inputs .date-time{width:108px;flex-shrink:0}.date-field-block{display:flex;flex-direction:column;gap:4px}.date-field-block .date-field-label{font-size:var(--fs-sm);font-weight:600}.dates-popover-actions{display:flex;gap:8px;margin-top:4px}.dates-popover-actions .btn-primary{flex:1;justify-content:center}.modal-bottom-bar{position:sticky;bottom:0;display:flex;justify-content:center;padding:10px 0 2px}.automations-wrap .popover-menu{top:auto;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.bottom-pill-btn{border-radius:999px;box-shadow:var(--shadow-raised);padding:8px 18px}.list-column:has(.popover-menu){z-index:60}.label-create-row{display:flex;align-items:center;gap:8px;padding:4px 10px 8px}.label-swatch-btn{cursor:pointer;border:2px solid transparent}.label-swatch-btn:focus-visible{border-color:var(--accent)}.label-create-input{flex:1;min-width:0;padding:5px 8px;font-size:var(--fs-sm)}.label-picker-empty{padding:6px 10px 0;margin:0;font-size:var(--fs-sm)}.list-count,.list-header .list-collapse-btn,.list-menu-wrap{opacity:0;transition:opacity .15s var(--ease)}.list-header:hover .list-count,.list-header:hover .list-collapse-btn,.list-header:hover .list-menu-wrap,.list-header:focus-within .list-count,.list-header:focus-within .list-collapse-btn,.list-header:focus-within .list-menu-wrap,.list-menu-wrap.open{opacity:1}.avatar-overflow{background:var(--surface-hover);color:var(--text-soft);font-size:var(--fs-xs)}.drawer-backdrop{align-items:stretch;justify-content:flex-end;padding:0}.board-menu-drawer{width:320px;max-width:100%;height:100%;overflow-y:auto;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-modal);padding:16px;display:flex;flex-direction:column;gap:2px;animation:drawer-slide-in .18s var(--ease)}@keyframes drawer-slide-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:32px;margin-bottom:8px}.drawer-title{font-size:var(--fs-md)}.drawer-close{position:absolute;right:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);color:var(--text-soft);transition:background .15s var(--ease),color .15s var(--ease)}.drawer-close:hover{background:var(--surface-hover);color:var(--text)}.drawer-row{display:flex;align-items:center;gap:10px;min-height:40px;width:100%;text-align:left;padding:6px 8px;border-radius:var(--radius-sm);color:var(--text);font-size:var(--fs-base);text-decoration:none}.drawer-row-icon{flex-shrink:0;color:var(--text-soft)}.drawer-row-label{flex:1;min-width:0}.drawer-row:hover,.drawer-row.open{background:var(--surface-hover)}.drawer-share-row{gap:10px}.drawer-share-facepile{flex-shrink:0}.drawer-divider{height:1px;background:var(--line-soft);margin:6px 0}.drawer-bg-thumb{flex-shrink:0;width:20px;height:20px;border-radius:var(--radius-xs);border:1px solid var(--line)}.drawer-row-action{color:var(--text-faint);font-size:var(--fs-xs);white-space:nowrap;flex-shrink:0}.drawer-row:hover .drawer-row-action{color:var(--link)}.drawer-subpanel{padding:8px 8px 12px;margin-bottom:4px;border-bottom:1px solid var(--line-soft)}.drawer-label-row{display:flex;align-items:center;gap:8px;padding:4px 2px;font-size:var(--fs-sm)}.archived-row{display:flex;align-items:center;gap:8px;padding:6px 2px;font-size:var(--fs-sm)}.archived-row>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archived-list-name{font-size:var(--fs-xs)}.topbar-more-menu{right:8px;left:auto;min-width:220px}.topbar-more-head{display:flex;align-items:center;gap:10px;padding:4px 10px 8px;border-bottom:1px solid var(--line-soft);margin-bottom:4px}.topbar-more-id{display:flex;flex-direction:column;min-width:0}.topbar-more-id strong{font-size:var(--fs-sm)}.topbar-more-id .bell-context{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}@media (max-width: 640px){.top-bar{gap:6px;padding:0 10px}.top-bar-brand{font-size:var(--fs-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-search{min-width:0}.top-bar-search-hint{display:none}.modal-backdrop{padding:8px 6px 24px;align-items:flex-start}.card-modal,.card-modal-wide{width:100%;padding:14px 14px 20px;border-radius:var(--radius)}.card-modal-wide{margin-bottom:56px}.card-modal-grid,.card-modal-grid-back{gap:16px}.card-modal-title{font-size:var(--fs-lg)}.meta-row{gap:16px}.card-act-btn{min-height:40px;flex:1 1 auto;justify-content:center}.board-header{flex-wrap:wrap;row-gap:8px;padding:10px 12px}.board-header .top-bar-spacer{flex-basis:100%;height:0}.board-canvas{padding:6px 12px 16px}.list-column,.add-list{width:82vw;max-width:300px}.list-count,.list-header .list-collapse-btn,.list-menu-wrap{opacity:1}.card-front,.composer-trigger,.add-card-trigger{padding:10px 12px}.board-menu-drawer{width:100%}.popover-menu{max-width:calc(100vw - 24px)}.bell-menu{width:min(360px,calc(100vw - 24px))}.search-panel{width:100%}.modal-chips-row{gap:16px}.boards-home{padding:20px 16px}.board-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.board-menu-drawer .confirm-wrap{display:block;width:100%}.drawer-row-danger .drawer-row-label,.drawer-row-danger svg{color:var(--danger)}.archived-board-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);max-width:560px}.archived-board-row .archived-board-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-soft)}.archived-board-row .btn.danger{color:var(--danger)}.list-drag-handle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:18px;align-self:stretch;cursor:grab;color:var(--text-faint);border-radius:var(--radius-xs);touch-action:none;opacity:0;transition:opacity .12s ease}.list-drag-handle:active{cursor:grabbing}.list-header:hover .list-drag-handle,.list-drag-handle:focus-visible{opacity:1}.list-drag-handle:focus-visible{outline:2px solid var(--signal-blue)}.reaction-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}.reaction-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);background:var(--subtle);font-size:var(--fs-xs);line-height:1.4;transition:background .15s var(--ease),border-color .15s var(--ease)}.reaction-chip:hover{border-color:var(--line-strong, var(--text-faint))}.reaction-chip.mine{background:color-mix(in srgb,var(--signal-blue) 16%,transparent);border-color:var(--signal-blue);color:var(--text)}.reaction-count{font-weight:600;color:var(--text-soft)}.reaction-chip.mine .reaction-count{color:var(--link)}.reaction-add-wrap{position:relative;display:inline-flex}.reaction-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:24px;border-radius:999px;color:var(--text-faint);border:1px solid transparent}.reaction-add:hover{color:var(--text);background:var(--surface-hover);border-color:var(--line)}.reaction-picker{position:absolute;bottom:calc(100% + 6px);left:0;z-index:41;display:flex;gap:2px;padding:4px;background:var(--surface-raised);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-raised)}.reaction-pick{font-size:18px;line-height:1;padding:4px 5px;border-radius:var(--radius-xs)}.reaction-pick:hover{background:var(--surface-hover)}.label-search{width:100%;margin-bottom:8px}.label-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.label-option{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:0;cursor:pointer;background:transparent}.label-checkbox{flex-shrink:0;width:18px;height:18px;border:2px solid var(--line);border-radius:var(--radius-xs);display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1;color:#fff;background:transparent}.label-checkbox.on{background:var(--signal-blue);border-color:var(--signal-blue)}.label-bar{flex:1;min-width:0;height:32px;display:flex;align-items:center;padding:0 12px;border-radius:var(--radius-sm);color:#fff;font-size:var(--fs-sm);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 1px rgba(0,0,0,.25)}.label-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-sm);color:var(--text-soft);transition:background .15s var(--ease),color .15s var(--ease)}.label-edit-btn:hover{background:var(--subtle-hover);color:var(--text)}.label-create-new{width:100%;margin-top:6px;justify-content:center}.label-editor{min-width:240px}.label-editor-head{display:flex;align-items:center;gap:8px}.label-editor-back{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--text-soft);font-size:18px;line-height:1}.label-editor-back:hover{background:var(--subtle-hover);color:var(--text)}.label-editor-preview{display:flex;padding:6px 0 10px}.label-editor-colors-label{margin:8px 0 6px;font-size:var(--fs-xs);font-weight:600;color:var(--text-soft)}.label-color-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px}.label-color-swatch{height:30px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:var(--fs-sm);cursor:pointer}.label-color-swatch.selected{outline:2px solid var(--text);outline-offset:1px}.label-delete-btn{margin-left:auto}.ai-panel{width:560px;max-width:100%;gap:12px}.delete-confirm-modal{width:440px;max-width:100%;gap:10px}.repeat-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.repeat-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised)}.repeat-main{display:flex;flex-direction:column;gap:2px;min-width:0}.repeat-card-name{font-weight:600}.repeat-meta{font-size:var(--fs-xs)}.ai-open-btn{background:var(--surface-hover);color:var(--text);border:1px solid var(--line)}.ai-open-btn:hover{background:color-mix(in srgb,var(--signal-blue) 12%,var(--surface-hover));border-color:color-mix(in srgb,var(--signal-blue) 40%,var(--line));color:var(--text)}.ai-open-btn svg{color:var(--link)}.ai-tabs{display:flex;gap:6px;flex:0 0 auto}.ai-tab{flex:1;padding:8px 10px;border-radius:var(--radius-sm);font-weight:600;color:var(--text-soft);background:var(--subtle)}.ai-tab.on{color:#fff;background:var(--signal-blue)}.ai-hint{margin:0}.ai-inputs{display:flex;flex-direction:column;gap:8px}.ai-textarea{min-height:96px;resize:vertical}.ai-image-btn{align-self:flex-start;cursor:pointer}.ai-actions{display:flex;gap:8px;flex:0 0 auto}.ai-applied{color:var(--signal-green, #2fa866);font-weight:600}.ai-skipped{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--danger-soft)}.ai-skipped p{margin:0 0 4px}.ai-skipped ul{margin:0;padding-left:18px}.ai-skipped li{font-size:var(--fs-sm);color:var(--text-muted, var(--text-faint))}.ai-advice{white-space:pre-wrap;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--subtle)}.ai-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;margin-right:-12px;padding-right:12px}.ai-input-row{display:flex;align-items:center;gap:8px}.ai-image-clear{color:var(--text-faint);font-size:var(--fs-sm);padding:2px 6px;border-radius:var(--radius-xs)}.ai-image-clear:hover{color:var(--text);background:var(--surface-hover)}.ai-proposal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.ai-plan-row{align-items:flex-start;gap:10px;padding:6px 8px;border-radius:var(--radius-sm)}.ai-plan-desc{flex:1;min-width:0}.ai-plan-row.destructive{background:var(--danger-soft)}.ai-destructive-tag{flex:0 0 auto;font-size:var(--fs-xs);color:var(--danger);font-weight:600}.ai-proposal-row{display:flex;align-items:center;gap:8px}.ai-card-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-card-desc{font-weight:400}.ai-label-chip{flex:0 0 auto;height:24px;max-width:45%}.automation-wrap{position:relative;display:inline-flex}.automation-trigger.open{background:var(--subtle-hover)}.automation-popover{position:absolute;top:auto;bottom:calc(100% + 8px);left:0;min-width:240px;max-height:min(420px,60vh);overflow-y:auto;display:flex;flex-direction:column;gap:6px;padding:10px}.automation-popover-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.automation-popover-head .popover-title{margin:0}.automation-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);color:var(--text-soft)}.automation-edit-btn:hover{background:var(--subtle-hover);color:var(--text)}.automation-popover-empty{margin:0;font-size:var(--fs-sm)}.automation-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--subtle-border);border-radius:var(--radius-sm);background:var(--subtle);color:var(--text);font-size:var(--fs-sm);font-weight:600;text-align:left;text-decoration:none;cursor:pointer}.automation-row:hover{background:var(--subtle-hover)}.automation-row:disabled{opacity:.6;cursor:default}.automation-row svg{flex-shrink:0;opacity:.7}.automation-add{justify-content:center;background:transparent;border-style:dashed;color:var(--text-soft)}
