:root{--ab-void: #ffffff;--ab-deep-space: #f7f7fa;--ab-surface: #ffffff;--ab-surface-raised: #ffffff;--ab-surface-sunken: #f1f1f6;--ab-accent: #5b50e8;--ab-accent-bright: #4b40d8;--ab-accent-dim: rgba(91, 80, 232, .09);--ab-cyan: #5b50e8;--ab-cyan-bright: #4b40d8;--ab-cyan-deep: #3f35bd;--ab-purple: #7c5cf0;--ab-purple-deep: #5b3fc4;--ab-gold: #a35a15;--ab-success: #17795e;--ab-warning: #8a5a08;--ab-danger: #c0362c;--ab-info: #3f5bd4;--ab-border: rgba(22, 22, 46, .1);--ab-border-strong: rgba(22, 22, 46, .19);--ab-text: #16162e;--ab-text-dim: #5a5a75;--ab-text-faint: #8b8ba6;--ab-font-heading: ui-sans-serif, -apple-system, "Segoe UI", Roboto, sans-serif;--ab-font-body: ui-sans-serif, -apple-system, "Segoe UI", Roboto, sans-serif;--ab-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--ab-radius: 8px;--ab-radius-lg: 12px;--ab-glow-cyan: none;--ab-glow-purple: none;--ab-shadow: 0 1px 2px rgba(22, 22, 46, .06), 0 1px 1px rgba(22, 22, 46, .03);--ab-shadow-raised: 0 10px 28px rgba(22, 22, 46, .08), 0 2px 6px rgba(22, 22, 46, .04);--ab-media-surround: #14171c;--ab-media-edge: rgba(255, 255, 255, .1);--ab-media-text: #e4e8ee}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ab-void);color:var(--ab-text);font-family:var(--ab-font-body);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--ab-cyan);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label{font-size:var(--ab-font-size-small, 12px);color:var(--ab-text-dim);font-weight:600;letter-spacing:.02em}.field .hint{font-size:11px;color:var(--ab-text-faint);font-weight:400;letter-spacing:0}input,select,textarea{background:var(--ab-surface);color:var(--ab-text);border:1px solid var(--ab-border-strong);border-radius:8px;padding:9px 11px;width:100%;transition:border-color .12s ease}textarea{resize:vertical;min-height:78px;font-family:var(--ab-font-mono);font-size:12px}input:focus,select:focus,textarea:focus{border-color:var(--ab-cyan);outline:none}.btn{border:1px solid var(--ab-border);background:var(--ab-surface-raised);border-radius:8px;padding:8px 14px;display:inline-flex;align-items:center;gap:7px;font-weight:600;transition:border-color .12s ease,background .12s ease,transform 80ms ease}.btn:hover:not(:disabled){border-color:var(--ab-border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-primary{background:var(--ab-accent);border-color:transparent;color:#fff}.btn-danger:hover:not(:disabled){border-color:var(--ab-danger);color:var(--ab-danger)}.banner{border-radius:8px;padding:10px 12px;font-size:13px;border:1px solid;margin-bottom:14px}.banner-error{border-color:#a33a2652;background:#a33a2612;color:var(--ab-danger)}.banner-info{border-color:var(--ab-border-strong);background:#00d9ff14;color:var(--ab-text)}.auth-shell{min-height:100%;display:grid;place-items:center;padding:24px;background:radial-gradient(1100px 620px at 18% -8%,rgba(0,217,255,.13),transparent 62%),radial-gradient(900px 560px at 88% 8%,rgba(157,78,221,.16),transparent 60%),var(--ab-void)}.auth-card{width:min(420px,100%);background:var(--ab-surface);border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);padding:30px;box-shadow:0 24px 70px #00000080}.auth-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-bottom:24px}.auth-head h1{font-family:var(--ab-font-heading);font-size:27px;margin:6px 0 0;letter-spacing:-.01em}.auth-head p{margin:0;color:var(--ab-text-dim);font-size:13px}.auth-switch{margin-top:18px;text-align:center;font-size:13px;color:var(--ab-text-dim)}.linklike{background:none;border:none;color:var(--ab-cyan);padding:0;font-weight:600;text-decoration:underline}.builder{display:grid;grid-template-rows:auto 1fr;height:100%;min-height:0}.topbar{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--ab-border);background:var(--ab-surface);flex-wrap:wrap}.brandmark{display:flex;align-items:center;gap:10px;font-family:var(--ab-font-heading);letter-spacing:.01em}.topbar .spacer{flex:1}.wf-name{max-width:240px;font-weight:600}.wf-picker{max-width:240px;width:auto}.provider-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--ab-text-dim);border:1px solid var(--ab-border);border-radius:999px;padding:4px 10px;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:var(--ab-warning)}.dot.live{background:var(--ab-success)}.workspace{display:grid;grid-template-columns:232px 1fr 296px;min-height:0}@media(max-width:1100px){.workspace{grid-template-columns:1fr;grid-template-rows:auto 420px auto}}.panel{border-right:1px solid var(--ab-border);background:var(--ab-surface);overflow-y:auto;padding:14px;min-height:0}.panel:last-child{border-right:none;border-left:1px solid var(--ab-border)}.panel h2{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ab-text-faint);margin:0 0 10px}.panel h2:not(:first-child){margin-top:20px}.widget-btn{width:100%;text-align:left;display:flex;align-items:center;gap:9px;padding:9px 10px;margin-bottom:6px;border-radius:8px;border:1px solid var(--ab-border);background:var(--ab-surface-raised);transition:border-color .12s ease,transform 80ms ease}.widget-btn:hover{border-color:var(--ab-border-strong);transform:translate(2px)}.widget-btn .swatch{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;flex-shrink:0;color:#fff}.widget-btn .label{font-weight:600;font-size:13px}.widget-btn .desc{display:block;font-size:11px;color:var(--ab-text-faint);font-weight:400}.canvas{position:relative;overflow:auto;background:radial-gradient(circle at 1px 1px,rgba(157,78,221,.2) 1px,transparent 0) 0 0 / 26px 26px,var(--ab-void);min-height:0}.canvas-plane{position:relative;width:2400px;height:1500px}.canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-content:center;text-align:center;color:var(--ab-text-faint);pointer-events:none;gap:6px}.edges{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.edge-hit{pointer-events:stroke;cursor:pointer}.node{position:absolute;width:208px;background:var(--ab-surface-raised);border:1px solid var(--ab-border);border-radius:var(--ab-radius);padding:10px 12px;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 8px 26px #0006;transition:border-color .12s ease}.node:hover{border-color:var(--ab-border-strong)}.node.selected{border-color:var(--ab-cyan);box-shadow:var(--ab-glow-cyan)}.node.invalid{border-color:var(--ab-danger)}.node.dragging{cursor:grabbing;z-index:20}.node-head{display:flex;align-items:center;gap:8px}.node-head .swatch{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;flex-shrink:0;color:#fff}.node-title{font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-kind{font-size:11px;color:var(--ab-text-faint)}.port{position:absolute;width:15px;height:15px;border-radius:50%;border:2px solid var(--ab-void);background:var(--ab-text-faint);top:50%;transform:translateY(-50%);cursor:crosshair;transition:background .12s ease,transform .12s ease}.port:hover,.port.active{background:var(--ab-cyan);transform:translateY(-50%) scale(1.35)}.port-out{right:-8px}.port-in{left:-8px}.issue{display:flex;gap:8px;align-items:flex-start;font-size:12px;padding:8px 10px;border-radius:7px;margin-bottom:6px;border:1px solid}.issue-error{border-color:#ef44446b;background:#ef44441a}.issue-warning{border-color:#f59e0b6b;background:#f59e0b1a}.issue button{background:none;border:none;color:var(--ab-cyan);padding:0;font-size:11px;text-decoration:underline}.empty-note{color:var(--ab-text-faint);font-size:12px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040612c7;display:grid;place-items:center;padding:24px;z-index:60}.modal{width:min(880px,100%);max-height:84vh;display:flex;flex-direction:column;background:var(--ab-surface);border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);overflow:hidden}.modal-head{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--ab-border)}.modal-head h2{margin:0;font-size:16px;font-family:var(--ab-font-heading)}.modal-body{padding:18px;overflow:auto}.code-block{background:var(--ab-void);border:1px solid var(--ab-border);border-radius:8px;padding:14px;font-family:var(--ab-font-mono);font-size:12px;line-height:1.6;overflow-x:auto;white-space:pre;margin:0}.tabs{display:flex;gap:4px}.tab{border:none;background:none;padding:6px 12px;border-radius:7px;color:var(--ab-text-dim);font-weight:600;font-size:13px}.tab.active{background:var(--ab-surface-raised);color:var(--ab-text)}.step{border:1px solid var(--ab-border);border-radius:8px;padding:10px 12px;margin-bottom:8px}.step-head{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.step .duration{margin-left:auto;font-size:11px;color:var(--ab-text-faint);font-weight:400}:root body{color-scheme:light}@keyframes ab-spin{to{transform:rotate(360deg)}}.spin{animation:ab-spin .9s linear infinite}@media(prefers-reduced-motion:reduce){.spin{animation-duration:2.4s}.widget-btn,.btn,.node,.port{transition:none}}.landing{min-height:100%;display:flex;flex-direction:column;background:radial-gradient(1200px 640px at 12% -10%,rgba(0,217,255,.14),transparent 60%),radial-gradient(1000px 600px at 90% 4%,rgba(157,78,221,.17),transparent 58%),var(--ab-void)}.landing-nav{display:flex;align-items:center;gap:12px;padding:16px clamp(16px,5vw,56px)}.landing a.btn{text-decoration:none}.hero{text-align:center;padding:clamp(32px,7vw,84px) clamp(16px,5vw,56px) 40px;display:flex;flex-direction:column;align-items:center;gap:18px}.hero h1{font-family:var(--ab-font-heading);font-size:clamp(34px,6vw,60px);line-height:1.06;letter-spacing:-.02em;margin:6px 0 0;background:linear-gradient(120deg,var(--ab-cyan) 0%,#e8ecff 45%,var(--ab-purple) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-sub{margin:0;max-width:620px;color:var(--ab-text-dim);font-size:clamp(14px,1.6vw,17px)}.hero-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:4px}.hero-cta .btn{padding:11px 20px}.pipeline{display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:26px;padding:16px 20px;border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);background:#12162e99;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pipeline-step{display:flex;align-items:center;gap:4px}.pipeline .chip{display:inline-flex;align-items:center;gap:8px;padding:7px 13px 7px 7px;border-radius:999px;border:1px solid var(--ab-border);background:var(--ab-surface-raised);font-weight:600;font-size:13px;white-space:nowrap}.pipeline .swatch{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:#fff}.pipeline .arrow{width:26px;height:2px;background:linear-gradient(90deg,var(--ab-purple),var(--ab-cyan));border-radius:2px;flex-shrink:0}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;padding:20px clamp(16px,5vw,56px) 40px;max-width:1100px;margin:0 auto;width:100%}.feature{border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);padding:22px;background:var(--ab-surface)}.feature-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--ab-cyan),var(--ab-purple));color:#fff;margin-bottom:12px}.feature h2{font-size:16px;margin:0 0 8px;font-family:var(--ab-font-heading)}.feature p{margin:0;color:var(--ab-text-dim);font-size:13px}.closer{text-align:center;max-width:640px;margin:0 auto;padding:20px clamp(16px,5vw,56px) 64px}.closer h2{font-family:var(--ab-font-heading);font-size:clamp(22px,3vw,30px);margin:0 0 12px}.closer p{color:var(--ab-text-dim);margin:0 0 22px}.landing-foot{margin-top:auto;display:flex;justify-content:space-between;gap:12px;padding:20px clamp(16px,5vw,56px);border-top:1px solid var(--ab-border);color:var(--ab-text-faint);font-size:12px}.dashboard{min-height:100%;display:flex;flex-direction:column;background:var(--ab-void)}.who{font-size:12px;color:var(--ab-text-dim);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-body{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:30px clamp(16px,4vw,32px) 60px}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.dashboard-head h1{font-family:var(--ab-font-heading);font-size:26px;margin:0}.dashboard-head p{margin:4px 0 0;color:var(--ab-text-dim);font-size:13px}.dashboard-body a.btn{text-decoration:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:16px}.wf-card{border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);background:var(--ab-surface);display:flex;flex-direction:column;transition:border-color .13s ease,transform .1s ease}.wf-card:hover{border-color:var(--ab-border-strong);transform:translateY(-2px)}.wf-card-main{padding:18px 18px 12px;text-decoration:none;color:inherit;flex:1}.wf-card-main h2{font-size:16px;margin:0 0 6px;font-family:var(--ab-font-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-card-main p{margin:0 0 10px;font-size:12px;color:var(--ab-text-dim);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wf-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ab-text-faint)}.wf-meta .sep{opacity:.6}.wf-card-actions{display:flex;gap:8px;padding:12px 18px 16px;border-top:1px solid var(--ab-border)}.wf-card-actions .btn{padding:6px 12px}.wf-card-actions .btn:first-child{flex:1;justify-content:center}.dashboard-empty{border:1px dashed var(--ab-border);border-radius:var(--ab-radius-lg);padding:54px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.dashboard-empty h2{font-family:var(--ab-font-heading);font-size:19px;margin:8px 0 0}.dashboard-empty p{margin:0 0 10px;color:var(--ab-text-dim);max-width:420px;font-size:13px}.btn-live{border-color:var(--ab-success);color:var(--ab-success);background:#22c55e1f}.field-label{display:block;font-size:12px;color:var(--ab-text-dim);font-weight:600;margin-bottom:6px}.run-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;margin-bottom:6px;border:1px solid var(--ab-border);border-radius:8px;background:var(--ab-surface-raised);font-size:13px;transition:border-color .12s ease}.run-row:hover{border-color:var(--ab-border-strong)}.run-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:999px;border:1px solid var(--ab-border);color:var(--ab-text-dim);font-weight:700}.run-tag-webhook{border-color:#00d9ff80;color:var(--ab-cyan)}.run-tag-schedule{border-color:#9d4edd99;color:var(--ab-purple)}.run-when{color:var(--ab-text-dim)}.run-row .duration{margin-left:auto;font-size:11px;color:var(--ab-text-faint)}.provider-list{display:flex;flex-direction:column;gap:14px}.provider{border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);background:var(--ab-surface);padding:18px}.provider-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.provider-head .swatch{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;color:#fff}.provider-head h2{font-size:15px;margin:0;font-family:var(--ab-font-heading)}.provider-head p{margin:2px 0 0;font-size:12px;color:var(--ab-text-dim)}.provider-note{margin:12px 0 0;font-size:12px;color:var(--ab-text-faint)}.provider-note code{font-family:var(--ab-font-mono);font-size:11px;background:var(--ab-void);padding:1px 5px;border-radius:4px}.provider-form{margin-top:16px;padding-top:16px;border-top:1px solid var(--ab-border);max-width:520px}.connection-list{margin-top:14px;display:flex;flex-direction:column;gap:8px}.connection{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ab-border);border-radius:8px;background:var(--ab-surface-raised);font-size:13px}.connection-meta{display:block;font-size:11px;color:var(--ab-text-faint)}.inspector-link{display:inline-block;font-size:11px;color:var(--ab-cyan);margin-top:4px}.studio-layout{display:grid;grid-template-columns:300px 1fr;gap:20px;align-items:start}@media(max-width:900px){.studio-layout{grid-template-columns:1fr}}.studio-sessions,.studio-detail{border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);background:var(--ab-surface);padding:18px}.studio-sessions h2,.studio-detail h2{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ab-text-faint);margin:0 0 12px}.studio-detail h2:first-child{font-size:17px;text-transform:none;letter-spacing:0;color:var(--ab-text);font-family:var(--ab-font-heading)}.studio-new,.studio-event-form{display:flex;gap:8px;margin-bottom:14px}.studio-event-form select{width:auto;flex-shrink:0}.studio-session{display:flex;gap:6px;align-items:center;margin-bottom:6px}.studio-session>button:first-child{flex:1;text-align:left;border:1px solid var(--ab-border);background:var(--ab-surface-raised);border-radius:8px;padding:9px 11px;min-width:0}.studio-session.active>button:first-child{border-color:var(--ab-cyan)}.studio-session strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-session span{font-size:11px;color:var(--ab-text-faint)}.studio-events{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.studio-event{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 10px;border:1px solid var(--ab-border);border-radius:8px;background:var(--ab-surface-raised)}.studio-demos{margin-top:20px;display:flex;flex-direction:column;gap:14px}.studio-demo{border:1px solid var(--ab-border);border-radius:var(--ab-radius);padding:14px;background:var(--ab-surface-raised)}.studio-demo-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.studio-video{display:block;width:100%;margin-top:12px;border-radius:10px;border:1px solid var(--ab-border);background:#000}.studio-notes{margin:12px 0 0;padding-left:18px;font-size:12px;color:var(--ab-warning)}.studio-script{margin-top:12px;font-size:13px}.studio-script summary{cursor:pointer;color:var(--ab-text-dim);font-size:12px}.studio-script p{color:var(--ab-text-dim);margin:10px 0 0;line-height:1.55}.teaser-length{flex:1;min-width:200px}.teaser-length .field-label{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 6px}.teaser-length output{color:var(--ab-purple);font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.teaser-length input[type=range]{width:100%;height:4px;margin:0;padding:0;border-radius:2px;background:var(--ab-border);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.teaser-length input[type=range]::-webkit-slider-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--ab-purple);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:grab}.teaser-length input[type=range]::-moz-range-thumb{width:16px;height:16px;border:none;border-radius:50%;background:var(--ab-purple);cursor:grab}.teaser-length input[type=range]:focus-visible{outline:2px solid var(--ab-purple);outline-offset:4px}.teaser-shapes{margin-bottom:10px}.shape-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.shape-chip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 11px;border:1px solid var(--ab-border);border-radius:8px;background:var(--ab-surface-raised);color:var(--ab-text-dim);font-size:13px;font-weight:600;line-height:1.25;transition:border-color .12s ease,color .12s ease}.shape-chip span{font-size:11px;font-weight:400;color:var(--ab-text-faint)}.shape-chip:hover{border-color:var(--ab-border-strong)}.shape-chip.active{border-color:var(--ab-purple);color:var(--ab-text)}.teaser-burn{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ab-text-dim);white-space:nowrap;cursor:pointer}.teaser-burn input[type=checkbox]{width:auto;margin:0;padding:0;accent-color:var(--ab-purple);cursor:pointer}.teaser-ticks{display:flex;justify-content:space-between;margin-top:4px;color:var(--ab-text-dim);font-size:11px;font-variant-numeric:tabular-nums}.clip-quote{display:inline-block;margin-top:4px;padding-left:10px;border-left:2px solid var(--ab-border);color:var(--ab-text);font-style:italic}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:20px}.kpi{border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);background:var(--ab-surface);padding:16px 18px}.kpi-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ab-text-faint)}.kpi-value{display:block;font-family:var(--ab-font-heading);font-size:30px;line-height:1.15;margin:6px 0 4px}.kpi-note{display:block;font-size:11px;color:var(--ab-text-dim)}.panel-card{border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);background:var(--ab-surface);padding:18px;margin-bottom:18px}.panel-card h2,.panel-card>summary{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ab-text-faint);margin:0 0 14px}.panel-card>summary{cursor:pointer;margin:0}.analytics-split{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:900px){.analytics-split{grid-template-columns:1fr}}.chart{margin:0}.chart svg{width:100%;height:auto;display:block}.chart figcaption{margin-top:10px;font-size:12px;color:var(--ab-text-dim);min-height:18px}.chart-legend{display:inline-flex;gap:16px}.key{display:inline-flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;border-radius:3px;display:inline-block;flex-shrink:0}.bar-list{display:flex;flex-direction:column;gap:10px}.bar-row{display:grid;grid-template-columns:130px 1fr 36px;align-items:center;gap:10px;font-size:12px}.bar-label{color:var(--ab-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{height:12px;background:var(--ab-void);border-radius:3px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:0 3px 3px 0}.bar-value{text-align:right;color:var(--ab-text-dim);font-variant-numeric:tabular-nums}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ab-text-faint);font-weight:600;padding:0 10px 8px 0}.data-table td{padding:8px 10px 8px 0;border-top:1px solid var(--ab-border);color:var(--ab-text-dim);font-variant-numeric:tabular-nums}.data-table td:first-child{color:var(--ab-text)}.data-table .swatch{margin-right:6px;vertical-align:-1px}.experiment-form{border:1px solid var(--ab-border);border-radius:var(--ab-radius);padding:16px;margin-bottom:16px;background:var(--ab-surface-raised)}.experiment-arms{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.experiment-arms{grid-template-columns:1fr}}.experiment{border:1px solid var(--ab-border);border-radius:var(--ab-radius);padding:14px;margin-bottom:12px;background:var(--ab-surface-raised)}.experiment-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.verdict{font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;border:1px solid var(--ab-border);color:var(--ab-text-dim)}.verdict-b_wins,.verdict-a_wins{border-color:#3f628873;color:var(--ab-info)}.verdict-no_difference{border-color:var(--ab-border)}.verdict-insufficient_data{border-color:#f59e0b80;color:var(--ab-warning)}.experiment-explanation{margin:0 0 12px;font-size:13px;color:var(--ab-text-dim)}.experiment-stats{margin:10px 0 0;font-size:11px;color:var(--ab-text-faint);font-variant-numeric:tabular-nums}.composer{max-width:760px;margin:8px auto 36px;text-align:center}.composer-intro{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:18px;color:var(--ab-cyan)}.composer-intro h2{font-family:var(--ab-font-heading);font-size:clamp(20px,3vw,27px);margin:4px 0 0;color:var(--ab-text)}.composer-intro p{margin:0;color:var(--ab-text-dim);font-size:13px;max-width:520px}.composer form{border:1px solid var(--ab-border-strong);border-radius:var(--ab-radius-lg);background:var(--ab-surface);padding:12px;box-shadow:0 14px 40px #00000047}.composer textarea{border:none;background:transparent;resize:none;font-family:var(--ab-font-body);font-size:15px;padding:6px 8px;text-align:left}.composer textarea:focus{outline:none}.composer-actions{display:flex;align-items:center;gap:10px;padding:4px 4px 0}.composer-hint{font-size:11px;color:var(--ab-text-faint)}.composer-examples{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}.composer-examples button{border:1px solid var(--ab-border);background:var(--ab-surface);color:var(--ab-text-dim);border-radius:999px;padding:7px 14px;font-size:12px;transition:border-color .12s ease,color .12s ease}.composer-examples button:hover{border-color:var(--ab-border-strong);color:var(--ab-text)}.plan{margin-top:18px;text-align:left;border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);background:var(--ab-surface);padding:18px}.plan-head{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:14px}.plan-head h3{margin:0;font-family:var(--ab-font-heading);font-size:17px}.plan-head p{margin:4px 0 0;font-size:13px;color:var(--ab-text-dim)}.plan-steps{margin:0 0 14px;padding-left:20px;font-size:13px;color:var(--ab-text-dim)}.plan-steps li{margin-bottom:6px}.plan-gaps,.plan-todo{border-radius:8px;padding:12px 14px;margin-bottom:12px;font-size:12px;border:1px solid}.plan-gaps{border-color:#f59e0b66;background:#f59e0b14}.plan-todo{border-color:var(--ab-border-strong);background:#00d9ff0f}.plan-gaps strong,.plan-todo strong{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:12px}.plan-gaps ul,.plan-todo ul{margin:0;padding-left:20px;color:var(--ab-text-dim)}.plan-gaps li,.plan-todo li{margin-bottom:4px}.plan-ready{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:12px;color:var(--ab-success)}.plan-note{margin:0;font-size:11px;color:var(--ab-text-faint)}.footage-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.footage{display:flex;align-items:center;gap:6px}.footage>button:first-child{flex:1;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--ab-border);background:var(--ab-surface-raised);border-radius:8px;padding:10px 12px;min-width:0}.footage.active>button:first-child{border-color:var(--ab-cyan)}.footage strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footage span span,.footage>button span>span{display:block;font-size:11px;color:var(--ab-text-faint)}.teaser-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid var(--ab-border);border-radius:8px;background:var(--ab-surface-raised)}.studio-demo-head a.btn{text-decoration:none}.transcript-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.transcript{list-style:none;margin:0;padding:0;max-height:420px;overflow-y:auto;border:1px solid var(--ab-border);border-radius:8px;background:var(--ab-surface-raised)}.transcript li+li{border-top:1px solid var(--ab-border)}.transcript button{display:flex;align-items:baseline;gap:10px;width:100%;padding:9px 12px;border:none;background:none;text-align:left;font-size:13px;line-height:1.5;color:var(--ab-text)}.transcript button:hover{background:#9d4edd17}.transcript .at{flex-shrink:0;color:var(--ab-text-faint);font-size:11px;font-variant-numeric:tabular-nums}.transcript .said{flex:1;min-width:0}.transcript .who{flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.02em;padding:1px 6px;border-radius:4px;border:1px solid currentColor;opacity:.85}.transcript .who[data-speaker="0"]{color:#3f6288}.transcript .who[data-speaker="1"]{color:#5f5185}.transcript .who[data-speaker="2"]{color:#2f6b45}.transcript .who[data-speaker="3"]{color:#8a5410}.transcript .who[data-speaker="4"]{color:#8a4a48}.transcript .who[data-speaker="5"]{color:#3d6675}.transcript li.gone .who{opacity:.4}.transcript li.gone .said{text-decoration:line-through;color:var(--ab-text-faint)}.transcript li.gone{background:#ef444412}.transcript .drop{flex-shrink:0;opacity:0;color:var(--ab-text-faint)}.transcript button:hover .drop,.transcript li.gone .drop{opacity:1}.hint-tag{flex-shrink:0;padding:1px 7px;border-radius:999px;border:1px solid var(--ab-border);color:var(--ab-text-dim);font-size:10px;text-transform:lowercase}.teaser-pick{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--ab-text-dim);font-weight:600}.teaser-pick select{width:auto;padding:6px 9px;font-size:13px;font-weight:400}.qc-list{list-style:none;margin:8px 0 0;padding:0;font-size:12px}.qc-list li{display:flex;gap:8px;padding:3px 0;color:var(--ab-text-dim)}.qc-list li strong{min-width:130px;font-weight:600}.qc-list li.ok strong{color:var(--ab-success)}.qc-list li.bad strong{color:var(--ab-danger)}.qc-list li.skipped strong{color:var(--ab-text-faint)}.studio-script.qc-failed>summary{color:var(--ab-warning)}.outputs{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.output-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.output-row input,.output-row select{width:auto;flex:1;min-width:120px;padding:7px 9px;font-size:13px}.rendition-list{list-style:none;margin:10px 0 0;padding:0;font-size:12px}.rendition-list li{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid var(--ab-border);color:var(--ab-text-dim)}.rendition-list li strong{min-width:90px;color:var(--ab-text)}.rendition-list li>span:nth-of-type(1){flex:1}.rendition-list li .ok{color:var(--ab-success)}.rendition-list li .bad,.rendition-list li.bad strong{color:var(--ab-danger)}.run-tag.bad{color:var(--ab-danger);border-color:var(--ab-danger)}.deliver-box{display:flex;gap:8px;margin-top:10px}.deliver-box input{flex:1;padding:7px 9px;font-size:13px}.delivery-list{list-style:none;margin:10px 0 0;padding:0;font-size:12px}.delivery-list li{display:flex;align-items:center;gap:8px;padding:4px 0;color:var(--ab-text-dim)}.delivery-list li strong{min-width:70px;color:var(--ab-text)}.delivery-list .where{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--ab-font-mono);font-size:11px}.delivery-list li.bad,.delivery-list .bad{color:var(--ab-danger)}.delivery-list li:not(.bad)>svg:first-child{color:var(--ab-success)}.appshell{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);height:100%;background:var(--ab-void);--nav-w: 244px;transition:grid-template-columns .22s cubic-bezier(.2,.8,.2,1)}.appshell.is-narrow{--nav-w: 60px}@media(prefers-reduced-motion:reduce){.appshell{transition:none}}.appshell-nav{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--ab-border);background:var(--ab-surface-sunken, var(--ab-deep-space))}.appshell-brand{display:flex;align-items:center;gap:8px;padding:14px 14px 12px;border-bottom:1px solid var(--ab-border)}.appshell-mark{width:16px;height:16px;border-radius:3px;background:var(--ab-accent, var(--ab-cyan));flex:none}.appshell-name{font-size:13px;font-weight:600;letter-spacing:-.01em}.appshell-tree{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px 6px}.tree-group+.tree-group{margin-top:12px}.tree-branch{display:flex;align-items:center;gap:5px;width:100%;padding:4px 8px;border:0;background:none;cursor:pointer;color:var(--ab-text-faint);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-family:var(--ab-font-mono)}.tree-caret{transition:transform .12s ease;flex:none}.tree-caret.is-open{transform:rotate(90deg)}.tree-leaf{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border-radius:var(--ab-radius);color:var(--ab-text-dim);text-decoration:none;font-size:13px;border-left:2px solid transparent}.tree-leaf:hover{background:var(--ab-surface-sunken);color:var(--ab-text)}.tree-icon{display:grid;place-items:center;width:20px;flex:none;color:inherit}.tree-leaf .tree-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.is-narrow .tree-leaf{justify-content:center;padding:7px 0;border-left-width:0;border-radius:var(--ab-radius)}.is-narrow .tree-leaf .tree-label,.is-narrow .tree-meta{width:0;opacity:0;margin:0;pointer-events:none}.is-narrow .tree-leaf.is-current{background:var(--ab-accent-dim);color:var(--ab-accent);box-shadow:inset 0 0 0 1px var(--ab-border-strong)}.is-narrow .tree-icon{width:100%}.tree-rule{border:0;border-top:1px solid var(--ab-border);margin:7px 10px}.tree-leaf.is-current{background:var(--ab-accent-dim, var(--ab-surface-sunken));border-left-color:var(--ab-accent, var(--ab-cyan));color:var(--ab-text)}.tree-meta{font-family:var(--ab-font-mono);font-size:11px;font-variant-numeric:tabular-nums;color:var(--ab-text-faint)}.appshell-foot{border-top:1px solid var(--ab-border);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.appshell-status{display:flex;align-items:center;gap:6px}.appshell-status-text{font-size:11.5px;color:var(--ab-text-faint)}.dot{width:6px;height:6px;border-radius:50%;flex:none}.dot.ok{background:var(--ab-success)}.dot.bad{background:var(--ab-danger)}.appshell-version{margin-left:auto;font-family:var(--ab-font-mono);font-size:10.5px;color:var(--ab-text-faint)}.appshell-account{display:flex;align-items:center;gap:8px}.appshell-email{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;color:var(--ab-text-dim)}.appshell-signout{border:1px solid var(--ab-border);background:none;color:var(--ab-text-dim);border-radius:var(--ab-radius);padding:4px 6px;cursor:pointer;display:inline-flex}.appshell-signout:hover{color:var(--ab-text);border-color:var(--ab-border-strong)}.appshell-main{display:flex;flex-direction:column;min-width:0;min-height:0}.appshell-top{display:flex;align-items:center;gap:12px;height:42px;padding:0 18px;border-bottom:1px solid var(--ab-border);background:var(--ab-surface)}.appshell-body{flex:1 1 auto;min-height:0;overflow:auto;padding:20px 18px 48px}.crumbs{display:flex;align-items:center;gap:4px;font-size:12px;font-family:var(--ab-font-mono);color:var(--ab-text-faint)}.crumb{display:inline-flex;align-items:center;gap:4px}.crumb-sep{color:var(--ab-text-faint);opacity:.5}.crumb-here{color:var(--ab-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}.appshell-signout:focus-visible,.tree-leaf:focus-visible,.tree-branch:focus-visible{outline:2px solid var(--ab-accent, var(--ab-cyan));outline-offset:1px}@media(max-width:900px){.appshell{grid-template-columns:1fr}.appshell-nav{flex-direction:row;align-items:center;overflow-x:auto;border-right:0;border-bottom:1px solid var(--ab-border)}.appshell-tree{display:flex;gap:4px;padding:6px;overflow-x:auto}.tree-group{display:flex;align-items:center;gap:4px}.tree-branch{display:none}.tree-leaf{padding-left:10px!important;white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.tree-leaf.is-current{border-bottom-color:var(--ab-accent, var(--ab-cyan))}.appshell-foot{border-top:0;border-left:1px solid var(--ab-border)}}.page-bar{display:flex;align-items:center;gap:8px;margin:0 0 16px;min-height:28px}.page-bar .spacer{flex:1 1 auto}.appshell-body.is-flush{padding:0;overflow:hidden;display:flex;flex-direction:column}.appshell-body.is-flush>*{flex:1 1 auto;min-height:0}.unsaved{font-size:11px;font-family:var(--ab-font-mono);color:var(--ab-warning);border:1px solid currentColor;border-radius:var(--ab-radius);padding:2px 6px;white-space:nowrap}.side{display:grid;grid-template-rows:minmax(0,1fr) minmax(220px,40%);min-height:0;border-left:1px solid var(--ab-border)}.side>:first-child{border-left:0}.chat{display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--ab-border);background:var(--ab-surface)}.chat-log{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px}.chat-hint{margin:0;font-size:12px;line-height:1.6;color:var(--ab-text-faint)}.chat-hint em{color:var(--ab-text-dim);font-style:normal}.chat-turn{display:flex;flex-direction:column;gap:3px}.chat-who{font-family:var(--ab-font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ab-text-faint)}.chat-turn.you .chat-who{color:var(--ab-accent, var(--ab-cyan))}.chat-text{margin:0;font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-turn.refused .chat-text{color:var(--ab-warning)}.chat-undo{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:2px;padding:2px 6px;font-size:11px;border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:none;color:var(--ab-text-dim);cursor:pointer}.chat-undo:hover{color:var(--ab-text);border-color:var(--ab-border-strong)}.chat-input{display:flex;gap:6px;padding:10px;border-top:1px solid var(--ab-border)}.chat-input textarea{flex:1 1 auto;min-width:0;resize:none;padding:7px 9px;font-size:12.5px;line-height:1.45;border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:var(--ab-surface-sunken, var(--ab-void));color:var(--ab-text)}.chat-input textarea:focus-visible,.chat-input button:focus-visible{outline:2px solid var(--ab-accent, var(--ab-cyan));outline-offset:1px}.chat-input button{flex:none;align-self:flex-end;display:inline-flex;align-items:center;padding:8px 10px;border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:var(--ab-surface-raised);color:var(--ab-text);cursor:pointer}.chat-input button:disabled{opacity:.5;cursor:default}@media(max-width:1100px){.side{grid-template-rows:auto auto;border-left:0}.chat{min-height:280px}}.canvas-tool{position:sticky;top:10px;left:calc(100% - 108px);z-index:6;display:inline-flex;align-items:center;gap:5px;padding:5px 9px;font-size:12px;border:1px solid var(--ab-border);border-radius:var(--ab-radius);background:var(--ab-surface-raised);color:var(--ab-text-dim);cursor:pointer;box-shadow:var(--ab-shadow)}.canvas-tool:hover{color:var(--ab-text);border-color:var(--ab-border-strong)}.canvas-tool:focus-visible{outline:2px solid var(--ab-accent, var(--ab-cyan));outline-offset:1px}.shares{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.shares li{display:grid;grid-template-columns:minmax(72px,auto) 1fr auto;align-items:center;gap:4px 10px}.shares .who{font-size:11px;font-weight:600;letter-spacing:.02em;padding:1px 6px;border-radius:4px;border:1px solid currentColor;opacity:.85;justify-self:start}.shares .who[data-speaker="0"],.shares .fill[data-speaker="0"]{color:#3f6288}.shares .who[data-speaker="1"],.shares .fill[data-speaker="1"]{color:#5f5185}.shares .who[data-speaker="2"],.shares .fill[data-speaker="2"]{color:#2f6b45}.shares .who[data-speaker="3"],.shares .fill[data-speaker="3"]{color:#8a5410}.shares .who[data-speaker="4"],.shares .fill[data-speaker="4"]{color:#8a4a48}.shares .who[data-speaker="5"],.shares .fill[data-speaker="5"]{color:#3d6675}.shares .bar{height:6px;border-radius:3px;background:var(--ab-bg);overflow:hidden}.shares .fill{display:block;height:100%;background:currentColor;border-radius:3px}.shares .figure{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ab-text)}.shares .detail{grid-column:2 / -1;font-size:11px;color:var(--ab-text-faint);font-variant-numeric:tabular-nums}.panel-card .summary{margin:0 0 14px;font-size:13px;line-height:1.6;color:var(--ab-text)}.findings{margin-bottom:14px}.findings h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ab-text-faint);margin:0 0 6px;display:flex;align-items:center;gap:5px}.findings ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.findings li{border-left:2px solid var(--ab-border);padding-left:10px}.findings .what{margin:0;font-size:13px;line-height:1.5}.findings .source{margin:3px 0 0;font-size:11px;color:var(--ab-text-faint);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.findings .source .at{font-variant-numeric:tabular-nums}.findings .source .said-by{font-weight:600;color:var(--ab-text-muted, var(--ab-text-faint))}.findings .source q{font-style:italic;opacity:.9}.topics ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.topics li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:2px 10px}.topics .span{grid-column:1 / -1;position:relative;display:block;height:4px;border-radius:2px;background:var(--ab-bg);overflow:hidden}.topics .run{position:absolute;top:0;bottom:0;background:var(--ab-accent, #6b8caf);border-radius:2px;min-width:3px}.topics .label{font-size:13px;line-height:1.4}.topics .range{font-size:11px;color:var(--ab-text-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.welcome{display:flex;flex-direction:column;gap:1.5rem;padding:clamp(1rem,3vh,2rem) 0 1.5rem}.product-switch{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.6rem}.product-switch button{display:flex;flex-direction:column;gap:.15rem;text-align:left;padding:.8rem 1rem;border-radius:var(--ab-radius-lg);border:1px solid var(--ab-border);background:var(--ab-surface);color:var(--ab-text-dim);transition:border-color .16s ease,background .16s ease,color .16s ease}.product-switch button:hover{border-color:var(--ab-border-strong);color:var(--ab-text)}.product-switch button[aria-pressed=true]{color:var(--ab-text);border-color:var(--ab-border-strong);background:var(--ab-surface-raised);box-shadow:inset 3px 0 0 var(--ab-accent)}.product-switch b{font-size:.92rem;font-weight:600}.product-switch span{font-size:.82rem;color:var(--ab-text-faint)}.product-switch button[aria-pressed=true] span{color:var(--ab-text-dim)}.welcome-doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.7rem}.door{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon blurb";gap:.15rem .7rem;align-items:center;padding:.85rem .95rem;background:var(--ab-surface);border:1px solid var(--ab-border);border-radius:var(--ab-radius-lg);color:inherit;text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}.door:hover,.door:focus-visible{transform:translateY(-1px);border-color:var(--ab-border-strong);background:var(--ab-surface-raised)}.door-icon{grid-area:icon;display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--ab-accent-dim);color:var(--ab-accent)}.door b{grid-area:title;font-size:.9rem;font-weight:600}.door-blurb{grid-area:blurb;color:var(--ab-text-dim);font-size:.81rem;line-height:1.42}.welcome-recent{display:flex;flex-direction:column;gap:.6rem}.welcome-recent-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.welcome-recent-head h2{margin:0;font-size:.95rem;font-weight:600}.welcome-recent-head a{font-size:.83rem;color:var(--ab-accent)}.recent-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.6rem}.recent{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .9rem;background:var(--ab-surface-sunken);border:1px solid var(--ab-border);border-radius:var(--ab-radius);color:inherit;text-decoration:none;transition:background .16s ease,border-color .16s ease}.recent:hover{background:var(--ab-surface);border-color:var(--ab-border-strong)}.recent b{font-size:.87rem;font-weight:600}.recent span{color:var(--ab-text-dim);font-size:.8rem;line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recent small{color:var(--ab-text-faint);font-size:.74rem}.media-surround,.player-shell,.teaser-preview{background:var(--ab-media-surround);border-color:var(--ab-media-edge);color:var(--ab-media-text);border-radius:var(--ab-radius-lg)}.media-surround video,.player-shell video,.teaser-preview video{display:block;width:100%;border-radius:var(--ab-radius)}.rec{--paper: var(--ab-surface);--paper-2: var(--ab-deep-space);--sunk: var(--ab-surface-sunken);--line: var(--ab-border);--line-2: var(--ab-border-strong);--ink: var(--ab-text);--ink-2: var(--ab-text-dim);--ink-3: var(--ab-text-faint);--mark: var(--ab-accent);--mark-soft: var(--ab-accent-dim);position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--paper);color:var(--ink);overflow:hidden}.rec-loading{display:flex;align-items:center;gap:.5rem;padding:2rem;color:var(--ab-text-dim)}.rec-bar{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;border-bottom:1px solid var(--line);background:var(--paper);flex:none}.rec-crumb{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ink-3)}.rec-crumb b{color:var(--ink);font-weight:600}.rec-crumb .sep{color:var(--line-2)}.rec .btn{border-color:var(--line-2);background:var(--paper);color:var(--ink-2)}.rec .btn:hover{background:var(--sunk);color:var(--ink)}.rec .btn-primary{background:var(--mark);border-color:transparent;color:#fff}.rec .btn-primary:hover{background:var(--ab-accent-bright);color:#fff}.rec-split{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,27rem);overflow:hidden}.rec-notes{overflow-y:auto;padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,4vw,3.25rem) 4rem;display:flex;flex-direction:column;gap:1.1rem}.rec-notes h1{margin:0;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;letter-spacing:-.022em;line-height:1.2;text-wrap:balance}.rec-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .7rem;color:var(--ink-3);font-size:.88rem}.dot-sep:before{content:"·";margin-right:.5rem}.faces{display:flex}.face{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:.66rem;font-weight:600;letter-spacing:.02em;border:2px solid var(--paper);margin-right:-7px;flex:none}.face.sm{width:22px;height:22px;font-size:.6rem;margin:0;border-width:0}.rec-lens{display:inline-flex;align-items:center;gap:.4rem;align-self:flex-start;padding:.35rem .7rem .35rem .6rem;border-radius:999px;border:1px solid var(--line-2);background:var(--mark-soft);color:var(--mark);font-weight:600;font-size:.9rem}.rec-lens select{border:0;background:none;color:inherit;font:inherit;font-weight:600;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:.1rem}.rec-block{display:flex;flex-direction:column;gap:.5rem}.rec-block h2{margin:.5rem 0 0;font-size:1.05rem;font-weight:650}.rec-block p{margin:0;color:var(--ink-2);line-height:1.65;max-width:62ch}.rec-topic{display:flex;flex-direction:column;gap:.3rem;margin-top:.6rem}.rec-topic h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.97rem;font-weight:600}.rec-topic h3 em{font-style:normal;color:var(--ink-3);font-weight:400;font-size:.85rem}.swatch-sq{width:13px;height:13px;border-radius:3px;background:var(--ink);flex:none}.rec-topic ul,.rec-list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.35rem}.rec-topic li,.rec-list li{color:var(--ink-2);line-height:1.55}.rec-list{list-style:none;padding-left:0}.rec-list li{display:flex;flex-direction:column;gap:.1rem}.rec-list small{color:var(--ink-3);font-size:.78rem}.rec-topic li button,.rec-list li button{padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-bottom:1px solid transparent}.rec-topic li button:hover,.rec-list li button:hover{color:var(--mark);border-bottom-color:var(--mark)}.rec-transcript{border-left:1px solid var(--line);background:var(--paper-2);display:flex;flex-direction:column;overflow:hidden}.rec-transcript-head{padding:1.1rem 1.2rem .6rem}.rec-transcript-head h2{margin:0;font-size:1rem;font-weight:600}.rec-find{display:flex;align-items:center;gap:.5rem;margin:0 1.2rem .5rem;padding:.45rem .7rem;border-radius:9px;border:1px solid var(--line);background:var(--sunk);color:var(--ink-3)}.rec-find input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--ink);font-size:.9rem}.rec-find input::placeholder{color:var(--ink-3)}.rec-lines{flex:1;overflow-y:auto;padding:.3rem 1.2rem 3rem}.said{padding:.7rem .6rem;margin:0 -.6rem;border-radius:9px;transition:background .15s ease}.said:hover{background:var(--sunk)}.said:hover .said-clip{opacity:1}.said.at{background:var(--mark-soft)}.said-who{display:flex;align-items:center;gap:.45rem;margin-bottom:.25rem}.said-who b{font-size:.88rem;font-weight:600}.stamp{padding:0;border:0;background:none;font:inherit;font-size:.82rem;color:var(--mark);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.said-clip{margin-left:auto;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;border:1px solid var(--line);background:var(--paper);color:var(--ink-3);opacity:0;transition:opacity .15s ease,color .15s ease}.said-clip:hover{color:var(--mark)}.said p{margin:0;color:var(--ink-2);line-height:1.62;font-size:.94rem}.rec .empty-note{color:var(--ink-3)}@media(max-width:900px){.rec-split{grid-template-columns:1fr;overflow-y:auto}.rec-transcript{border-left:0;border-top:1px solid var(--line)}}.appshell-collapse{margin-left:auto;width:26px;height:26px;display:grid;place-items:center;border-radius:7px;border:1px solid transparent;background:none;color:var(--ab-text-faint);flex:none;transition:color .15s ease,background .15s ease,border-color .15s ease}.appshell-collapse:hover{color:var(--ab-text);background:var(--ab-surface-sunken);border-color:var(--ab-border)}.is-narrow .appshell-brand{justify-content:center;padding-left:0;padding-right:0}.is-narrow .appshell-mark{display:none}.is-narrow .appshell-collapse{margin:0}.is-narrow .appshell-name,.is-narrow .appshell-status-text,.is-narrow .appshell-version,.is-narrow .appshell-email{width:0;opacity:0;overflow:hidden;white-space:nowrap;pointer-events:none}.is-narrow .appshell-tree,.is-narrow .appshell-foot{padding-left:6px;padding-right:6px}.is-narrow .appshell-status,.is-narrow .appshell-account{justify-content:center}.is-narrow .tree-group{display:flex;flex-direction:column}.keytable{width:100%;margin-top:14px;border:1px solid var(--ab-border);border-radius:10px;overflow:hidden}.keytable-head,.keytable-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px}.keytable-head{background:var(--ab-surface-sunken);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ab-text-dim)}.keytable-row+.keytable-row,.keytable-head+.keytable-row{border-top:1px solid var(--ab-border)}.keytable-row.is-revoked{opacity:.55}.keytable-name{font-weight:600;overflow-wrap:anywhere}.keytable-key{font-family:var(--ab-font-mono);font-size:12px;color:var(--ab-text-dim);overflow-wrap:anywhere}.keytable-meta{font-size:11px;color:var(--ab-text-faint)}.keytable-actions{display:flex;gap:8px;justify-content:flex-end}@media(max-width:720px){.keytable-head{display:none}.keytable-row{grid-template-columns:1fr;gap:6px}.keytable-actions{justify-content:flex-start}}.scope-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--ab-border);border-radius:8px;background:var(--ab-surface);cursor:pointer}.scope-option+.scope-option{margin-top:8px}.scope-option:hover{border-color:var(--ab-border-strong)}.scope-option input{width:auto;margin:0;flex:none}.keytable-lineage{display:inline-block;margin-top:3px;padding:1px 6px;border-radius:4px;background:var(--ab-surface-sunken);color:var(--ab-text-dim);font-family:var(--ab-font-mono);font-size:10px}.keytable-lineage.is-superseded{background:#d69e2e24;color:#8a6410}.keytabs{display:flex;gap:4px;margin-top:18px;border-bottom:1px solid var(--ab-border)}.keytab{display:flex;align-items:center;gap:7px;padding:8px 14px;border:none;border-bottom:2px solid transparent;background:none;color:var(--ab-text-dim);font-size:13px;font-weight:600;cursor:pointer;margin-bottom:-1px}.keytab:hover{color:var(--ab-text)}.keytab.is-current{color:var(--ab-accent);border-bottom-color:var(--ab-accent)}.keytab-count{min-width:20px;padding:1px 6px;border-radius:10px;background:var(--ab-surface-sunken);color:var(--ab-text-dim);font-size:11px;font-variant-numeric:tabular-nums;text-align:center}.keytab.is-current .keytab-count{background:var(--ab-accent);color:#fff}.endpoint{padding:12px 14px;border:1px solid var(--ab-border);border-radius:10px;background:var(--ab-surface-raised)}.endpoint+.endpoint{margin-top:10px}.endpoint-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.endpoint-url{font-family:var(--ab-font-mono);font-size:12px;color:var(--ab-text-dim);overflow-wrap:anywhere;margin:2px 0 4px}.endpoint-ok{color:#1a7f4b;font-weight:600}.endpoint-bad{color:#b3261e;font-weight:600}.endpoint-secret{margin-top:12px;padding-top:12px;border-top:1px solid var(--ab-border);display:flex;flex-direction:column;gap:8px}.autorecord{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border:1px solid var(--ab-border);border-radius:999px;background:var(--ab-surface);color:var(--ab-text-dim);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.autorecord input{width:auto;margin:0;flex:none}.autorecord.is-on{border-color:var(--ab-accent);background:color-mix(in srgb,var(--ab-accent) 10%,var(--ab-surface));color:var(--ab-accent)}
