/*
 * Morsimo Calculator — Global CSS
 * Tailwind CDN handles all utility classes.
 * This file: custom components only.
 */

/* ── Fonts ─────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Fira+Code:wght@400;500;600&display=swap');

/* ── Scrollbar ─────────────────────────── */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:#0f172a}
::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:#6366f1}
::selection{background:rgba(99,102,241,.28);color:#fff}
:focus-visible{outline:2px solid #6366f1;outline-offset:2px;border-radius:4px}

/* ── Remove number spinners ────────────── */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}
input[type=number]{-moz-appearance:textfield}

/* ── Calc input (used in all partials) ─── */
.ci{
  width:100%;
  background:#1e293b;
  border:1.5px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:11px 15px;
  color:rgba(255,255,255,.95);
  font-family:'Fira Code',monospace;
  font-size:1rem;
  outline:none;
  color-scheme:dark;
  transition:border-color .15s,box-shadow .15s;
  -webkit-appearance:none;
}
.ci:focus{border-color:rgba(99,102,241,.6);box-shadow:0 0 0 3px rgba(99,102,241,.08)}
.ci::placeholder{color:rgba(255,255,255,.2);font-family:'Plus Jakarta Sans',sans-serif}
.ci-sm{padding:8px 12px;font-size:.875rem;border-radius:9px}
select.ci{cursor:pointer}
textarea.ci{resize:vertical;min-height:80px}

/* ── Calc label ────────────────────────── */
.cl{
  display:block;
  font-size:.68rem;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;
  color:rgba(255,255,255,.35);
  margin-bottom:6px;
}

/* ── Result box ────────────────────────── */
.res-box{
  background:linear-gradient(135deg,rgba(99,102,241,.08),rgba(99,102,241,.03));
  border:1.5px solid rgba(99,102,241,.22);
  border-radius:14px;
  padding:18px 22px;
  animation:rpop .3s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes rpop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}

/* ── Stat card (result tile) ───────────── */
.stat{
  background:#1e293b;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:14px 16px;
  text-align:center;
}
.stat-val{
  font-family:'Fira Code',monospace;
  font-size:1.3rem;font-weight:600;
  line-height:1.2;
  color:rgba(255,255,255,.95);
}
.stat-lbl{
  font-size:.65rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  color:rgba(255,255,255,.35);
  margin-top:4px;
}

/* ── Tab bar ───────────────────────────── */
.ctabs{
  display:flex;gap:3px;padding:3px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  overflow-x:auto;
}
.ctab{
  flex:1;min-width:fit-content;
  padding:7px 10px;
  border-radius:8px;
  font-size:.78rem;font-weight:600;
  color:rgba(255,255,255,.4);
  background:none;border:none;cursor:pointer;
  transition:all .15s;text-align:center;white-space:nowrap;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.ctab.on{background:#6366f1;color:#fff}
.ctab:not(.on):hover{color:rgba(255,255,255,.8);background:rgba(255,255,255,.06)}

/* ── Calc button ───────────────────────── */
.cbtn{
  width:100%;
  padding:12px 20px;
  border-radius:12px;
  background:linear-gradient(135deg,#6366f1,#4f46e5);
  color:#fff;font-weight:700;font-size:.9rem;
  border:none;cursor:pointer;
  font-family:'Plus Jakarta Sans',sans-serif;
  transition:all .15s;
  box-shadow:0 4px 16px rgba(99,102,241,.3);
}
.cbtn:hover{background:linear-gradient(135deg,#5254e7,#4338ca);transform:translateY(-1px);box-shadow:0 6px 20px rgba(99,102,241,.4)}
.cbtn:active{transform:scale(.98)}

/* ── Preset buttons ────────────────────── */
.preset{
  padding:5px 10px;
  border-radius:7px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.55);
  font-size:.75rem;font-weight:600;
  cursor:pointer;transition:all .12s;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.preset:hover{background:rgba(99,102,241,.15);border-color:rgba(99,102,241,.3);color:rgba(255,255,255,.9)}
.preset.on{background:rgba(99,102,241,.2);border-color:rgba(99,102,241,.4);color:#a5b4fc}

/* ── FAQ accordion ─────────────────────── */
.faq-item{background:#1e293b;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden;margin-bottom:8px}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 20px;background:none;border:none;text-align:left;font-size:.9rem;font-weight:600;color:rgba(255,255,255,.9);cursor:pointer;gap:12px;transition:background .15s;font-family:'Plus Jakarta Sans',sans-serif}
.faq-q:hover{background:rgba(255,255,255,.04)}
.faq-icon{width:16px;height:16px;flex-shrink:0;transition:transform .3s;color:#6366f1}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a.open{max-height:500px}
.faq-a-body{padding:0 20px 16px;font-size:.875rem;color:rgba(255,255,255,.55);line-height:1.75}

/* ── Section divider ───────────────────── */
.divider{height:1px;background:rgba(255,255,255,.06);width:100%}

/* ── Animations ────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.afu{animation:fadeUp .45s ease both}
.d1{animation-delay:.06s}.d2{animation-delay:.12s}.d3{animation-delay:.18s}
.d4{animation-delay:.24s}.d5{animation-delay:.30s}.d6{animation-delay:.36s}

/* ── Back to top ────────────────────────── */
#btt{position:fixed;bottom:72px;right:16px;z-index:40;width:40px;height:40px;border-radius:50%;background:#1e293b;border:1px solid rgba(255,255,255,.1);color:#6366f1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.5);opacity:0;pointer-events:none;transform:translateY(8px);transition:all .25s}
#btt.show{opacity:1;pointer-events:auto;transform:translateY(0)}
#btt:hover{background:#6366f1;color:#fff}
@media(min-width:1024px){#btt{bottom:24px;right:24px}}

/* ── Toast ──────────────────────────────── */
#toast{position:fixed;bottom:72px;left:50%;transform:translateX(-50%) translateY(10px);z-index:500;background:#1e293b;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:9px 20px;font-size:.84rem;font-weight:500;color:rgba(255,255,255,.9);box-shadow:0 8px 32px rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:all .25s;white-space:nowrap}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:1024px){#toast{bottom:24px}}

/* ── Search overlay ─────────────────────── */
#search-overlay.open{display:flex!important}

/* ── Prose ──────────────────────────────── */
.prose{font-size:.9rem;color:rgba(255,255,255,.6);line-height:1.85}
.prose h2{font-size:1.15rem;color:#fff;font-weight:700;margin:1.8rem 0 .6rem}
.prose h3{font-size:1rem;color:rgba(255,255,255,.9);font-weight:600;margin:1.4rem 0 .5rem}
.prose p{margin-bottom:.9rem}
.prose strong{color:#fff;font-weight:600}
.prose ul{list-style:none;padding:0}
.prose ul li{padding-left:1.1rem;position:relative;margin-bottom:.35rem}
.prose ul li::before{content:'›';position:absolute;left:0;color:#6366f1;font-weight:700}
.prose a{color:#818cf8}
.prose code{font-family:'Fira Code',monospace;background:rgba(99,102,241,.1);color:#a5b4fc;padding:2px 7px;border-radius:5px;font-size:.85em}
.prose table{width:100%;border-collapse:collapse;font-size:.85rem}
.prose th{background:rgba(255,255,255,.04);color:rgba(255,255,255,.4);padding:9px 14px;text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.prose td{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.65)}
.prose tr:hover td{background:rgba(255,255,255,.02)}

/* ── Table util ─────────────────────────── */
.calc-table{width:100%;border-collapse:collapse;font-size:.78rem}
.calc-table th{background:#0f172a;position:sticky;top:0;padding:8px 12px;text-align:left;color:rgba(255,255,255,.4);font-weight:600;text-transform:uppercase;font-size:.65rem;letter-spacing:.06em}
.calc-table td{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.7)}
.calc-table tr:hover td{background:rgba(255,255,255,.02)}

/* ── Print ──────────────────────────────── */
@media print{
  header,footer,.bottom-nav,#btt,#toast,#search-overlay,#drawer,#drawer-backdrop{display:none!important}
  body{background:#fff;color:#000}
}
