/* Code Explorer (BNS and IPC): styles that sit on top of law.css and law-learn.css */
.lk-hero{display:grid;grid-template-columns:1fr 190px;gap:24px;align-items:center}.lk-hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.08;margin:.3rem 0 .6rem}.lk-hero h1 span{background:linear-gradient(90deg,#ffe9a8,#f5a64d);-webkit-background-clip:text;background-clip:text;color:transparent}.lk-hero p{max-width:62ch}
.lk-modes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 4px}.lk-modes>span{font-size:.8rem;color:var(--dim);margin-right:2px}
.lk-modes button,.lk-tabs button{font:inherit;font-weight:700;font-size:.84rem;cursor:pointer;color:var(--tx);background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 16px;transition:all .18s}
.lk-modes button.on,.lk-tabs button.on{background:linear-gradient(180deg,#ffe9a8,#f5c451);color:#2a1800;border-color:#ffe9a8;box-shadow:0 6px 18px rgba(245,196,81,.35)}
.lk-modes button:hover,.lk-tabs button:hover{transform:translateY(-1px)}.lk-modehint{font-size:.82rem;color:var(--dim);margin:.2rem 0 10px;max-width:60ch}
.lk-tabs{display:flex;gap:8px;margin:10px 0 14px;flex-wrap:wrap}.lk-tabs small{font-weight:600;opacity:.75;margin-left:4px}
.lk-rankcard .lx-sec{flex-wrap:wrap;gap:6px}.lk-chap{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.lk-ch{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.03)}
.lk-chh,.lk-pt{width:100%;display:grid;align-items:center;gap:10px;font:inherit;color:var(--tx);background:none;border:0;cursor:pointer;text-align:left;padding:10px 14px}
.lk-chh{grid-template-columns:44px 1fr 64px 120px 110px}.lk-pt{grid-template-columns:1fr 64px 120px 110px;padding:8px 14px 8px 58px;font-size:.88rem;border-top:1px solid rgba(255,255,255,.06)}
.lk-chh:hover,.lk-pt:hover{background:rgba(255,255,255,.07)}.lk-chh b{font-weight:700;line-height:1.25}.lk-chh small,.lk-pt small{color:var(--dim);text-align:right;font-size:.75rem}
.lk-roman{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:30px;border-radius:9px;background:rgba(245,196,81,.14);color:var(--gold);font-weight:800;font-size:.78rem;letter-spacing:.04em}
.lk-bar{display:block;height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.lk-bar i{display:block;height:100%;border-radius:99px;background:#6b7396;transition:width .6s}
.lk-bar.r1 i{background:#8d8fa8}.lk-bar.r2 i{background:#6aa8ff}.lk-bar.r3 i{background:#19e6a1}.lk-bar.r4 i{background:#a899ff}.lk-bar.r5 i{background:#ff9d4d}.lk-bar.r6 i{background:linear-gradient(90deg,#ffe9a8,#f5c451)}
.lk-rank{display:inline-block;text-align:center;font-size:.68rem;font-weight:800;letter-spacing:.05em;padding:4px 9px;border-radius:99px;background:rgba(255,255,255,.08);color:#b4bad8;border:1px solid rgba(255,255,255,.12);white-space:nowrap}
.lk-rank.r1{color:#c9cbe0}.lk-rank.r2{color:#9cc4ff;border-color:rgba(106,168,255,.4)}.lk-rank.r3{color:#7ff0c4;border-color:rgba(25,230,161,.4)}.lk-rank.r4{color:#c2b6ff;border-color:rgba(168,153,255,.45)}.lk-rank.r5{color:#ffc08a;border-color:rgba(255,157,77,.5)}.lk-rank.r6{color:#2a1800;background:linear-gradient(180deg,#ffe9a8,#f5c451);border-color:#ffe9a8}
.lk-note{margin-top:12px;font-size:.8rem}
.lk-resetcard{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.lk-resetcard h3{margin:0 0 4px}.lk-resetcard p{margin:0;font-size:.85rem;max-width:60ch}
.lx-btn.lk-reset{background:rgba(255,77,109,.1);border-color:rgba(255,77,109,.6);color:#ffb3c0}.lx-btn.lk-reset:hover{background:rgba(255,77,109,.25)}
/* picker */
.lk-tools{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 8px}.lk-tools input,.lk-big{font:inherit;color:var(--tx);background:rgba(255,255,255,.07);border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-width:0}
.lk-tools #lk-find{flex:1 1 260px}.lk-rng{display:flex;gap:8px;flex:1 1 260px}.lk-rng input{flex:1}.lk-big{width:100%;font-size:1.05rem;margin:8px 0}
.lk-tools input::placeholder,.lk-big::placeholder{color:#7f88b4}
.lk-presets{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 12px;font-size:.78rem;color:var(--dim)}.lk-presets button{font:inherit;font-size:.78rem;font-weight:600;color:var(--tx);cursor:pointer;background:var(--glass);border:1px solid var(--line);border-radius:99px;padding:5px 12px}.lk-presets button:hover{border-color:var(--gold)}
.lk-list{margin-bottom:90px}.lk-chd{border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03);margin-bottom:8px;overflow:hidden}
.lk-chd summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px}.lk-chd summary::-webkit-details-marker{display:none}.lk-chd summary::after{content:"▾";color:var(--dim);margin-left:6px}.lk-chd[open] summary::after{content:"▴"}
.lk-grp{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.lk-grp b{font-weight:700;line-height:1.25}.lk-gc{margin-left:auto;color:var(--dim);font-size:.75rem;white-space:nowrap}
.lk-chd input[type=checkbox]{width:18px;height:18px;accent-color:#f5c451;flex:none}
.lk-pth{padding:8px 14px 4px 18px;background:rgba(245,196,81,.06);border-top:1px solid rgba(255,255,255,.06);font-size:.84rem}
.lk-row{display:grid;grid-template-columns:20px 54px 1fr auto 14px;gap:10px;align-items:center;padding:8px 14px 8px 22px;border-top:1px solid rgba(255,255,255,.05);cursor:pointer;font-size:.9rem}.lk-row:hover{background:rgba(255,255,255,.06)}.lk-row.on{background:rgba(245,196,81,.1)}
.lk-sn{font-weight:800;color:var(--gold);font-variant-numeric:tabular-nums}.lk-st{line-height:1.3}.lk-xw{font-size:.72rem;color:var(--dim);border:1px solid var(--line);border-radius:99px;padding:2px 8px;white-space:nowrap}
.lk-dot{width:10px;height:10px;border-radius:50%;background:#6b7396}.lk-dot.r1{background:#8d8fa8}.lk-dot.r2{background:#6aa8ff}.lk-dot.r3{background:#19e6a1}.lk-dot.r4{background:#a899ff}.lk-dot.r5{background:#ff9d4d}.lk-dot.r6{background:#f5c451}
.lk-dock{position:sticky;bottom:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:18px;background:linear-gradient(180deg,#232a6e,#141845);border:1px solid rgba(245,196,81,.5);box-shadow:0 14px 40px rgba(0,0,0,.5)}.lk-dockbtns{display:flex;gap:8px;flex-wrap:wrap}
.lk-dock .lx-btn:disabled{opacity:.4;cursor:not-allowed}
/* choices */
.lk-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:14px}.lk-choice{display:flex;flex-direction:column;gap:6px;text-align:left;font:inherit;color:var(--tx);cursor:pointer;padding:18px;transition:transform .2s,border-color .2s}.lk-choice:hover{transform:translateY(-4px);border-color:var(--gold)}.lk-choice i{font-size:1.8rem;font-style:normal}.lk-choice b{font-family:Georgia,serif;font-size:1.15rem}.lk-choice span{font-size:.84rem;color:var(--dim);line-height:1.5}
/* reader and section card */
.lk-where{font-size:.82rem;color:var(--dim);margin-top:2px}.lk-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.lk-flag{font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.07);border:1px solid var(--line);color:#d4d8f0}.lk-flag.f-new,.lk-flag.f-new-part{background:rgba(25,230,161,.14);border-color:rgba(25,230,161,.5);color:#7ff0c4}.lk-flag.f-pen,.lk-flag.f-fine,.lk-flag.f-cs{background:rgba(255,157,77,.14);border-color:rgba(255,157,77,.5);color:#ffc08a}.lk-flag.f-gone,.lk-flag.f-rep{background:rgba(255,77,109,.12);border-color:rgba(255,77,109,.5);color:#ffb3c0}.lk-flag.f-sec{background:rgba(245,196,81,.12);border-color:rgba(245,196,81,.5);color:#ffe9a8}
.lk-xrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}.lk-xrow>span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.lk-xchip{font:inherit;font-weight:700;font-size:.82rem;cursor:pointer;color:var(--gold);background:rgba(245,196,81,.1);border:1px solid rgba(245,196,81,.45);border-radius:99px;padding:5px 12px}.lk-xchip:hover{background:rgba(245,196,81,.25)}
.lk-sum p,.lk-note-box p{margin:.4rem 0 0;line-height:1.65}.lk-pun{margin:12px 0 0;line-height:1.6;font-size:.92rem;color:#dfe3ff}.lk-pun b{color:var(--gold)}
.lk-act{margin-top:14px;border-radius:16px;overflow:hidden;border:1px solid #d9cfae;background:#f8f3e4;color:#241f12;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.lk-acth{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap;padding:10px 16px;background:#e9dfbf;border-bottom:1px solid #d9cfae;font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5a4a1a}.lk-acth small{font-weight:600;letter-spacing:.02em;text-transform:none;color:#7a6830}
.lk-actb{padding:14px 18px;max-height:640px;overflow:auto;font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.7}.lk-act .lk-p{margin:0 0 .75em;color:#241f12}.lk-pn{font-weight:700;color:#7a5a00;margin-right:2px}.lk-mk{font-style:italic;color:#4a3f20}.lk-act .lx-muted{color:#6b5f3c}
.lk-amend{font-size:.76rem;color:#6b5f3c;border-top:1px dashed #cdbf90;padding-top:8px;margin-top:6px;font-family:Inter,system-ui,sans-serif}
.lk-actf{display:flex;gap:16px;flex-wrap:wrap;padding:8px 16px;background:#efe6c8;border-top:1px solid #d9cfae;font-size:.8rem}.lk-actf .lx-link,.lk-actf a{color:#5b3d00;font-weight:700;background:none;border:0;cursor:pointer;font:inherit;font-weight:700;text-decoration:underline}
.lk-cmp{margin-top:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);padding:4px 14px 14px}.lk-cmp summary{cursor:pointer;font-weight:700;padding:10px 0;color:var(--gold)}.lk-cmpgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.lk-cmpcol h4{margin:6px 0;font-size:.95rem}.lk-small{font-size:.78rem;margin-top:10px}
.lk-fb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;font-size:.8rem;color:var(--dim)}.lk-fbb{font:inherit;font-size:.78rem;font-weight:600;color:var(--tx);cursor:pointer;background:var(--glass);border:1px solid var(--line);border-radius:99px;padding:5px 12px}.lk-fbb.on{background:rgba(245,196,81,.2);border-color:var(--gold);color:var(--gold)}
.lk-check{margin-top:18px}.lk-qcard{margin-top:12px}#lk-peek{margin-top:10px}
.lk-reasons{display:flex;flex-direction:column;gap:8px;margin:12px 0}.lk-deltas{display:flex;flex-direction:column;gap:8px}.lk-delta{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;font-size:.88rem}.lk-delta>span:last-child{color:var(--dim);text-align:right}
.lk-res{display:flex;flex-direction:column;gap:6px;margin-top:6px}.lk-hit{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;text-align:left;font:inherit;color:var(--tx);cursor:pointer;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:12px;padding:10px 14px}.lk-hit:hover{border-color:var(--gold);background:rgba(245,196,81,.1)}.lk-hit b{color:var(--gold)}.lk-hit small{color:var(--dim)}
.lk-load{text-align:center;padding:40px 20px}
.lk-modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(3,5,20,.7);backdrop-filter:blur(4px)}.lk-modal__box{max-width:480px;width:100%;margin:0}.lk-modal__box h2{margin-top:0}
@media(max-width:860px){.lk-hero{grid-template-columns:1fr;text-align:center}.lk-modes{justify-content:center}.lk-chh{grid-template-columns:38px 1fr 90px}.lk-chh small,.lk-chh .lk-bar{display:none}.lk-pt{grid-template-columns:1fr 90px;padding-left:30px}.lk-pt small,.lk-pt .lk-bar{display:none}.lk-row{grid-template-columns:20px 46px 1fr 12px}.lk-xw{display:none}.lk-hit{grid-template-columns:90px 1fr}.lk-hit small{display:none}.lk-delta{grid-template-columns:34px 1fr}.lk-delta>span:last-child{grid-column:1/-1;text-align:left}}
@media(prefers-reduced-motion:reduce){.lk-bar i{transition:none}}
.lawx:lang(hi) .lk-rank,.lawx:lang(hi) .lk-flag{letter-spacing:normal;text-transform:none}
.lk-il{padding-left:1.2em;margin-top:-.3em}
/* sub-section cards inside the act panel */
.lk-sub{margin:2px 0 16px 10px;padding:12px 14px;border-radius:12px;background:#1a2040;border-left:4px solid #f5c542;color:#eef0ff;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.95rem;line-height:1.55;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.lk-sub .lx-eyebrow{color:#f5c542;margin-bottom:6px}
.lk-sub .lk-sube{margin:0 0 8px;color:#eef0ff}
.lk-sub .lk-rem{margin:0 0 10px;padding:8px 10px;border-radius:8px;background:rgba(245,197,66,.12);color:#ffe9a8}
.lk-sub .lk-rem b{margin-right:6px;font-size:.72rem;letter-spacing:.08em;color:#f5c542}
.lk-subact{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lk-subst{color:#aab1d6}
.lk-subq{margin-top:10px}.lk-subq .lx-muted{color:#cfd4f2}
.lk-act .lk-sub .lx-btn{padding:8px 14px;font-size:.85rem}
.lk-subsec{margin:0}.lk-cl{margin-left:22px!important;padding-left:10px;border-left:2px solid #d9cfae}.lk-cl2{margin-left:44px!important}
.lk-unit{position:relative;margin:2px 0}.lk-uchip{display:inline-block;margin:6px 0 2px;padding:2px 9px;border-radius:999px;background:#7a5a00;color:#fff7dc;font:700 .68rem/1.5 Inter,system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase}
.lk-u-ill .lk-p{background:rgba(122,90,0,.07);border-radius:8px;padding:6px 10px}.lk-u-expl .lk-p,.lk-u-exc .lk-p{border-left:3px solid #7a5a00;padding-left:10px}.lk-head{font-weight:700;letter-spacing:.04em;margin-top:12px}
.lk-sub-auto{padding:9px 14px;border-left-color:#8aa0ff;background:#161c38}.lk-sub-auto .lx-eyebrow{color:#aebcff;margin-bottom:4px}.lk-sub-auto .lk-subact{margin:0}
.lk-sub .lx-q{font:600 1rem/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;margin:8px 0 10px;color:#fff}.lk-sub .lx-opt{font-size:.92rem}.lk-sub .lx-opts{gap:8px}
.lk-play{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 4px}.lk-play>span{font:700 .72rem/1 Inter,system-ui,sans-serif;letter-spacing:.09em;color:#aab1d6}
.lk-pl{display:inline-block;padding:7px 12px;border-radius:999px;background:rgba(245,197,66,.14);border:1px solid rgba(245,197,66,.45);color:#ffe9a8;text-decoration:none;font:600 .85rem/1.2 Inter,system-ui,sans-serif}.lk-pl:hover{background:rgba(245,197,66,.28)}
