@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=IBM+Plex+Mono:wght@400;500;600&family=Crimson+Pro:ital,wght@0,300;0,400;0,600;1,300;1,400&display=swap');

  :root {
    --gold:#C8A96E; --gold-light:#E8CC8E; --gold-dim:#8A6E42;
    --bg:#0A0B0E; --bg2:#0F1117; --bg3:#141720;
    --border:rgba(200,169,110,0.18);
    --text:#D4C9B0; --text-dim:#918272; --text-muted:#6A5F4E;
    --blue:#4A9EE8; --blue-dim:#2A5E98; --teal:#3ABFB8;
    --red:#C85045; --green:#5EA855; --purple:#9B6EDA;
    --font-display:'Cinzel',serif; --font-mono:'IBM Plex Mono',monospace; --font-body:'Crimson Pro',serif;
    --nav-bg:rgba(10,11,14,0.92);
  }
  html.light {
    --gold:#8B6B2A; --gold-light:#6B5218; --gold-dim:#B8A060;
    --bg:#EDEAE4; --bg2:#E4E0D8; --bg3:#DAD6CD;
    --border:rgba(139,107,42,0.22);
    --text:#2C2416; --text-dim:#5A4D3A; --text-muted:#8A7F6E;
    --blue:#2A7AC4; --blue-dim:#4A8FD4; --teal:#1A8F88;
    --red:#B83A30; --green:#3A8A30; --purple:#7A4EBA;
    --nav-bg:rgba(237,234,228,0.92);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{overflow-y:scroll;}
  body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:18px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column;}
  body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:1000;opacity:0.4;}
  html.light body::before{opacity:0.15;}

  nav{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 2rem;height:60px;display:flex;align-items:center;justify-content:space-between;}
  .nav-logo{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--gold);letter-spacing:0.08em;display:flex;align-items:center;gap:0.6rem;cursor:pointer;}
  .nav-logo-icon{width:28px;height:28px;border:1.5px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;font-size:0.75rem;transform:rotate(45deg);}
  .nav-logo-icon span{transform:rotate(-45deg);display:block;}
  .nav-links{display:flex;list-style:none;}
  .nav-links a{font-family:var(--font-mono);font-size:0.82rem;color:var(--text-dim);text-decoration:none;padding:0.4rem 1rem;letter-spacing:0.06em;text-transform:uppercase;border-bottom:2px solid transparent;transition:color 0.2s,border-color 0.2s;cursor:pointer;}
  .nav-links a:hover,.nav-links a.active{color:var(--gold-light);border-bottom-color:var(--gold);}
  .nav-badge{font-family:var(--font-mono);font-size:0.72rem;background:rgba(200,169,110,0.1);border:1px solid var(--gold-dim);color:var(--gold);padding:0.2rem 0.6rem;}
  .nav-right{display:flex;align-items:center;gap:0.8rem;}
  .theme-toggle{background:none;border:1px solid var(--border);color:var(--text-dim);width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.85rem;transition:color 0.2s,border-color 0.2s;}
  .theme-toggle:hover{color:var(--gold);border-color:var(--gold-dim);}

  /* HERO */
  .hero{position:relative;min-height:calc(100vh - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:4rem 2rem;}
  .hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 30%,rgba(200,169,110,0.06) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 20% 80%,rgba(74,158,232,0.04) 0%,transparent 60%);pointer-events:none;}
  .hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(200,169,110,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(200,169,110,0.04) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,black 0%,transparent 80%);pointer-events:none;}
  .hero-eyebrow{font-family:var(--font-mono);font-size:0.82rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;}
  .hero-eyebrow::before,.hero-eyebrow::after{content:'';width:40px;height:1px;background:var(--gold-dim);}
  .hero-title{font-family:var(--font-display);font-size:clamp(3rem,8vw,6rem);font-weight:900;color:var(--gold-light);letter-spacing:0.04em;line-height:1;margin-bottom:0.4rem;text-shadow:0 0 80px rgba(200,169,110,0.3);}
  .hero-sub{font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.4rem);color:var(--gold-dim);letter-spacing:0.3em;text-transform:uppercase;margin-bottom:2rem;}
  .hero-desc{font-size:1.2rem;color:var(--text);max-width:560px;margin:0 auto 3rem;line-height:1.8;font-weight:300;}
  .hero-desc em{color:var(--gold);font-style:italic;}
  .hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center;margin-bottom:4rem;}
  .btn-primary{font-family:var(--font-mono);font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;background:var(--gold);color:var(--bg);border:none;padding:0.85rem 2.2rem;cursor:pointer;text-decoration:none;display:inline-block;transition:background 0.2s,transform 0.15s;font-weight:600;}
  .btn-primary:hover{background:var(--gold-light);transform:translateY(-1px);}
  .btn-secondary{font-family:var(--font-mono);font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;background:transparent;color:var(--gold);border:1px solid var(--gold-dim);padding:0.85rem 2.2rem;cursor:pointer;text-decoration:none;display:inline-block;transition:border-color 0.2s,color 0.2s;}
  .btn-secondary:hover{border-color:var(--gold);color:var(--gold-light);}
  .hero-code{background:var(--bg2);border:1px solid var(--border);padding:1.2rem 1.8rem;text-align:left;max-width:560px;width:100%;position:relative;}
  .hero-code::before{content:'QUICK START';position:absolute;top:-0.55rem;left:1.2rem;font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.15em;color:var(--gold);background:var(--bg2);padding:0 0.5rem;}
  .hero-code code{font-family:var(--font-mono);font-size:0.88rem;color:var(--text);line-height:1.8;display:block;}

  .stats-bar{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.8rem 4rem;display:flex;justify-content:center;gap:5rem;}
  .stat{text-align:center;}
  .stat-value{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--gold);display:block;}
  .stat-label{font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);display:block;margin-top:0.2rem;}

  .section{padding:5rem 4rem;max-width:1200px;margin:0 auto;}
  .section-label{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:0.8rem;display:flex;align-items:center;gap:0.8rem;}
  .section-label::after{content:'';flex:1;height:1px;background:var(--border);}
  .section-title{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--gold-light);margin-bottom:3rem;max-width:600px;}
  .features-list{list-style:none;max-width:640px;margin:0 auto;}
  .features-list li{padding:0.7rem 0;border-bottom:1px solid var(--border);font-size:1rem;color:var(--text-dim);line-height:1.65;}
  .features-list li:last-child{border-bottom:none;}
  .features-list strong{color:var(--gold);font-family:var(--font-display);font-size:0.95rem;font-weight:600;}

  /* ── DOCS ── */
  .docs-wip-banner{background:rgba(230,160,50,0.1);border-bottom:1px solid rgba(230,160,50,0.3);padding:0.65rem 2rem;padding-top:calc(60px + 0.65rem);text-align:center;font-family:var(--font-mono);font-size:0.78rem;color:rgb(239 132 4 / 95%);letter-spacing:0.02em;}
  .docs-wip-banner~.docs-layout{padding-top:0;}
  .docs-wip-banner a{color:rgba(240,170,50,1);text-decoration:underline;text-underline-offset:2px;}
  .docs-wip-banner a:hover{color:var(--gold-light);}
  .docs-layout{display:flex;min-height:calc(100vh - 60px);}

  .docs-sidebar{width:300px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--border);position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;display:flex;flex-direction:column;}
  .docs-sidebar-top{padding:1.2rem 1.4rem;border-bottom:1px solid var(--border);flex-shrink:0;}
  .docs-sidebar-top p{font-family:var(--font-mono);font-size:0.63rem;color:var(--text-muted);margin-top:0.5rem;line-height:1.6;}

  .upload-zone{border:1px dashed var(--gold-dim);padding:0.85rem 1rem;cursor:pointer;text-align:center;display:block;transition:border-color 0.2s,background 0.2s;}
  .upload-zone:hover{border-color:var(--gold);background:rgba(200,169,110,0.03);}
  .upload-zone input{display:none;}
  .upload-zone-label{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-dim);display:flex;align-items:center;justify-content:center;gap:0.5rem;pointer-events:none;}
  .upload-zone-label.loaded{color:var(--green);}

  .sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto;}
  .sidebar-group{margin-bottom:0.5rem;}
  /* Group title — capitalised category name */
  .sidebar-group-title{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold-dim);padding:0.6rem 1.4rem 0.3rem;border-top:1px solid var(--border);margin-top:0.4rem;}
  .sidebar-group:first-child .sidebar-group-title{border-top:none;margin-top:0;}
  .sidebar-link{display:flex;align-items:center;gap:0.55rem;padding:0.42rem 1.4rem;font-family:var(--font-mono);font-size:0.92rem;color:var(--text);cursor:pointer;border-left:2px solid transparent;transition:all 0.15s;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .sidebar-link:hover{color:var(--text);background:rgba(200,169,110,0.04);border-left-color:var(--gold-dim);}
  .sidebar-link.active{color:var(--gold);background:rgba(200,169,110,0.06);border-left-color:var(--gold);}
  .sidebar-sub-links{padding-left:0.8rem;}
  .sidebar-sub-link{font-size:0.82rem;padding-top:0.3rem;padding-bottom:0.3rem;color:var(--text-dim);}
  .sidebar-sub-link:hover{color:var(--text-dim);}

  .method-badge{font-family:var(--font-mono);font-size:0.54rem;padding:0.12rem 0.35rem;font-weight:700;letter-spacing:0.04em;flex-shrink:0;}
  .get{background:rgba(74,158,232,0.15);color:var(--blue);}
  .post{background:rgba(94,168,85,0.15);color:var(--green);}
  .put{background:rgba(155,110,218,0.15);color:var(--purple);}
  .delete{background:rgba(200,80,69,0.15);color:var(--red);}
  .patch{background:rgba(58,191,184,0.15);color:var(--teal);}

  /* docs main */
  .docs-content{flex:1;padding:3rem 4rem;min-width:0;overflow:hidden;}

  /* API tester panel */
  .api-tester{width:420px;flex-shrink:0;background:var(--bg2);border-left:1px solid var(--border);position:sticky;top:60px;height:calc(100vh - 60px);display:none;flex-direction:column;overflow:hidden;}
  .api-tester.open{display:flex;}
  .tester-header{padding:1rem 1.4rem;border-bottom:1px solid var(--border);flex-shrink:0;}
  .tester-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.8rem;}
  .tester-title{font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-dim);}
  .tester-collapse{background:none;border:1px solid var(--border);color:var(--text-dim);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.85rem;transition:color 0.2s,border-color 0.2s;}
  .tester-collapse:hover{color:var(--gold);border-color:var(--gold-dim);}
  .tester-endpoint{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.8rem;}
  .tester-endpoint .endpoint-method{font-size:0.65rem;padding:0.2rem 0.5rem;}
  .tester-endpoint .endpoint-path{font-family:var(--font-mono);font-size:0.8rem;color:var(--text);word-break:break-all;}
  .tester-url-row{display:flex;gap:0.5rem;align-items:stretch;}
  .tester-url{flex:1;font-family:var(--font-mono);font-size:0.72rem;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:0.5rem 0.7rem;outline:none;transition:border-color 0.2s;}
  .tester-url:focus{border-color:var(--gold-dim);}
  .tester-send{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--gold);color:var(--bg);border:none;padding:0.5rem 1.2rem;cursor:pointer;font-weight:600;transition:background 0.2s;}
  .tester-send:hover{background:var(--gold-light);}
  .tester-send:disabled{opacity:0.5;cursor:not-allowed;}
  .tester-response{flex:1;overflow:auto;display:flex;flex-direction:column;}
  .tester-response-header{padding:0.8rem 1.4rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0.8rem;flex-shrink:0;}
  .tester-status{font-family:var(--font-mono);font-size:0.72rem;font-weight:600;}
  .tester-status.s-ok{color:var(--green);}
  .tester-status.s-err{color:var(--red);}
  .tester-status.s-warn{color:var(--gold);}
  .tester-time{font-family:var(--font-mono);font-size:0.62rem;color:var(--text-muted);}
  .tester-response-body{flex:1;overflow:auto;padding:1rem 1.4rem;}
  .tester-response-body pre{font-family:var(--font-mono);font-size:0.76rem;line-height:1.7;color:var(--text);white-space:pre-wrap;word-break:break-word;}
  .tester-empty-response{display:flex;align-items:center;justify-content:center;flex:1;padding:2rem;text-align:center;}
  .tester-empty-response p{font-family:var(--font-mono);font-size:0.68rem;color:var(--text-muted);line-height:1.8;}
  /* Tester parameter inputs */
  .tester-params{padding:0.8rem 1.4rem;border-bottom:1px solid var(--border);max-height:280px;overflow-y:auto;}
  .tester-params-title{font-family:var(--font-mono);font-size:0.58rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:0.6rem;}
  .tester-param-row{margin-bottom:0.5rem;}
  .tester-param-label{display:flex;align-items:center;gap:0.4rem;margin-bottom:0.25rem;}
  .tester-param-name{font-family:var(--font-mono);font-size:0.7rem;color:var(--teal);}
  .tester-param-req{font-family:var(--font-mono);font-size:0.6rem;color:var(--red);}
  .tester-param-in{font-family:var(--font-mono);font-size:0.55rem;color:var(--text-muted);margin-left:auto;text-transform:uppercase;letter-spacing:0.08em;}
  .tester-input,.tester-select{width:100%;font-family:var(--font-mono);font-size:0.72rem;background:var(--bg);border:1px solid var(--border);color:var(--text);padding:0.4rem 0.6rem;outline:none;transition:border-color 0.2s;}
  .tester-input:focus,.tester-select:focus{border-color:var(--gold-dim);}
  .tester-input::placeholder{color:var(--text-muted);}
  .tester-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%237A7260'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.6rem center;padding-right:1.6rem;}
  .tester-select option{background:var(--bg2);color:var(--text);}
  .tester-checkbox-label{display:flex;align-items:center;gap:0.5rem;cursor:pointer;padding:0.3rem 0;}
  .tester-checkbox-label input[type="checkbox"]{width:14px;height:14px;accent-color:var(--gold);cursor:pointer;}
  .tester-checkbox-text{font-family:var(--font-mono);font-size:0.7rem;color:var(--text-dim);}

  .tester-actions{padding:0.6rem 1.4rem 0;display:flex;gap:0.5rem;}
  .tester-copy-curl{font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;background:transparent;color:var(--gold-dim);border:1px solid var(--border);padding:0.35rem 0.8rem;cursor:pointer;transition:all 0.2s;width:100%;}
  .tester-copy-curl:hover{color:var(--gold);border-color:var(--gold-dim);background:rgba(200,169,110,0.04);}
  .docs-content h1{font-family:var(--font-display);font-size:2.6rem;font-weight:700;color:var(--gold-light);margin-bottom:0.3rem;}
  .docs-content .subtitle{font-size:1.15rem;font-weight:300;color:var(--text-dim);font-family:var(--font-body);}
  .docs-divider{height:1px;background:var(--border);margin:2rem 0;}

  .docs-intro-box{background:rgba(200,169,110,0.04);border:1px solid var(--border);border-left:3px solid var(--gold);padding:1.3rem 1.6rem;margin:2rem 0;font-size:1.05rem;color:var(--text-dim);line-height:1.75;}
  .docs-intro-box code{font-family:var(--font-mono);font-size:0.9rem;color:var(--blue);}
  .docs-intro-box strong{color:var(--gold);font-family:var(--font-mono);font-size:0.9rem;}

  .endpoint-section-title{font-family:var(--font-display);font-size:1.7rem;color:var(--gold-light);margin:2.5rem 0 1.2rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border);}
  .endpoint-block{margin-bottom:3.5rem;scroll-margin-top:80px;background:var(--bg2);border:1px solid var(--border);padding:1.6rem 1.8rem;}
  .endpoint-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding-bottom:0.9rem;border-bottom:1px solid var(--border);flex-wrap:wrap;}
  .endpoint-method{font-family:var(--font-mono);font-size:0.8rem;font-weight:700;padding:0.35rem 0.8rem;letter-spacing:0.08em;}
  .endpoint-path{font-family:var(--font-mono);font-size:1.1rem;color:var(--text);word-break:break-all;background:rgba(200,169,110,0.06);padding:0.2rem 0.6rem;border:1px solid var(--border);}
  .path-param{color:var(--gold);}
  .endpoint-summary{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text-dim);margin-left:auto;}
  .btn-try{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;background:transparent;color:var(--gold-dim);border:1px solid var(--gold-dim);padding:0.3rem 0.8rem;cursor:pointer;transition:all 0.2s;flex-shrink:0;}
  .btn-try:hover{color:var(--gold);border-color:var(--gold);background:rgba(200,169,110,0.06);}
  .endpoint-desc{font-size:1.15rem;color:var(--text-dim);margin-bottom:1.4rem;line-height:1.75;}
  .endpoint-desc code{font-family:var(--font-mono);font-size:0.95rem;background:rgba(200,169,110,0.08);padding:0.05rem 0.4rem;color:var(--teal);}

  .params-label{font-family:var(--font-mono);font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:0.6rem;}
  .params-table{width:100%;border-collapse:collapse;margin-bottom:1.4rem;}
  .params-table th{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);padding:0.6rem 1rem;text-align:left;border-bottom:1px solid var(--border);}
  .params-table td{padding:0.75rem 1rem;border-bottom:1px solid rgba(200,169,110,0.06);vertical-align:top;font-size:1rem;}
  .params-table .p-name{font-family:var(--font-mono);font-size:0.85rem;color:var(--teal);white-space:nowrap;}
  .params-table .p-in{font-family:var(--font-mono);font-size:0.75rem;color:var(--text-muted);}
  .params-table .p-type{font-family:var(--font-mono);font-size:0.8rem;color:var(--purple);}
  .params-table .p-req{font-family:var(--font-mono);font-size:0.75rem;color:var(--red);}
  .params-table .p-desc{color:var(--text-dim);line-height:1.55;}
  .params-table .p-desc code{font-family:var(--font-mono);font-size:0.82rem;background:rgba(200,169,110,0.08);padding:0.05rem 0.35rem;color:var(--teal);}

  .code-block{background:var(--bg2);border:1px solid var(--border);padding:0.6rem 1.6rem 1.4rem;margin:0 0 1.4rem;position:relative;overflow-x:auto;}
  .code-copy-btn{display:block;margin-left:auto;font-family:var(--font-mono);font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;background:rgba(200,169,110,0.08);color:var(--gold-dim);border:1px solid var(--border);padding:0.3rem 0.7rem;cursor:pointer;transition:all 0.2s;position:sticky;right:0;}
  .code-copy-btn:hover{color:var(--gold);border-color:var(--gold-dim);background:rgba(200,169,110,0.15);}
  .code-block-label{display:block;font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold-dim);padding:0.4rem 0;margin-top:0.8rem;}
  .code-block pre{font-family:var(--font-mono);font-size:0.84rem;line-height:1.75;color:var(--text);white-space:pre;}
  .c-key{color:var(--teal);} .c-str{color:var(--gold-light);} .c-num{color:var(--purple);}
  .c-bool{color:var(--blue);} .c-null{color:var(--text-muted);} .c-cmt{color:var(--text-muted);font-style:italic;}

  /* Collapsible response boxes */
  .response-collapsible{margin-bottom:0.8rem;}
  .response-collapsible summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:0.5rem;}
  .response-collapsible summary::-webkit-details-marker{display:none;}
  .response-collapsible summary::marker{display:none;content:'';}
  .collapse-icon{font-size:0.6rem;transition:transform 0.2s;display:inline-block;}
  .response-collapsible:not([open]) .collapse-icon{transform:rotate(-90deg);}
  .response-collapsible .code-block{margin-top:0;}

  /* Schema documentation */
  .schema-block{margin-bottom:2.5rem;scroll-margin-top:80px;}
  .schema-name{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--gold);margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid var(--border);}
  .schema-table th:nth-child(2){min-width:100px;}

  /* Per-endpoint markdown docs */
  .endpoint-docs{margin:1rem 0 1.5rem;padding:1.2rem 1.5rem;background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--gold-dim);font-size:1.05rem;line-height:1.75;color:var(--text);display:flex;flex-direction:column;justify-content:center;}
  .endpoint-docs h2{font-family:var(--font-display);font-size:1.25rem;color:var(--gold-light);margin:1.5rem 0 0.6rem;padding-bottom:0.3rem;border-bottom:1px solid var(--border);}
  .endpoint-docs h3{font-family:var(--font-display);font-size:1.05rem;color:var(--gold);margin:1.2rem 0 0.4rem;}
  .endpoint-docs p{margin-bottom:0.8rem;}
  .endpoint-docs code{font-family:var(--font-mono);font-size:0.92rem;background:rgba(200,169,110,0.08);padding:0.05rem 0.4rem;color:var(--teal);}
  .endpoint-docs pre{background:var(--bg);border:1px solid var(--border);padding:1rem 1.2rem;margin:0.8rem 0;overflow-x:auto;}
  .endpoint-docs pre code{background:none;padding:0;font-size:0.88rem;color:var(--text);}
  .endpoint-docs ul,.endpoint-docs ol{padding-left:1.5rem;margin-bottom:0.8rem;}
  .endpoint-docs li{margin-bottom:0.3rem;}
  .endpoint-docs a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim);}
  .endpoint-docs strong{color:var(--text);font-weight:600;}
  .endpoint-docs em{color:var(--gold);font-style:italic;}
  .doc-wip{display:inline-block;background:rgba(230,160,50,0.1);border:1px solid rgba(230,160,50,0.3);padding:0.7rem 1rem;margin:0.8rem 0;font-size:1rem;color:rgb(200 140 40);line-height:1.6;}
  .doc-wip strong{color:rgb(210 145 30);}
  html.light .doc-wip{background:rgba(180,120,20,0.1);border-color:rgba(180,120,20,0.3);color:rgb(150 90 10);}
  html.light .doc-wip strong{color:rgb(140 80 5);}

  /* Section cards (docs landing) */
  .section-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:2rem auto 0;max-width:920px;justify-content:center;}
  .section-card{display:block;background:var(--bg);padding:2rem 1.8rem;text-decoration:none;color:inherit;transition:background 0.2s;border:1px solid var(--border);}
  .section-card:hover{background:var(--bg2);}
  .section-card-title{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--gold-light);margin-bottom:0.3rem;}
  .section-card-count{font-family:var(--font-mono);font-size:0.67rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:0.8rem;}
  .section-card-desc{font-size:0.95rem;color:var(--text-dim);line-height:1.6;margin-bottom:1rem;}
  .section-card-link{font-family:var(--font-mono);font-size:0.7rem;color:var(--gold-dim);letter-spacing:0.08em;}
  .section-card:hover .section-card-link{color:var(--gold);}

  /* Sidebar extras */
  .sidebar-back{font-size:0.76rem !important;color:var(--gold-dim) !important;}
  .sidebar-back:hover{color:var(--gold) !important;}
  .sidebar-count{margin-left:auto;font-family:var(--font-mono);font-size:0.75rem;color;background:rgba(200,169,110,0.08);padding:0.1rem 0.4rem;}

  /* Landing page & general pages: hide tester panel */
  .docs-landing .api-tester, .docs-general .api-tester{display:none;}
  .docs-landing .docs-content, .docs-general .docs-content{flex:1;}

  /* General docs content (rendered markdown) */
  .general-docs-content{font-size:1.05rem;line-height:1.85;color:var(--text);}
  .general-docs-content h1{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--gold-light);margin-bottom:0.5rem;}
  .general-docs-content h2{font-family:var(--font-display);font-size:1.4rem;color:var(--gold-light);margin:2.5rem 0 1rem;padding-bottom:0.4rem;border-bottom:1px solid var(--border);}
  .general-docs-content h3{font-family:var(--font-display);font-size:1.1rem;color:var(--gold);margin:2rem 0 0.6rem;}
  .general-docs-content p{margin-bottom:1.2rem;}
  .general-docs-content strong{color:var(--text);font-weight:600;}
  .general-docs-content em{color:var(--gold);font-style:italic;}
  .general-docs-content a{color:var(--gold);border-bottom:1px solid var(--gold-dim);text-decoration:none;}
  .general-docs-content code{font-family:var(--font-mono);font-size:0.82rem;background:rgba(200,169,110,0.08);padding:0.05rem 0.4rem;color:var(--teal);}
  .general-docs-content pre{background:var(--bg2);border:1px solid var(--border);padding:1.2rem 1.5rem;margin:1.2rem 0;overflow-x:auto;}
  .general-docs-content pre code{background:none;padding:0;font-size:0.78rem;color:var(--text);}
  .general-docs-content ul,.general-docs-content ol{padding-left:1.8rem;margin-bottom:1.2rem;}
  .general-docs-content li{margin-bottom:0.4rem;}
  .general-docs-content hr{border:none;border-top:1px solid var(--border);margin:2rem 0;}
  .general-docs-content table{width:100%;border-collapse:collapse;margin-bottom:1.4rem;}
  .general-docs-content th{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);padding:0.6rem 1rem;text-align:left;border-bottom:1px solid var(--border);}
  .general-docs-content td{padding:0.65rem 1rem;border-bottom:1px solid rgba(200,169,110,0.06);font-size:0.95rem;}

  .docs-placeholder{text-align:center;padding:6rem 2rem;color:var(--text-muted);}
  .docs-placeholder .icon{font-size:3rem;margin-bottom:1rem;opacity:0.4;}
  .docs-placeholder h3{font-family:var(--font-display);font-size:1.3rem;color:var(--text-dim);margin-bottom:0.6rem;}
  .docs-placeholder p{font-family:var(--font-mono);font-size:0.78rem;color:var(--text-muted);line-height:1.9;}

  /* BLOG */
  .blog-layout{max-width:900px;margin:0 auto;padding:4rem 2rem;}
  .blog-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;}
  h1.page-title{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--gold-light);margin-bottom:0.5rem;}
  h2.page-subtitle{font-family:var(--font-body);font-size:1.1rem;font-weight:300;color:var(--text-dim);}
  .upload-btn-label{font-family:var(--font-mono);font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-dim);border:1px solid var(--gold-dim);padding:0.45rem 1rem;cursor:pointer;transition:all 0.2s;white-space:nowrap;}
  .upload-btn-label:hover{color:var(--gold);border-color:var(--gold);}
  .blog-post-card{display:grid;grid-template-columns:140px 1fr;gap:2rem;padding:2rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:opacity 0.2s;}
  .blog-post-card:hover{opacity:0.78;}
  .post-date-col{text-align:right;padding-top:0.2rem;}
  .post-date{font-family:var(--font-mono);font-size:0.82rem;color:var(--text-muted);letter-spacing:0.06em;display:block;}
  .post-tag{display:inline-block;margin-top:0.5rem;font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.15rem 0.5rem;border:1px solid;}
  .tag-announcement{border-color:var(--gold-dim);color:var(--gold);}
  .tag-technical{border-color:var(--blue-dim);color:var(--blue);}
  .tag-update{border-color:rgba(94,168,85,0.4);color:var(--green);}
  .tag-default{border-color:var(--border);color:var(--text-dim);}
  .post-title{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--gold-light);margin-bottom:0.6rem;line-height:1.3;}
  .post-excerpt{font-size:1.05rem;color:var(--text-dim);line-height:1.65;}
  .post-read-more{display:inline-block;margin-top:0.8rem;font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold-dim);}

  .blog-post-full{max-width:720px;margin:0 auto;padding:4rem 2rem;}
  .blog-back{font-family:var(--font-mono);font-size:0.82rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold-dim);cursor:pointer;margin-bottom:2rem;display:inline-flex;align-items:center;gap:0.5rem;transition:color 0.2s;border:none;background:none;}
  .blog-back:hover{color:var(--gold);}
  .blog-post-full h1{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--gold-light);margin-bottom:1rem;line-height:1.25;}
  .blog-post-meta{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
  .blog-post-body{font-size:1.05rem;line-height:1.85;color:var(--text);}
  .blog-post-body h2{font-family:var(--font-display);font-size:1.35rem;color:var(--gold-light);margin:2.5rem 0 1rem;padding-bottom:0.4rem;border-bottom:1px solid var(--border);}
  .blog-post-body h3{font-family:var(--font-display);font-size:1.05rem;color:var(--gold);margin:2rem 0 0.6rem;}
  .blog-post-body p{margin-bottom:1.2rem;}
  .blog-post-body strong{color:var(--text);font-weight:600;}
  .blog-post-body em{color:var(--gold);font-style:italic;}
  .blog-post-body a{color:var(--gold);border-bottom:1px solid var(--gold-dim);text-decoration:none;}
  .blog-post-body code{font-family:var(--font-mono);font-size:0.92rem;background:rgba(200,169,110,0.08);padding:0.05rem 0.4rem;color:var(--teal);}
  .blog-post-body pre{background:var(--bg2);border:1px solid var(--border);padding:1.2rem 1.5rem;margin:1.2rem 0;overflow-x:auto;}
  .blog-post-body pre code{background:none;padding:0;font-size:0.88rem;color:var(--text);}
  .blog-post-body ul,.blog-post-body ol{padding-left:1.8rem;margin-bottom:1.2rem;}
  .blog-post-body li{margin-bottom:0.4rem;}
  .blog-post-body hr{border:none;border-top:1px solid var(--border);margin:2rem 0;}

  /* CHANGELOG */
  .changelog-layout{max-width:800px;margin:0 auto;padding:4rem 2rem;}
  .changelog-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:1rem;}
  .changelog-header-left{flex:1;}
  /* Shared changelog styles */
  .changelog-type{display:inline-block;font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.15rem 0.5rem;margin-bottom:0.6rem;border:1px solid;}
  .type-new{border-color:rgba(94,168,85,0.4);color:var(--green);}
  .type-fix{border-color:rgba(74,158,232,0.3);color:var(--blue);}
  .type-breaking{border-color:rgba(200,80,69,0.4);color:var(--red);}
  .type-improvement{border-color:rgba(155,110,218,0.4);color:var(--purple);}
  .changelog-list{list-style:none;}
  .changelog-list li{font-size:1.05rem;color:var(--text);padding:0.3rem 0 0.3rem 1rem;position:relative;line-height:1.55;}
  .changelog-list li::before{content:'—';position:absolute;left:0;color:var(--text-muted);font-family:var(--font-mono);}
  .changelog-list li code{font-family:var(--font-mono);font-size:0.88rem;background:rgba(200,169,110,0.08);padding:0.05rem 0.35rem;color:var(--teal);}

  /* List view */
  .changelog-list-view{display:block;}
  .changelog-list-entry{margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border);}
  .changelog-list-entry:last-child{border-bottom:none;}
  .changelog-list-entry-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.2rem;}
  .changelog-list-entry-header .changelog-version{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--gold);}
  .changelog-list-entry-header .changelog-date{font-family:var(--font-mono);font-size:0.82rem;color:var(--text-muted);}

  /* FAQ */
  .faq-layout{max-width:780px;margin:0 auto;padding:4rem 2rem;}
  .faq-item{border-bottom:1px solid var(--border);}
  .faq-question{width:100%;background:none;border:none;text-align:left;padding:1.5rem 0 0.5rem;display:flex;align-items:flex-start;gap:1rem;color:inherit;}
  .faq-q-icon{font-family:var(--font-mono);font-size:0.82rem;color:var(--gold-dim);margin-top:0.2rem;flex-shrink:0;font-weight:600;}
  .faq-q-text{font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--gold-light);line-height:1.4;flex:1;}
  .faq-answer{display:block;padding:0 0 1.5rem 2.2rem;font-size:1.05rem;color:var(--text);line-height:1.75;}
  .faq-answer code{font-family:var(--font-mono);font-size:0.92rem;background:rgba(200,169,110,0.08);padding:0.05rem 0.4rem;color:var(--teal);}
  .faq-answer a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim);}

  /* SEARCH (coming soon) */
  .search-layout{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 60px);padding:4rem 2rem;text-align:center;}
  .search-coming-soon{max-width:480px;}
  .search-icon{font-size:3rem;color:var(--gold-dim);margin-bottom:1.5rem;opacity:0.5;}
  .search-title{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--gold-light);margin-bottom:0.5rem;}
  .search-subtitle{font-family:var(--font-mono);font-size:0.92rem;color:var(--text-dim);letter-spacing:0.06em;margin-bottom:1.5rem;}
  .search-desc{font-size:1rem;color:var(--text-dim);line-height:1.75;}
  .search-desc a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--gold-dim);}

  footer{background:var(--bg2);border-top:1px solid var(--border);padding:2.5rem 4rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;margin-top:auto;}
  .footer-left{font-family:var(--font-mono);font-size:0.82rem;color:var(--text);letter-spacing:0.06em;line-height:1.8;}
  .footer-links{display:flex;gap:2rem;list-style:none;}
  .footer-links a{font-family:var(--font-mono);font-size:0.82rem;color:var(--text);text-decoration:none;letter-spacing:0.08em;text-transform:uppercase;transition:color 0.2s;cursor:pointer;}
  .footer-links a:hover{color:var(--gold);}

  /* Back to top */
  .back-to-top{position:fixed;bottom:2rem;left:2rem;width:36px;height:36px;border:1px solid var(--gold-dim);background:var(--bg2);color:var(--gold);font-size:1rem;cursor:pointer;opacity:0;pointer-events:none;transition:opacity 0.25s,color 0.2s,border-color 0.2s,bottom 0.2s;z-index:90;display:flex;align-items:center;justify-content:center;}
  .back-to-top.visible{opacity:1;pointer-events:auto;}
  .back-to-top:hover{color:var(--gold);border-color:var(--gold-dim);}

  /* Page layout padding for fixed nav + push footer to bottom */
  .blog-layout, .blog-post-full, .changelog-layout, .faq-layout, .docs-layout, .search-layout { padding-top: 60px; flex: 1; }
  .nav-logo { text-decoration: none; }
  .sidebar-link { text-decoration: none; }

html { scroll-behavior: smooth; }
