:root{
  --mtc-primary:#5b5ce6;
  --mtc-on-primary:#ffffff;
  --mtc-primary-container:#eef0ff;
  --mtc-on-primary-container:#1a1b6b;

  --mtc-secondary:#5a6477;
  --mtc-on-secondary:#ffffff;
  --mtc-secondary-container:#eef2f7;
  --mtc-on-secondary-container:#1a2330;

  --mtc-tertiary:#8a4d78;
  --mtc-on-tertiary:#ffffff;
  --mtc-tertiary-container:#ffe8f7;
  --mtc-on-tertiary-container:#3b0f31;

  --mtc-error:#dc2626;
  --mtc-on-error:#ffffff;
  --mtc-error-container:#fee2e2;
  --mtc-on-error-container:#450a0a;

  --mtc-bg:#f7f8ff;
  --mtc-bg-soft:#f3f5ff;
  --mtc-surface:#ffffff;
  --mtc-surface-container:#f6f7ff;
  --mtc-surface-container-low:#fbfbff;
  --mtc-surface-container-high:#eef0fb;
  --mtc-card-bg:var(--mtc-surface);
  --mtc-surface-variant:#e9ecf7;

  --mtc-outline:rgba(15,23,42,0.18);
  --mtc-outline-variant:rgba(15,23,42,0.12);

  --mtc-text-main:#0b1220;
  --mtc-text-sub:#445065;
  --mtc-text-muted:#66738a;

  --mtc-accent:var(--mtc-primary);
  --mtc-accent-hover:#4546d6;
  --mtc-accent-soft:rgba(91,92,230,0.18);

  --mtc-border:rgba(15,23,42,0.10);
  --mtc-border-soft:rgba(15,23,42,0.08);

  --page-accent:var(--mtc-accent);
  --page-accent-dark:var(--mtc-accent-hover);
  --page-border:var(--mtc-border);

  --mtc-radius-xs:10px;
  --mtc-radius-sm:14px;
  --mtc-radius-md:16px;
  --mtc-radius-lg:20px;
  --mtc-radius-xl:28px;
  --mtc-radius-pill:999px;

  --mtc-elev-1:0 1px 0 rgba(15,23,42,.04),0 10px 30px rgba(15,23,42,.06);
  --mtc-elev-2:0 2px 0 rgba(15,23,42,.05),0 16px 42px rgba(15,23,42,.10);
  --mtc-elev-3:0 3px 0 rgba(15,23,42,.06),0 22px 60px rgba(15,23,42,.14);

  --mtc-transition-fast:0.14s cubic-bezier(.2,.8,.2,1);
  --mtc-transition-med:0.22s cubic-bezier(.2,.8,.2,1);
  --mtc-transition-slow:0.32s cubic-bezier(.2,.8,.2,1);

  --mtc-font-body:'Inter',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mtc-font-heading:'Poppins',ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --mtc-max-width:1120px;

  --mtc-bg-card:var(--mtc-card-bg);
  --mtc-primary-soft:var(--mtc-primary-container);
  --mtc-bg-hero:
    radial-gradient(1200px 600px at 20% -10%, rgba(91,92,230,0.18), transparent 60%),
    radial-gradient(900px 500px at 90% 0%, rgba(138,77,120,0.12), transparent 55%),
    linear-gradient(180deg,#f8f9ff,#ffffff 40%,#f3f5ff);

  --mtc-danger:var(--mtc-error);
  --mtc-text-secondary:var(--mtc-text-sub);

  --mtc-shadow-sm:var(--mtc-elev-1);
  --mtc-shadow-md:var(--mtc-elev-2);
  --mtc-shadow-lg:var(--mtc-elev-3);

  --accent:var(--mtc-primary);
  --ring:var(--mtc-accent-soft);
  --text:var(--mtc-text-main);
  --border-strong:var(--mtc-outline);
  --surface-1:var(--mtc-surface);
  --surface-2:var(--mtc-surface-container-low);
  --surface-3:var(--mtc-surface-container);

  --calc-card-bg:var(--mtc-card-bg);
  --calc-border:var(--mtc-border);

  --brand:var(--mtc-primary);
  --mtc-transition:all 0.25s ease;

  --mtc-header-surface:color-mix(in srgb, #ffffff 78%, rgba(91,92,230,0.06));
  --mtc-header-border:rgba(15,23,42,0.10);
  --mtc-header-shadow:0 10px 40px rgba(15,23,42,0.08);
  --mtc-header-primary:var(--mtc-primary);
  --mtc-header-on-primary:var(--mtc-on-primary);
}

@media (prefers-color-scheme: dark){
  :root{
    --mtc-text-main:#e7ecff;
    --mtc-text-sub:#b7c1dd;
    --mtc-text-muted:#93a1c3;

    --mtc-surface:#0b1020;
    --mtc-surface-container-low:#0d1326;
    --mtc-surface-container:#111a33;
    --mtc-surface-container-high:#152042;
    --mtc-surface-variant:#1a2550;

    --mtc-bg:#070b16;
    --mtc-bg-soft:#090f20;
    --mtc-bg-hero:
      radial-gradient(1200px 600px at 20% -10%, rgba(91,92,230,0.22), transparent 55%),
      radial-gradient(900px 500px at 90% 0%, rgba(138,77,120,0.18), transparent 55%),
      linear-gradient(180deg,#070b16,#0b1020 45%,#090f20);

    --mtc-border:rgba(231,236,255,0.12);
    --mtc-border-soft:rgba(231,236,255,0.10);
    --mtc-outline:rgba(231,236,255,0.22);
    --mtc-outline-variant:rgba(231,236,255,0.14);

    --mtc-primary-container:rgba(91,92,230,0.18);
    --mtc-on-primary-container:#e7ecff;

    --mtc-elev-1:0 1px 0 rgba(0,0,0,.35),0 16px 40px rgba(0,0,0,.35);
    --mtc-elev-2:0 2px 0 rgba(0,0,0,.38),0 22px 60px rgba(0,0,0,.40);
    --mtc-elev-3:0 3px 0 rgba(0,0,0,.42),0 30px 80px rgba(0,0,0,.45);

    --mtc-header-surface:color-mix(in srgb, #0b1020 88%, rgba(91,92,230,0.10));
    --mtc-header-shadow:0 18px 70px rgba(0,0,0,0.55);
  }
}

*,
*::before,
*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  background:var(--mtc-bg-hero);
  color:var(--mtc-text-main);
  font-family:var(--mtc-font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  letter-spacing:-0.005em;
}

body *{ border-radius:0 !important; }

table, thead, tbody, tfoot, tr, th, td{ border-radius:0 !important; }
svg, svg *{ border-radius:0 !important; }

a{
  color:var(--mtc-accent);
  text-decoration:none;
  transition:
    color var(--mtc-transition-fast),
    text-decoration var(--mtc-transition-fast),
    background-color var(--mtc-transition-fast);
}
a:hover{ color:var(--mtc-accent-hover); text-decoration:underline; }

:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px var(--mtc-accent-soft);
}

.container{
  width:100%;
  max-width:var(--mtc-max-width);
  margin:0 auto;
  padding:0 16px;
}

h1,h2,h3,h4{
  font-family:var(--mtc-font-heading);
  margin-top:0;
  color:var(--mtc-text-main);
}
:where(h1){ font-size:2em; margin-block:0.67em; }
p{ margin-top:0; margin-bottom:0.75rem; }
ul{ margin-top:0.25rem; margin-bottom:0.75rem; padding-left:1.3rem; }
li{ margin-bottom:0.3rem; }

.mini-note,
.disc-note,
.col-note{
  margin-top:10px;
  font-size:11px;
}

.btn-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  font-size:0.95rem;
  font-weight:600;
  font-family:var(--mtc-font-body);
  border:1.5px solid color-mix(in srgb, var(--mtc-primary) 55%, var(--mtc-border));
  background:color-mix(in srgb, var(--mtc-surface) 92%, var(--mtc-primary-container) 8%);
  color:var(--mtc-primary);
  border-radius:var(--mtc-radius-pill) !important;
  cursor:pointer;
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med), background var(--mtc-transition-med), border-color var(--mtc-transition-med), color var(--mtc-transition-med);
  box-shadow:var(--mtc-elev-1);
}
.btn-outline:hover{
  background:color-mix(in srgb, var(--mtc-primary-container) 70%, var(--mtc-surface) 30%);
  border-color:color-mix(in srgb, var(--mtc-primary) 65%, var(--mtc-border));
  color:var(--mtc-on-primary-container);
  text-decoration:none;
  box-shadow:var(--mtc-elev-2);
}
.btn-outline:active{ transform:scale(0.98); box-shadow:var(--mtc-elev-1); }
.btn-outline:disabled{ opacity:0.55; cursor:not-allowed; box-shadow:none; }

.header{
  width:100%;
  position:sticky;
  top:0;
  z-index:50;
  background:color-mix(in srgb, var(--mtc-header-surface) 84%, transparent 16%);
  border-bottom:1px solid var(--mtc-header-border);
  box-shadow:var(--mtc-header-shadow);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  transition:box-shadow var(--mtc-transition-med), background var(--mtc-transition-med), border-color var(--mtc-transition-med);
  border-radius:0 !important;
}
.header.scrolled{
  box-shadow:var(--mtc-elev-2);
  background:color-mix(in srgb, var(--mtc-header-surface) 92%, transparent 8%);
  border-color:var(--mtc-outline-variant);
}
.header-inner{
  max-width:var(--mtc-max-width);
  margin:0 auto;
  padding:10px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.header-logo{
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--mtc-font-heading);
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:-0.02em;
}
.header-logo-icon{
  width:34px;
  height:34px;
  border-radius:var(--mtc-radius-md) !important;
  background:linear-gradient(135deg, var(--mtc-primary-container), color-mix(in srgb, var(--mtc-primary-container) 65%, #ffffff 35%));
  color:var(--mtc-on-primary-container);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:var(--mtc-elev-1);
  font-size:18px;
}

.header .nav-links{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:0.9rem;
}
.header .nav-links a{
  padding:8px 14px;
  border-radius:var(--mtc-radius-pill) !important;
  border:1px solid transparent;
  text-decoration:none;
  color:var(--mtc-text-sub);
  background:color-mix(in srgb, var(--mtc-surface-container-low) 86%, transparent 14%);
  transition:background var(--mtc-transition-fast), color var(--mtc-transition-fast), border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), transform var(--mtc-transition-fast);
}
.header .nav-links a:hover{
  border-color:var(--mtc-border);
  background:color-mix(in srgb, var(--mtc-primary-container) 55%, var(--mtc-surface) 45%);
  color:var(--mtc-on-primary-container);
  text-decoration:none;
  box-shadow:var(--mtc-elev-1);
  transform:translateY(-1px);
}
.header .menu-toggle{
  display:none;
  cursor:pointer;
  padding:7px;
  border-radius:var(--mtc-radius-lg) !important;
  border:1px solid var(--mtc-outline-variant);
  background:color-mix(in srgb, var(--mtc-surface-container-low) 86%, transparent 14%);
}
.header .menu-toggle span{
  display:block;
  width:18px;
  height:2px;
  margin:3px 0;
  background:var(--mtc-text-main);
  border-radius:var(--mtc-radius-pill) !important;
}
@media (max-width:768px){
  .header .nav-links{
    position:fixed;
    inset:56px 12px auto 12px;
    background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
    border-radius:var(--mtc-radius-xl) !important;
    box-shadow:var(--mtc-elev-3);
    padding:12px;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    transform:translateY(-16px);
    opacity:0;
    pointer-events:none;
    transition:opacity var(--mtc-transition-med), transform var(--mtc-transition-med);
    border:1px solid var(--mtc-border);
  }
  .header .nav-links.active{ opacity:1; transform:translateY(0); pointer-events:auto; }
  .header .menu-toggle{ display:inline-flex; flex-direction:column; justify-content:center; }
}

.site-footer{
  margin-top:30px;
  padding:18px 16px 26px;
  font-size:0.86rem;
  color:var(--mtc-text-muted);
  text-align:center;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border-top:1px solid var(--mtc-border);
  border-radius:0 !important;
}

.hero.hero-home{ padding:20px 0 20px; }
.hero-inner{ display:grid; grid-template-columns:1fr; gap:18px; }

.hero-aside{
  text-align:center;
  position:relative;
  overflow:visible !important;
  z-index:1 !important;
}
.hero-main,
.hero-aside{
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border);
  box-shadow:var(--mtc-elev-2);
  padding:18px 16px 18px;
  position:relative;
  overflow:visible !important;
  z-index:2;
}
.hero-main{
  background:
    radial-gradient(900px 420px at 90% 10%, rgba(91,92,230,0.20), transparent 55%),
    radial-gradient(700px 340px at 10% 20%, rgba(138,77,120,0.12), transparent 55%),
    color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
}

.hero-aside .search-wrapper{
  width:100%;
  margin-top:12px;
  display:flex;
  justify-content:center;
}
.hero-aside .search-input{ width:100%; font-size:0.95rem; padding:12px 14px; }
.hero-aside .search-suggestions{ width:100%; }

.hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:var(--mtc-radius-pill) !important;
  background:color-mix(in srgb, var(--mtc-primary-container) 70%, var(--mtc-surface) 30%);
  border:1px solid var(--mtc-border-soft);
  font-size:0.70rem;
  color:var(--mtc-on-primary-container);
  margin-bottom:10px;
}
.hero-eyebrow-badge{
  padding:6px 10px;
  border-radius:var(--mtc-radius-pill) !important;
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  color:#ffffff;
  font-size:0.72rem;
  font-weight:650;
}
.hero-title{
  font-family:var(--mtc-font-heading);
  font-size:1.9rem;
  margin:0 0 8px;
  letter-spacing:-0.03em;
}
.hero-subtitle{ font-size:0.95rem; color:var(--mtc-text-sub); }

