﻿:root{
  --green:#1D9E75;--gl:#E1F5EE;--gm:#9FE1CB;--gd:#085041;--gdp:#0F6E56;
  --amber:#FAEEDA;--at:#633806;--am:#FAC775;--ab:#854F0B;
  --pl:#EEEDFE;--pt:#3C3489;--pm:#534AB7;
  --bl:#E6F1FB;--bt:#0C447C;--bm:#378ADD;
  --g50:#F7F6F3;--g100:#EEEDE8;--g200:#D3D1C7;--g400:#888780;
  --tx:#1A1A18;--ts:#5F5E5A;--tt:#888780;
  --bd:rgba(26,26,24,0.10);--bdm:rgba(26,26,24,0.18);
  --rl:14px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:#FAFAF8;color:var(--tx);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;}

nav{position:sticky;top:0;z-index:100;background:rgba(250,250,248,0.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:0 40px;height:60px;}
.nav-logo{display:flex;align-items:center;gap:5px;font-size:16px;font-weight:500;color:var(--tx);text-decoration:none;letter-spacing:-.01em;}
.lmk{width:30px;height:30px;background:var(--green);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.nav-links{display:flex;align-items:center;gap:28px;font-size:13px;color:var(--ts);list-style:none;}
.nav-links a{color:inherit;text-decoration:none;transition:color .15s;}
.nav-links a:hover{color:var(--tx);}
.btn-n{font-size:13px;font-weight:500;padding:7px 18px;border-radius:8px;cursor:pointer;font-family:inherit;border:1px solid var(--bdm);background:transparent;color:var(--ts);transition:all .15s;}
.btn-np{background:var(--green);color:#fff;border-color:var(--green);}
.btn-np:hover{background:var(--gdp);}

/* LAYOUT */
.page-outer{display:grid;grid-template-columns:200px 1fr;gap:0;max-width:1000px;margin:0 auto;padding:0 40px;}
.sidebar{padding:40px 32px 80px 0;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;}
.sidebar-title{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--tt);font-family:'DM Mono',monospace;margin-bottom:14px;}
.sidebar nav{position:static;background:none;backdrop-filter:none;border:none;padding:0;height:auto;display:block;}
.snav a{display:block;font-size:12px;color:var(--tt);text-decoration:none;padding:5px 0;border-left:2px solid var(--bd);padding-left:12px;transition:all .15s;line-height:1.4;margin-bottom:2px;}
.snav a:hover{color:var(--tx);border-left-color:var(--gm);}
.snav a.active{color:var(--gdp);border-left-color:var(--green);font-weight:500;}
.snav .snav-group{margin-bottom:16px;}
.snav .snav-group-title{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--g200);font-family:'DM Mono',monospace;padding-left:14px;margin-bottom:4px;}

.main{padding:56px 0 96px 40px;border-left:1px solid var(--bd);min-width:0;}

/* PAGE HEADER */
.ey{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--gdp);margin-bottom:14px;}
.page-h{font-size:36px;font-weight:300;line-height:1.1;color:var(--tx);letter-spacing:-.025em;margin-bottom:14px;}
.page-h strong{font-weight:500;}
.meta{font-size:12px;color:var(--tt);font-family:'DM Mono',monospace;margin-bottom:8px;}
.version-note{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--gdp);background:var(--gl);border:1px solid var(--gm);border-radius:20px;padding:3px 10px;font-family:'DM Mono',monospace;margin-bottom:36px;}
.vdot{width:5px;height:5px;border-radius:50%;background:var(--green);}

/* SECTIONS */
.sec{margin-bottom:56px;scroll-margin-top:80px;}
.sec-h{font-size:20px;font-weight:400;color:var(--tx);margin-bottom:6px;letter-spacing:-.01em;}
.sec-sub{font-size:13px;color:var(--tt);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--bd);}

/* PROSE */
.prose p{font-size:14px;color:var(--ts);line-height:1.82;margin-bottom:16px;}
.prose p:last-child{margin-bottom:0;}
.prose strong{font-weight:500;color:var(--tx);}
.prose em{font-style:italic;}
.prose a{color:var(--green);text-decoration:none;font-weight:500;}
.prose a:hover{color:var(--gdp);}

