/* ===== v11 : Ryze OS SVG, cartes cliquables, corrections d'audit ===== */
.osv{position:absolute;left:0;right:0;top:62px;bottom:30px;width:100%;height:calc(100% - 92px)}
.osl-l{fill:none;stroke:color-mix(in srgb,var(--a1) 30%,transparent);stroke-width:1.4;stroke-dasharray:4 6;animation:dash 18s linear infinite}
@keyframes dash{to{stroke-dashoffset:-200}}
.osk{fill:var(--a1);filter:drop-shadow(0 0 6px var(--a1))}.osk.b{fill:var(--a2);filter:drop-shadow(0 0 6px var(--a2))}
.osn{cursor:pointer}.osn .dot{fill:#0E1218;stroke:color-mix(in srgb,var(--a1) 60%,transparent);stroke-width:1.6;transition:.3s}
.osn .halo{opacity:.55;transition:.3s}.osn .lb{fill:#DDE3EA;font:600 13px Geist,sans-serif;text-anchor:middle}
.osn .ic{fill:var(--a1);font:700 17px Geist,sans-serif;text-anchor:middle}
.osn.core .dot{fill:var(--a1);stroke:none}.osn.core .orb{fill:none;stroke:var(--a1);stroke-opacity:.35;stroke-dasharray:3 7;animation:rot 14s linear infinite;transform-box:fill-box;transform-origin:center}
@keyframes rot{to{transform:rotate(360deg)}}
.osn.core .c1{fill:#0B0D12;font:800 15px Unbounded,Geist,sans-serif;text-anchor:middle}.osn.core .c2{fill:#0B0D12;opacity:.7;font:600 9.5px "Geist Mono",monospace;letter-spacing:.08em;text-anchor:middle;text-transform:uppercase}
.osn:hover .dot,.osn:focus-visible .dot{stroke:var(--a1);stroke-width:2.6;fill:color-mix(in srgb,var(--a1) 18%,#0E1218)}
.osn.core:hover .dot{fill:var(--a2)}.osn:hover .halo{opacity:1}.osn:focus{outline:none}
.os-tip{position:absolute;left:14px;right:14px;top:12px;padding:10px 14px;border-radius:12px;flex-direction:row!important;align-items:center;flex-wrap:wrap;column-gap:12px!important;background:rgba(8,11,16,.82);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--a1) 40%,transparent);display:flex;flex-direction:column;gap:4px;font-size:13px}
.os-tip span{color:var(--mu);flex:1;min-width:180px}.os-tip a{color:var(--a1);font-weight:700;white-space:nowrap}
.os-tip.on{animation:swap .3s both}
.con{justify-content:flex-start!important}
/* cartes cliquables */
.clk{cursor:pointer;position:relative}
.clk:hover,.clk:focus-visible{border-color:color-mix(in srgb,var(--a1) 60%,transparent)!important;box-shadow:0 24px 50px -28px var(--a1);outline:none}
.clk::before{content:"→";position:absolute;top:10px;right:10px;z-index:5;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;background:var(--a1);color:#0B0D12;opacity:0;transform:scale(.6) rotate(-45deg);transition:.3s;pointer-events:none}
.clk:hover::before,.clk:focus-visible::before{opacity:1;transform:none}
/* footer */
footer.ft{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
body{padding-bottom:0}
/* audit : mobile */
@media(max-width:760px){
 header.hd{background:color-mix(in srgb,var(--bg) 94%,transparent)!important;backdrop-filter:blur(16px)}
 .pilot{display:none!important}
 .ctab .btn{white-space:normal;width:100%;justify-content:center;text-align:center}
 .ctab-a{width:100%}
 .zones{grid-template-columns:1fr 1fr!important}.zones>*{min-width:0}
 body[data-u=worlds] .sun,body[data-u=worlds] .floor{display:none}
 body[data-u=cash] #fx{display:none}
 .hd .lg img,.hd .brandlg img,.hd-in img{max-height:34px;width:auto}
 .osl-g{min-height:400px}.os-tip span{display:none}.osv{top:56px}
}
/* audit : lisibilité */
.name.brand .bw{padding:0 .12em .05em 0;margin-right:-.12em}
body[data-u=worlds] .eyebrow,body[data-u=worlds] .kick{text-shadow:0 2px 14px rgba(0,0,0,.85)}
.bc a,.bcard a{white-space:nowrap}
footer.ft{position:relative;z-index:6;background:var(--bg);isolation:isolate}
.k-eco,.k-eco *{font-family:Geist,system-ui,sans-serif}.k-eco em{font-style:normal;letter-spacing:0;text-transform:none}
.k-eco b{color:#F5F1F4;text-transform:none;letter-spacing:-.01em}.k-eco .mono{font-family:"Geist Mono",monospace}
body.at-ft .pilot{opacity:0;pointer-events:none;transform:translateY(20px)}.pilot{transition:opacity .3s,transform .3s}