.hero-meta{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  font-size:0.8rem;
}
.hero-meta span{
  background:color-mix(in srgb, var(--mtc-surface-container-low) 86%, transparent 14%);
  border-radius:var(--mtc-radius-pill) !important;
  padding:6px 10px;
  border:1px solid var(--mtc-border-soft);
}
.hero-aside h2{ margin:0 0 4px; }
.hero-aside p{ font-size:0.9rem; color:var(--mtc-text-sub); }

.search-wrapper{ position:relative; z-index:1100 !important; }
.search-input{
  width:100%;
  padding:12px 14px;
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border-soft);
  font-size:0.95rem;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  color:var(--mtc-text-main);
  font-family:var(--mtc-font-body);
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast);
}
.search-input:focus{
  outline:none;
  border-color:color-mix(in srgb, var(--mtc-primary) 55%, var(--mtc-outline-variant));
  box-shadow:0 0 0 4px var(--mtc-accent-soft);
  background:color-mix(in srgb, var(--mtc-surface) 96%, transparent 4%);
}
.search-suggestions{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  width:100%;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border-radius:var(--mtc-radius-xl) !important;
  box-shadow:var(--mtc-elev-3);
  overflow:hidden;
  z-index:1200 !important;
  border:1px solid var(--mtc-border);
  animation:dropdownFade 0.2s ease-out;
}
.search-suggestion-item{
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  border-bottom:1px solid color-mix(in srgb, var(--mtc-border-soft) 75%, transparent 25%);
  transition:background var(--mtc-transition-fast);
}
.search-suggestion-item:last-child{ border-bottom:none; }
.search-suggestion-item:hover,
.search-suggestion-item.active{
  background:color-mix(in srgb, var(--mtc-primary-container) 55%, var(--mtc-surface) 45%);
}
.search-suggestion-name{
  color:var(--mtc-text-main);
  font-weight:650;
  font-family:var(--mtc-font-body);
}
.search-highlight{ background:color-mix(in srgb, #fff59d 70%, transparent 30%); padding:0 1px; border-radius:6px !important; }
.search-suggestion-tag{
  font-size:0.75rem;
  padding:4px 10px;
  border-radius:var(--mtc-radius-pill) !important;
  background:color-mix(in srgb, var(--mtc-primary-container) 60%, transparent 40%);
  color:var(--mtc-primary);
  text-transform:capitalize;
  border:1px solid var(--mtc-border-soft);
}
@keyframes dropdownFade{
  0%{ opacity:0; transform:translateY(-4px); }
  100%{ opacity:1; transform:translateY(0); }
}
@media (max-width:480px){
  .search-wrapper{ max-width:100%; }
}

.calc-card,
.calc-item,
.calc-link{
  border-left:4px solid transparent !important;
  display:block;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  padding:12px 14px;
  border:1px solid var(--mtc-border);
  font-size:0.88rem;
  color:var(--mtc-text-main);
  text-decoration:none;
  box-shadow:var(--mtc-elev-1);
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), border-color var(--mtc-transition-fast), background var(--mtc-transition-fast);
  border-image:linear-gradient(180deg, rgba(91,92,230,1), rgba(138,77,120,0.65)) 1;
}
.calc-card:hover,
.calc-item:hover,
.calc-link:hover{
  transform:translateY(-3px);
  box-shadow:var(--mtc-elev-2);
  background:color-mix(in srgb, var(--mtc-surface-container) 92%, rgba(91,92,230,0.08));
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  text-decoration:none;
}
.calc-card-title{   text-decoration:none;
  color:inherit;
  display:inline-block; font-weight:650; }
.calc-card-desc{ font-size:0.82rem; color:var(--mtc-text-sub); }

.main-content{ padding-bottom:48px; }

.calc-category{
  margin-bottom:22px;
  padding:18px 16px 18px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border);
  box-shadow:var(--mtc-elev-2);
}
.calc-category h2{ font-size:1.1rem; margin-bottom:6px; }
.calc-category > p{ font-size:0.9rem; color:var(--mtc-text-sub); margin-bottom:6px; }

.calc-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr;
  gap:10px 12px;
}

.calc-page{ padding-top:20px; padding-bottom:20px; }
.calc-hero{ margin-bottom:20px; }
.calc-hero-card{
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border);
  padding:20px 18px 18px;
  box-shadow:var(--mtc-elev-2);
  position:relative;
}
.calc-hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:var(--mtc-radius-xl) !important;
}
.calc-hero-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:var(--mtc-radius-pill) !important;
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  font-size:0.78rem;
  color:#fff;
  margin-bottom:8px;
}
.calc-badge{
  background:color-mix(in srgb, var(--mtc-secondary-container) 70%, var(--mtc-surface) 30%);
  color:var(--mtc-on-secondary-container);
  padding:4px 10px;
  border-radius:var(--mtc-radius-pill) !important;
  font-size:0.72rem;
  font-weight:650;
  border:1px solid var(--mtc-border-soft);
}
.calc-hero-title{
  font-size:1.9rem;
  margin:0 0 8px;
  letter-spacing:-0.02em;
}
.calc-hero-subtitle{ font-size:0.95rem; color:var(--mtc-text-sub); }
.calc-hero-meta{
  margin-top:10px;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  font-size:0.8rem;
}
.calc-hero-meta span{
  padding:6px 10px;
  border-radius:var(--mtc-radius-pill) !important;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 86%, transparent 14%);
  border:1px solid var(--mtc-border-soft);
}
.calc-hero-disclaimer{
  margin-top:10px;
  padding:12px 14px;
  font-size:0.90rem;
  line-height:1.45;
  color:var(--mtc-text-sub);
  background:color-mix(in srgb, var(--mtc-surface) 86%, var(--mtc-primary-container) 14%);
  border-left:4px solid var(--mtc-primary);
  border-radius:var(--mtc-radius-lg) !important;
  border:1px solid var(--mtc-border-soft);
  font-family:var(--mtc-font-body);
  box-shadow:var(--mtc-elev-1);
}

.calc-wrapper{ padding-top:4px; }
.calc-box{
  margin-top:10px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border);
  box-shadow:var(--mtc-elev-2);
  padding:20px 16px 24px;
}
.calc-header{ margin-bottom:12px; }
.calc-title{ font-size:1.3rem; margin:0; font-weight:750; }
.calc-subtitle{ margin:5px 0 0; font-size:0.9rem; color:var(--mtc-text-sub); }

.calc-input-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap:14px;
  margin-top:12px;
  margin-bottom:14px;
}

