:root{--bg:#f6f7f8;--surface:#ffffff;--sunken:#eef0f2;--ink:#1a1c1f;--ink-2:#4a4f57;--muted:#80868e;--line:#e6e8eb;--accent:#0e7a5f;--accent-ink:#ffffff;--accent-soft:#e5f2ed;--wait:#a45f00;--wait-soft:#fbf0dc;--danger:#b42318;--danger-soft:#fdecea;--mention:#2457c5;--mention-soft:#eaf0fc;--stub:#eceef1;--overlay:rgba(17,19,21,0.36);--pop-shadow:0 6px 24px rgba(17,19,21,0.12),0 0 0 1px rgba(17,19,21,0.06);--font:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111315;--surface:#181b1e;--sunken:#202428;--ink:#eceef0;--ink-2:#bcc1c7;--muted:#8a9099;--line:#2a2f34;--accent:#3cc29a;--accent-ink:#07130f;--accent-soft:#15322a;--wait:#e3a548;--wait-soft:#33270f;--danger:#f2867a;--danger-soft:#3a1c19;--mention:#8db0f5;--mention-soft:#1a2742;--stub:#272b30;--overlay:rgba(0,0,0,0.55);--pop-shadow:0 8px 28px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.06);color-scheme:dark}}:root[data-theme=dark]{--bg:#111315;--surface:#181b1e;--sunken:#202428;--ink:#eceef0;--ink-2:#bcc1c7;--muted:#8a9099;--line:#2a2f34;--accent:#3cc29a;--accent-ink:#07130f;--accent-soft:#15322a;--wait:#e3a548;--wait-soft:#33270f;--danger:#f2867a;--danger-soft:#3a1c19;--mention:#8db0f5;--mention-soft:#1a2742;--stub:#272b30;--overlay:rgba(0,0,0,0.55);--pop-shadow:0 8px 28px rgba(0,0,0,0.5),0 0 0 1px rgba(255,255,255,0.06);color-scheme:dark}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.55;letter-spacing:-.005em;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed;opacity:.4}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}mark{background:var(--wait-soft);color:inherit;border-radius:3px;padding:0 1px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12px}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.grow{flex:1 1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.boot{display:grid;place-items:center;height:100dvh;color:var(--muted)}.tkey{display:inline-flex;align-items:center;flex:none;height:20px;padding:0 7px 0 9px;border-radius:4px;background:var(--stub);color:var(--ink-2);font-size:11.5px;font-weight:600;letter-spacing:.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;-webkit-mask:radial-gradient(circle at 0 50%,transparent 3.5px,#000 4px);mask:radial-gradient(circle at 0 50%,transparent 3.5px,#000 4px)}.row.lounge .tkey,.tkey.lounge{background:transparent;color:var(--muted);padding-left:0;-webkit-mask:none;mask:none}.app{display:grid;grid-template-columns:228px 340px minmax(0,1fr);height:100dvh}.app.chat-open{grid-template-columns:216px 316px minmax(0,1fr) 352px}@media (max-width:1180px){.app.chat-open{grid-template-columns:196px 272px minmax(0,1fr) 316px}}.sidebar{background:var(--bg);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;padding:14px 10px;overflow-y:auto}.middle{border-right:1px solid var(--line)}.detail,.middle{background:var(--surface);min-height:0;display:flex;flex-direction:column}.chat-pane,.detail{min-width:0}.chat-pane{background:var(--bg);border-left:1px solid var(--line);min-height:0;display:flex;flex-direction:column}.tabs{display:none}.ws{display:flex;align-items:center;gap:10px;padding:4px 8px 14px;font-size:15px;font-weight:700}.ws-mark{width:26px;height:26px;border-radius:7px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-size:13px}.nav-label{font-size:12px;color:var(--muted);padding:18px 10px 6px;font-weight:500}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 10px;border-radius:7px;text-align:left;color:var(--ink-2)}.nav-item:hover{background:var(--sunken);color:var(--ink)}.nav-item.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 0 0 1px var(--line)}.nav-item.add{color:var(--muted);font-size:13px}.chat-toggle .muted{font-weight:400}.space-key{font-size:11px;font-weight:600;color:var(--muted);min-width:34px;letter-spacing:.02em}.space-key.big{font-size:13px;min-width:0}.count{font-size:12px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:11px;font-weight:700;min-width:18px;height:18px;padding:0 5px;display:inline-grid;place-items:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.add-space{display:flex;flex-direction:column;gap:10px;padding:10px;margin-top:4px;background:var(--surface);border-radius:10px;box-shadow:0 0 0 1px var(--line)}.add-space label,.field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.add-space input,.field input,.field select{border:1px solid var(--line);border-radius:7px;padding:8px 10px;background:var(--surface);color:var(--ink);font-size:14px}.add-space input:focus,.field input:focus,.field select:focus{outline:none;border-color:var(--accent)}.row-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.me{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:4px}.me .nav-label{padding-top:0}.people{display:flex;flex-direction:column;gap:1px}.person{display:flex;align-items:center;gap:8px;padding:4px 10px;min-height:32px;border-radius:7px;text-align:left;color:var(--ink-2)}.person:hover{background:var(--sunken)}.person.on{color:var(--ink);font-weight:600;background:var(--surface);box-shadow:0 0 0 1px var(--line)}.tag{font-size:10.5px;color:var(--wait);background:var(--wait-soft);border-radius:4px;padding:0 5px;font-weight:600;margin-left:4px}.link-btn{color:var(--muted);font-size:12px;padding:6px 10px;text-align:left}.link-btn:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.avatar{border-radius:50%;color:#fff;display:inline-grid;place-items:center;flex:none}.avatar,.btn{font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 14px;border-radius:7px;font-size:13px;white-space:nowrap;transition:background-color .12s ease-out}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 88%,var(--ink))}.btn.ghost{color:var(--ink-2);background:var(--sunken)}.btn.ghost:hover:not(:disabled){color:var(--ink);background:color-mix(in srgb,var(--sunken) 80%,var(--ink) 6%)}.icon-btn{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;color:var(--muted);font-size:16px;flex:none}.icon-btn:hover{background:var(--sunken);color:var(--ink)}.pane{min-height:0;height:100%}.pane,.pane-head{display:flex;flex-direction:column}.pane-head{padding:22px 18px 14px;gap:10px}.pane-head h1{font-size:20px;font-weight:700;letter-spacing:-.02em}.title-line{display:flex;align-items:baseline;gap:8px}.seg{display:flex;gap:2px;background:var(--sunken);padding:2px;border-radius:8px;align-self:flex-start}.seg button{padding:3px 12px;border-radius:6px;font-size:13px;color:var(--muted);min-height:28px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.seg button.on{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}.quick-create{display:flex;gap:6px}.quick-create input,.search-input{flex:1 1;min-width:0;border:1px solid transparent;border-radius:8px;padding:8px 12px;background:var(--sunken);min-height:36px}.quick-create input:focus,.search-input:focus{outline:none;border-color:var(--accent);background:var(--surface)}.list{overflow-y:auto;flex:1 1;padding:0 8px 12px;flex-direction:column;gap:1px}.list,.row{display:flex}.row{align-items:center;gap:4px;border-radius:9px;padding-right:8px}.row:hover{background:var(--bg)}.row.on{background:var(--accent-soft)}.row-main{flex:1 1;flex-direction:column;gap:3px;padding:10px;text-align:left}.row-main,.row-top{min-width:0;display:flex}.row-top{align-items:center;gap:8px}.row-title{font-weight:600}.row-sub,.row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row-sub{display:block;font-size:13px;color:var(--ink-2)}.row-sub .muted,.row-sub.muted{color:var(--muted)}.row-sub>span+span{margin-left:4px}.row.read .row-title{font-weight:500;color:var(--ink-2)}.row.read .row-sub{color:var(--muted)}.row-side{display:flex;align-items:center;gap:2px}.row-side .icon-btn{opacity:0;font-size:13px}.row-side .icon-btn:focus-visible,.row:hover .row-side .icon-btn{opacity:1}.row-flags{display:flex;gap:4px;margin-top:2px}.row-flags:empty{display:none}.flag{font-size:11px;font-weight:500;padding:0 6px;border-radius:4px;background:var(--sunken);color:var(--ink-2);line-height:18px}.flag.mention{background:var(--mention-soft);color:var(--mention)}.fold{padding:6px 10px}.empty{padding:40px 20px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.empty-title,.kind{font-weight:600}.kind{font-size:11px;padding:0 6px;line-height:18px;border-radius:4px;background:var(--sunken);color:var(--ink-2);white-space:nowrap}.kind.decision{background:var(--wait-soft);color:var(--wait)}.kind.todo{background:var(--accent-soft);color:var(--accent)}.kind.ticket{background:var(--ink);color:var(--surface)}.chip{font-size:11.5px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;color:var(--ink-2)}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.chip.open{color:var(--accent)}.chip.waiting{color:var(--wait)}.chip.done,.chip.lounge{color:var(--muted)}.empty-detail{margin:auto;max-width:340px;text-align:center;gap:8px;padding:24px}.empty-detail,.ticket{display:flex;flex-direction:column}.ticket{height:100%;min-height:0;position:relative}.ticket-head{display:flex;align-items:center;gap:12px;padding:16px 24px 12px;flex-wrap:wrap}.ticket-head .back{display:none}.ticket-title{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1}.ticket-title h2{font-size:18px;font-weight:700;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-title h2.editable{cursor:text;border-radius:6px;padding:1px 6px;margin-left:-6px}.ticket-title h2.editable:hover{background:var(--bg)}.title-input{font-size:18px;font-weight:700;letter-spacing:-.02em;border:0;box-shadow:0 0 0 2px var(--accent);border-radius:6px;padding:1px 6px;background:var(--surface);min-width:0;flex:1 1}.title-input:focus{outline:none}.status-seg{display:flex;gap:2px;background:var(--sunken);padding:2px;border-radius:8px}.status-seg button{padding:3px 12px;border-radius:6px;font-size:12.5px;color:var(--muted);min-height:28px;font-weight:500}.status-seg button:hover:not(.on){color:var(--ink)}.status-seg button.on{background:var(--surface);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.06)}.status-seg button.on.open{color:var(--accent)}.status-seg button.on.waiting{color:var(--wait)}.status-seg button.on.done{color:var(--ink)}.meta{gap:6px 18px;flex-wrap:wrap;padding:0 24px 12px;font-size:13px;border-bottom:1px solid var(--line)}.meta,.meta label{display:flex;align-items:center}.meta label{gap:6px;color:var(--muted)}.meta input,.meta select{border:0;border-radius:6px;padding:3px 6px;background:transparent;color:var(--ink);font-size:13px;font-weight:500}.meta input:hover,.meta select:hover{background:var(--bg)}.linked{display:flex;align-items:center;gap:6px;color:var(--muted)}.link-chip{font-size:12px;font-weight:600;color:var(--ink-2);background:var(--stub);border-radius:4px;padding:1px 7px}.link-chip:hover{color:var(--accent)}.banner{display:flex;align-items:center;gap:12px;padding:10px 24px;background:var(--accent-soft);font-size:13px;flex-wrap:wrap;justify-content:space-between}.banner .btn.ghost{background:var(--surface)}.banner.warn{background:var(--wait-soft)}.summary{margin:12px 24px 0;background:var(--bg);border-radius:10px}.summary-head{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;text-align:left;min-height:42px}.sum-title{font-weight:700;font-size:13px;flex:none}.sum-digest{color:var(--ink-2);font-size:13px}.todo-progress{display:inline-flex;align-items:center;gap:8px;color:var(--muted);flex:none}.todo-progress .bar{width:56px;height:4px;border-radius:4px;background:var(--line);overflow:hidden}.todo-progress .bar span{display:block;height:100%;background:var(--accent);border-radius:inherit}.chev{font-size:12px;color:var(--muted);flex:none}.summary-body{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 28px;gap:14px 28px;padding:2px 14px 14px;max-height:40vh;overflow-y:auto}.sum-block{display:flex;flex-direction:column;gap:6px;min-width:0}.sum-block:first-child{grid-column:1/-1}.sum-label{font-size:12px;font-weight:600;color:var(--muted)}.goal-input,.inline-add input{border:1px solid transparent;border-radius:6px;padding:4px 6px;margin-left:-6px;background:transparent;width:100%}.goal-input:hover,.inline-add input:hover{background:var(--surface)}.goal-input:focus,.inline-add input:focus{border-color:var(--accent);background:var(--surface);outline:none}.goal-input::placeholder,.inline-add input::placeholder{color:var(--muted)}.sum-list{display:flex;flex-direction:column;gap:4px}.sum-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px}.sum-list li.done .grow{text-decoration:line-through;color:var(--muted)}.sum-list input[type=checkbox]{margin-top:3px;accent-color:var(--accent)}.dot{width:5px;height:5px;border-radius:50%;background:var(--wait);margin-top:8px}.dot,.x{flex:none}.x{color:var(--muted);width:20px;height:20px;border-radius:4px;opacity:0}.sum-list li:hover .x,.x:focus-visible{opacity:1}.x:hover{background:var(--surface);color:var(--ink)}.text-link{text-align:left}.text-link:hover{color:var(--accent)}.messages{flex:1 1;overflow-y:auto;padding:12px 24px 16px;display:flex;flex-direction:column;gap:2px;min-height:0}.divider{align-self:center;font-size:12px;color:var(--muted);padding:14px 0 6px;font-weight:500}.divider.unread{align-self:stretch;display:flex;align-items:center;gap:10px;color:var(--accent);font-weight:600;padding:10px 0 2px}.divider.unread:after,.divider.unread:before{content:"";flex:1 1;height:1px;background:currentColor;opacity:.4}.sys{align-self:center;font-size:12px;color:var(--muted);padding:4px 12px;margin:6px 0;text-align:center}.msg{display:flex;gap:8px;position:relative;padding:2px 8px;margin:0 -8px;border-radius:10px;align-items:flex-start}.msg:not(.grouped){margin-top:10px}.msg:focus{outline:none}.msg.me{flex-direction:row-reverse}.msg.me .msg-body{align-items:flex-end}.msg.me .bubble-row{flex-direction:row-reverse}.msg-avatar{width:30px;flex:none}.msg-body{display:flex;flex-direction:column;gap:3px;max-width:min(70%,560px);min-width:0}.who{font-size:12px;color:var(--ink-2);font-weight:600}.bubble-row{display:flex;align-items:flex-end;gap:6px}.bubble{background:var(--bg);border-radius:4px 14px 14px 14px;padding:8px 12px;white-space:pre-wrap;line-height:1.5}.msg.grouped .bubble{border-radius:14px}.msg.me .bubble{background:var(--accent-soft);border-radius:14px 4px 14px 14px}.msg.me.grouped .bubble{border-radius:14px}.at{font-size:11px;color:var(--muted);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mention{color:var(--mention);font-weight:600}.marks{display:flex;gap:8px;flex-wrap:wrap;padding:0 2px}.mark{font-size:11.5px;font-weight:500}.mark.decision{color:var(--wait)}.mark.todo{color:var(--accent)}.mark.moved{color:var(--muted)}.msg.focus .bubble{box-shadow:0 0 0 2px var(--wait)}.msg.selecting{cursor:pointer;padding-left:38px}.msg.selecting:hover{background:var(--bg)}.msg.sel,.msg.sel:hover{background:var(--accent-soft)}.check,.msg.sel .bubble{background:var(--surface)}.check{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line);display:grid;place-items:center;font-size:11px;color:var(--accent-ink)}.check.on{background:var(--accent);box-shadow:none}.msg-actions{position:absolute;top:-16px;right:8px;display:none;gap:1px;background:var(--surface);border-radius:8px;padding:3px;box-shadow:var(--pop-shadow);z-index:2}.msg.me .msg-actions{right:auto;left:8px}.msg:focus-within .msg-actions,.msg:hover .msg-actions{display:flex}.msg-actions button{font-size:12px;font-weight:500;padding:4px 9px;border-radius:6px;white-space:nowrap;color:var(--ink-2)}.msg-actions button:hover{background:var(--bg);color:var(--ink)}.composer{padding:8px 24px 18px;display:flex;flex-direction:column;gap:6px}.composer-row{display:flex;gap:8px;align-items:flex-end;background:var(--bg);border-radius:12px;padding:6px 6px 6px 14px;box-shadow:0 0 0 1px transparent;transition:box-shadow .12s ease-out}.composer-row:focus-within{background:var(--surface);box-shadow:0 0 0 1.5px var(--accent)}.composer textarea{flex:1 1;border:0;background:transparent;resize:none;padding:6px 0;max-height:160px;field-sizing:content;min-height:24px}.composer textarea:focus{outline:none}.composer textarea::placeholder{color:var(--muted)}.select-bar{display:flex;align-items:center;gap:8px;padding:12px 24px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.chat-pane .ticket-head{padding:16px 16px 12px;border-bottom:1px solid var(--line)}.chat-title{display:flex;flex-direction:column;min-width:0;gap:1px}.chat-title h2{font-size:15px}.chat-pane .messages{padding:6px 14px 12px}.chat-pane .msg-body{max-width:82%}.chat-pane .bubble{background:var(--surface)}.chat-pane .msg.me .bubble{background:var(--accent-soft)}.chat-pane .msg-actions button:hover,.chat-pane .msg.selecting:hover{background:var(--sunken)}.chat-pane .composer{padding:8px 14px 14px}.chat-pane .composer-row{background:var(--surface)}.chat-pane .select-bar{padding:10px 14px 14px}.chat-pane .select-bar>span:first-child{width:100%}.chat-pane .select-bar .grow{display:none}.chat-pane .select-bar .btn{flex:1 1;padding:0 10px}.chat-pane .banner{padding:8px 14px}.sheet-backdrop{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;z-index:20;padding:16px;animation:fade .14s ease-out}.sheet{background:var(--surface);border-radius:14px;box-shadow:var(--pop-shadow);width:min(420px,100%);padding:22px;animation:rise .18s cubic-bezier(.2,.8,.2,1)}.sheet form{display:flex;flex-direction:column;gap:14px}.sheet h3{font-size:17px;font-weight:700;letter-spacing:-.02em}.pick-list{display:flex;flex-direction:column;gap:2px;max-height:300px;overflow-y:auto;margin:0 -6px}.pick{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer}.pick:hover{background:var(--bg)}.pick.on{background:var(--accent-soft)}.pick input{accent-color:var(--accent);margin:0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px) scale(.99)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (max-width:860px){.app,.app.chat-open{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.chat-pane,.detail,.sidebar{display:none}.middle{border-right:0}.app.show-spaces .sidebar{display:flex;grid-row:1;border-right:0}.app.show-spaces .middle{display:none}.app.show-chat .chat-pane{display:flex;grid-row:1;border-left:0}.app.show-chat .detail,.app.show-chat .middle{display:none!important}.app.has-ticket:not(.show-spaces):not(.show-chat) .middle,.chat-close{display:none}.app.has-ticket:not(.show-spaces):not(.show-chat) .detail{display:flex;grid-row:1}.app.has-ticket:not(.show-spaces):not(.show-chat) .tabs{display:none}.tabs{display:flex;border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom,0)}.tabs button{flex:1 1;min-height:52px;color:var(--muted);font-size:13px;font-weight:500}.tabs button.on{color:var(--accent);font-weight:700}.pane-head{padding:18px 16px 12px}.ticket-head{padding:10px 12px 8px;gap:8px}.ticket-head .back{display:grid;font-size:22px}.status-seg{width:100%}.status-seg button{flex:1 1}.meta{padding:0 16px 10px}.summary{margin:8px 12px 0}.sum-digest{display:none}.summary-body{grid-template-columns:1fr;max-height:34vh}.messages{padding:8px 12px 12px}.msg-body{max-width:82%}.msg-actions{top:auto;bottom:-18px}.composer{padding:8px 12px 12px}.select-bar{padding:10px 12px 12px}.select-bar .btn{flex:1 1}.select-bar>span:first-child{width:100%}.select-bar .grow{display:none}.row-side .icon-btn,.x{opacity:1}}