@font-face{font-family:UIFont;src:url(./gilroy-regular-gZx_7pdO.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:UIFont;src:url(./gilroy-medium-BbGT42By.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:UIFont;src:url(./gilroy-semibold-C6dMyk6O.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:UIFont;src:url(./gilroy-bold-XUGFDIlK.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}:root,[data-theme=dark]{--bg: #0e1014;--bg-panel: #14171d;--bg-raised: #1a1e26;--bg-input: #0b0d11;--bg-hover: #232833;--border: #262b35;--border-soft: #1e222a;--border-hover: #333a48;--border-strong: #3a4356;--text: #e6e9ef;--text-dim: #8b93a7;--text-faint: #5d6577;--accent: #5ac8fa;--good: #4ade80;--warn: #ffb020;--bad: #ff6b6b;--purple: #c98bff;--logo: #ffffff;--primary: #1d4ed8;--primary-hover: #2563eb;--primary-text: #fff;--brand: #22c55e;--brand-hover: #4ade80;--brand-text: #04150a;--chart-bar: #2f6fd8;--fill-bad: #7f1d1d;--fill-warn: #78350f;--fill-text: #fff;--overlay: rgba(0, 0, 0, .65);--shadow: rgba(0, 0, 0, .5);--scroll-thumb: #2a3040;--scroll-thumb-hover: #394154;--banner-from: #1d2735;--banner-to: #10151d;--banner-brightness: .85}[data-theme=light]{--bg: #f4f6fa;--bg-panel: #ffffff;--bg-raised: #f1f4f9;--bg-input: #ffffff;--bg-hover: #e6ebf3;--border: #d5dbe6;--border-soft: #e6eaf2;--border-hover: #b9c2d2;--border-strong: #a9b4c6;--text: #1a1f2b;--text-dim: #545d70;--text-faint: #6f7889;--accent: #0b78c4;--good: #15803d;--warn: #b45309;--bad: #dc2626;--purple: #7c3aed;--primary: #1d4ed8;--primary-hover: #1e40af;--primary-text: #fff;--brand: #16a34a;--brand-hover: #15803d;--brand-text: #fff;--chart-bar: #2f6fd8;--fill-bad: #b91c1c;--fill-warn: #a16207;--fill-text: #fff;--overlay: rgba(15, 20, 30, .45);--shadow: rgba(15, 23, 42, .16);--scroll-thumb: #c3cbd9;--scroll-thumb-hover: #a9b4c6;--banner-from: #dde4ee;--banner-to: #c5d0e0;--banner-brightness: 1.05}[data-theme=retro]{--bg: #fbf1de;--bg-panel: #fffaef;--bg-raised: #f8ead2;--bg-input: #fffdf7;--bg-hover: #f2dfba;--border: #ddc49a;--border-soft: #ecdcbd;--border-hover: #c9a76f;--border-strong: #b08d55;--text: #3a291d;--text-dim: #77593f;--text-faint: #94765a;--accent: #0e8388;--good: #3f8f4f;--warn: #b56a12;--bad: #c1352b;--purple: #7d3c98;--primary: #7d3c98;--primary-hover: #682f80;--primary-text: #fff6ff;--brand: #e0651a;--brand-hover: #c4530e;--brand-text: #fff8ec;--chart-bar: #0e8388;--fill-bad: #8c2018;--fill-warn: #8a5a12;--fill-text: #fff8ec;--overlay: rgba(59, 42, 30, .5);--shadow: rgba(90, 62, 38, .22);--scroll-thumb: #d8bd93;--scroll-thumb-hover: #c0a274;--banner-from: #f3d9a8;--banner-to: #dfb573;--banner-brightness: 1.05}[data-theme=synth]{--bg: #120c1f;--bg-panel: #1a1030;--bg-raised: #23163d;--bg-input: #0d0817;--bg-hover: #301d52;--border: #3b2566;--border-soft: #2a1a48;--border-hover: #55368f;--border-strong: #7048b8;--text: #f0e6ff;--text-dim: #a893cc;--text-faint: #8071a8;--accent: #22d3ee;--good: #4ade80;--warn: #fbbf24;--bad: #fb4570;--purple: #d18aff;--primary: #d926a9;--primary-hover: #ec4bc0;--primary-text: #fff0fb;--brand: #00e5c0;--brand-hover: #4dffdc;--brand-text: #06201c;--chart-bar: #a855f7;--fill-bad: #6b0f34;--fill-warn: #5c3d05;--fill-text: #fff;--overlay: rgba(10, 4, 20, .74);--shadow: rgba(60, 10, 90, .55);--scroll-thumb: #3f2769;--scroll-thumb-hover: #5b3a95;--banner-from: #3a1b5c;--banner-to: #14091f;--banner-brightness: .9}[data-theme=terminal]{--bg: #000000;--bg-panel: #050a05;--bg-raised: #0a140a;--bg-input: #000300;--bg-hover: #12240f;--border: #1d3a1a;--border-soft: #142a12;--border-hover: #2d5c28;--border-strong: #3f8038;--text: #b9f6b0;--text-dim: #6fb567;--text-faint: #4d8446;--accent: #39ff14;--good: #00e676;--warn: #ffcc00;--bad: #ff5252;--purple: #b48cff;--primary: #1f7a18;--primary-hover: #2aa320;--primary-text: #eaffe6;--brand: #39ff14;--brand-hover: #7dff5c;--brand-text: #041a02;--chart-bar: #2fbf22;--fill-bad: #5c0f0f;--fill-warn: #4d3d00;--fill-text: #eaffe6;--overlay: rgba(0, 0, 0, .82);--shadow: rgba(0, 30, 0, .7);--scroll-thumb: #1d3a1a;--scroll-thumb-hover: #2d5c28;--banner-from: #0d2a0b;--banner-to: #000200;--banner-brightness: .7}[data-theme=nord]{--bg: #2e3440;--bg-panel: #3b4252;--bg-raised: #434c5e;--bg-input: #292e39;--bg-hover: #4c566a;--border: #4c566a;--border-soft: #434c5e;--border-hover: #5e6c82;--border-strong: #78849b;--text: #eceff4;--text-dim: #b5bfd0;--text-faint: #97a3b8;--accent: #88c0d0;--good: #a3be8c;--warn: #ebcb8b;--bad: #bf616a;--purple: #b48ead;--primary: #5e81ac;--primary-hover: #6f95c2;--primary-text: #eceff4;--brand: #a3be8c;--brand-hover: #b7cfa2;--brand-text: #232a1a;--chart-bar: #81a1c1;--fill-bad: #6b2f35;--fill-warn: #6b5424;--fill-text: #eceff4;--overlay: rgba(23, 27, 34, .62);--shadow: rgba(20, 24, 30, .5);--scroll-thumb: #4c566a;--scroll-thumb-hover: #5e6c82;--banner-from: #4c566a;--banner-to: #2e3440;--banner-brightness: .95}[data-theme=paper]{--bg: #f7f7f5;--bg-panel: #ffffff;--bg-raised: #f1f1ee;--bg-input: #ffffff;--bg-hover: #e6e6e1;--border: #d6d6d0;--border-soft: #e6e6e1;--border-hover: #b9b9b1;--border-strong: #9c9c94;--text: #16181d;--text-dim: #52565f;--text-faint: #6c7078;--accent: #1f4e9c;--good: #1c7c46;--warn: #8f5400;--bad: #b3261e;--purple: #6b3fa0;--primary: #16181d;--primary-hover: #34383f;--primary-text: #ffffff;--brand: #b3261e;--brand-hover: #931e18;--brand-text: #ffffff;--chart-bar: #1f4e9c;--fill-bad: #b3261e;--fill-warn: #8f5400;--fill-text: #ffffff;--overlay: rgba(22, 24, 29, .42);--shadow: rgba(22, 24, 29, .14);--scroll-thumb: #c9c9c2;--scroll-thumb-hover: #ababa3;--banner-from: #e4e4de;--banner-to: #cdcdc6;--banner-brightness: 1.05}[data-theme=mint]{--bg: #edfbf5;--bg-panel: #ffffff;--bg-raised: #e2f6ee;--bg-input: #ffffff;--bg-hover: #d0efe3;--border: #b7e3d2;--border-soft: #d6f0e6;--border-hover: #8fd3ba;--border-strong: #66bd9d;--text: #10312a;--text-dim: #3f6b60;--text-faint: #5a8377;--accent: #0b6fb5;--good: #0f8a5f;--warn: #a86700;--bad: #cf3b3b;--purple: #7857b5;--primary: #0f8a6c;--primary-hover: #0b6f57;--primary-text: #f0fff9;--brand: #ff6b52;--brand-hover: #e8543c;--brand-text: #ffffff;--chart-bar: #0f8a6c;--fill-bad: #a32a2a;--fill-warn: #8a5600;--fill-text: #ffffff;--overlay: rgba(10, 40, 34, .44);--shadow: rgba(15, 80, 64, .18);--scroll-thumb: #a9dcc8;--scroll-thumb-hover: #85c7ad;--banner-from: #cdeee0;--banner-to: #a9dbc7;--banner-brightness: 1.05}:root{--accent-soft: color-mix(in srgb, var(--accent) 13%, transparent);--accent-line: color-mix(in srgb, var(--accent) 42%, transparent);--good-soft: color-mix(in srgb, var(--good) 13%, transparent);--good-line: color-mix(in srgb, var(--good) 45%, transparent);--warn-soft: color-mix(in srgb, var(--warn) 13%, transparent);--warn-line: color-mix(in srgb, var(--warn) 40%, transparent);--bad-soft: color-mix(in srgb, var(--bad) 13%, transparent);--bad-line: color-mix(in srgb, var(--bad) 48%, transparent);--purple-line: color-mix(in srgb, var(--purple) 42%, transparent);--select-bg: color-mix(in srgb, var(--accent) 11%, var(--bg-panel));--live-bg: color-mix(in srgb, var(--good) 10%, var(--bg-panel));--row-hover: color-mix(in srgb, var(--text) 5%, transparent);--dock-bg: color-mix(in srgb, var(--bg-panel) 97%, transparent);--on-media: #fff;--on-media-scrim: rgba(10, 12, 16, .72);--on-media-line: rgba(255, 255, 255, .3);--on-media-shadow: 0 1px 4px rgba(0, 0, 0, .8);--on-media-good: #4ade80;--on-media-accent: #5ac8fa;--on-media-bad: #ff6b6b;--on-media-dim: #b6bdcc;--on-media-lift: 0 14px 34px rgba(0, 0, 0, .5);--on-media-sheen: rgba(255, 255, 255, .14);--on-media-sheen-soft: rgba(255, 255, 255, .07);--on-media-shade: rgba(0, 0, 0, .35);--media-bg: #000;--status-testing: var(--good);--status-ready_for_testing: var(--accent);--status-approved: var(--good);--status-rejected: var(--bad);--status-archived: var(--text-faint);--sev-blocker: var(--bad);--sev-major: var(--warn);--sev-minor: var(--accent);--sev-note: var(--text-faint);--state-open: var(--accent);--state-fixed: var(--warn);--state-verified: var(--good);--state-not_important: var(--text-faint);--state-approved: var(--brand);--log-lifecycle: var(--accent);--log-milestone: var(--accent);--log-state: color-mix(in srgb, var(--accent) 62%, var(--text));--log-ad: var(--warn);--log-rewarded: var(--purple);--log-event: var(--good);--log-console: var(--text-dim);--log-error: var(--bad);--log-system: var(--text-faint);--radius: 6px;--mono: ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Consolas, monospace;--sans: "UIFont", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}:root{color-scheme:dark}[data-theme=light],[data-theme=retro],[data-theme=paper],[data-theme=mint]{color-scheme:light;--logo: #000000}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px}a{color:var(--accent)}:root{--focus-ring: var(--accent)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,.btn:focus-visible,.role-card:focus-visible,.preset-card:focus-visible,.pcard:focus-visible,.status-tab:focus-visible,.detail-tab:focus-visible,.report-item:focus-visible,.stat-btn:focus-visible,.seg-btn:focus-visible,.link-chip:focus-visible,.session-card:focus-visible,.sh-report:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.row-input:focus-visible,.row-textarea:focus-visible,.hub-search:focus-visible{outline-offset:-1px}.seg-btn:focus-visible,.chat-tab:focus-visible,.theme-btn:focus-visible,.rec-seg-btn:focus-visible{outline-offset:-2px}.btn{padding:5px 10px;font-family:inherit;font-size:12px;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s}.btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary-hover);color:var(--primary-text)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-good{border-color:var(--good-line);color:var(--good)}.btn-warn{border-color:var(--warn-line);color:var(--warn)}.btn-danger{border-color:var(--bad-line);color:var(--bad)}.btn-ghost{background:transparent;color:var(--text-dim)}.btn-ghost:hover:not(:disabled){color:var(--text)}.btn-sm{padding:3px 7px;font-size:11px}.btn-lg{padding:8px 16px;font-size:13px}.btn-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.btn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:5px}.spacer{flex:1}.section{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-raised)}.section-head{display:flex;align-items:center;gap:6px;padding:7px 9px;cursor:pointer;user-select:none;border-bottom:1px solid var(--border-soft)}.section.collapsed .section-head{border-bottom:0}.section-title{font-weight:600;font-size:12px}.section-actions{margin-left:auto;display:flex;gap:4px}.caret{color:var(--text-faint);font-size:10px;transition:transform .15s}.section.collapsed .caret{transform:rotate(-90deg)}.section-body{padding:9px;display:flex;flex-direction:column;gap:8px}.section.collapsed .section-body{display:none}.sub-title{font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px}.hint{color:var(--text-dim);font-size:11px;line-height:1.5}.hint-warn{color:var(--warn)}.hint-bad{color:var(--bad)}.row-input,.row-textarea,select.row-input{padding:5px 8px;font-family:var(--mono);font-size:12px;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:4px}.row-input:focus,.row-textarea:focus{outline:1px solid var(--accent);outline-offset:-1px}.row-textarea{width:100%;font-family:var(--sans);resize:vertical}.field{display:flex;flex-direction:column;gap:4px}.field-label{color:var(--text-dim);font-size:11px}.field-help{display:inline-grid;place-items:center;width:13px;height:13px;margin-left:5px;border-radius:50%;background:var(--border);color:var(--text-dim);font-size:9px;cursor:help}.check-row{display:flex;align-items:center;gap:7px;font-size:12px;cursor:pointer}.check-row input{accent-color:var(--accent)}.seg{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.seg-btn{padding:3px 9px;font-size:11px;font-family:var(--mono);background:var(--bg-input);color:var(--text-dim);border:0;cursor:pointer}.seg-btn.active{background:var(--primary);color:var(--primary-text)}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-raised);font-size:11px;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge-ready{color:var(--accent);border-color:var(--accent-line)}.badge-approved{color:var(--good);border-color:var(--good-line)}.badge-declined{color:var(--bad);border-color:var(--bad-line)}.badge-open{color:var(--warn);border-color:var(--warn-line)}.badge-fixed{color:var(--accent);border-color:var(--accent-line)}.badge-verified{color:var(--good);border-color:var(--good-line)}.badge-cannot_reproduce{color:var(--purple);border-color:var(--purple-line)}.badge-not_important{color:var(--text-faint)}.badge-blocker{color:var(--bad);border-color:var(--bad-line)}.badge-major{color:var(--warn);border-color:var(--warn-line)}.badge-minor{color:var(--text-dim)}.badge-note{color:var(--text-faint)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;border:1px solid currentColor;font-size:11px;font-weight:700;white-space:nowrap}.status-pill .badge-dot{width:6px;height:6px}.status-pill.on-media{padding:3px 11px;font-size:11.5px;background:var(--on-media-scrim);backdrop-filter:blur(4px);--status-testing: var(--on-media-good);--status-ready_for_testing: var(--on-media-accent);--status-approved: var(--on-media-good);--status-rejected: var(--on-media-bad);--status-archived: var(--on-media-dim)}.status-pill.on-media .badge-dot{width:7px;height:7px}.status-testing{color:var(--status-testing)}.status-ready_for_testing{color:var(--status-ready_for_testing)}.status-approved{color:var(--status-approved)}.status-rejected{color:var(--status-rejected)}.status-archived{color:var(--status-archived)}.banner-icon-fallback{display:grid;place-items:center;background:var(--bg-raised);color:var(--text-dim);font-weight:700}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px;text-align:center;color:var(--text-faint);font-size:12px;line-height:1.55;border:1px dashed var(--border);border-radius:12px}.empty h2{margin:0;font-size:16px;font-weight:700;color:var(--text)}.empty p{margin:0;max-width:46ch}.empty-lg{padding:52px 24px;gap:10px;color:var(--text-dim);font-size:13px}.empty-lg h2{font-size:17px}.empty-fill{height:100%;border:0}.report-code{font-family:var(--mono);font-size:11.5px;font-weight:700;color:var(--text);letter-spacing:.4px;flex:0 0 auto}.chip-list{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.link-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:3px 8px;border-radius:999px;border:1px solid var(--border);background:var(--bg-input);color:var(--text);font:inherit;font-size:11px;font-family:var(--mono);cursor:pointer}button.link-chip:hover{border-color:var(--accent)}.link-chip b{color:var(--accent)}.link-chip-title{font-family:var(--sans);color:var(--text-dim);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-chip-verified b{color:var(--good)}.link-chip-not_important b{color:var(--text-faint)}.link-chip.missing{color:var(--text-faint);cursor:default;border-style:dashed}.link-chip-x{background:transparent;border:0;color:var(--text-faint);cursor:pointer;font-size:10px;padding:0}.link-chip-x:hover{color:var(--bad)}.related-field{display:flex;flex-direction:column;gap:6px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;width:100%}.image-thumb{position:relative;margin:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg-input)}.image-thumb img{display:block;width:100%;height:92px;object-fit:cover}.image-thumb figcaption{padding:3px 6px;font-size:10px;color:var(--text-dim);background:var(--bg-input);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:1px solid var(--on-media-line);background:var(--on-media-scrim);color:var(--on-media);font-size:11px;line-height:1;cursor:pointer;display:grid;place-items:center}.image-remove:hover{background:var(--bad)}.build-note{display:flex;flex-direction:column;gap:4px;padding:10px 13px;border-radius:10px;background:var(--accent-soft);border:1px solid var(--accent-line)}.build-note-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--accent)}.build-note-line{display:flex;gap:8px;font-size:12.5px;line-height:1.5}.build-note-tick{color:var(--good);flex:0 0 auto}.build-note-lg{gap:7px;padding:14px 17px;border-radius:12px}.build-note-lg .build-note-label{font-size:10.5px;letter-spacing:.9px}.build-note-lg .build-note-line{font-size:13.5px;line-height:1.55}.capture-note{padding:9px 11px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent-line);font-size:13px;line-height:1.55;white-space:pre-wrap}.capture-note-label{display:block;margin-bottom:3px;font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--accent)}.modal-backdrop{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;z-index:1000;backdrop-filter:blur(2px)}.modal{width:min(680px,92vw);max-height:88vh;display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 60px var(--shadow)}.modal-head{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:15px}.modal-close{margin-left:auto;background:transparent;border:0;color:var(--text-dim);font-size:15px;cursor:pointer}.modal-close:hover{color:var(--text)}.modal-body{padding:14px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:11px}.modal-foot{display:flex;align-items:center;gap:8px;padding:11px 16px;border-top:1px solid var(--border)}.modal-field{display:flex;flex-direction:column;gap:4px}.modal-field .row-input,.modal-field select{width:100%;font-family:var(--sans)}.modal-cols{display:grid;grid-template-columns:1fr 1fr;gap:11px}.modal-status:empty{display:none}.modal-status{padding:9px 11px;border-radius:var(--radius);font-size:12px;line-height:1.55;display:flex;flex-direction:column;gap:8px}.modal-status.is-warn{background:var(--warn-soft);border:1px solid var(--warn-line)}.modal-status.is-bad{background:var(--bad-soft);border:1px solid var(--bad-line)}.modal-status.is-good{background:var(--good-soft);border:1px solid var(--good-line)}.modal-status code{font-family:var(--mono);font-size:11px;color:var(--warn)}.app-head{display:flex;align-items:center;gap:14px;padding:9px 20px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex:0 0 auto}.app-home{display:flex;align-items:center;gap:10px;flex:0 0 auto;padding:3px 6px;margin-left:-6px;border-radius:8px;text-decoration:none;color:inherit}.app-home:hover{background:var(--bg-hover)}.app-home:hover .app-logo{opacity:.85}.app-home:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-logo{flex:0 0 auto;height:30px;aspect-ratio:39 / 41;background-color:var(--logo, #fff);-webkit-mask:var(--logo-src) center / contain no-repeat;mask:var(--logo-src) center / contain no-repeat}.app-wordmark{font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap;color:var(--text)}.app-page{flex:0 0 auto;padding-left:13px;border-left:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap}.app-page+.app-crumb:before{content:"›";color:var(--text-faint);font-size:14px}.app-crumb{display:flex;align-items:center;gap:12px;min-width:0}.crumb-here{font-size:13px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb-here b{color:var(--text)}.app-crumb:empty{display:none}.app-actions{display:flex;align-items:center;gap:7px}.app-actions:empty{display:none}.app-actions .btn{text-decoration:none}@media(max-width:720px){.app-head{flex-wrap:wrap;gap:10px;padding:9px 14px}.app-crumb{order:3;width:100%}}@media(max-width:520px){.app-wordmark{display:none}}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--bg-raised);border:1px solid var(--border);color:var(--text);font-size:11px;font-weight:700;letter-spacing:.3px;flex:0 0 auto;user-select:none}.avatar-profile{cursor:pointer}.avatar-profile:hover{border-color:var(--accent)}.role-tag{padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);font:inherit;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.7px;cursor:pointer;white-space:nowrap}.role-tag:hover{color:var(--text);border-color:var(--border-hover)}.role-tag-dev{color:var(--accent);border-color:var(--accent-line)}.role-tag-tester{color:var(--good);border-color:var(--good-line)}.role-tag-none{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.theme-switch{display:inline-flex;padding:2px;gap:2px;border-radius:999px;background:var(--bg-input);border:1px solid var(--border)}.theme-btn{width:28px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:transparent;color:var(--text-faint);font-size:13px;line-height:1;cursor:pointer;transition:background .12s,color .12s}.theme-btn:hover{color:var(--text)}.theme-btn.active{background:var(--bg-hover);color:var(--text)}.theme-btn-edit{margin-left:2px;border-left:1px solid var(--border);border-radius:0 999px 999px 0;font-size:11px}.theme-btn-edit:hover,.theme-btn-edit.has-theme{color:var(--accent)}.id-modal{width:min(520px,94vw)}.role-picker{display:flex;flex-direction:column;gap:6px}.role-card{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:9px;background:var(--bg-input);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,background .12s}.role-card:hover{border-color:var(--border-hover)}.role-card.active{border-color:var(--accent);background:var(--accent-soft)}.role-card-icon{flex:0 0 auto;width:26px;height:26px;display:grid;place-items:center;font-size:14px}.role-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.role-card-text b{font-size:13px}.role-card-hint{font-size:11px;color:var(--text-dim);line-height:1.4}.role-card-tag{flex:0 0 auto;padding:2px 7px;border-radius:999px;border:1px solid var(--border);font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.6px;color:var(--text-faint)}.role-card.active .role-card-tag{color:var(--accent);border-color:var(--accent-line)}.clip-preview{display:flex;flex-direction:column;gap:7px}.clip-preview video{width:100%;max-height:260px;background:#000;border:1px solid var(--border);border-radius:4px}.steps-input{display:flex;flex-direction:column;gap:6px}.step-row{display:flex;align-items:center;gap:9px}.step-num{flex:0 0 48px;text-align:right;font-family:var(--mono);font-size:10.5px;color:var(--text-faint);white-space:nowrap}.step-row .row-input{flex:1;max-width:none;font-family:var(--sans)}.shot-preview{display:flex;align-items:center;gap:10px}.shot-preview img{max-height:150px;max-width:100%;border:1px solid var(--border);border-radius:4px}.context-summary{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-soft);border-radius:var(--radius);font-size:11.5px;color:var(--text-dim);line-height:1.55}.comment-list{display:flex;flex-direction:column;gap:7px;max-height:380px;overflow-y:auto}.comment{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-soft);border-radius:var(--radius)}.comment-head{display:flex;align-items:baseline;gap:9px;margin-bottom:4px;font-size:11.5px}.comment-head b{color:var(--accent)}.comment-when{color:var(--text-faint);font-family:var(--mono);font-size:10.5px}.comment-text{font-size:12.5px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.comment-compose{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border-soft);padding-top:8px}.qr-modal{width:min(600px,94vw)}.qr-body{align-items:center;text-align:center}.qr-block{display:flex;flex-direction:column;gap:8px;align-items:center}.qr-image-host{display:flex;justify-content:center}.qr-size-row{display:flex;align-items:center;gap:8px}.qr-size-seg .seg-btn{min-width:34px;font-weight:600}.qr-image{image-rendering:pixelated;border-radius:6px;border:10px solid #fff;background:#fff;align-self:center;max-width:100%;height:auto}.qr-url{display:block;max-width:100%;font-family:var(--mono);font-size:10.5px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.btn-qr{padding:5px 9px;font-size:14px;line-height:1}.fab{width:52px;height:52px;border-radius:50%;border:1px solid var(--on-media-line);font-size:20px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px);user-select:none;text-decoration:none;-webkit-tap-highlight-color:transparent}.fab:active{transform:scale(.94)}.fab:disabled{opacity:.45;cursor:default}.fab-muted{background:var(--on-media-scrim);color:var(--on-media);opacity:.7}.fab-muted:hover,.fab-muted.open{opacity:1}.block-screen{position:fixed;inset:0;z-index:200;background:var(--bg);display:grid;place-items:center;padding:24px;text-align:center}.block-screen.hidden{display:none}.block-inner{display:flex;flex-direction:column;gap:12px;align-items:center;max-width:360px}.block-inner h1{margin:0;font-size:19px}.block-inner p{margin:0;color:var(--text-dim);font-size:13.5px;line-height:1.6}.block-inner .btn{text-decoration:none}.block-icon{font-size:40px}.toast-host{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:2000}.toast{padding:8px 14px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);font-size:12px;box-shadow:0 8px 24px var(--shadow);transition:opacity .3s,transform .3s}.toast.out{opacity:0;transform:translateY(6px)}.toast-success{border-color:var(--good-line)}.toast-warn{border-color:var(--warn-line)}.toast-error{border-color:var(--bad-line)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover)}body{overflow-y:auto}#app{min-height:100vh;display:flex;flex-direction:column}.btn-create{background:var(--brand);border-color:var(--brand);color:var(--brand-text);font-weight:700;padding:9px 18px;border-radius:10px;font-size:13px}.btn-create:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.te-modal{width:min(760px,94vw)}.te-body{gap:13px}.te-top{display:grid;grid-template-columns:1fr 1fr;gap:11px}.te-icon{max-width:70px;text-align:center;font-family:var(--sans);font-size:15px}.te-live{padding:7px 9px;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--accent-line)}.te-default{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.te-default-btn{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;background:var(--bg-input);color:var(--text-dim);font-size:11.5px;font-weight:600}.te-default-btn:hover:not(:disabled){color:var(--text)}.te-default-btn.active{color:var(--good);border-color:var(--good-line);background:var(--good-soft)}.te-default-check{font-size:11px}.te-default-icon{font-size:12px}.te-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(226px,1fr));gap:12px}.te-group{display:flex;flex-direction:column;gap:5px;padding:9px 10px 10px;border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-raised)}.te-group-title{margin:0;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-dim)}.te-rows{display:flex;flex-direction:column;gap:4px;margin-top:2px}.te-row{display:flex;align-items:center;gap:7px;cursor:pointer}.te-row-label{flex:1;min-width:0;font-size:11.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.te-swatch{flex:0 0 auto;width:30px;height:22px;padding:0;border:1px solid var(--border);border-radius:4px;background:transparent;cursor:pointer}.te-swatch::-webkit-color-swatch-wrapper{padding:2px}.te-swatch::-webkit-color-swatch{border:0;border-radius:3px}.te-hex{flex:0 0 auto;width:74px;font-size:11px;text-transform:lowercase}.te-foot{flex-wrap:wrap}.hub-tabs{display:flex;align-items:center;gap:10px;padding:10px 24px;border-bottom:1px solid var(--border-soft);flex-wrap:wrap}.tab-count{padding:1px 7px;border-radius:999px;background:var(--bg-input);border:1px solid var(--border-soft);font-family:var(--mono);font-size:10.5px;color:var(--text-faint)}.filter-opt.active .tab-count{background:var(--primary);border-color:var(--primary-hover);color:var(--primary-text)}.hub-search-wrap{position:relative;display:flex;align-items:center;flex:0 1 260px;min-width:170px}.hub-search{width:100%;height:34px;padding:0 30px;border-radius:9px;border:1px solid var(--border);background:var(--bg-input);color:var(--text);font:inherit;font-size:12.5px;outline:none;transition:border-color .14s;-webkit-appearance:none;appearance:none}.hub-search::placeholder{color:var(--text-faint)}.hub-search:hover{border-color:var(--border-hover)}.hub-search:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:-2px}.hub-search::-webkit-search-cancel-button{display:none}.hub-search-icon{position:absolute;left:10px;color:var(--text-faint);font-size:15px;line-height:1;pointer-events:none}.hub-search:focus+.hub-search-icon{color:var(--accent)}.hub-search-clear{position:absolute;right:7px;display:grid;place-items:center;width:19px;height:19px;padding:0;border:0;border-radius:50%;background:var(--bg-hover);color:var(--text-dim);font-size:10px;cursor:pointer}.hub-search-clear:hover{color:var(--text)}.hub-filter-wrap{position:relative;flex:0 0 auto}.hub-filter-btn{gap:7px;font-weight:600}.hub-filter-btn.is-on{border-color:var(--accent);color:var(--accent)}.hub-filter-count{min-width:17px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--bg);font-family:var(--mono);font-size:10px;font-weight:700}.hub-filter-caret{font-size:10px;color:var(--text-faint)}.hub-filter-btn.is-on .hub-filter-caret{color:var(--accent)}.filter-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:230px;display:flex;flex-direction:column;gap:10px;padding:11px;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px var(--shadow)}.filter-menu.hidden{display:none}.filter-group{display:flex;flex-direction:column;gap:2px}.filter-group+.filter-group{padding-top:9px;border-top:1px solid var(--border-soft)}.filter-group-title{margin-bottom:3px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-faint)}.filter-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;border:0;border-radius:7px;background:transparent;color:var(--text-dim);font:inherit;font-size:12.5px;text-align:left;cursor:pointer}.filter-opt:hover{background:var(--row-hover);color:var(--text)}.filter-opt.active{background:var(--select-bg);color:var(--text);font-weight:600}.filter-opt-label{flex:1;min-width:0}.filter-reset{align-self:flex-start;font-size:12px}.hub-main{flex:1;padding:22px 24px 60px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;max-width:1500px}.card-grid .empty{grid-column:1 / -1}.pcard.board-cooking{--strip: #d926a9;--strip-2: #ff5fa2}.pcard.board-waiting{--strip: #6d28d9;--strip-2: #a855f7}.pcard.board-testing{--strip: #1d4ed8;--strip-2: #3b9dfb}.pcard.board-bugfixing{--strip: #be123c;--strip-2: #f4544f}.pcard.board-complete{--strip: #15803d;--strip-2: #34d36b}.pcard.board-archived{--strip: #4b5563;--strip-2: #9199a6}.pcard{position:relative;display:flex;flex-direction:column;border-radius:14px;border:1px solid var(--border);background:var(--bg-panel);overflow:hidden;cursor:pointer;transition:transform .12s,box-shadow .12s,border-color .12s}.pcard:hover{transform:translateY(-2px);border-color:var(--strip);box-shadow:0 10px 26px var(--shadow)}.pcard:focus-visible{outline:2px solid var(--strip);outline-offset:2px}.pcard-strip{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 11px 0 82px;background:linear-gradient(100deg,var(--strip) 0%,var(--strip-2) 100%);color:#fff;font-size:11.5px;font-weight:700}.strip-state{display:inline-flex;align-items:center;gap:7px}.strip-icon{position:relative;display:inline-grid;place-items:center;font-size:13px}.strip-queue{position:absolute;font-family:var(--mono);font-size:8.5px;font-weight:700;line-height:1;transform:translateY(1px)}.strip-time{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10.5px;font-weight:600;opacity:.92}.pcard-body{display:flex;flex-direction:column;gap:8px;padding:8px 11px 10px}.pcard-head{display:flex;align-items:center;gap:7px;padding-left:71px;min-height:22px}.pcard-icon{position:absolute;top:10px;left:11px;width:60px;height:60px;z-index:2;border-radius:14px;object-fit:cover;border:2px solid var(--bg-panel);box-shadow:0 3px 10px var(--shadow)}.pcard-icon-fallback{display:grid;place-items:center;background:var(--bg-raised);color:var(--text-dim);font-size:24px;font-weight:700}.pcard-title{flex:0 1 auto;min-width:0;font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard-platform{display:grid;place-items:center;width:17px;height:17px;border-radius:4px;background:var(--text);color:var(--bg-panel);font-size:10px;font-weight:800;line-height:1}.pcard-version{font-family:var(--mono);font-size:11px;color:var(--text-dim)}.pcard-menu-btn{align-self:center;margin-left:auto;background:transparent;border:0;color:var(--text-faint);font-size:15px;cursor:pointer;padding:0 2px;line-height:1}.pcard-menu-btn:hover{color:var(--text)}.pcard-bugs{display:flex;flex-direction:column;gap:5px}.bugs-head{display:flex;align-items:baseline;gap:5px;font-size:11px;color:var(--text-dim)}.bugs-head b{font-size:15px;font-family:var(--mono);color:var(--text)}.bugs-bar{display:flex;gap:2px;height:7px;border-radius:999px;overflow:hidden;background:var(--bg-input)}.bugs-seg{display:block;min-width:3px}.bugs-legend{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:4px;font-size:9px;color:var(--text-dim);overflow:hidden}.bugs-key{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.bugs-dot{width:6px;height:6px;border-radius:50%;flex:0 0 auto}.seg-notFixed{background:#f97316}.seg-wontFix{background:#eab308}.seg-fixed{background:#a3e635}.seg-approved{background:#22c55e}.seg-empty{background:var(--border-soft)}.pcard-actions{display:flex;gap:6px}.pcard-btn{flex:1;justify-content:center;gap:5px;padding:7px 4px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none}.pcard-btn.is-disabled{opacity:.45;cursor:not-allowed}.hub-band{display:flex;flex-direction:column;gap:12px;margin-bottom:26px}.hub-band-title{display:flex;align-items:center;gap:9px;margin:0;font-size:15px;font-weight:700}.hub-band-count{min-width:20px;padding:1px 7px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--border);font-family:var(--mono);font-size:11px;font-weight:600;color:var(--text-dim);text-align:center}.hub-version{position:fixed;right:12px;bottom:10px;z-index:5;font-family:var(--mono);font-size:10.5px;letter-spacing:.3px;color:var(--text-faint);opacity:.6;pointer-events:none;user-select:none}.pcard-actions{display:flex;gap:7px}.pcard-actions .btn{border-radius:9px;padding:8px 12px;font-weight:600}.btn-detail{flex:1}.btn-play{flex:1.4;background:var(--brand);border-color:var(--brand);color:var(--brand-text)}.btn-play:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.pcard-menu{position:fixed;z-index:500;min-width:150px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px var(--shadow);display:flex;flex-direction:column;padding:4px}.pcard-menu button{text-align:left;padding:7px 10px;background:transparent;border:0;border-radius:5px;color:var(--text);font:inherit;font-size:12.5px;cursor:pointer}.pcard-menu button:hover{background:var(--bg-raised)}.pcard-menu button.danger{color:var(--bad)}.warn-inline{display:flex;gap:7px;align-items:flex-start;padding:7px 9px;border-radius:4px;background:var(--warn-soft);border:1px solid var(--warn-line);font-size:11.5px;color:var(--warn)}
