@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-ext-wght-normal.0td0--1m0lec9.woff2?dpl=dpl_2wx5vj1uvFpvvaR1PHZaALUUHNMf)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-wght-normal.10bj0-z630vnn.woff2?dpl=dpl_2wx5vj1uvFpvvaR1PHZaALUUHNMf)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-vietnamese-opsz-normal.0xc53io0h_8st.woff2?dpl=dpl_2wx5vj1uvFpvvaR1PHZaALUUHNMf)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-latin-ext-opsz-normal.0r.5oanm19791.woff2?dpl=dpl_2wx5vj1uvFpvvaR1PHZaALUUHNMf)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/fraunces-latin-opsz-normal.0d~wx4ick7e4j.woff2?dpl=dpl_2wx5vj1uvFpvvaR1PHZaALUUHNMf)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(../media/fraunces-vietnamese-opsz-italic.0emb_ibztuzbe.woff2?dpl=dpl_2wx5vj1uvFpvvaR1PHZaALUUHNMf)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(../media/fraunces-latin-ext-opsz-italic.0wdnaqdav9xox.woff2?dpl=dpl_2wx5vj1uvFpvvaR1PHZaALUUHNMf)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(../media/fraunces-latin-opsz-italic.02-jz40d5mchl.woff2?dpl=dpl_2wx5vj1uvFpvvaR1PHZaALUUHNMf)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--canvas:#faf8f4;--surface:#fff;--surface-soft:#f4f0e8;--surface-inset:#f7f4ee;--ink:#231f18;--ink-2:#6e6759;--ink-3:#a29a8a;--line:#231f1814;--line-strong:#231f1829;--accent:#bc4612;--accent-bright:#e0572b;--accent-soft:#faede5;--accent-ring:#e0572b47;--live:#2f8c44;--live-soft:#e7f3e9;--danger:#bf3a2b;--danger-soft:#faece9;--warn:#92660f;--warn-soft:#f7efdc;--info:#4a6486;--info-soft:#edf1f6;--shadow-xs:0 0 0 1px #231f180d, 0 1px 2px #231f180d;--shadow-card:0 0 0 1px #231f180a, 0 1px 1px #231f1808, 0 2px 4px #231f1808, 0 8px 20px #231f180d;--shadow-lift:0 0 0 1px #231f180a, 0 2px 4px #231f180a, 0 8px 16px #231f180f, 0 20px 44px #231f181a;--shadow-input:inset 0 0 0 1px #231f1821;--shadow-input-hover:inset 0 0 0 1px #231f1838;--shadow-input-focus:inset 0 0 0 1.5px var(--accent-bright), 0 0 0 3px var(--accent-ring);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--font-ui:"Instrument Sans Variable", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-display:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-moz-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-ui);background:var(--canvas);color:var(--ink);margin:0;font-size:14px;line-height:1.5}body:after{content:"";z-index:60;pointer-events:none;opacity:.3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}a{color:inherit}::selection{background:var(--accent-soft);color:var(--accent)}:focus-visible{outline:2px solid var(--accent-bright);outline-offset:2px;border-radius:6px}.tabular{font-variant-numeric:tabular-nums}.btn{-webkit-tap-highlight-color:transparent;background:var(--ink);color:#fff;min-height:38px;font-family:var(--font-ui);letter-spacing:.01em;cursor:pointer;transition:transform .16s var(--ease-out), background-color .16s ease, box-shadow .16s ease, color .16s ease, opacity .16s ease;border:none;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 18px;font-size:13.5px;font-weight:550;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn:hover{background:#3a342a}}.btn:active{transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-ghost{color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);background:0 0}@media (hover:hover) and (pointer:fine){.btn-ghost:hover{background:#231f180d}}.btn-quiet{color:var(--ink-2);box-shadow:none;background:0 0;min-height:34px;padding:6px 12px}@media (hover:hover) and (pointer:fine){.btn-quiet:hover{color:var(--ink);background:#231f180d}}.btn-danger{background:var(--danger);color:#fff}@media (hover:hover) and (pointer:fine){.btn-danger:hover{background:#a93225}}.btn-danger-quiet{color:var(--danger);box-shadow:none;background:0 0;min-height:34px;padding:6px 12px}@media (hover:hover) and (pointer:fine){.btn-danger-quiet:hover{background:var(--danger-soft)}}.btn-sm{min-height:32px;padding:5px 14px;font-size:12.5px}.btn-block{width:100%}.btn-accent{background:var(--accent-bright);color:#fff}@media (hover:hover) and (pointer:fine){.btn-accent:hover{background:#c94c22}}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--ink-2);letter-spacing:.01em;font-size:12.5px;font-weight:550}.input{background:var(--surface);width:100%;min-height:40px;box-shadow:var(--shadow-input);color:var(--ink);font-family:var(--font-ui);border:none;border-radius:11px;padding:9px 14px;font-size:14px;transition:box-shadow .16s}.input::placeholder{color:var(--ink-3)}@media (hover:hover) and (pointer:fine){.input:hover:not(:focus){box-shadow:var(--shadow-input-hover)}}.input:focus{box-shadow:var(--shadow-input-focus);outline:none}textarea.input{resize:vertical;line-height:1.5}.create-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.create-row .input{flex:1;min-width:200px;max-width:340px}.msg{margin:0;font-size:13px}.msg-ok{color:var(--live)}.msg-err{color:var(--danger)}.msg-warn{color:var(--warn)}.auth-screen{isolation:isolate;place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative;overflow:hidden}.auth-screen:before{content:"";z-index:-1;filter:blur(40px);background:radial-gradient(38% 42% at 18% 22%,#f4b48466,#0000 70%),radial-gradient(34% 38% at 84% 16%,#c4b5e059,#0000 70%),radial-gradient(40% 44% at 78% 86%,#a8c8a052,#0000 70%),radial-gradient(30% 34% at 12% 88%,#f0c8aa4d,#0000 70%);position:absolute;inset:-20%}.auth-card{-webkit-backdrop-filter:blur(20px)saturate(1.4);width:100%;max-width:392px;box-shadow:var(--shadow-lift);background:#ffffffdb;border-radius:26px;padding:44px 36px 36px}.auth-wordmark{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"opsz" 40;margin:0 0 6px;font-size:30px;font-style:italic;font-weight:520;line-height:1.1}.auth-subtitle{color:var(--ink-2);margin:0 0 28px;font-size:14px}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-alt{flex-direction:column;gap:8px;margin-top:18px;display:flex}.auth-divider{color:var(--ink-3);align-items:center;gap:12px;margin:20px 0 14px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-flip{text-align:center;color:var(--ink-2);margin:18px 0 0;font-size:13px}.auth-flip button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 4px;font-weight:550}@media (hover:hover) and (pointer:fine){.auth-flip button:hover{text-underline-offset:3px;text-decoration:underline}}.shell-header{z-index:40;-webkit-backdrop-filter:blur(14px)saturate(1.5);height:58px;box-shadow:0 1px 0 var(--line);background:#faf8f4d1;justify-content:space-between;align-items:center;gap:16px;padding:0 28px;display:flex;position:sticky;top:0}.shell-brand{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"opsz" 24;border-radius:8px;font-size:19px;font-style:italic;font-weight:540;text-decoration:none}.shell-right{align-items:center;gap:6px;display:flex}.shell-user{color:var(--ink-2);margin-right:6px;font-size:13px}.shell-main{max-width:880px;margin:0 auto;padding:44px 28px 96px}.page-head{margin-bottom:28px}.page-title{font-family:var(--font-display);letter-spacing:-.015em;font-variation-settings:"opsz" 40;margin:6px 0 0;font-size:32px;font-weight:560;line-height:1.15}.page-sub{color:var(--ink-2);margin:8px 0 0;font-size:14px}.back-link{color:var(--ink-2);border-radius:8px;align-items:center;gap:5px;margin-left:-8px;padding:4px 8px;font-size:13px;font-weight:500;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}@media (hover:hover) and (pointer:fine){.back-link:hover{color:var(--ink);background:#231f180d}}.title-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.workspace-section{margin-bottom:44px}.members{background:var(--surface);box-shadow:var(--shadow-card);border-radius:14px;margin-top:18px;padding:16px 18px}.members-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.members-title{color:var(--ink);margin:0;font-size:13px;font-weight:640}.members-sub{color:var(--ink-3);font-size:12.5px}.member-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.member-row{justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.member-row+.member-row{border-top:1px solid var(--line)}.member-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.member-email{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:500;overflow:hidden}.member-role{color:var(--ink-3);text-transform:capitalize;font-size:11.5px}.member-control{flex:none;align-items:center;gap:10px;display:inline-flex}.member-toggle-label{color:var(--ink-2);white-space:nowrap;font-size:12.5px}.member-error{color:var(--danger);font-size:11.5px}.workspace-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.workspace-name{font-family:var(--font-display);letter-spacing:-.01em;font-variation-settings:"opsz" 28;margin:0;font-size:21px;font-weight:540}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:0 0 16px;padding:0;list-style:none;display:grid}.tile{background:var(--surface);box-shadow:var(--shadow-card);transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:16px;flex-direction:column;gap:4px;padding:18px 20px;text-decoration:none;display:flex;position:relative}@media (hover:hover) and (pointer:fine){a.tile:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}}a.tile:active{transform:scale(.98)}.tile-title{letter-spacing:-.005em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:580;overflow:hidden}.tile-meta{color:var(--ink-2);margin:0;font-size:12.5px}.tile-meta code{font-family:var(--font-mono);background:var(--surface-soft);border-radius:6px;padding:1.5px 6px;font-size:11.5px}.tile-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.tile-arrow{color:var(--ink-3);opacity:0;transition:opacity .2s ease, transform .2s var(--ease-out);flex-shrink:0;transform:translate(-4px)}@media (hover:hover) and (pointer:fine){a.tile:hover .tile-arrow{opacity:1;transform:translate(0)}}@media (hover:none){.tile-arrow{opacity:1;transform:none}}.status-pill{letter-spacing:.01em;border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;font-size:12px;font-weight:550;display:inline-flex}.status-pill.is-live{color:var(--live);background:var(--live-soft)}.status-pill.is-offline{color:var(--ink-2);background:var(--surface-soft)}.status-dot{background:currentColor;border-radius:50%;width:7px;height:7px;position:relative}.is-live .status-dot:before{content:"";animation:pulse-ring 2.4s var(--ease-out) infinite;background:currentColor;border-radius:50%;position:absolute;inset:0}@keyframes pulse-ring{0%{opacity:.7;transform:scale(1)}70%,to{opacity:0;transform:scale(3)}}.panel{background:var(--surface);box-shadow:var(--shadow-card);border-radius:20px;margin-top:24px;padding:24px}.panel-title{letter-spacing:-.005em;margin:0 0 4px;font-size:15px;font-weight:600}.panel-sub{color:var(--ink-2);margin:0 0 18px;font-size:13px}.panel-rows{flex-direction:column;display:flex}.panel-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.panel-row+.panel-row{box-shadow:0 -1px 0 var(--line)}.panel-row-label{font-size:13.5px;font-weight:550}.panel-row-hint{color:var(--ink-2);margin:2px 0 0;font-size:12.5px}.panel-row-control{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.switch{-webkit-tap-highlight-color:transparent;cursor:pointer;background:#231f182e;border:none;border-radius:999px;flex-shrink:0;width:44px;height:27px;padding:0;transition:background-color .2s;position:relative}.switch[aria-checked=true]{background:var(--live)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch-knob{width:23px;height:23px;transition:transform .22s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #231f1833,0 2px 6px #231f181f}.switch[aria-checked=true] .switch-knob{transform:translate(17px)}.copy-field{background:var(--surface-inset);width:100%;box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;align-items:center;gap:4px;padding:4px 4px 4px 14px;display:flex}.copy-field code{font-family:var(--font-mono);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.copy-btn{-webkit-tap-highlight-color:transparent;background:var(--surface);width:34px;height:34px;box-shadow:var(--shadow-xs);color:var(--ink-2);cursor:pointer;transition:transform .16s var(--ease-out), color .16s ease, background-color .16s ease;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.copy-btn:before{content:"";position:absolute;inset:-4px}@media (hover:hover) and (pointer:fine){.copy-btn:hover{color:var(--ink)}}.copy-btn:active{transform:scale(.92)}.copy-btn.is-copied{color:var(--live)}.danger-zone{box-shadow:0 -1px 0 var(--line);flex-direction:column;align-items:flex-start;gap:4px;margin-top:18px;padding-top:16px;display:flex}.danger-actions{flex-wrap:wrap;gap:6px;margin-left:-12px;display:flex}.confirm-card{background:var(--danger-soft);border-radius:14px;width:100%;padding:16px;box-shadow:inset 0 0 0 1px #bf3a2b2e}.confirm-msg{color:#7c2d22;margin:0 0 12px;font-size:13px;line-height:1.55}.confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.seg{background:var(--surface-soft);border-radius:999px;align-items:center;gap:2px;padding:3px;display:inline-flex}.seg-btn{-webkit-tap-highlight-color:transparent;font-family:var(--font-ui);font-variant-numeric:tabular-nums;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:530;transition:color .18s;position:relative}.seg-btn[aria-selected=true]{color:var(--ink)}.seg-btn .seg-label{z-index:1;position:relative}.seg-pill{background:var(--surface);box-shadow:var(--shadow-xs);border-radius:999px;position:absolute;inset:0}.seg-count{color:var(--ink-3)}.seg-btn[aria-selected=true] .seg-count{color:var(--ink-2)}.live-indicator{color:var(--ink-2);align-items:center;gap:7px;font-size:12px;font-weight:500;display:inline-flex}.live-indicator-dot{border-radius:50%;width:7px;height:7px;position:relative}.live-indicator.is-live .live-indicator-dot{background:var(--live)}.live-indicator.is-live .live-indicator-dot:before{content:"";background:var(--live);animation:pulse-ring 2.4s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}.live-indicator.is-connecting .live-indicator-dot{background:var(--ink-3)}.live-indicator.is-error .live-indicator-dot{background:var(--warn)}.comments-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.comments-subhead{align-items:center;gap:10px;margin-bottom:14px;display:flex}.unread-toggle{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12.5px;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.unread-toggle:hover{border-color:var(--line-strong)}.unread-toggle.is-active{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.unread-dot{background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 3px var(--danger-soft);border-radius:999px;flex-shrink:0}.closed-toggle{border:1px solid var(--line);background:var(--surface);color:var(--ink-3);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12.5px;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.closed-toggle:hover{border-color:var(--line-strong);color:var(--ink-2)}.closed-toggle.is-active{background:var(--surface-soft);border-color:var(--line-strong);color:var(--ink)}.comments-head-right{align-items:center;gap:14px;display:inline-flex}.comments-head-spacer{flex:auto}.view-toggle{flex-shrink:0}.kanban{grid-template-columns:repeat(4,minmax(220px,1fr));align-items:start;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.kanban-col{background:var(--surface-soft);border:1.5px solid #0000;border-radius:14px;flex-direction:column;gap:10px;min-height:140px;padding:10px;transition:border-color .16s,background .16s,opacity .16s;display:flex}.kanban-col.is-over{border-color:var(--accent);background:var(--accent-soft)}.kanban-col.is-blocked{opacity:.45}.kanban-col-head{justify-content:space-between;align-items:center;padding:2px 4px;display:flex}.kanban-col-title{color:var(--ink-2);letter-spacing:.01em;font-size:12.5px;font-weight:600}.kanban-col-count{font-variant-numeric:tabular-nums;color:var(--ink-3);background:var(--surface);border-radius:999px;padding:1px 8px;font-size:12px}.kanban-col-body{flex-direction:column;gap:8px;min-height:40px;display:flex}.kanban-col-empty{text-align:center;color:var(--ink-3);border:1px dashed var(--line-strong);border-radius:10px;margin:0;padding:16px 8px;font-size:12px}.kanban-card{cursor:grab;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-xs);-webkit-user-select:none;user-select:none;touch-action:none;border-radius:11px;flex-direction:column;gap:6px;padding:10px 11px;display:flex}.kanban-card:active{cursor:grabbing}.kanban-card.is-dragging{opacity:.35}.kanban-card.is-overlay{cursor:grabbing;box-shadow:var(--shadow-lift);border-color:var(--line-strong);transform:rotate(1.5deg)}.kanban-card-top{align-items:center;gap:6px;display:flex}.kanban-card-num{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.kanban-card-note{color:var(--ink);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.kanban-card-summary{color:var(--ink-2);background:var(--surface-soft);-webkit-line-clamp:2;line-clamp:2;border-radius:7px;-webkit-box-orient:vertical;margin:0;padding:5px 7px;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.kanban-card-foot{color:var(--ink-3);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;display:flex}.kanban-card-page{text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.kanban-card-author{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kanban-toast{z-index:50;background:var(--ink);color:var(--surface);box-shadow:var(--shadow-lift);border-radius:10px;padding:10px 16px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.kanban-confirm-backdrop{z-index:60;background:#231f1859;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.kanban-confirm{background:var(--surface);border:1px solid var(--line);width:min(400px,100%);box-shadow:var(--shadow-lift);border-radius:16px;flex-direction:column;gap:10px;padding:20px;display:flex}.kanban-confirm-title{color:var(--ink);margin:0;font-size:15px;font-weight:600}.kanban-confirm-body{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.kanban-confirm-actions{gap:8px;margin-top:4px;display:flex}.lane-badge.lane-backlog{color:var(--ink-3)}.lane-badge.lane-ready_for_agent{color:var(--accent);background:var(--accent-soft)}.lane-badge.lane-in_review{color:var(--info)}.lane-badge.lane-done{color:var(--live)}.lane-badge.lane-dismissed{color:var(--ink-3);text-decoration:line-through}.lane-control{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.lane-control-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:11px;font-weight:600}.lane-chips{background:var(--surface-soft);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.lane-chip{-webkit-tap-highlight-color:transparent;font-family:var(--font-ui);color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:530;transition:background .16s,color .16s}.lane-chip:hover:not(:disabled){color:var(--ink)}.lane-chip.is-current{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs);cursor:default}.lane-chip:disabled:not(.is-current){opacity:.4;cursor:not-allowed}.lane-confirm{width:100%;color:var(--ink-2);font-size:12.5px;display:block}.lane-confirm-text{margin-bottom:6px;display:block}.lane-confirm-actions{gap:8px;display:inline-flex}.page-group-list{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.page-group-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:4px 2px 10px;display:flex}.page-group-toggle{cursor:pointer;color:var(--ink);font-family:var(--font-display);background:0 0;border:0;align-items:center;gap:9px;padding:2px 4px;font-size:14px;font-weight:560;display:inline-flex}.page-group-label{font-variant-numeric:tabular-nums;word-break:break-all}.page-group-count{background:var(--surface-inset);min-width:20px;height:20px;color:var(--ink-3);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:11.5px;display:inline-flex}.page-group-open{color:var(--accent);flex-shrink:0;font-size:12.5px;text-decoration:none}.page-group-open:hover{text-decoration:underline}.comment-card.is-unread:after{content:"";background:var(--danger);width:3px;height:100%;position:absolute;top:0;right:0}.comment-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.comment-card{background:var(--surface);box-shadow:var(--shadow-card);border-radius:16px;padding:18px 20px 18px 24px;transition:opacity .24s;position:relative;overflow:hidden}.comment-card:before{content:"";background:var(--sev,var(--ink-3));width:3px;position:absolute;top:0;bottom:0;left:0}.comment-card.sev-critical{--sev:var(--danger)}.comment-card.sev-important{--sev:#c98e1b}.comment-card.sev-minor{--sev:#7d96b4}.comment-card.is-muted{opacity:.62}.comment-head{align-items:flex-start;gap:14px;display:flex}.comment-num{background:var(--ink);min-width:34px;height:34px;color:var(--canvas);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-variation-settings:"opsz" 18;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-size:15px;font-weight:560;display:inline-flex}.comment-body{flex:1;min-width:0}.comment-note{white-space:pre-wrap;word-break:break-word;margin:0;font-size:14px;line-height:1.55}.comment-note.is-dismissed{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-3);text-decoration-color:var(--ink-3)}.comment-edit{gap:8px;margin:4px 0 2px;display:grid}.comment-edit-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.comment-lock-note{color:var(--ink-3);font-size:12px}.comment-byline{color:var(--ink-3);margin-top:5px;font-size:12.5px}.guest-email{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.guest-email-value{color:var(--ink-2)}.guest-email-none{color:var(--ink-3);font-style:italic}.input-inline{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;min-width:170px;padding:2px 7px;font-size:12px}.comment-outcome{color:var(--ink-2);margin:10px 0 0;font-size:13px;font-style:italic}.comment-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;margin-left:-10px;display:flex}.text-btn{-webkit-tap-highlight-color:transparent;min-height:32px;font-family:var(--font-ui);color:var(--ink-2);cursor:pointer;transition:background-color .16s ease, color .16s ease, transform .16s var(--ease-out);background:0 0;border:none;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:12.5px;font-weight:550;display:inline-flex}@media (hover:hover) and (pointer:fine){.text-btn:hover{color:var(--ink);background:#231f180d}}.text-btn:active{transform:scale(.96)}.text-btn:disabled{opacity:.45;cursor:not-allowed}@media (hover:hover) and (pointer:fine){.text-btn.is-danger:hover{background:var(--danger-soft)}}.badges{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.badge{letter-spacing:.04em;text-transform:uppercase;background:var(--surface-soft);color:var(--ink-2);border-radius:999px;align-items:center;padding:2.5px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge.sev-critical{background:var(--danger-soft);color:var(--danger)}.badge.sev-important{background:var(--warn-soft);color:var(--warn)}.badge.sev-minor{background:var(--info-soft);color:var(--info)}.badge.is-guest{background:var(--accent-soft);color:var(--accent)}.badge.is-member{background:var(--live-soft);color:var(--live)}.badge.is-snapshot{color:#6b4fa1;background:#efeaf7}.badge.is-template{background:var(--accent);color:#fff;align-items:center;display:inline-flex}.context-panel{background:var(--surface-inset);box-shadow:inset 0 0 0 1px var(--line);border-radius:12px;gap:8px;margin-top:12px;padding:14px;font-size:13px;display:grid}.context-row{gap:10px;display:flex}.context-label{min-width:84px;color:var(--ink-2);flex-shrink:0;font-weight:550}.context-value{word-break:break-all;color:var(--ink)}.context-value.is-mono{font-family:var(--font-mono);font-size:12px}.context-shot{object-fit:contain;outline-offset:-1px;border-radius:8px;outline:1px solid #0000001a;max-width:100%;max-height:240px}.context-before{gap:6px;margin:0;display:grid}.context-before-cap{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:550}.context-snapshot{width:fit-content;color:var(--ink-2);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;align-items:center;gap:7px;padding:7px 11px;font-size:12.5px;display:inline-flex}.capture-thumb{cursor:zoom-in;background:0 0;border:none;border-radius:10px;width:fit-content;max-width:100%;margin:10px 0 2px;padding:0;line-height:0;display:block;position:relative}.capture-thumb img{object-fit:cover;object-position:top left;max-width:min(280px,100%);max-height:150px;box-shadow:0 1px 2px #00000014, inset 0 0 0 1px var(--line);border-radius:10px;transition:box-shadow .18s,transform .18s;display:block}.capture-thumb:hover img{box-shadow:0 6px 18px #00000024, inset 0 0 0 1px var(--line);transform:translateY(-1px)}.capture-thumb:focus-visible{outline:2px solid var(--accent,#e2483d);outline-offset:2px}.capture-thumb-hint{color:#fff;opacity:0;background:#0000008c;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;transition:opacity .18s;display:inline-flex;position:absolute;bottom:6px;right:6px}.capture-thumb:hover .capture-thumb-hint,.capture-thumb:focus-visible .capture-thumb-hint{opacity:1}.capture-chip{color:var(--ink-3);background:var(--surface-inset);box-shadow:inset 0 0 0 1px var(--line);border-radius:7px;align-items:center;gap:6px;margin:10px 0 2px;padding:5px 9px;font-size:11.5px;display:inline-flex}.capture-reference{gap:6px;margin:10px 0 2px;display:grid}.capture-reference-cap{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:550}.capture-reference-grid{flex-wrap:wrap;gap:8px;display:flex}.capture-ref-thumb{margin:0}.capture-ref-thumb img{max-width:150px;max-height:110px}.context-shot-btn{cursor:zoom-in;background:0 0;border:none;width:fit-content;max-width:100%;padding:0;line-height:0;display:block}.capture-lightbox{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:zoom-out;background:#141210d1;justify-content:center;align-items:center;padding:4vmin;animation:.14s capture-fade;display:flex;position:fixed;inset:0}.capture-lightbox img{object-fit:contain;cursor:default;border-radius:10px;max-width:92vw;max-height:92vh;box-shadow:0 20px 60px #00000080}.capture-lightbox-close{color:#fff;cursor:pointer;background:#ffffff24;border:none;border-radius:50%;width:40px;height:40px;font-size:26px;line-height:1;transition:background .15s;position:absolute;top:16px;right:18px}.capture-lightbox-close:hover{background:#ffffff47}@keyframes capture-fade{0%{opacity:0}to{opacity:1}}.thread{gap:10px;margin-top:12px;display:grid}.thread-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.thread-reply{background:var(--surface-inset);border-radius:10px;padding:8px 11px}.thread-reply-head{align-items:center;gap:2px;font-size:12px;display:flex}.thread-reply-author{color:var(--ink-2);font-weight:600}.thread-reply-time{color:var(--ink-3)}.thread-reply-del{width:20px;height:20px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:0;font-size:15px;line-height:1}.thread-reply-del:hover{color:#c0392b;background:#c0392b1f}.thread-reply-body{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin-top:3px;font-size:13.5px;line-height:1.5}.thread-reply-shots{margin-top:6px}.thread-attach{flex-shrink:0;justify-content:center;width:34px;padding:0;font-size:18px;line-height:1}.thread-compose-thumbs{flex-wrap:wrap;gap:6px;display:flex}.thread-compose-thumb{width:60px;height:46px;box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;position:relative;overflow:hidden}.thread-compose-thumb img{object-fit:cover;width:100%;height:100%;display:block}.thread-compose-remove{color:#fff;cursor:pointer;background:#141210a8;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:13px;line-height:1;display:inline-flex;position:absolute;top:2px;right:2px}.thread-box{align-items:flex-end;gap:8px;display:flex}.thread-input{resize:none;flex:1;min-width:0;min-height:38px;max-height:120px}.text-btn.is-danger{color:#c0392b}.text-btn.is-danger:hover{color:#a5281c}.delete-confirm{align-items:center;gap:10px;display:inline-flex}.agent-prompt{background:var(--info-soft);border-radius:10px;gap:6px;margin-top:12px;padding:10px 12px;display:grid;box-shadow:inset 0 0 0 1px #4a648629}.agent-prompt-label{letter-spacing:.03em;text-transform:uppercase;color:var(--info);font-size:11px;font-weight:600}.agent-prompt-hint{text-transform:none;letter-spacing:normal;color:var(--ink-3);font-weight:500}.agent-prompt-body{color:var(--ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:1.5}.agent-prompt-byline{color:var(--ink-3);font-size:12px}.agent-prompt-thumbs{flex-wrap:wrap;gap:6px;display:flex}.agent-prompt-thumb-wrap{display:inline-flex;position:relative}.agent-prompt-pending-img{object-fit:cover;width:60px;height:46px;box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;display:block}.agent-prompt-thumb-remove{color:#fff;cursor:pointer;z-index:1;background:#141210b8;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:13px;line-height:1;display:inline-flex;position:absolute;top:-6px;right:-6px}.agent-prompt-none{color:var(--ink-3);font-size:12.5px;font-style:italic}.agent-prompt-actions{gap:6px;display:inline-flex}.agent-prompt textarea{min-height:64px}.guest-confirm{background:var(--warn-soft);color:#6e4d0b;border-radius:12px;gap:10px;margin-top:10px;padding:14px;font-size:13px;display:grid;box-shadow:inset 0 0 0 1px #92660f2e}.guest-hint{color:var(--accent);font-size:11.5px;font-weight:550}.empty-state{background:var(--surface-inset);box-shadow:inset 0 0 0 1px var(--line);text-align:center;border-radius:18px;padding:44px 28px}.empty-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0 0 4px;font-size:18px;font-weight:540}.empty-sub,.empty-inline{color:var(--ink-2);margin:0;font-size:13.5px}.kv{grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;font-size:13.5px;display:grid}.kv dt{color:var(--ink-2)}.kv dd{margin:0}.kv code{font-family:var(--font-mono);background:var(--surface-soft);border-radius:6px;padding:2px 7px;font-size:12.5px}.error-box{background:var(--surface);max-width:520px;box-shadow:var(--shadow-card);text-align:center;border-radius:20px;margin:64px auto;padding:36px}.error-box h2{font-family:var(--font-display);margin:0 0 6px;font-size:22px;font-weight:560}.error-box p{color:var(--ink-2);margin:0 0 20px;font-size:13.5px}@media (prefers-reduced-motion:reduce){.is-live .status-dot:before,.live-indicator.is-live .live-indicator-dot:before{animation:none}.btn,.text-btn,.copy-btn,.tile,.switch-knob{transition-duration:0s}}