.calc-input-group{
  width:100%;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid var(--mtc-border-soft);
  border-radius:var(--mtc-radius-xl) !important;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, #ffffff 12%);
  box-shadow:none;
  transition:border-color var(--mtc-transition-fast), background var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), transform var(--mtc-transition-fast);
}
.calc-input-group label{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0;
  font-size:0.86rem;
  font-weight:750;
  color:var(--mtc-text-main);
  letter-spacing:.01em;
}
.calc-input-group .label-hint{
  font-size:0.8rem;
  font-weight:650;
  color:var(--mtc-text-muted);
  white-space:nowrap;
  opacity:.95;
}
.calc-input-group input,
.calc-input-group select,
.calc-input-group textarea{
  width:100%;
  min-width:0;
  border-radius:var(--mtc-radius-lg) !important;
  border:1px solid var(--mtc-border-soft);
  padding:11px 12px;
  font-size:0.95rem;
  line-height:1.25;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  color:var(--mtc-text-main);
  box-shadow:none;
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast);
}
.calc-input-group input::placeholder,
.calc-input-group textarea::placeholder{
  color:var(--mtc-text-muted);
  opacity:.85;
}
.calc-input-group input:hover,
.calc-input-group select:hover,
.calc-input-group textarea:hover{
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
}

.calc-input-group textarea{ min-height:96px; resize:vertical; }
.calc-input-group select{
  appearance:none;
  padding-right:42px;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--mtc-text-muted) 50%),
    linear-gradient(135deg, var(--mtc-text-muted) 50%, transparent 50%);
  background-position:calc(100% - 18px) 56%, calc(100% - 12px) 56%;
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}
.calc-input-group .help-text,
.calc-input-group .error-text{
  margin-top:2px;
  font-size:0.85rem;
  line-height:1.35;
}
.calc-input-group .help-text{ color:var(--mtc-text-muted); }
.calc-input-group .error-text{ color:var(--mtc-danger); }
.calc-input-group.is-error{
  border-color:color-mix(in srgb, var(--mtc-danger) 60%, var(--mtc-border));
  background:color-mix(in srgb, var(--mtc-surface-container-low) 92%, var(--mtc-error-container) 8%);
}
.calc-input-group.is-error input,
.calc-input-group.is-error select,
.calc-input-group.is-error textarea{
  border-color:color-mix(in srgb, var(--mtc-danger) 55%, var(--mtc-border));
}

.calc-input-group .two-col{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px 12px;
  margin-top:6px;
}
@media (max-width:520px){ .calc-input-group .two-col{ grid-template-columns:1fr; } }
.calc-input-group .two-col label{
  justify-content:flex-start;
  align-items:center;
  gap:10px;
  font-weight:650;
  font-size:0.88rem;
  padding:10px 12px;
  border:1px solid var(--mtc-border-soft);
  border-radius:var(--mtc-radius-lg) !important;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  cursor:pointer;
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast), transform var(--mtc-transition-fast);
}
.calc-input-group .two-col label:hover{
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-1);
  transform:translateY(-1px);
}

.calc-input-group .two-col input[type="checkbox"],
.calc-input-group .two-col input[type="radio"]{
  width:18px;
  height:18px;
  accent-color:var(--mtc-primary);
}

.toggle-row{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:0.9rem;
  color:var(--mtc-text-main);
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  border:1px solid var(--mtc-border-soft);
  padding:10px 12px;
  border-radius:var(--mtc-radius-lg) !important;
  cursor:pointer;
  user-select:none;
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast), transform var(--mtc-transition-fast);
}
.toggle-row:hover{
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-1);
  transform:translateY(-1px);
}
.toggle-row:focus-within{
  border-color:color-mix(in srgb, var(--mtc-primary) 55%, var(--mtc-outline-variant));
  box-shadow:0 0 0 4px var(--mtc-accent-soft);
}
.toggle-row input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:var(--mtc-primary);
  cursor:pointer;
}
.toggle-row input:checked + span{
  font-weight:750;
  color:var(--mtc-primary);
}

.calc-btn,
.btn-calculate{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 22px;
  border-radius:var(--mtc-radius-pill) !important;
  border:1px solid transparent;
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  color:var(--mtc-on-primary);
  font-size:0.95rem;
  font-weight:800;
  cursor:pointer;
  box-shadow:var(--mtc-elev-2);
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med), filter var(--mtc-transition-med);
  margin-top:8px;
}
.calc-btn:hover,
.btn-calculate:hover{
  filter:saturate(1.05) brightness(1.01);
  box-shadow:var(--mtc-elev-3);
  transform:translateY(-1px);
}
.calc-btn:active,
.btn-calculate:active{
  transform:translateY(0);
  filter:brightness(.98);
  box-shadow:var(--mtc-elev-2);
}

.btn-secondary,
.depth-chip{
  margin:4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 16px;
  border-radius:var(--mtc-radius-pill) !important;
  border:1px solid var(--mtc-border);
  background:color-mix(in srgb, var(--mtc-surface) 92%, var(--mtc-primary-container) 8%);
  color:var(--mtc-text-main);
  font-size:0.9rem;
  font-weight:700;
  cursor:pointer;
  box-shadow:var(--mtc-elev-1);
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-med), border-color var(--mtc-transition-med), box-shadow var(--mtc-transition-med);
}
.btn-secondary:hover,
.depth-chip:hover{
  background:color-mix(in srgb, var(--mtc-primary-container) 65%, var(--mtc-surface) 35%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-2);
  transform:translateY(-1px);
}

.calc-results-grid,
.results-grid{
  margin-top:16px;
  display:grid !important;
  grid-template-columns:1fr;
  gap:12px;
}
.result-card,
.results-grid > div{
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border-soft);
  padding:12px 14px;
  box-shadow:none;
}
.result-card h4,
.results-grid h4{
  margin:0 0 6px;
  font-size:0.86rem;
  font-weight:800;
  color:var(--mtc-text-main);
}
.result-card p,
.results-grid p{
  overflow-wrap:anywhere;
  margin:0;
  font-size:0.95rem;
  color:var(--mtc-text-main);
}
.result-value{
  font-weight:900;
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 55%, #ffffff 45%));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.calc-diagram svg{
  width:100%;
  height:auto !important;
  max-width:360px;
  preserveAspectRatio:xMidYMid meet;
}

.segmented{ display:flex; gap:10px; align-items:center; }
.seg-btn{
  appearance:none;
  border:1px solid color-mix(in srgb, var(--mtc-primary) 40%, var(--mtc-border));
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  color:var(--mtc-text-main);
  padding:10px 14px;
  border-radius:var(--mtc-radius-lg) !important;
  font-weight:750;
  font-size:14px;
  line-height:1;
  cursor:pointer;
  transition:transform .08s ease, background .12s ease, border-color .12s ease, box-shadow .12s ease, color .12s ease;
  user-select:none;
  box-shadow:var(--mtc-elev-1);
}
.seg-btn:hover{ background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%); border-color:var(--mtc-outline-variant); box-shadow:var(--mtc-elev-2); }
.seg-btn:active{ transform:translateY(1px); }
.seg-btn:focus-visible{ box-shadow:0 0 0 4px var(--mtc-accent-soft), var(--mtc-elev-1); }
.seg-btn.active{
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  border-color:transparent;
  color:var(--mtc-on-primary);
  box-shadow:var(--mtc-elev-3);
}
.seg-btn:disabled{ opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }

#calendarYearWrapper,
#calendarMonthWrapper{ margin-top:20px; }
#calendarYearWrapper h3,
#calendarMonthWrapper h3{
  font-size:1.4rem;
  margin-bottom:14px;
  text-align:center;
  font-weight:800;
}
.mtc-calendar-year-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:18px;
}
.mtc-calendar-month-block{
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border:1px solid var(--mtc-border);
  padding:12px 14px;
  border-radius:var(--mtc-radius-xl) !important;
  box-shadow:var(--mtc-elev-1);
}
.mtc-calendar-month-block h4{
  text-align:center;
  margin-bottom:8px;
  font-size:1.1rem;
  font-weight:800;
}
.mtc-calendar-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:0.9rem;
}
.mtc-calendar-table th{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  padding:6px 0;
  font-weight:800;
  border:1px solid color-mix(in srgb, var(--mtc-border) 70%, transparent 30%);
  text-align:center;
}
.mtc-calendar-table td{
  padding:10px 4px;
  height:42px;
  border:1px solid color-mix(in srgb, var(--mtc-border) 60%, transparent 40%);
  text-align:center;
  vertical-align:middle;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
}
.mtc-calendar-table td:empty{ background:color-mix(in srgb, var(--mtc-surface-container-low) 92%, transparent 8%); }
.mtc-calendar-table td:nth-child(1),
.mtc-calendar-table td:nth-child(7){ background:color-mix(in srgb, var(--mtc-tertiary-container) 35%, var(--mtc-surface) 65%); }

