@font-face{font-family:'Kitsos';src:url('https://files.kitsos.net/fonts/kitsos-default/default.ttf') format('truetype');font-weight:400;font-display:swap}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

/* === LIGHT MODE === */
:root{
  --bg:#fff;
  --surface:rgba(0,0,0,0.02);
  --surface-h:rgba(0,0,0,0.04);
  --border:rgba(0,0,0,0.07);
  --border-h:rgba(0,0,0,0.13);
  --text:#4b5563;
  --text-dim:#9ca3af;
  --text-bright:#111827;
  --accent:#03a9f4;
  --accent-soft:rgba(3,169,244,0.08);
  --accent-med:rgba(3,169,244,0.15);
  --tag-bg:rgba(3,169,244,0.06);
  --tag-border:rgba(3,169,244,0.14);
  --tag-text:#0284c7;
  --code-bg:rgba(0,0,0,0.03);
  --code-border:rgba(0,0,0,0.08);
  --shadow:rgba(0,0,0,0.06);
  --f:'Kitsos','Roboto',system-ui,sans-serif;
}

/* === DARK MODE === */
@media(prefers-color-scheme:dark){:root{
  --bg:#08090b;
  --surface:rgba(255,255,255,0.02);
  --surface-h:rgba(255,255,255,0.045);
  --border:rgba(255,255,255,0.06);
  --border-h:rgba(255,255,255,0.12);
  --text:#9ca3af;
  --text-dim:#4b5563;
  --text-bright:#f3f4f6;
  --accent:#03a9f4;
  --accent-soft:rgba(3,169,244,0.07);
  --accent-med:rgba(3,169,244,0.14);
  --tag-bg:rgba(3,169,244,0.07);
  --tag-border:rgba(3,169,244,0.16);
  --tag-text:#38bdf8;
  --code-bg:rgba(255,255,255,0.03);
  --code-border:rgba(255,255,255,0.08);
  --shadow:rgba(0,0,0,0.25);
}}

html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--f);background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent-med);color:var(--text-bright)}
.pg{max-width:920px;margin:0 auto;padding:0 36px}

/* Logo switching */
.logo-light{display:inline}
.logo-dark{display:none}
@media(prefers-color-scheme:dark){
  .logo-light{display:none}
  .logo-dark{display:inline}
}

/* === NAV === */
.nv{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--border)}
.nb{display:flex;align-items:center;gap:12px;text-decoration:none}
.nl{width:26px;height:26px;object-fit:contain}
.nn{font-size:.88rem;color:var(--text-bright);letter-spacing:.02em}
.nr{display:flex;align-items:center;gap:8px}
.back{font-size:.72rem;color:var(--accent);text-decoration:none;transition:opacity .2s}
.back:hover{opacity:.7}

/* === BUTTONS === */
.bt{font-family:var(--f);font-size:.72rem;padding:7px 16px;border-radius:6px;text-decoration:none;transition:all .2s;cursor:pointer;border:none}
.bg{color:var(--text-dim);background:none}
.bg:hover{color:var(--text)}
.ba{color:#fff;background:var(--accent);border:1px solid var(--accent)}
.ba:hover{background:#029ae0;border-color:#029ae0}

/* === HERO (index) === */
.hr{padding:88px 0 72px;display:flex;align-items:center;gap:56px}
.ht{flex:1}
.hl{width:130px;flex-shrink:0}
.hl img{width:100%;height:auto}
.hr h1{font-size:clamp(2.2rem,5vw,3.2rem);color:var(--text-bright);letter-spacing:-.03em;line-height:1.12;margin-bottom:20px}
.hr h1 .dt{color:var(--accent)}
.hs{font-size:.95rem;color:var(--text);line-height:1.75;max-width:440px}

/* === HERO (detail pages) === */
.hero{padding:64px 0 56px}
.hero-label{font-size:.56rem;text-transform:uppercase;letter-spacing:3px;color:var(--accent);margin-bottom:12px;font-weight:500}
.hero h1{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--text-bright);letter-spacing:-.03em;line-height:1.15;margin-bottom:16px}
.hero h1 .dt{color:var(--accent)}
.hero-desc{font-size:.92rem;color:var(--text);line-height:1.75;max-width:540px}

/* === SECTION LABEL === */
.lb{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.lb span{font-size:.58rem;text-transform:uppercase;letter-spacing:3px;color:var(--accent);white-space:nowrap;font-weight:500}
.ll{flex:1;height:1px;background:var(--border)}

/* === SERVICE CARDS (index) === */
.sv{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:88px}
.sc{
  padding:28px 26px;background:var(--surface);
  border:1px solid var(--border);border-radius:10px;
  transition:all .25s;cursor:default;
  border-left:2px solid transparent;
  text-decoration:none;color:var(--text);display:block;
}
.sc:hover{
  border-color:var(--border-h);border-left-color:var(--accent);
  background:var(--surface-h);transform:translateY(-1px);
  box-shadow:0 8px 32px var(--shadow);
}
.sc-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.sc-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);opacity:.35;flex-shrink:0;transition:opacity .25s}
.sc:hover .sc-dot{opacity:1}
.sc-title{font-size:.9rem;color:var(--text-bright);font-weight:500}
.sc-desc{font-size:.72rem;color:var(--text);margin-bottom:14px;line-height:1.65}
.sc-tags{display:flex;flex-wrap:wrap;gap:5px}
.tag{
  font-size:.58rem;letter-spacing:.3px;
  padding:3px 9px;border-radius:4px;
  background:var(--tag-bg);border:1px solid var(--tag-border);
  color:var(--tag-text);transition:all .25s;
}
.sc:hover .tag{background:var(--accent-med);border-color:var(--accent)}
.sc.soon{opacity:.3;pointer-events:none}
.sc.soon .sc-dot{background:var(--text-dim);opacity:.5}
.soon-b{font-size:.5rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--text-dim);margin-left:auto;flex-shrink:0}

