:root{
    --bg:#020617; --panel:#0f172a; --panel2:#0b1222; --bd:#1e293b; --bd2:#334155;
    --t1:#e2e8f0; --t2:#b0bdd0; --t3:#95a4ba; --t4:#8091aa;
    --up:#34d399; --dn:#fb7185; --am:#fcd34d;
  }
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--t1);font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
  ::selection{background:var(--am);color:#020617}
  ::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#1e293b;border-radius:6px}
  .t1{color:var(--t1)}.t2{color:var(--t2)}.t3{color:var(--t3)}.t4{color:var(--t4)}
  .up{color:var(--up)}.dn{color:var(--dn)}.am{color:var(--am)}
  .bd{border-color:var(--bd)}.bd2{border-color:var(--bd2)}
  .panel{background:rgba(15,23,42,.55)}.panel2{background:var(--panel)}.bgc{background:var(--bg)}
  .tint-up{background:rgba(52,211,153,.06);border-color:rgba(52,211,153,.4)}
  .tint-dn{background:rgba(251,113,133,.06);border-color:rgba(251,113,133,.4)}
  .tint-am{background:rgba(252,211,77,.06);border-color:rgba(252,211,77,.4)}
  .chip-up{background:rgba(52,211,153,.14)}.chip-dn{background:rgba(251,113,133,.14)}.chip-am{background:rgba(252,211,77,.12)}
  .eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
  .fblock{border:1px solid var(--bd);border-left:3px solid var(--am);background:rgba(15,23,42,.7);border-radius:.6rem}
  .fline{color:var(--am);font-size:.86rem;line-height:1.9;white-space:pre}
  .fnote{color:var(--t3)}
  .ktx .katex{font-size:1.06em;color:var(--am)}
  .frow{padding:.24rem 0}
  .vlegend{border-top:1px dashed rgba(51,65,85,.7);font-size:.74rem;line-height:2;margin-top:.6rem;padding-top:.5rem;color:var(--t3)}
  .vlegend .katex{font-size:.95em;color:var(--am)}
  .vsep{color:var(--t4);padding:0 .45rem}
  .plainbox{border:1px solid rgba(52,211,153,.45);background:rgba(52,211,153,.05);border-radius:.85rem}
  .deepbox{border:1px solid rgba(252,211,77,.4);background:rgba(252,211,77,.05);border-radius:.85rem}
  .ticket{border:1px solid var(--bd2);background:linear-gradient(180deg,#0f172a,#020617);border-radius:.85rem}
  .cardx{border:1px solid var(--bd);background:rgba(15,23,42,.55);border-radius:.85rem}
  .toolbox{border:1px solid rgba(51,65,85,.8);background:rgba(15,23,42,.5);border-radius:1rem;box-shadow:0 18px 40px -18px rgba(0,0,0,.7)}
  .fboxx{border:1px solid var(--bd2);background:rgba(15,23,42,.7);border-radius:.6rem}
  .cell{background:rgba(2,6,23,.92)}
  .btn{border-radius:.55rem;font-family:ui-monospace,monospace;font-size:.8rem;padding:.5rem 1rem;transition:background .15s,color .15s,border-color .15s;cursor:pointer}
  .btn-am{background:var(--am);color:#020617;font-weight:600}.btn-am:hover{background:#fde68a}
  .btn-ghost{border:1px solid var(--bd2);color:var(--t2)}.btn-ghost:hover{border-color:var(--t3);color:var(--t1)}
  .seg{border:1px solid var(--bd2);border-radius:.55rem;overflow:hidden;display:flex}
  .seg button{flex:1;padding:.42rem .6rem;font-family:ui-monospace,monospace;font-size:.72rem;background:rgba(15,23,42,.7);color:var(--t2);cursor:pointer;transition:background .15s,color .15s}
  .seg button:hover{color:var(--t1)}
  .seg button.on{background:var(--am);color:#020617;font-weight:700}
  .navlink{display:flex;gap:.5rem;align-items:baseline;border-radius:.45rem;padding:.34rem .5rem;font-family:ui-monospace,monospace;font-size:.74rem;color:var(--t3);transition:background .15s,color .15s}
  .navlink:hover{background:#0f172a;color:var(--t1)}
  .navlink.on{background:rgba(252,211,77,.1);color:var(--am)}
  .pill{border:1px solid var(--bd);border-radius:999px;padding:.22rem .65rem;font-family:ui-monospace,monospace;font-size:.72rem;color:var(--t3);white-space:nowrap}
  .pill.on{border-color:rgba(252,211,77,.6);background:rgba(252,211,77,.1);color:var(--am)}
  .tocbtn{border:1px solid var(--bd);border-radius:.55rem;padding:.5rem .75rem;font-family:ui-monospace,monospace;font-size:.74rem;color:var(--t2);transition:border-color .15s,color .15s;display:block}
  .tocbtn:hover{border-color:rgba(252,211,77,.5);color:var(--t1)}
  input[type=range]{-webkit-appearance:none;width:100%;height:44px;border-radius:2px;background-color:transparent;background-image:linear-gradient(#1e293b,#1e293b);background-size:100% 4px;background-repeat:no-repeat;background-position:center;outline:none}
  input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--am);cursor:pointer;border:2px solid #020617}
  input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--am);cursor:pointer;border:2px solid #020617}
  select{background:#020617;border:1px solid var(--bd2);border-radius:.55rem;color:var(--t1);font-family:ui-monospace,monospace;font-size:.82rem;padding:.5rem .75rem;width:100%;min-height:44px}
  select:focus{outline:none;border-color:var(--am)}
  table.tbl{width:100%;font-size:.84rem;text-align:left;border-collapse:collapse}
  table.tbl th{font-family:ui-monospace,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);background:rgba(15,23,42,.8);padding:.5rem .75rem;border-bottom:1px solid var(--bd2)}
  table.tbl td{padding:.5rem .75rem;border-bottom:1px solid rgba(30,41,59,.7);color:var(--t2)}
  table.tbl tr:last-child td{border-bottom:0}
  table.tbl td:first-child{color:var(--t1);font-weight:500}
  table.tbl tr:hover td{background:rgba(15,23,42,.4)}
  .chwrap{position:relative;width:100%}
  .dot{width:.5rem;height:.5rem;border-radius:999px;background:var(--up);animation:pul 1.6s ease-in-out infinite}
  @keyframes pul{0%,100%{opacity:1}50%{opacity:.35}}
  .glo{border:1px solid var(--bd);background:rgba(15,23,42,.5);border-radius:.6rem}
  .mode-1 .only-l2,.mode-1 .only-l3{display:none}
  .mode-2 .only-l3{display:none}
  .chnum{font-family:ui-monospace,monospace;font-weight:800;font-size:4.2rem;line-height:1;color:rgba(51,65,85,.35);user-select:none}
  .arrowr::after{content:"→"}
  .hr-fade{height:1px;background:linear-gradient(90deg,rgba(51,65,85,.9),rgba(51,65,85,0))}
  .gradhead{background:linear-gradient(92deg,#6ee7b7 0%,#e2e8f0 45%,#fcd34d 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
  .term{border-bottom:1px dotted rgba(252,211,77,.6);cursor:help}
  .term:hover{border-bottom-color:var(--am);color:#fde68a}
  .defcard{position:fixed;z-index:60;max-width:20rem;background:#0f172a;border:1px solid var(--bd2);border-radius:.7rem;padding:.7rem .85rem;box-shadow:0 18px 40px -12px rgba(0,0,0,.85);pointer-events:none}
  .defcard-t{font-family:ui-monospace,monospace;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--am);margin-bottom:.25rem}
  .defcard-d{font-size:.82rem;line-height:1.5;color:#cbd5e1}
  .minidef{border:1px solid var(--bd);background:rgba(15,23,42,.5);border-radius:.6rem;padding:.65rem .85rem}
  .minidef b{font-family:ui-monospace,monospace;color:var(--up);font-size:.82rem}
  .skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:var(--am);color:#020617;padding:.7rem 1rem;border-radius:.6rem;font-weight:700}
  .skip:focus{top:1rem}
  button,.pill,.tocbtn{min-height:44px}.navlink{min-height:40px}
  canvas{max-width:100%}
  .grid>*{min-width:0}.chwrap{min-width:0;max-width:100%}
  :focus-visible{outline:3px solid var(--am);outline-offset:3px;border-radius:.35rem}
  .sourcebox{border:1px solid rgba(96,165,250,.34);background:rgba(37,99,235,.06);border-radius:.85rem}
  .sourcebox a{color:#93c5fd;text-decoration:underline;text-decoration-color:rgba(147,197,253,.45);text-underline-offset:3px}
  .sourcebox a:hover{color:#dbeafe;text-decoration-color:#dbeafe}
  .donebtn{border:1px solid var(--bd2);border-radius:999px;color:var(--t2);padding:.35rem .65rem;font:600 .7rem ui-monospace,monospace;white-space:nowrap;transition:.15s background,.15s border-color,.15s color}
  .donebtn:hover{border-color:var(--up);color:#a7f3d0}
  .donebtn.done{background:rgba(52,211,153,.13);border-color:rgba(52,211,153,.55);color:#a7f3d0}
  .progress-track{height:5px;border-radius:999px;background:#1e293b;overflow:hidden}
  .progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--up),var(--am));transition:width .25s ease}
  .searchbox{border:1px solid var(--bd2);background:rgba(15,23,42,.72);border-radius:.85rem}
  .searchbox input{width:100%;background:transparent;color:var(--t1);font-size:1rem;outline:0}
  .search-result{display:block;border-top:1px solid rgba(51,65,85,.55);padding:.7rem .85rem;color:var(--t2)}
  .search-result:hover{background:rgba(52,211,153,.06);color:var(--t1)}
  .lawmap{display:grid;gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:.85rem;overflow:hidden}
  .lawmap>div{background:rgba(2,6,23,.93);padding:.85rem}
  details.studyq{border:1px solid var(--bd);border-radius:.75rem;background:rgba(15,23,42,.45);padding:.75rem 1rem}
  details.studyq summary{cursor:pointer;color:#f1f5f9;font-weight:600}
  details.studyq[open]{border-color:rgba(252,211,77,.45)}
  details.studyq .answer{border-top:1px dashed var(--bd2);margin-top:.65rem;padding-top:.65rem;color:var(--t2);font-size:.9rem;line-height:1.65}
  .asof{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(96,165,250,.35);border-radius:999px;color:#93c5fd;padding:.22rem .55rem;font:600 .68rem ui-monospace,monospace}
  @media (max-width:640px){
    .toolbox,.plainbox,.deepbox,.ticket,.cardx{padding-left:1rem!important;padding-right:1rem!important}
    table.tbl{min-width:38rem}
    .lawmap{grid-template-columns:1fr!important}
  }
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dot{animation:none}.progress-fill{transition:none}}
  @media print{
    body{background:#fff;color:#111}.only-l2,.only-l3{display:block!important}aside:not(.sourcebox),.mobilebar,.searchbox,.donebtn{display:none!important}
    main{margin:0!important;padding:0!important}.lg\\:ml-60{margin-left:0!important}.panel,.cardx,.ticket,.plainbox,.deepbox,.sourcebox{background:#fff!important;color:#111!important;box-shadow:none!important}
    a{color:#111!important;text-decoration:underline}.t1,.t2,.t3,.t4{color:#222!important}
  }