@media (max-width:640px){ .mtc-calendar-year-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){
  .mtc-calendar-year-grid{ grid-template-columns:1fr; }
  .mtc-calendar-table th,
  .mtc-calendar-table td{ font-size:0.75rem; padding:6px 2px; }
}
@media print{
  body{ background:#fff; }
  .mtc-calendar-year-grid{ grid-template-columns:repeat(3, 1fr) !important; }
  .mtc-calendar-month-block{ break-inside:avoid; }
  .mtc-calendar-table th,
  .mtc-calendar-table td{ border:1px solid #000 !important; }
}

.mtc-month-view-wrapper{
  margin:25px auto;
  max-width:720px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  padding:22px 28px;
  box-shadow:var(--mtc-elev-2);
}
.mtc-month-view-header{ text-align:center; margin-bottom:18px; }
.mtc-month-view-header h2{ font-size:1.8rem; margin:0; font-weight:900; }
.mtc-month-view-header p{ margin-top:4px; color:var(--mtc-text-sub); font-size:1rem; }
.mtc-month-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  font-size:1rem;
}
.mtc-month-table th{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  border:1px solid color-mix(in srgb, var(--mtc-border) 70%, transparent 30%);
  padding:10px 0;
  text-align:center;
  font-weight:800;
}
.mtc-month-table td{
  height:70px;
  padding:0;
  border:1px solid color-mix(in srgb, var(--mtc-border) 60%, transparent 40%);
  text-align:center;
  vertical-align:top;
  font-size:1.05rem;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  position:relative;
}
.mtc-month-table td:empty{ background:color-mix(in srgb, var(--mtc-surface-container-low) 92%, transparent 8%); }
.mtc-day-number{
  position:absolute;
  top:6px;
  left:6px;
  font-size:0.85rem;
  color:var(--mtc-text-sub);
}
.mtc-month-table td:nth-child(1),
.mtc-month-table td:nth-child(7){ background:color-mix(in srgb, var(--mtc-tertiary-container) 35%, var(--mtc-surface) 65%); }

@media (max-width:600px){
  .mtc-month-view-wrapper{ padding:16px; }
  .mtc-month-view-header h2{ font-size:1.4rem; }
  .mtc-month-table td{ height:48px; font-size:0.85rem; }
  .mtc-day-number{ font-size:0.75rem; }
}
@media (max-width:420px){
  .mtc-month-view-header h2{ font-size:1.2rem; }
  .mtc-month-table th,
  .mtc-month-table td{ font-size:0.75rem; }
}
@media print{
  .mtc-month-view-wrapper{ border:none; padding:0; }
  .mtc-month-table th,
  .mtc-month-table td{ border:1px solid #000 !important; }
  .mtc-day-number{ font-size:0.7rem; }
}

.mtc-holiday{ background:color-mix(in srgb, #fff3cd 70%, var(--mtc-surface) 30%) !important; }
.mtc-event{ background:color-mix(in srgb, #e6f0ff 70%, var(--mtc-surface) 30%) !important; border-color:color-mix(in srgb, #bcd4ff 70%, var(--mtc-border) 30%) !important; }
.mtc-weekend{ background:color-mix(in srgb, #f8f0f0 70%, var(--mtc-surface) 30%) !important; }

.prob-dist-list,
.prob-tree,
.prob-bar{
  margin-top:18px;
  padding:16px 18px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  box-shadow:var(--mtc-elev-1);
  font-family:"JetBrains Mono","Courier New",monospace;
  font-size:0.92rem;
  line-height:1.55;
  white-space:pre;
  overflow-x:auto;
  color:var(--mtc-text-main);
}
.prob-tree{ margin-top:20px; padding:18px 20px; }
.prob-bar{ margin-top:14px; padding:10px 14px; }

.prob-dist-list::-webkit-scrollbar,
.prob-tree::-webkit-scrollbar,
.prob-bar::-webkit-scrollbar{ height:6px; }
.prob-dist-list::-webkit-scrollbar-thumb,
.prob-tree::-webkit-scrollbar-thumb,
.prob-bar::-webkit-scrollbar-thumb{ background:var(--mtc-outline-variant); border-radius:var(--mtc-radius-pill) !important; }
.prob-dist-list::-webkit-scrollbar-thumb:hover,
.prob-tree::-webkit-scrollbar-thumb:hover,
.prob-bar::-webkit-scrollbar-thumb:hover{ background:var(--mtc-primary); }

#poly2Wrapper,
.char-poly-block{
  margin-top:20px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  padding:18px 20px;
  box-shadow:var(--mtc-elev-1);
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med);
}
#poly2Wrapper:hover{ box-shadow:var(--mtc-elev-2); transform:translateY(-1px); }
#poly2Wrapper h4{
  margin:0 0 10px;
  font-size:1rem;
  font-weight:800;
  color:var(--mtc-text-main);
}
#poly2Wrapper p#poly2{
  margin:0;
  padding:10px 14px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  border-radius:var(--mtc-radius-lg) !important;
  border:1px solid var(--mtc-border-soft);
  font-family:"JetBrains Mono","Courier New",monospace;
  font-size:0.95rem;
  white-space:nowrap;
  overflow-x:auto;
  color:var(--mtc-text-main);
}
#poly2Wrapper p#poly2::-webkit-scrollbar{ height:6px; }
#poly2Wrapper p#poly2::-webkit-scrollbar-thumb{ background:var(--mtc-outline-variant); border-radius:var(--mtc-radius-pill) !important; }
#poly2Wrapper p#poly2::-webkit-scrollbar-thumb:hover{ background:var(--mtc-primary); }

.calc-article,
.content-card,
.main-article{
  margin-top:24px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
  border-radius:var(--mtc-radius-xl) !important;
  padding:22px 18px 24px;
  border:1px solid var(--mtc-border);
  box-shadow:var(--mtc-elev-2);
}
.calc-article h2,
.content-card h2,
.main-article h2{
  font-size:1.35rem;
  font-weight:900;
  margin-bottom:12px;
}
.calc-article h3,
.content-card h3,
.main-article h3{
  font-size:1.12rem;
  font-weight:850;
  margin-top:20px;
  margin-bottom:8px;
}
.calc-article p,
.calc-article ul,
.content-card p,
.content-card ul,
.main-article p,
.main-article ul{
  font-size:0.97rem;
  line-height:1.75;
  color:var(--mtc-text-sub);
  letter-spacing:-0.004em;
  margin-bottom:1rem;
}
.calc-article ul,
.content-card ul,
.main-article ul{ padding-left:1.25rem; }
.calc-article li,
.content-card li,
.main-article li{ margin-bottom:0.45rem; }

.formula{
  overflow:auto;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border-radius:var(--mtc-radius-xl) !important;
  padding:12px 14px;
  border:1px solid var(--mtc-border);
  margin:14px 0;
  font-size:0.94rem;
}

.form-section{
  margin-top:24px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
  border-radius:var(--mtc-radius-xl) !important;
  padding:18px 16px 20px;
  border:1px solid var(--mtc-border);
  box-shadow:var(--mtc-elev-2);
}
.form-section h2{ margin-bottom:8px; font-size:1.2rem; font-weight:900; }
.form-grid{ display:grid; grid-template-columns:1fr; gap:14px; }
.form-group{ display:flex; flex-direction:column; gap:6px; }
.form-group label{ font-size:0.9rem; font-weight:750; }
.form-group input,
.form-group textarea{
  border-radius:var(--mtc-radius-lg) !important;
  border:1px solid var(--mtc-border-soft);
  padding:10px 12px;
  font-size:0.9rem;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast);
}
.form-group textarea{ min-height:110px; resize:vertical; }
.form-group input:focus,
.form-group textarea:focus{
  border-color:color-mix(in srgb, var(--mtc-primary) 55%, var(--mtc-outline-variant));
  box-shadow:0 0 0 4px var(--mtc-accent-soft);
  outline:none;
  background:color-mix(in srgb, var(--mtc-surface) 96%, transparent 4%);
}

.calc-table{
  width:100%;
  border-collapse:collapse;
  margin:16px 0;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.04));
  font-size:0.95rem;
  overflow:hidden;
  box-shadow:var(--mtc-elev-1);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
}
.calc-table thead th{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  padding:12px 10px;
  text-align:left;
  font-weight:900;
  font-family:var(--mtc-font-heading);
  color:var(--mtc-text-main);
  border-bottom:1px solid color-mix(in srgb, var(--mtc-border) 70%, transparent 30%);
  white-space:nowrap;
}
.calc-table td{
  padding:10px;
  border-bottom:1px solid color-mix(in srgb, var(--mtc-border) 60%, transparent 40%);
  vertical-align:middle;
  font-family:var(--mtc-font-body);
  color:var(--mtc-text-main);
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
}
.calc-table tbody tr:last-child td{ border-bottom:none; }

.calc-table input[type="number"],
.calc-table input[type="text"],
.calc-table select{
  width:auto;
  padding:6px 8px;
  font-size:0.9rem;
  border-radius:var(--mtc-radius-lg) !important;
  border:1px solid var(--mtc-border-soft);
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  font-family:var(--mtc-font-body);
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast);
}
.calc-table input[type="number"]:focus,
.calc-table input[type="text"]:focus,
.calc-table select:focus{
  outline:none;
  border-color:color-mix(in srgb, var(--mtc-primary) 55%, var(--mtc-outline-variant));
  box-shadow:0 0 0 4px var(--mtc-accent-soft);
  background:color-mix(in srgb, var(--mtc-surface) 96%, transparent 4%);
}
.calc-table .btn-link{
  background:none;
  border:none;
  color:var(--mtc-primary);
  font-size:1.1rem;
  cursor:pointer;
  padding:2px 6px;
  transition:opacity var(--mtc-transition-fast), transform var(--mtc-transition-fast);
}
.calc-table .btn-link:hover:not(:disabled){ opacity:0.7; transform:translateY(-1px); }
.calc-table .btn-link:disabled{ cursor:not-allowed; opacity:0.35; transform:none; }

@media (max-width:768px){
  .calc-table{ display:block; overflow-x:auto; white-space:nowrap; }
  .calc-table input[type="number"],
  .calc-table input[type="text"],
  .calc-table select{ min-width:90px; }
}

.mort-note,
.sd-note,
.seq-note{
  background:color-mix(in srgb, var(--mtc-surface) 86%, var(--mtc-primary-container) 14%);
  border:1px solid var(--mtc-border-soft);
  border-radius:var(--mtc-radius-xl) !important;
  padding:14px 18px;
  margin:20px 0;
  font-size:0.95rem;
  line-height:1.55;
  color:var(--mtc-text-secondary);
  box-shadow:var(--mtc-elev-1);
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med), color var(--mtc-transition-fast);
  border-left:4px solid var(--mtc-primary);
}
.mort-note{ margin:22px 0 10px; }
.mort-note:hover,
.sd-note:hover,
.seq-note:hover{
  box-shadow:var(--mtc-elev-2);
  color:var(--mtc-text-main);
  transform:translateY(-1px);
}
@media (max-width:600px){
  .mort-note{ font-size:0.92rem; padding:12px 16px; margin-top:18px; }
  .sd-note, .seq-note{ font-size:0.92rem; padding:12px 16px; }
}

.mtc-faq-accent{ margin-top:22px; display:flex; flex-direction:column; gap:14px; }
.mtc-faq-accent-item{
  border-radius:var(--mtc-radius-xl) !important;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border:1px solid var(--mtc-border);
  box-shadow:var(--mtc-elev-1);
  overflow:hidden;
  transition:transform var(--mtc-transition-med), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med), background var(--mtc-transition-med);
}
.mtc-faq-accent-item:hover{ transform:translateY(-2px); box-shadow:var(--mtc-elev-2); }
.mtc-faq-accent-item.active{ border-color:color-mix(in srgb, var(--mtc-primary) 45%, var(--mtc-border)); box-shadow:var(--mtc-elev-3); }
.mtc-faq-accent-question{
  width:100%;
  padding:16px 18px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  font-size:1rem;
  font-weight:850;
  color:var(--mtc-text-main);
  transition:background var(--mtc-transition-fast);
}
.mtc-faq-accent-question:hover{ background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%); }
.mtc-faq-accent-arrow{
  font-size:1.3rem;
  color:var(--mtc-primary);
  transition:transform var(--mtc-transition-fast);
}
.mtc-faq-accent-item.active .mtc-faq-accent-arrow{ transform:rotate(90deg); }
.mtc-faq-accent-answer{
  max-height:0;
  overflow:hidden;
  background:color-mix(in srgb, var(--mtc-surface-container-high) 92%, transparent 8%);
  border-top:1px solid var(--mtc-border);
  padding:0 18px;
  transition:max-height var(--mtc-transition-med), padding var(--mtc-transition-med);
}
.mtc-faq-accent-item.active .mtc-faq-accent-answer{ max-height:520px; padding:14px 18px 18px; }
.mtc-faq-accent-answer p{ margin:0; font-size:0.94rem; color:var(--mtc-text-sub); line-height:1.65; }