/* FORMULA BOX */
.formula{background:#0C1712;border-radius:var(--rl);padding:24px 28px;margin:20px 0;overflow-x:auto;}
.formula-label{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.3);font-family:'DM Mono',monospace;margin-bottom:12px;}
.formula-main{font-size:18px;color:#9FE1CB;font-family:'DM Mono',monospace;line-height:1.6;white-space:pre;}
.formula-vars{margin-top:16px;display:flex;flex-direction:column;gap:6px;}
.formula-var{display:flex;align-items:flex-start;gap:12px;}
.fv-sym{font-size:12px;font-weight:500;color:var(--am);font-family:'DM Mono',monospace;min-width:60px;padding-top:2px;}
.fv-desc{font-size:12px;color:rgba(255,255,255,.45);line-height:1.5;}

/* CLASS TABLE */
.class-table{width:100%;border:1px solid var(--bd);border-radius:var(--rl);overflow:hidden;margin:16px 0;}
.class-head{display:grid;grid-template-columns:90px 1fr 1fr 120px;background:var(--g50);border-bottom:1px solid var(--bd);padding:10px 16px;gap:12px;}
.class-row{display:grid;grid-template-columns:90px 1fr 1fr 120px;padding:12px 16px;gap:12px;border-bottom:1px solid var(--bd);align-items:start;font-size:13px;transition:background .1s;}
.class-row:last-child{border-bottom:none;}
.class-row:hover{background:var(--g50);}
.class-row.highlight{background:var(--gl);border-left:3px solid var(--green);}
.class-row.highlight .cl-class{color:var(--gdp);}
.th{font-size:10px;font-weight:500;color:var(--tt);font-family:'DM Mono',monospace;}
.cl-class{font-size:13px;font-weight:500;color:var(--tx);font-family:'DM Mono',monospace;}
.cl-name{font-size:13px;color:var(--tx);font-weight:500;}
.cl-desc{font-size:12px;color:var(--ts);line-height:1.55;margin-top:2px;}
.cl-inputs{font-size:11px;color:var(--tt);line-height:1.5;}
.cl-badge{font-size:10px;font-weight:500;padding:3px 9px;border-radius:20px;display:inline-block;}

/* ASSUMPTION GRID */
.assumption-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;}
.assumption-card{background:var(--g50);border:1px solid var(--bd);border-radius:10px;padding:14px 16px;}
.assumption-label{font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--tt);font-family:'DM Mono',monospace;margin-bottom:6px;}
.assumption-val{font-size:14px;font-weight:500;color:var(--tx);margin-bottom:3px;}
.assumption-note{font-size:11px;color:var(--ts);line-height:1.5;}

/* LIMITATION BOXES */
.limitation{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-radius:10px;border:1px solid var(--bd);background:#fff;margin-bottom:10px;}
.limitation:last-child{margin-bottom:0;}
.lim-num{font-size:11px;font-weight:500;color:var(--tt);font-family:'DM Mono',monospace;min-width:22px;padding-top:2px;}
.lim-content{}
.lim-title{font-size:13px;font-weight:500;color:var(--tx);margin-bottom:4px;}
.lim-body{font-size:12px;color:var(--ts);line-height:1.65;}

/* HONESTY BOX */
.honesty{background:var(--amber);border:1px solid var(--am);border-radius:var(--rl);padding:22px 26px;margin:20px 0;}
.honesty-title{font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--at);font-family:'DM Mono',monospace;margin-bottom:10px;}
.honesty p{font-size:13px;color:var(--at);line-height:1.75;}
.honesty strong{font-weight:500;}

/* INFO CARD */
.info{background:var(--bl);border:1px solid rgba(55,138,221,.2);border-radius:10px;padding:16px 20px;margin:16px 0;}
.info p{font-size:13px;color:var(--bt);line-height:1.7;}
.info strong{font-weight:500;}

/* ITEM LIST */
.item-list{margin:12px 0;}
.item{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;font-size:14px;color:var(--ts);line-height:1.65;}
.item:last-child{margin-bottom:0;}
.item-dot{width:4px;height:4px;border-radius:50%;background:var(--green);flex-shrink:0;margin-top:8px;}
.item-dot.amber{background:var(--ab);}

/* CHANGELOG */
.changelog{margin:0;}
.cl-entry{display:flex;gap:20px;padding:14px 0;border-bottom:1px solid var(--bd);}
.cl-entry:first-child{border-top:1px solid var(--bd);}
.cl-date{font-size:11px;font-weight:500;color:var(--tt);font-family:'DM Mono',monospace;min-width:80px;padding-top:2px;}
.cl-text{font-size:13px;color:var(--ts);line-height:1.6;}
.cl-text strong{font-weight:500;color:var(--tx);}

.divider{height:1px;background:var(--bd);margin:48px 0;}

footer{border-top:1px solid var(--bd);padding:20px 40px;display:flex;align-items:center;justify-content:space-between;}
.flinks{display:flex;gap:20px;}
.flinks a{font-size:12px;color:var(--tt);text-decoration:none;transition:color .15s;}
.flinks a:hover{color:var(--tx);}
.fcopy{font-size:12px;color:var(--tt);}

@media(max-width:800px){
  .page-outer{grid-template-columns:1fr;padding:0 20px;}
  .sidebar{display:none;}
  .main{padding:40px 0 80px;border-left:none;}
  .page-h{font-size:28px;}
  .class-head,.class-row{grid-template-columns:70px 1fr 1fr;}
  .class-head .th:last-child,.class-row .cl-badge{display:none;}
  .assumption-grid{grid-template-columns:1fr;}
  footer{flex-direction:column;gap:12px;padding:20px;}
}
