:root{--tb-ink:#111827;--tb-muted:#64748b;--tb-line:#f1f5f9;--tb-paper:#ffffff;--tb-bg:#f8fafc;--tb-green:#334155;--tb-orange:#a5b4fc;--tb-radius:12px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--tb-bg);color:var(--tb-ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a,button{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #cbd5e1;outline-offset:4px}::selection{background:#f1f5f9}h1,h2,h3,p{margin-top:0}.tb-header{display:flex;align-items:center;gap:42px;height:94px;max-width:1700px;padding:0 44px;margin:auto;border-bottom:1px solid var(--tb-line)}.tb-brand{display:flex;align-items:center;gap:16px;text-decoration:none;white-space:nowrap;font-size:19px;letter-spacing:-.6px}.tb-brand strong{font-weight:400}.tb-logo{font-size:39px;font-weight:bold;letter-spacing:-4px;line-height:1}.tb-logo span{color:var(--tb-orange)}.tb-brand small{display:block;font-size:8px;letter-spacing:2px;color:var(--tb-muted);margin-top:8px}.tb-header nav{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;height:100%}.tb-nav-link{font-size:13px;text-decoration:none;padding:11px 15px;color:#64748b;border-radius:7px;white-space:nowrap}.tb-nav-link:hover{background:#f1f5f9}.tb-nav-link.is-active{background:#f1f5f9;color:#1e293b;font-weight:600}.tb-studio-link{font-size:12px;text-decoration:none;border:1px solid var(--tb-line);padding:9px 15px;border-radius:6px;white-space:nowrap}.tb-preview{max-width:1700px;margin:auto;padding:14px 44px;color:#64748b;font-size:10px;letter-spacing:.35px;display:flex;align-items:center;gap:9px}.tb-status-dot{width:5px;height:5px;background:#a5b4fc;border-radius:50%}.tb-preview-divider{color:#cbd5e1;margin:0 6px}.tb-preview-right{margin-left:auto}.tb-main{max-width:1580px;padding:25px 44px 65px;margin:0 auto;min-height:70vh}.tb-footer{max-width:1492px;display:flex;gap:25px;justify-content:space-between;margin:0 auto;padding:26px 0 34px;border-top:1px solid var(--tb-line);font-size:11px;color:var(--tb-muted)}.tb-footer a{text-decoration:none}.tb-orange{color:var(--tb-orange)}.tb-green{color:var(--tb-green)!important}.tb-red{color:#dc2626!important}.tb-muted{color:var(--tb-muted)}.tb-small{font-size:12px;color:var(--tb-muted);line-height:1.6}.tb-eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:600;color:var(--tb-muted);line-height:1.5;margin:0 0 16px}.tb-intro{display:flex;justify-content:space-between;align-items:flex-end;margin:32px 0 43px}.tb-intro h1{font-size:clamp(40px,4.1vw,62px);font-weight:500;letter-spacing:-2.6px;line-height:1.1;margin:0 0 22px}.tb-intro h1 span{color:#64748b}.tb-lead{font-size:15px;line-height:1.8;color:#64748b;margin:0}.tb-desk-date{text-align:right;font-size:9px;letter-spacing:1.8px;color:#64748b;padding-bottom:8px;line-height:2}.tb-desk-date strong{display:block;font-size:12px;font-weight:400;letter-spacing:.3px;color:#475569}.tb-feature{border:1px solid var(--tb-line);border-radius:var(--tb-radius);display:grid;grid-template-columns:1fr 1.08fr;overflow:hidden;background:#ffffff}.tb-feature-copy{padding:32px 36px 34px;border-right:1px solid var(--tb-line)}.tb-feature-copy>.tb-eyebrow{margin-bottom:27px}.tb-company-heading{display:flex;align-items:center;gap:13px}.tb-company-heading h2{font-size:26px;letter-spacing:-.8px;margin:0 0 4px;font-weight:500}.tb-company-heading .tb-muted{font-size:10px;letter-spacing:.5px}.tb-company-icon{display:flex;align-items:center;justify-content:center;background:#f8fafc;color:#818cf8;border:1px solid #eef2ff;width:46px;height:46px;flex-shrink:0;font-size:18px;letter-spacing:-1px;font-weight:600;border-radius:11px}.tb-pill{font-size:10px;border:1px solid #f1f5f9;color:#334155;padding:5px 9px;background:#f8fafc;border-radius:5px;white-space:nowrap}.tb-company-heading .tb-pill{margin-left:auto}.tb-feature-copy h3{font-size:21px;font-weight:400;letter-spacing:-.5px;margin:26px 0 13px}.tb-feature-copy>p:not(.tb-eyebrow){font-size:14px;line-height:1.75;color:var(--tb-muted);max-width:430px}.tb-actions{display:flex;align-items:center;gap:20px;margin-top:28px;flex-wrap:wrap}.tb-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--tb-ink);color:white;border:1px solid var(--tb-ink);border-radius:6px;padding:13px 20px;font-size:12px;line-height:1.4;gap:15px;cursor:pointer;white-space:nowrap}.tb-button:hover{background:#1e293b;color:white}.tb-button-small{padding:9px 14px}.tb-button-light{background:#ffffff;color:var(--tb-ink);border-color:#e2e8f0}.tb-button-light:hover{background:#f1f5f9;color:var(--tb-ink)}.tb-feature-visual{padding:24px 30px 0;background:linear-gradient(130deg,#f8fafc,#f1f5f9)}.tb-visual-label{display:flex;justify-content:space-between;color:#94a3b8;font-size:9px;letter-spacing:1px}.tb-dot-label{letter-spacing:0;color:#818cf8}.tb-dot-label:before{content:'•';margin-right:5px}.tb-mini-flow{width:100%;display:block;max-height:245px}.tb-mini-flow>path{fill:none;opacity:.33}.tb-feature-numbers{border-top:1px solid #e2e8f0;padding:18px 0 22px;display:flex;justify-content:space-between;gap:15px}.tb-feature-numbers small,.tb-case-stats small,.tb-metrics small{font-size:9px;letter-spacing:1px;color:#64748b;display:block;margin-bottom:7px}.tb-feature-numbers strong{display:block;font-size:28px;letter-spacing:-1px;font-weight:500}.tb-feature-numbers strong span{display:block;font-size:10px;letter-spacing:0;font-weight:400;color:#94a3b8;margin-top:4px}.tb-section{margin-top:44px}.tb-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.tb-section-title .tb-eyebrow{margin-bottom:7px}.tb-section-title h2{font-size:24px;letter-spacing:-.7px;font-weight:500;margin:0}.tb-text-link{font-size:12px;text-decoration:none;color:#334155;font-weight:500}.tb-text-link:hover{text-decoration:underline;text-underline-offset:4px}.tb-grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.tb-screen-card{display:block;text-decoration:none;border:1px solid var(--tb-line);border-radius:var(--tb-radius);background:#ffffff;padding:23px;transition:transform .2s,box-shadow .2s}.tb-screen-card:hover{transform:translateY(-3px);box-shadow:0 9px 20px #11182708}.tb-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px;gap:10px}.tb-card-top .tb-small{font-size:9px;letter-spacing:.6px}.tb-screen-symbol{width:30px;height:30px;display:grid;place-items:center;font-size:25px;background:#f1f5f9;border-radius:7px;color:#64748b}.tb-screen-1 .tb-screen-symbol{background:#f1f5f9;color:#a5b4fc}.tb-screen-2 .tb-screen-symbol{background:#eef2ff;color:#a5b4fc}.tb-screen-card h3{display:flex;justify-content:space-between;font-size:19px;font-weight:500;letter-spacing:-.4px;margin:0 0 11px}.tb-screen-card h3 span{font-size:14px;color:#94a3b8}.tb-screen-card>p{color:var(--tb-muted);font-size:12px;line-height:1.65;max-width:280px;min-height:40px;margin-bottom:17px}.tb-ticker-row{display:flex;gap:7px;flex-wrap:wrap}.tb-ticker-row span{background:#f8fafc;border:1px solid #f1f5f9;padding:4px 7px;border-radius:4px;font-size:10px;color:#64748b}.tb-card-date{font-size:10px;border-top:1px solid #f1f5f9;margin-top:20px;padding-top:14px}.tb-empty-inline{display:flex;align-items:center;gap:22px;border:1px dashed #e2e8f0;border-radius:var(--tb-radius);padding:27px 28px}.tb-outline-icon{border:1px solid #e2e8f0;color:#64748b;border-radius:50%;width:42px;height:42px;display:inline-grid;place-items:center;flex-shrink:0;font-size:23px}.tb-empty-inline h3{font-size:15px;font-weight:500;letter-spacing:-.3px;margin:0 0 7px}.tb-empty-inline p{font-size:12px;color:var(--tb-muted);margin:0}.tb-empty-inline>.tb-text-link{margin-left:auto;white-space:nowrap}.tb-page-heading{margin:34px 0 34px}.tb-page-heading h1{font-size:46px;letter-spacing:-1.9px;font-weight:500;line-height:1.15;margin:0 0 16px}.tb-page-heading>p:not(.tb-eyebrow),.tb-page-heading>div>p:not(.tb-eyebrow){font-size:15px;color:var(--tb-muted);line-height:1.7;margin:0}.tb-heading-row{display:flex;justify-content:space-between;align-items:center}.tb-heading-stat{display:flex;flex-direction:column;align-items:flex-end}.tb-heading-stat strong{font-size:45px;letter-spacing:-2px;font-weight:400;color:#475569}.tb-heading-stat span{font-size:11px;color:var(--tb-muted)}.tb-filter-bar{display:flex;gap:12px;align-items:center;padding:15px 0 24px;flex-wrap:wrap}.tb-filter-bar input[type=search]{width:320px}.tb-filter-bar input[type=search],.tb-filter-bar select,.tb-link-input,#waterfall-reference{background:#ffffff;border:1px solid #e2e8f0;border-radius:5px;font-size:12px;padding:11px 13px;color:#475569;min-height:39px}.tb-filter-bar .tb-small{margin-left:auto}.tb-company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.tb-company-card,.tb-case-card,.tb-portfolio-card{background:white;border:1px solid var(--tb-line);border-radius:var(--tb-radius);padding:25px;text-decoration:none}.tb-company-card h2{font-size:25px;font-weight:500;letter-spacing:-.7px;margin:0 0 10px}.tb-company-card h2 span{font-size:11px;color:#94a3b8;margin-left:12px;letter-spacing:.5px}.tb-company-card>p{font-size:13px;color:var(--tb-muted)}.tb-card-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #f1f5f9;padding-top:17px;margin-top:16px}.tb-card-bottom .tb-small{font-size:10px}.tb-empty{text-align:center;border:1px dashed var(--tb-line);border-radius:var(--tb-radius);padding:60px 24px}.tb-empty h2{font-size:25px;letter-spacing:-.7px;font-weight:500;margin:20px 0 12px}.tb-empty p{font-size:14px;color:var(--tb-muted);margin:0 0 25px}.tb-note{font-size:12px;color:#64748b;line-height:1.8;background:#f1f5f9;border:1px solid #f1f5f9;border-radius:7px;padding:17px 20px;margin:28px 0}.tb-breadcrumb{font-size:12px;margin-top:13px;color:#64748b}.tb-breadcrumb a{text-decoration:none}.tb-table-wrap{overflow-x:auto;border:1px solid var(--tb-line);border-radius:9px;background:#ffffff}.tb-table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.tb-table th{font-size:10px;font-weight:400;color:#94a3b8;background:#f8fafc;text-align:right;padding:16px 19px;border-bottom:1px solid var(--tb-line)}.tb-table td{text-align:right;padding:17px 19px;border-bottom:1px solid #f1f5f9;font-variant-numeric:tabular-nums;color:#475569}.tb-table th:first-child,.tb-table td:first-child{text-align:left}.tb-table td strong{font-weight:600;color:#1e293b}.tb-table td small{display:block;font-size:10px;color:#94a3b8;margin-top:5px}.tb-table tr:last-child td{border-bottom:0}.tb-table tbody tr:hover{background:#f8fafc}.tb-screen-summary{display:flex;gap:26px;font-size:11px;color:#94a3b8;margin:0 0 19px}.tb-screen-summary span:last-child{margin-left:auto}.tb-details{background:#ffffff;border:1px solid var(--tb-line);border-radius:8px;margin-top:24px;padding:19px 22px}.tb-details summary{font-size:14px;color:#1e293b;cursor:pointer}.tb-criteria{columns:2;font-size:12px;line-height:1.8;color:var(--tb-muted);padding-left:17px;margin:18px 0 0}.tb-criteria li{break-inside:avoid;margin-bottom:8px;padding-right:24px}.tb-case-card>h3{font-size:21px;font-weight:500;line-height:1.35;letter-spacing:-.5px;margin-bottom:12px}.tb-case-card>p{font-size:13px;color:var(--tb-muted);line-height:1.7;min-height:60px}.tb-case-stats{display:flex;gap:35px;padding:15px 0}.tb-case-stats strong{font-size:26px;font-weight:400;letter-spacing:-.8px}.tb-case-tools{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.tb-plain-button{border:0;background:none;padding:0;font-size:11px;color:#64748b;text-decoration:underline;text-underline-offset:3px}.tb-share-preview{margin-top:20px;border-top:1px solid var(--tb-line);padding-top:16px}.tb-share-preview summary{font-size:12px;color:#334155;cursor:pointer}.tb-share-preview p{font-size:12px;line-height:1.6;color:var(--tb-muted);margin:15px 0}.tb-shared-row{display:flex;justify-content:space-between;font-size:11px;margin-top:20px;border-top:1px solid var(--tb-line);padding-top:15px}.tb-share-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:25px}.tb-panel{background:#ffffff;border:1px solid var(--tb-line);border-radius:var(--tb-radius);padding:30px}.tb-panel h2{font-size:25px;letter-spacing:-.7px;font-weight:500;line-height:1.3}.tb-panel p{color:var(--tb-muted);font-size:14px;line-height:1.8}.tb-panel .tb-story-prose{font-size:18px;line-height:1.9;color:#1e293b;white-space:pre-wrap}.tb-watch{background:#f8fafc;padding:20px 23px;margin-top:25px;border-left:3px solid #cbd5e1}.tb-watch .tb-eyebrow{font-size:9px;margin-bottom:8px}.tb-watch p:last-child{margin-bottom:0;font-size:13px;line-height:1.8}.tb-large-number{display:block;font-size:55px;letter-spacing:-2px;font-weight:400;margin-bottom:12px}.tb-panel hr{border:0;border-top:1px solid var(--tb-line);margin:25px 0}.tb-link-input{width:100%;margin:8px 0 14px}.tb-input-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px;font-size:12px}.tb-input-list dt{color:var(--tb-muted);font-weight:400;margin-bottom:7px}.tb-input-list dd{margin:0}.tb-portfolio-card h2{font-size:25px;font-weight:500;letter-spacing:-.6px}.tb-portfolio-card>p:not(.tb-eyebrow){font-size:13px;line-height:1.7;color:var(--tb-muted);min-height:60px}.tb-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;border-top:1px solid var(--tb-line);border-bottom:1px solid var(--tb-line);padding:28px 0;margin:33px 0}.tb-metrics strong{font-size:33px;font-weight:400;letter-spacing:-1px}.tb-metrics .tb-date-number{font-size:22px;line-height:1.8}.tb-metric-note{display:block;font-size:11px;color:var(--tb-muted);margin-top:6px;line-height:1.4}.tb-chart-panel{border:1px solid var(--tb-line);background:#ffffff;border-radius:var(--tb-radius);padding:25px;margin:30px 0}.tb-chart-panel svg{display:block;width:100%}.tb-legend{display:flex;gap:15px;font-size:10px;color:#334155}.tb-legend span:nth-child(2){color:#a5b4fc}.tb-legend span:nth-child(3){color:#cbd5e1}.tb-workflow{padding-left:22px;margin:25px 0}.tb-workflow li{padding:0 0 23px 9px;color:#818cf8;font-size:13px}.tb-workflow strong{font-weight:500;display:block;color:#1e293b;margin-bottom:8px}.tb-workflow span{font-size:12px;line-height:1.6;color:var(--tb-muted)}.tb-edition-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--tb-line);padding:15px 0}.tb-edition-row h3{font-size:19px;font-weight:500;margin-bottom:5px}.tb-edition-row p{font-size:11px;margin:0}.tb-notice{max-width:1492px;margin:12px auto;padding:14px 20px;border-radius:7px;background:#eef2ff;color:#334155;font-size:13px}.tb-skip{position:fixed;top:-100px;left:20px;z-index:3000;background:var(--tb-ink);color:white;padding:14px}.tb-skip:focus{top:15px}
/* Keep the imported model's own geometric canvas; the Rails shell stays consistent. */
.tb-model-page .tb-main{max-width:1740px;padding-top:8px}.tb-lab.workspace{padding:0;max-width:none}.tb-company-breadcrumb{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--tb-line);padding:10px 0 20px;color:#64748b;font-size:11px}.tb-company-breadcrumb>a{text-decoration:none}.tb-company-breadcrumb nav{margin-left:auto;display:flex;gap:25px}.tb-company-breadcrumb nav a{color:#64748b;text-decoration:none}.tb-lab .value-bar{background:var(--tb-bg);position:relative}.tb-lab h1{font-family:Arial,Helvetica,sans-serif}.tb-lab .value-bar .company-title h1{font-size:43px}.tb-lab .value-bar .company-title p{color:#64748b}.tb-lab .story-section{margin-top:25px}.tb-lab .diagram-scene{margin:auto}.tb-lab .story-library p{font-size:12px}.tb-lab footer{margin-top:20px}.tb-waterfall{background:#ffffff;border:1px solid var(--tb-line);border-radius:10px;padding:28px;margin:30px 0}.tb-waterfall h2{font-size:24px}.tb-waterfall label{display:flex;align-items:center;gap:12px}.tb-waterfall svg{min-width:720px;width:100%;display:block}.tb-waterfall #waterfall-chart{overflow:auto}.tb-waterfall #waterfall-caption{margin:15px 0 0}.tb-research{display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid #e2e8f0;border-radius:10px;background:#f1f5f9;padding:32px;margin-top:35px}.tb-research h2{font-size:25px;font-weight:500;letter-spacing:-.6px;margin:0 0 12px}.tb-research p{font-size:13px;color:#64748b;margin:0;max-width:620px;line-height:1.7}.tb-research .tb-eyebrow{font-size:10px;margin-bottom:12px}.presenting .tb-header,.presenting .tb-preview,.presenting .tb-company-breadcrumb,.presenting .tb-footer,.presenting .tb-research,.presenting .tb-waterfall{display:none}.presenting .tb-main{max-width:1600px;padding-top:0}.tb-saving{opacity:.55;pointer-events:none}
@media(min-width:1600px){.tb-main{padding-top:35px}.tb-intro{margin-bottom:50px}.tb-feature-copy{padding:38px 43px}.tb-feature-visual{padding:30px 40px 0}.tb-feature-visual .tb-mini-flow{max-height:260px}}
@media(max-width:1150px){.tb-header{padding:0 25px;gap:20px}.tb-brand{font-size:16px}.tb-nav-link{padding:10px;font-size:12px}.tb-header nav{gap:1px}.tb-main{padding-left:25px;padding-right:25px}.tb-preview{padding-left:25px;padding-right:25px}.tb-footer{margin:0 25px}.tb-feature-copy{padding:27px}.tb-feature-visual{padding:24px 24px 0}.tb-actions{gap:12px}.tb-actions .tb-small{font-size:10px}.tb-company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-grid-three{gap:14px}.tb-screen-card{padding:19px}.tb-feature-numbers strong{font-size:24px}.tb-header .tb-studio-link{display:none}.tb-company-breadcrumb nav{gap:15px}}
@media(max-width:800px){.tb-header{height:auto;padding:20px 20px 0;flex-wrap:wrap;gap:17px}.tb-header nav{order:2;flex:1 0 100%;justify-content:flex-start;overflow-x:auto;padding-bottom:15px}.tb-nav-link{font-size:12px;padding:9px 13px}.tb-brand{font-size:19px}.tb-brand small{font-size:8px}.tb-header .tb-studio-link{display:block;margin-left:auto}.tb-preview{padding:12px 20px;font-size:9px}.tb-preview-right{display:none}.tb-main{padding:20px 20px 45px}.tb-intro{margin:18px 0 30px}.tb-intro h1{font-size:43px;letter-spacing:-1.8px}.tb-desk-date{display:none}.tb-lead{font-size:13px}.tb-feature{grid-template-columns:1fr}.tb-feature-copy{border-right:0;padding:25px}.tb-feature-visual{border-top:1px solid var(--tb-line);padding:20px 25px 0}.tb-feature-visual .tb-mini-flow{max-height:190px}.tb-grid-three{grid-template-columns:1fr}.tb-screen-card>p{min-height:0;max-width:none}.tb-section{margin-top:33px}.tb-section-title{align-items:center;gap:12px}.tb-section-title h2{font-size:22px}.tb-section-title>.tb-text-link{font-size:10px}.tb-empty-inline{padding:23px;flex-wrap:wrap}.tb-empty-inline>.tb-text-link{margin-left:64px}.tb-empty-inline>div{flex:1}.tb-empty-inline p{line-height:1.7}.tb-footer{flex-direction:column;gap:12px;margin:0 20px;font-size:10px}.tb-page-heading{margin-top:20px}.tb-page-heading h1{font-size:36px;letter-spacing:-1.3px}.tb-page-heading>p:not(.tb-eyebrow){font-size:13px}.tb-heading-stat strong{font-size:32px}.tb-heading-stat span{font-size:10px;max-width:70px;text-align:right}.tb-filter-bar{gap:8px}.tb-filter-bar input[type=search]{width:100%}.tb-filter-bar select{flex:1;min-width:0}.tb-filter-bar .tb-small{width:100%;margin-left:0}.tb-company-grid{grid-template-columns:1fr}.tb-table td,.tb-table th{padding:15px}.tb-share-layout{grid-template-columns:1fr}.tb-panel{padding:23px}.tb-panel .tb-story-prose{font-size:16px}.tb-input-list{grid-template-columns:1fr 1fr}.tb-criteria{columns:1}.tb-metrics{grid-template-columns:1fr 1fr;gap:25px}.tb-metrics strong{font-size:28px}.tb-chart-panel{padding:18px}.tb-chart-panel .tb-section-title h2{font-size:19px}.tb-legend{gap:9px;font-size:9px}.tb-research{flex-direction:column;align-items:flex-start;padding:25px}.tb-company-breadcrumb{flex-wrap:wrap;gap:13px}.tb-company-breadcrumb nav{margin-left:0;flex-basis:100%;justify-content:space-between;padding-top:6px}.tb-company-breadcrumb>span{margin-left:auto}.tb-waterfall{padding:20px}.tb-waterfall .tb-section-title{align-items:flex-start;flex-direction:column}.tb-waterfall label{font-size:11px}.tb-model-page .tb-main{padding-left:16px;padding-right:16px}.tb-company-heading .tb-pill{font-size:9px}.tb-notice{margin:12px 20px}.tb-case-card>p{min-height:0}}
.tb-shared-flow{overflow-x:auto}.tb-shared-flow svg{min-width:800px;width:100%}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Published repurchase assumptions and annual cash/share bridge. */
.tb-buyback-plan { margin: 28px 0 44px; padding: 28px; border: 1px solid #f1f5f9; border-radius: 16px; background: #f1f5f9; }
.tb-buyback-source { margin: 18px 0; }
.tb-buyback-source h3 { margin: 8px 0; font-size: 23px; }
.tb-buyback-source p { max-width: 900px; line-height: 1.55; }
.tb-buyback-source a { color: #1e293b; text-decoration: underline; }
.tb-buyback-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin: 26px 0 18px; }
.tb-buyback-metrics small { display: block; margin-bottom: 8px; color: #475569; font-size: 11px; letter-spacing: .06em; }
.tb-buyback-metrics strong { font-size: clamp(18px,2vw,25px); color: #1e293b; }
.tb-buyback-plan summary { cursor: pointer; color: #1e293b; }
.tb-buyback-table { overflow-x: auto; margin-top: 16px; }
.tb-buyback-table table { min-width: 670px; }
@media(max-width: 650px) { .tb-buyback-plan { padding: 20px 16px; } .tb-buyback-metrics { grid-template-columns: 1fr; gap: 18px; } }
.tb-company-icon svg{display:block;max-width:65%;max-height:65%;width:auto;height:auto}
.tb-button, a.tb-button, button.tb-button, input[type="submit"].tb-button,
.tb-button-primary, a.tb-button-primary, button.tb-button-primary, input[type="submit"].tb-button-primary {
  color: #ffffff !important;
  text-decoration: none !important;
}
.tb-button:hover, a.tb-button:hover, button.tb-button:hover, input[type="submit"].tb-button:hover,
.tb-button-primary:hover, a.tb-button-primary:hover, button.tb-button-primary:hover, input[type="submit"].tb-button-primary:hover {
  color: #ffffff !important;
}
.tb-button-light, a.tb-button-light, button.tb-button-light, input[type="submit"].tb-button-light {
  background: #ffffff !important;
  color: var(--tb-ink, #111827) !important;
  border-color: #e2e8f0 !important;
}
.tb-button-light:hover, a.tb-button-light:hover, button.tb-button-light:hover, input[type="submit"].tb-button-light:hover {
  background: #f1f5f9 !important;
  color: var(--tb-ink, #111827) !important;
}

/* Sankey Interactive Stage */
.tb-diagram-wrap {
  border: 1px solid var(--tb-line);
  border-radius: var(--tb-radius);
  background: #ffffff;
  margin: 24px 0 16px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}
.tb-diagram-scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  scrollbar-color: #e2e8f0 transparent;
}
.tb-diagram-scene {
  position: relative;
  margin: 0 auto;
}
.tb-diagram-scene svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.tb-flow-link {
  opacity: 0.35;
  transition: opacity 0.15s;
  cursor: pointer;
}
.tb-flow-link:hover {
  opacity: 0.65;
}
.tb-flow-node {
  rx: 3px;
}
.tb-stage-label {
  position: absolute;
  top: 18px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.8px;
  color: #64748b;
}
.tb-source-stage { left: 28px; }
.tb-revenue-stage { left: 540px; }
.tb-cash-stage { left: 905px; }
.tb-owner-stage { left: 905px; }

/* Product Cards within Sankey */
.tb-product-card {
  position: absolute;
  left: 28px;
  width: 216px;
  border-left: 3px solid var(--accent, var(--tb-green));
  padding: 0 0 0 12px;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 0 4px 4px 0;
}
.tb-product-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--tb-ink);
  line-height: 1.25;
}
.tb-product-value {
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.6px;
  margin: 3px 0 8px;
  color: var(--tb-ink);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.tb-product-field {
  margin-bottom: 6px;
}
.tb-product-field label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: var(--tb-muted);
}
.tb-product-field output {
  font-weight: 600;
  color: var(--accent, var(--tb-green));
}
.tb-product-field input[type=range] {
  --color: var(--accent, var(--tb-green));
  height: 4px;
  margin: 5px 0 0;
}
.tb-product-margin label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: var(--tb-muted);
}
.tb-margin-box {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--tb-ink);
  font-size: 12px;
}
.tb-margin-box input {
  border: 0;
  border-bottom: 1px dashed #94a3b8;
  background: transparent;
  font: 12px Arial, sans-serif;
  color: var(--accent, var(--tb-green));
  font-weight: 600;
  width: 38px;
  text-align: right;
  padding: 0 0 1px;
}
.tb-margin-box input:focus {
  outline: none;
  border-bottom-color: var(--tb-ink);
}

/* Flow Outcome Labels */
.tb-flow-label {
  position: absolute;
  display: block;
  text-align: left;
  max-width: 250px;
  background: rgba(255, 255, 255, 0.95);
  padding: 4px 6px;
  border-radius: 4px;
}
.tb-flow-label > span {
  font-size: 12px;
  color: var(--tb-muted);
  display: block;
  line-height: 1.3;
}
.tb-flow-label > strong {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: -0.8px;
  margin: 3px 0;
  display: block;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.tb-flow-label > small {
  font-size: 11px;
  color: var(--tb-muted);
  display: block;
  line-height: 1.4;
}
.tb-revenue-label strong { color: #111827; }
.tb-costs-label strong { color: #64748b; font-size: 24px; }
.tb-cash-label strong { color: #4f46e5; }
.tb-owner-label strong { color: var(--tb-green); font-size: 28px; }

/* Nu Customer Economics Engine */
.tb-nu-engine {
  position: absolute;
  left: 28px;
  top: 55px;
  width: 320px;
  background: #f8fafc;
  border: 1px solid var(--tb-line);
  border-radius: 9px;
  padding: 16px 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.tb-engine-header .tb-engine-tag {
  font-size: 9px;
  letter-spacing: 1px;
  color: #a5b4fc;
  font-weight: 600;
  display: block;
}
.tb-engine-header h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 3px 0 2px;
  color: var(--tb-ink);
}
.tb-engine-header p {
  font-size: 11px;
  color: var(--tb-muted);
  margin: 0 0 10px;
  line-height: 1.4;
}
.tb-engine-field {
  border-top: 1px solid #f1f5f9;
  padding: 8px 0;
}
.tb-field-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: var(--tb-muted);
}
.tb-field-label strong {
  color: #818cf8;
  font-size: 14px;
  font-weight: 600;
}
.tb-engine-field input[type=range] {
  --color: #a5b4fc;
  height: 4px;
  margin: 5px 0 3px;
}
.tb-field-sub {
  display: block;
  font-size: 10px;
  color: #64748b;
}
.tb-engine-total {
  border-top: 1px solid #f1f5f9;
  margin-top: 6px;
  padding-top: 8px;
}
.tb-engine-total small {
  display: block;
  font-size: 9px;
  letter-spacing: 0.8px;
  color: #64748b;
}
.tb-engine-total strong {
  display: block;
  font-size: 24px;
  font-weight: 600;
  color: #4f46e5;
  letter-spacing: -0.7px;
  margin-top: 2px;
}
.tb-net-margin-control {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #f1f5f9;
}
.tb-net-margin-control label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  color: var(--tb-muted);
}
.tb-net-margin-control input[type=range] {
  --color: var(--tb-green);
  height: 4px;
  margin: 5px 0 0;
}

/* Capital & Valuation Controls Beneath Sankey */
.tb-capital-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  margin-bottom: 24px;
}
.tb-capital-card {
  background: #ffffff;
  border: 1px solid var(--tb-line);
  border-radius: var(--tb-radius);
  padding: 24px;
}
.tb-capital-card h3 {
  font-size: 19px;
  margin: 0 0 6px;
  font-weight: 500;
}
.tb-capital-card p {
  font-size: 12px;
  color: var(--tb-muted);
  line-height: 1.5;
  margin-bottom: 16px;
}
.tb-multiple-row {
  display: flex;
  align-items: center;
  gap: 16px;
}
.tb-multiple-row strong {
  font-size: 22px;
  color: var(--tb-green);
  font-weight: 600;
  min-width: 55px;
}
.tb-multiple-row input[type=range] {
  flex: 1;
  --color: var(--tb-green);
}
.tb-range-limits {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--tb-muted);
  margin-top: 4px;
}
.tb-sbc-row {
  display: flex;
  gap: 20px;
  margin-bottom: 12px;
}
.tb-sbc-row label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  color: var(--tb-muted);
  flex: 1;
}
input[type=range] {
  appearance: none;
  background: linear-gradient(to right, var(--color, var(--tb-green)) 0 var(--fill, 50%), #f1f5f9 var(--fill, 50%) 100%);
  border-radius: 4px;
  cursor: pointer;
  width: 100%;
}
input[type=range]::-webkit-slider-thumb {
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: var(--color, var(--tb-green));
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
input[type=range]::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 2px solid #ffffff;
  background: var(--color, var(--tb-green));
}


/* Full research models: scalable artwork and readable operating controls. */
#model-explorer .tb-fluid-diagram{width:100%;height:auto;min-width:0;padding:12px 0 4px}
#model-explorer .tb-fluid-diagram svg{position:static;display:block;width:100%;height:auto;overflow:visible}
#model-explorer .tb-diagram-wrap{background:linear-gradient(180deg,#ffffff,#f8fafc);border-color:#f1f5f9;box-shadow:0 10px 35px #11182705}
#model-explorer .tb-flow-link{opacity:.29;transition:opacity .18s}
#model-explorer .tb-flow-link:hover{opacity:.52}
#model-explorer .tb-svg-stage{font:600 12px Arial,sans-serif;letter-spacing:1px;fill:#64748b}
#model-explorer .tb-svg-node-title{font:17px Arial,sans-serif;fill:#475569}
#model-explorer .tb-svg-node-value{font:500 29px Arial,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.8px}
#model-explorer .tb-operating-controls{margin:18px 0 24px;padding:25px 27px;border:1px solid #f1f5f9;border-radius:10px;background:#f8fafc}
#model-explorer .tb-operating-controls>h3{font-size:18px;letter-spacing:-.4px;font-weight:500;margin:0 0 7px;color:#1e293b}
#model-explorer .tb-operating-controls>p{font-size:12px;color:#64748b;margin:0 0 23px}
#model-explorer .tb-operating-controls .tb-product-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:25px}
#model-explorer .tb-operating-controls .tb-product-card{position:static;inset:auto;width:auto;max-width:none;background:transparent;padding-left:15px;border-radius:0}
#model-explorer .tb-operating-controls .tb-product-title{font-size:13px;min-height:33px;line-height:1.3;align-items:flex-start}
#model-explorer .tb-operating-controls .tb-product-title strong{font-weight:500}
#model-explorer .tb-operating-controls .tb-product-value{font-size:25px;margin:4px 0 17px}
#model-explorer .tb-operating-controls .tb-product-field{margin-bottom:17px}
#model-explorer .tb-operating-controls .tb-product-field label,#model-explorer .tb-operating-controls .tb-product-margin label{font-size:11px;gap:9px}
#model-explorer .tb-operating-controls .tb-product-field input[type=range]{margin-top:12px}
#model-explorer .tb-bank-controls{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:0 32px}
#model-explorer .tb-bank-controls>h3,#model-explorer .tb-bank-controls>p{grid-column:1/-1}
#model-explorer .tb-bank-controls .tb-nu-engine{position:static;inset:auto;width:auto;padding:0;border:0;box-shadow:none;background:none}
#model-explorer .tb-bank-controls .tb-engine-header{display:none}
#model-explorer .tb-bank-controls .tb-engine-field{padding:12px 0}
#model-explorer .tb-bank-controls .tb-engine-field input[type=range]{margin:12px 0 9px}
#model-explorer .tb-bank-controls .tb-net-margin-control{margin:0;padding:12px 0;border-top:1px solid #f1f5f9;align-self:start}
#model-explorer .tb-bank-controls .tb-net-margin-control input[type=range]{margin-top:17px}
@media(min-width:760px){#model-explorer .tb-mobile-flow-hint{display:none}}
@media(max-width:759px){#model-explorer .tb-fluid-diagram{min-width:900px}#model-explorer .tb-mobile-flow-hint{display:block;font-size:11px;color:#64748b}#model-explorer .tb-operating-controls{padding:22px 18px}#model-explorer .tb-operating-controls .tb-product-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 19px}#model-explorer .tb-operating-controls .tb-product-title{font-size:12px}#model-explorer .tb-operating-controls .tb-product-value{font-size:22px}#model-explorer .tb-bank-controls{grid-template-columns:1fr}#model-explorer .tb-bank-controls .tb-net-margin-control{margin-top:20px}}
@media(max-width:420px){#model-explorer .tb-operating-controls .tb-product-controls{grid-template-columns:1fr}#model-explorer .tb-operating-controls .tb-product-title{min-height:0;font-size:14px}#model-explorer .tb-operating-controls .tb-product-value{margin:8px 0 15px}}

#model-explorer .tb-svg-zero-note{font:14px Arial,sans-serif;fill:#64748b}