.calc-faq{ margin-top:60px; margin-bottom:60px; }
.calc-faq-header{ margin:0 auto 40px; text-align:center; }
.calc-faq-eyebrow{
  font-size:14px;
  font-weight:850;
  color:var(--mtc-primary);
  text-transform:uppercase;
  letter-spacing:0.5px;
  margin-bottom:8px;
}
.calc-faq-title{ font-size:32px; font-weight:950; margin-bottom:12px; }
.calc-faq-subtitle{ font-size:16px; color:var(--mtc-text-sub); margin:0 auto; }
.calc-faq-list{
  max-width:820px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.calc-faq-item{
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  box-shadow:var(--mtc-elev-1);
  overflow:hidden;
  transition:border-color var(--mtc-transition-med), box-shadow var(--mtc-transition-med), background var(--mtc-transition-med), transform var(--mtc-transition-fast);
}
.calc-faq-item:hover{ transform:translateY(-1px); box-shadow:var(--mtc-elev-2); }
.calc-faq-item.active{ border-color:color-mix(in srgb, var(--mtc-primary) 45%, var(--mtc-border)); box-shadow:var(--mtc-elev-3); }
.calc-faq-question{
  width:100%;
  padding:18px 20px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:none;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
  font-size:14px;
  color:var(--mtc-text-main);
  font-weight:850;
  transition:background var(--mtc-transition-med);
}
.calc-faq-question:hover{ background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%); }
.calc-faq-icon{
  font-size:18px;
  font-weight:900;
  color:var(--mtc-primary);
  transition:transform var(--mtc-transition-med);
}
.calc-faq-item.active .calc-faq-icon{ transform:rotate(45deg); }
.calc-faq-answer{
  background:color-mix(in srgb, var(--mtc-surface-container-high) 92%, transparent 8%);
  border-top:1px solid var(--mtc-border);
  max-height:0;
  overflow:hidden;
  padding:0 20px;
  transition:max-height 0.35s ease, padding 0.25s ease;
}
.calc-faq-item.active .calc-faq-answer{ padding:18px 20px; max-height:520px; }
.calc-faq-answer p{ font-size:13px; line-height:1.6; color:var(--mtc-text-sub); }

.faq-wrapper{ margin-top:40px; margin-bottom:40px; }
.faq-heading{
  font-size:1.6rem;
  font-weight:950;
  margin-bottom:20px;
  color:var(--mtc-primary);
  text-align:center;
}
.faq-card{
  padding:6px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border-radius:var(--mtc-radius-xl) !important;
  margin-bottom:16px;
  border:1px solid var(--mtc-border);
  box-shadow:var(--mtc-elev-1);
  overflow:hidden;
  transition:border-color var(--mtc-transition-med), box-shadow var(--mtc-transition-med), background var(--mtc-transition-med), transform var(--mtc-transition-fast);
}
.faq-card:hover{ transform:translateY(-1px); box-shadow:var(--mtc-elev-2); }
.faq-card.active{ border-color:color-mix(in srgb, var(--mtc-primary) 45%, var(--mtc-border)); box-shadow:var(--mtc-elev-3); }
.faq-question{
  width:100%;
  padding:18px 22px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
  cursor:pointer;
  font-size:1rem;
  font-weight:900;
  color:var(--mtc-text-main);
  transition:background var(--mtc-transition-med);
}
.faq-question:hover{ background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%); }
.faq-question::after{
  content:"\276F";
  font-size:1rem;
  color:var(--mtc-primary);
  transition:transform var(--mtc-transition-med);
}
.faq-card.active .faq-question::after{ transform:rotate(90deg); }
.faq-answer{
  max-height:0;
  overflow:hidden;
  padding:0 22px;
  font-size:0.95rem;
  line-height:1.6;
  color:var(--mtc-text-sub);
  background:color-mix(in srgb, var(--mtc-surface-container-high) 92%, transparent 8%);
  border-top:1px solid var(--mtc-border);
  transition:max-height .35s ease, padding .25s ease;
}
.faq-card.active .faq-answer{ max-height:640px; padding:0 22px 18px 22px; }

.related-tools{
  margin-top:2.5rem;
  padding:1.8rem 2rem;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  box-shadow:var(--mtc-elev-2);
}
.related-tools h2{ margin-bottom:1rem; font-size:1.3rem; font-weight:900; }
.related-tools ul{
  padding:0;
  margin:0;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:0.75rem 1.5rem;
}
.related-tools li{ margin:0; }
.related-tools li a{
  display:flex;
  align-items:center;
  font-size:0.95rem;
  color:var(--mtc-text-main);
  text-decoration:none;
  font-weight:750;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  padding:10px 14px;
  transition:transform var(--mtc-transition-med), box-shadow var(--mtc-transition-med), background var(--mtc-transition-med), border-color var(--mtc-transition-med), color var(--mtc-transition-med);
}
.related-tools li a::before{
  content:"→";
  margin-right:8px;
  font-size:0.95rem;
  color:var(--mtc-primary);
  transition:transform var(--mtc-transition-med), color var(--mtc-transition-med);
}
.related-tools li a:hover{
  background:color-mix(in srgb, var(--mtc-primary-container) 65%, var(--mtc-surface) 35%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  color:var(--mtc-on-primary-container);
  transform:translateX(3px);
  box-shadow:var(--mtc-elev-2);
  text-decoration:none;
}
.related-tools li a:hover::before{
  color:var(--mtc-on-primary-container);
  transform:translateX(2px);
}

.password-output{
  margin-top:1.5rem;
  padding:1.1rem 1rem;
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border);
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  display:flex;
  flex-direction:column;
  gap:0.75rem;
  box-shadow:var(--mtc-elev-1);
}
.password-output-input{
  width:100%;
  padding:0.75rem 0.9rem;
  border-radius:var(--mtc-radius-lg) !important;
  border:1px solid var(--mtc-border-soft);
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  font-family:var(--mtc-font-body);
  font-size:0.95rem;
  color:var(--mtc-text-main);
  outline:none;
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast);
}
.password-output-input::placeholder{ color:color-mix(in srgb, var(--mtc-text-muted) 70%, transparent 30%); }
.password-output-input:focus{
  border-color:color-mix(in srgb, var(--mtc-primary) 55%, var(--mtc-outline-variant));
  box-shadow:0 0 0 4px var(--mtc-accent-soft);
  background:color-mix(in srgb, var(--mtc-surface) 96%, transparent 4%);
}

.strength-wrapper{ display:flex; flex-direction:column; gap:0.4rem; font-size:0.82rem; color:var(--mtc-text-sub); }
.strength-wrapper-row{ display:flex; justify-content:space-between; align-items:center; }
.strength-wrapper-row span strong{ color:var(--mtc-text-main); }
.strength-bar{ width:100%; height:8px; border-radius:var(--mtc-radius-pill) !important; background:color-mix(in srgb, var(--mtc-border) 50%, transparent 50%); overflow:hidden; }
.strength-bar-fill{ height:100%; width:0%; border-radius:var(--mtc-radius-pill) !important; background:#22c55e; transition:width var(--mtc-transition-med), background-color var(--mtc-transition-med); }
.strength-weak{ background-color:#ef4444; }
.strength-fair{ background-color:#f97316; }
.strength-good{ background-color:#eab308; }
.strength-strong{ background-color:#22c55e; }
.strength-ultra{ background-color:#16a34a; }

.sci-keypad{ margin-top:22px; display:flex; flex-direction:column; gap:12px; }
.sci-row{ display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; }
.sci-row button{
  padding:12px 0;
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border-soft);
  font-size:1rem;
  font-weight:850;
  cursor:pointer;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  color:var(--mtc-text-main);
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-med), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med);
  box-shadow:var(--mtc-elev-1);
}
.sci-row button:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  box-shadow:var(--mtc-elev-2);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  transform:translateY(-1px);
}
.sci-row button:active{ transform:translateY(0) scale(0.99); }

.btn-calc-secondary{
  background:color-mix(in srgb, var(--mtc-primary-container) 70%, var(--mtc-surface) 30%);
  border-color:color-mix(in srgb, var(--mtc-primary) 40%, var(--mtc-border));
  color:var(--mtc-on-primary-container);
}

.angle-toggle{ display:flex; gap:10px; margin-top:6px; }
.btn-toggle{
  flex:1;
  padding:10px 0;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border-soft);
  border-radius:var(--mtc-radius-pill) !important;
  font-size:0.95rem;
  font-weight:850;
  color:var(--mtc-text-main);
  cursor:pointer;
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-med), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med);
  box-shadow:var(--mtc-elev-1);
}
.btn-toggle:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  transform:translateY(-1px);
  box-shadow:var(--mtc-elev-2);
}
.btn-toggle.active{
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  border-color:transparent;
  color:var(--mtc-on-primary);
  box-shadow:var(--mtc-elev-3);
}
.btn-toggle:active{ transform:translateY(0); }

.home-category-section{ padding:60px 0; border-bottom:1px solid var(--mtc-border); }
.category-header{ display:flex; align-items:center; gap:16px; margin-bottom:28px; }
.category-icon{
  width:46px;
  height:46px;
  font-size:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--mtc-radius-xl) !important;
  background:color-mix(in srgb, var(--mtc-primary-container) 70%, var(--mtc-surface) 30%);
  box-shadow:var(--mtc-elev-1);
  border:1px solid var(--mtc-border-soft);
}
.category-title{
  font-family:var(--mtc-font-heading);
  font-size:22px;
  font-weight:900;
  color:var(--mtc-text-main);
  margin-bottom:4px;
}
.category-sub{ font-size:0.9rem; color:var(--mtc-text-sub); }
.category-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:16px; }

