
/* LockNest 2 visual edition */
:root{--maxw:1080px}
body{line-height:1.75}
.topbar{padding-block:12px}
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:440px;border:1px solid #443c2b;border-radius:24px;padding:62px 38px 34px;margin-top:22px;color:#f6f2e9;display:flex;flex-direction:column;justify-content:flex-end;background:#0c1014}
.ln-hero-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 53%;opacity:.74}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#090d13 0%,#090d13ed 19%,#090d1380 49%,#090d1300 100%)}
.hero h1{font-size:clamp(2rem,4.5vw,3.2rem);letter-spacing:-.03em;margin-bottom:12px;max-width:20ch}
.hero .kicker{color:#e7c56e;letter-spacing:.08em}
.hero p{color:#d8dee3;max-width:65ch;line-height:1.65}
.ln-hero-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;font-size:.8rem}
.ln-hero-meta span{padding:5px 12px;border:1px solid #7c725d80;border-radius:20px;background:#10161bb3}
.path{gap:18px}
.mod{display:grid;grid-template-columns:1fr;padding:0;overflow:hidden;gap:0;box-shadow:0 4px 16px #00000015}
.mod .ln-module-image{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;transition:transform .35s}
.mod:hover .ln-module-image{transform:scale(1.025)}
.mod>span:not(.num):not(.dot){padding:18px 20px 24px}
.mod .mt{font-size:1.1rem}
.mod .md{font-size:.9rem;max-width:46ch}
.mod .num{z-index:2;top:12px;inset-inline-end:12px;color:#fff4d8;background:#0b121de6;border:1px solid #aa976380;padding:4px 9px;border-radius:30px}
.mod .dot{bottom:10px}
.panel{padding:26px}
.ln-module-intro{margin:28px 0 20px}
.ln-module-intro h3{font-size:1.5rem;margin:4px 0}
.ln-module-intro p{color:var(--text-dim)}
.ln-eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.07em;color:var(--accent);display:block}
.ln-lessons{display:grid;gap:14px}
.ln-lesson-card{display:grid;grid-template-columns:150px minmax(0,1fr) 26px;align-items:center;gap:22px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:12px;text-align:start}
.ln-lesson-card:hover{border-color:var(--accent)}
.ln-lesson-card img{width:150px;height:104px;object-fit:cover;border-radius:10px}
.ln-lesson-card small{display:block;color:var(--accent);font-size:.73rem;margin-bottom:4px}
.ln-lesson-card b{display:block;font-size:1.06rem}
.ln-lesson-card em{display:block;font-style:normal;color:var(--text-dim);font-size:.85rem;line-height:1.55;margin-top:5px}
.ln-card-arrow{font-size:1.3rem;color:var(--accent)}
.ln-lesson-card.done{border-color:var(--ok)}
.ln-lesson{padding:0;overflow:hidden;max-width:960px;margin:auto}
.ln-lesson-heading{padding:34px 38px 24px}
.ln-lesson-heading h3{font-size:clamp(1.65rem,3.5vw,2.4rem);line-height:1.3;letter-spacing:-.025em;margin:10px 0}
.ln-lesson-heading .intro{max-width:65ch;margin:0;font-size:1.08rem}
.ln-plate{margin:0;background:#0c1014}
.ln-image-button{display:block;position:relative;padding:0;border:0;background:transparent;color:#fff;width:100%;overflow:hidden}
.ln-image-button img{display:block;width:100%;height:auto;max-height:570px;object-fit:contain}
.ln-zoom-label{position:absolute;bottom:14px;inset-inline-end:14px;border:1px solid #a2aeba60;background:#0b111cd9;padding:5px 12px;border-radius:20px;font-size:.78rem}
.ln-plate figcaption{padding:16px 26px 20px;color:#d5e0e8;font-size:.9rem;border-top:1px solid #34414d}
.ln-plate figcaption b{display:block;font-weight:500}
.ln-plate figcaption span{display:block;color:#9bacba;font-size:.78rem;margin-top:4px}
.ln-prose{max-width:76ch;margin:0 auto;padding:28px 36px 34px}
.ln-section{position:relative;padding-top:22px;margin-top:18px;border-top:1px solid var(--border)}
.ln-section-number{font-size:.7rem;color:var(--accent);letter-spacing:.1em}
.lesson .ln-section h4{font-size:1.16rem;color:var(--text);margin:4px 0 10px}
.lesson p{line-height:1.95}
.ln-prose>h4{margin-top:25px}
.ln-example{border-inline-start:3px solid var(--accent);background:var(--card-2);border-radius:10px;padding:20px 24px;margin:28px 0}
.ln-example p{margin:7px 0 0}
.ln-check{padding:22px;border:1px solid var(--border-strong);border-radius:14px;margin:28px 0}
.ln-check h4{margin:8px 0 14px!important}
.ln-check summary,.ln-sources summary{cursor:pointer;color:var(--accent);font-weight:600;padding:8px 0;min-height:44px}
.ln-check details[open] summary{border-bottom:1px solid var(--border)}
.ln-check details p{margin-bottom:0}
.ln-sources{font-size:.85rem;border-top:1px solid var(--border);padding:14px 0;margin-top:24px}
.ln-sources a{display:block;padding:7px 0;direction:ltr;text-align:start;overflow-wrap:anywhere}
.ln-sources p{color:var(--text-dim)}
.ln-diagram{margin:24px 0}
.ln-diagram figcaption{color:var(--accent);font-size:.76rem;font-weight:700;margin-bottom:10px}
.ln-technical{display:block;width:100%;height:auto;max-height:none!important;direction:ltr;overflow:visible}
.ln-technical text{font-family:"Segoe UI",Arial,sans-serif}
.ln-hot{cursor:pointer;outline:none}
.ln-hot:focus-visible>*{stroke:#89e7ff!important;stroke-width:3px}
.ln-hot.selected>*{stroke:#89e7ff!important}
.ln-hot:hover{filter:brightness(1.15)}
.cut{background:#0c1219;padding:0;overflow:hidden;border:1px solid #42515f}
.anat svg{max-height:none}
.ln-diagram-zoom{display:block;border:1px solid var(--border-strong);background:var(--card-2);color:var(--text-dim);font:inherit;font-size:.76rem;padding:8px 13px;margin:10px 0 0;border-radius:9px;min-height:40px}
.family-mini{width:100%!important;max-width:none!important;height:auto!important;overflow:hidden;border-radius:10px}
.family-mini .ln-thumb{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.family-card{padding:10px;min-width:0}
.family-card b,.family-card small{margin-top:7px}
.family-detail-head{grid-template-columns:minmax(180px,40%) minmax(0,1fr)}
.family-pick .ln-thumb{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:9px}
.lab-state-picks .ln-technical{height:auto!important;max-height:none!important;min-height:0}
.lab-state-pick{min-width:0}
.ln-thumb{object-fit:cover}
.ln-viewer{padding:16px;background:#0a1118;color:#e9edf1;border:1px solid #5d6a78;border-radius:16px;width:min(1200px,96vw);max-width:96vw;max-height:94dvh;overflow:auto}
.ln-viewer::backdrop{background:#05090eee;backdrop-filter:blur(5px)}
.ln-viewer-body img{width:100%;height:auto;max-height:78dvh;object-fit:contain;display:block}
.ln-viewer-body p{text-align:center;margin:14px}
.ln-viewer-body .ln-technical{min-width:640px}
.ln-close{position:sticky;top:0;z-index:2;margin-bottom:12px;display:block;margin-inline-start:auto;background:#22303d;color:#fff;border:1px solid #70828f;padding:10px 20px;border-radius:10px;font:inherit}
.ln-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;padding-top:12px}
#onbIll{font-size:0;padding:0;height:auto;margin-bottom:20px}
#onbIll img{display:block;width:100%;max-height:250px;object-fit:cover;border-radius:14px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
button:disabled{cursor:default;opacity:.48}
@media(min-width:900px){.family-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){
.app{padding-inline:12px}.topbar{padding-inline:12px;gap:6px}.brand{font-size:1rem}.brand small{font-size:.62rem}.brand .lock{width:26px}.iconbtn{width:36px;height:38px;font-size:1rem}
.hero{min-height:440px;padding:30px 22px 26px;border-radius:18px}.hero h1{font-size:2.25rem}.hero p{font-size:.92rem}
.ln-hero-art{object-position:42% 25%;object-fit:cover}.hero:after{background:linear-gradient(0deg,#090d13 0%,#090d13f0 27%,#090d1350 68%,transparent 100%)}
.ln-hero-meta{gap:7px;font-size:.7rem}.ln-hero-meta span{padding:4px 8px}
.ln-lesson-card{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:9px}.ln-lesson-card img{width:96px;height:98px}.ln-card-arrow{display:none}.ln-lesson-card b{font-size:.94rem}.ln-lesson-card em{font-size:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ln-lesson-heading{padding:25px 22px}.ln-lesson-heading .intro{font-size:.96rem}.ln-prose{padding:20px 21px}.ln-plate figcaption{padding:14px 20px}.lesson p{font-size:.96rem;line-height:1.9}
.panel{padding:18px}.panel.ln-lesson{padding:0}.ln-check{padding:17px}.ln-example{padding:17px}
.family-detail-head{grid-template-columns:1fr}.family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-state-picks{grid-template-columns:1fr 1fr}
.ln-viewer{padding:12px}.ln-viewer-body{overflow-x:auto}.ln-viewer-body .ln-technical{min-width:640px}.ln-viewer-body img{min-width:0}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.ln-scroll-hint{font-size:.82rem;color:#b7c7d4;margin:0 0 12px}
