/* The arbitrage include owns the calculator design. Keep these adaptations scoped. */
.oc-page { --oc-green:#1cad75; --oc-green-light:#8de6b9; --oc-error:#ffb4b4; --oc-line:#777; --oc-panel:#192a24; padding:32px 0 48px; }
.oc-page *, .oc-page *::before, .oc-page *::after { box-sizing:border-box; }
.oc-page [hidden] { display:none !important; }
.oc-page .tw-wrap, .oc-page .tw-grid > *, .oc-page .tw-field { min-width:0; }
.oc-page .tw-card__inner { margin-bottom:0; }
.oc-page .oc-intro { margin:0 0 24px; }
.oc-calculator-links { display:flex; flex-wrap:wrap; gap:10px; }
.oc-calculator-links a { border-color:rgba(28,173,117,.35); min-height:44px; text-decoration:none; }
.oc-calculator-links a[aria-current] { background:rgba(28,173,117,.16); }
.oc-input-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.oc-page .tw-input, .oc-page .tw-select { min-height:48px; font:inherit; font-size:16px; border-color:var(--oc-line); }
.oc-page .tw-select { color-scheme:dark; }
.oc-page .tw-input[aria-invalid=true] { border-color:var(--oc-error); }
.oc-page .oc-help { margin:8px 0 0; font-size:14px; line-height:1.6; }
.oc-page .oc-actions { align-items:center; gap:12px; }
.oc-page .tw-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; font-size:15px; color:#081b12; }
.oc-example, .oc-reset { min-height:48px; padding:10px 12px; border-radius:12px; font:inherit; font-size:14px; font-weight:700; color:#fff; cursor:pointer; }
.oc-example { background:rgba(0,0,0,.25); border:1px solid var(--oc-line); }
.oc-reset { border:0; background:none; text-decoration:underline; text-underline-offset:4px; }
.oc-page :is(a,button,input,select,summary,meter,[tabindex]):focus-visible { outline:2px solid var(--oc-green-light); outline-offset:4px; }
.oc-error { margin:0; color:var(--oc-error); font-size:14px; }
.oc-probability { margin-top:8px; }
.oc-probability label { display:block; color:rgba(255,255,255,.8); font-size:14px; }
.oc-probability meter { display:block; width:100%; height:16px; margin-top:10px; background:#303834; border-radius:4px; }
.oc-probability meter::-webkit-meter-bar { background:#303834; border:0; border-radius:4px; }
.oc-probability meter::-webkit-meter-optimum-value { background:var(--oc-green); border-radius:4px; }
.oc-probability meter::-moz-meter-bar { background:var(--oc-green); }
.oc-next-step { margin-top:24px; background:var(--oc-panel); }
.oc-next-step h3 { margin:0; }
.oc-next-step p { margin:12px 0 0; line-height:1.65; }
.oc-return { display:grid; gap:12px; }
.oc-payout { display:block; font-size:clamp(32px,3.5vw,44px); line-height:1.2; font-weight:800; letter-spacing:-1px; color:var(--oc-green-light); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.oc-page .tw-kv { align-items:baseline; gap:16px; }
.oc-page .tw-kv > :last-child { font-variant-numeric:tabular-nums; overflow-wrap:anywhere; text-align:right; }
.oc-page .oc-conversion-title { margin-top:24px; font-size:18px; }
.oc-page .oc-rounding { margin-top:16px; }
.oc-explainer { margin-top:32px; }
.oc-explainer h3 { margin:0 0 12px; font-size:19px; font-weight:700; }
.oc-explainer p { line-height:1.7; }
.oc-explainer-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.oc-page .oc-formula { margin:8px 0 0; font-size:14px; }
.oc-table-wrap { position:relative; overflow-x:auto; max-width:100%; }
.oc-table { width:100%; border-collapse:collapse; font-size:15px; font-variant-numeric:tabular-nums; }
.oc-table caption { caption-side:top; color:rgba(255,255,255,.8); font-size:14px; text-align:left; padding:0 0 16px; }
.oc-table th, .oc-table td { padding:14px 16px; border-bottom:1px solid rgba(255,255,255,.12); text-align:right; white-space:nowrap; }
.oc-table th:first-child { text-align:left; }
.oc-table thead th { font-size:14px; font-weight:700; color:rgba(255,255,255,.8); }
.oc-faq details { padding:8px 0; border-bottom:1px solid rgba(28,173,117,.22); }
.oc-faq details:last-child { border:0; }
.oc-faq summary { min-height:48px; padding:12px 0; font-size:18px; font-weight:700; cursor:pointer; }
.oc-faq p { margin:0 0 16px; color:rgba(255,255,255,.85); }
@media(max-width:600px) { .oc-input-row, .oc-explainer-grid { grid-template-columns:1fr; gap:16px; } .oc-page .tw-totals { grid-template-columns:1fr; } .oc-page .oc-actions .tw-btn { flex-basis:100%; } .oc-table th,.oc-table td { padding:12px; } .oc-page .tw-kv { padding:8px; } }
