.gb-calc *,.gb-calc :after,.gb-calc :before{box-sizing:border-box;margin:0;padding:0}:root{--gb-red:#ef4136;--gb-green:#8dc63f;--gb-dark:#1a1a1a;--gb-charcoal:#2d2d2d;--gb-mid:#444;--gb-light:#f5f5f5;--gb-border:#e0e0e0;--gb-white:#fff;--gb-bg:#f8f8f8;--gb-card:#fff;--gb-card-border:#e0e0e0;--gb-text:#1a1a1a;--gb-text-mid:#444;--gb-text-muted:#888;--gb-grid-line:rgba(0,0,0,.05);--gb-nnt-bg:#2d2d2d;--gb-nnt-card:hsla(0,0%,100%,.08);--gb-nnt-card-border:hsla(0,0%,100%,.12);--gb-nnt-text:#fff;--gb-nnt-muted:hsla(0,0%,100%,.6);--gb-nnt-unit:hsla(0,0%,100%,.5);--gb-nnt-highlight-bg:rgba(141,198,63,.1);--gb-assumptions-bg:#f5f5f5;--gb-footer-border:#e0e0e0;--gb-tooltip-bg:#1a1a1a;--gb-tooltip-text:#fff;--font-display:"Big Shoulders Display",sans-serif;--font-body:"Work Sans",sans-serif}[data-theme=dark]{--gb-bg:#111;--gb-card:#1e1e1e;--gb-card-border:#333;--gb-text:#f0f0f0;--gb-text-mid:#bbb;--gb-text-muted:#777;--gb-grid-line:hsla(0,0%,100%,.06);--gb-nnt-bg:#0a0a0a;--gb-nnt-card:hsla(0,0%,100%,.05);--gb-nnt-card-border:hsla(0,0%,100%,.08);--gb-assumptions-bg:#1a1a1a;--gb-footer-border:#333;--gb-tooltip-bg:#f0f0f0;--gb-tooltip-text:#111;--gb-border:#333}.gb-calc{background:var(--gb-bg);color:var(--gb-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;transition:background .3s,color .3s}.gb-calc-page{margin:0 auto;max-width:960px;padding:32px 24px 64px}.gb-calc header{align-items:center;border-bottom:3px solid var(--gb-red);display:flex;justify-content:space-between;margin-bottom:48px;padding-bottom:24px}.logo-img{height:48px;width:auto}.logo-img.dark,[data-theme=dark] .logo-img.light{display:none}[data-theme=dark] .logo-img.dark{display:block}.header-right{align-items:center;display:flex;gap:16px}.subtitle{color:var(--gb-text-mid);font-family:var(--font-display);font-size:16px;font-weight:500;letter-spacing:2px;text-transform:uppercase}.theme-toggle{background:var(--gb-card-border);border:none;border-radius:12px;cursor:pointer;flex-shrink:0;height:24px;padding:0;position:relative;transition:background .2s;width:44px}.theme-toggle:after{background:var(--gb-white);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);content:"";height:18px;left:3px;position:absolute;top:3px;transition:transform .2s;width:18px}[data-theme=dark] .theme-toggle{background:var(--gb-green)}[data-theme=dark] .theme-toggle:after{transform:translateX(20px)}.theme-icons{align-items:center;color:var(--gb-text-muted);display:flex;font-size:14px;gap:4px}.gb-calc h1{color:var(--gb-text);font-family:var(--font-display);font-size:42px;font-weight:700;line-height:1.1;margin-bottom:8px;text-transform:uppercase}h1 span{color:var(--gb-red)}.intro{color:var(--gb-text-mid);font-size:16px;line-height:1.6;margin-bottom:24px;max-width:680px}.intro-link{border-bottom:1px solid transparent;color:var(--gb-red);font-weight:600;text-decoration:none;transition:border-color .15s}.intro-link:hover{border-bottom-color:var(--gb-red)}.intro-toggle{border-bottom:1px solid transparent;color:var(--gb-green);cursor:pointer;font-weight:600;margin-left:4px;text-decoration:none;transition:border-color .15s}.intro-toggle:hover{border-bottom-color:var(--gb-green)}.topbar{justify-content:flex-end}.currency-selector{align-items:center;display:flex;gap:12px}.currency-label{color:var(--gb-text-mid);font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.currency-buttons{background:var(--gb-card);border:1px solid var(--gb-card-border);border-radius:8px;display:flex;overflow:hidden}.currency-btn{background:transparent;border:none;color:var(--gb-text-mid);cursor:pointer;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:1px;padding:8px 16px;transition:background .15s,color .15s}.currency-btn:hover{color:var(--gb-text)}.currency-btn.active{background:var(--gb-red);color:#fff}.controls{display:grid;gap:24px;grid-template-columns:1fr 1fr 1fr;margin-bottom:40px}@media(max-width:900px){.controls{grid-template-columns:1fr 1fr}}@media(max-width:640px){.controls{grid-template-columns:1fr}}.control-value-input{align-items:baseline;display:flex;gap:6px;margin-bottom:4px}.currency-symbol{color:var(--gb-text-mid);font-family:var(--font-display);font-size:24px;font-weight:600}.control-value-input input[type=text]{background:transparent;border:none;border-bottom:2px solid var(--gb-red);color:var(--gb-text);font-family:var(--font-display);font-size:36px;font-weight:700;outline:none;padding:0 0 4px;transition:border-bottom-width .15s;width:100%}.control-value-input input[type=text]:focus{border-bottom-width:3px}.control-hint{color:var(--gb-text-muted);font-size:11px;font-style:italic;margin-top:8px}.nnt-link{border-bottom:1px solid transparent;color:var(--gb-green);font-weight:600;text-decoration:none;transition:border-color .15s}.nnt-link:hover{border-bottom-color:var(--gb-green)}.nnt-title span{color:var(--gb-green)}.control-card{background:var(--gb-card);border:1px solid var(--gb-card-border);border-radius:12px;overflow:visible;padding:24px;position:relative;transition:background .3s,border-color .3s}.control-label{color:var(--gb-text-mid);font-size:18px;font-weight:600;letter-spacing:1.5px;line-height:1.2;margin-bottom:16px;min-height:43.2px;text-transform:uppercase}.control-label,.control-value{font-family:var(--font-display)}.control-value{color:var(--gb-text);font-size:42px;font-weight:700;margin-bottom:12px}.control-value .unit{color:var(--gb-text-mid);font-size:20px;font-weight:500}.gb-calc input[type=range]{-webkit-appearance:none;appearance:none;background:var(--gb-card-border);border-radius:3px;cursor:pointer;height:6px;outline:none;width:100%}.gb-calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--gb-red);border:3px solid var(--gb-white);border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:pointer;height:22px;width:22px}.gb-calc input[type=range]::-moz-range-thumb{background:var(--gb-red);border:3px solid var(--gb-white);border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:pointer;height:22px;width:22px}.metrics{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:40px}.metrics.metrics-3{grid-template-columns:repeat(3,1fr)}@media(max-width:640px){.metrics{grid-template-columns:repeat(2,1fr)}.metrics.metrics-3{grid-template-columns:1fr}}.metric-card{background:var(--gb-card);border:1px solid var(--gb-card-border);border-radius:12px;cursor:default;overflow:visible;padding:24px;position:relative;transition:background .3s,border-color .3s}.metric-card:before{border-radius:12px 12px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.metric-card.green:before{background:var(--gb-green)}.metric-card.red:before{background:var(--gb-red)}.metric-card.dark:before{background:var(--gb-charcoal)}[data-theme=dark] .metric-card.dark:before{background:#999}.metric-label{color:var(--gb-text-mid);font-size:16px;font-weight:600;letter-spacing:1.5px;margin-bottom:10px;text-transform:uppercase}.metric-label,.metric-value{font-family:var(--font-display)}.metric-value{color:var(--gb-text);font-size:40px;font-weight:700}.metric-value.green-text{color:#5a9e1e}[data-theme=dark] .metric-value.green-text{color:var(--gb-green)}.metric-value.red-text{color:var(--gb-red)}.metric-unit{color:var(--gb-text-mid);font-size:24px;font-weight:600;margin-left:2px}.metric-sublabel{font-size:12px;margin-top:6px}.info-icon,.metric-sublabel{color:var(--gb-text-muted);font-style:italic}.info-icon{align-items:center;border:1.5px solid var(--gb-text-muted);border-radius:50%;cursor:help;display:inline-flex;flex-shrink:0;font-family:var(--font-body);font-size:11px;font-weight:600;height:18px;justify-content:center;line-height:1;position:relative;transition:border-color .2s,color .2s;width:18px}.info-icon:hover{border-color:var(--gb-red);color:var(--gb-red)}.info-tip{background:var(--gb-tooltip-bg);border-radius:8px;bottom:calc(100% + 8px);box-shadow:0 4px 14px rgba(0,0,0,.18);color:var(--gb-tooltip-text);font-family:var(--font-body);font-size:12px;font-style:normal;font-weight:400;letter-spacing:0;line-height:1.5;opacity:0;padding:10px 14px;pointer-events:none;text-align:left;text-transform:none;transition:opacity .15s;width:220px;z-index:20}.info-tip,.info-tip:after{left:50%;position:absolute;transform:translateX(-50%)}.info-tip:after{border:5px solid transparent;border-top:5px solid var(--gb-tooltip-bg);content:"";top:100%}.info-icon:hover .info-tip{opacity:1}.chart-section{background:var(--gb-card);border:1px solid var(--gb-card-border);border-radius:12px;margin-bottom:40px;padding:32px;transition:background .3s,border-color .3s}.chart-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:4px}.chart-title{color:var(--gb-text);font-family:var(--font-display);font-size:24px;font-weight:600;text-transform:uppercase}.chart-subtitle{color:var(--gb-text-mid);font-size:14px;margin-bottom:24px}.chart-wrap{height:360px;position:relative;width:100%}.legend{color:var(--gb-text-mid);display:flex;flex-wrap:wrap;font-size:14px;gap:16px;margin-top:16px}.legend-dot{border-radius:3px;display:inline-block;height:12px;margin-right:6px;vertical-align:middle;width:12px}.download-btn{align-items:center;background:transparent;border:1px solid var(--gb-card-border);border-radius:8px;color:var(--gb-text-mid);cursor:pointer;display:inline-flex;flex-shrink:0;height:36px;justify-content:center;position:relative;transition:all .2s;width:36px}.download-btn:hover{background:var(--gb-bg);border-color:var(--gb-red);color:var(--gb-red)}.download-btn svg{height:18px;width:18px}.download-btn:after{background:var(--gb-tooltip-bg);border-radius:6px;bottom:calc(100% + 6px);box-shadow:0 4px 14px rgba(0,0,0,.18);color:var(--gb-tooltip-text);content:attr(data-tooltip);font-family:var(--font-body);font-size:11px;line-height:1.4;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;right:0;transition:opacity .15s;white-space:nowrap}.download-btn:hover:after{opacity:1}.rollout-section{background:var(--gb-card);border:1px solid var(--gb-card-border);border-radius:12px;margin-bottom:40px;padding:32px;transition:background .3s,border-color .3s}.rollout-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.rollout-select{background:var(--gb-bg);border:1px solid var(--gb-card-border);border-radius:8px;color:var(--gb-text);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:500;padding:8px 14px;transition:border-color .2s}.rollout-select:focus{border-color:var(--gb-red);outline:none}.diff-toggle-wrap{align-items:center;cursor:pointer;display:inline-flex;gap:10px;padding:6px 4px;user-select:none}.diff-toggle-wrap input[type=checkbox]{opacity:0;pointer-events:none;position:absolute}.diff-toggle-track{background:var(--gb-card-border);border-radius:11px;flex-shrink:0;height:22px;position:relative;transition:background .2s;width:38px}.diff-toggle-track:after{background:var(--gb-white);border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);content:"";height:16px;left:3px;position:absolute;top:3px;transition:transform .2s;width:16px}.diff-toggle-wrap input:checked+.diff-toggle-track{background:var(--gb-text)}.diff-toggle-wrap input:checked+.diff-toggle-track:after{transform:translateX(16px)}.diff-toggle-label{color:var(--gb-text-mid);font-family:var(--font-body);font-size:13px;font-weight:500}.rollout-subtitle{color:var(--gb-text-mid);font-size:14px;margin-bottom:24px}.variable-inputs{display:grid;gap:12px;grid-template-columns:repeat(5,1fr);margin-bottom:24px}@media(max-width:640px){.variable-inputs{grid-template-columns:repeat(3,1fr)}}.var-input-group{text-align:center}.var-input-group label{color:var(--gb-text-muted);display:block;font-family:var(--font-display);font-size:14px;font-weight:500;letter-spacing:1px;margin-bottom:6px;text-transform:uppercase}.var-input-group input[type=number]{background:var(--gb-bg);border:1px solid var(--gb-card-border);border-radius:8px;color:var(--gb-text);font-family:var(--font-display);font-size:22px;font-weight:600;padding:8px 4px;text-align:center;transition:border-color .2s;width:100%}.var-input-group input[type=number]:focus{border-color:var(--gb-red);outline:none}.var-remaining{color:var(--gb-text-muted);font-size:14px;margin-bottom:16px}.var-remaining span{color:var(--gb-red);font-weight:600}.var-remaining.ok span{color:var(--gb-green)}.rollout-chart-wrap{height:360px;position:relative;width:100%}.rollout-insight{background:var(--gb-assumptions-bg);border-radius:10px;margin-top:20px;padding:16px 20px;transition:background .3s}.rollout-insight p{color:var(--gb-text-mid);font-size:15px;line-height:1.6}.rollout-insight strong{color:var(--gb-text);font-weight:600}.nnt-section{background:var(--gb-nnt-bg);border-radius:12px;color:var(--gb-nnt-text);margin-bottom:40px;padding:32px;transition:background .3s}.nnt-title{font-family:var(--font-display);font-size:28px;font-weight:700;margin-bottom:10px;text-transform:uppercase}.nnt-subtitle{color:var(--gb-nnt-muted);font-size:16px;line-height:1.5;margin-bottom:24px}.nnt-grid{display:grid;gap:16px;grid-template-columns:1fr}@media(max-width:640px){.nnt-grid{grid-template-columns:1fr}}.nnt-card{background:var(--gb-nnt-card);border:1px solid var(--gb-nnt-card-border);border-radius:10px;padding:24px;text-align:center;transition:background .3s,border-color .3s}.nnt-card.highlight{background:var(--gb-nnt-highlight-bg);border-color:var(--gb-green)}.nnt-card-label{color:var(--gb-nnt-muted);font-family:var(--font-display);font-size:15px;font-weight:500;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.nnt-card-value{color:var(--gb-nnt-text);font-family:var(--font-display);font-size:48px;font-weight:700}.nnt-card-unit{color:var(--gb-nnt-unit);font-size:14px;margin-top:4px}.assumptions{background:var(--gb-assumptions-bg);border-radius:12px;margin-bottom:40px;padding:24px;transition:background .3s}.assumptions h3{color:var(--gb-text);font-family:var(--font-display);font-size:20px;font-weight:600;margin-bottom:12px;text-transform:uppercase}.assumptions p{color:var(--gb-text-mid);font-size:14px;line-height:1.6}.gb-calc footer{border-top:1px solid var(--gb-footer-border);padding-top:32px;text-align:center}.gb-calc footer p{color:var(--gb-text);font-size:13px}.gb-calc footer a{color:var(--gb-text);font-weight:600;text-decoration:none}.gb-calc footer a:hover{text-decoration:underline}.footer-tagline{color:var(--gb-red);font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:2px;margin-top:8px;text-transform:uppercase}.topbar{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.gb-save-btn{align-items:center;background:transparent;border:2px solid var(--gb-green);border-radius:8px;color:var(--gb-green);cursor:pointer;display:inline-flex;font-family:var(--font-display);font-size:14px;font-weight:700;gap:8px;letter-spacing:1.5px;padding:10px 20px;text-transform:uppercase;transition:background .15s,color .15s}.gb-save-btn:hover{background:var(--gb-green);color:#fff}.gb-modal-overlay{align-items:center;background:rgba(0,0,0,.55);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9999}.gb-modal{background:var(--gb-card);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.25);max-width:480px;padding:40px;position:relative;transition:background .3s;width:100%}.gb-modal-close{align-items:center;background:var(--gb-card-border);border:none;border-radius:50%;color:var(--gb-text-mid);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;position:absolute;right:16px;top:16px;transition:background .15s;width:32px}.gb-modal-close:hover{background:var(--gb-red);color:#fff}.gb-modal-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:28px}.gb-modal-icon{align-items:center;background:rgba(141,198,63,.12);border-radius:10px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.gb-modal-title{color:var(--gb-text);font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:6px;text-transform:uppercase}.gb-modal-subtitle{color:var(--gb-text-mid);font-size:14px;line-height:1.5}.gb-field{margin-bottom:20px}.gb-field-label{color:var(--gb-text-mid);display:block;font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.gb-field-input{background:var(--gb-bg);border:1.5px solid var(--gb-card-border);border-radius:8px;color:var(--gb-text);font-family:var(--font-body);font-size:16px;outline:none;padding:12px 16px;transition:border-color .15s;width:100%}.gb-field-input:focus{border-color:var(--gb-red)}.gb-field-error{color:var(--gb-red);font-size:13px;margin-bottom:16px;min-height:18px}.gb-submit-btn{background:var(--gb-red);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:1.5px;padding:16px;text-transform:uppercase;transition:opacity .15s;width:100%}.gb-submit-btn:hover{opacity:.88}.gb-submit-btn:disabled{cursor:not-allowed;opacity:.5}.gb-privacy{color:var(--gb-text-muted);font-size:12px;margin-top:12px;text-align:center}.gb-success-icon{margin-bottom:16px;text-align:center}.gb-success-title{color:var(--gb-text);font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:8px;text-align:center;text-transform:uppercase}.gb-success-msg{color:var(--gb-text-mid);font-size:14px;line-height:1.5;margin-bottom:20px;text-align:center}.gb-share-row{display:flex;gap:8px;margin-bottom:16px}.gb-share-input{background:var(--gb-bg);border:1.5px solid var(--gb-card-border);border-radius:8px;color:var(--gb-text);flex:1;font-family:monospace;font-size:12px;min-width:0;outline:none;padding:10px 12px}.gb-copy-btn{background:var(--gb-charcoal);border:none;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:1px;padding:10px 16px;text-transform:uppercase;transition:background .15s;white-space:nowrap}[data-theme=dark] .gb-copy-btn{background:#555}.gb-copy-btn:hover{background:var(--gb-green)}.gb-done-btn{background:transparent;border:2px solid var(--gb-card-border);border-radius:8px;color:var(--gb-text-mid);cursor:pointer;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:1.5px;padding:14px;text-transform:uppercase;transition:border-color .15s,color .15s;width:100%}.gb-done-btn:hover{border-color:var(--gb-red);color:var(--gb-red)}