/* Member sports universe (archive V2 sports-ui, ported). Green Ninety treatment,
   decorative only: pointer-events none, behind content, reduced contrast. */
.app-shell.ns-personalized{isolation:isolate}
.app-shell.ns-personalized>.view{position:relative;z-index:1}
.ns-member-universe{position:fixed;z-index:0;inset:78px 0 0 248px;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 95% 15%,#b5c8b526,transparent 62%)}
.ns-member-universe>img{position:absolute;right:-110px;top:24px;width:520px;height:520px;object-fit:contain;opacity:.16;filter:grayscale(1) sepia(1) hue-rotate(91deg) saturate(.7);mix-blend-mode:multiply;transform:rotate(-11deg)}
.ns-member-universe>.ns-sport-art{position:absolute;right:-180px;top:5px;width:740px;height:540px;opacity:.55;color:#709b7e;transform:rotate(-15deg)}
.ns-universe-signature{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin:0 0 22px;padding:6px 12px 6px 6px;border:1px solid #073f3222;border-radius:12px;background:#fafbf4e8;box-shadow:0 4px 16px #073f3205;text-decoration:none}
.ns-universe-signature>span:not(.ns-crest):not(.ns-signature-sport){display:grid;gap:3px;font-size:9px;letter-spacing:.12em;color:#5c7363}
.ns-universe-signature strong{font-size:12px;letter-spacing:0;color:var(--green,#073f32);font-weight:600}
.ns-universe-signature>b{font-size:12px;font-weight:400;color:var(--coral,#ef5a24);margin-left:4px}
.ns-universe-signature:focus-visible{outline:3px solid var(--coral,#ef5a24);outline-offset:2px}
.ns-signature-sport{display:grid;place-items:center;width:30px;height:30px;color:var(--green,#073f32)}
.ns-signature-sport .ns-sport-art{width:30px;height:20px}
.ns-crest{display:inline-grid;place-items:center;flex:0 0 30px;width:30px;height:30px;padding:4px;border-radius:50%;background:#fffdf4;border:1px solid #073f3220;overflow:hidden}
.ns-crest img{width:100%;height:100%;object-fit:contain}
.ns-crest b{font:800 11px/1 var(--display,'Barlow Condensed',sans-serif);color:var(--green,#073f32)}
/* Member card */
.digital-card.ns-card-decorated{position:relative;overflow:hidden}
.ns-card-passion-art{position:absolute;z-index:0;right:8%;top:15%;width:35%;height:62%;pointer-events:none;opacity:.23;transform:rotate(-12deg)}
.ns-card-passion-art>img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(1.7);mix-blend-mode:screen}
.ns-card-passion-art>.ns-sport-art{width:100%;height:100%;color:#dae6cf}
.digital-card.ns-card-decorated>:not(.ns-card-passion-art){position:relative;z-index:1}
.ns-card-passion{position:absolute!important;z-index:2;left:38px;top:44%;max-width:55%;display:grid;gap:7px;pointer-events:none}
.ns-card-passion>span{font-size:8px;letter-spacing:.18em;color:#a9c5b4}
.ns-card-passion>strong{font:600 13px/1.3 var(--sans,'Space Grotesk',sans-serif);color:#f3f0df}
/* Passions panel */
.ns-preferences-panel{max-width:860px}
.ns-preferences-form{display:grid;gap:22px}
.ns-preferences-form fieldset{margin:0;padding:22px;border:1px solid #073f3220;border-radius:14px;background:#fafbf4f2;display:grid;gap:12px;min-width:0}
.ns-preferences-form legend{padding:0 6px;font:800 26px/1 var(--display,'Barlow Condensed',sans-serif);text-transform:uppercase;color:var(--green,#073f32)}
.ns-preferences-form legend small{font:500 11px var(--sans,'Space Grotesk',sans-serif);text-transform:none;color:#6b8070;margin-left:6px}
.ns-preferences-form p{margin:0;font-size:13px;line-height:1.55}
.ns-muted{color:#5c7363}
.ns-pref-sports{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ns-pref-sports label{position:relative;cursor:pointer}
.ns-pref-sports input,.ns-team-option input{position:absolute;opacity:0;width:1px;height:1px}
.ns-pref-sports label>span{display:grid;gap:8px;justify-items:center;min-height:104px;padding:16px 10px;border:1px solid #073f3226;border-radius:12px;background:#fffdf4;color:var(--green,#073f32);transition:background .2s,color .2s}
.ns-pref-sports .ns-sport-art{width:64px;height:42px}
.ns-pref-sports b{font:800 18px/1 var(--display,'Barlow Condensed',sans-serif);text-transform:uppercase}
.ns-pref-sports input:checked+span{background:var(--green,#073f32);color:#f3ecdf;border-color:var(--green,#073f32)}
.ns-pref-sports input:focus-visible+span,.ns-team-option:focus-within{outline:3px solid var(--coral,#ef5a24);outline-offset:2px}
.ns-team-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.ns-team-option{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1px solid #073f3222;border-radius:10px;background:#fffdf4;cursor:pointer}
.ns-team-option.is-on{border-color:var(--green,#073f32);box-shadow:inset 0 0 0 1px var(--green,#073f32)}
.ns-team-option>span:last-child{display:grid;gap:2px;min-width:0}
.ns-team-option b{font-size:13px;font-weight:600;color:var(--green,#073f32);overflow-wrap:anywhere}
.ns-team-option small{font-size:11px;color:#6b8070}
.ns-select-label{display:grid;gap:6px;font-size:12px;font-weight:600;color:var(--green,#073f32)}
.ns-select-label select,.ns-select-label input{min-height:44px;padding:10px 12px;border:1px solid #073f3233;border-radius:9px;background:#fffdf4;font:inherit;font-weight:400;color:inherit}
.ns-theme-preview{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #073f3225;border-radius:14px;background:#e8eee3}
.ns-theme-preview>.ns-crest{flex-basis:48px;width:48px;height:48px;padding:7px}
.ns-preview-sport{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:var(--green,#073f32);color:#f3ecdf}
.ns-preview-sport .ns-sport-art{width:34px;height:24px}
.ns-preview-sport b{font:800 18px var(--display,'Barlow Condensed',sans-serif)}
.ns-theme-preview>div{display:grid;gap:5px}
.ns-theme-preview small{font-size:9px;letter-spacing:.1em;color:#4f6b56}
.ns-theme-preview strong{font:800 23px/1 var(--display,'Barlow Condensed',sans-serif);color:var(--green,#073f32)}
.ns-theme-preview div>span{font-size:12px;line-height:1.5;color:#4f6b56}
.ns-flash:empty{display:none}
.ns-flash{padding:12px 14px;border-radius:10px;background:#e8eee3;color:var(--green,#073f32);font-size:13px}
.ns-flash[role=alert]{background:#fde8df;color:#8a2c0c}
.ns-preference-footer{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.ns-panel-state{display:grid;gap:12px;padding:22px;border-radius:14px;background:#fafbf4}
@media(max-width:820px){.ns-member-universe{inset:70px 0 0}.ns-member-universe>img{top:56px;right:-85px;width:390px;height:390px;opacity:.15}.ns-member-universe>.ns-sport-art{right:-225px;top:55px;width:650px;height:450px;opacity:.4}.ns-card-passion{left:27px}}
@media(max-width:560px){.ns-member-universe>img{top:65px;right:-95px;width:330px;height:330px}.ns-pref-sports{grid-template-columns:repeat(2,minmax(0,1fr))}.ns-preferences-form fieldset{padding:18px 14px}.ns-preference-footer{flex-direction:column;align-items:stretch}}
/* Sorties sub-tabs */
.sorties-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}
.sorties-tabs a{min-height:44px;display:inline-flex;align-items:center}
/* Home shortcuts */
.home-shortcuts{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;margin:0 0 18px}
.home-offers-shortcut,.home-universe-shortcut{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:18px 22px;border-radius:14px;text-decoration:none}
.home-offers-shortcut{background:var(--green,#073f32);color:#f3ecdf}
.home-offers-shortcut small{display:block;font-size:10px;letter-spacing:.14em;color:#ffc4aa;margin-bottom:6px}
.home-offers-shortcut strong{font:800 26px/1 var(--display,'Barlow Condensed',sans-serif);text-transform:uppercase}
.home-offers-shortcut>span:last-child{font-size:22px;color:#ffc4aa}
.home-universe-shortcut{border:1px solid #073f3222;background:#fafbf4;color:var(--green,#073f32)}
.home-universe-shortcut small{display:block;font-size:10px;letter-spacing:.14em;color:#5c7363;margin-bottom:6px}
.home-universe-shortcut strong{font:800 22px/1 var(--display,'Barlow Condensed',sans-serif);text-transform:uppercase}
.home-offers-shortcut:focus-visible,.home-universe-shortcut:focus-visible{outline:3px solid var(--coral,#ef5a24);outline-offset:3px}
@media(max-width:700px){.home-shortcuts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.ns-pref-sports label>span{transition:none}}