.calc-tile{
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border:1px solid var(--mtc-border);
  padding:18px 16px;
  border-radius:var(--mtc-radius-xl) !important;
  box-shadow:var(--mtc-elev-1);
  text-decoration:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med), background var(--mtc-transition-med);
}
.calc-tile-name{ font-size:0.95rem; font-weight:800; color:var(--mtc-text-main); }
.calc-tile-tag{
  font-size:0.75rem;
  background:color-mix(in srgb, var(--mtc-primary-container) 70%, var(--mtc-surface) 30%);
  color:var(--mtc-on-primary-container);
  padding:6px 10px;
  border-radius:var(--mtc-radius-pill) !important;
  border:1px solid var(--mtc-border-soft);
  font-weight:800;
}
.calc-tile:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-2);
  background:color-mix(in srgb, var(--mtc-surface-container) 92%, rgba(91,92,230,0.08));
}
.calc-view-all{ margin-top:22px; text-align:right; }
.view-all-link{ font-size:0.9rem; color:var(--mtc-primary); text-decoration:none; font-weight:800; }
.view-all-link:hover{ text-decoration:underline; }

@media (max-width:600px){
  .home-category-section{ padding:40px 0; }
  .category-title{ font-size:20px; }
  .category-grid{ grid-template-columns:1fr; }
  .calc-tile{ padding:14px 14px; }
}

@media (min-width:640px){
  .calc-box{ padding:20px 18px 26px; }
  .calc-input-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .calc-results-grid, .results-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .calc-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (min-width:900px){
  .calc-hero-title{ font-size:2rem; }
  .calc-input-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
  .calc-results-grid, .results-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  .calc-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

.calc-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:16px 0 20px;
  padding-bottom:10px;
  border-bottom:1px solid var(--mtc-border-soft);
}
.tab-btn{
  background:color-mix(in srgb, var(--mtc-surface-container-low) 86%, transparent 14%);
  border:1px solid var(--mtc-border-soft);
  border-radius:var(--mtc-radius-pill) !important;
  padding:8px 16px;
  font-size:0.9rem;
  font-weight:800;
  cursor:pointer;
  color:var(--mtc-text-main);
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-fast), color var(--mtc-transition-fast), border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast);
  box-shadow:var(--mtc-elev-1);
}
.tab-btn:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  box-shadow:var(--mtc-elev-2);
  transform:translateY(-1px);
}
.tab-btn.active{
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  border-color:transparent;
  color:var(--mtc-on-primary);
  box-shadow:var(--mtc-elev-3);
}
.tab-panel{ display:none; margin-top:10px; }
.tab-panel.active{ display:block; }
.calc-box .calc-input-grid{ margin-top:14px; }
.calc-box .result-card{ background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%); }
.calc-box center{ display:block; }
@media (max-width:600px){
  .calc-tabs{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:10px; scrollbar-width:none; }
  .calc-tabs::-webkit-scrollbar{ display:none; }
  .tab-btn{ white-space:nowrap; }
}

.steps-box{
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  padding:20px 22px;
  margin-top:24px;
  box-shadow:var(--mtc-elev-1);
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med), background var(--mtc-transition-med);
}
.steps-box:hover{ transform:translateY(-1px); box-shadow:var(--mtc-elev-2); }
.steps-box h4{
  margin:0 0 14px;
  font-size:1.05rem;
  font-weight:900;
  color:var(--mtc-text-main);
}
.steps-box ol{ margin:0; padding-left:20px; }
.steps-box ol li{
  margin-bottom:10px;
  font-size:0.95rem;
  line-height:1.55;
  color:var(--mtc-text-secondary);
  padding-left:4px;
  transition:color var(--mtc-transition-fast), transform var(--mtc-transition-fast);
}
.steps-box ol li:hover{ color:var(--mtc-text-main); transform:translateX(3px); }
@media (max-width:600px){
  .steps-box{ padding:18px 16px; }
  .steps-box h4{ font-size:1rem; }
}

.calc-input-grid-matrix{ margin-top:18px; width:100%; }
.matrix-grid{
  display:grid;
  gap:12px;
  padding:18px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  box-shadow:var(--mtc-elev-1);
  width:max-content;
  margin:0 auto;
}
.matrix-row{ display:flex; gap:10px; }
.matrix-row input[type="number"]{
  width:64px;
  padding:10px 12px;
  font-size:1rem;
  text-align:center;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  border:1px solid var(--mtc-border-soft);
  border-radius:var(--mtc-radius-lg) !important;
  font-family:var(--mtc-font-body);
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast);
}
.matrix-row input[type="number"]:focus{
  outline:none;
  border-color:color-mix(in srgb, var(--mtc-primary) 55%, var(--mtc-outline-variant));
  box-shadow:0 0 0 4px var(--mtc-accent-soft);
  background:color-mix(in srgb, var(--mtc-surface) 96%, transparent 4%);
}
@media (max-width:480px){
  .matrix-row input[type="number"]{ width:48px; padding:8px; font-size:0.9rem; }
  .matrix-grid{ padding:14px; gap:8px; }
}

.calc-note{
  background:color-mix(in srgb, var(--mtc-surface) 86%, var(--mtc-primary-container) 14%);
  border-left:4px solid var(--mtc-accent);
  padding:12px 16px;
  margin:10px 0;
  font-size:0.95rem;
  line-height:1.55;
  color:var(--mtc-text-main);
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border-soft);
  box-shadow:var(--mtc-elev-1);
}

.btn-ghost-minimal{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 14px;
  font-size:0.95rem;
  font-weight:750;
  font-family:var(--mtc-font-body);
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  border:1px solid transparent;
  color:#fff;
  border-radius:var(--mtc-radius-pill) !important;
  cursor:pointer;
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med), filter var(--mtc-transition-med);
  box-shadow:var(--mtc-elev-2);
}
.btn-ghost-minimal:hover{
  filter:saturate(1.05) brightness(1.01);
  box-shadow:var(--mtc-elev-3);
  transform:translateY(-1px);
}
.btn-ghost-minimal:active{ transform:translateY(0) scale(0.99); box-shadow:var(--mtc-elev-2); }
.btn-ghost-minimal:disabled{ opacity:0.55; cursor:not-allowed; box-shadow:none; }

[data-aos^="fade"].aos-animate{ opacity:1 !important; transform:none !important; }
.calc-box [data-aos],
.search-wrapper [data-aos],
.hero-aside [data-aos]{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
  animation:none !important;
}

.checkbox-group{
  display:grid !important;
  width:100%;
  grid-template-columns:1fr !important;
  gap:12px;
  margin-top:10px;
}
.checkbox-group label{
  display:flex !important;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  font-size:0.95rem;
  cursor:pointer;
  line-height:1.4;
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-med), border-color var(--mtc-transition-med), box-shadow var(--mtc-transition-med);
  box-shadow:var(--mtc-elev-1);
}
.checkbox-group label:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-2);
  transform:translateY(-1px);
}
.checkbox-group input[type="checkbox"]{ width:18px; height:18px; accent-color:var(--mtc-primary); }
@media (min-width:640px){ .checkbox-group{ grid-template-columns:repeat(2, 1fr) !important; } }
@media (min-width:1024px){ .checkbox-group{ grid-template-columns:repeat(3, 1fr) !important; max-width:100% !important; } }

.sub-tab-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  margin:0 6px 10px 0;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-pill) !important;
  font-family:var(--mtc-font-body);
  font-size:14px;
  font-weight:800;
  color:var(--mtc-text-main);
  cursor:pointer;
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-med), border-color var(--mtc-transition-med), box-shadow var(--mtc-transition-med), color var(--mtc-transition-med);
  box-shadow:var(--mtc-elev-1);
}
.sub-tab-btn:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-2);
  transform:translateY(-1px);
}
.sub-tab-btn.active{
  background:color-mix(in srgb, var(--mtc-primary-container) 70%, var(--mtc-surface) 30%);
  border-color:color-mix(in srgb, var(--mtc-primary) 35%, var(--mtc-border));
  color:var(--mtc-on-primary-container);
  box-shadow:0 0 0 4px var(--mtc-accent-soft), var(--mtc-elev-2);
}
.sub-tab-btn:focus{ outline:none; box-shadow:0 0 0 4px var(--mtc-accent-soft), var(--mtc-elev-2); }
@media (max-width:640px){
  .sub-tab-btn{ padding:8px 14px; font-size:13px; margin-right:6px; }
}

.header-minimal{
  width:100%;
  position:sticky;
  top:0;
  z-index:1000;
  background:color-mix(in srgb, var(--mtc-header-surface) 84%, transparent 16%);
  border-bottom:1px solid var(--mtc-header-border);
  box-shadow:var(--mtc-header-shadow);
  padding:12px 0;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  transition:background var(--mtc-transition-med), border-color var(--mtc-transition-med), box-shadow var(--mtc-transition-med);
  border-radius:0 !important;
}
.header-container{
  max-width:var(--mtc-max-width);
  margin:0 auto;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.header-logo img{
  width:290px;
  height:40px;
  max-width:65vw;
  object-fit:contain;
  display:block;
}

.header-minimal .nav-links{
  display:flex;
  align-items:center;
  gap:4px;
  list-style:none;
  margin:0;
  padding-left:0;
}
.nav-links li a{ min-height:40px; display:inline-flex; align-items:center; line-height:1; }
.nav-links li a i{ width:1em; display:inline-block; }

.header-minimal .nav-links li a{
  text-decoration:none;
  font-size:0.77rem;
  font-weight:850;
  padding:10px 14px;
  border-radius:var(--mtc-radius-pill) !important;
  color:var(--mtc-text-main);
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-fast), color var(--mtc-transition-fast), border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast);
  box-shadow:var(--mtc-elev-1);
}
.header-minimal .nav-links li a:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-2);
  transform:translateY(-1px);
}
.header-minimal .nav-links li a i{
  font-size:1rem;
  margin-right:6px;
  color:var(--mtc-primary);
}
.header-minimal .menu-toggle{
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-pill) !important;
  width:40px;
  height:40px;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background var(--mtc-transition-fast), border-color var(--mtc-transition-fast), transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast);
  box-shadow:var(--mtc-elev-1);
}
.header-minimal .menu-toggle:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-2);
  transform:translateY(-1px);
}
.header-minimal .menu-toggle .ham{
  stroke:var(--mtc-text-main);
  transition:stroke var(--mtc-transition-fast), transform var(--mtc-transition-fast);
}
.header-minimal .menu-toggle.active .ham{
  stroke:var(--mtc-primary);
  transform:scale(1.06);
}

