:root{--ink-50:#FAFAFA;--ink-100:#F4F4F5;--ink-200:#E4E4E7;--ink-300:#D4D4D8;--ink-400:#A1A1AA;--ink-500:#71717A;--ink-600:#52525B;--ink-700:#3F3F46;--ink-800:#27272A;--ink-900:#18181B;--ink-950:#09090B;--warm-50:#F7F4F1;--warm-100:#F2EEEB;--warm-800:#2B2825;--warm-850:#201E1B;--warm-900:#191714;--warm-950:#141210;--coral-100:#FFECEB;--coral-200:#FFD4D3;--coral-300:#FFA3A3;--coral-500:#FF6B6B;--coral-600:#E9504F;--coral-700:#C43D3C;--navy-100:#E7E9F1;--navy-500:#2F3556;--navy-700:#1E2238;--green-50:#E5F7EF;--green-500:#2E9E6B;--green-600:#187A51;--green-900:#0C3B27;--amber-50:#FFF3D6;--amber-500:#F0A30A;--amber-700:#8B5D00;--amber-800:#754E00;--amber-900:#3D2900;--red-50:#FFF7F7;--red-200:#F4B4B4;--red-600:#C4362F;--red-700:#A62B25;--red-900:#3D1512;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--fs-xs:11px;--fs-sm:12px;--fs-md:13px;--fs-base:14px;--fs-lg:15px;--fs-xl:17px;--fs-2xl:20px;--fs-h1: clamp(24px, 2.2vw + 16px, 32px);--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:800;--font: "Archivo", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--r-sm:8px;--r-tile:8px;--r-input:12px;--r-md:14px;--r-card:20px;--r-pill:999px;--z-sticky:10;--z-dropdown:20;--z-topbar:30;--z-drawer:40;--z-modal:50;--z-toast:60;--dur-fast:.12s;--dur:.18s;--dur-slow:.28s;--ease: cubic-bezier(.2,.6,.2,1);--ease-out: cubic-bezier(.16,1,.3,1);--bg-app: var(--ink-50);--bg-page: var(--warm-100);--bg-surface: #FFFFFF;--bg-surface-2: var(--ink-50);--bg-inset: var(--ink-950);--bg-inverse: var(--ink-900);--bg-hover: var(--ink-100);--overlay: rgba(9,9,11,.48);--border-subtle: var(--ink-100);--border-default: var(--ink-200);--border-strong: var(--ink-300);--border-inverse: var(--ink-900);--text-primary: var(--ink-900);--text-secondary: var(--ink-600);--text-muted: var(--ink-500);--text-faint: var(--ink-400);--text-inverse: #FFFFFF;--text-on-accent: #FFFFFF;--text-on-inset: var(--ink-200);--accent: var(--coral-500);--accent-hover: var(--coral-600);--accent-soft: var(--coral-100);--accent-text: var(--coral-600);--focus-ring: var(--coral-100);--success-bg: var(--green-50);--success-fg: var(--green-600);--success-dot: var(--green-500);--warn-bg: var(--amber-50);--warn-fg: var(--amber-800);--warn-dot: var(--amber-500);--danger-bg: var(--red-50);--danger-fg: var(--red-600);--danger-border: var(--red-200);--info-bg: var(--navy-100);--info-fg: var(--navy-500);--shadow-1: 0 1px 2px rgba(24,24,27,.05);--shadow-2: 0 1px 2px rgba(24,24,27,.05), 0 12px 32px rgba(24,24,27,.08);--shadow-3: 0 24px 64px rgba(24,24,27,.18);color-scheme:light}:root[data-theme=dark]{--bg-app: var(--warm-950);--bg-page: var(--warm-900);--bg-surface: var(--warm-850);--bg-surface-2: var(--warm-800);--bg-inset: var(--warm-950);--bg-inverse: var(--warm-50);--bg-hover: rgba(255,255,255,.06);--overlay: rgba(0,0,0,.62);--border-subtle: #2C2926;--border-default: #3A3630;--border-strong: #55504A;--border-inverse: var(--warm-50);--text-primary: #F5F1EC;--text-secondary: #BCB4AD;--text-muted: #948C84;--text-faint: #736C65;--text-inverse: var(--warm-900);--text-on-accent: var(--warm-950);--text-on-inset: var(--ink-300);--accent: var(--coral-500);--accent-hover: var(--coral-300);--accent-soft: rgba(255,107,107,.16);--accent-text: var(--coral-300);--focus-ring: rgba(255,107,107,.28);--success-bg: var(--green-900);--success-fg: #6EE7B0;--success-dot: #34D399;--warn-bg: var(--amber-900);--warn-fg: #FBCF6B;--warn-dot: #FBBF24;--danger-bg: var(--red-900);--danger-fg: #FF8F86;--danger-border: #6B2A26;--info-bg: var(--navy-700);--info-fg: #B9C0DC;--shadow-1: 0 1px 2px rgba(0,0,0,.4);--shadow-2: 0 1px 2px rgba(0,0,0,.4), 0 12px 32px rgba(0,0,0,.45);--shadow-3: 0 24px 64px rgba(0,0,0,.6);color-scheme:dark}@media(prefers-reduced-motion:reduce){:root{--dur-fast:0ms;--dur:0ms;--dur-slow:0ms}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{font:var(--fw-regular) var(--fs-base)/1.55 var(--font);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}h1,h2,h3,p{margin:0}svg{display:block}h1{font-size:var(--fs-h1);font-weight:var(--fw-black);letter-spacing:-.02em;line-height:1.1;text-wrap:balance}h2{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.01em}h3{font-size:var(--fs-base);font-weight:var(--fw-semibold)}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring),0 0 0 4px var(--accent);border-radius:var(--r-tile)}::selection{background:var(--accent-soft);color:var(--accent-text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}.wrap{max-width:1180px;margin:0 auto;padding:0 var(--s-6)}.topbar{position:sticky;top:0;z-index:var(--z-topbar);height:64px;background:var(--bg-surface);border-bottom:1px solid var(--border-default)}.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:100%;gap:var(--s-4)}.topbar nav{display:flex;align-items:center;gap:var(--s-1)}.topbar nav a,.topbar nav button:not(.theme-toggle){padding:var(--s-2) var(--s-3);border-radius:var(--r-pill);font-weight:var(--fw-medium);font-size:var(--fs-md);color:var(--text-secondary);transition:background var(--dur-fast),color var(--dur-fast)}.topbar nav a:hover,.topbar nav button:not(.theme-toggle):hover{background:var(--bg-hover);color:var(--text-primary)}.topbar nav a.active{background:var(--bg-inverse);color:var(--text-inverse)}.topbar .me{display:flex;align-items:center;gap:var(--s-2);margin-left:var(--s-2);padding:4px var(--s-2) 4px 4px;border-radius:var(--r-pill);transition:background var(--dur-fast)}.topbar .me:hover{background:var(--bg-hover)}.page.narrow{max-width:680px}.page{padding:var(--s-10) 0 var(--s-16)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-6);margin-bottom:var(--s-6);flex-wrap:wrap}.eyebrow{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-bottom:var(--s-1)}.lede{color:var(--text-secondary);font-size:var(--fs-lg);max-width:62ch;margin-top:var(--s-2)}.grid{display:grid;gap:var(--s-5);align-items:stretch;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s-3)}@media(max-width:900px){.topbar{height:auto}.topbar .wrap{flex-wrap:wrap;gap:var(--s-2);padding-top:var(--s-2);padding-bottom:var(--s-2)}.topbar nav{flex-wrap:wrap}}@media(max-width:720px){.wrap{padding:0 var(--s-4)}.page{padding:var(--s-6) 0 var(--s-12)}.page-head{align-items:flex-start}}.logo{display:flex;align-items:center;gap:var(--s-2);font-weight:var(--fw-black);font-size:var(--fs-xl);letter-spacing:-.02em}.logo b{color:var(--accent);font-weight:var(--fw-black)}.logo .sub{color:var(--text-faint);font-weight:var(--fw-medium);font-size:var(--fs-md);margin-left:var(--s-1)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:38px;height:38px;padding:0;margin:0 var(--s-1);border-radius:var(--r-pill);border:1px solid var(--border-default);color:var(--text-primary);transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.theme-toggle svg{flex:none}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--border-strong)}.crumbs{display:flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text-muted)}.crumbs a{display:inline-flex;align-items:center;gap:2px;padding:4px var(--s-2) 4px 6px;margin-left:-6px;border-radius:var(--r-pill);color:var(--text-secondary);transition:background var(--dur-fast),color var(--dur-fast)}.crumbs a:hover{background:var(--bg-hover);color:var(--text-primary)}.crumbs .sep{color:var(--text-faint)}.crumbs [aria-current]{color:var(--text-primary)}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-card);padding:var(--s-6)}.card+.card{margin-top:var(--s-5)}.card.flush{padding:0;overflow:hidden}.card-body{padding:var(--s-6)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-6);border-bottom:1px solid var(--border-subtle)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:40px;padding:0 var(--s-5);border-radius:var(--r-pill);background:var(--bg-inverse);color:var(--text-inverse);font-weight:var(--fw-semibold);font-size:var(--fs-base);white-space:nowrap;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast),opacity var(--dur-fast)}.btn:hover{opacity:.88}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn.accent{background:var(--accent);color:var(--text-on-accent)}.btn.accent:hover{background:var(--accent-hover);opacity:1}.btn.outline{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-strong)}.btn.outline:hover{border-color:var(--border-inverse);opacity:1}.btn.ghost{background:transparent;color:var(--text-secondary)}.btn.ghost:hover{background:var(--bg-hover);color:var(--text-primary);opacity:1}.btn.sm{height:32px;padding:0 var(--s-3);font-size:var(--fs-md)}.btn.block{width:100%}.btn.danger{color:var(--danger-fg)}.btn.outline.danger{border-color:var(--danger-border)}.btn.outline.danger:hover{border-color:var(--danger-fg)}.field{display:flex;flex-direction:column;gap:var(--s-1)}form.card>*+*,.form-stack>*+*{margin-top:var(--s-4)}form.card>.hint,.form-stack>.hint{margin-top:var(--s-1)}.field+.field{margin-top:var(--s-4)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--s-3);align-items:end}.form-row>.field+.field{margin-top:0}.form-row .grow{grid-column:span 2}@media(max-width:560px){.form-row .grow{grid-column:auto}}.label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text-secondary)}.hint{font-size:var(--fs-sm);color:var(--text-muted)}.input,.select,.textarea{width:100%;height:42px;padding:0 var(--s-3);border-radius:var(--r-input);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-base);transition:border-color var(--dur-fast)}.textarea{height:auto;min-height:90px;padding:var(--s-2) var(--s-3);resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-inverse);box-shadow:none}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input.mono{font-family:var(--font-mono);font-size:var(--fs-md)}.select{appearance:none;-webkit-appearance:none;padding-right:30px;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 3.5l3 3 3-3' fill='none' stroke='%2371717A' stroke-width='1.5'/></svg>");background-repeat:no-repeat;background-position:right 12px center}:root[data-theme=dark] .select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'><path d='M2 3.5l3 3 3-3' fill='none' stroke='%23948C84' stroke-width='1.5'/></svg>")}.select.sm,.input.sm{height:32px;font-size:var(--fs-md);padding:0 var(--s-2);border-radius:var(--r-sm);width:auto}.select.sm{padding-right:26px;background-position:right 8px center}.chip{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 var(--s-2);border-radius:var(--r-pill);border:1px solid var(--border-default);background:var(--bg-surface);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);white-space:nowrap}.chip.sm{height:20px;padding:0 var(--s-2);font-size:var(--fs-xs)}.chip.xs{height:18px;padding:0 6px;font-size:10px}.chip.is-on{background:var(--bg-inverse);color:var(--text-inverse);border-color:var(--bg-inverse)}.chip.tag{border-color:transparent;background:var(--bg-hover);color:var(--text-secondary)}.chip.tag.internal{background:var(--bg-inverse);color:var(--text-inverse)}.chip.role-admin{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.chip.role-team{background:var(--info-bg);color:var(--info-fg);border-color:transparent}.chip.role-client{background:var(--bg-hover);color:var(--text-secondary);border-color:transparent}.status{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent)}.status.in_progress:before{background:var(--info-fg)}.status.resolved:before{background:var(--success-dot)}.status.resolved{color:var(--success-fg)}.tabs{display:flex;gap:var(--s-1);border-bottom:1px solid var(--border-default);margin-bottom:var(--s-6);overflow-x:auto}.tabs button{padding:var(--s-2) var(--s-3);font-weight:var(--fw-semibold);color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:0;white-space:nowrap;transition:color var(--dur-fast)}.tabs button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.tabs button:hover{color:var(--text-primary)}.table-wrap{overflow-x:auto}.table-wrap table{min-width:max-content}th.sticky-end,td.sticky-end{position:sticky;right:0;background:var(--bg-surface);box-shadow:-10px 0 12px -10px #00000059}tr.clickable:hover td.sticky-end{background:var(--bg-surface-2)}table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}th{text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border-subtle);white-space:nowrap}th.sortable{cursor:pointer;user-select:none;transition:color var(--dur-fast)}th.sortable:hover{color:var(--text-secondary)}th.sortable.is-on{color:var(--text-primary)}th .arrow{display:inline-block;width:10px;margin-left:var(--s-1);color:var(--accent)}td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--border-subtle);vertical-align:top}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--bg-surface-2)}td.right,th.right{text-align:right}.num{font-variant-numeric:tabular-nums;color:var(--text-muted);font-weight:var(--fw-semibold)}.cell-comment{max-width:380px;min-width:240px}.cell-comment .meta-line{margin-top:6px;font-size:var(--fs-sm);color:var(--text-muted);gap:var(--s-2)}.cell-comment .meta-line .row{gap:3px}.selector-btn{display:inline-block;max-width:100%;margin-top:6px;padding:2px 6px;border-radius:var(--r-sm);background:var(--bg-surface-2);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.selector-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.cell-page{max-width:170px}.cell-page a{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-page .page-title{font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-page a:hover .page-title{color:var(--accent-text)}.skeleton-rows{padding:var(--s-4) var(--s-6)}.skeleton-row{display:grid;grid-template-columns:60px 1fr 120px 100px;gap:var(--s-4);padding:var(--s-3) 0;align-items:center}.error-detail{text-align:left;max-width:520px;margin-inline:auto}.error-detail code{display:block;margin-top:var(--s-2);overflow-wrap:anywhere;color:var(--text-muted)}.preview{max-width:440px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.unread-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:5px;vertical-align:1px}.body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.body a{color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.mention{color:var(--info-fg);background:var(--info-bg);font-weight:var(--fw-semibold);border-radius:4px;padding:0 3px}.menu{position:absolute;z-index:var(--z-dropdown);min-width:260px;max-width:100%;padding:4px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-input);box-shadow:var(--shadow-2)}.menu-item{display:flex;align-items:center;gap:var(--s-2);width:100%;padding:6px var(--s-2);border-radius:var(--r-sm);font-size:var(--fs-md);text-align:left;color:var(--text-primary)}.menu-item:hover,.menu-item.is-on{background:var(--bg-hover)}.mention-menu{position:fixed;z-index:calc(var(--z-drawer) + 1);min-width:0;max-width:none;overflow-y:auto;overscroll-behavior:contain}.kbd{display:inline-block;min-width:16px;height:16px;padding:0 4px;border-radius:4px;margin-left:2px;background:#ffffff2e;font:var(--fw-semibold) 10px/16px var(--font);text-align:center}.icon-btn{width:28px;height:28px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background var(--dur-fast),color var(--dur-fast);flex:none}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.icon-btn.danger:hover{background:var(--danger-bg);color:var(--danger-fg)}.toggle{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;user-select:none}.toggle input{accent-color:var(--text-primary);width:14px;height:14px;margin:0}.avatar{width:26px;height:26px;font-size:10px;border-radius:50%;background:var(--navy-500);color:#fff;font-weight:var(--fw-bold);display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;flex:none;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.is-pending{background:var(--border-strong);color:var(--text-inverse)}tr.is-pending td{background:var(--bg-surface-2)}.person{display:inline-flex;align-items:center;gap:var(--s-2)}.person .n{font-weight:var(--fw-semibold)}.person .e{color:var(--text-muted);font-size:var(--fs-sm)}.empty{padding:var(--s-12) var(--s-6);text-align:center;color:var(--text-muted)}.empty>b:first-child{display:block;color:var(--text-primary);font-size:var(--fs-lg);margin-bottom:var(--s-1)}.empty b{color:var(--text-primary)}.toast{position:fixed;left:50%;bottom:var(--s-6);transform:translate(-50%);background:var(--bg-inverse);color:var(--text-inverse);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);font-size:var(--fs-md);font-weight:var(--fw-medium);box-shadow:var(--shadow-3);z-index:var(--z-toast)}.toast.err{background:var(--danger-fg);color:#fff}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--s-6);background:var(--overlay);backdrop-filter:blur(2px)}.modal{width:min(440px,100%);background:var(--bg-surface);border-radius:var(--r-card);padding:var(--s-6);box-shadow:var(--shadow-3);display:flex;flex-direction:column;gap:var(--s-4)}.modal h2{margin:0;font-size:var(--fs-lg)}.modal p{margin:0}.btn.danger-solid{background:var(--danger-fg);color:#fff}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .7s linear infinite;display:inline-block}.spinner.dark{border-color:var(--border-default);border-top-color:var(--text-primary)}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:var(--accent);opacity:.7}}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-sm);background:var(--bg-hover);height:1em}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:shimmer 1.4s infinite}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.snippet{position:relative;background:var(--bg-inset);color:var(--text-on-inset);border:1px solid var(--border-default);border-radius:var(--r-input);padding:var(--s-4);font-family:var(--font-mono);font-size:var(--fs-md);line-height:1.6;overflow-x:auto;white-space:pre}.snippet .copy{position:absolute;top:var(--s-2);right:var(--s-2);font-family:var(--font)}.stat{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:var(--s-4)}.stat .v{font-size:var(--fs-2xl);font-weight:var(--fw-black);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.stat .v.text{font-size:var(--fs-xl)}.stat .c{color:var(--text-secondary);font-size:var(--fs-sm);margin-top:6px}button.stat{width:100%;text-align:left;cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast)}button.stat:hover{border-color:var(--border-strong);background:var(--bg-hover)}button.stat:hover .c{color:var(--text-primary)}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-3)}.kind-filter{display:flex;flex-wrap:wrap;gap:var(--s-1)}.kind-filter .chip .n{opacity:.6;font-variant-numeric:tabular-nums}.searchbox{position:relative;display:flex;align-items:center;gap:var(--s-2);flex:1;min-width:240px;padding-right:6px;border:1px solid var(--border-default);border-radius:var(--r-input);background:var(--bg-surface);transition:border-color var(--dur-fast)}.searchbox:focus-within{border-color:var(--border-inverse)}.searchbox .ico{display:flex;padding-left:var(--s-3);color:var(--text-faint)}.searchbox .input{flex:1;width:auto;min-width:0;border:0;background:transparent;padding-left:0}.searchbox .input:focus{border:0}.searchbox .input::-webkit-search-cancel-button{display:none}.kbd.plain{background:var(--bg-hover);color:var(--text-faint);margin-right:4px}.error{color:var(--danger-fg);font-size:var(--fs-md)}.ok{color:var(--success-fg);font-size:var(--fs-md)}.pcard{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-6);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--r-card);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur)}a.pcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-2);border-color:var(--border-strong)}.pcard .name{font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:-.01em;display:flex;align-items:center;gap:var(--s-2)}.pcard .name:after{content:"↗";color:var(--text-faint);font-weight:var(--fw-medium);margin-left:auto}.pcard:hover .name:after{color:var(--accent)}.pcard a.name:hover{color:var(--accent-text)}.pcard a.name:hover:after{color:var(--accent)}.pcard .host{display:flex;align-items:baseline;gap:6px;min-width:0;color:var(--text-muted);font-size:var(--fs-md);font-family:var(--font-mono)}.pcard .host .h{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard .host .more{flex:none;color:var(--text-faint)}.pcard .stats{display:flex;flex-wrap:wrap;gap:6px var(--s-3);color:var(--text-secondary);font-size:var(--fs-md);margin-top:var(--s-1)}.pcard .stats span{white-space:nowrap}.pcard .stats b{color:var(--text-primary);font-variant-numeric:tabular-nums}.pcard{height:100%}.pcard>.stats{margin-top:auto}.pcard.multi>.stats{margin-top:var(--s-1)}.pcard.multi .versions{margin-top:auto}.pcard.multi{gap:var(--s-2)}.pcard.multi .versions{display:flex;flex-direction:column;gap:2px;margin:6px calc(var(--s-2) * -1) calc(var(--s-2) * -1)}.vrow{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-2);border-radius:var(--r-tile);border-top:1px solid var(--border-subtle);transition:background var(--dur-fast) var(--ease)}.vrow:first-child{border-top:0}.vrow:hover{background:var(--bg-surface-2)}.vrow .v,.vbadge{flex:none;display:inline-block;min-width:40px;padding:2px var(--s-2);border-radius:var(--r-pill);background:var(--bg-inverse);color:var(--text-inverse);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-align:center}.vrow:hover .v{background:var(--accent);color:var(--text-on-accent)}.vrow .vmain{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.vrow .stats{margin-top:0;font-size:var(--fs-sm)}.snip{flex:none;position:relative;display:inline-block;width:14px;height:14px;vertical-align:-2px;color:var(--text-faint)}.snip:before,.snip:after{content:"";position:absolute;inset:3px;border-radius:50%}.snip:before{background:currentColor}.snip.ok{color:var(--success-dot)}.snip.problem{color:var(--warn-dot)}.snip.unseen:before{background:none;box-shadow:inset 0 0 0 1.5px var(--border-strong)}.snip.ok:after,.snip.problem:after{background:currentColor;animation:snip-pulse 2.4s var(--ease-out) infinite}@keyframes snip-pulse{0%{transform:scale(1);opacity:.55}70%,to{transform:scale(2.4);opacity:0}}@media(prefers-reduced-motion:reduce){.snip.ok:after,.snip.problem:after{animation:none;opacity:0}}.vrow>.snip{margin:3px -2px 0 0}.pcard .host .snip{align-self:center}.ver-line{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.snippet-check{padding-top:var(--s-4);border-top:1px solid var(--border-subtle)}.snippet-check>.row{flex-wrap:wrap}.snippet-status{flex:1;min-width:0;display:flex;align-items:flex-start;gap:var(--s-2);font-size:var(--fs-md)}.snippet-status .snip{margin-top:3px}.snippet-status.problem{color:var(--warn-fg)}.sightings{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm)}.sightings li{display:flex;align-items:center;gap:var(--s-2);min-width:0}.sightings li>.muted{flex:none}.check-results{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:var(--fs-sm)}.check-results li{padding:var(--s-2) var(--s-3);border-radius:var(--r-tile);background:var(--bg-surface-2);color:var(--text-secondary);overflow-wrap:anywhere}.check-results li.ok{background:var(--success-bg);color:var(--success-fg)}.check-results li.problem{background:var(--warn-bg);color:var(--warn-fg)}.check-results a{color:inherit;text-decoration:underline}.sightings li>.muted.mono{flex:0 1 auto;min-width:0;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placement{display:flex;flex-direction:column;gap:var(--s-2)}.placement-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);border:1px dashed var(--border-strong);border-radius:var(--r-card);background:var(--bg-surface-2)}.placement .cap{font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.placement .ptitle{font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.01em}.placement .pvers{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.placement .pvers li{display:flex;align-items:center;gap:var(--s-2);min-width:0;color:var(--text-muted)}.placement .pvers li.self{color:var(--text-primary)}.placement .pvers li.self .vbadge{background:var(--accent);color:var(--text-on-accent)}.placement .pvers .truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placement .review-warning{margin-bottom:0}.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--s-6);background:var(--bg-page)}.auth .card{width:420px;max-width:100%;padding:var(--s-8)}.auth h1{font-size:var(--fs-2xl);margin:var(--s-3) 0 6px}.auth form>*+*{margin-top:var(--s-4)}.auth form>.lede{margin-top:0}.divider{display:flex;align-items:center;gap:var(--s-2);color:var(--text-faint);font-size:var(--fs-xs);margin:var(--s-4) 0;text-transform:uppercase;letter-spacing:.08em}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.review-backdrop,.drawer-backdrop{position:fixed;inset:0;z-index:var(--z-drawer);display:flex;justify-content:flex-end;background:var(--overlay);backdrop-filter:blur(2px)}.review-panel,.drawer{width:min(680px,100vw);height:100%;display:flex;flex-direction:column;background:var(--bg-surface);box-shadow:var(--shadow-3)}.drawer.wide{width:min(760px,100vw)}.drawer:focus{outline:none;box-shadow:var(--shadow-3)}.review-head,.review-foot,.drawer-head,.drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5) var(--s-6);border-bottom:1px solid var(--border-default)}.review-foot,.drawer-foot{border-top:1px solid var(--border-default);border-bottom:0}.review-body,.drawer-body{flex:1;min-height:0;overflow:auto;padding:var(--s-6)}.drawer-head h2{min-width:0}.thread-bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-2);padding:var(--s-3) var(--s-6);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface-2)}.thread-bar .spacer{flex:1}.thread-bar .select.status-open{color:var(--accent-text)}.thread-bar .select.status-in_progress{color:var(--info-fg)}.thread-bar .select.status-resolved{color:var(--success-fg)}.thread-foot{display:block}.thread-foot.is-dropping{outline:2px dashed var(--accent);outline-offset:-6px}.thread-shot{display:block;width:100%;padding:0;margin-bottom:var(--s-4);border-radius:var(--r-input);overflow:hidden;border:1px solid var(--border-default);background:var(--bg-surface-2);cursor:zoom-in}.thread-shot img{display:block;width:100%;max-height:260px;object-fit:cover;object-position:top}.thread-context{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--s-3);margin-bottom:var(--s-4);font-size:var(--fs-sm);color:var(--text-muted)}.thread-context a{max-width:100%}.thread-context a:hover{color:var(--accent-text)}.thread-context .resolved{display:inline-flex;align-items:center;gap:3px;color:var(--success-fg)}.msgs{display:flex;flex-direction:column}.msg{display:flex;gap:var(--s-3);padding:var(--s-4) 0;border-top:1px solid var(--border-subtle)}.msg.is-first{border-top:0;padding-top:0}.msg-main{flex:1;min-width:0}.msg-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:4px;font-size:var(--fs-sm);color:var(--text-muted)}.msg-meta b{color:var(--text-primary);font-size:var(--fs-md)}.msg-meta .role{font-size:10px;font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.msg-meta .role.staff{color:var(--accent-text)}.msg-actions{margin-left:auto;display:inline-flex;gap:2px;opacity:0;transition:opacity var(--dur-fast)}.msg:hover .msg-actions,.msg:focus-within .msg-actions{opacity:1}.att-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--s-2)}.att{width:96px;height:96px;padding:0;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--border-default);background:var(--bg-surface-2);cursor:zoom-in}.att img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-fast) var(--ease)}.att:hover img{transform:scale(1.04)}.att.is-loading{background:var(--bg-hover)}.thumbs{display:flex;flex-wrap:wrap;gap:6px}.thumb{position:relative;width:48px;height:48px;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--border-default)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-x{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#18181bcc;color:#fff;display:flex;align-items:center;justify-content:center}.lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--s-6);background:#09090bd9;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;border-radius:var(--r-sm);box-shadow:var(--shadow-3)}.review-warning{margin-bottom:var(--s-4);padding:var(--s-3);border-radius:var(--r-input);background:var(--warn-bg);color:var(--warn-fg);font-size:var(--fs-md)}@media(max-width:720px){.review-head,.review-body,.review-foot,.drawer-head,.drawer-body,.drawer-foot,.thread-bar{padding-left:var(--s-4);padding-right:var(--s-4)}}.person-head{display:flex;align-items:center;gap:var(--s-3);min-width:0}.person-head h2{font-size:var(--fs-lg);display:flex;align-items:center}.person-body>section+section{margin-top:var(--s-6);padding-top:var(--s-6);border-top:1px solid var(--border-subtle)}.site-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.site-list li{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) 0;border-top:1px solid var(--border-subtle)}.site-list li:first-child{border-top:0}.site-list li .grow{flex:1}.site-list li a{display:block;font-weight:var(--fw-semibold)}.site-list li a:hover{color:var(--accent-text)}.linklike{background:none;border:0;padding:0;font:inherit;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.linklike:disabled{opacity:.5;cursor:default}.choice{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-width:0}.choice legend{padding:0;margin-bottom:4px}.choice label{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;font-size:var(--fs-md);cursor:pointer}.choice input{accent-color:var(--text-primary);margin:0;transform:translateY(1px)}.welcome-preview{margin:0;max-height:360px;overflow:auto;padding:var(--s-3);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-surface-2);border:1px solid var(--border-default);border-radius:var(--r-input);font:var(--fs-sm)/1.55 var(--font-mono);color:var(--text-secondary)}.teaser{display:flex;align-items:center;gap:var(--s-3) var(--s-4);flex-wrap:wrap;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--coral-200);font-size:var(--fs-base)}:root[data-theme=dark] .teaser{border-color:#ff6b6b4d}.teaser .muted{color:var(--text-secondary)}.teaser-badge,.nav-new{flex:none;display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:var(--r-pill);background:var(--accent);color:var(--text-on-accent);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:.04em;text-transform:uppercase}.teaser-key{font-weight:var(--fw-bold);color:var(--accent-text);white-space:nowrap}.teaser>.grow{flex:1 1 260px}.teaser-actions{flex:none;margin-left:auto}.nav-new{height:16px;padding:0 6px;margin-left:6px;font-size:9px;vertical-align:1px}.row{display:flex;align-items:center;gap:var(--s-2)}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.tight{gap:var(--s-1)}.grow{flex:1;min-width:0}.mt-8{margin-top:var(--s-2)}.mt-16{margin-top:var(--s-4)}.mb-16{margin-bottom:var(--s-4)}.muted{color:var(--text-muted)}.small{font-size:var(--fs-sm)}.mono{font-family:var(--font-mono)}.tnum{font-variant-numeric:tabular-nums}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
