.challenge{background:linear-gradient(135deg,#25393d,#1b2a32);border-color:#55644f}
.challenge .meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.challenge blockquote{margin:12px 0;padding:12px 16px;border-left:3px solid var(--gold);background:#16242b;border-radius:6px;color:var(--ink)}
.levels{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 6px}
.levels button,.v3tabs button{background:transparent;color:var(--gold);border:1px solid #4d605f;padding:6px 11px;border-radius:8px;font-size:13px}
.levels button.active,.v3tabs button.active{background:var(--gold);color:#15232a}
.v3tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
.v3panel{display:none;padding-top:10px}.v3panel.active{display:block}
.meter{margin:9px 0}.meter .row{font-size:13px}.meter .progress>div{background:var(--green)}
.meter.Wisdom .progress>div{background:#d6b781}.meter.Courage .progress>div{background:#c98f6b}.meter.Justice .progress>div{background:#8fb0c9}.meter.Temperance .progress>div{background:#94b6a5}
.rank{font-family:Georgia,serif;font-size:24px;color:var(--gold)}
.badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.badge{border:1px solid var(--line);border-radius:12px;padding:14px;background:#16242b;opacity:.6}
.badge.on{opacity:1;border-color:var(--gold);background:#243832}
.badge strong{font-family:Georgia,serif;font-weight:normal;font-size:17px;display:block;color:var(--gold)}
.badge small{color:var(--muted);display:block}
.rubric{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px}
.rubric label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.rubric select,.v3field select{background:#122029;color:var(--ink);border:1px solid var(--line);border-radius:7px;padding:7px;width:100%}
.ai-feedback{background:#233c3d;border-left:3px solid var(--gold);padding:12px 14px;border-radius:6px;margin-top:10px}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compare>div{background:#16242b;border:1px solid var(--line);border-radius:10px;padding:12px;white-space:pre-wrap}
.sealed{border:1px dashed var(--gold);border-radius:10px;padding:14px;color:var(--muted);text-align:center}
.items{display:grid;gap:8px}.items label{display:grid;grid-template-columns:1fr 90px;gap:10px;align-items:center;font-size:14px}
.chart svg{width:100%;height:auto;display:block}.chart text{fill:var(--muted);font-size:11px}
.legend{display:flex;gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.practice{background:#1f3134;border:1px solid #4a5d55;border-radius:12px;padding:16px;margin-bottom:18px}
.medlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.medlist button{text-align:left;background:#16242b;border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:14px}
.medlist button:hover{border-color:var(--gold)}.medlist strong{color:var(--gold);font-family:Georgia,serif;font-weight:normal;font-size:17px;display:block}
.overlay{position:fixed;inset:0;background:rgba(8,14,18,.94);display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}
.overlay .inner{max-width:620px;text-align:center}.overlay .step{font-family:Georgia,serif;font-size:clamp(20px,3vw,27px);line-height:1.45;margin:22px 0}
.overlay .clock{font-variant-numeric:tabular-nums;color:var(--gold);font-size:34px}
.toast{position:fixed;bottom:22px;right:22px;background:#243832;border:1px solid var(--gold);border-radius:12px;padding:14px 18px;max-width:330px;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.4)}
@media(max-width:650px){.rubric{grid-template-columns:1fr 1fr}.compare{grid-template-columns:1fr}.items label{grid-template-columns:1fr 80px}}
@media print{.challenge,#v3hub,#v3rubric,#v3rank{display:none!important}}
