/* LLOGARITES base typography + shared UI tokens */
:root{
  --font-ui:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Helvetica,Arial,sans-serif;
  --title-size:clamp(1.56rem,2.1vw,2.12rem);
  --subtitle-size:0.92rem;
  --body-size:0.95rem;
  --line:1.6;
  --title-gap:10px;
  --title-icon-size:1.1em;
  --ui-bg:#f7f7f9;
  --ui-surface:#ffffff;
  --ui-text:#111827;
  --ui-muted:#6b7280;
  --ui-border:rgba(15,23,42,0.08);
  --ui-primary:#0b5fff;
  --ui-success:#16a34a;
  --ui-danger:#b42318;
  --ui-surface-2:#f8fafc;
  --ui-input-bg:#f8fafc;
  --ui-hover:rgba(15,23,42,0.04);
  --ui-table-head:#f8fafc;
  --ui-overlay:rgba(15,23,42,0.35);
  --ui-switch-off:#d1d5db;
  --ui-switch-on:#34c759;
  --ui-switch-thumb:#ffffff;
  --ui-btn-primary-bg:#dbe8ff;
  --ui-btn-primary-border:rgba(11,95,255,0.22);
  --ui-btn-primary-text:#184ac7;
  --ui-btn-primary-hover:#cfdfff;
  --ui-btn-secondary-bg:#dcf5ea;
  --ui-btn-secondary-border:rgba(16,185,129,0.22);
  --ui-btn-secondary-text:#0f6f52;
  --ui-btn-secondary-hover:#cdeedf;
  --ui-radius:12px;
  --ui-radius-lg:14px;
  --ui-shadow:0 10px 28px rgba(15,23,42,0.08);
}

html.theme-dark{
  --ui-bg:#1b2432;
  --ui-surface:#243248;
  --ui-surface-2:#2c3b54;
  --ui-text:#edf3fb;
  --ui-muted:#c7d1df;
  --ui-border:rgba(226,232,240,0.14);
  --ui-primary:#8eb8ff;
  --ui-success:#4ade80;
  --ui-danger:#fca5a5;
  --ui-input-bg:#213047;
  --ui-hover:rgba(255,255,255,0.06);
  --ui-table-head:#31435d;
  --ui-overlay:rgba(15,23,42,0.42);
  --ui-switch-off:#334155;
  --ui-switch-on:#34c759;
  --ui-switch-thumb:#ffffff;
  --ui-btn-primary-bg:#3a5578;
  --ui-btn-primary-border:rgba(142,184,255,0.24);
  --ui-btn-primary-text:#e8f1ff;
  --ui-btn-primary-hover:#466487;
  --ui-btn-secondary-bg:#32504b;
  --ui-btn-secondary-border:rgba(74,222,128,0.22);
  --ui-btn-secondary-text:#cff6e1;
  --ui-btn-secondary-hover:#3b5d57;
  --ui-shadow:0 18px 40px rgba(15,23,42,0.24);
}


*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}

html,body{font-family:var(--font-ui);}
body,button,input,select,textarea,table,th,td,label,p,h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);}

body{
  font-size:var(--body-size);
  line-height:var(--line);
  color:var(--ui-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  touch-action:manipulation;
}


a,button,input,select,textarea,[role="button"]{
  touch-action:manipulation;
}

.theme-switch{
  display:inline-flex;
  align-items:center;
  background:transparent;
  border:none;
  color:var(--ui-text);
  padding:0;
  cursor:pointer;
}

.theme-switch__track{
  position:relative;
  flex:0 0 auto;
  width:58px;
  height:32px;
  border-radius:999px;
  background:var(--ui-switch-off);
  box-shadow:inset 0 1px 2px rgba(15,23,42,0.18);
  transition:background .22s ease, box-shadow .22s ease;
}

.theme-switch__icon{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:0.84rem;
  line-height:1;
  color:#ffffff;
  opacity:0.92;
  pointer-events:none;
}

.theme-switch__icon--sun{left:8px;}
.theme-switch__icon--moon{right:8px;}

.theme-switch__thumb{
  position:absolute;
  top:3px;
  left:3px;
  width:26px;
  height:26px;
  border-radius:50%;
  background:var(--ui-switch-thumb);
  box-shadow:0 3px 10px rgba(15,23,42,0.2);
  transition:transform .22s ease;
}

.theme-switch[aria-checked="true"] .theme-switch__track{
  background:var(--ui-switch-on);
  box-shadow:inset 0 1px 2px rgba(2,6,23,0.14);
}

.theme-switch[aria-checked="true"] .theme-switch__thumb{
  transform:translateX(26px);
}

.theme-switch--compact{
  margin-left:10px;
  min-width:58px;
  min-height:44px;
  justify-content:center;
}

.theme-switch:focus-visible{
  outline:2px solid var(--ui-primary);
  outline-offset:3px;
  border-radius:999px;
}

.page-intro{margin:0;}

.page-title{
  display:inline-flex;
  align-items:center;
  gap:var(--title-gap);
  font-size:var(--title-size);
  font-weight:600;
  letter-spacing:-0.008em;
  line-height:1.16;
  margin:0;
  color:var(--ui-text,var(--text,#111827));
}

.page-title svg,
.page-title i{width:var(--title-icon-size);height:var(--title-icon-size);}

.page-subtitle{
  font-size:var(--subtitle-size);
  font-weight:400;
  letter-spacing:0.08px;
  line-height:1.58;
  color:var(--ui-muted,var(--muted,#6b7280));
  margin:3px 0 0 0;
  padding-left:calc(var(--title-icon-size) + var(--title-gap));
  max-width:720px;
}

.page-description{
  font-size:0.75rem;
  line-height:1.5;
  color:var(--ui-muted,var(--muted,#6b7280));
  margin:4px 0 16px 0;
  max-width:none;
}

.section-divider{
  height:1px;
  background:var(--ui-border,var(--stroke,rgba(15,23,42,0.08)));
  margin:8px 0 16px;
}

label{
  font-weight:500;
  letter-spacing:0.12px;
  color:var(--ui-muted,var(--muted,#6b7280));
}

@media (max-width:720px){
  :root{
    --title-size:clamp(1.48rem,4.6vw,1.86rem);
    --subtitle-size:0.88rem;
  }
}
