*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--font-line);color:var(--color-text);background:var(--color-bg);margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.app{min-height:100vh;display:flex}.side{width:var(--layout-sidebar);background:var(--color-bg-secondary);border-right:1px solid var(--color-border);padding:var(--space-3) var(--space-2);flex:none}.side .brand{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);padding:var(--space-2);color:var(--color-text)}.side .sec{font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding:var(--space-4) var(--space-2) var(--space-1)}.side a.item{align-items:center;gap:var(--space-2);padding:5px var(--space-2);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.side a.item:hover{background:var(--color-bg-hover);text-decoration:none}.side a.item.on{background:var(--color-bg-hover);color:var(--color-text);font-weight:var(--font-weight-medium)}.side a.item .n{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-left:auto}.main{min-width:0;padding:var(--space-6) var(--space-7);flex:1}.page{max-width:var(--layout-content-max)}h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-1);letter-spacing:-.01em}h2.sec{font-size:var(--font-size-lg);margin:var(--space-5) 0 var(--space-2)}.sub{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-5)}.sub a{color:var(--color-accent)}.live{background:var(--tag-green-fg);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.live.stale{background:var(--tag-orange-fg)}.props{row-gap:6px;column-gap:var(--space-3);font-size:var(--font-size-sm);margin-bottom:var(--space-5);grid-template-columns:120px 1fr;display:grid}.props .k{color:var(--color-text-tertiary)}.stats{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.stat{min-width:112px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:var(--color-bg)}.stat b{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:1.2;display:block}.stat span{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.stat.warn b{color:var(--tag-red-fg)}.stat.warn{background:var(--tag-red-bg)}a.stat{color:inherit;text-decoration:none}a.stat:hover{box-shadow:var(--shadow-card),0 0 0 2px var(--color-border)}.stat.on{box-shadow:var(--shadow-card),0 0 0 2px var(--color-text-secondary)}.tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-3);display:flex}.tabs a{padding:6px var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-bottom:2px solid #0000;margin-bottom:-1px}.tabs a.on{color:var(--color-text);border-bottom-color:var(--color-text)}.tabs a:hover{background:var(--color-bg-hover);text-decoration:none}table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}th{font-weight:var(--font-weight-regular);color:var(--color-text-tertiary);text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border);white-space:nowrap}td{padding:var(--space-2);border-bottom:1px solid var(--color-divider);vertical-align:top}tr.row{cursor:pointer}tr.row:hover td{background:var(--color-bg-hover)}tr.off td{color:var(--color-text-tertiary)}td.id{font-weight:var(--font-weight-medium);white-space:nowrap}td.muted,.muted{color:var(--color-text-secondary)}.small{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}td.draft{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:360px;overflow:hidden}.empty{padding:var(--space-6);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.tag{border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;background:var(--tag-bg);color:var(--tag-fg);margin-right:4px;padding:0 6px;line-height:20px;display:inline-block}.tip{cursor:help;position:relative}.tip:after{content:attr(data-tip);z-index:10;border-radius:var(--radius-md);background:var(--color-text);width:max-content;max-width:320px;color:var(--color-bg);font-size:var(--font-size-xs);white-space:normal;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;padding:6px 10px;line-height:1.5;transition:opacity .12s;position:absolute;top:calc(100% + 6px);left:0}.tip:hover:after{opacity:1}.seg{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-left:var(--space-3);display:inline-flex;overflow:hidden}.seg a,.seg button{font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;padding:2px 10px;font-family:inherit;text-decoration:none}.seg a.on,.seg button.on{background:var(--color-bg-secondary);color:var(--color-text)}.bar{align-items:center;gap:var(--space-3);margin:var(--space-3) 0;display:flex}.search{border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg);min-width:240px;padding:4px 8px;font-family:inherit}.callout{padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--tag-red-bg);color:var(--tag-red-fg);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.note{padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);background:var(--tag-green-bg);color:var(--tag-green-fg);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.links{white-space:nowrap}.links a{color:var(--color-accent);font-size:var(--font-size-sm);margin-right:var(--space-3)}.tl{column-gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.tl .lane-h{font-size:var(--font-size-xs);color:var(--color-text-tertiary);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-2)}.msg{padding:var(--space-2) var(--space-3);margin:var(--space-1) 0;border-radius:var(--radius-lg);font-size:var(--font-size-sm);background:var(--role-bg,var(--color-bg-secondary));grid-column:1}.msg.card{grid-column:2}.msg .h{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:2px}.msg .h b{color:var(--color-text);font-weight:var(--font-weight-medium);margin-right:6px}.msg .h a{color:var(--color-text-tertiary);margin-left:6px}.msg .t{white-space:pre-wrap;word-break:break-word}.msg .f{font-size:var(--font-size-xs);color:var(--color-accent);margin-top:3px}.msg.new{animation:.6s pop}@keyframes pop{0%{background:var(--tag-yellow-bg)}}.sw{align-items:center;gap:8px;display:inline-flex}.sw button{border-radius:var(--radius-pill);cursor:pointer;background:var(--color-border);border:0;width:36px;height:20px;position:relative}.sw button.on{background:var(--tag-green-fg)}.sw button:after{content:"";background:var(--color-bg);border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.sw button.on:after{left:18px}.sw button:disabled{opacity:.5}.sw span{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.inl{cursor:text;white-space:nowrap;border-bottom:1px solid #0000;outline:none;min-width:120px;padding:2px 0;display:inline-block}.inl:empty:before{content:attr(data-placeholder);color:var(--color-text-tertiary)}.inl[contenteditable=true]{border-bottom-color:var(--color-text)}.inl.saved{border-bottom-color:var(--tag-green-fg)}td.body{max-width:520px}td.body details summary{cursor:pointer;white-space:pre-wrap;word-break:break-word;list-style:none}td.body details[open] summary .more{display:none}td.body .rest{white-space:pre-wrap;word-break:break-word;margin-top:4px}td.body .more{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}td.body .go{margin-top:4px;display:block}td.body .go a{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.btn{font:inherit;font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-secondary);cursor:pointer;margin-left:var(--space-2);padding:3px 10px}.btn:hover{background:var(--color-bg-hover)}.btn:disabled{opacity:.5;cursor:default}.slack-text pre{border-radius:var(--radius-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);font-size:var(--font-size-xs);white-space:pre-wrap;word-break:break-word;margin:6px 0;padding:8px 10px}.slack-text code{border-radius:var(--radius-sm);background:var(--color-bg-secondary);font-size:var(--font-size-xs);padding:0 4px}.slack-text blockquote{border-left:3px solid var(--color-border);color:var(--color-text-secondary);margin:4px 0;padding-left:10px}.slack-text .mention{color:var(--color-accent);font-weight:500}.slack-text a{color:var(--color-accent)}
