:root{
  --cm-bg: #0b1220;
  --cm-card: rgba(255,255,255,.06);
  --cm-card2: rgba(255,255,255,.08);
  --cm-text: rgba(255,255,255,.92);
  --cm-sub: rgba(255,255,255,.68);
  --cm-border: rgba(255,255,255,.12);
  --cm-accent: #22c55e;
  --cm-warm: #f59e0b;
  --cm-blue: #60a5fa;
  --cm-red: #f87171;
  --cm-shadow: 0 18px 50px rgba(0,0,0,.35);
  --cm-radius: 18px;
  --cm-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

.cm-wrap{ font-family: var(--cm-font); color: var(--cm-text); }
.cm-wrap *{ box-sizing: border-box; }
.cm-card{
  background: radial-gradient(1200px 500px at 20% 0%, rgba(34,197,94,.14), transparent 45%),
              radial-gradient(900px 400px at 90% 30%, rgba(96,165,250,.14), transparent 55%),
              var(--cm-bg);
  border: 1px solid var(--cm-border);
  border-radius: var(--cm-radius);
  box-shadow: var(--cm-shadow);
  overflow: hidden;
}

.cm-header{
  padding: 18px 18px 10px 18px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 860px){
  .cm-header{ grid-template-columns: 1fr; }
}

.cm-h1{ font-size: 20px; font-weight: 800; letter-spacing: .2px; line-height: 1.2; }
.cm-sub{ margin-top: 8px; display:flex; flex-wrap: wrap; gap: 8px; }
.cm-chip{
  display:inline-flex; align-items:center; gap:8px;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--cm-sub);
}

.cm-now{
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  padding: 12px;
}
.cm-now-main{ display:flex; gap: 14px; align-items: baseline; justify-content: space-between; }
.cm-now-temp{ font-size: 34px; font-weight: 900; letter-spacing: -.5px; }
.cm-now-unit{ font-size: 14px; color: var(--cm-sub); margin-left: 4px; font-weight: 700; }
.cm-now-desc{ font-size: 13px; color: var(--cm-sub); font-weight: 700; }
.cm-now-grid{ margin-top: 10px; display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.cm-now-item{
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 8px 10px;
  font-size: 12px;
  color: rgba(255,255,255,.78);
  display:flex; gap: 8px; align-items:center;
}

.cm-body{ padding: 12px 18px 18px 18px; }
.cm-tabs{
  display:flex; flex-wrap: wrap; gap: 8px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  padding-bottom: 10px;
  margin-bottom: 12px;
}
.cm-tab{
  appearance: none;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.82);
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 800;
  font-size: 12px;
  transition: transform .08s ease, background .15s ease, border-color .15s ease;
}
.cm-tab:hover{ transform: translateY(-1px); border-color: rgba(255,255,255,.22); }
.cm-tab.is-active{
  background: rgba(34,197,94,.16);
  border-color: rgba(34,197,94,.40);
  color: rgba(255,255,255,.95);
}

.cm-panels{ position: relative; }
.cm-panel{ display:none; }
.cm-panel.is-active{ display:block; }

.cm-canvas{
  width: 100% !important;
  height: 320px !important;
}
@media (max-width: 860px){
  .cm-canvas{ height: 280px !important; }
}

.cm-details{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 14px;
}
.cm-details-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}
@media (max-width: 860px){
  .cm-details-grid{ grid-template-columns: 1fr; }
}
.cm-detail{
  background: rgba(0,0,0,.16);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  padding: 12px;
}
.cm-detail-k{ font-size: 12px; color: var(--cm-sub); font-weight: 800; margin-bottom: 6px; }
.cm-detail-v{ font-size: 13px; color: rgba(255,255,255,.86); }
.cm-small{ margin-top: 6px; font-size: 12px; opacity: .9; }
.cm-small a{ color: var(--cm-blue); text-decoration: none; }
.cm-small a:hover{ text-decoration: underline; }

.cm-ul{ margin: 0; padding-left: 18px; }
.cm-ul li{ margin: 6px 0; color: rgba(255,255,255,.8); }

.cm-raw-toggle{ margin-top: 12px; }
.cm-btn{
  appearance:none;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.88);
  padding: 10px 12px;
  border-radius: 12px;
  cursor:pointer;
  font-weight: 900;
  font-size: 12px;
}
.cm-btn:hover{ border-color: rgba(255,255,255,.28); }
.cm-raw{
  margin-top: 10px;
  max-height: 260px;
  overflow:auto;
  padding: 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.82);
  font-size: 11px;
  line-height: 1.5;
}

.cm-noscript{
  margin-top: 10px;
  padding: 12px;
  border-radius: 12px;
  background: rgba(248,113,113,.14);
  border: 1px solid rgba(248,113,113,.35);
  color: rgba(255,255,255,.92);
  font-weight: 800;
}

.cm-error{
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(248,113,113,.14);
  border: 1px solid rgba(248,113,113,.35);
  color: rgba(255,255,255,.92);
  font-weight: 800;
}

/* Light theme */
.cm-theme-light .cm-card{
  --cm-bg: #f6f7fb;
  --cm-text: rgba(10,15,24,.92);
  --cm-sub: rgba(10,15,24,.62);
  --cm-border: rgba(10,15,24,.10);
  --cm-shadow: 0 18px 50px rgba(0,0,0,.12);
  background: radial-gradient(1200px 500px at 20% 0%, rgba(34,197,94,.10), transparent 45%),
              radial-gradient(900px 400px at 90% 30%, rgba(96,165,250,.10), transparent 55%),
              var(--cm-bg);
}
.cm-theme-light .cm-now,
.cm-theme-light .cm-chip,
.cm-theme-light .cm-tab,
.cm-theme-light .cm-details{
  background: rgba(10,15,24,.04);
  border-color: rgba(10,15,24,.10);
}
.cm-theme-light .cm-now-item,
.cm-theme-light .cm-detail{ background: rgba(10,15,24,.04); border-color: rgba(10,15,24,.10); }
.cm-theme-light .cm-small a{ color: #2563eb; }
