/* Progression : mêmes matières et couleurs que la colonie. */
.class-identity{display:flex;align-items:center;gap:22px;padding:18px;border:1px solid #58667e;border-radius:12px;background:linear-gradient(135deg,#22334c,#172236);margin-bottom:18px}.class-identity h3{font-size:25px;margin:6px 0}.class-identity h3 small{font-size:13px;color:#c3b080}.class-identity p,.class-card p{line-height:1.6;color:#c4cdda;font-size:12px}.class-portrait{flex:none;width:110px;height:126px;object-fit:contain;float:right}.class-tree-summary,.class-evolution-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-bottom:16px}.class-tree-summary strong{font-size:21px;color:#e6c77c}.class-tier-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:14px 0}.class-tier-tabs button{padding:10px 5px;border:1px solid #53647b;background:#1a293c;border-radius:7px;color:#cbd4e4;font-size:12px}.class-tier-tabs small{display:block;font-size:10px;margin-top:4px}.class-tier-tabs button.active{border-color:#d7b567;background:#3b3b34;color:#ffe3a5}.class-tier-tabs button:disabled{opacity:.4}.class-affinity-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 22px}.class-affinity-strip span{border:1px solid #506172;padding:6px 9px;border-radius:20px;font-size:11px;color:#c9d3df}.class-affinity-strip strong{color:#edcf8a}.class-trees .talent-branch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.class-trees .talent-card{display:flex;flex-direction:column;min-width:0}.class-trees .talent-card p{flex:1;line-height:1.55}.class-rank-bar{height:5px;background:#101e2d;border-radius:8px;overflow:hidden;margin:8px 0}.class-rank-bar span{display:block;height:100%;background:#d9b773}.class-requirement{font-size:10px;min-height:15px;color:#c0b085;margin-top:5px}.class-card{padding:16px;border:1px solid #506079;border-radius:9px;background:#1a283c;min-width:0;overflow:hidden}.class-card h3{margin:8px 0 4px;color:#f1d599}.class-card>strong{display:block;font-size:13px;margin-top:16px;color:#e2cfab}.class-card .eyebrow{font-size:9px}.class-affinity{font-size:10px!important;color:#b8a77e!important;clear:both}.class-military,.class-exclusive{padding-top:10px;margin-top:10px;border-top:1px solid #394d64;font-size:12px}.class-warning{color:#e9c184!important}.class-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.class-offer{border:2px solid transparent;border-radius:12px;display:flex;flex-direction:column;background:#182639}.class-offer .class-card{flex:1;border-color:transparent}.class-offer.selected{border-color:#dec176;box-shadow:0 0 22px #d8ab4420}.class-offer-footer{display:flex;flex-direction:column;gap:8px;padding:14px}.class-offer-footer small{color:#c9b87f}.class-cost{font-size:23px;color:#edca77;white-space:nowrap}.class-cost small{display:block;font-size:12px;color:#bbc7d8;margin-top:5px}.class-confirm{margin-top:18px;border:1px solid #ad9253;border-radius:9px;padding:18px;background:#33352f}.class-confirm p{line-height:1.6;color:#cbd2d9}.class-catalogue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.class-escort,.class-military-report{padding:14px;margin:12px 0;border:1px solid #55667c;border-radius:9px;background:#202f43;font-size:12px}.class-escort label{display:flex;align-items:center;gap:10px;color:#eadab7;font-size:13px}.class-escort input[type=checkbox]{width:17px;height:17px;flex:none}.class-escort p,.class-military-report p{line-height:1.6}.class-escort small{color:#c5b992}.class-ally-select{padding:8px 14px;display:flex;align-items:center;gap:10px;font-size:12px;color:#d2c198}.class-ally-select select{max-width:250px}.class-brief{padding:8px 0;font-size:12px;color:#d8c799}
@media(max-width:800px){.class-offers{grid-template-columns:1fr}.class-trees .talent-branch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-tier-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.class-catalogue{grid-template-columns:1fr}.class-identity{align-items:flex-start;gap:10px}.class-identity .class-portrait{width:76px;height:88px}.class-identity h3{font-size:20px}}
@media(max-width:480px){.class-trees .talent-branch-grid{grid-template-columns:1fr}.class-identity{display:block}.class-portrait{width:85px;height:95px}}

/* v0.6.1 — un arbre à la fois, navigation par tier et catégories. */
.class-tree-nav{position:sticky;top:-24px;z-index:2;background:#19273b;padding:16px 0 10px;border-bottom:1px solid #4c5f78;margin:-16px 0 20px}
.class-tree-nav .class-tree-summary{margin:0 0 12px}.class-tree-summary>div>small{display:block;color:#bbc8d9;font-size:11px;margin-top:5px;line-height:1.5}
.class-talent-tabs{margin:0;gap:6px}.class-talent-tabs button{text-align:left;padding:10px 8px;min-width:0;line-height:1.4}.class-talent-tabs button>span{font-size:10px;color:#b7c7dc}.class-talent-tabs button>strong{display:block;font-size:12px;overflow-wrap:anywhere;margin:6px 0;line-height:1.35}.class-talent-tabs button>small{font-size:10px;color:#b6c3d6}.class-talent-tabs button.is-current{border-top:3px solid #c4ab6a}.class-talent-tabs button.active{box-shadow:inset 0 -3px 0 #e7c57b}.class-talent-tabs button.active>span,.class-talent-tabs button.active>small{color:#eedcac}.class-talent-tabs .class-future-tier{opacity:.65}.class-current-label{display:inline-block;font-size:8px;font-weight:600;padding:1px 4px;border-radius:4px;color:#172337;background:#ddc07e}
.class-tree-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.class-tree-heading h3{font-size:24px;margin:7px 0}.class-tree-heading h3 small{font-size:12px;color:#b7c7d9;margin-left:5px}.class-tree-heading p{font-size:12px;color:#c5d0df;margin:5px 0}.class-tree-note{font-size:12px;line-height:1.6;color:#c4cfde;margin:14px 0;padding:10px 12px;border-left:2px solid #a28b59;background:#1a2a40}
.class-talent-filters{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.class-talent-filters button{background:#1b2b40;border:1px solid #4f637e;color:#ccd5e4;border-radius:18px;font-size:12px;padding:7px 11px;min-height:36px}.class-talent-filters button.active{background:#35392f;color:#f5d891;border-color:#bc9d5a}.class-talent-filters small{display:inline-block;margin-left:5px;opacity:.8}
.class-trees .talent-branch{background:#18283d;border-color:#4c607a;padding:14px}.class-trees .talent-branch>header{gap:12px;align-items:flex-start}.class-trees .talent-branch>header h3{font-size:18px;margin:0}.class-trees .talent-branch>header p{font-size:11px;color:#b4c3d6;line-height:1.5;margin:6px 0 0}.class-trees .talent-branch>header>strong{flex:none;white-space:nowrap;border-color:#665f48;color:#e5cb8e}.class-trees .talent-branch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.class-talent-title{display:flex;gap:8px;align-items:center;padding-right:0}.class-talent-title>svg{width:24px;height:24px;flex:none}.class-talent-title>div{min-width:0;flex:1}.class-talent-title h3{font-size:14px;line-height:1.35;margin:4px 0 0;overflow-wrap:anywhere}.class-talent-kind{color:#bcac83;font-size:8px;letter-spacing:.5px}.class-talent-rank{font-size:16px;white-space:nowrap;color:#efcf85}.class-talent-rank small{font-size:10px;color:#aebdd1;font-weight:400}.class-trees .talent-card{padding:13px;border-color:#4c5e78;background:#1c2c43}.class-trees .talent-card.active-talent{background:linear-gradient(140deg,#33392e,#1c2c43);border-color:#8d794b}.class-trees .talent-card p{font-size:12px;min-height:0;margin:12px 0}.class-talent-meta{font-size:10px;color:#aebed3;line-height:1.5}.class-talent-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px}.class-talent-actions button{min-height:34px;font-size:11px}.class-talent-actions .text-button{font-size:10px;padding:5px}.class-trees .talent-maxed .class-rank-bar span{background:#83b99b}.class-trees .talent-maxed .class-talent-rank{color:#a7d6b7}.class-requirement{line-height:1.4}
.class-affinity-overview{border-top:1px solid #4b5d75;margin-top:22px;padding-top:16px}.class-affinity-overview>strong{font-size:12px;color:#d8c38e}.class-affinity-overview>.class-affinity-strip{margin-bottom:8px}.class-affinity-overview>small{font-size:10px;color:#aabbd1}
.class-talent-tabs button:focus-visible,.class-talent-filters button:focus-visible,.class-talent-actions button:focus-visible,#class-tree-panel:focus-visible{outline:2px solid #f6dda0;outline-offset:3px}
@media(max-width:800px){.class-talent-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.class-talent-tabs button{padding:7px 9px}.class-talent-tabs button>strong{margin:3px 0}.class-tree-nav .class-tree-summary strong{font-size:18px}}
@media(max-width:600px){.class-trees .talent-branch-grid{grid-template-columns:1fr}.class-trees .talent-branch>header{flex-wrap:wrap}.class-tree-nav{position:static;padding-top:12px}.class-tree-summary{gap:9px}.class-tree-summary>button{font-size:11px}.class-tree-heading h3{font-size:21px}.class-talent-filters{gap:5px}.class-talent-filters button{font-size:11px;padding:7px 10px}.class-talent-tabs button>strong{font-size:11px}}
@media(max-height:600px){.class-tree-nav{position:static}}

/* v0.6.2 — récupération d’énergie. */
.energy-heading h3{font-size:25px;color:#efd39b;margin:8px 0}.energy-heading p{color:#bfccdf;line-height:1.6;font-size:13px}.energy-reserve{padding:16px;background:#17263d;border:1px solid #4c6688;border-radius:9px;margin:18px 0}.energy-reserve>strong{color:#c5d9f6;font-size:23px}.energy-reserve>span{color:#aebed1;margin-left:9px;font-size:12px}.energy-reserve .class-rank-bar{height:8px;margin:12px 0 0}.energy-reserve .class-rank-bar>span{background:#8eb2e4}.energy-options{display:grid;grid-template-columns:1fr 1fr;gap:14px}.energy-options>section{min-width:0;padding:17px;border:1px solid #5a6d85;border-radius:9px;background:#1c2d45;display:flex;flex-direction:column}.energy-options h3{font-size:18px;margin:8px 0}.energy-options p{font-size:12px;line-height:1.6;color:#c9d3e1;flex:1}.energy-options small{display:block;font-size:11px;line-height:1.6;color:#b8c6d8;margin:8px 0 16px}.energy-price{font-size:23px;color:#e9cb86}.energy-shortcut{font-size:11px;text-align:left;line-height:1.5;margin-bottom:9px}.energy-shortcut small{display:block;color:#cdb784;font-size:10px}.energy-options .class-requirement{font-size:11px;line-height:1.5;margin-bottom:0}
@media(max-width:600px){.energy-options{grid-template-columns:1fr}}

/* Accès privé au serveur */
.server-auth-tabs{display:flex;gap:8px;margin:12px 0}.server-auth-tabs button{flex:1}.server-auth-tabs button.active{border-color:var(--gold,#d9b665);color:var(--gold,#d9b665)}
#serverAuth small{display:block;line-height:1.5;color:#aebcca;margin:6px 0 12px}#characterFields[hidden],#serverAuth[hidden],#tribeCodeField[hidden]{display:none!important}
.welcome-form{max-height:92vh;overflow-y:auto}

.optional-field{font-weight:400;color:#aebcca}.ladder-summary{display:flex;align-items:center;gap:20px;justify-content:space-between}.ladder-summary p{margin:8px 0 0;font-size:13px;color:#b5c5d3;max-width:540px}.ladder-own-rank{text-align:center;min-width:85px;padding:12px;border:1px solid #b4945555;border-radius:8px;background:#bf985510}.ladder-own-rank small{display:block;color:#c9b487}.ladder-own-rank strong{font-size:26px;color:#f1ce84}.ladder-scroll{overflow:auto;max-height:52vh;border:1px solid #596d8255;border-radius:8px}.ladder-table{border-collapse:collapse;width:100%;min-width:590px;font-size:13px}.ladder-table th,.ladder-table td{padding:12px 10px;text-align:left;border-bottom:1px solid #596d8233}.ladder-table thead th{position:sticky;top:0;background:#1b2b40;color:#d9c697;font-size:11px;z-index:1}.ladder-table tbody th{max-width:180px;overflow-wrap:anywhere}.ladder-table td{max-width:190px;overflow-wrap:anywhere}.ladder-table td small{display:block;margin-top:4px;font-size:10px;color:#a6bbca}.ladder-table .ladder-me{background:#d5ac5b1c;box-shadow:inset 3px 0 #d5ac5b}.ladder-table .ladder-ally{background:#82c6ad0b}.ladder-rank,.ladder-level{color:#f0d89e;font-weight:600;white-space:nowrap}.ladder-you{display:block;font-size:10px;margin-top:4px;color:#e0bd76;font-weight:400}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.member-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.member small{max-width:128px;white-space:normal;text-align:right;font-size:10px}
@media(max-width:600px){.ladder-summary{gap:10px}.ladder-own-rank{min-width:70px}.ladder-table th,.ladder-table td{padding:10px 8px}}

/* 0.7.3 : trois commandes compactes sur la ligne existante de défense. */
.defense-actions{display:flex;gap:6px;align-items:stretch}
.defense-actions .small-button{flex:1;min-width:0;font-size:11px;line-height:1.3;padding:6px 8px;white-space:normal}
.defense-actions .selected{border-color:#d7b567;background:#3b3b34;color:#ffe3a5}
.recovery-panel{padding:16px;margin-bottom:20px;border:1px solid #a18b60;border-radius:9px;background:#302f33}
.recovery-panel h3{font-size:21px;color:#efd39b;margin:6px 0}
.recovery-panel p{font-size:12px;line-height:1.6;margin:9px 0}
.recovery-panel small{display:block;color:#c9c2b4;font-size:11px;line-height:1.6;margin-top:10px}
.recovery-offer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0}
.recovery-offer>strong{font-size:22px;color:#edcf8a}
