:root{color-scheme:light;--stone-0: #ffffff;--stone-25: #fbfaf8;--stone-50: #f6f4f0;--stone-100: #eeebe5;--stone-150: #e5e1da;--stone-200: #d8d3c9;--stone-300: #c2bcb0;--stone-400: #9e988b;--stone-500: #7a7468;--stone-600: #5b564c;--stone-700: #423e36;--stone-800: #2b2823;--stone-850: #211e1a;--stone-900: #1a1815;--stone-950: #110f0c;--flare-50: #fdefea;--flare-100: #fbddd2;--flare-200: #f7bba6;--flare-300: #f39b82;--flare-400: #ee7657;--flare-500: #e85d3c;--flare-600: #cf4a2c;--flare-700: #a93a22;--go-50: #e7f4ed;--go-300: #5fb985;--go-400: #2e9d63;--go-500: #1b8a53;--go-600: #137044;--go-700: #0e5634;--amber-50: #fbf1df;--amber-300: #e9b662;--amber-500: #d9912b;--amber-600: #b6741a;--slate-100: #e7e6e3;--slate-300: #bdbbb5;--slate-400: #97948d;--slate-500: #79766e;--slate-600: #5e5c55;--danger-50: #fcedec;--danger-300: #e89c97;--danger-500: #c8392e;--danger-600: #a52a22;--identity-clay: #c8633f;--identity-teal: #2f8c84;--identity-plum: #8a5a86;--identity-ochre: #c29327;--identity-sage: #6e8f5a;--identity-denim: #4a6d9c;--identity-rose: #c45d7c;--identity-rust: #a8533a;--identity-pine: #3c7a63;--identity-slate: #6b6f7a;--font-sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 11px;--radius-xl: 16px;--radius-2xl: 22px;--radius-pill: 999px;--control-sm: 28px;--control-md: 34px;--sidebar-w: 340px;--topbar-h: 52px;--pin-size: 26px;--pin-size-sm: 20px;--pin-ring: #ffffff;--pin-ring-width: 2.5px;--pin-halo: rgba(0, 0, 0, .18);--shadow-color: 30 25% 12%;--shadow-xs: 0 1px 2px hsl(var(--shadow-color) / .06);--shadow-sm: 0 1px 2px hsl(var(--shadow-color) / .06), 0 2px 6px hsl(var(--shadow-color) / .06);--shadow-md: 0 2px 4px hsl(var(--shadow-color) / .06), 0 6px 16px hsl(var(--shadow-color) / .1);--shadow-lg: 0 4px 8px hsl(var(--shadow-color) / .07), 0 12px 32px hsl(var(--shadow-color) / .13);--shadow-xl: 0 8px 16px hsl(var(--shadow-color) / .08), 0 24px 56px hsl(var(--shadow-color) / .18);--pin-shadow: 0 0 0 var(--pin-ring-width) var(--pin-ring), 0 2px 5px var(--pin-halo), 0 0 0 4.5px var(--pin-halo);--duration-fast: .12s;--duration-base: .18s;--duration-slow: .26s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--bg-canvas: var(--stone-25);--bg-surface: var(--stone-0);--bg-subtle: var(--stone-50);--bg-sunken: var(--stone-100);--bg-inset: var(--stone-150);--border-subtle: var(--stone-150);--border-default: var(--stone-200);--border-strong: var(--stone-300);--text-primary: var(--stone-900);--text-secondary: var(--stone-600);--text-tertiary: var(--stone-500);--text-disabled: var(--stone-400);--text-on-accent: #ffffff;--text-link: var(--flare-600);--accent: var(--flare-500);--accent-hover: var(--flare-600);--accent-press: var(--flare-700);--accent-subtle: var(--flare-50);--accent-border: var(--flare-200);--accent-text: var(--flare-700);--focus-ring: color-mix(in oklch, var(--flare-500) 55%, transparent);--status-open: var(--flare-500);--status-open-fg: var(--flare-700);--status-open-bg: var(--flare-50);--status-resolved: var(--go-500);--status-resolved-fg: var(--go-700);--status-resolved-bg: var(--go-50);--status-orphaned: var(--slate-500);--status-orphaned-fg: var(--slate-600);--status-orphaned-bg: var(--slate-100);--status-pending: var(--amber-500);--status-pending-fg: var(--amber-600);--status-pending-bg: var(--amber-50);--selection-bg: var(--flare-100);--selection-fg: var(--stone-900)}[data-theme=dark]{color-scheme:dark;--bg-canvas: var(--stone-950);--bg-surface: var(--stone-900);--bg-subtle: var(--stone-850);--bg-sunken: var(--stone-950);--bg-inset: var(--stone-800);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--text-primary: var(--stone-50);--text-secondary: var(--stone-300);--text-tertiary: var(--stone-400);--text-disabled: var(--stone-600);--text-link: var(--flare-300);--accent: var(--flare-500);--accent-hover: var(--flare-400);--accent-press: var(--flare-600);--accent-subtle: color-mix(in oklch, var(--flare-500) 16%, var(--stone-900));--accent-border: color-mix(in oklch, var(--flare-500) 38%, transparent);--accent-text: var(--flare-300);--focus-ring: color-mix(in oklch, var(--flare-400) 60%, transparent);--status-open: var(--flare-400);--status-open-fg: var(--flare-300);--status-open-bg: color-mix(in oklch, var(--flare-500) 18%, var(--stone-900));--status-resolved: var(--go-400);--status-resolved-fg: var(--go-300);--status-resolved-bg: color-mix(in oklch, var(--go-500) 20%, var(--stone-900));--status-orphaned: var(--slate-400);--status-orphaned-fg: var(--slate-300);--status-orphaned-bg: color-mix(in oklch, var(--slate-500) 22%, var(--stone-900));--status-pending: var(--amber-500);--status-pending-fg: var(--amber-300);--status-pending-bg: color-mix(in oklch, var(--amber-500) 20%, var(--stone-900));--pin-halo: rgba(0, 0, 0, .45);--shadow-color: 0 0% 0%;--shadow-sm: 0 1px 2px hsl(var(--shadow-color) / .3), 0 2px 6px hsl(var(--shadow-color) / .24);--shadow-md: 0 2px 4px hsl(var(--shadow-color) / .3), 0 6px 16px hsl(var(--shadow-color) / .34);--shadow-lg: 0 4px 8px hsl(var(--shadow-color) / .34), 0 12px 32px hsl(var(--shadow-color) / .46);--shadow-xl: 0 8px 16px hsl(var(--shadow-color) / .4), 0 24px 56px hsl(var(--shadow-color) / .55);--selection-bg: color-mix(in oklch, var(--flare-500) 40%, transparent);--selection-fg: var(--stone-25)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01"}#app{height:100%}::selection{background:var(--selection-bg);color:var(--selection-fg)}h1,h2,h3,p{margin:0 0 8px}h1{font-size:20px;font-weight:700;letter-spacing:-.015em}h2{font-size:15px;font-weight:700;letter-spacing:-.01em}h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary)}code,kbd{font-family:var(--font-mono);font-size:.9em;letter-spacing:-.01em;font-feature-settings:"zero";background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 4px}.muted{color:var(--text-tertiary)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring);border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0ms!important;transition-duration:0ms!important}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-sm);padding:0 12px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);font:inherit;font-size:13px;font-weight:600;line-height:1;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.btn:hover:not(:disabled){background:var(--bg-subtle);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:scale(.99)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:4px 10px;font-size:12px}.btn-wide{width:100%}.btn-primary{background:var(--accent);border-color:transparent;color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:transparent}.btn-primary:active:not(:disabled){background:var(--accent-press)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-subtle);border-color:transparent;color:var(--text-primary)}.btn-danger{color:var(--danger-500);border-color:color-mix(in srgb,var(--danger-500) 40%,transparent)}.btn-danger:hover:not(:disabled){background:var(--danger-50);border-color:var(--danger-300)}[data-theme=dark] .btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger-500) 14%,transparent)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.icon-btn:hover{background:var(--bg-subtle);color:var(--text-primary)}.icon-danger:hover{color:var(--danger-500)}input,select,textarea{font:inherit;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:6px 10px;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}textarea{width:100%;resize:vertical}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}label{font-size:13px;font-weight:500;color:var(--text-secondary)}.chk{display:inline-flex;align-items:center;gap:5px;cursor:pointer;font-size:12px}input[type=checkbox]{accent-color:var(--accent)}.form-error{color:var(--danger-600);font-size:12px}[data-theme=dark] .form-error{color:var(--danger-300)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;line-height:1;padding:4px 8px;border-radius:var(--radius-pill);background:var(--bg-subtle);color:var(--text-secondary);white-space:nowrap}.badge-warn{background:var(--status-pending-bg);color:var(--status-pending-fg)}.badge-ok{background:var(--status-resolved-bg);color:var(--status-resolved-fg)}.status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;line-height:1;padding:4px 9px 4px 8px;border-radius:var(--radius-pill);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;flex:none}.status--open{background:var(--status-open-bg);color:var(--status-open-fg)}.status--open .status-dot{background:var(--status-open)}.status--resolved{background:var(--status-resolved-bg);color:var(--status-resolved-fg)}.status--resolved .status-dot{background:var(--status-resolved)}.status--orphaned{background:var(--status-orphaned-bg);color:var(--status-orphaned-fg)}.status--orphaned .status-dot{background:transparent;border:1.5px dashed var(--status-orphaned)}.status--pending{background:var(--status-pending-bg);color:var(--status-pending-fg)}.status--pending .status-dot{background:var(--status-pending);animation:status-pulse 1.4s var(--ease-standard) infinite}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.4}}.spinner{display:inline-block;width:13px;height:13px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.flag{--flag-size: 26px;--flag-bg: var(--identity-slate);width:calc(var(--flag-size) * 1.25);height:var(--flag-size);flex:none;padding-right:calc(var(--flag-size) * .25);display:inline-flex;align-items:center;justify-content:center;background:var(--flag-bg);color:#fff;font-size:calc(var(--flag-size) * .44);font-weight:700;line-height:1;-webkit-user-select:none;user-select:none;border-radius:calc(var(--flag-size) * .21);clip-path:polygon(0 0,100% 0,84% 50%,100% 100%,0 100%)}.flag--emoji{font-weight:400;font-size:calc(var(--flag-size) * .56)}.flag--ring{box-shadow:0 0 0 2px var(--bg-surface)}.flag--you{box-shadow:0 0 0 2px var(--bg-surface),0 0 0 4px var(--accent)}.pin{width:var(--pin-size-sm);height:var(--pin-size-sm);flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--status-open);color:#fff;font-size:10px;font-weight:700;line-height:1;box-shadow:0 0 0 2px var(--pin-ring),0 1px 3px var(--pin-halo),0 0 0 3.5px var(--pin-halo)}.pin--resolved{background:var(--status-resolved)}.pin--orphaned{background:color-mix(in srgb,var(--status-orphaned) 55%,transparent);box-shadow:0 1px 3px var(--pin-halo),0 0 0 3.5px var(--pin-halo);border:1.5px dashed var(--pin-ring)}.pin--page{background:var(--stone-500)}.screen{height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.screen-card{max-width:440px;text-align:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:32px}.screen-card .btn{margin-top:8px}.viewer{height:100%;display:flex;flex-direction:column}.topbar{height:var(--topbar-h);flex:0 0 var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 14px;background:var(--bg-surface);border-bottom:1px solid var(--border-default)}.brand{display:inline-flex;align-items:center;background:none;border:none;color:var(--text-primary);font:inherit;font-weight:700;font-size:13.5px;letter-spacing:-.01em;cursor:pointer;padding:4px}.brand-mark{width:15px;height:19px;flex:none;margin-right:7px}.brand-gg{color:var(--accent)}.topbar-title{font-size:13.5px;font-weight:700;letter-spacing:-.01em;margin:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-spacer{flex:1}.ws-status{font-size:11px;color:var(--status-pending-fg)}.counter{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;white-space:nowrap}.counter-open{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary)}.counter-open .status-dot{background:var(--status-open)}.counter-resolved{color:var(--text-tertiary)}.counter-gg{font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--status-resolved)}.counter-gg-dot{color:var(--accent)}.seg{display:inline-flex;background:var(--bg-subtle);border-radius:9px;padding:3px;gap:2px}.seg-btn{background:transparent;border:none;border-radius:6px;color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:600;line-height:1;padding:6px 11px;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.seg-mode{position:relative;border:1px solid var(--border-subtle)}.coachmark{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);z-index:40;width:264px;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:dialog-in var(--duration-base) var(--ease-out)}.coachmark:before{content:"";position:absolute;top:-5px;left:50%;width:9px;height:9px;transform:translate(-50%) rotate(45deg);background:var(--bg-surface);border-top:1px solid var(--border-strong);border-left:1px solid var(--border-strong)}.coachmark p{margin:0 0 10px;font-size:13px;line-height:1.45;color:var(--text-primary)}.seg-mode .seg-btn{display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:8px 14px}.seg-mode .seg-btn.on{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-xs)}.seg-mode .seg-btn.mode-comment:not(:disabled):not(.on){color:var(--accent)}.seg-mode .seg-btn.mode-comment.on{background:var(--accent);color:#fff}.seg-mode-nudge .seg-btn.mode-comment{animation:mode-nudge 2.2s var(--ease-standard) 3}@keyframes mode-nudge{0%,to{box-shadow:0 0 #e85d3c00}50%{box-shadow:0 0 0 6px #e85d3c47}}.seg-btn:hover:not(:disabled){color:var(--text-primary)}.seg-btn.on{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-xs)}.seg-btn:disabled{opacity:.4;cursor:not-allowed}.presence{display:flex;margin-right:2px}.presence .flag{margin-left:-7px}.presence .flag:first-child{margin-left:0}.presence-more{width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;margin-left:-4px;background:var(--bg-inset);color:var(--text-secondary);font-size:10px;font-weight:700}.menu-wrap{position:relative}.menu-pop{position:absolute;top:calc(100% + 6px);z-index:60;min-width:230px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:4px;animation:pop-in var(--duration-fast) var(--ease-out)}@keyframes pop-in{0%{opacity:0;transform:translateY(-3px)}}.menu-right{right:0}.menu-left{left:0}.menu-list{display:flex;flex-direction:column}.menu-item,.menu-static{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);font:inherit;font-size:13px;padding:7px 9px;border-radius:var(--radius-sm);text-decoration:none}.menu-item{cursor:pointer}.menu-item:hover:not(:disabled){background:var(--bg-subtle)}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item>.muted{margin-left:auto;font-size:11px}.menu-danger{color:var(--danger-500)}.menu-sep{height:1px;background:var(--border-subtle);margin:4px 2px}.viewer-body{flex:1;display:flex;min-height:0}.stage{flex:1;overflow:auto;padding:16px;display:flex;justify-content:center;align-items:flex-start;background:var(--bg-canvas)}.device-frame{max-width:100%;height:100%;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;padding:6px;box-shadow:var(--shadow-lg);flex-shrink:0}.device-frame.w-375,.device-frame.w-768{border-radius:18px}.minimap{align-self:stretch;flex-shrink:0;width:16px;margin-left:6px;padding:6px 0}.minimap-track{position:relative;height:100%;border-radius:8px;background:color-mix(in srgb,#fff 5%,transparent);border:1px solid var(--border-subtle);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none}.minimap-view{position:absolute;left:1px;right:1px;border-radius:6px;background:color-mix(in srgb,#fff 9%,transparent);border:1px solid color-mix(in srgb,#fff 28%,transparent);pointer-events:none;cursor:grab;transition:top 80ms linear,height 80ms linear,background var(--duration-fast) var(--ease-standard)}.minimap-track:hover .minimap-view{background:color-mix(in srgb,#fff 16%,transparent);border-color:color-mix(in srgb,#fff 40%,transparent)}.minimap-track.mm-dragging{cursor:grabbing}.minimap-track.mm-dragging .minimap-view{transition:none;background:color-mix(in srgb,#fff 22%,transparent);border-color:color-mix(in srgb,#fff 55%,transparent)}.minimap-pin{position:absolute;left:50%;width:10px;height:4px;margin:-2px 0 0 -5px;padding:0;border:none;border-radius:2px;cursor:pointer;box-shadow:0 0 0 1px color-mix(in srgb,#fff 55%,transparent)}.minimap-pin.mp-open{background:var(--accent)}.minimap-pin.mp-resolved{background:var(--status-resolved)}.minimap-pin:hover{transform:scaleX(1.3)}.minimap-pin.mp-selected{height:6px;margin-top:-3px;box-shadow:0 0 0 1.5px #fff,0 0 0 3.5px color-mix(in srgb,#fff 25%,transparent)}.minimap-pin.mp-affixed{width:7px;margin-left:-3.5px;border-radius:3px}.device-frame iframe{width:100%;height:100%;border:none;border-radius:7px;background:#fff}.stage-panel{align-self:center;text-align:center;padding:40px}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);display:flex;flex-direction:column;background:var(--bg-surface);border-left:1px solid var(--border-default);min-height:0}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-subtle)}.tab-btn{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:600;padding:10px 0;cursor:pointer;transition:color var(--duration-fast) var(--ease-standard)}.tab-btn:hover{color:var(--text-primary)}.tab-btn.on{color:var(--text-primary);border-bottom-color:var(--accent)}.sidebar-body{flex:1;min-height:0;display:flex}.tab-pane{flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:12px;gap:10px}.counts{font-size:12.5px;font-weight:600;color:var(--text-secondary)}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filters select{font-size:12px;padding:4px 6px}.list-empty{text-align:center;padding:32px 16px}.gg-block{border-radius:var(--radius-lg);background:linear-gradient(160deg,color-mix(in srgb,var(--status-resolved) 14%,transparent),transparent 70%);animation:gg-in .4s var(--ease-spring)}.gg-line{font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--status-resolved)}@keyframes gg-in{0%{opacity:0;transform:scale(.92)}}.thread-list,.punch-groups{display:flex;flex-direction:column;gap:6px}.group-head{display:flex;align-items:center;gap:6px;margin:10px 0 4px}.group-page{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);text-transform:none;letter-spacing:-.01em}.thread-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:10px;font:inherit;color:var(--text-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.thread-item:hover{border-color:var(--border-strong);background:var(--bg-subtle)}.thread-item.is-selected{border-color:var(--accent-border);background:var(--accent-subtle)}.thread-item.is-resolved .t-body{color:var(--text-tertiary)}.thread-item .pin{margin-top:1px;margin-left:2px}.t-main{min-width:0;display:flex;flex-direction:column;gap:4px}.t-body{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.t-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}.t-author{font-weight:600}.t-page{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);letter-spacing:-.01em}.detail-head{display:flex;align-items:center;gap:8px}.detail-head .btn:last-child{margin-left:auto}.page-chip{font-size:11px;font-family:var(--font-mono);letter-spacing:-.01em;color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--radius-pill);padding:3px 9px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.orphan-panel{border:1px dashed var(--status-orphaned);background:var(--status-orphaned-bg);border-radius:var(--radius-lg);padding:10px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.orphan-shot{max-width:100%;border-radius:var(--radius-sm);border:1px solid var(--border-default)}.messages{display:flex;flex-direction:column;gap:12px}.msg-head{display:flex;align-items:center;gap:7px;font-size:11px}.msg-author{font-weight:700;font-size:12px;color:var(--text-primary)}.msg-actions{margin-left:auto;display:none;gap:2px}.msg:hover .msg-actions{display:inline-flex}.msg-body{margin-top:3px;word-wrap:break-word}.msg-deleted{font-style:italic}.msg-edit{margin-top:4px}.md a{color:var(--text-link)}.typing{font-size:11px;font-style:italic}.readonly-note{font-size:11px}.reply-box,.composer{display:flex;flex-direction:column;gap:6px}.reply-box{margin-top:auto;padding-top:10px;border-top:1px solid var(--border-subtle)}.composer-target{display:flex;align-items:center;gap:6px;font-size:12px;background:var(--accent-subtle);border:1px solid var(--accent-border);border-radius:var(--radius-lg);padding:9px}.composer-target svg{color:var(--accent);flex:none}.composer-target q{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-actions{display:flex;align-items:center;gap:8px}.hint{font-size:11px;margin-left:auto}kbd{font-size:11px;padding:1px 5px}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#110f0c8c;display:flex;align-items:center;justify-content:center;z-index:80;padding:24px;animation:fade-in var(--duration-fast) var(--ease-out)}@keyframes fade-in{0%{opacity:0}}.dialog{width:520px;max-width:100%;max-height:85vh;overflow-y:auto;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:20px;animation:dialog-in var(--duration-base) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)}}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dialog-head h2{font-size:17px;letter-spacing:-.015em;margin:0}.dialog h3{margin-top:18px}.dialog-empty{font-size:12px}.invite-form{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.invite-form .btn{grid-column:2;justify-self:start}.invite-email-form label{display:block;margin-bottom:6px}.invite-email-row{display:flex;gap:8px}.invite-email-row input[type=email]{flex:1;min-width:0}.invite-email-form .field-help{margin:6px 0 0}.legacy-links{margin-top:18px}.legacy-links summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-secondary)}.legacy-links summary:hover{color:var(--text-primary)}.legacy-links .link-list{margin-top:8px}.link-list,.people-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.link-row{display:flex;align-items:center;gap:8px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:9px}.link-info{min-width:0;flex:1;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.link-expiry{flex-basis:100%;font-size:11px;color:var(--text-tertiary)}.link-expiry.is-expired{color:var(--status-pending-fg)}.link-label{font-weight:600;white-space:nowrap}.link-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary);background:none;border:none;padding:0}.link-actions{display:flex;gap:6px}.person-row{display:flex;align-items:center;gap:8px;padding:4px 2px}.copy-block{display:block;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:9px;font-size:11px;white-space:pre-wrap;word-break:break-all;-webkit-user-select:all;user-select:all}.token-fresh{margin-top:12px;display:flex;flex-direction:column;gap:6px}.token-fresh-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.token-warn{font-size:11px;color:var(--status-pending-fg)}.cmd-copy{margin-top:8px}.toast-host{position:fixed;bottom:18px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:100}.toast{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:10px 14px 10px 16px;box-shadow:var(--shadow-lg);animation:toast-in var(--duration-base) var(--ease-out)}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-action{background:none;border:none;color:var(--accent-text);font:inherit;font-size:12px;font-weight:600;cursor:pointer;padding:0}.toast-action:hover{text-decoration:underline}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:90}.confetti i{position:absolute;top:-16px;width:8px;height:12px;border-radius:2px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(540deg);opacity:.6}}.home{min-height:100%;display:flex;flex-direction:column}.home-head{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--border-subtle);background:var(--bg-surface)}.home-main{width:100%;max-width:860px;margin:0 auto;padding:32px 20px 60px}.home-main h2{font-size:20px;letter-spacing:-.015em}.home-tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-subtle);margin-bottom:20px}.home-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:8px 12px 10px;font:inherit;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text-secondary);cursor:pointer}.home-tab:hover{color:var(--text-primary)}.home-tab.on{color:var(--text-primary);border-bottom-color:var(--accent)}.teach-card{display:flex;align-items:center;gap:14px;margin-top:22px;padding:14px 16px;background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.teach-card .teach-copy{flex:1;font-size:13.5px;color:var(--text-secondary)}.hero{margin:auto;max-width:560px;text-align:center;padding:60px 20px}.hero-mark{width:44px;height:55px;margin-bottom:16px}.wordmark{font-size:42px;font-weight:800;letter-spacing:-.025em;margin-bottom:12px}.wordmark-sm{display:inline-flex;align-items:center;font-size:15px;font-weight:700;letter-spacing:-.01em;margin-bottom:0}.wordmark-sm .brand-mark{width:14px;height:18px}.tagline{font-size:17px;line-height:1.5}.tagline-sub{margin-bottom:28px}.auth-notice{margin-bottom:16px}.auth-card{max-width:420px;margin:0 auto;padding:20px;text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.auth-card .auth-title{margin:0 0 14px;font-size:16px;font-weight:700;letter-spacing:-.01em}.auth-card .magic-sent{border:none;box-shadow:none;padding:0}.auth-alt{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;font-size:14px}.auth-alt .btn{text-decoration:none}.no-pw{max-width:420px;margin:18px auto 0;font-size:13px;color:var(--text-secondary)}.no-pw summary{cursor:pointer;width:fit-content;margin:0 auto;color:var(--text-secondary)}.no-pw summary:hover{color:var(--text-primary)}.no-pw p{margin:8px 0 0;text-align:left;line-height:1.55}.auth-footer{display:flex;justify-content:center;gap:16px;margin-top:40px;font-size:12px;color:var(--text-tertiary)}.auth-footer a{color:var(--text-tertiary);text-decoration:none}.auth-footer a:hover{color:var(--text-secondary);text-decoration:underline}.signin-google{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.btn-google{height:var(--control-md);font-size:14px;gap:10px;text-decoration:none}.signin-divider{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:12px}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.magic-form{display:flex;flex-direction:column;gap:6px;align-items:stretch;text-align:left}.magic-row{display:flex;gap:8px}.magic-row input{flex:1}.magic-row .btn{height:auto}.turnstile-slot{height:0;overflow:hidden}.turnstile-note{margin:8px 0 0;font-size:11.5px;color:var(--text-tertiary)}.turnstile-note a{color:var(--text-tertiary);text-decoration:underline}.turnstile-note a:hover{color:var(--text-secondary)}.magic-sent{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:18px}.dev-link{color:var(--text-link)}.share-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:12px 0 36px}.share-card{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:14px;font:inherit;color:var(--text-primary);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.share-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.share-title{font-weight:700;font-size:14.5px;letter-spacing:-.01em}.share-origin{font-family:var(--font-mono);font-size:11.5px;letter-spacing:-.01em}.share-meta{display:flex;align-items:center;gap:8px;font-size:11px}.empty-line{margin:12px 0 30px}.new-share{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);padding:18px;display:flex;flex-direction:column;gap:12px;max-width:560px}.new-share-grid{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center}.new-share .btn{align-self:start}.field-help{grid-column:2;font-size:11px;margin-top:-6px}.grid-label{align-self:start;padding-top:8px}.mode-pick{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-option{position:relative;display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.mode-option:hover{border-color:var(--border-strong)}.mode-option.mode-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--bg-surface))}.mode-option input{position:absolute;opacity:0;pointer-events:none}.mode-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.mode-title{font-size:13px;font-weight:600}.mode-sub{font-size:11px}@media(max-width:520px){.mode-pick{grid-template-columns:1fr}}.claim-screen{background:radial-gradient(120% 70% at 50% -10%,var(--stone-50),var(--bg-canvas) 60%)}.invite-switch{font-size:12.5px;line-height:1.5;color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px 10px;margin:0 0 14px}.claim-card{max-width:480px;width:100%;text-align:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:32px}.claim-card h1{font-size:26px;font-weight:800;letter-spacing:-.025em}.claim-preview{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--bg-subtle);border-radius:var(--radius-xl);padding:18px 12px;margin:16px 0 4px}.claim-preview-tag{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.claim-form{display:flex;flex-direction:column;gap:6px;text-align:left;margin-top:12px}.claim-foot{margin-top:14px;font-size:12px;color:var(--text-tertiary)}.claim-brand{display:inline-flex;align-items:center;margin-top:18px;font-size:13px;font-weight:700;color:var(--text-secondary)}.claim-brand .brand-mark{width:13px;height:16px}@media(max-width:1280px){:root{--sidebar-w: 320px}.topbar-title{max-width:140px}.seg-btn{padding:6px 8px}}.status--will_fix{background:var(--status-pending-bg);color:var(--status-pending-fg)}.status--will_fix .status-dot{background:var(--status-pending)}.status--fixed{background:var(--status-resolved-bg);color:var(--status-resolved-fg)}.status--fixed .status-dot{background:var(--status-resolved)}.status--wont_fix{background:var(--status-orphaned-bg);color:var(--status-orphaned-fg)}.status--wont_fix .status-dot{background:var(--status-orphaned)}.waiting-on{font-size:13px;font-weight:600;padding:5px 12px;border-radius:var(--radius-pill);background:var(--status-open-bg);color:var(--status-open-fg);white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.waiting-on-closed{background:var(--status-resolved-bg);color:var(--status-resolved-fg)}button.waiting-on-action{border:1px dashed var(--status-open);cursor:pointer;font:inherit;font-size:13px;font-weight:600}button.waiting-on-action:hover{background:var(--status-open);color:var(--stone-0)}.btn-gg{font-weight:800;letter-spacing:.04em;background:var(--status-resolved);border-color:var(--status-resolved);color:var(--stone-0)}.btn-gg:hover{background:var(--go-600);border-color:var(--go-600)}.decide-group{display:inline-flex;gap:6px;margin-left:auto}.btn-decide.on-willfix{background:var(--status-pending-bg);border-color:var(--status-pending);color:var(--status-pending-fg)}.btn-decide.on-wontfix{background:var(--status-orphaned-bg);border-color:var(--status-orphaned);color:var(--status-orphaned-fg)}.btn-decide.on-fixed{background:var(--status-resolved-bg);border-color:var(--status-resolved);color:var(--status-resolved-fg)}.review-bar{display:flex;flex-direction:column;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-subtle)}.review-mine{display:flex;align-items:center;gap:10px}.review-coverage{font-variant-numeric:tabular-nums}.review-done-mark{color:var(--status-resolved-fg);font-weight:600;font-size:13px}.review-checklist{display:flex;flex-wrap:wrap;gap:6px}.checklist-chip{font-size:12px;padding:3px 9px;border-radius:var(--radius-pill);background:var(--status-orphaned-bg);color:var(--status-orphaned-fg);white-space:nowrap}.checklist-reviewing{background:var(--status-pending-bg);color:var(--status-pending-fg)}.checklist-done{background:var(--status-resolved-bg);color:var(--status-resolved-fg)}.punch-verify{border:1px solid var(--status-pending);border-radius:var(--radius-md);padding:6px}.punch-verify .group-page{color:var(--status-pending-fg)}.dialog.closeout{max-width:480px}.closeout-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.closeout-head h2{margin:0}.closeout-card{border:1px solid var(--border-subtle);border-radius:10px;padding:14px;margin-bottom:14px}.closeout-page{margin:0 0 6px;font-size:12px}.closeout-body{margin:0;white-space:pre-wrap}.closeout-actions{display:flex;gap:8px;margin-bottom:10px}.closeout-actions .btn{flex:1}.closeout-foot{display:flex;justify-content:space-between}.closeout-finish{display:flex;align-items:center;gap:10px;padding:18px 6px}
