:root{--radius: 16px;--radius-sm: 10px;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-head: var(--sans);--ease-fluid: cubic-bezier(.22, 1, .36, 1);--ease-snap: cubic-bezier(.34, 1.4, .64, 1);--dur-fast: .16s;--dur-med: .28s;--dur-slow: .48s;--ground: #0a0d14;--surface: #121722;--surface-2: #171d2a;--card: #1c2433;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--ink: #f4f7fc;--ink-soft: #c8d2e4;--muted: #93a0b8;--faint: #6d7a90;--accent: #7c6bff;--accent-2: #5b8cff;--accent-ink: #fff;--accent-soft: rgba(124, 107, 255, .18);--accent-glow: rgba(124, 107, 255, .35);--backlog: #a78bfa;--todo: #ffb020;--doing: #6d7bff;--done: #2ee6a8;--danger: #ff5c6a;--shadow: 0 2px 8px rgba(0, 0, 0, .35), 0 16px 40px rgba(0, 0, 0, .32);--ambient-bg: radial-gradient(ellipse 90% 60% at 8% -8%, rgba(124, 107, 255, .14), transparent 55%), radial-gradient(ellipse 70% 50% at 95% 5%, rgba(46, 230, 168, .1), transparent 50%), radial-gradient(ellipse 60% 40% at 50% 105%, rgba(255, 176, 32, .07), transparent 45%);--auth-brand-bg: radial-gradient(900px 460px at -5% -10%, rgba(124, 107, 255, .28), transparent 60%), radial-gradient(780px 420px at 100% 0%, rgba(46, 230, 168, .18), transparent 56%), radial-gradient(600px 360px at 50% 100%, rgba(255, 176, 32, .1), transparent 50%), linear-gradient(180deg, #12172a, #0a0d14);--auth-brand-ink: #f8fbff;--auth-brand-muted: rgba(255, 255, 255, .72);--panel-tint: color-mix(in srgb, var(--surface) 84%, var(--ground));--surface-hover: color-mix(in srgb, var(--surface-2) 82%, var(--accent) 18%);--surface-active: color-mix(in srgb, var(--surface-2) 72%, var(--accent) 28%);--field-bg: color-mix(in srgb, var(--surface-2) 90%, var(--ground));--field-focus-ring: color-mix(in srgb, var(--accent) 32%, transparent);--soft-sheen: linear-gradient(to bottom, rgba(255, 255, 255, .06), transparent);--gradient-primary: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 55%, color-mix(in srgb, var(--done) 40%, var(--accent-2)) 100%)}:root[data-app-theme=frost]{--ground: #edf2fa;--surface: #ffffff;--surface-2: #f5f8fd;--card: #ffffff;--border: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .15);--ink: #0f1a2e;--ink-soft: #2d3f5c;--muted: #5a6d88;--faint: #7d91ad;--accent: #4f6ef7;--accent-2: #7c6bff;--accent-ink: #fff;--accent-soft: rgba(79, 110, 247, .14);--accent-glow: rgba(79, 110, 247, .28);--backlog: #8b7fd4;--todo: #ea8c0c;--doing: #4f6ef7;--done: #10b981;--danger: #e11d48;--shadow: 0 2px 8px rgba(15, 23, 42, .05), 0 16px 40px rgba(79, 110, 247, .1);--ambient-bg: radial-gradient(ellipse 90% 60% at 5% -5%, rgba(79, 110, 247, .12), transparent 55%), radial-gradient(ellipse 70% 50% at 100% 0%, rgba(16, 185, 129, .1), transparent 50%), radial-gradient(ellipse 60% 40% at 40% 100%, rgba(234, 140, 12, .08), transparent 45%);--auth-brand-bg: radial-gradient(920px 500px at 0% 0%, rgba(79, 110, 247, .2), transparent 62%), radial-gradient(760px 420px at 100% 0%, rgba(16, 185, 129, .14), transparent 56%), radial-gradient(600px 360px at 50% 100%, rgba(234, 140, 12, .08), transparent 50%), linear-gradient(180deg, #f8fbff, #e8f0fb);--auth-brand-ink: #0f1a2e;--auth-brand-muted: rgba(15, 26, 46, .72);--panel-tint: color-mix(in srgb, #ffffff 85%, #dce8fb);--surface-hover: #eef4ff;--surface-active: #e4edff;--field-bg: #fafcff;--field-focus-ring: rgba(79, 110, 247, .18);--soft-sheen: linear-gradient(to bottom, rgba(255, 255, 255, .65), transparent);--gradient-primary: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 50%, #10b981 120%)}:root[data-app-theme=meridian]{--font-head: var(--mono);--ground: #110e0c;--surface: #1a1613;--surface-2: #211c18;--card: #2a241f;--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 255, 255, .16);--ink: #faf4ed;--ink-soft: #e0d4c6;--muted: #b8a898;--faint: #8a7b6c;--accent: #ff7a45;--accent-2: #ffb020;--accent-ink: #1a1008;--accent-soft: rgba(255, 122, 69, .18);--accent-glow: rgba(255, 122, 69, .38);--backlog: #c4a882;--todo: #ffb020;--doing: #ff7a45;--done: #3ddeb8;--danger: #ff5c6a;--shadow: 0 2px 8px rgba(0, 0, 0, .4), 0 16px 40px rgba(255, 122, 69, .12);--ambient-bg: radial-gradient(ellipse 90% 60% at 0% 0%, rgba(255, 122, 69, .16), transparent 55%), radial-gradient(ellipse 70% 50% at 100% 10%, rgba(61, 222, 184, .1), transparent 50%), radial-gradient(ellipse 60% 40% at 50% 100%, rgba(255, 176, 32, .08), transparent 45%);--auth-brand-bg: radial-gradient(920px 480px at 0% 0%, rgba(255, 122, 69, .24), transparent 62%), radial-gradient(820px 420px at 100% 0%, rgba(61, 222, 184, .14), transparent 56%), radial-gradient(600px 360px at 50% 100%, rgba(255, 176, 32, .1), transparent 50%), linear-gradient(180deg, #1c1612, #110e0c);--auth-brand-ink: #faf4ed;--auth-brand-muted: rgba(250, 244, 237, .72);--panel-tint: color-mix(in srgb, var(--surface) 84%, #0f0b09);--surface-hover: color-mix(in srgb, var(--surface-2) 80%, var(--accent) 20%);--surface-active: color-mix(in srgb, var(--surface-2) 68%, var(--accent) 32%);--field-bg: color-mix(in srgb, var(--surface-2) 92%, #0f0b09);--field-focus-ring: rgba(255, 122, 69, .22);--soft-sheen: linear-gradient(to bottom, rgba(255, 255, 255, .05), transparent);--gradient-primary: linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 55%, var(--done) 120%)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-image:var(--ambient-bg);background-attachment:fixed}button,input,textarea,select,.tab,.ghost,.primary,.card,.board-col,.org-switcher-btn,.mobile-col-tab{transition-duration:var(--dur-med);transition-timing-function:var(--ease-fluid)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}@keyframes ambient-shift{0%,to{filter:hue-rotate(0deg) brightness(1)}50%{filter:hue-rotate(8deg) brightness(1.03)}}.app-shell{position:relative;isolation:isolate}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:var(--ambient-bg);opacity:.55;animation:ambient-shift 24s var(--ease-fluid) infinite}.app-shell>*{position:relative;z-index:1}@media (prefers-reduced-motion: reduce){.app-shell:before{animation:none}button,input,textarea,select,.tab,.ghost,.primary,.card,.board-col{transition-duration:.01ms}}.splash{height:100%;display:grid;place-items:center;background:var(--ground)}.logo-mark{font-size:56px}.logo-mark.sm{font-size:22px}.auth{min-height:100%;display:grid;grid-template-columns:3fr 4fr}.auth-brand{background:var(--auth-brand-bg);color:var(--auth-brand-ink);padding:52px 44px;display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--border)}.auth-brand h1{margin:8px 0 0;font-size:30px;letter-spacing:-.02em}.brand-tag{color:var(--auth-brand-muted);margin:0 0 28px;font-size:15px;max-width:30ch}.brand-features{list-style:none;padding:0;margin:auto 0 0;display:grid;gap:10px}.brand-features li{color:var(--auth-brand-muted);font-size:13px}.auth-card{background:var(--panel-tint);display:grid;place-items:center;padding:24px;position:relative}.lang-row{position:absolute;top:16px;right:20px;display:flex;gap:6px}.lang-btn{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:600}.lang-btn.active{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:var(--accent-soft)}.auth-inner{width:100%;max-width:360px}.auth-form{display:flex;flex-direction:column}.auth-form h2{margin:0;font-size:26px;letter-spacing:-.02em}.auth-form .sub{color:var(--muted);margin:6px 0 22px;font-size:14px}.auth-form label{font-size:12px;color:var(--muted);margin:12px 0 5px;font-weight:500}.org-mode-switch{display:flex;gap:4px;margin-top:14px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.org-mode-btn{flex:1;background:transparent;border:none;color:var(--muted);border-radius:calc(var(--radius-sm) - 3px);padding:8px 10px;font-size:13px;font-weight:600;transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast),box-shadow var(--dur-fast)}.org-mode-btn.active{background:var(--gradient-primary);color:var(--accent-ink);box-shadow:0 8px 20px var(--accent-glow)}input,textarea,select{background:var(--field-bg);border:1px solid var(--border);color:var(--ink);border-radius:var(--radius-sm);padding:11px 13px;font-size:14px;width:100%;transition:border-color .15s,box-shadow .15s,background .15s}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover,textarea:hover,select:hover{border-color:var(--border-strong)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--field-focus-ring)}.primary{background:var(--gradient-primary);color:var(--accent-ink);border:none;border-radius:var(--radius-sm);padding:12px 18px;font-size:15px;font-weight:600;margin-top:20px;transition:transform var(--dur-fast),box-shadow var(--dur-med),filter var(--dur-fast);box-shadow:0 10px 28px var(--accent-glow)}.primary:hover{filter:brightness(1.06);transform:translateY(-2px) scale(1.01);box-shadow:0 14px 32px var(--accent-glow)}.primary:active{transform:translateY(0) scale(.99)}.primary:disabled{opacity:.6}.ghost{background:transparent;border:1px solid var(--border-strong);color:var(--ink);border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:500}.ghost:hover{background:var(--surface-hover);border-color:color-mix(in srgb,var(--accent) 22%,var(--border-strong))}.danger{background:transparent;border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius-sm);padding:8px 14px;font-size:13px}.link{background:none;border:none;color:var(--accent);font-size:13px;padding:0}.link:hover{text-decoration:underline}.switch{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:20px;font-size:13px;color:var(--muted);text-align:center}.err{color:var(--danger);font-size:13px;margin:14px 0 0}.ok{color:var(--done);font-size:13px;margin:14px 0 0}.hint{color:var(--muted);font-style:italic;font-size:12px;margin:8px 0 0}.app-shell{height:100%;display:flex;flex-direction:row;overflow:hidden}.app-sidebar{width:232px;flex-shrink:0;display:flex;flex-direction:column;background:color-mix(in srgb,var(--surface) 94%,var(--ground));border-right:1px solid var(--border);padding:14px 10px;gap:14px;z-index:110;overflow:hidden}.sidebar-section{display:flex;flex-direction:column;gap:6px}.sidebar-brand{display:flex;align-items:center;gap:9px;padding:4px 8px 2px;font-size:15px;letter-spacing:-.01em}.sidebar-org{padding:0 4px;position:relative;z-index:150;overflow:visible}.sidebar-org .org-switcher{width:100%}.sidebar-org .org-switcher-btn{width:100%;max-width:none}.sidebar-org .org-switcher-panel{left:0;right:0;width:100%;min-width:0;box-sizing:border-box}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.sidebar-spacer{flex:1;min-height:12px}.sidebar-label{margin:0;padding:0 8px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-link{--tab-c: var(--accent);display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:1px solid transparent;color:var(--ink-soft);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:500}.sidebar-link:hover{background:var(--surface-hover);color:var(--ink)}.sidebar-link.active{color:var(--ink);border-color:color-mix(in srgb,var(--tab-c, var(--accent)) 45%,transparent);background:color-mix(in srgb,var(--tab-c, var(--accent)) 14%,var(--surface-2))}.sidebar-link.view.active{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,var(--surface-2));color:var(--ink)}.sidebar-link.add{color:var(--muted);border-style:dashed;border-color:var(--border);justify-content:center}.sidebar-link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-foot{margin-top:auto;padding-top:10px;border-top:1px solid var(--border);position:relative;z-index:140;overflow:visible}.app-main{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;overflow:hidden}.main-topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,var(--ground));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:80;flex-shrink:0}.sidebar-toggle{display:none;padding:6px 10px}.main-title{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.main-title-text{margin:0;font-size:17px;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-title-text.muted{color:var(--muted);font-weight:600}.main-title-meta{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);flex-shrink:0}.main-topbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.main-topbar-actions .ghost.on{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:105;background:color-mix(in srgb,var(--ground) 55%,transparent);border:none;cursor:pointer}.user-menu{position:relative;width:100%}.user-menu-btn{display:flex;align-items:center;gap:10px;width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px;color:var(--ink);text-align:left}.user-menu-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--surface-hover)}.user-avatar{width:30px;height:30px;border-radius:50%;color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;flex-shrink:0}.user-menu-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.user-menu-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-role{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.user-menu-panel{position:absolute;left:0;right:0;bottom:calc(100% + 8px);z-index:210;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px;box-shadow:var(--shadow)}.user-menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--ink);border-radius:8px;padding:9px 10px;font-size:13px}.user-menu-item:hover{background:var(--surface-2)}.user-menu-item.danger{color:var(--danger)}.user-menu-divider{height:1px;background:var(--border);margin:6px 4px}.user-menu-pickers{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 2px;flex-wrap:wrap}.user-menu-pickers .theme-panel,.user-menu-pickers .bg-panel{top:auto;bottom:calc(100% + 8px);left:50%;right:auto;transform:translate(-50%)}.fab{position:absolute;right:22px;bottom:22px;width:56px;height:56px;border-radius:9999px;border:none;background:var(--gradient-primary);color:var(--accent-ink);font-size:28px;font-weight:300;line-height:1;z-index:70;box-shadow:0 8px 28px var(--accent-glow);transition:transform var(--dur-fast),box-shadow var(--dur-med)}.fab:hover{transform:scale(1.06) translateY(-2px);box-shadow:0 12px 36px var(--accent-glow)}.fab:active{transform:scale(.98)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,var(--ground));padding-top:max(12px,env(safe-area-inset-top));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:80;overflow:visible}.brand-mini{display:flex;align-items:center;gap:9px;font-size:15px;letter-spacing:-.01em}.topbar-right{display:flex;align-items:center;gap:10px}.who{color:var(--muted);font-size:13px}.banner{background:var(--danger);color:#fff;padding:9px 16px;font-size:13px;text-align:center;cursor:pointer}.banner.ok-banner{background:var(--done)}.banner.warn-banner{background:var(--todo);color:#1a1200;cursor:default}.ai-help{padding:0 22px 22px}.ai-help .ai-opt{font-weight:600;font-size:13px;margin:16px 0 6px}.ai-help pre{margin:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;overflow-x:auto}.ai-help code{font-family:var(--mono);font-size:12px;color:var(--ink-soft);white-space:pre}.ok-tag{font-size:11px;color:var(--done);font-weight:600}.board-scroll{flex:1;overflow:auto;padding:20px 20px 88px}.board-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,1fr));gap:16px;max-width:1440px;margin:0 auto;min-height:100%}.mobile-col-tabs{display:none}.board-col{--column-color: var(--doing);background:linear-gradient(180deg,color-mix(in srgb,var(--column-color) 8%,var(--surface-2)),var(--surface-2));border:1px solid color-mix(in srgb,var(--column-color) 22%,var(--border));border-top:3px solid var(--column-color);border-radius:var(--radius);display:flex;flex-direction:column;box-shadow:0 12px 32px color-mix(in srgb,var(--column-color) 14%,transparent)}.board-col-Backlog{--column-color: var(--backlog);grid-column:1 / -1}.board-col-ToDo{--column-color: var(--todo)}.board-col-Doing{--column-color: var(--doing)}.board-col-Done{--column-color: var(--done)}.col-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid color-mix(in srgb,var(--column-color) 18%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--column-color) 12%,transparent),transparent)}.col-title{font-size:13px;font-weight:700;color:var(--column-color);letter-spacing:.02em;text-transform:uppercase}.col-count{font-size:11px;font-weight:600;color:var(--column-color);background:color-mix(in srgb,var(--column-color) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--column-color) 28%,transparent);border-radius:999px;padding:2px 9px}.col-body{padding:12px;display:flex;flex-direction:column;gap:9px;overflow-y:auto;flex:1;transition:background var(--dur-med),box-shadow var(--dur-med)}.col-body-backlog{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-content:start;align-items:start;grid-auto-rows:min-content;gap:12px}.col-body-backlog .card{height:auto;min-height:88px}.col-body-backlog .add-inline{min-height:72px;display:grid;place-items:center;border-style:dashed;border-color:color-mix(in srgb,var(--backlog) 50%,var(--border-strong));background:color-mix(in srgb,var(--backlog) 10%,var(--surface-2));color:var(--ink-soft)}.col-body-backlog .add-inline:hover{color:var(--ink);border-color:var(--backlog);background:color-mix(in srgb,var(--backlog) 16%,var(--surface-2))}.card{--c: var(--doing);position:relative;overflow:hidden;background:linear-gradient(152deg,color-mix(in srgb,var(--c) 32%,var(--card)),color-mix(in srgb,var(--c) 10%,var(--card)) 78%);border:1px solid color-mix(in srgb,var(--c) 48%,transparent);border-radius:var(--radius-sm);padding:12px 13px;box-shadow:0 2px 6px #0000001f,0 12px 28px color-mix(in srgb,var(--c) 16%,transparent);transition:transform var(--dur-fast),box-shadow var(--dur-med),border-color var(--dur-med),filter var(--dur-fast);cursor:grab;touch-action:manipulation}.card.menu-open{overflow:visible;z-index:30;position:relative}.board-col:has(.card.menu-open){z-index:25}.col-body:has(.card.menu-open){overflow:visible}.card:before{content:"";position:absolute;inset:0 0 auto 0;height:46%;background:linear-gradient(to bottom,color-mix(in srgb,var(--c) 16%,transparent),transparent);pointer-events:none}.card:hover{transform:translateY(-3px) scale(1.01);border-color:color-mix(in srgb,var(--c) 72%,transparent);box-shadow:0 8px 20px color-mix(in srgb,var(--c) 22%,transparent),0 16px 36px color-mix(in srgb,var(--c) 18%,transparent);filter:saturate(1.08)}.card-Done:hover{filter:saturate(1.12) brightness(1.02)}.card:active{cursor:grabbing}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-ToDo{--c: var(--todo)}.card-Doing{--c: var(--doing)}.card-Done{--c: var(--done)}.card-Backlog{--c: var(--backlog)}.card-Backlog{background:linear-gradient(180deg,color-mix(in srgb,var(--backlog) 32%,var(--card)),color-mix(in srgb,var(--backlog) 16%,var(--surface-2)));border-color:color-mix(in srgb,var(--backlog) 58%,transparent);transform:none}.col-body-backlog .card-Backlog{transform:none}.card-Backlog:before{display:none}.card-Backlog:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 13px 13px 0;border-color:transparent color-mix(in srgb,var(--backlog) 55%,var(--ground)) transparent transparent}.card-Backlog:hover{transform:translateY(-2px)}.card-Backlog:nth-child(3n+1){--tilt: 0deg}.card-Backlog:nth-child(3n+2){--tilt: 0deg}.card-Backlog:nth-child(3n+3){--tilt: 0deg}.card-text{margin:0;font-size:14px;font-weight:600;line-height:1.35;position:relative;z-index:1;color:var(--ink)}.card-meta{display:flex;align-items:center;gap:6px;margin-top:9px;flex-wrap:wrap}.prio{font-size:10px;font-weight:600;padding:2px 8px;border-radius:999px}.prio-high{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.prio-medium{background:color-mix(in srgb,var(--todo) 18%,transparent);color:var(--todo)}.prio-low{background:color-mix(in srgb,var(--done) 18%,transparent);color:var(--done)}.chip{font-size:10px;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.due{font-size:10px;color:var(--muted)}.shared{font-size:11px;margin-left:auto}.add-inline{background:none;border:1px dashed var(--border-strong);color:var(--muted);border-radius:var(--radius-sm);padding:9px;font-size:13px}.add-inline:hover{color:var(--ink);border-color:var(--accent)}.bg-picker{position:relative}.bg-panel{position:absolute;right:0;top:calc(100% + 10px);width:232px;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;box-shadow:var(--shadow)}.bg-panel .lbl{margin:0 0 10px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.bg-swatches{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.bg-swatch{height:36px;border-radius:9px;border:2px solid transparent;padding:0;cursor:pointer;transition:transform .12s}.bg-swatch:hover{transform:scale(1.06)}.bg-swatch.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.bg-custom{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:12px;color:var(--ink-soft)}.bg-custom input[type=color]{width:44px;height:30px;padding:0;border:1px solid var(--border);border-radius:7px;background:none;cursor:pointer}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;padding:16px;z-index:200}.modal{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,transparent),var(--surface));border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:460px;box-shadow:var(--shadow);max-height:92vh;overflow-y:auto}.modal form{padding:22px;display:flex;flex-direction:column}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.modal-head h3{margin:0;font-size:19px;letter-spacing:-.01em}.icon-btn{background:none;border:none;color:var(--muted);font-size:16px}.modal label{font-size:12px;color:var(--muted);margin:12px 0 5px;font-weight:500}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:9px;flex-direction:row;font-size:13px;color:var(--ink-soft);margin-top:16px}.check input{width:auto}.share-box{margin-top:14px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.share-box summary{cursor:pointer;color:var(--ink-soft)}.share-list{display:flex;flex-direction:column;gap:4px;margin-top:8px}.share-list .check{margin-top:2px}.transfer-box{margin-top:14px;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px}.transfer-box summary{cursor:pointer;color:var(--ink-soft)}.transfer-box .hint{margin:8px 0;font-size:12px}.transfer-row{display:flex;gap:8px;align-items:center}.transfer-row select{flex:1}.modal-foot{display:flex;align-items:center;gap:10px;margin-top:22px}.modal-foot .spacer{flex:1}.board-tabs{display:flex;align-items:center;gap:6px;padding:8px 16px;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--border);position:relative;z-index:10}.tab{--tab-c: var(--accent);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;background:transparent;border:1px solid var(--border);color:var(--ink-soft);padding:6px 13px;border-radius:999px;font-size:13px;font-weight:500;transition:background var(--dur-med),border-color var(--dur-med),transform var(--dur-fast),box-shadow var(--dur-med)}.tab:hover{background:var(--surface-hover);transform:translateY(-1px)}.tab.active{color:var(--ink);border-color:color-mix(in srgb,var(--tab-c) 65%,transparent);background:color-mix(in srgb,var(--tab-c) 16%,transparent);box-shadow:0 6px 18px color-mix(in srgb,var(--tab-c) 22%,transparent)}.tab-dot{width:9px;height:9px;border-radius:50%;background:var(--tab-c)}.tab.add{color:var(--muted);border-style:dashed}.board-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 0;max-width:1200px;margin:0 auto;width:100%}.board-bar-right{display:flex;gap:8px}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:3px;box-shadow:inset 0 1px #ffffff0a}.seg button{background:none;border:none;color:var(--muted);padding:5px 14px;border-radius:7px;font-size:13px;font-weight:500;transition:background var(--dur-med),color var(--dur-med),box-shadow var(--dur-med),transform var(--dur-fast)}.seg button.on{background:var(--gradient-primary);color:var(--accent-ink);box-shadow:0 6px 16px var(--accent-glow)}.archive-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:8px}.archive-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;box-shadow:0 8px 20px color-mix(in srgb,var(--ground) 8%,transparent)}.archive-main{display:flex;align-items:center;gap:10px;min-width:0}.archive-text{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-date{font-size:11px;color:var(--faint);white-space:nowrap}.archive-actions{display:flex;gap:8px;flex:none}.dot{width:10px;height:10px;border-radius:50%;flex:none}.dot-Backlog{background:var(--backlog)}.dot-ToDo{background:var(--todo)}.dot-Doing{background:var(--doing)}.dot-Done{background:var(--done)}.empty{text-align:center;color:var(--muted);font-size:14px;padding:48px 20px}.card-archive{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:6px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--card) 70%,transparent);color:var(--muted);font-size:12px;line-height:1;opacity:0;transition:opacity .14s,color .14s;z-index:2}.card:hover .card-archive{opacity:1}.card-archive:hover{color:var(--done);border-color:var(--done)}.card-kebab{position:absolute;top:8px;right:34px;width:22px;height:22px;border-radius:6px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--card) 70%,transparent);color:var(--muted);font-size:14px;line-height:1;opacity:0;transition:opacity .14s,color .14s;z-index:2}.card:hover .card-kebab{opacity:1}.card-kebab:hover{color:var(--accent);border-color:var(--accent)}.card-move-menu{position:absolute;top:34px;right:8px;z-index:40;min-width:136px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:4px;box-shadow:var(--shadow)}.card-move-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);padding:5px 8px 3px}.card-move-menu button{display:flex;align-items:center;gap:7px;width:100%;padding:7px 8px;background:none;border:none;color:var(--ink);font-size:12.5px;font-weight:500;text-align:left;border-radius:6px;font-family:inherit}.card-move-menu button:hover{background:var(--surface)}.card-move-menu .sw{width:8px;height:8px;border-radius:50%;flex:none}.color-row{display:flex;gap:9px}.color-dot{width:30px;height:30px;border-radius:50%;border:2px solid transparent;cursor:pointer}.color-dot.active{box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--ink)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:220;display:flex;justify-content:flex-end}.drawer{width:min(400px,92vw);background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;box-shadow:var(--shadow);position:relative}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--border)}.drawer-head h3{margin:0;font-size:18px}.drawer-head .sub{margin:3px 0 0;font-size:12px;color:var(--muted)}.drawer-body{overflow-y:auto;padding:12px 16px}.act-row{display:flex;gap:11px;padding:10px 4px;border-bottom:1px solid var(--border)}.act-icon{font-size:15px;flex:none}.act-body p{margin:0;font-size:13px;color:var(--ink-soft)}.act-detail{color:var(--ink)}.act-time{font-size:11px;color:var(--faint)}@media (max-width: 900px){.app-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-105%);transition:transform var(--dur-med) var(--ease-fluid);box-shadow:var(--shadow)}.app-sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block}.sidebar-toggle{display:inline-flex}.fab{right:16px;bottom:16px}}@media (max-width: 720px){.auth{grid-template-columns:1fr}.auth-brand{display:none}.board-grid{grid-template-columns:1fr;max-width:520px}.card-archive,.card-kebab{opacity:1}.board-col{display:none}.board-col.mobile-active{display:flex}.board-col-Backlog{grid-column:auto}.col-body-backlog{grid-template-columns:1fr;gap:9px}.col-body-backlog .card,.col-body-backlog .add-inline{min-height:0}.mobile-col-tabs{display:flex;gap:4px;max-width:520px;margin:0 auto 12px;overflow-x:auto}.mobile-col-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border-radius:10px;font-size:11px;font-weight:700;color:var(--muted);background:var(--surface);border:1px solid var(--border);white-space:nowrap;transition:background var(--dur-med),border-color var(--dur-med),transform var(--dur-fast),box-shadow var(--dur-med)}.mobile-col-tab .dot{width:7px;height:7px;border-radius:50%;background:var(--tc);opacity:.5;transition:opacity var(--dur-fast),transform var(--dur-fast)}.mobile-col-tab.active{color:var(--ink);background:color-mix(in srgb,var(--tc) 18%,transparent);border-color:color-mix(in srgb,var(--tc) 60%,transparent);box-shadow:0 6px 16px color-mix(in srgb,var(--tc) 22%,transparent);transform:translateY(-1px)}.mobile-col-tab.active .dot{opacity:1;transform:scale(1.15)}body{overflow-x:hidden}.main-topbar{flex-wrap:wrap;gap:8px;row-gap:6px}.main-topbar-actions{flex-wrap:wrap;justify-content:flex-end}.filter-bar{padding-top:0}.filter-bar .search{min-width:140px}}.brand-mini strong,.col-title,.auth-brand h1,.auth-form h2,.modal-head h3,.drawer-head h3,.tab,.main-title-text{font-family:var(--font-head)}.theme-picker{position:relative;z-index:90}.theme-panel{position:absolute;right:0;top:calc(100% + 10px);width:210px;z-index:120;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:4px}.theme-opt{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid transparent;color:var(--ink);border-radius:9px;padding:8px 10px;font-size:13px;text-align:left;width:100%}.theme-opt:hover{background:var(--surface-2)}.theme-opt.active{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:var(--accent-soft)}.theme-opt .chips{display:flex;gap:3px}.theme-opt .chips span{width:13px;height:13px;border-radius:4px;border:1px solid var(--border)}.theme-opt .name{flex:1;font-weight:500}.theme-opt .name small{display:block;color:var(--muted);font-size:11px;font-weight:400}.card.dragging{opacity:.25}.card.drag-overlay{box-shadow:0 16px 40px color-mix(in srgb,var(--c, var(--doing)) 35%,transparent);cursor:grabbing;transform:rotate(2deg) scale(1.03);filter:saturate(1.1)}.col-body.drop-over{background:color-mix(in srgb,var(--column-color, var(--accent)) 14%,var(--surface-2));border-radius:var(--radius-sm);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--column-color, var(--accent)) 45%,transparent)}.card-hidden{display:none}.org-switcher{position:relative;z-index:90}.org-switcher-btn{display:flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--ink);border-radius:8px;padding:6px 10px;font-size:13px;max-width:200px}.org-switcher-btn:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 6px 18px var(--accent-glow);transform:translateY(-1px)}.org-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.org-switcher-caret{color:var(--muted);font-size:10px}.org-switcher-panel{position:absolute;right:0;top:calc(100% + 8px);width:260px;z-index:200;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;box-shadow:var(--shadow)}.org-switcher-label{font-size:11px;color:var(--muted);margin:0 0 6px;text-transform:uppercase;letter-spacing:.04em}.org-switcher-list{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:2px}.org-switcher-item{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:1px solid transparent;color:var(--ink);border-radius:8px;padding:8px 10px;font-size:13px;text-align:left}.org-switcher-item>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-switcher-item:hover{background:var(--surface-2)}.org-switcher-item.active{border-color:color-mix(in srgb,var(--accent) 42%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--surface-2));box-shadow:none}.org-switcher-item .badge{flex-shrink:0;margin-left:0}.org-switcher-item .check{margin-left:auto;color:var(--accent);flex-shrink:0}.org-switcher-actions{display:flex;gap:6px;border-top:1px solid var(--border);padding-top:8px}.org-switcher-actions .ghost{flex:1;font-size:12px;justify-content:center}.org-switcher-form{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border);padding-top:8px}.org-switcher-form-actions{display:flex;gap:6px;justify-content:flex-end}.org-switcher-error{color:var(--danger, #e05555);font-size:12px;margin:4px 0}.filter-bar{display:flex;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,var(--ground));flex-wrap:wrap;flex-shrink:0}.filter-bar .search{flex:1;min-width:180px}.filter-bar select{width:auto}.badge-mini{font-size:10px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:1px 7px}.avatar{margin-left:auto;width:20px;height:20px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;display:grid;place-items:center}.modal-lg{max-width:560px}.modal>.modal-head{padding:20px 22px 0;margin-bottom:0}.modal-lg form{padding-top:14px}.admin-body{padding:14px 22px 22px;display:flex;flex-direction:column;gap:18px}.admin-section label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500}.admin-section .hint{margin-top:0;margin-bottom:10px}.admin-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-row input{flex:1;min-width:160px}.invite-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:18px;letter-spacing:.12em;font-weight:600;padding:8px 12px;border-radius:8px;background:var(--ground);border:1px solid var(--border);color:var(--ink)}.admin-notice{margin:0}.admin-members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.admin-members li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--ground)}.admin-members li.inactive{opacity:.65}.admin-member-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-member-info strong{font-size:14px}.badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.badge.muted{background:color-mix(in srgb,var(--muted) 22%,transparent);color:var(--muted)}.danger-text{color:var(--danger, #e5484d)!important}.detail-extra{border-top:1px solid var(--border);padding:6px 22px 22px}.detail-block{margin-top:18px}.detail-block h4{margin:0 0 10px;font-size:14px;display:flex;align-items:center;gap:8px}.detail-block summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--ink-soft)}.prog{font-family:var(--mono);font-size:11px;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:1px 8px}.prog-bar{height:5px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin-bottom:10px}.prog-bar span{display:block;height:100%;background:var(--done);transition:width .2s}.sub-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:4px}.sub-list li{display:flex;align-items:center;gap:8px}.sub-list li .check{flex:1;margin:0}.sub-list .done{text-decoration:line-through;color:var(--muted)}.inline-add{display:flex;gap:8px}.inline-add input{flex:1}.icon-btn.sm{font-size:12px;padding:2px 6px}.cmt-list{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.cmt{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px}.cmt-head{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.cmt-head strong{color:var(--ink)}.cmt-head .icon-btn{margin-left:auto}.cmt p{margin:5px 0 0;font-size:13px;color:var(--ink-soft);white-space:pre-wrap}.cmt-time{font-size:11px}.muted-note{color:var(--muted);font-size:13px;margin:0}.act-mini{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.act-mini li{font-size:12px;color:var(--ink-soft)}.act-mini .act-time{color:var(--faint)}.list-view{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.list-group{display:flex;flex-direction:column;gap:6px}.list-group-h{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:0 4px 4px}.list-group-h .count{font-family:var(--mono);background:var(--surface-2);border-radius:999px;padding:1px 8px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;color:var(--ink);box-shadow:0 8px 20px color-mix(in srgb,var(--ground) 7%,transparent)}.list-row:hover{border-color:var(--border-strong);background:var(--surface-hover)}.list-text{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-meta{display:flex;align-items:center;gap:7px;flex:none}.list-meta .avatar{margin-left:0}.cal{max-width:1000px;margin:0 auto}.cal-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.cal-title{font-size:16px;font-weight:600;text-transform:capitalize;min-width:170px;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cal-dow{margin-bottom:6px}.cal-dow-cell{text-align:center;font-size:11px;font-weight:600;color:var(--muted)}.cal-cell{min-height:92px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:3px;box-shadow:0 6px 16px color-mix(in srgb,var(--ground) 6%,transparent)}.cal-cell.empty-cell{background:transparent;border:none}.cal-cell.today{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cal-day{font-size:11px;color:var(--muted);font-weight:600}.cal-cell.today .cal-day{color:var(--accent)}.cal-task{text-align:left;font-size:11px;border:none;border-radius:6px;padding:3px 6px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--doing)}.cal-Backlog{background:var(--backlog)}.cal-ToDo{background:var(--todo)}.cal-Doing{background:var(--doing)}.cal-Done{background:var(--done)}.cal-nodate{margin-top:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cal-nodate .lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}@media (max-width: 720px){.cal-cell{min-height:64px}.cal-task{font-size:9px}}