@media (max-width:768px){
  .header-minimal .menu-toggle{ display:flex; }
  .header-minimal .nav-links{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    display:none;
    flex-direction:column;
    text-align:center;
    background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
    border-bottom-left-radius:var(--mtc-radius-xl) !important;
    border-bottom-right-radius:var(--mtc-radius-xl) !important;
    border:1px solid var(--mtc-border);
    box-shadow:var(--mtc-elev-3);
    padding:18px 0;
    opacity:0;
    transform:translateY(-10px);
    transition:opacity var(--mtc-transition-med), transform var(--mtc-transition-med);
  }
  .header-minimal .nav-links.active{ display:flex; opacity:1; transform:translateY(0); }
  .header-minimal .nav-links li a{
    width:100%;
    padding:14px 0;
    border-radius:0 !important;
    background:transparent;
    border:0;
    box-shadow:none;
  }
  .header-minimal .nav-links li a:hover{ background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%); box-shadow:none; }
}

.footer-minimal{
  width:100%;
  padding:48px 0 40px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border-top:1px solid var(--mtc-border);
  box-shadow:none;
  text-align:center;
  transition:background var(--mtc-transition-med), border-color var(--mtc-transition-med), box-shadow var(--mtc-transition-med);
  border-radius:0 !important;
}
.footer-container{ max-width:1100px; margin:0 auto; padding:0 16px; }

.footer-nav-links{
  list-style:none;
  padding-left:0;
  margin:0 0 28px;
  display:flex;
  justify-content:center;
  gap:4px;
  flex-wrap:wrap;
}
.footer-nav-links li a{
  text-decoration:none;
  font-size:0.77rem;
  font-weight:850;
  padding:10px 14px;
  border-radius:var(--mtc-radius-pill) !important;
  color:var(--mtc-text-main);
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  display:flex;
  align-items:center;
  gap:6px;
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-fast), color var(--mtc-transition-fast), border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast);
  box-shadow:var(--mtc-elev-1);
}
.footer-nav-links li a:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  box-shadow:var(--mtc-elev-2);
  transform:translateY(-1px);
  text-decoration:none;
}

.footer-tools-grid{
  margin:0 auto 32px;
  text-align:left;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:18px;
}
.footer-tools-col{
  min-width:0;
  background:
    radial-gradient(circle at top right, rgba(91,92,230,0.12), transparent 60%),
    color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  padding:16px 20px;
  border-radius:var(--mtc-radius-xl) !important;
  box-shadow:var(--mtc-elev-1);
  border:1px solid var(--mtc-border);
}
.footer-tools-heading{
  font-size:0.85rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:0.05em;
  margin:0 0 12px;
  color:var(--mtc-text-main);
  display:flex;
  gap:8px;
  align-items:center;
  padding-bottom:10px;
  border-bottom:1px solid color-mix(in srgb, var(--mtc-border) 70%, transparent 30%);
}
.footer-tools-list{ list-style:none; margin:0; padding:0; }
.footer-tools-list li{ margin-bottom:6px; }
.footer-tools-list a{
  font-size:0.85rem;
  color:var(--mtc-text-secondary);
  text-decoration:none;
  padding:6px 0;
  display:inline-flex;
  align-items:center;
  gap:8px;
  transition:color var(--mtc-transition-fast), transform var(--mtc-transition-fast);
}
.footer-tools-list a::before{
  content:"";
  width:6px;
  height:6px;
  background:var(--mtc-primary);
  border-radius:var(--mtc-radius-pill) !important;
  opacity:0.65;
}
.footer-tools-list a:hover{ color:var(--mtc-text-main); transform:translateX(4px); text-decoration:none; }

.footer-social{
  display:flex;
  justify-content:center;
  gap:14px;
  margin:26px 0 18px;
}
.footer-social a{
  width:40px;
  height:40px;
  border-radius:var(--mtc-radius-pill) !important;
  border:1px solid var(--mtc-border);
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  color:var(--mtc-text-main);
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-fast), border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast);
  box-shadow:var(--mtc-elev-1);
}
.footer-social a:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  transform:translateY(-2px);
  box-shadow:var(--mtc-elev-2);
}
.footer-text p{ margin:3px 0; font-size:0.88rem; color:var(--mtc-text-secondary); }

.footer-bottom{
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid var(--mtc-border);
  text-align:center;
}
.footer-copy{
  margin:0;
  font-family:var(--mtc-font-heading);
  font-weight:950;
  font-size:0.95rem;
  color:var(--mtc-text-main);
  display:inline-flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
}
.footer-copy i{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:color-mix(in srgb, var(--mtc-primary-container) 70%, var(--mtc-surface) 30%);
  color:var(--mtc-on-primary-container);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-lg) !important;
  box-shadow:var(--mtc-elev-1);
}
.footer-sep{ color:var(--mtc-outline); font-weight:950; }
.footer-tagline{
  margin:10px auto 0;
  max-width:860px;
  font-size:0.9rem;
  color:var(--mtc-text-sub);
  line-height:1.7;
}

@media (max-width:900px){ .footer-tools-grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:640px){
  .footer-nav-links{ flex-direction:column; gap:10px; }
  .footer-tools-grid{ grid-template-columns:1fr; gap:16px; }
  .footer-tools-col{ padding:14px 16px; }
  .footer-social{ gap:10px; }
}

.cd-main-display{
  width:100%;
  margin:30px 0;
  padding:25px 20px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  display:flex;
  justify-content:space-between;
  gap:20px;
  box-shadow:var(--mtc-elev-1);
}
.cd-time-block{
  flex:1;
  text-align:center;
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
  border-radius:var(--mtc-radius-xl) !important;
  padding:18px 10px;
  border:1px solid var(--mtc-border-soft);
  box-shadow:var(--mtc-elev-1);
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med), background var(--mtc-transition-med);
}
.cd-time-block:hover{
  transform:translateY(-3px);
  box-shadow:var(--mtc-elev-2);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
}
.cd-time-value{
  font-family:var(--mtc-font-heading);
  font-size:3rem;
  font-weight:950;
  color:var(--mtc-text-main);
  line-height:1;
  margin-bottom:6px;
}
.cd-time-label{
  font-size:0.9rem;
  font-weight:850;
  color:var(--mtc-text-sub);
  text-transform:uppercase;
  letter-spacing:0.5px;
}
@media (max-width:768px){
  .cd-main-display{ flex-wrap:wrap; padding:20px 15px; gap:15px; }
  .cd-time-block{ flex:1 1 calc(50% - 10px); }
  .cd-time-value{ font-size:2.6rem; }
}
@media (max-width:480px){
  .cd-main-display{ gap:12px; }
  .cd-time-block{ flex:1 1 100%; padding:16px 8px; }
  .cd-time-value{ font-size:2.3rem; }
}

.amort-table-wrapper{ overflow:auto; }

.calc-tab-group{
  margin:32px 0;
  border-radius:var(--mtc-radius-xl) !important;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border:1px solid var(--mtc-border);
  padding:0;
  box-shadow:var(--mtc-elev-1);
}
.calc-tab-list{
  display:flex;
  gap:8px;
  border-bottom:1px solid var(--mtc-border);
  padding:12px 16px;
  flex-wrap:wrap;
}
.calc-tab-button{
  padding:10px 18px;
  border:1px solid var(--mtc-border);
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  color:var(--mtc-text-main);
  border-radius:var(--mtc-radius-pill) !important;
  font-size:15px;
  font-weight:850;
  cursor:pointer;
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-med), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med), color var(--mtc-transition-med);
  outline:none;
  box-shadow:var(--mtc-elev-1);
}
.calc-tab-button:hover{
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
  box-shadow:var(--mtc-elev-2);
  transform:translateY(-1px);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
}
.calc-tab-button.is-active{
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  color:#ffffff;
  font-weight:900;
  border-color:transparent;
  box-shadow:var(--mtc-elev-3);
}
.calc-tab-panels{ padding:16px 20px; }
.calc-tab-panel{ display:none; animation:fadeTabs 0.25s ease; }
.calc-tab-panel.is-active{ display:block; }
@keyframes fadeTabs{
  from{ opacity:0; transform:translateY(4px); }
  to{ opacity:1; transform:translateY(0); }
}

