/* ============================================================
   LEGAL REGISTER — styles
   ============================================================ */
.lhead{background:linear-gradient(160deg,#EAF4EA 0%,var(--cream) 100%);padding:64px 0 48px;border-bottom:1px solid var(--line)}
.lhead h1{font-size:clamp(1.9rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;color:var(--forest);line-height:1.12;margin-bottom:16px;max-width:20ch}
.lsub{color:var(--muted);max-width:74ch;font-size:1.04rem}
.lstats{display:grid;grid-template-columns:repeat(5,auto);gap:36px;margin-top:34px;justify-content:start}
.lstats b{display:block;font-family:'Fraunces',serif;font-size:1.9rem;color:var(--emerald);line-height:1}
.lstats span{font-size:.76rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:5px;display:block}

main{padding:44px 0 90px}

.disclaimer{background:#FFF6E8;border:1px solid #F0DDB8;border-left:4px solid var(--gold);border-radius:12px;
 padding:20px 24px;margin-bottom:32px;font-size:.91rem;color:#6B4E15;line-height:1.6}
.disclaimer strong{display:block;margin-bottom:5px}

/* controls */
.controls{background:var(--paper);border:1px solid var(--line);border-radius:var(--rL);padding:24px;margin-bottom:26px;box-shadow:var(--shS)}
.searchrow{display:flex;align-items:center;gap:11px;border:1.5px solid var(--line);border-radius:12px;
 padding:12px 16px;background:var(--cream);transition:.25s;margin-bottom:20px}
.searchrow:focus-within{border-color:var(--leaf);background:var(--paper)}
.searchrow input{flex:1;border:0;background:none;font-family:inherit;font-size:.97rem;color:var(--ink)}
.searchrow input:focus{outline:0}
.clearq{border:0;background:none;font-size:1.3rem;color:var(--muted);cursor:pointer;line-height:1;padding:0 4px;display:none}
.clearq.show{display:block}
.filterrow{display:grid;grid-template-columns:auto auto 1fr auto;gap:22px;align-items:start}
.fgroup label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{background:var(--cream);border:1.5px solid var(--line);border-radius:24px;padding:6px 14px;font-size:.79rem;
 font-weight:600;cursor:pointer;font-family:inherit;color:var(--muted);transition:.22s;white-space:nowrap}
.chip:hover{border-color:var(--leaf);color:var(--forest)}
.chip.on{background:var(--forest);color:#fff;border-color:var(--forest)}
#sort{padding:8px 12px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:.83rem;background:var(--cream);color:var(--ink)}
.resultbar{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;
 border-top:1px solid var(--line);font-size:.86rem;color:var(--muted)}
.linkbtn{border:0;background:none;color:var(--emerald);font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline}

/* list */
.list{display:grid;gap:14px}
.item{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:24px 26px;
 transition:.3s;cursor:pointer;position:relative;border-left:4px solid var(--leaf)}
.item:hover{box-shadow:var(--sh);transform:translateX(3px)}
.item.s-superseded{border-left-color:#B8B0A0;opacity:.86}
.item.s-amended{border-left-color:var(--gold)}
.item.s-pending{border-left-color:var(--dusk)}
.item.s-unknown{border-left-color:#C9C2B2}
.itop{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:9px}
.badge2{font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:4px 9px;border-radius:5px}
.b-type{background:var(--mint);color:var(--emerald)}
.b-in-force{background:#DCF0E4;color:#1B6B47}
.b-superseded{background:#EFEBE2;color:#6E6656}
.b-amended{background:#FBEBD0;color:#8A6414}
.b-pending{background:#E2ECF3;color:#3F6B8A}
.b-unknown{background:#EDEAE2;color:#6E6656}
.b-unver{background:#FDE9E2;color:#A8501F}
.iref{font-size:.76rem;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.item h3{font-size:1.09rem;color:var(--forest);margin-bottom:5px;line-height:1.35;font-weight:700}
.ikm{font-family:'Noto Sans Khmer',sans-serif;font-size:.92rem;color:var(--muted);margin-bottom:10px;line-height:1.8}
.iwhy{font-size:.9rem;color:var(--muted);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.icats{display:flex;gap:5px;flex-wrap:wrap}
.icat{font-size:.7rem;background:var(--sand);color:var(--emerald);padding:3px 10px;border-radius:20px;font-weight:600}
.imore{position:absolute;right:22px;bottom:22px;font-size:.8rem;color:var(--emerald);font-weight:600}

.empty{text-align:center;padding:60px 20px;background:var(--paper);border:1.5px dashed var(--line);border-radius:var(--rL);color:var(--muted)}
.empty strong{display:block;color:var(--forest);margin-bottom:6px;font-size:1.05rem}

/* guide */
.guide{margin-top:64px;background:var(--sand);border-radius:var(--rL);padding:40px}
.guide h2{font-size:1.5rem;margin-bottom:14px}
.guide>p{color:var(--muted);max-width:74ch;margin-bottom:26px}
.gcards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gcard{background:var(--paper);border-radius:var(--r);padding:24px;border-top:3px solid var(--leaf)}
.gcard h4{font-size:.98rem;color:var(--forest);margin-bottom:12px;font-weight:700}
.gcard ul{list-style:none}
.gcard li{font-size:.85rem;color:var(--muted);padding:6px 0 6px 18px;position:relative}
.gcard li:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--leaf)}

/* drawer */
.drawer{position:fixed;inset:0;background:rgba(15,46,36,.55);backdrop-filter:blur(6px);z-index:400;
 display:none;padding:6vh 20px 20px;overflow-y:auto}
.drawer.open{display:block}
.dpanel{max-width:780px;margin:0 auto;background:var(--paper);border-radius:var(--rL);padding:40px;
 box-shadow:var(--sh);position:relative}
.dpanel.wide{max-width:900px}
.dclose{position:absolute;top:18px;right:20px;width:38px;height:38px;border-radius:50%;border:0;
 background:var(--sand);color:var(--forest);font-size:1.4rem;cursor:pointer;line-height:1}
.dclose:hover{background:var(--mint)}
.dtitle{font-size:1.5rem;color:var(--forest);line-height:1.28;margin-bottom:8px;padding-right:40px}
.dkm{font-family:'Noto Sans Khmer',sans-serif;color:var(--muted);margin-bottom:18px;line-height:1.85}
.dmeta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0;padding:20px;
 background:var(--sand);border-radius:12px}
.dmeta div{font-size:.86rem}
.dmeta b{display:block;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase;color:var(--terra);margin-bottom:3px}
.dsec{margin-top:24px}
.dsec h4{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-bottom:10px}
.dsec p{color:var(--muted);font-size:.94rem}
.dkey{list-style:none}
.dkey li{padding:10px 0 10px 26px;position:relative;font-size:.91rem;color:var(--ink);border-bottom:1px solid var(--line)}
.dkey li:before{content:"§";position:absolute;left:0;top:10px;color:var(--leaf);font-weight:700}
.dnote{background:#FFF6E8;border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:14px 18px;
 font-size:.88rem;color:#6B4E15;margin-top:20px}
.dunver{background:#FDEEE8;border-left:3px solid var(--terra);border-radius:0 10px 10px 0;padding:14px 18px;
 font-size:.88rem;color:#8A3A16;margin-top:14px}
.dsrc{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:.85rem}
.dsrc a{color:var(--emerald);font-weight:600}

/* editor */
.ehelp{color:var(--muted);font-size:.9rem;margin-bottom:22px;max-width:70ch}
.ehelp code{background:var(--sand);padding:2px 7px;border-radius:5px;font-size:.85rem;color:var(--emerald)}
.eform{display:grid;gap:2px}
.erow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.erow3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.efld{margin-bottom:14px}
.efld label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.efld input,.efld select,.efld textarea{width:100%;padding:11px 13px;border:1.5px solid var(--line);
 border-radius:9px;font-family:inherit;font-size:.92rem;background:var(--cream);color:var(--ink)}
.efld input:focus,.efld select:focus,.efld textarea:focus{outline:0;border-color:var(--leaf);background:var(--paper)}
.efld textarea{resize:vertical}
.eout{margin-top:24px}
.eoutbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.85rem;color:var(--muted)}
.eoutbar code{background:var(--sand);padding:2px 6px;border-radius:4px;color:var(--emerald)}
.eout pre{background:var(--forest);color:#D7EDE0;padding:20px;border-radius:12px;overflow-x:auto;
 font-size:.78rem;line-height:1.6;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}

@media(max-width:900px){
 .filterrow{grid-template-columns:1fr;gap:16px}
 .gcards{grid-template-columns:1fr}
 .lstats{grid-template-columns:repeat(2,auto);gap:22px}
 .dpanel{padding:26px 22px}
 .dmeta,.erow,.erow3{grid-template-columns:1fr}
 .guide{padding:26px}
 .imore{display:none}
}
@media print{
 .controls,.guide,nav,#top,#prog,.drawer{display:none!important}
 .item{break-inside:avoid;box-shadow:none;border:1px solid #ccc}
}
