/* Legacy challenges hub */
.lg-page{--lg-gold:#e8c26d;--lg-ink:#f1e8d4;--lg-muted:#aeb5b4;--lg-card:#1a2028;--lg-line:#3d454e;max-width:1240px;margin:0 auto;padding:8px 0 40px;color:var(--lg-ink)}
.lg-page a{color:var(--lg-gold)}
.lg-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:28px;align-items:center;margin:26px 0 22px}
.lg-eyebrow{font:700 11px/1.5 FieldSans,system-ui,sans-serif;letter-spacing:1.8px;color:#c7ad6e;margin:0 0 8px}
.lg-hero h1{font:700 clamp(34px,4vw,52px)/1.08 FieldSerif,Georgia,serif;margin:0 0 12px;color:#f6edda}
.lg-deck{font-size:16px;line-height:1.65;color:#c8ccc7;margin:0;max-width:720px}
.lg-progress{display:flex;gap:18px;align-items:center;padding:18px;border:1px solid #6c5f42;border-top:3px solid var(--lg-gold);border-radius:8px;background:linear-gradient(160deg,#272519,#171b21 70%);position:sticky;top:12px;z-index:5}
.lg-ring{--lg-pct:0;flex:none;width:104px;height:104px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(closest-side,#171b21 78%,transparent 80%),conic-gradient(var(--lg-gold) calc(var(--lg-pct)*1%),#3a3f45 0)}
.lg-ring b{font:700 34px/1 FieldSerif,Georgia,serif;color:#ffe2a0}
.lg-ring span{font:600 12px FieldSans,system-ui,sans-serif;color:var(--lg-muted)}
.lg-progress-label{font:700 15px FieldSans,system-ui,sans-serif;margin:0 0 3px}
.lg-progress-sub{font-size:13px;color:var(--lg-muted);margin:0 0 10px}
.lg-actions{display:flex;flex-wrap:wrap;gap:6px}
.lg-actions button,.lg-shared button{min-height:34px;padding:5px 10px;border:1px solid #6e6449;border-radius:4px;background:#24231c;color:#ecd59b;font:600 12.5px FieldSans,system-ui,sans-serif;cursor:pointer}
.lg-actions button[aria-pressed=true]{background:#4a3d1f;border-color:var(--lg-gold)}
.lg-shared{margin:10px 0 0;font-size:12.5px;color:#d9cfb5}
.lg-url{width:100%;margin-top:8px;padding:7px;background:#0d1117;border:1px solid #6e6449;color:#eee;border-radius:3px}
.lg-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;padding:0 0 16px;border-bottom:1px solid #4e4835}
.lg-nav a{display:inline-flex;gap:8px;align-items:center;padding:7px 12px;border:1px solid var(--lg-line);border-radius:999px;background:#161b21;text-decoration:none;font:600 13px FieldSans,system-ui,sans-serif}
.lg-nav a span{color:var(--lg-muted);font-weight:500}
.lg-section{margin:0 0 34px;scroll-margin-top:150px}
.lg-section>header h2{display:flex;align-items:center;gap:12px;font:700 28px/1.2 FieldSerif,Georgia,serif;margin:0 0 4px;color:#efe1bd}
.lg-section>header p{margin:0 0 14px;color:var(--lg-muted);font-size:14px}
.lg-count{font:600 13px FieldSans,system-ui,sans-serif;color:#d7c28a;padding:3px 9px;border:1px solid #6b5f42;border-radius:999px}
.lg-sub{font:700 13px FieldSans,system-ui,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#c7ad6e;margin:18px 0 8px}
.lg-ladders{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:10px}
.lg-ladder{--lg-accent:var(--lg-gold);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--lg-line);border-left:3px solid var(--lg-accent);border-radius:5px;background:var(--lg-card)}
.lg-ladder-head{display:flex;align-items:center;gap:10px;min-width:0}
.lg-ladder-head img{border-radius:4px;border:1px solid #000}
.lg-ladder-head a,.lg-ladder-head b{font:700 15px FieldSans,system-ui,sans-serif;color:var(--lg-accent);text-decoration:none}
.lg-steps{display:flex;gap:6px}
.lg-step{position:relative;display:flex;align-items:center;gap:6px;min-width:60px;padding:6px 8px;border:1px solid #4a525b;border-radius:5px;background:#10151b;cursor:pointer;user-select:none}
.lg-step input,.lg-card-main input{position:absolute;opacity:0;width:1px;height:1px}
.lg-step-mark{width:16px;height:16px;border:1.5px solid #8b8f93;border-radius:3px;flex:none;display:grid;place-items:center}
.lg-step b{display:block;font:700 14px/1 FieldSans,system-ui,sans-serif}
.lg-step small{display:block;font-size:10.5px;color:var(--lg-muted);margin-top:2px}
.lg-step:hover{border-color:#8f7f55}
.lg-step:has(input:focus-visible),.lg-card-main:has(input:focus-visible){outline:2px solid var(--lg-gold);outline-offset:2px}
.lg-step.is-done{border-color:#c9a44f;background:#2e2816}
.lg-step.is-done .lg-step-mark{background:var(--lg-gold);border-color:var(--lg-gold)}
.lg-step.is-done .lg-step-mark::after{content:'✓';color:#1a1408;font:900 12px/1 system-ui,sans-serif}
.lg-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.lg-card{border:1px solid var(--lg-line);border-radius:6px;background:var(--lg-card);overflow:hidden}
.lg-card-main{position:relative;display:flex;gap:12px;align-items:flex-start;padding:12px;cursor:pointer}
.lg-card-main:hover{background:#1f2730}
.lg-icon{position:relative;flex:none;width:46px;height:46px;border:1px solid #000;border-radius:5px;box-shadow:inset 0 0 0 1px #6b5e40;overflow:hidden}
.lg-icon img{display:block;width:100%;height:100%;filter:grayscale(.55) brightness(.8);transition:filter .15s}
.lg-tick{position:absolute;right:-1px;bottom:-1px;width:18px;height:18px;border-radius:4px 0 4px 0;background:var(--lg-gold);color:#1a1408;font:900 12px/18px system-ui,sans-serif;text-align:center;display:none}
.lg-text b{display:block;font:700 15px/1.3 FieldSans,system-ui,sans-serif;color:#efe4c8}
.lg-text small{display:block;font-size:13px;line-height:1.5;color:var(--lg-muted);margin-top:3px}
.lg-text em{display:inline-block;margin-top:6px;font-style:normal;font-size:11.5px;color:#e9c77a;border:1px solid #6b5a33;border-radius:3px;padding:1px 6px}
.lg-card.is-done{border-color:#a8883f;background:linear-gradient(160deg,#2b2616,#1a2028 70%)}
.lg-card.is-done .lg-icon img{filter:none}
.lg-card.is-done .lg-tick{display:block}
.lg-card.is-done .lg-text b{color:#ffe2a0}
.lg-criteria{border-top:1px solid #313840;padding:0 12px 10px}
.lg-criteria summary{cursor:pointer;padding:9px 0 3px;font:600 12.5px FieldSans,system-ui,sans-serif;color:#d4bf88}
.lg-criteria ul{margin:6px 0 0;padding-left:18px;columns:2;column-gap:18px;font-size:13px;line-height:1.6;color:#c9cdc8}
.lg-criteria h5{margin:10px 0 2px;font:700 12px FieldSans,system-ui,sans-serif;color:#c7ad6e;letter-spacing:.5px;text-transform:uppercase}
.hide-done .lg-card.is-done,.hide-done .lg-ladder:not(:has(.lg-step:not(.is-done))){display:none}
.lg-class-links{display:flex;flex-wrap:wrap;gap:8px}
.lg-class-links a{--lg-accent:var(--lg-gold);display:inline-flex;align-items:center;gap:8px;padding:7px 12px 7px 8px;border:1px solid var(--lg-line);border-left:3px solid var(--lg-accent);border-radius:5px;background:var(--lg-card);color:var(--lg-accent);text-decoration:none;font:700 14px FieldSans,system-ui,sans-serif}
.lg-sources{border:1px solid #3e454c;border-radius:5px;background:#141a20;margin-top:30px}
.lg-sources>summary{cursor:pointer;padding:12px 16px;font:600 13px FieldSans,system-ui,sans-serif;color:#c9b27a}
.lg-sources>p{margin:0;padding:0 16px 12px;font-size:12.5px;line-height:1.7;color:var(--lg-muted)}
@media(max-width:900px){.lg-hero{grid-template-columns:1fr}.lg-progress{position:static}}
@media(max-width:520px){.lg-ladder{flex-direction:column;align-items:stretch}.lg-steps{justify-content:stretch}.lg-step{flex:1;min-width:0}.lg-criteria ul{columns:1}.lg-progress{flex-direction:column;align-items:flex-start}.lg-ladders,.lg-cards{grid-template-columns:1fr}}
.lg-ladder-head{flex:1 1 auto}.lg-ladder-head a,.lg-ladder-head b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:860px){.lg-ladders{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}
/* stacked ladder: name on top, three steps below */
.lg-ladders{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.lg-ladder{flex-direction:column;align-items:stretch;gap:9px}
.lg-steps{display:grid;grid-template-columns:repeat(3,1fr)}
.lg-step{min-width:0}
.lg-ladders{grid-template-columns:repeat(3,minmax(0,1fr))}
.lg-step small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-step>span:last-child{min-width:0}
@media(max-width:1000px){.lg-ladders{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.lg-ladders{grid-template-columns:1fr}}