#topCategories{
  box-shadow:var(--mtc-elev-2);
  margin-bottom:16px;
  position:sticky;
  top:72px;
  z-index:66;
  background:
    radial-gradient(circle at top right, rgba(91,92,230,0.14), transparent 60%),
    color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.06));
  border-radius:var(--mtc-radius-xl) !important;
  padding:20px 12px 20px;
  border:1px solid var(--mtc-border);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.top-cat-title{
  font-family:var(--mtc-font-heading);
  font-size:1.05rem;
  font-weight:950;
  text-align:center;
  margin-bottom:10px;
  color:var(--mtc-text-main);
}
.top-cat-scroll{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding:4px 4px 6px;
  scrollbar-width:none;
  scroll-behavior:smooth;
}
.top-cat-scroll::-webkit-scrollbar{ display:none; }
.top-cat-item{
  flex:0 0 auto;
  min-width:112px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  padding:12px 14px;
  font-family:var(--mtc-font-body);
  cursor:pointer;
  transition:transform var(--mtc-transition-fast), background var(--mtc-transition-med), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med);
  box-shadow:var(--mtc-elev-1);
}
.top-cat-item:hover{
  background:color-mix(in srgb, var(--mtc-primary-container) 65%, var(--mtc-surface) 35%);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
  transform:translateY(-2px);
  box-shadow:var(--mtc-elev-2);
}
.top-cat-item i{ font-size:1.25rem; color:var(--mtc-primary); transition:var(--mtc-transition-fast); }
.top-cat-label{ font-size:0.82rem; font-weight:900; color:var(--mtc-text-main); }
.top-cat-badge{
  font-size:0.68rem;
  font-weight:900;
  padding:4px 10px;
  border-radius:var(--mtc-radius-pill) !important;
  display:inline-flex;
  align-items:center;
  gap:4px;
  transition:var(--mtc-transition-fast);
  box-shadow:var(--mtc-elev-1);
  background:color-mix(in srgb, var(--mtc-primary-container) 60%, transparent 40%);
  border:1px solid var(--mtc-border-soft);
  color:var(--mtc-primary);
}
.top-cat-item.active{
  background:linear-gradient(135deg, var(--mtc-primary), color-mix(in srgb, var(--mtc-primary) 60%, #ffffff 40%));
  border-color:transparent;
  box-shadow:var(--mtc-elev-3);
}
.top-cat-item.active .top-cat-label,
.top-cat-item.active i{ color:var(--mtc-on-primary) !important; }
.top-cat-item.active .top-cat-badge{
  color:var(--mtc-on-primary) !important;
  border-color:rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.12);
  box-shadow:var(--mtc-elev-2);
}

.search-page-form{
  display:flex;
  gap:12px;
  align-items:center;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border-radius:var(--mtc-radius-xl) !important;
  padding:14px;
  box-shadow:var(--mtc-elev-2);
  border:1px solid var(--mtc-border);
}
.search-page-form input{
  flex:1;
  border:1px solid var(--mtc-border-soft);
  outline:none;
  font-family:inherit;
  font-size:1rem;
  padding:14px 16px;
  border-radius:var(--mtc-radius-xl) !important;
  background:color-mix(in srgb, var(--mtc-surface-container-low) 88%, transparent 12%);
  color:var(--mtc-text-main);
  transition:border-color var(--mtc-transition-fast), box-shadow var(--mtc-transition-fast), background var(--mtc-transition-fast);
}
.search-page-form input::placeholder{ color:var(--mtc-text-muted); }
.search-page-form input:focus{
  background:color-mix(in srgb, var(--mtc-surface) 96%, transparent 4%);
  border-color:color-mix(in srgb, var(--mtc-primary) 55%, var(--mtc-outline-variant));
  box-shadow:0 0 0 4px var(--mtc-accent-soft);
}
.search-page-form .btn-calculate{ padding:12px 20px; border-radius:var(--mtc-radius-xl) !important; font-size:0.95rem; }

.search-page-results{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:16px;
}
.search-page-results li{
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.05));
  border-radius:var(--mtc-radius-xl) !important;
  border:1px solid var(--mtc-border);
  padding:16px 18px;
  transition:transform var(--mtc-transition-fast), box-shadow var(--mtc-transition-med), border-color var(--mtc-transition-med), background var(--mtc-transition-med);
  box-shadow:var(--mtc-elev-1);
}
.search-page-results li:hover{
  transform:translateY(-2px);
  box-shadow:var(--mtc-elev-2);
  border-color:color-mix(in srgb, var(--mtc-primary) 28%, var(--mtc-border));
}
.search-page-results a{ display:flex; flex-direction:column; gap:6px; text-decoration:none; color:inherit; }
.search-page-results strong{ font-size:1.05rem; font-weight:900; color:var(--mtc-text-main); }
.search-page-results p{ font-size:0.9rem; color:var(--mtc-text-sub); margin:0; }
.search-page-tag{
  display:inline-flex;
  align-self:flex-start;
  margin-top:4px;
  font-size:0.75rem;
  font-weight:900;
  border-radius:var(--mtc-radius-pill) !important;
  padding:4px 10px;
  background:color-mix(in srgb, var(--mtc-primary-container) 60%, transparent 40%);
  color:var(--mtc-primary);
  border:1px solid var(--mtc-border-soft);
}
.search-page-results li:only-child{
  text-align:center;
  color:var(--mtc-text-muted);
  font-size:0.95rem;
  box-shadow:none;
}
@media (max-width:640px){
  .search-page-form{ flex-direction:column; padding:14px; }
  .search-page-form input{ width:100%; }
  .search-page-form .btn-calculate{ width:100%; }
}

.calendar-year-output{
  width:100%;
  margin-top:20px;
  font-family:system-ui,sans-serif;
  color:var(--mtc-text-main);
}
.cal-year-grid .cal-row{
  display:flex;
  justify-content:center;
  gap:20px;
  margin-bottom:30px;
  flex-wrap:wrap;
}
.cal-year-single{ display:flex; flex-direction:column; gap:25px; }
.cal-month{
  border:1px solid var(--mtc-border);
  border-radius:var(--mtc-radius-xl) !important;
  padding:10px;
  min-width:260px;
  background:color-mix(in srgb, var(--mtc-surface) 92%, rgba(91,92,230,0.04));
  box-shadow:var(--mtc-elev-1);
}
.cal-month-header{
  font-weight:900;
  text-align:center;
  font-size:1.1rem;
  padding:5px 0 10px;
}
.cal-month-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.85rem;
}
.cal-month-table th{
  text-align:center;
  padding:6px 0;
  color:var(--mtc-text-sub);
  font-weight:900;
  border-bottom:1px solid color-mix(in srgb, var(--mtc-border) 70%, transparent 30%);
  background:color-mix(in srgb, var(--mtc-surface-container) 90%, transparent 10%);
}
.cal-month-table td{
  height:28px;
  text-align:center;
  vertical-align:middle;
  padding:3px 0;
  border-bottom:1px solid color-mix(in srgb, var(--mtc-border) 60%, transparent 40%);
  border-right:1px solid color-mix(in srgb, var(--mtc-border) 60%, transparent 40%);
  background:color-mix(in srgb, var(--mtc-surface) 92%, transparent 8%);
}
.cal-month-table td:last-child{ border-right:none; }
.cal-empty{ background:color-mix(in srgb, var(--mtc-surface-container-low) 92%, transparent 8%); color:transparent; }
.cal-day{ cursor:default; position:relative; transition:background var(--mtc-transition-fast); }
.cal-day-number{ display:inline-block; padding:2px 6px; border-radius:10px !important; }
.cal-weekend{ background:color-mix(in srgb, var(--mtc-tertiary-container) 20%, var(--mtc-surface) 80%); }
.cal-highlight{
  background:color-mix(in srgb, #fff3cd 65%, var(--mtc-surface) 35%) !important;
  border:1px solid color-mix(in srgb, #f5d790 70%, var(--mtc-border) 30%) !important;
}
.cal-highlight .cal-day-number{ font-weight:900; color:color-mix(in srgb, #aa6d00 85%, var(--mtc-text-main) 15%); }
@media (max-width:900px){
  .cal-year-grid .cal-row{ flex-direction:column; align-items:center; }
}
@media (max-width:500px){ .cal-month{ min-width:90%; } }

@media print{
  body{ background:#fff !important; }
  .calc-header,
  .calc-input-grid,
  .btn-calculate,
  .calc-hero-card,
  .calc-hero-meta,
  header,
  nav,
  footer,
  .calc-art-container,
  .calc-article,
  .calc-box h2,
  .calc-box .calc-input-section{ display:none !important; }
  .calendar-year-output{ margin:0; padding:0; }
  .cal-month{ box-shadow:none; border-color:#ccc; }
  .cal-highlight{ background:#fff2a8 !important; }
  .cal-weekend{ background:#f4f4f4 !important; }
  @page{ size:A4 landscape; margin:10mm; }
}

.mtc-date-tool .date-grid{ gap:14px; }
@media (min-width:980px){
  .mtc-date-tool .date-grid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
.date-big
{
  font-size:clamp(34px, 2.2vw, 34px) !important;
  font-weight:950;
  margin:10px 0 0;
  line-height:1.12;
  letter-spacing:-0.02em;
  word-break:break-word;
}
.date-big--xl
{
  font-size:clamp(34px, 2.2vw, 34px) !important;
  font-weight:950;
  margin:10px 0 0;
  line-height:1.12;
  letter-spacing:-0.02em;
  word-break:break-word;
}
.mtc-date-tool .date-big{
  font-size:clamp(34px, 2.2vw, 34px);
  font-weight:950;
  margin:10px 0 0;
  line-height:1.12;
  letter-spacing:-0.02em;
  word-break:break-word;
}
.mtc-date-tool .date-big--xl{
  font-size:clamp(34px, 2.6vw, 40px);
  font-weight:1000;
  margin:10px 0 0;
  line-height:1.08;
  letter-spacing:-0.02em;
  word-break:break-word;
}
.mtc-date-tool .date-sub{
  margin:10px 0 0;
  font-weight:850;
  opacity:.92;
}
.mtc-date-tool .date-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:var(--mtc-radius-pill) !important;
  font-weight:950;
  font-size:13px;
  line-height:1;
  background:color-mix(in srgb, var(--mtc-primary-container) 60%, transparent 40%);
  border:1px solid var(--mtc-border-soft);
  color:var(--mtc-primary);
}
.mtc-date-tool .date-chip strong{ font-weight:1000; }
.mtc-date-tool .note-card{
  border-left:4px solid var(--mtc-primary);
  background:color-mix(in srgb, var(--mtc-surface) 86%, var(--mtc-primary-container) 14%);
  padding:12px 14px;
  border-radius:var(--mtc-radius-xl) !important;
  font-weight:850;
  opacity:.98;
  margin-top:14px;
  border:1px solid var(--mtc-border-soft);
  box-shadow:var(--mtc-elev-1);
}
.mtc-date-tool .note-card strong{ font-weight:1000; }
.mtc-date-tool .kv{
  margin-top:8px;
  border-radius:var(--mtc-radius-xl) !important;
  overflow:hidden;
  border:1px solid var(--mtc-border-soft);
  background:color-mix(in srgb, var(--mtc-surface) 84%, transparent 16%);
}
.mtc-date-tool .kv-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid var(--mtc-border-soft);
}
.mtc-date-tool .kv-row:last-child{ border-bottom:0; }
.mtc-date-tool .kv-k{ font-weight:900; min-width:0; color:var(--mtc-text-sub); }
.mtc-date-tool .kv-v{ font-weight:1000; opacity:.95; text-align:right; word-break:break-word; color:var(--mtc-text-main); }
@media (max-width:520px){
  .mtc-date-tool .kv-row{ padding:10px 10px; }
}
.mtc-date-tool .soft-divider{ height:1px; background:var(--mtc-border-soft); margin:12px 0; }
.mtc-date-tool .mini-list{ margin:10px 0 0; padding-left:18px; }
.mtc-date-tool .mini-list li{ margin:6px 0; }
.mtc-date-tool .result-card .date-chip{ margin-top:10px; }
.mtc-date-tool .summary-strong{ font-weight:1000; }

@media (prefers-reduced-motion: reduce){
  .calc-input-group,
  .calc-input-group *,
  .toggle-row,
  .calc-btn,
  .btn-calculate,
  .btn-secondary,
  .depth-chip,
  .tab-btn,
  .seg-btn,
  .calc-card,
  .calc-item,
  .calc-link,
  .calc-tile,
  .search-suggestion-item,
  .calc-faq-item,
  .faq-card,
  .mtc-faq-accent-item{
    transition:none !important;
    animation:none !important;
  }
}