/* === DETAIL SECTIONS === */
.section{margin-bottom:56px}
.section-head{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.section-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}
.section-title{font-size:1.05rem;color:var(--text-bright);font-weight:500}
.section-body{padding:24px 28px;background:var(--surface);border:1px solid var(--border);border-radius:10px;border-left:2px solid var(--accent)}
.section-intro{font-size:.82rem;color:var(--text);line-height:1.8;margin-bottom:18px}
.section-intro:last-child{margin-bottom:0}
.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}

/* === API-SPECIFIC === */
.ep{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border)}
.ep:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.ep-path{font-size:.78rem;font-family:'Courier New',monospace;font-weight:600;color:var(--accent);margin-bottom:6px}
.ep-desc{font-size:.78rem;color:var(--text);line-height:1.7;margin-bottom:10px}
.params{margin-top:10px}
.param{display:flex;gap:12px;margin-bottom:6px;font-size:.72rem;line-height:1.6}
.param-name{font-family:'Courier New',monospace;color:var(--tag-text);background:var(--tag-bg);border:1px solid var(--tag-border);padding:1px 7px;border-radius:3px;white-space:nowrap;height:fit-content}
.param-desc{color:var(--text)}
.example{margin-top:12px;padding:10px 14px;background:var(--code-bg);border:1px solid var(--code-border);border-radius:6px;font-family:'Courier New',monospace;font-size:.7rem;color:var(--text-dim);overflow-x:auto;line-height:1.7}

/* === ABOUT === */
.ab{margin-bottom:88px}
.ab p{font-size:.88rem;color:var(--text);line-height:1.9;max-width:520px}
.ab strong{color:var(--text-bright)}

/* === FOOTER === */
.ft{padding:28px 0;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.fc{font-size:.62rem;color:var(--text-dim)}
.fl{display:flex;gap:24px}
.fl a{font-size:.62rem;color:var(--text-dim);text-decoration:none;transition:color .2s}
.fl a:hover{color:var(--accent)}

/* === ANIMATION === */
.fi{opacity:0;transform:translateY(16px);animation:up .6s ease forwards}
@keyframes up{to{opacity:1;transform:translateY(0)}}
.d1{animation-delay:.05s}.d2{animation-delay:.1s}.d3{animation-delay:.15s}
.d4{animation-delay:.2s}.d5{animation-delay:.25s}.d6{animation-delay:.3s}
.d7{animation-delay:.35s}.d8{animation-delay:.4s}.d9{animation-delay:.45s}
.d10{animation-delay:.5s}

/* === RESPONSIVE === */
@media(max-width:640px){
  .pg{padding:0 20px}
  .hr{flex-direction:column-reverse;gap:28px;padding:56px 0 44px;text-align:center}
  .hl{width:90px}
  .hs{max-width:none}
  .sv{grid-template-columns:1fr;margin-bottom:64px}
  .ab{margin-bottom:64px}
  .hero{padding:40px 0 36px}
  .section-body{padding:18px 20px}
  .param{flex-direction:column;gap:3px}
  .ft{flex-direction:column;gap:12px;text-align:center}
}
