.ktt-root {
  --ktt-ink:#172b3b; --ktt-muted:#536675; --ktt-line:#dce3e8;
  --ktt-accent:#12665b; --ktt-pale:#edf6f3; --ktt-paper:#fff;
  --ktt-wash:#f5f7f8; --ktt-radius:14px;
  color:var(--ktt-ink); background:var(--ktt-paper); border:1px solid var(--ktt-line);
  border-radius:18px; padding:clamp(18px,3vw,36px); margin:16px 0;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.55; width:100%; max-width:100%; min-width:0;
  box-sizing:border-box; color-scheme:light; text-align:left;
  /* Size containment removes the widget's intrinsic width, collapsing
     auto-centred Spectra/Astra tab wrappers. Keep normal intrinsic sizing. */
  container-type:normal; contain:none; display:block;
  flex:1 1 100%; align-self:stretch; justify-self:stretch;
}
.ktt-root *, .ktt-root *::before, .ktt-root *::after { box-sizing:border-box; }
.ktt-root [hidden] { display:none !important; }
.ktt-root button,.ktt-root input,.ktt-root select,.ktt-root textarea { font:inherit; letter-spacing:normal; text-transform:none; }
.ktt-root h2,.ktt-root h3,.ktt-root p { margin:0; padding:0; color:inherit; font-family:inherit; }
.ktt-root button { cursor:pointer; margin:0; box-shadow:none; height:auto; text-decoration:none; white-space:normal; }
.ktt-root button::before,.ktt-root button::after { content:none; }
.ktt-root button:focus-visible,.ktt-root input:focus-visible,.ktt-root select:focus-visible,.ktt-root textarea:focus-visible,.ktt-root summary:focus-visible {
  outline:3px solid #d59027; outline-offset:3px;
}
.ktt-root a { color:var(--ktt-accent); text-decoration:underline; }
.ktt-root .ktt-top { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
.ktt-root .ktt-eyebrow { font-size:11px; font-weight:750; letter-spacing:1.7px; text-transform:uppercase; color:var(--ktt-accent); margin-bottom:6px; }
.ktt-root h2 { font-size:clamp(26px,3vw,36px); font-weight:720; line-height:1.2; letter-spacing:-1px; }
.ktt-root .ktt-intro { color:var(--ktt-muted); margin-top:9px; max-width:640px; font-size:14px; }
.ktt-root .ktt-currency { display:block; flex:0 0 145px; font-size:12px; color:var(--ktt-muted); }
.ktt-root .ktt-currency select { margin-top:5px; }
.ktt-root .ktt-tabs { display:flex; flex-wrap:wrap; gap:7px; border-bottom:1px solid var(--ktt-line); padding-bottom:20px; margin:0 0 22px; }
.ktt-root .ktt-tab { border:1px solid transparent; background:var(--ktt-wash); color:var(--ktt-muted); border-radius:8px; padding:9px 12px; font-size:13px; font-weight:650; display:flex; gap:8px; align-items:center; }
.ktt-root .ktt-tab:hover { background:#e8eeef; color:var(--ktt-ink); }
.ktt-root .ktt-tab[aria-selected="true"] { background:var(--ktt-accent); color:#fff; border-color:var(--ktt-accent); }
.ktt-root .ktt-count { opacity:.7; font-size:11px; font-weight:500; }
.ktt-root .ktt-mobile-category { display:none; margin-bottom:18px; font-weight:650; font-size:13px; }
.ktt-root .ktt-mobile-category select { margin-top:6px; }
.ktt-root .ktt-workspace { display:grid; grid-template-columns:minmax(205px,275px) minmax(0,1fr); align-items:start; gap:26px; }
.ktt-root .ktt-sidebar { min-width:0; }
.ktt-root .ktt-search-label { display:block; font-size:12px; font-weight:700; margin-bottom:6px; }
.ktt-root input:not([type="checkbox"]),.ktt-root select,.ktt-root textarea {
  display:block; width:100%; min-width:0; border:1px solid #c7d2da; border-radius:7px;
  background:#fff; color:var(--ktt-ink); padding:10px 11px; min-height:44px; margin:0;
  box-shadow:none; font-size:14px; line-height:1.4;
}
.ktt-root textarea { resize:vertical; min-height:90px; }
.ktt-root .ktt-list-meta { color:var(--ktt-muted); margin:13px 0 8px; font-size:12px; }
.ktt-root .ktt-tool-list { display:grid; gap:5px; max-height:650px; overflow-y:auto; padding:2px 6px 4px 2px; overscroll-behavior:contain; }
.ktt-root .ktt-tool { display:block; width:100%; text-align:left; color:var(--ktt-ink); border:1px solid transparent; border-radius:9px; padding:12px; background:transparent; }
.ktt-root .ktt-tool:hover { background:var(--ktt-wash); }
.ktt-root .ktt-tool[aria-current="true"] { background:var(--ktt-pale); border-color:#b5d6cb; }
.ktt-root .ktt-tool-name { display:block; font-size:13px; line-height:1.4; font-weight:700; }
.ktt-root .ktt-tool-description { display:block; margin-top:3px; font-size:11px; line-height:1.45; color:var(--ktt-muted); }
.ktt-root .ktt-calculator { border:1px solid var(--ktt-line); border-radius:var(--ktt-radius); overflow:hidden; min-width:0; }
.ktt-root .ktt-calculator-header { background:var(--ktt-wash); padding:23px 25px; border-bottom:1px solid var(--ktt-line); }
.ktt-root .ktt-category-tag { display:block; color:var(--ktt-accent); font-size:10px; text-transform:uppercase; letter-spacing:1.2px; font-weight:750; margin-bottom:6px; }
.ktt-root h3 { font-size:23px; line-height:1.25; font-weight:700; letter-spacing:-.45px; }
.ktt-root .ktt-description { color:var(--ktt-muted); font-size:13px; margin-top:8px; }
.ktt-root .ktt-example { margin-top:12px; color:var(--ktt-muted); font-size:11px; }
.ktt-root form { margin:0; padding:24px 25px; border:0; }
.ktt-root .ktt-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px 18px; }
.ktt-root .ktt-field { display:block; min-width:0; }
.ktt-root .ktt-field-wide { grid-column:1/-1; }
.ktt-root .ktt-field-label { display:block; font-size:12px; font-weight:700; margin-bottom:5px; }
.ktt-root .ktt-hint { display:block; color:var(--ktt-muted); font-size:11px; line-height:1.45; margin-top:5px; }
.ktt-root .ktt-actions { display:flex; gap:9px; align-items:center; margin-top:23px; flex-wrap:wrap; }
.ktt-root .ktt-primary { background:var(--ktt-accent); color:#fff; border:1px solid var(--ktt-accent); padding:11px 21px; border-radius:7px; font-weight:700; font-size:13px; min-height:44px; }
.ktt-root .ktt-primary:hover { background:#0b5148; color:#fff; }
.ktt-root .ktt-secondary { background:#fff; color:var(--ktt-muted); border:1px solid var(--ktt-line); padding:10px 14px; border-radius:7px; font-size:12px; min-height:44px; }
.ktt-root .ktt-secondary:hover { background:var(--ktt-wash); color:var(--ktt-ink); }
.ktt-root .ktt-error { margin-top:16px; color:#a02727; background:#fff4f2; border:1px solid #edc4be; padding:12px 14px; border-radius:7px; font-size:13px; }
.ktt-root .ktt-output { background:var(--ktt-pale); border-top:1px solid #d1e6df; padding:22px 25px; }
.ktt-root .ktt-output-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; gap:12px; }
.ktt-root .ktt-output-heading { font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:1.4px; color:var(--ktt-accent); }
.ktt-root .ktt-copy { background:transparent; border:0; font-size:11px; color:var(--ktt-accent); padding:5px; }
.ktt-root .ktt-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 22px; margin:0; }
.ktt-root .ktt-result-grid div { min-width:0; }
.ktt-root .ktt-result-grid dt { color:var(--ktt-muted); font-size:11px; margin:0 0 3px; }
.ktt-root .ktt-result-grid dd { color:var(--ktt-ink); font-size:clamp(17px,2.1vw,25px); line-height:1.25; letter-spacing:-.5px; font-weight:700; overflow-wrap:anywhere; margin:0; }
.ktt-root .ktt-result-grid dd small { font-size:12px; letter-spacing:0; font-weight:500; }
.ktt-root .ktt-result-note { font-size:12px; color:var(--ktt-muted); margin-top:14px; }
.ktt-root .ktt-method { padding:17px 25px; border-top:1px solid var(--ktt-line); font-size:12px; color:var(--ktt-muted); }
.ktt-root .ktt-method summary { cursor:pointer; font-weight:650; color:var(--ktt-ink); }
.ktt-root .ktt-method p { margin-top:9px; white-space:pre-line; }
.ktt-root .ktt-method a { display:inline-block; margin-top:9px; }
.ktt-root .ktt-footer { color:var(--ktt-muted); font-size:11px; border-top:1px solid var(--ktt-line); margin-top:24px; padding-top:15px; }
.ktt-root .ktt-empty { font-size:13px; color:var(--ktt-muted); padding:16px 8px; }
.ktt-root .ktt-stale { font-size:12px; color:#765b16; padding:12px 25px; background:#fff8df; border-top:1px solid #ebd898; }
.ktt-root .ktt-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ktt-root .ktt-loading { padding:20px; font-size:14px; }
@media (max-width:800px) {
  .ktt-root .ktt-workspace { grid-template-columns:minmax(175px,210px) minmax(0,1fr); gap:16px; }
  .ktt-root .ktt-calculator-header,.ktt-root form,.ktt-root .ktt-output { padding:20px; }
  .ktt-root .ktt-method { padding:16px 20px; }
}
@media (max-width:650px) {
  .ktt-root .ktt-top { display:block; }
  .ktt-root .ktt-currency { margin-top:16px; width:170px; }
  .ktt-root .ktt-tabs { display:none; }
  .ktt-root .ktt-mobile-category { display:block; }
  .ktt-root .ktt-workspace { grid-template-columns:1fr; gap:18px; }
  .ktt-root .ktt-tool-list { max-height:230px; }
  .ktt-root .ktt-fields { gap:16px 12px; }
}
@media (max-width:390px) {
  .ktt-root .ktt-fields,.ktt-root .ktt-result-grid { grid-template-columns:1fr; }
}
.ktt-root[data-ktt-layout="compact"] .ktt-top,
.ktt-root[data-ktt-layout="narrow"] .ktt-top { display:block; }
.ktt-root[data-ktt-layout="compact"] .ktt-currency,
.ktt-root[data-ktt-layout="narrow"] .ktt-currency { margin-top:16px; width:170px; }
.ktt-root[data-ktt-layout="compact"] .ktt-tabs,
.ktt-root[data-ktt-layout="narrow"] .ktt-tabs { display:none; }
.ktt-root[data-ktt-layout="compact"] .ktt-mobile-category,
.ktt-root[data-ktt-layout="narrow"] .ktt-mobile-category { display:block; }
.ktt-root[data-ktt-layout="compact"] .ktt-workspace,
.ktt-root[data-ktt-layout="narrow"] .ktt-workspace { grid-template-columns:1fr; gap:18px; }
.ktt-root[data-ktt-layout="compact"] .ktt-tool-list,
.ktt-root[data-ktt-layout="narrow"] .ktt-tool-list { max-height:230px; }
.ktt-root[data-ktt-layout="narrow"] .ktt-fields,
.ktt-root[data-ktt-layout="narrow"] .ktt-result-grid { grid-template-columns:1fr; }
@media (prefers-reduced-motion:no-preference) {
  .ktt-root button { transition:background-color .12s ease,border-color .12s ease; }
}
