/* Raven Gear scoped visual components. Never use CSS gap property. */
.rge[hidden] { display:none!important; }
.rge { color:#f2f2f2; min-width:0; margin-top:27px; }
.rge-section { border-top:1px solid #292929; padding-top:21px; margin-top:24px; }
.rge-section:first-child {border-top:0; margin-top:0; padding-top:0;}
.rge-section-heading {display:flex; align-items:center; margin:0 0 17px; padding:10px 12px; border-left:3px solid #d6aa4f; border-radius:0 9px 9px 0; background:linear-gradient(90deg,rgba(214,170,79,.13),rgba(255,255,255,.045));}
.rge-section-index {flex:0 0 auto; font-size:15px; font-weight:650; color:#d6aa4f; margin-right:10px; letter-spacing:.02em; font-variant-numeric:tabular-nums;}
.rge-section-title {margin:0!important; font-size:clamp(14px,3.8vw,17px); font-weight:620; color:#f2f2f2; line-height:1.35; min-width:0;}
.rge-description,.rge-body-text {font-size:12px; color:#bdbdbd; line-height:1.85; margin:0 0 15px;}
.rge-intro-accent {color:#e8be6d; font-weight:650;}
.rge-subsection {margin-top:22px;}
.rge-subtitle {font-size:15px; color:#f2f2f2; font-weight:800; margin:0 0 10px; line-height:1.5;}
.rge-gear-grid {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:-4px;}
.rge-card {min-width:0; height:140px; box-sizing:border-box; margin:4px; border:1px solid #35383a; background:linear-gradient(155deg,rgba(21,23,25,.95),rgba(7,8,10,.97)); border-radius:12px; padding:9px 8px 10px; display:flex; flex-direction:column;}
.rge-card-title {flex:none; min-height:0; display:flex; align-items:flex-start;}
.rge-name {font-size:12px; color:#f2f2f2; font-weight:620; line-height:1.35; margin:0!important; letter-spacing:0; overflow-wrap:break-word; word-break:normal;}
.rge-right .rge-card-title,.rge-left-set .rge-card-title {justify-content:flex-end; text-align:right;}
.rge-right-set .rge-card-title {justify-content:flex-start; text-align:left;}
.rge-card-body {min-width:0; display:flex; align-items:flex-start; flex:0 0 auto; margin-top:7px;}
.rge-right .rge-card-body,.rge-left-set .rge-card-body {flex-direction:row-reverse;}
.rge-gear-icon {display:block; flex:none; width:43px; height:43px; object-fit:contain; border-radius:8px; font-size:7px; color:#777; background:#17191c; border:1px solid #2b3031; box-sizing:border-box;}
.rge-gear-copy {flex:1; min-width:0; margin-left:7px;}
.rge-right .rge-gear-copy,.rge-left-set .rge-gear-copy {margin-left:0; margin-right:7px; text-align:right;}
.rge-class {display:inline-block; max-width:100%; border:1px solid #d6aa4f; border-radius:6px; color:#e2b956; font-weight:650; font-size:clamp(9px,2.65vw,11px); line-height:1.3; padding:3px 5px; white-space:normal; overflow-wrap:normal; word-break:normal;}
.rge-effects {margin-top:5px;}
.rge-effect {display:block; font-size:clamp(9px,2.5vw,11px); line-height:1.46; color:#e1e1e1; overflow-wrap:break-word; word-break:normal; margin-bottom:2px;}
.rge-set-arrow {text-align:center; color:#d6aa4f; line-height:29px; height:29px; font-size:25px; font-weight:300;}
.rge-muted {font-size:11px; line-height:1.65; margin:8px 0 0; color:#a7a7a7;}
.rge-condition-visual {display:flex; align-items:center; margin-top:12px;}
.rge-condition-example {flex:1; min-width:0; padding:9px 6px 8px; box-sizing:border-box; text-align:center; border:1px solid #3a3a3a; border-radius:9px; background:#0d0e10;}
.rge-condition-label {font-size:10px; font-weight:700; line-height:1.4; min-height:28px; margin-bottom:7px; color:#c7c7c7;}
.rge-condition-middle {flex:0 0 18px; text-align:center; color:#d6aa4f;}
.rge-condition-levels {display:flex; align-items:flex-start; justify-content:space-around;}
.rge-level-token {display:flex; flex:0 1 auto; flex-direction:column; align-items:center; min-width:0;}
.rge-level-frame {display:block; width:clamp(27px,7.8vw,36px); height:clamp(27px,7.8vw,36px); box-sizing:border-box; border:2px solid; border-radius:6px; background:#1a1b1e; overflow:hidden;}
.rge-level-frame.rge-gold {border-color:#d6aa4f;}
.rge-level-frame.rge-red {border-color:#d74c4c;}
.rge-level-frame img {display:block; width:100%; height:100%; object-fit:contain;}
.rge-level-token small {display:block; margin-top:4px; font-size:9px; font-weight:600; line-height:1.2; color:#cfcfcf; white-space:nowrap;}
.rge-condition-example p {min-height:30px; margin:8px 0 0; font-size:10px; color:#a9a9a9; line-height:1.5;}
.rge-training-card {border:1px solid #363636; border-radius:10px; padding:12px; background:#0d0e10; margin-top:10px;}
.rge-training-head {display:flex; align-items:center; margin-bottom:12px;}
.rge-training-phase {color:#e5bd61; font-size:12px; font-weight:650; margin-right:10px; white-space:nowrap;}
.rge-training-head strong {font-size:12px; font-weight:650; line-height:1.4;}
.rge-fusion-figure {display:flex; align-items:center; justify-content:center; min-width:0;}
.rge-fusion-figure .rge-level-frame {width:clamp(30px,9vw,40px); height:clamp(30px,9vw,40px);}
.rge-fusion-plus {flex:0 0 auto; margin:0 6px; color:#aaa; font-size:13px; font-weight:600;}
.rge-fusion-arrow {flex:0 0 auto; margin:0 8px; color:#e2b956; font-size:19px; font-weight:600;}
.rge-training-card p {margin:10px 0 0; color:#c6c6c6; font-size:11px; line-height:1.75;}
.rge-research-material {background:#202020; border:1px solid #424242; border-radius:6px; padding:7px 8px; margin-bottom:8px; text-align:center; font-size:11px;}
.rge-research-steps {display:grid; grid-template-columns:repeat(5,1fr); position:relative;}
.rge-research-steps::before {content:""; position:absolute; height:2px; background:#7a632e; top:33px; left:10%; right:10%; z-index:0;}
.rge-research-steps>div {text-align:center; position:relative; z-index:1;}
.rge-research-steps span {font-size:10px; font-variant-numeric:tabular-nums; font-weight:700; color:#d5c5a2;}
.rge-research-steps i {display:block; width:12px; height:12px; margin:7px auto 0; background:#d6aa4f; border:2px solid #494024; box-sizing:border-box; border-radius:50%;}
.rge-research-steps .rge-complete i {background:#e7c977;border-color:#d6aa4f;box-shadow:0 0 0 3px rgba(214,170,79,.12);}
.rge-research-captions {display:flex; justify-content:space-between; margin-top:6px; font-size:10px; color:#d3b363;}
.rge-sources {margin-top:3px;}
.rge-source {border:1px solid #333; border-radius:10px; background:#0c0d0f; padding:12px; margin-bottom:10px;}
.rge-source h4 {display:flex; align-items:baseline; font-size:13px; font-weight:650; line-height:1.4; margin:0 0 9px;color:#e7e7e7;}
.rge-source-marker {font-size:13px; font-weight:650; line-height:1.4; color:#d6aa4f; margin-right:9px;}
.rge-source ul {margin:0; padding:0 0 0 16px; list-style:disc;}
.rge-source li {font-size:11px; line-height:1.8; margin:1px 0; color:#d2d2d2;}
.rge-duel {border-top:1px solid #333; margin-top:16px; padding-top:15px;}
.rge-duel h4 {font-size:14px;color:#f0f0f0;margin:0 0 10px;}
.rge-table-container {overflow-x:auto; max-width:100%;}
.rge-duel table {width:100%;border-collapse:collapse;table-layout:fixed;font-size:11px;text-align:center;min-width:255px;}
.rge-duel th,.rge-duel td {border:1px solid #3b3b3b; padding:10px 3px; font-variant-numeric:tabular-nums;}
.rge-duel thead th {color:#edc76c;background:#1a1813;font-size:10px;}
.rge-duel tbody th {font-weight:700;}
.rge-duel .rge-sum {font-weight:800;color:#f0d281;background:#18150e;}
.rge-tactical-note {border-left:2px solid #ba9339; margin-top:12px; padding:4px 0 5px 12px;}
.rge-tactical-note strong {color:#f0d17d;font-size:12px;}
.rge-tactical-note p {margin:5px 0 0;color:#bbb;font-size:11px;line-height:1.65;}
.rge-advice p {font-size:11.5px; line-height:1.8; border-bottom:1px solid #292929; padding:0 0 12px; margin:0 0 12px; color:#dedede;}
.rge-day3 {border:1px solid #8a6828; border-radius:9px; padding:13px; background:rgba(39,30,12,.25);}
.rge-day3-label {color:#f1ca65; font-weight:800; font-size:12px;}
.rge-day3 p {color:#e0d9c5; font-size:11.5px; line-height:1.8; margin:7px 0 0;}
/* Russian: compact natural Cyrillic typography, never letter-spaced across a card. */
html[lang="ru"] .rge {font-family:"PT Sans",Arial,sans-serif; letter-spacing:0; word-spacing:normal;}
html[lang="ru"] .rge :is(.rge-name,.rge-class,.rge-effect,.rge-section-title,.rge-section-index,.rge-description) {letter-spacing:0; word-spacing:normal; font-kerning:normal;}
html[lang="ru"] .rge-name {font-family:"PT Sans Narrow","PT Sans",Arial,sans-serif; font-size:13px; font-weight:600; line-height:1.2;}
html[lang="ru"] .rge-effect {font-family:"PT Sans",Arial,sans-serif; font-size:10.2px; line-height:1.34;}
html[lang="ru"] .rge-class {font-family:"PT Sans",Arial,sans-serif; font-size:10px;}
html[lang="ru"] .rge-card {height:145px;}
html[lang="es"] .rge-card {height:154px;}
@media(max-width:360px){
 .rge-card{height:144px;padding:8px 6px;}
 .rge-name{font-size:11px;}
 .rge-gear-icon{width:34px;height:34px;}
 .rge-gear-copy{margin-left:5px;}
 .rge-right .rge-gear-copy,.rge-left-set .rge-gear-copy{margin-right:5px;}
 .rge-effect{font-size:9px;}
 .rge-class{font-size:9px;padding:3px;}
 .rge-level-frame{width:27px;height:27px;}
 .rge-fusion-figure .rge-level-frame{width:30px;height:30px;}
 .rge-fusion-plus{margin:0 3px;font-size:11px;}
 .rge-fusion-arrow{margin:0 4px;font-size:16px;}
 html[lang="ru"] .rge-card{height:151px;}
 html[lang="ru"] .rge-name{font-size:12px;}
 html[lang="ru"] .rge-effect{font-size:9.5px;}
 html[lang="es"] .rge-card{height:162px;}
}

