/* conformance.css
   Layout for conformance standard pages under /standards/.
   Requires lhc-core.css, which supplies the tokens, reset, and shared components.

   Tokens below are the ones this page type uses that core does not define.
   The navigation rules that used to live here were a duplicate of nav.css and are gone.
*/

:root{
  --code-bg:#f4f3f0;
  --green:#48bb78;
  --green-light:rgba(72,187,120,0.08);
  --yellow-light:rgba(236,201,75,0.08);
  --red:#E53E3E;
  --red-light:rgba(229,62,62,0.06);
  --coral-light:rgba(255,140,105,0.10);
  --sky:#82c8ff;
  --sky-light:rgba(130,200,255,0.10);
  --text-2:#4a5568;
  --text-3:#718096;
  --text-4:#a0aec0;
  --coral-dark:var(--accent-deep);
}

body{line-height:1.72}
h1,h2,h3,h4,.section-label,.gate-label,.level-label{font-family:'League Spartan',sans-serif}

h1,h2,h3,h4,.section-label,.gate-label,.level-label{font-family:'League Spartan',sans-serif}


.draft-bar{background:var(--code-bg);color:var(--navy);font-size:.8rem;text-align:center;padding:.55rem 1rem;border-bottom:1px solid var(--border);font-family:'League Spartan',sans-serif;font-weight:600;letter-spacing:.02em}
.draft-bar strong{color:var(--coral-dark)}

.crumb{max-width:820px;margin:0 auto;padding:1rem 2rem 0;font-family:'League Spartan',sans-serif;font-size:.8rem}
.crumb a{color:var(--text-3);text-decoration:none;font-weight:600}
.crumb a:hover{color:var(--navy)}
.crumb span{color:var(--border);margin:0 .4rem}

.prose{max-width:820px;margin:0 auto;padding:1.5rem 2rem 4rem}
.prose h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;color:var(--navy);margin:0 0 .5rem;line-height:1.08}
.prose .subtitle{font-size:1.05rem;color:var(--text-2);margin:0 0 1.5rem;max-width:60ch}
.prose h2{font-size:1.35rem;font-weight:800;color:var(--navy);margin:2.5rem 0 .6rem;padding-top:.5rem;border-top:1px solid var(--border)}
.prose h2:first-of-type{border-top:none;margin-top:1rem}
.prose h3{font-size:1.05rem;font-weight:800;color:var(--navy);margin:1.5rem 0 .4rem}
.prose p{margin:0 0 .9rem;font-size:.94rem}
.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.3rem;font-size:.92rem}
.prose li{margin-bottom:.4rem}
.prose hr{border:none;border-top:1px solid var(--border);margin:2rem 0}

/* Gate cards */
.gate{background:var(--white);border:1px solid var(--border);border-radius:14px;padding:1.5rem 1.75rem;margin:1.25rem 0;position:relative;overflow:hidden}
.gate::before{content:'';position:absolute;top:0;left:0;bottom:0;width:5px}
.gate-binary::before{background:var(--navy)}
.gate-scored::before{background:var(--sky)}
.gate-deploy::before{background:var(--coral)}
.gate-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;margin-bottom:.35rem;display:inline-block;padding:.2rem .5rem;border-radius:3px}
.gl-binary{background:rgba(44,45,114,.08);color:var(--navy)}
.gl-scored{background:var(--sky-light);color:#2b6cb0}
.gl-deploy{background:var(--coral-light);color:var(--coral-dark)}
.gate h3{font-size:1.1rem;margin:.1rem 0 .4rem}
.gate p{font-size:.88rem;margin:0 0 .5rem;color:var(--text-2)}

/* Tables */
.dt{width:100%;border-collapse:collapse;font-size:.84rem;margin:.75rem 0 1rem}
.dt th{text-align:left;font-family:'League Spartan',sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);background:var(--code-bg);padding:.5rem .7rem;border-bottom:2px solid var(--border)}
.dt td{padding:.5rem .7rem;border-bottom:1px solid #f0eeea;vertical-align:top}
.dt tr:last-child td{border-bottom:none}
.dt .pass{color:var(--green);font-weight:700;font-family:'League Spartan',sans-serif;font-size:.78rem}
.dt .fail{color:var(--red);font-weight:700;font-family:'League Spartan',sans-serif;font-size:.78rem}
.dt code{font-family:'JetBrains Mono',monospace;font-size:.78rem;background:var(--code-bg);padding:.1rem .3rem;border-radius:3px}

/* Levels */
.levels{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.25rem 0}
@media(max-width:640px){.levels{grid-template-columns:1fr}}
.level{border-radius:12px;padding:1.25rem;text-align:center}
.level-1{background:var(--code-bg);border:2px solid var(--border)}
.level-2{background:var(--sky-light);border:2px solid rgba(130,200,255,.35)}
.level-3{background:var(--navy);color:#fff}
.level-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:.3rem}
.level h4{font-size:1rem;margin:.15rem 0 .4rem}
.level p{font-size:.78rem;margin:0;line-height:1.5}
.level-3 .level-label{color:var(--coral)}
.level-3 p{color:rgba(255,255,255,.7)}

/* Safety box */
.safety{background:var(--red-light);border:1px solid rgba(229,62,62,.15);border-left:5px solid var(--red);border-radius:12px;padding:1.25rem 1.5rem;margin:1.25rem 0}
.safety h3{color:var(--red);font-size:1rem;margin:0 0 .4rem}
.safety p{font-size:.88rem;margin:0 0 .5rem}

/* Callout */
.callout{border-radius:10px;padding:1rem 1.25rem;font-size:.88rem;line-height:1.65;margin:1.5rem 0;background:rgba(44,45,114,0.04);border:1px solid rgba(44,45,114,0.12)}
.callout strong{font-weight:700;color:var(--navy)}

/* Links box */
.links-box{background:var(--code-bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;margin:1.5rem 0}
.links-box h4{font-family:'League Spartan',sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin:0 0 .5rem}
.links-box a{display:inline-block;margin-right:1.25rem;margin-bottom:.3rem;font-family:'League Spartan',sans-serif;font-weight:600;font-size:.85rem;color:var(--navy);text-decoration:none}
.links-box a:hover{color:var(--coral-dark)}
.links-box a::after{content:' \2197';color:var(--coral-dark)}

footer{background:var(--navy);color:rgba(255,255,255,0.6);padding:2rem}
.footer-inner{max-width:820px;margin:0 auto;text-align:center}
.footer-logo{font-family:'League Spartan',sans-serif;font-weight:800;font-size:1rem;color:var(--white)}
.footer-logo span{color:var(--coral)}
.footer-sub{margin-top:.75rem;font-size:.72rem;font-family:'JetBrains Mono',monospace;color:rgba(255,255,255,0.35)}

@media(max-width:640px){.prose{padding:1.25rem 1.25rem 3rem}.prose h1{font-size:1.6rem}}
