#lezaap-app,
#lezaap-app * { box-sizing: border-box; }

body.xs-modal-open { overflow: hidden; }

.xs-app {
    --xs-bg: #0c1011;
    --xs-panel: #121718;
    --xs-panel-2: #171d1e;
    --xs-panel-3: #1d2525;
    --xs-shadow: 0 18px 55px rgba(0,0,0,.22);
    --xs-line: rgba(255,255,255,.075);
    --xs-text: #f5f7f2;
    --xs-muted: #929b96;
    --xs-accent: #a6d62e;
    width: 100vw;
    max-width: none;
    min-height: 100vh;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    display: grid;
    grid-template-columns: 250px minmax(0, 720px) 330px;
    justify-content: center;
    background:
        radial-gradient(circle at 14% 0%, rgba(166,214,46,.08), transparent 26rem),
        linear-gradient(180deg, #0b0f10 0%, #090c0d 100%);
    color: var(--xs-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.45;
}

/* 2.13 : le mode vidéo conserve la navigation et la grille principale. */
#lezaap-app.xs-video-mode { grid-template-columns: 228px minmax(0,1fr) 310px; justify-content: stretch; min-height: 100vh; background: inherit; }
#lezaap-app.xs-video-mode .xs-sidebar-right { display: block !important; }
#lezaap-app.xs-video-mode .xs-feed-header { display: flex !important; }
#lezaap-app.xs-video-mode .xs-stories { display: flex !important; }
#lezaap-app.xs-video-mode .xs-composer-mini { display: block !important; }
#lezaap-app.xs-video-mode #xs-load-more { display: block !important; }
#lezaap-app.xs-video-mode .xs-main { height: auto; min-height: 100vh; overflow: visible; background: transparent; }
#lezaap-app.xs-video-mode #xs-feed { height: auto; min-height: 0; padding: 0 10px 24px; overflow: visible; background: transparent; }
#lezaap-app.xs-video-mode .xs-video-mode-tabs { position: sticky; top: 74px; left: auto; width: max-content; margin: 10px auto; transform: none; }
#lezaap-app.xs-video-mode .xs-video-deck { height: min(760px,calc(100vh - 150px)); min-height: 560px; border: 1px solid var(--xs-line); border-radius: 18px; overflow-y: auto; }
#lezaap-app.xs-video-mode .xs-video-slide { height: min(760px,calc(100vh - 150px)); min-height: 560px; border-radius: 17px !important; }
@media (max-width:1180px) and (min-width:921px) { #lezaap-app.xs-video-mode { grid-template-columns: 86px minmax(0,1fr) 300px; } }
@media (max-width:920px) and (min-width:761px) { #lezaap-app.xs-video-mode { grid-template-columns: minmax(0,1fr) 300px; } }
@media (max-width:760px) {
    #lezaap-app.xs-video-mode { display: block; min-height: 100dvh; }
    #lezaap-app.xs-video-mode .xs-sidebar-right { display: none !important; }
    #lezaap-app.xs-video-mode .xs-feed-header { display: flex !important; }
    #lezaap-app.xs-video-mode #xs-feed { padding: 0 7px 18px; }
    #lezaap-app.xs-video-mode .xs-video-mode-tabs { top: 60px; margin: 8px auto; }
    #lezaap-app.xs-video-mode .xs-video-deck,
    #lezaap-app.xs-video-mode .xs-video-slide { height: calc(100dvh - 145px); min-height: 510px; }
}

.xs-app button,
.xs-app input,
.xs-app select,
.xs-app textarea { font: inherit; }

.xs-app button { color: inherit; }
.xs-app a { color: inherit; text-decoration: none; }
.xs-app h2, .xs-app h3, .xs-app p { margin-top: 0; }
.xs-app [hidden] { display: none !important; }

.xs-sidebar {
    min-height: 100vh;
    padding: 18px 14px;
    background: rgba(11,15,16,.92);
    border-color: var(--xs-line);
    position: sticky;
    top: 0;
    align-self: start;
    height: 100vh;
    overflow-y: auto;
}

.xs-sidebar-left { border-right: 1px solid var(--xs-line); }
.xs-sidebar-right { border-left: 1px solid var(--xs-line); padding: 14px; }

.xs-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 8px 26px;
}

.xs-brand-egg {
    width: 42px;
    height: 54px;
    border-radius: 55% 55% 48% 48% / 65% 65% 38% 38%;
    display: grid;
    place-items: center;
    color: #eaffb7;
    background: linear-gradient(145deg, #d1ee42, #4c8e11);
    box-shadow: inset -8px -8px 18px rgba(0,0,0,.24), 0 0 24px rgba(166,214,46,.14);
    transform: rotate(-7deg);
}

.xs-brand strong { display: block; font-size: 25px; line-height: 1; letter-spacing: .5px; }
.xs-brand small { display: block; margin-top: 5px; color: var(--xs-accent); font-weight: 700; }

.xs-main-nav { display: grid; gap: 4px; }
.xs-nav-item {
    width: 100%;
    border: 0;
    border-radius: 9px;
    background: transparent;
    padding: 11px 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
    cursor: pointer;
    transition: background .18s ease, color .18s ease;
}
.xs-nav-item > span { width: 20px; font-size: 20px; text-align: center; }
.xs-nav-item:hover, .xs-nav-item.is-active { color: var(--xs-accent); background: rgba(166,214,46,.105); }
.xs-badge { margin-left: auto; min-width: 20px; height: 20px; padding: 0 5px; display: grid; place-items: center; border-radius: 12px; color: #0c1308; background: var(--xs-accent); font-size: 11px; }

.xs-primary, .xs-secondary {
    min-height: 40px;
    border-radius: 8px;
    padding: 9px 15px;
    border: 1px solid transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    font-weight: 750;
    transition: filter .18s ease, transform .18s ease, background .18s ease;
}
.xs-primary { color: #101508 !important; background: linear-gradient(135deg, var(--xs-accent), #77b314); box-shadow: 0 7px 24px rgba(130,183,23,.13); }
.xs-primary:hover { filter: brightness(1.08); transform: translateY(-1px); }
.xs-primary:disabled { opacity: .55; cursor: wait; transform: none; }
.xs-primary.is-joined, .xs-group-join.is-joined { color: var(--xs-text) !important; border-color: var(--xs-line); background: rgba(255,255,255,.06); box-shadow: none; }
.xs-secondary { color: var(--xs-text); background: transparent; border-color: var(--xs-line); }
.xs-secondary:hover { border-color: rgba(166,214,46,.45); background: rgba(166,214,46,.06); }
.xs-sidebar-left > .xs-primary { width: 100%; margin-top: 22px; }

.xs-mini-profile {
    position: absolute;
    left: 14px;
    right: 14px;
    bottom: 18px;
    min-height: 58px;
    padding: 9px;
    border: 1px solid var(--xs-line);
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--xs-panel);
}
.xs-mini-profile span { min-width: 0; }
.xs-mini-profile strong, .xs-mini-profile small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xs-mini-profile small { color: var(--xs-muted); font-size: 11px; }

.xs-avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; background: #252d2d; }

.xs-main { min-height: 100vh; border-right: 1px solid var(--xs-line); }
.xs-feed-header {
    height: 64px;
    padding: 0 16px;
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(12,16,17,.88);
    backdrop-filter: blur(17px);
    border-bottom: 1px solid var(--xs-line);
}
.xs-tabs { display: flex; height: 100%; gap: 24px; }
.xs-tab { position: relative; border: 0; background: transparent; color: var(--xs-muted); cursor: pointer; padding: 0 2px; }
.xs-tab.is-active { color: var(--xs-accent); font-weight: 800; }
.xs-tab.is-active::after { content: ""; position: absolute; height: 3px; left: 0; right: 0; bottom: 0; border-radius: 3px 3px 0 0; background: var(--xs-accent); }
#xs-server-filter { max-width: 170px; height: 36px; color: var(--xs-text); background: var(--xs-panel); border: 1px solid var(--xs-line); border-radius: 8px; padding: 0 30px 0 10px; }

.xs-stories {
    padding: 14px 16px;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    border-bottom: 1px solid var(--xs-line);
    scrollbar-width: none;
}
.xs-stories::-webkit-scrollbar { display: none; }
.xs-story { width: 62px; flex: 0 0 62px; border: 0; padding: 0; background: transparent; cursor: pointer; text-align: center; }
.xs-story small { display: block; margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.xs-story-ring, .xs-story-add { width: 52px; height: 52px; margin: auto; border-radius: 50%; display: grid; place-items: center; }
.xs-story-ring { padding: 2px; background: conic-gradient(var(--xs-accent), #e0a91a, var(--xs-accent)); }
.xs-story-ring img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 2px solid var(--xs-bg); }
.xs-story-add { border: 1px dashed rgba(166,214,46,.6); color: var(--xs-accent); font-size: 28px; background: rgba(166,214,46,.07); }

.xs-composer-mini {
    margin: 12px 12px 4px;
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--xs-panel);
    border: 1px solid var(--xs-line);
    border-radius: 12px;
}
.xs-composer-trigger { flex: 1; min-height: 42px; border: 1px solid var(--xs-line); border-radius: 24px; padding: 0 16px; text-align: left; color: var(--xs-muted) !important; background: rgba(255,255,255,.025); cursor: pointer; }

.xs-feed { padding: 8px 12px 28px; display: grid; gap: 9px; }
.xs-post-card {
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid var(--xs-line);
    background: linear-gradient(180deg, rgba(22,28,29,.98), rgba(16,21,22,.98));
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
}
.xs-post-head { min-height: 64px; padding: 12px 14px 8px; display: flex; align-items: center; gap: 10px; }
.xs-post-author { min-width: 0; flex: 1; }
.xs-post-author strong, .xs-post-author small { display: block; }
.xs-post-author strong { font-size: 14px; }
.xs-post-author small { color: var(--xs-muted); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.xs-verified { display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 50%; color: #10180a; background: var(--xs-accent); font-size: 11px; vertical-align: 1px; }
.xs-follow { border: 1px solid rgba(166,214,46,.42); border-radius: 20px; padding: 5px 10px; background: transparent; color: var(--xs-accent) !important; font-size: 11px; font-weight: 800; cursor: pointer; }
.xs-follow.is-following { border-color: var(--xs-line); color: var(--xs-muted) !important; }
.xs-kind { margin-left: 4px; border-radius: 5px; padding: 5px 8px; font-size: 9px; font-weight: 900; letter-spacing: .4px; background: #334; }
.xs-kind-post { color: #c9daff; background: #263f64; }
.xs-kind-video { color: #ffd4eb; background: #692b50; }
.xs-kind-build { color: #d8eaff; background: #254c72; }
.xs-kind-lfg { color: #d8ffe8; background: #245e40; }

.xs-post-content { padding: 1px 15px 10px; color: #e9ede7; font-size: 14px; }
.xs-post-content p:last-child { margin-bottom: 0; }
.xs-post-topics { display: flex; gap: 5px; padding: 0 15px 10px; }
.xs-topic { color: var(--xs-accent); font-size: 11px; }
.xs-post-media { display: block; width: calc(100% - 28px); max-height: 530px; margin: 0 14px 10px; border-radius: 10px; object-fit: cover; background: #080b0b; }

.xs-fantasy-placeholder {
    width: calc(100% - 28px);
    min-height: 255px;
    margin: 0 14px 10px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    isolation: isolate;
    background:
        radial-gradient(circle at 50% 53%, rgba(192,255,46,.45), transparent 8%),
        radial-gradient(circle at 50% 50%, rgba(112,168,24,.28), transparent 25%),
        linear-gradient(165deg, #29371d, #111b13 53%, #19251a);
}
.xs-fantasy-placeholder::before, .xs-fantasy-placeholder::after { content: ""; position: absolute; inset: auto; z-index: -1; opacity: .5; }
.xs-fantasy-placeholder::before { width: 80%; height: 65%; left: 10%; bottom: -30%; border-radius: 50% 50% 0 0; border: 18px solid rgba(121,150,69,.22); }
.xs-fantasy-placeholder::after { width: 180px; height: 180px; border: 1px solid rgba(210,255,122,.28); border-radius: 50%; box-shadow: 0 0 70px rgba(139,207,34,.22); }
.xs-fantasy-placeholder > span { font-size: 68px; line-height: 1; color: var(--xs-accent); filter: drop-shadow(0 0 15px rgba(166,214,46,.52)); }
.xs-fantasy-placeholder strong { margin-top: 10px; font-size: 18px; }
.xs-fantasy-placeholder small { margin-top: 4px; color: #b9c3b4; }
.xs-placeholder-build { background: radial-gradient(circle at 60% 40%, rgba(65,125,202,.32), transparent 25%), linear-gradient(150deg, #1b2c3a, #11191e 55%, #2f2615); }
.xs-placeholder-lfg { min-height: 180px; background: radial-gradient(circle at 50% 80%, rgba(53,182,109,.18), transparent 30%), linear-gradient(155deg, #1b382a, #111a16 50%, #182820); }
.xs-placeholder-video { min-height: 360px; background: radial-gradient(circle at 50% 40%, rgba(218,57,142,.2), transparent 25%), linear-gradient(150deg, #382238, #11151a 60%, #17241d); }

.xs-lfg-panel, .xs-build-panel { margin: 0 14px 12px; padding: 12px; border-radius: 9px; background: rgba(0,0,0,.2); border: 1px solid var(--xs-line); }
.xs-lfg-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin-bottom: 10px; }
.xs-lfg-grid span { padding: 8px; border-radius: 7px; background: rgba(255,255,255,.035); }
.xs-lfg-grid small, .xs-lfg-grid strong { display: block; }
.xs-lfg-grid small { color: var(--xs-muted); font-size: 9px; text-transform: uppercase; }
.xs-lfg-grid strong { margin-top: 3px; font-size: 12px; }
.xs-lfg-panel > .xs-primary { width: 100%; }
.xs-participants { display: block; margin-top: 7px; text-align: center; color: var(--xs-muted); }
.xs-build-panel { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.xs-build-panel strong, .xs-build-panel small { display: block; }
.xs-build-panel small { color: var(--xs-muted); margin-top: 3px; }

.xs-post-actions { height: 46px; padding: 0 15px; border-top: 1px solid var(--xs-line); display: flex; align-items: center; gap: 26px; }
.xs-post-actions button, .xs-post-actions a { min-width: 35px; border: 0; background: transparent; color: var(--xs-muted); cursor: pointer; display: inline-flex; align-items: center; gap: 5px; }
.xs-post-actions b { font-size: 11px; }
.xs-post-actions .xs-like.is-liked { color: #f15a78; }
.xs-bookmark { margin-left: auto; justify-content: flex-end; }

.xs-loading, .xs-empty { min-height: 190px; border: 1px dashed var(--xs-line); border-radius: 12px; display: grid; place-content: center; text-align: center; color: var(--xs-muted); }
.xs-empty strong { color: var(--xs-text); margin-bottom: 4px; }
#xs-load-more { margin: -14px auto 95px; display: flex; }

.xs-card { margin-bottom: 12px; padding: 13px; border: 1px solid var(--xs-line); border-radius: 12px; background: var(--xs-panel); }
.xs-profile-card { padding: 0; overflow: hidden; }
.xs-cover { height: 90px; background: radial-gradient(circle at 75% 30%, rgba(217,236,98,.36), transparent 24%), linear-gradient(145deg, #2f4922, #23382b 42%, #172628); }
.xs-profile-card-body { padding: 0 16px 15px; }
.xs-profile-avatar { width: 76px; height: 76px; margin-top: -38px; border: 4px solid var(--xs-panel); }
.xs-profile-card h2 { margin: 7px 0 2px; font-size: 21px; }
.xs-profile-card p { margin-bottom: 1px; font-size: 12px; }
.xs-online { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--xs-accent); }
.xs-muted { color: var(--xs-muted); }
.xs-profile-card dl { margin: 12px 0; border-top: 1px solid var(--xs-line); }
.xs-profile-card dl > div { padding: 8px 0; display: grid; grid-template-columns: 85px 1fr; gap: 8px; border-bottom: 1px solid var(--xs-line); font-size: 11px; }
.xs-profile-card dt { color: var(--xs-muted); }
.xs-profile-card dd { margin: 0; text-align: right; }
.xs-profile-card .xs-secondary { width: 100%; }

.xs-card-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 7px; }
.xs-card-title h3 { margin: 0; font-size: 13px; }
.xs-card-title button { border: 0; padding: 0; color: var(--xs-accent); background: transparent; font-size: 10px; cursor: pointer; }
.xs-widget-list { display: grid; }
.xs-widget-item { min-height: 53px; display: flex; align-items: center; gap: 9px; border-top: 1px solid var(--xs-line); }
.xs-widget-item:first-child { border-top: 0; }
.xs-widget-item > div { min-width: 0; flex: 1; }
.xs-widget-item strong, .xs-widget-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xs-widget-item strong { font-size: 11px; }
.xs-widget-item small { color: var(--xs-muted); font-size: 9px; }
.xs-widget-icon { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 8px; display: grid; place-items: center; color: var(--xs-accent); background: linear-gradient(145deg, #394829, #172019); }
.xs-group-join { min-width: 30px; min-height: 28px; padding: 3px 7px; border: 1px solid var(--xs-line); border-radius: 6px; color: var(--xs-accent) !important; background: transparent; cursor: pointer; font-size: 10px; }

.xs-section-intro { padding: 12px 5px 8px; }
.xs-section-intro h2 { margin-bottom: 3px; font-size: 24px; }
.xs-section-intro p { color: var(--xs-muted); }
.xs-grid-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.xs-community-card, .xs-discover-card { min-height: 235px; padding: 15px; border: 1px solid var(--xs-line); border-radius: 12px; background: var(--xs-panel); }
.xs-community-cover { height: 82px; margin: -15px -15px 14px; border-radius: 12px 12px 0 0; display: grid; place-items: center; color: var(--xs-accent); font-size: 39px; background: radial-gradient(circle, rgba(166,214,46,.19), transparent 35%), linear-gradient(145deg, #2c3f25, #142019); }
.xs-community-card h3, .xs-discover-card h3 { margin-bottom: 5px; }
.xs-community-card p, .xs-discover-card p { min-height: 43px; color: var(--xs-muted); font-size: 12px; }
.xs-community-card small, .xs-discover-card small { color: var(--xs-muted); }
.xs-community-card .xs-primary, .xs-discover-card .xs-primary { width: 100%; margin-top: 15px; }
.xs-discover-card { text-align: center; }
.xs-discover-card .xs-avatar { width: 78px; height: 78px; margin: 3px auto 12px; }
.xs-event-list { display: grid; gap: 9px; }
.xs-event-card { padding: 15px; border: 1px solid var(--xs-line); border-radius: 12px; display: flex; gap: 14px; align-items: center; background: var(--xs-panel); }
.xs-event-card > span { width: 54px; height: 54px; display: grid; place-items: center; flex: 0 0 54px; border-radius: 12px; color: var(--xs-accent); background: rgba(166,214,46,.09); font-size: 25px; }
.xs-event-card h3 { margin-bottom: 3px; font-size: 15px; }
.xs-event-card p { margin-bottom: 4px; color: var(--xs-muted); font-size: 11px; }
.xs-event-card strong { color: var(--xs-accent); font-size: 11px; }

.xs-modal { position: fixed; inset: 0; z-index: 999999; padding: 20px; display: none; align-items: center; justify-content: center; background: rgba(0,0,0,.72); backdrop-filter: blur(8px); }
.xs-modal.is-open { display: flex; }
.xs-modal-dialog { width: min(610px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; position: relative; padding: 23px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: #141a1b; box-shadow: 0 25px 70px rgba(0,0,0,.5); }
.xs-modal-dialog h2 { margin-bottom: 20px; }
.xs-modal-close { position: absolute; right: 14px; top: 11px; width: 35px; height: 35px; border: 0; border-radius: 50%; color: var(--xs-muted) !important; background: rgba(255,255,255,.05); cursor: pointer; font-size: 24px; }
.xs-modal form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }
.xs-modal label { display: grid; gap: 5px; color: #d7ddd4; font-size: 11px; font-weight: 700; }
.xs-modal .xs-full { grid-column: 1 / -1; }
.xs-modal input, .xs-modal select, .xs-modal textarea { width: 100%; color: var(--xs-text); background: #0e1314; border: 1px solid rgba(255,255,255,.11); border-radius: 8px; padding: 10px; outline: 0; }
.xs-modal input:focus, .xs-modal select:focus, .xs-modal textarea:focus { border-color: rgba(166,214,46,.6); box-shadow: 0 0 0 3px rgba(166,214,46,.08); }
.xs-modal textarea { resize: vertical; }
.xs-modal option { background: #101617; }
.xs-lfg-fields { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; padding: 12px; border: 1px solid var(--xs-line); border-radius: 9px; }
.xs-modal form > .xs-primary { grid-column: 1 / -1; }
.xs-form-status { grid-column: 1 / -1; min-height: 18px; margin: -3px 0 0; color: var(--xs-muted); font-size: 11px; }

.xs-toast { position: fixed; z-index: 1000000; left: 50%; bottom: 25px; transform: translate(-50%, 20px); padding: 11px 16px; border: 1px solid rgba(166,214,46,.32); border-radius: 9px; color: #eef6e3; background: #182016; opacity: 0; pointer-events: none; transition: .22s ease; box-shadow: 0 10px 35px rgba(0,0,0,.35); }
.xs-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.xs-mobile-nav { display: none; }
.xs-login-required { padding: 30px; border: 1px solid #ddd; border-radius: 10px; }

@media (max-width: 1180px) {
    .xs-app { grid-template-columns: 86px minmax(0, 720px) 310px; }
    .xs-sidebar-left { padding-left: 10px; padding-right: 10px; }
    .xs-brand { justify-content: center; padding-left: 0; padding-right: 0; }
    .xs-brand > span:last-child, .xs-nav-item:not(.is-active) { }
    .xs-brand strong, .xs-brand small, .xs-nav-item { font-size: 0; }
    .xs-nav-item { justify-content: center; padding: 12px 0; }
    .xs-nav-item > span { font-size: 21px; }
    .xs-badge { position: absolute; transform: translate(14px,-10px); font-size: 9px; }
    .xs-sidebar-left > .xs-primary { font-size: 0; width: 52px; height: 52px; margin: 22px auto 0; border-radius: 50%; }
    .xs-sidebar-left > .xs-primary::first-letter { font-size: 22px; }
    .xs-mini-profile { left: 15px; right: 15px; justify-content: center; padding: 7px; }
    .xs-mini-profile span { display: none; }
}

@media (max-width: 920px) {
    .xs-app { grid-template-columns: minmax(0, 720px) 300px; }
    .xs-sidebar-left { display: none; }
}

@media (max-width: 760px) {
    .xs-app { display: block; min-height: 100dvh; padding-bottom: 70px; }
    .xs-main { width: 100%; min-height: 100dvh; border-right: 0; }
    .xs-sidebar-right { display: none; }
    .xs-feed-header { height: 55px; padding: 0 12px; }
    .xs-tabs { gap: 18px; }
    #xs-server-filter { max-width: 135px; font-size: 11px; }
    .xs-stories { padding: 11px 12px; }
    .xs-composer-mini { margin: 9px 8px 2px; }
    .xs-feed { padding: 7px 7px 18px; }
    .xs-post-card { border-radius: 10px; }
    .xs-kind { display: none; }
    .xs-post-head { padding-left: 11px; padding-right: 11px; }
    .xs-follow { padding: 4px 8px; }
    .xs-post-content { padding-left: 12px; padding-right: 12px; }
    .xs-post-media, .xs-fantasy-placeholder { width: calc(100% - 20px); margin-left: 10px; margin-right: 10px; }
    .xs-fantasy-placeholder { min-height: 210px; }
    .xs-placeholder-video { min-height: 60vh; }
    .xs-lfg-grid { grid-template-columns: repeat(2, 1fr); }
    .xs-build-panel { align-items: stretch; flex-direction: column; }
    .xs-post-actions { justify-content: space-between; gap: 0; }
    .xs-grid-cards { grid-template-columns: 1fr; }
    .xs-mobile-nav { position: fixed; z-index: 99990; left: 0; right: 0; bottom: 0; height: 64px; padding-bottom: env(safe-area-inset-bottom); display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); border-top: 1px solid var(--xs-line); background: rgba(10,14,15,.96); backdrop-filter: blur(14px); }
    .xs-mobile-nav button { border: 0; background: transparent; display: grid; place-content: center; gap: 2px; color: var(--xs-muted); font-size: 19px; cursor: pointer; }
    .xs-mobile-nav button.is-active { color: var(--xs-accent); }
    .xs-mobile-nav small { font-size: 8px; }
    .xs-modal { padding: 0; align-items: flex-end; }
    .xs-modal-dialog { width: 100%; max-height: 92dvh; border-radius: 18px 18px 0 0; padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); }
    .xs-modal form, .xs-lfg-fields { grid-template-columns: 1fr; }
    .xs-modal label { grid-column: 1 / -1; }
    .xs-toast { bottom: 79px; width: calc(100% - 30px); text-align: center; }
}

/* === Le Zaap 2.11 : marque et compositeur premium === */
.xs-brand {
    gap: 14px;
    padding: 12px 8px 24px;
    align-items: center;
}
.xs-brand-mark {
    width: 62px;
    height: 62px;
    flex: 0 0 62px;
    object-fit: contain;
    filter: drop-shadow(0 9px 16px rgba(43, 215, 185, .24));
    transform: translateZ(0);
}
.xs-brand > span { min-width: 0; }
.xs-brand strong { font-size: 27px; letter-spacing: .2px; }
.xs-brand small { margin-top: 7px; font-size: 9px; letter-spacing: .075em; line-height: 1.25; text-transform: uppercase; }
.xs-brand:hover .xs-brand-mark { filter: drop-shadow(0 11px 20px rgba(43, 215, 185, .38)); }

.xs-publish-dialog {
    width: min(980px, 100%);
    border: 1px solid rgba(145, 221, 205, .18);
    border-radius: 24px;
    background: linear-gradient(145deg, #172122 0%, #101617 72%);
    box-shadow: 0 34px 100px rgba(0, 0, 0, .62), 0 0 0 1px rgba(255, 255, 255, .025);
}
.xs-publish-header {
    min-height: 104px;
    gap: 15px;
    padding: 22px 74px 20px 28px;
    background: radial-gradient(circle at 7% 20%, rgba(48, 221, 184, .17), transparent 24%), linear-gradient(100deg, rgba(255, 255, 255, .038), rgba(255, 255, 255, 0));
}
.xs-publish-header-mark {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border-radius: 17px;
    object-fit: contain;
    background: rgba(42, 206, 177, .08);
    box-shadow: inset 0 0 0 1px rgba(125, 220, 197, .2), 0 10px 24px rgba(0, 0, 0, .22);
}
.xs-publish-kicker { margin: 0 0 4px; color: #8edcc8; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.xs-publish-header h2 { font-size: 24px; letter-spacing: -.02em; }
.xs-publish-header p:last-child { margin-top: 5px; font-size: 12px; }
#xs-publish-form { grid-template-columns: minmax(0, 1fr) 270px; }
#xs-publish-form .xs-publish-editor { gap: 12px; padding: 24px 26px 25px; background: rgba(4, 8, 9, .1); }
#xs-publish-form .xs-publish-message { gap: 8px; }
.xs-publish-message > span { color: #eaf5ed; font-size: 12px; font-weight: 850; }
#xs-publish-form .xs-publish-message textarea { min-height: 174px; padding: 17px 18px; border: 1px solid rgba(170, 222, 207, .16); border-radius: 16px; background: rgba(4, 8, 9, .5); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025); font-size: 15px; line-height: 1.58; }
#xs-publish-form .xs-publish-message textarea::placeholder { color: rgba(195, 210, 204, .5); }
#xs-publish-form .xs-publish-message textarea:focus { border-color: rgba(78, 221, 189, .62); box-shadow: 0 0 0 4px rgba(78, 221, 189, .09); }
.xs-publish-hint { margin: -2px 2px 2px; color: rgba(194, 209, 202, .62); font-size: 11px; }
.xs-publish-media { display: grid; gap: 7px; min-height: 86px; padding: 14px 15px; border: 1px dashed rgba(108, 215, 191, .38); border-radius: 15px; background: linear-gradient(125deg, rgba(61, 204, 175, .08), rgba(255, 255, 255, .018)); }
.xs-publish-media input { margin-top: 0; padding: 7px; border: 0; background: transparent; }
.xs-publish-media small { color: rgba(194, 209, 202, .64); font-size: 11px; font-weight: 500; }
#xs-publish-form .xs-poll-toggle { width: fit-content; margin: 2px 0 0; padding: 8px 11px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 999px; background: rgba(255, 255, 255, .025); color: rgba(235, 244, 237, .82); }
#xs-publish-form .xs-poll-toggle input { accent-color: #8bd43d; }
#xs-publish-form .xs-poll-fields { gap: 11px; padding: 15px; border: 1px solid rgba(129, 219, 197, .18); border-radius: 15px; background: rgba(76, 180, 157, .05); }
#xs-publish-form .xs-lfg-fields { gap: 11px; padding: 15px; border: 1px solid rgba(129, 219, 197, .18); border-radius: 15px; background: rgba(76, 180, 157, .05); }
#xs-publish-form .xs-publish-settings { gap: 15px; padding: 24px 21px; border-left: 1px solid rgba(156, 220, 204, .13); background: rgba(4, 8, 9, .2); }
.xs-publish-settings-title { padding-bottom: 11px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
.xs-publish-settings-title span { font-size: 13px; letter-spacing: .01em; }
.xs-publish-settings-title small { color: rgba(194, 209, 202, .61); }
#xs-publish-form .xs-publish-settings > label:not(.xs-checkbox) { gap: 7px; color: rgba(194, 209, 202, .72); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
#xs-publish-form .xs-publish-settings select { min-height: 42px; border-color: rgba(170, 222, 207, .15); border-radius: 11px; background-color: rgba(10, 17, 17, .76); font-size: 13px; letter-spacing: 0; text-transform: none; }
#xs-publish-form .xs-publish-settings .xs-checkbox { align-items: flex-start; padding: 11px 10px; border: 1px solid rgba(255, 255, 255, .085); border-radius: 11px; background: rgba(255, 255, 255, .025); color: rgba(235, 244, 237, .8); font-size: 11px; line-height: 1.35; }
#xs-publish-form .xs-publish-settings .xs-checkbox input { margin-top: 1px; accent-color: #8bd43d; }
.xs-publish-footer { padding: 16px 26px 18px; border-top-color: rgba(156, 220, 204, .13); background: rgba(3, 7, 8, .28); }
.xs-publish-actions { gap: 8px; }
.xs-publish-actions .xs-primary, .xs-publish-actions .xs-secondary { min-height: 43px; border-radius: 11px; }
.xs-publish-actions .xs-secondary { color: rgba(234, 245, 237, .78); background: rgba(255, 255, 255, .045); }
.xs-publish-actions .xs-primary { color: #07120c; background: linear-gradient(135deg, #a9df4b, #78c85d); box-shadow: 0 8px 20px rgba(126, 210, 89, .18); }
.xs-publish-footer .xs-form-status { color: rgba(194, 209, 202, .68); font-size: 11px; }

@media (max-width: 1180px) {
    .xs-brand-mark { width: 54px; height: 54px; flex-basis: 54px; }
}
@media (max-width: 760px) {
    .xs-brand-mark { width: 48px; height: 48px; flex-basis: 48px; }
    .xs-publish-dialog { border-radius: 22px 22px 0 0; }
    .xs-publish-header { min-height: 91px; padding: 18px 58px 16px 18px; }
    .xs-publish-header-mark { width: 48px; height: 48px; flex-basis: 48px; }
    .xs-publish-header h2 { font-size: 20px; }
    #xs-publish-form .xs-publish-editor { padding: 18px 16px 19px; }
    #xs-publish-form .xs-publish-settings { gap: 10px; padding: 15px 16px; }
    .xs-publish-footer { padding: 14px 16px 16px; }
}

/* 2.13 : le mode vidéo conserve la navigation et la grille principale. */
#lezaap-app.xs-video-mode { grid-template-columns: 228px minmax(0,1fr) 310px; justify-content: stretch; min-height: 100vh; background: inherit; }
#lezaap-app.xs-video-mode .xs-sidebar-right { display: block !important; }
#lezaap-app.xs-video-mode .xs-feed-header { display: flex !important; }
#lezaap-app.xs-video-mode .xs-stories { display: flex !important; }
#lezaap-app.xs-video-mode .xs-composer-mini { display: block !important; }
#lezaap-app.xs-video-mode #xs-load-more { display: block !important; }
#lezaap-app.xs-video-mode .xs-main { height: auto; min-height: 100vh; overflow: visible; background: transparent; }
#lezaap-app.xs-video-mode #xs-feed { height: auto; min-height: 0; padding: 0 10px 24px; overflow: visible; background: transparent; }
#lezaap-app.xs-video-mode .xs-video-mode-tabs { position: sticky; top: 74px; left: auto; width: max-content; margin: 10px auto; transform: none; }
#lezaap-app.xs-video-mode .xs-video-deck { height: min(760px,calc(100vh - 150px)); min-height: 560px; border: 1px solid var(--xs-line); border-radius: 18px; overflow-y: auto; }
#lezaap-app.xs-video-mode .xs-video-slide { height: min(760px,calc(100vh - 150px)); min-height: 560px; border-radius: 17px !important; }
@media (max-width:1180px) and (min-width:921px) { #lezaap-app.xs-video-mode { grid-template-columns: 86px minmax(0,1fr) 300px; } }
@media (max-width:920px) and (min-width:761px) { #lezaap-app.xs-video-mode { grid-template-columns: minmax(0,1fr) 300px; } }
@media (max-width:760px) {
    #lezaap-app.xs-video-mode { display: block; min-height: 100dvh; }
    #lezaap-app.xs-video-mode .xs-sidebar-right { display: none !important; }
    #lezaap-app.xs-video-mode .xs-feed-header { display: flex !important; }
    #lezaap-app.xs-video-mode #xs-feed { padding: 0 7px 18px; }
    #lezaap-app.xs-video-mode .xs-video-mode-tabs { top: 60px; margin: 8px auto; }
    #lezaap-app.xs-video-mode .xs-video-deck,
    #lezaap-app.xs-video-mode .xs-video-slide { height: calc(100dvh - 145px); min-height: 510px; }
}

/* === Le Zaap 2.12 : cascade finale fond et personnages === */
html:has(#lezaap-app), body:has(#lezaap-app) { background: #090c0d !important; color-scheme: dark; }
.xs-character-editor { overflow: hidden; padding: 18px 18px 8px; border-color: rgba(166,214,46,.17); background: linear-gradient(145deg,rgba(26,35,35,.96),rgba(15,21,22,.99)); }
.xs-character-editor > .xs-card-title { margin-bottom: 2px; }
.xs-character-editor > .xs-muted { max-width: 680px; margin-bottom: 10px; }
.xs-character-row { grid-template-columns: 64px repeat(3,minmax(0,1fr)); gap: 11px 12px; align-items: end; padding: 17px 0 13px; border-top: 1px solid rgba(255,255,255,.08); }
.xs-character-row:first-child { border-top: 0; }
.xs-character-row-portrait { grid-row: span 2; align-self: stretch; align-content: center; min-width: 0; padding: 7px 0; border-radius: 14px; background: rgba(166,214,46,.055); }
.xs-character-row-portrait span { max-width: 58px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xs-character-row > label { min-width: 0; }
.xs-character-row > label > input,.xs-character-row > label > select { min-width: 0; width: 100%; }
.xs-character-row-actions { grid-column: 1 / -1; min-height: 34px; margin-top: 1px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.06); }
.xs-character-row-actions .xs-checkbox { font-size: 12px; }
.xs-character-row-actions .xs-danger-link { width: auto; }
@media (max-width:1180px) and (min-width:761px) { .xs-character-row { grid-template-columns: 54px repeat(3,minmax(0,1fr)); gap: 10px; } .xs-character-row-portrait { grid-row: span 2; } }
@media (max-width:760px) { .xs-character-editor { padding: 16px 14px 8px; } .xs-character-row { grid-template-columns: 48px minmax(0,1fr); gap: 10px; padding: 15px 0 12px; } .xs-character-row-portrait { grid-row: span 3; } .xs-character-row-actions { grid-column: 1 / -1; } }

/* === Le Zaap 0.2 : interactions, messages, marché et artisans === */
.xs-post-user-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.xs-icon-button{width:34px;height:34px;border:1px solid var(--xs-border);border-radius:10px;background:var(--xs-panel-2);color:var(--xs-text);cursor:pointer}.xs-icon-button:hover{border-color:var(--xs-accent);color:var(--xs-accent)}.xs-post-head>.xs-kind{margin-left:0}.xs-card-actions{display:flex;gap:9px;align-items:center;margin-top:14px}.xs-card-actions>*{flex:1;text-align:center}
.xs-comments-panel{border-top:1px solid var(--xs-border);padding:14px 17px 17px;background:rgba(0,0,0,.12)}.xs-comment-list{display:grid;gap:12px}.xs-comment-item{display:flex;gap:10px}.xs-comment-item .xs-avatar{width:34px;height:34px;flex:0 0 34px}.xs-comment-item>div{min-width:0;flex:1}.xs-comment-item strong{display:block;font-size:13px}.xs-comment-item small{display:block;color:var(--xs-muted);font-size:11px;margin:2px 0 5px}.xs-comment-item p{margin:0;font-size:13px;line-height:1.45}.xs-comment-form,.xs-message-form{display:flex;gap:9px;align-items:flex-end;margin-top:14px}.xs-comment-form textarea,.xs-message-form textarea{min-height:44px;resize:vertical}.xs-comment-form button,.xs-message-form button{width:auto;flex:0 0 auto}
.xs-section-actions{display:flex;justify-content:space-between;align-items:center;gap:18px}.xs-section-actions>button{width:auto;white-space:nowrap}.xs-notification-list{display:grid;gap:9px}.xs-notification-item{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--xs-border);border-radius:14px;background:var(--xs-panel);color:var(--xs-text);text-decoration:none}.xs-notification-item:hover{border-color:rgba(166,214,46,.45)}.xs-notification-item.is-unread{border-left:3px solid var(--xs-accent);background:rgba(166,214,46,.07)}.xs-notification-item .xs-avatar{width:42px;height:42px;flex:0 0 42px}.xs-notification-item>div{min-width:0}.xs-notification-item strong{font-size:14px}.xs-notification-item span{font-size:13px}.xs-notification-item small{display:block;color:var(--xs-muted);margin-top:4px}.xs-notification-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(166,214,46,.12);color:var(--xs-accent)}
.xs-messages-layout{display:grid;grid-template-columns:minmax(210px,34%) minmax(0,1fr);min-height:570px;border:1px solid var(--xs-border);border-radius:16px;overflow:hidden;background:var(--xs-panel)}.xs-conversations{border-right:1px solid var(--xs-border);overflow:auto;max-height:650px}.xs-conversation{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:13px;border:0;border-bottom:1px solid var(--xs-border);background:transparent;color:var(--xs-text);cursor:pointer}.xs-conversation:hover,.xs-conversation.is-active{background:rgba(166,214,46,.08)}.xs-conversation .xs-avatar{width:42px;height:42px}.xs-conversation div{min-width:0}.xs-conversation strong,.xs-conversation span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xs-conversation span{font-size:12px;color:var(--xs-muted);margin-top:3px}.xs-conversation>b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:11px;background:var(--xs-accent);color:#111;font-size:11px}.xs-message-thread{display:flex;flex-direction:column;min-width:0;min-height:570px}.xs-thread-header{display:flex;gap:11px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--xs-border)}.xs-thread-header .xs-avatar{width:42px;height:42px}.xs-thread-header strong,.xs-thread-header small{display:block}.xs-thread-header small{color:var(--xs-muted);margin-top:2px}.xs-thread-messages{flex:1;display:flex;flex-direction:column;gap:9px;padding:16px;overflow:auto;max-height:500px}.xs-message-bubble{align-self:flex-start;max-width:min(78%,560px);padding:10px 12px;border-radius:14px 14px 14px 4px;background:var(--xs-panel-2);border:1px solid var(--xs-border)}.xs-message-bubble.is-mine{align-self:flex-end;border-radius:14px 14px 4px 14px;background:rgba(166,214,46,.14);border-color:rgba(166,214,46,.25)}.xs-message-bubble p{margin:0;white-space:pre-wrap;word-break:break-word;font-size:14px}.xs-message-bubble small{display:block;margin-top:5px;color:var(--xs-muted);font-size:10px;text-align:right}.xs-message-form{padding:12px 14px;margin:0;border-top:1px solid var(--xs-border)}
.xs-filter-bar{display:flex;gap:9px;margin-bottom:14px}.xs-filter-bar select{flex:1}.xs-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.xs-market-card{overflow:hidden;border:1px solid var(--xs-border);border-radius:16px;background:var(--xs-panel)}.xs-market-image{position:relative;height:170px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(166,214,46,.12),rgba(92,71,161,.16));overflow:hidden}.xs-market-image img{width:100%;height:100%;object-fit:cover}.xs-market-image>span{font-size:48px;color:var(--xs-accent)}.xs-market-image>b{position:absolute;left:10px;top:10px;padding:5px 8px;border-radius:7px;background:rgba(7,10,10,.82);font-size:10px;text-transform:uppercase}.xs-market-body{padding:14px}.xs-market-body>small{color:var(--xs-muted);font-size:11px}.xs-market-body h3{margin:5px 0 7px;font-size:17px}.xs-market-body p{margin:0 0 10px;color:var(--xs-muted);font-size:13px;line-height:1.45}.xs-price{display:block;color:var(--xs-accent);font-size:18px}.xs-market-author{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--xs-border);font-size:12px}.xs-market-author .xs-avatar{width:29px;height:29px}.xs-market-card .xs-card-actions a{text-decoration:none}
.xs-artisan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.xs-artisan-card{padding:16px;border:1px solid var(--xs-border);border-radius:16px;background:var(--xs-panel)}.xs-artisan-card header{display:flex;gap:11px;align-items:center}.xs-artisan-card header .xs-avatar{width:50px;height:50px}.xs-artisan-card h3{margin:0;font-size:17px}.xs-artisan-card header small{color:var(--xs-muted)}.xs-professions{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.xs-professions span{padding:8px 10px;border:1px solid rgba(166,214,46,.24);border-radius:10px;background:rgba(166,214,46,.07)}.xs-professions b,.xs-professions small{display:block}.xs-professions b{font-size:12px}.xs-professions small{color:var(--xs-muted);font-size:10px;margin-top:2px}.xs-artisan-card>p{color:var(--xs-muted);font-size:13px;min-height:38px}.xs-artisan-card dl{display:grid;gap:7px;margin:12px 0}.xs-artisan-card dl div{display:flex;justify-content:space-between;gap:10px;font-size:12px}.xs-artisan-card dt{color:var(--xs-muted)}.xs-artisan-card dd{margin:0;text-align:right}.xs-checkbox{display:flex!important;align-items:center;gap:9px}.xs-checkbox input{width:auto!important}.xs-modal-dialog label small{display:block;color:var(--xs-muted);font-size:11px;margin-top:5px}
@media(max-width:900px){.xs-market-grid,.xs-artisan-grid{grid-template-columns:1fr}.xs-section-actions{align-items:flex-start;flex-direction:column}.xs-section-actions>button{width:100%}.xs-filter-bar{display:grid;grid-template-columns:1fr}.xs-messages-layout{grid-template-columns:1fr;min-height:0}.xs-conversations{border-right:0;border-bottom:1px solid var(--xs-border);max-height:240px}.xs-message-thread{min-height:480px}.xs-thread-messages{max-height:420px}}
@media(max-width:600px){.xs-post-user-actions{gap:4px}.xs-post-user-actions .xs-follow{display:none}.xs-market-image{height:145px}.xs-comment-form,.xs-message-form{align-items:stretch;flex-direction:column}.xs-comment-form button,.xs-message-form button{width:100%}.xs-message-bubble{max-width:90%}}

/* === Le Zaap 0.3 : confidentialité, consentement et droits RGPD === */
.xs-privacy-dialog{width:min(760px,100%)}
.xs-privacy-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--xs-border);border-radius:12px;background:rgba(255,255,255,.02)}
.xs-privacy-fields legend{padding:0 7px;color:var(--xs-text);font-size:12px;font-weight:800}
.xs-consent-box{padding:14px;border:1px solid rgba(166,214,46,.25);border-radius:12px;background:rgba(166,214,46,.06)}
.xs-consent-box>strong{display:block;margin-bottom:6px}.xs-consent-box p{margin:4px 0;color:var(--xs-muted);font-size:12px;line-height:1.45}.xs-consent-box .xs-policy-links a{color:var(--xs-accent)}.xs-consent-state{display:block;margin-top:8px;color:var(--xs-muted)}
.xs-privacy-tools{margin-top:22px;padding-top:18px;border-top:1px solid var(--xs-border)}.xs-privacy-tools h3{margin:0 0 6px}.xs-privacy-tools>p{font-size:12px}.xs-privacy-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.xs-privacy-overview .xs-card{min-height:145px}.xs-privacy-overview h3{margin:0 0 8px;font-size:15px}.xs-privacy-overview p{margin:0;color:var(--xs-muted);font-size:13px;line-height:1.55}
.xs-danger-zone{margin-top:18px;padding:15px;border:1px solid rgba(232,84,84,.35);border-radius:12px;background:rgba(232,84,84,.07)}.xs-danger-zone>strong{display:block;color:#ffb8b8}.xs-danger-zone p{margin:6px 0 12px;color:var(--xs-muted);font-size:12px;line-height:1.5}.xs-danger-zone label{max-width:310px}.xs-danger{margin-top:10px;padding:10px 14px;border:1px solid rgba(255,110,110,.5);border-radius:9px;background:rgba(170,30,30,.3);color:#ffe6e6!important;cursor:pointer;font-weight:800}.xs-danger:hover{background:rgba(190,35,35,.5)}.xs-danger:disabled{opacity:.5;cursor:wait}
@media(max-width:760px){.xs-privacy-fields,.xs-privacy-overview{grid-template-columns:1fr}.xs-privacy-tools .xs-card-actions{flex-direction:column}.xs-privacy-tools .xs-card-actions>*{width:100%}}

/* Profils publics — v0.5.0 */
.xs-mini-profile { border: 0; color: inherit; cursor: pointer; text-align: left; }
.xs-avatar-button,
.xs-author-button,
.xs-link-title,
.xs-connection-name { border: 0; padding: 0; margin: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; }
.xs-avatar-button { display: inline-flex; flex: 0 0 auto; border-radius: 50%; }
.xs-author-button { display: block; min-width: 0; }
.xs-link-title h3 { margin: 0; }
.xs-public-profile { overflow: hidden; border: 1px solid var(--xs-line); border-radius: 18px; background: var(--xs-panel); box-shadow: var(--xs-shadow); }
.xs-public-profile-cover { min-height: 210px; background: radial-gradient(circle at 20% 20%, rgba(166,214,46,.34), transparent 35%), linear-gradient(135deg, #223220, #101a17 55%, #252415); background-position: center; background-size: cover; }
.xs-public-profile-header { position: relative; display: grid; grid-template-columns: 132px minmax(0,1fr) auto; gap: 20px; align-items: end; padding: 0 28px 22px; margin-top: -54px; }
.xs-public-profile-avatar { width: 132px; height: 132px; object-fit: cover; border-radius: 50%; border: 5px solid var(--xs-panel); background: var(--xs-panel-2); }
.xs-public-profile-identity { padding-bottom: 7px; }
.xs-public-profile-identity h1 { margin: 0 0 5px; font-size: clamp(24px, 4vw, 34px); line-height: 1.05; }
.xs-public-profile-identity p { margin: 0; color: var(--xs-muted); }
.xs-profile-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding-bottom: 7px; }
.xs-public-profile-body { padding: 0 28px 30px; }
.xs-profile-bio { max-width: 760px; margin: 0 0 16px; font-size: 15px; line-height: 1.65; white-space: pre-line; }
.xs-profile-details { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 0 0 22px; }
.xs-profile-details > div { display: flex; gap: 7px; font-size: 12px; }
.xs-profile-details dt { color: var(--xs-muted); }
.xs-profile-details dd { margin: 0; font-weight: 700; }
.xs-public-profile-stats { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); margin: 0 0 28px; border: 1px solid var(--xs-line); border-radius: 14px; overflow: hidden; }
.xs-public-profile-stats button { display: flex; flex-direction: column; align-items: center; gap: 3px; min-height: 76px; padding: 12px 6px; border: 0; border-right: 1px solid var(--xs-line); background: var(--xs-panel-2); color: inherit; cursor: pointer; }
.xs-public-profile-stats button:last-child { border-right: 0; }
.xs-public-profile-stats button:hover { background: var(--xs-panel-3); }
.xs-public-profile-stats strong { font-size: 20px; }
.xs-public-profile-stats span { color: var(--xs-muted); font-size: 11px; }
.xs-profile-block { margin: 0 0 28px; }
.xs-character-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 12px; }
.xs-character-card { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 12px; align-items: center; min-height: 82px; padding: 14px; border: 1px solid var(--xs-line); border-radius: 14px; background: var(--xs-panel-2); }
.xs-character-card.is-main { border-color: color-mix(in srgb, var(--xs-accent) 60%, var(--xs-line)); }
.xs-character-class { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: rgba(166,214,46,.12); color: var(--xs-accent); font-weight: 900; }
.xs-character-card h3, .xs-character-card p { margin: 0; }
.xs-character-card p, .xs-character-card small { color: var(--xs-muted); }
.xs-character-card > b { position: absolute; top: 8px; right: 9px; padding: 3px 7px; border-radius: 20px; background: var(--xs-accent); color: #111; font-size: 9px; text-transform: uppercase; }
.xs-profile-tabs { display: flex; gap: 4px; overflow-x: auto; margin: 0 -28px 18px; padding: 0 28px; border-bottom: 1px solid var(--xs-line); }
.xs-profile-tabs button { flex: 0 0 auto; padding: 13px 15px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--xs-muted); cursor: pointer; }
.xs-profile-tabs button.is-active { color: var(--xs-text); border-bottom-color: var(--xs-accent); }
#xs-profile-content .xs-post-card { margin-bottom: 14px; }
.xs-private-profile { margin: 0 28px 30px; padding: 28px; text-align: center; border: 1px dashed var(--xs-line); border-radius: 14px; background: var(--xs-panel-2); }
.xs-character-editor { padding: 14px; border: 1px solid var(--xs-line); border-radius: 12px; background: var(--xs-panel-2); }
.xs-character-editor .xs-card-title { margin-bottom: 6px; }
.xs-character-row { display: grid; grid-template-columns: 1.1fr .85fr 1fr 1fr .55fr 1fr auto auto; gap: 8px; align-items: end; padding: 12px 0; border-top: 1px solid var(--xs-line); }
.xs-character-row label { min-width: 0; }
.xs-character-row input, .xs-character-row select { width: 100%; }
.xs-danger-link { align-self: end; min-height: 42px; border: 0; background: transparent; color: #e96b6b; cursor: pointer; }
.xs-connections-list { display: grid; gap: 8px; max-height: 65vh; overflow-y: auto; }
.xs-connection-card { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 10px; border: 1px solid var(--xs-line); border-radius: 12px; }
.xs-connection-name strong, .xs-connection-name small { display: block; }
.xs-connection-name small { color: var(--xs-muted); }
.xs-profile-more { display: block; margin: 18px auto 0; }

@media (max-width: 820px) {
    .xs-public-profile-cover { min-height: 150px; }
    .xs-public-profile-header { grid-template-columns: 92px 1fr; gap: 12px; margin-top: -42px; padding: 0 16px 16px; }
    .xs-public-profile-avatar { width: 92px; height: 92px; }
    .xs-profile-actions { grid-column: 1 / -1; justify-content: flex-start; padding: 0; }
    .xs-public-profile-body { padding: 0 16px 24px; }
    .xs-public-profile-stats { grid-template-columns: repeat(3, minmax(0,1fr)); }
    .xs-public-profile-stats button { border-bottom: 1px solid var(--xs-line); }
    .xs-profile-tabs { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
    .xs-character-row { grid-template-columns: 1fr 1fr; }
    .xs-character-row .xs-danger-link { grid-column: 1 / -1; justify-self: start; }
}

/* Commentaires complets — v0.6.0 */
.xs-comments-panel {
    border-top: 1px solid var(--xs-line);
    padding: 14px 17px 17px;
    background: rgba(0,0,0,.12);
}
.xs-comments-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 13px;
    font-size: 13px;
}
.xs-comment-list { display: grid; gap: 14px; }
.xs-comment-item { min-width: 0; }
.xs-comment-row { display: flex; align-items: flex-start; gap: 10px; }
.xs-comment-row > .xs-avatar { width: 34px; height: 34px; flex: 0 0 34px; }
.xs-comment-main { min-width: 0; flex: 1; }
.xs-comment-main > header { display: flex; align-items: baseline; flex-wrap: wrap; gap: 7px; }
.xs-comment-main > header small { color: var(--xs-muted); font-size: 11px; }
.xs-comment-author {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--xs-text) !important;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}
.xs-comment-author:hover { color: var(--xs-accent) !important; }
.xs-comment-content { margin-top: 4px; font-size: 13px; overflow-wrap: anywhere; }
.xs-comment-content p { margin: 0 0 5px; }
.xs-comment-content p:last-child { margin-bottom: 0; }
.xs-comment-edited { color: var(--xs-muted); font-size: 10px; }
.xs-comment-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 7px;
}
.xs-comment-actions button {
    border: 0;
    padding: 0;
    background: transparent;
    color: var(--xs-muted);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}
.xs-comment-actions button:hover { color: var(--xs-accent); }
.xs-comment-like { display: inline-flex; align-items: center; gap: 4px; }
.xs-comment-like.is-liked { color: #f15a78 !important; }
.xs-comment-like b { font-size: 10px; }
.xs-comment-report:hover, .xs-comment-delete:hover { color: #ff7b7b !important; }
.xs-comment-reported { color: var(--xs-muted); font-size: 10px; font-weight: 700; }
.xs-comment-replies {
    display: grid;
    gap: 12px;
    margin: 12px 0 0 42px;
    padding-left: 13px;
    border-left: 1px solid rgba(166,214,46,.22);
}
.xs-comment-item.is-deleted > .xs-comment-row { opacity: .65; }
.xs-comment-item.is-deleted .xs-comment-content { font-style: italic; color: var(--xs-muted); }
.xs-comment-inline-form { margin-top: 9px; }
.xs-comment-form,
.xs-comment-edit-form,
.xs-comment-report-form {
    display: grid;
    gap: 9px;
    margin-top: 14px;
}
.xs-comment-form textarea,
.xs-comment-edit-form textarea,
.xs-comment-report-form textarea,
.xs-comment-report-form select {
    width: 100%;
    color: var(--xs-text);
    background: var(--xs-panel-2);
    border: 1px solid var(--xs-line);
    border-radius: 8px;
    padding: 10px 11px;
    resize: vertical;
}
.xs-comment-form textarea:focus,
.xs-comment-edit-form textarea:focus,
.xs-comment-report-form textarea:focus,
.xs-comment-report-form select:focus { outline: 1px solid rgba(166,214,46,.7); border-color: rgba(166,214,46,.55); }
.xs-comment-report-form label { display: grid; gap: 5px; color: var(--xs-muted); font-size: 11px; font-weight: 700; }
.xs-comment-form-actions { display: flex; justify-content: flex-end; gap: 8px; }
.xs-comment-form-actions .xs-primary,
.xs-comment-form-actions .xs-secondary { min-height: 34px; padding: 7px 12px; font-size: 12px; }
.xs-comments-more { display: flex; justify-content: center; margin-top: 13px; }
.xs-comments-load-more { min-height: 34px; font-size: 12px; }
.xs-comments-login { margin: 13px 0 0; text-align: center; }

@media (max-width: 620px) {
    .xs-comments-panel { padding: 13px 12px 15px; }
    .xs-comment-replies { margin-left: 22px; padding-left: 9px; }
    .xs-comment-actions { gap: 9px; }
    .xs-comment-form-actions { flex-wrap: wrap; }
}
.xs-comment-item.is-highlighted > .xs-comment-row {
    border-radius: 9px;
    background: rgba(166,214,46,.09);
    box-shadow: 0 0 0 8px rgba(166,214,46,.09);
}

/* Gestion des publications — v0.7.0 */
.xs-post-card.is-draft {
    border-style: dashed;
    opacity: .96;
}
.xs-post-card.is-pinned {
    box-shadow: inset 3px 0 0 var(--xs-accent), 0 12px 35px rgba(0,0,0,.16);
}
.xs-post-states {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 0 20px 8px;
}
.xs-post-state {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 3px 9px;
    border: 1px solid rgba(148,163,184,.25);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
    color: #b9c2ce;
    background: rgba(15,23,42,.45);
}
.xs-post-state.is-pinned { color: var(--xs-accent); }
.xs-post-state.is-draft { color: #f6c453; }
.xs-post-manage {
    position: absolute;
    top: 54px;
    right: 18px;
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.xs-post-manage button {
    border: 0;
    background: transparent;
    color: #929cab;
    font-size: 11px;
    padding: 3px 5px;
    cursor: pointer;
}
.xs-post-manage button:hover,
.xs-post-manage button.is-active { color: var(--xs-accent); }
.xs-post-manage .xs-post-delete:hover { color: #ef6b72; }
.xs-bookmark {
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font-size: 20px;
}
.xs-bookmark.is-bookmarked { color: var(--xs-accent); }
.xs-comments-closed {
    margin: 10px 20px 14px;
    color: #8e98a7;
    font-size: 12px;
}
.xs-publish-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}
.xs-remove-media {
    color: #f2b8bc;
}
.xs-post-actions button:disabled {
    opacity: .45;
    cursor: not-allowed;
}
@media (max-width: 760px) {
    .xs-post-manage {
        position: static;
        width: 100%;
        justify-content: flex-start;
        padding-left: 52px;
        margin-top: 4px;
    }
    .xs-post-states { padding-left: 16px; padding-right: 16px; }
    .xs-publish-actions > button { flex: 1 1 170px; }
}
.xs-post-head { position: relative; flex-wrap: wrap; }

/* Centre de notifications v0.8.0 */
.xs-notification-center{display:grid;gap:16px}.xs-notification-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.xs-notification-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--xs-border);border-radius:14px;background:var(--xs-panel)}.xs-notification-status-tabs,.xs-notification-filters,.xs-notification-bulk-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.xs-notification-status-tabs button,.xs-notification-filters button{border:1px solid var(--xs-border);background:var(--xs-panel-2);color:var(--xs-muted);border-radius:999px;padding:7px 11px;cursor:pointer;font-size:12px}.xs-notification-status-tabs button.is-active,.xs-notification-filters button.is-active{border-color:rgba(166,214,46,.55);background:rgba(166,214,46,.12);color:var(--xs-text)}.xs-notification-filters button b{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 4px;border-radius:999px;background:rgba(255,255,255,.08);font-size:10px}.xs-text-button{border:0;background:transparent;color:var(--xs-muted);cursor:pointer;padding:5px 3px;font-size:12px}.xs-text-button:hover{color:var(--xs-accent)}.xs-notification-item{padding:0;align-items:stretch;overflow:hidden}.xs-notification-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1;padding:14px 12px 14px 16px;color:inherit;text-decoration:none}.xs-notification-copy{display:block;min-width:0}.xs-notification-copy>strong,.xs-notification-copy>span{display:inline}.xs-notification-copy>small{display:block}.xs-notification-kicker{display:block!important;margin:0 0 3px;color:var(--xs-accent)!important;font-size:10px!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.xs-notification-group-count{margin-top:5px!important;color:#b6c095!important}.xs-notification-actions{display:flex!important;align-items:center;gap:5px;padding:10px;border-left:1px solid var(--xs-border);background:rgba(255,255,255,.015)}.xs-notification-avatars{display:flex!important;align-items:center;width:54px;min-width:54px}.xs-notification-avatars img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--xs-panel);margin-left:-14px}.xs-notification-avatars img:first-child{margin-left:0}.xs-notification-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px}.xs-notification-pagination .xs-secondary{width:auto}.xs-notification-settings-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.xs-notification-master{grid-column:1/-1;padding:12px;border:1px solid var(--xs-border);border-radius:12px;background:var(--xs-panel-2)}.xs-notification-preference-types{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border:1px solid var(--xs-border,var(--xs-line));border-radius:12px}.xs-notification-paused{grid-column:1/-1;margin:0 0 4px;padding:9px 10px;border-radius:10px;background:rgba(166,214,46,.1);color:var(--xs-text)}
@media (max-width:760px){.xs-section-actions{align-items:flex-start;flex-direction:column}.xs-notification-header-actions{width:100%}.xs-notification-header-actions>*{flex:1}.xs-notification-toolbar{align-items:flex-start}.xs-notification-bulk-actions{width:100%;justify-content:space-between}.xs-notification-main{padding-left:12px}.xs-notification-avatars{width:44px;min-width:44px}.xs-notification-avatars img{width:34px;height:34px}.xs-notification-actions{flex-direction:column;justify-content:center}.xs-notification-settings-dialog form,.xs-notification-preference-types{grid-template-columns:1fr}.xs-notification-pagination{justify-content:space-between}.xs-notification-pagination span{font-size:12px}}

/* Sécurité et modération v0.9.0 */
.xs-moderation-notice{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:11px 16px;border-bottom:1px solid rgba(239,107,114,.35);background:rgba(122,31,39,.34);color:#ffe3e5;font-size:13px}.xs-moderation-notice strong{text-transform:uppercase;letter-spacing:.05em}.xs-account-restricted .xs-publish-open:disabled,.xs-account-restricted .xs-market-open:disabled,.xs-account-restricted .xs-artisan-open:disabled{opacity:.45;cursor:not-allowed}.xs-post-safety{display:flex;justify-content:flex-end;gap:12px;padding:0 20px 12px}.xs-post-safety .xs-block-user:hover,.xs-market-card .xs-block-user:hover{color:#ef6b72}.xs-report-dialog form{display:grid;grid-template-columns:1fr;gap:14px}.xs-report-dialog textarea{min-height:110px}.xs-message-report{display:block;margin:4px 0 0 auto;border:0;background:transparent;color:inherit;opacity:.58;font-size:10px;cursor:pointer}.xs-message-report:hover{opacity:1;text-decoration:underline}.xs-blocked-section{margin-top:22px;padding:18px;border:1px solid var(--xs-border);border-radius:16px;background:var(--xs-panel)}.xs-blocked-list{display:grid;gap:9px}.xs-blocked-user{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--xs-border);border-radius:12px;background:var(--xs-panel-2)}.xs-blocked-user>button[data-profile]{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;border:0;background:transparent;color:var(--xs-text);cursor:pointer}.xs-blocked-user>button[data-profile] strong,.xs-blocked-user>button[data-profile] small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xs-blocked-user .xs-secondary{width:auto}.xs-profile-actions .xs-danger{width:auto;margin:0}.xs-market-card .xs-card-actions{flex-wrap:wrap}.xs-market-card .xs-text-button{padding:8px 4px}.xs-post-safety:empty{display:none}
@media (max-width:760px){.xs-post-safety{justify-content:flex-start;padding-left:16px;padding-right:16px}.xs-profile-actions .xs-danger{flex:1}.xs-blocked-user{align-items:flex-start;flex-wrap:wrap}.xs-blocked-user>button[data-profile]{min-width:150px}.xs-blocked-user .xs-secondary{margin-left:auto}}

/* Recherche unifiée v1.0.0 */
.xs-global-search{position:relative;flex:1;max-width:300px;height:38px;display:flex;align-items:center;gap:8px;padding:0 8px 0 12px;border:1px solid var(--xs-line);border-radius:999px;background:var(--xs-panel);transition:border-color .18s ease,box-shadow .18s ease}.xs-global-search:focus-within{border-color:rgba(166,214,46,.55);box-shadow:0 0 0 3px rgba(166,214,46,.08)}.xs-global-search>span{color:var(--xs-muted);font-size:18px}.xs-global-search input{min-width:0;flex:1;border:0;outline:0;color:var(--xs-text);background:transparent;font-size:12px}.xs-global-search input::-webkit-search-cancel-button{filter:invert(1);opacity:.5}.xs-global-search>button{min-height:28px;padding:0 10px;border:0;border-radius:999px;color:#101508;background:var(--xs-accent);font-size:10px;font-weight:800;cursor:pointer}.xs-search-suggestions{position:absolute;z-index:100;top:45px;left:0;right:0;max-height:380px;overflow:auto;padding:7px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#111718;box-shadow:0 22px 60px rgba(0,0,0,.48)}.xs-search-suggestions button{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"type title" "type subtitle";gap:1px 10px;padding:9px 10px;border:0;border-radius:9px;text-align:left;background:transparent;cursor:pointer}.xs-search-suggestions button:hover{background:rgba(166,214,46,.09)}.xs-search-suggestions button span{grid-area:type;align-self:center;padding:3px 6px;border-radius:999px;color:var(--xs-accent);background:rgba(166,214,46,.09);font-size:9px;text-transform:uppercase}.xs-search-suggestions button strong{grid-area:title;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.xs-search-suggestions button small{grid-area:subtitle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--xs-muted);font-size:10px}.xs-search-suggestions>p{margin:0;padding:12px;color:var(--xs-muted);font-size:12px}
.xs-content-mode .xs-stories,.xs-content-mode .xs-composer-mini{display:none}.xs-search-page{display:grid;gap:18px}.xs-search-hero{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid rgba(166,214,46,.19);border-radius:18px;background:radial-gradient(circle at 0 0,rgba(166,214,46,.14),transparent 19rem),var(--xs-panel)}.xs-search-hero>span{width:64px;height:64px;display:grid;place-items:center;flex:0 0 64px;border-radius:18px;color:var(--xs-accent);background:rgba(166,214,46,.1);font-size:34px}.xs-search-hero h1{margin:0 0 5px;font-size:25px}.xs-search-hero p{margin:0;color:var(--xs-muted)}.xs-search-page-form{display:flex;gap:10px}.xs-search-page-form input{min-width:0;flex:1;height:48px;padding:0 16px;border:1px solid var(--xs-line);border-radius:12px;outline:0;color:var(--xs-text);background:var(--xs-panel)}.xs-search-page-form input:focus{border-color:rgba(166,214,46,.55);box-shadow:0 0 0 3px rgba(166,214,46,.08)}.xs-search-block{padding:18px;border:1px solid var(--xs-line);border-radius:16px;background:var(--xs-panel)}.xs-search-block h2{margin:0 0 13px;font-size:17px}.xs-search-pills,.xs-search-types{display:flex;gap:8px;flex-wrap:wrap}.xs-search-pills button,.xs-search-type{border:1px solid var(--xs-line);border-radius:999px;padding:8px 12px;color:var(--xs-text);background:var(--xs-panel-2);cursor:pointer;font-size:12px}.xs-search-pills button:hover,.xs-search-type:hover,.xs-search-type.is-active{border-color:rgba(166,214,46,.5);background:rgba(166,214,46,.1)}.xs-search-pills small,.xs-search-type small{margin-left:4px;color:var(--xs-muted)}.xs-search-index-state{padding:10px 13px;border:1px solid rgba(246,196,83,.3);border-radius:11px;color:#f6d985;background:rgba(246,196,83,.07);font-size:12px}.xs-search-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.xs-search-filters select{min-height:38px;padding:0 34px 0 11px;border:1px solid var(--xs-line);border-radius:9px;color:var(--xs-text);background:var(--xs-panel)}.xs-search-results{display:grid;gap:9px}.xs-search-result{width:100%;min-width:0;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--xs-line);border-radius:14px;color:var(--xs-text);text-align:left;background:var(--xs-panel);transition:border-color .18s ease,transform .18s ease}.xs-search-result:hover{border-color:rgba(166,214,46,.35);transform:translateY(-1px)}button.xs-search-result{cursor:pointer}.xs-search-result-main{min-width:0;flex:1;display:flex;align-items:center;gap:12px;border:0;padding:0;color:inherit;text-align:left;background:transparent;cursor:pointer}.xs-search-result-main>span,.xs-search-result>a>span,.xs-search-result>span:not(.xs-search-icon){min-width:0;display:grid;gap:2px}.xs-search-result small{color:var(--xs-accent);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.xs-search-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.xs-search-result em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--xs-muted);font-size:11px;font-style:normal}.xs-search-icon{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:12px;color:var(--xs-accent);background:rgba(166,214,46,.09);font-size:22px}.xs-search-result-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--xs-muted);font-size:11px}.xs-search-result-actions .xs-primary,.xs-search-result-actions .xs-secondary{min-height:34px;padding:6px 11px}.xs-search-metrics{display:flex;gap:10px;flex:0 0 auto;color:var(--xs-muted);font-size:11px}.xs-search-hashtag{border-style:dashed}.xs-search-person .xs-avatar{width:48px;height:48px}
@media(max-width:920px){.xs-global-search{max-width:240px}.xs-global-search>button{display:none}}
@media(max-width:760px){.xs-feed-header{gap:8px}.xs-global-search{max-width:none;height:36px}.xs-global-search input{font-size:11px}.xs-feed-header #xs-server-filter{display:none}.xs-tabs{gap:12px}.xs-tab{font-size:11px}.xs-search-page{gap:12px}.xs-search-hero{padding:16px}.xs-search-hero>span{width:50px;height:50px;flex-basis:50px;font-size:27px}.xs-search-hero h1{font-size:20px}.xs-search-hero p{font-size:12px}.xs-search-page-form{flex-direction:column}.xs-search-block{padding:14px}.xs-search-result{align-items:flex-start;padding:12px}.xs-search-result-actions,.xs-search-metrics{margin-left:auto}.xs-search-result-actions{flex-direction:column;align-items:flex-end}.xs-search-result em{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.xs-search-types{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.xs-search-type{flex:0 0 auto}}
@media(max-width:430px){.xs-tabs{gap:8px}.xs-tab{font-size:10px}.xs-global-search{min-width:0}.xs-global-search>span{font-size:15px}.xs-search-result{flex-wrap:wrap}.xs-search-result-actions,.xs-search-metrics{width:100%;margin-left:56px;flex-direction:row;justify-content:flex-start}}

/* === Le Zaap 1.1 : messagerie privée complète === */
.xs-messages-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;border-radius:999px;background:#ef6b72;color:#fff;font-size:10px;line-height:1}.xs-messages-badge[hidden]{display:none}.xs-message-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.xs-message-tabs{display:flex;gap:6px;padding:4px;border:1px solid var(--xs-border);border-radius:12px;background:var(--xs-panel)}.xs-message-tabs button{border:0;border-radius:9px;padding:8px 13px;background:transparent;color:var(--xs-muted);cursor:pointer}.xs-message-tabs button.is-active{background:var(--xs-panel-2);color:var(--xs-text)}.xs-message-search{width:min(340px,100%);min-height:40px}.xs-conversation>div small{display:block;margin-top:3px;color:var(--xs-muted);font-size:10px}.xs-conversation-muted{color:#f2bf4b;font-size:8px;vertical-align:middle}.xs-message-suggestions{padding:12px;border-top:1px solid var(--xs-border)}.xs-message-suggestions>strong{display:block;padding:4px 6px 9px;font-size:12px;color:var(--xs-muted);text-transform:uppercase;letter-spacing:.05em}.xs-thread-header{position:relative}.xs-thread-header>div:nth-child(2){min-width:0;flex:1}.xs-thread-actions{display:flex;gap:5px;margin-left:auto}.xs-thread-actions .xs-icon-button{width:34px;height:34px}.xs-message-load-older{align-self:center;width:auto;margin:10px auto 0;padding:7px 12px;font-size:12px}.xs-thread-messages{scroll-behavior:smooth}.xs-message-bubble{position:relative}.xs-message-bubble footer{display:flex;align-items:flex-end;justify-content:flex-end;gap:8px;margin-top:5px}.xs-message-bubble footer>small{margin:0}.xs-message-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;opacity:0;transition:opacity .15s ease}.xs-message-bubble:hover .xs-message-actions,.xs-message-bubble:focus-within .xs-message-actions{opacity:1}.xs-message-actions button{border:0;padding:0;background:transparent;color:var(--xs-muted);font-size:10px;cursor:pointer}.xs-message-actions button:hover{color:var(--xs-text);text-decoration:underline}.xs-message-reply-quote{display:block;width:100%;margin:0 0 7px;padding:7px 9px;border:0;border-left:3px solid var(--xs-accent);border-radius:7px;background:rgba(0,0,0,.14);color:var(--xs-text);text-align:left;cursor:pointer}.xs-message-reply-quote small,.xs-message-reply-quote span{display:block}.xs-message-reply-quote span{margin-top:2px;overflow:hidden;color:var(--xs-muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.xs-message-attachment{display:block;margin-top:7px}.xs-message-attachment img{display:block;max-width:min(330px,100%);max-height:330px;border-radius:10px;object-fit:cover}.xs-message-video{display:block;width:min(360px,100%);max-height:360px;margin-top:7px;border-radius:10px;background:#000}.xs-message-file{display:inline-block;margin-top:7px;color:var(--xs-accent)}.xs-message-bubble.is-deleted{opacity:.7;font-style:italic}.xs-message-deleted{color:var(--xs-muted)}.xs-message-bubble.is-highlighted{animation:xs-message-highlight 1.8s ease}.xs-message-reply-preview{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--xs-border);background:rgba(166,214,46,.06);font-size:12px}.xs-message-reply-preview span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xs-message-reply-preview button{border:0;background:transparent;color:var(--xs-muted);cursor:pointer}.xs-message-form{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.xs-message-attach{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--xs-border);border-radius:11px;background:var(--xs-panel-2);color:var(--xs-text);font-size:22px;cursor:pointer}.xs-message-attach:hover{border-color:var(--xs-accent)}
@keyframes xs-message-highlight{0%,100%{box-shadow:none}25%,70%{box-shadow:0 0 0 3px rgba(166,214,46,.4)}}
@media(max-width:900px){.xs-message-toolbar{align-items:stretch;flex-direction:column}.xs-message-search{width:100%}.xs-thread-actions{gap:2px}.xs-message-actions{opacity:1}}
@media(max-width:600px){.xs-message-form{grid-template-columns:auto minmax(0,1fr)}.xs-message-form button[type="submit"]{grid-column:1/-1;width:100%}.xs-message-attachment img{max-width:100%}.xs-message-bubble footer{align-items:flex-start;flex-direction:column}.xs-message-actions{justify-content:flex-start}}

/* Marché communautaire complet — v1.2.0 */
.xs-market-mode-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.xs-market-mode-tabs button{border:1px solid var(--xs-border);border-radius:999px;background:var(--xs-panel);color:var(--xs-muted);padding:8px 13px;cursor:pointer}.xs-market-mode-tabs button.is-active{border-color:rgba(166,214,46,.55);background:rgba(166,214,46,.12);color:var(--xs-text)}
.xs-market-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-bottom:10px}.xs-market-search input{min-width:0}.xs-market-search button{width:auto}.xs-market-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.xs-market-filters input,.xs-market-filters select{width:100%;min-width:0}
.xs-market-card{display:flex;flex-direction:column;min-width:0}.xs-market-card.is-sold,.xs-market-card.is-closed,.xs-market-card.is-expired{opacity:.82}.xs-market-card.is-sold .xs-market-image,.xs-market-card.is-closed .xs-market-image,.xs-market-card.is-expired .xs-market-image{filter:saturate(.65)}
.xs-market-image .xs-market-status{position:absolute;right:10px;top:10px;padding:5px 8px;border-radius:7px;background:rgba(7,10,10,.82);color:#d7dfeb;font-size:10px;font-style:normal;font-weight:800;text-transform:uppercase}.xs-market-card.is-active .xs-market-status{color:var(--xs-accent)}.xs-market-card.is-sold .xs-market-status{color:#f6c453}.xs-market-card.is-expired .xs-market-status,.xs-market-card.is-closed .xs-market-status{color:#c9a6a6}
.xs-market-body{display:flex;flex:1;flex-direction:column}.xs-market-meta{display:flex;justify-content:space-between;gap:8px;color:var(--xs-muted);font-size:11px}.xs-market-meta small:last-child{text-align:right}.xs-market-item{display:block;margin:-1px 0 8px;color:#dfe8f2;font-size:12px}.xs-market-price-row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto}.xs-market-price-row>span{color:var(--xs-muted);font-size:11px}.xs-market-author button{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.xs-market-author button span,.xs-market-author button small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xs-market-author button small{color:var(--xs-muted);font-size:10px}.xs-market-metrics{display:flex;align-items:center;gap:12px;margin-top:10px;color:var(--xs-muted);font-size:11px}.xs-market-favorite{border:0;background:transparent;color:var(--xs-muted);cursor:pointer}.xs-market-favorite.is-active{color:var(--xs-accent)}.xs-market-favorite b{font-size:inherit}.xs-market-card .xs-card-actions{margin-top:10px}.xs-market-card .xs-card-actions>*{flex:0 1 auto}.xs-market-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px 0}.xs-market-pagination span{color:var(--xs-muted);font-size:12px}.xs-market-pagination button{width:auto}
.xs-market-editor-dialog{width:min(820px,100%)}.xs-market-editor-dialog form{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-market-editor-dialog .xs-full{grid-column:1/-1}.xs-market-form-actions{display:flex;justify-content:flex-end}.xs-market-form-actions button{width:auto}
.xs-market-detail-dialog{width:min(940px,100%)}.xs-market-detail{display:grid;grid-template-columns:minmax(260px,42%) minmax(0,1fr);gap:22px}.xs-market-detail-media{min-height:330px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--xs-border);border-radius:15px;background:linear-gradient(145deg,rgba(166,214,46,.12),rgba(92,71,161,.16))}.xs-market-detail-media img{width:100%;height:100%;object-fit:cover}.xs-market-detail-media span{font-size:72px;color:var(--xs-accent)}.xs-market-detail-main h2{margin:8px 0 5px}.xs-market-detail-main h3{margin:0 0 12px;color:var(--xs-muted);font-size:14px}.xs-market-detail-badges{display:flex;gap:6px;flex-wrap:wrap}.xs-market-detail-badges span{padding:5px 8px;border:1px solid var(--xs-border);border-radius:999px;background:var(--xs-panel-2);color:var(--xs-muted);font-size:10px;font-weight:800;text-transform:uppercase}.xs-market-detail-badges .is-status-active{color:var(--xs-accent)}.xs-market-detail-badges .is-status-sold{color:#f6c453}.xs-market-detail-price{display:flex;align-items:baseline;gap:12px;margin:14px 0}.xs-market-detail-price strong{color:var(--xs-accent);font-size:26px}.xs-market-detail-price span{color:var(--xs-muted);font-size:12px}.xs-market-detail-description{color:#d7dfeb;font-size:14px;line-height:1.65}.xs-market-detail-description p{margin:0 0 10px}.xs-market-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin:16px 0}.xs-market-detail dl div{padding:9px 0;border-bottom:1px solid var(--xs-border)}.xs-market-detail dt{color:var(--xs-muted);font-size:10px;text-transform:uppercase}.xs-market-detail dd{margin:3px 0 0;font-size:13px}
@media(max-width:980px){.xs-market-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-market-detail{grid-template-columns:1fr}.xs-market-detail-media{min-height:240px;max-height:420px}}
@media(max-width:620px){.xs-market-search{grid-template-columns:1fr}.xs-market-search button{width:100%}.xs-market-filters{grid-template-columns:1fr}.xs-market-meta{flex-direction:column}.xs-market-meta small:last-child{text-align:left}.xs-market-price-row{align-items:flex-start;flex-direction:column;gap:3px}.xs-market-card .xs-card-actions{display:grid;grid-template-columns:1fr 1fr}.xs-market-card .xs-card-actions>*{width:100%}.xs-market-pagination{justify-content:space-between}.xs-market-pagination span{font-size:10px;text-align:center}.xs-market-editor-dialog form{grid-template-columns:1fr}.xs-market-editor-dialog .xs-full{grid-column:auto}.xs-market-detail dl{grid-template-columns:1fr}}

/* === Le Zaap 1.3 : annuaire des artisans avancé === */
.xs-artisan-mode-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.xs-artisan-mode-tabs button{border:1px solid var(--xs-border);background:var(--xs-panel);color:var(--xs-muted);padding:10px 14px;border-radius:12px;cursor:pointer}.xs-artisan-mode-tabs button.is-active{background:rgba(166,214,46,.12);border-color:rgba(166,214,46,.45);color:var(--xs-text)}
.xs-artisan-search{display:flex;gap:10px;margin-bottom:12px}.xs-artisan-search input{flex:1}.xs-artisan-filters{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:18px}.xs-artisan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-artisan-card{display:flex;flex-direction:column;min-width:0}.xs-artisan-card header{align-items:flex-start}.xs-avatar-button{border:0;padding:0;background:transparent;cursor:pointer}.xs-artisan-heading{min-width:0;flex:1}.xs-artisan-heading h3,.xs-artisan-heading small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xs-artisan-status{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;background:rgba(255,255,255,.06);color:var(--xs-muted)}.xs-artisan-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.xs-artisan-status.is-available{color:#a6d62e;background:rgba(166,214,46,.1)}.xs-artisan-status.is-busy{color:#ffbf4d;background:rgba(255,191,77,.1)}.xs-artisan-status.is-offline{color:#8e98a8;background:rgba(142,152,168,.1)}
.xs-artisan-rating{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:12px 0 2px}.xs-artisan-rating small{color:var(--xs-muted)}.xs-rating-stars{letter-spacing:1px;color:#f5c451;white-space:nowrap}.xs-artisan-card .xs-professions{min-height:72px}.xs-artisan-card>p{flex:1}.xs-artisan-card footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:auto}.xs-artisan-card footer .xs-icon-button{margin-left:auto}.xs-artisan-favorite.is-active{color:#f5c451;border-color:rgba(245,196,81,.45);background:rgba(245,196,81,.08)}
.xs-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:18px 0}.xs-pagination span{color:var(--xs-muted);font-size:12px}.xs-artisan-editor-dialog{max-width:760px}.xs-artisan-detail-dialog{max-width:820px}.xs-artisan-detail-header{display:flex;align-items:center;gap:14px}.xs-artisan-detail-header .xs-avatar{width:72px;height:72px}.xs-artisan-detail-header>div{flex:1}.xs-artisan-detail-header h2,.xs-artisan-detail-header p{margin:0 0 5px}.xs-artisan-detail-jobs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.xs-artisan-detail-jobs article{display:flex;flex-direction:column;gap:3px;border:1px solid var(--xs-border);border-radius:12px;padding:12px;background:rgba(255,255,255,.02)}.xs-artisan-detail-jobs span,.xs-artisan-detail-jobs small{color:var(--xs-muted)}.xs-artisan-description{white-space:pre-wrap;color:var(--xs-muted)}.xs-artisan-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0}.xs-artisan-detail-meta div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--xs-border);padding:8px 0}.xs-artisan-detail-meta dt{color:var(--xs-muted)}.xs-artisan-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0 22px}.xs-artisan-reviews{border-top:1px solid var(--xs-border);padding-top:18px}.xs-artisan-reviews article{padding:13px 0;border-bottom:1px solid var(--xs-border)}.xs-artisan-reviews article header{display:flex;align-items:center;gap:9px}.xs-artisan-reviews article header>div{flex:1;display:flex;flex-direction:column}.xs-artisan-reviews article .xs-avatar{width:38px;height:38px}.xs-artisan-reviews article p{margin:9px 0 0;color:var(--xs-muted);white-space:pre-wrap}
.xs-artisan-order-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.xs-artisan-orders{display:grid;gap:12px}.xs-artisan-order-card{border:1px solid var(--xs-border);border-radius:16px;padding:16px;background:var(--xs-panel)}.xs-artisan-order-card header{display:flex;gap:12px;align-items:flex-start}.xs-artisan-order-card header>div{flex:1}.xs-artisan-order-card h3{margin:7px 0 3px}.xs-artisan-order-card header small{color:var(--xs-muted)}.xs-artisan-order-card>p{color:var(--xs-muted);white-space:pre-wrap}.xs-artisan-order-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.xs-artisan-order-card dl div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--xs-border);padding:7px 0}.xs-artisan-order-card dt{color:var(--xs-muted)}.xs-artisan-order-card footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.xs-order-status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(255,255,255,.06)}.xs-order-status.is-pending{color:#ffbf4d;background:rgba(255,191,77,.1)}.xs-order-status.is-accepted{color:#64b5f6;background:rgba(100,181,246,.1)}.xs-order-status.is-completed{color:#a6d62e;background:rgba(166,214,46,.1)}.xs-order-status.is-declined,.xs-order-status.is-cancelled{color:#ff7a7a;background:rgba(255,122,122,.1)}.xs-order-review{display:flex;align-items:center;gap:9px;border-radius:12px;padding:10px;margin-top:10px;background:rgba(245,196,81,.07)}
@media(max-width:900px){.xs-artisan-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-artisan-detail-jobs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.xs-artisan-grid{grid-template-columns:1fr}.xs-artisan-search{flex-direction:column}.xs-artisan-filters{grid-template-columns:1fr}.xs-artisan-detail-header{align-items:flex-start;flex-wrap:wrap}.xs-artisan-detail-jobs,.xs-artisan-detail-meta,.xs-artisan-order-card dl{grid-template-columns:1fr}.xs-artisan-card footer .xs-icon-button{margin-left:0}.xs-artisan-order-card header .xs-avatar{display:none}}

/* Communautés et guildes v1.4 */
.xs-group-grid{align-items:stretch}.xs-community-card-v2{padding:0;overflow:hidden;cursor:pointer;display:flex;flex-direction:column}.xs-community-card-v2 .xs-community-cover{height:130px;border-radius:0;background:linear-gradient(135deg,rgba(166,214,46,.18),rgba(42,53,70,.75));display:grid;place-items:center;overflow:hidden}.xs-community-card-v2 .xs-community-cover img{width:100%;height:100%;object-fit:cover}.xs-community-card-v2 .xs-community-cover>span{font-size:42px}.xs-community-card-body{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}.xs-community-card-title{display:flex;align-items:center;gap:10px}.xs-community-card-title img,.xs-community-card-title>span{width:48px;height:48px;border-radius:14px;object-fit:cover;background:var(--xs-panel-2,#202834);display:grid;place-items:center}.xs-community-card-title h3{margin:2px 0 0}.xs-community-card-title small{opacity:.7}.xs-community-card-actions{display:flex;gap:8px;margin-top:auto}.xs-community-card-actions button{flex:1}.xs-group-filters{display:grid;grid-template-columns:minmax(180px,1fr) 190px auto;gap:10px;margin:12px 0}.xs-subtabs,.xs-group-tabs{display:flex;gap:6px;overflow:auto;padding:4px 0 12px}.xs-subtabs button,.xs-group-tabs button{border:0;background:transparent;color:inherit;padding:9px 12px;border-radius:10px;white-space:nowrap}.xs-subtabs button.is-active,.xs-group-tabs button.is-active{background:rgba(166,214,46,.14);color:var(--xs-accent)}.xs-group-tabs b{display:inline-grid;place-items:center;min-width:19px;height:19px;border-radius:20px;background:var(--xs-accent);color:#111;font-size:11px}.xs-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin:20px 0}.xs-group-detail{display:flex;flex-direction:column;gap:0}.xs-group-hero{height:210px;border-radius:18px 18px 0 0;position:relative;overflow:hidden;background:linear-gradient(135deg,#273141,#14191f)}.xs-group-hero>img{width:100%;height:100%;object-fit:cover}.xs-group-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,11,15,.82))}.xs-group-detail>header{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:end;padding:0 22px 18px;margin-top:-50px;position:relative}.xs-group-logo{width:96px;height:96px;border:5px solid var(--xs-bg,#11161c);border-radius:24px;background:#252e39;display:grid;place-items:center;font-size:38px;overflow:hidden}.xs-group-logo img{width:100%;height:100%;object-fit:cover}.xs-group-detail>header h2{margin:4px 0;font-size:28px}.xs-group-detail>header small,.xs-group-detail>header p{opacity:.75}.xs-group-header-actions{display:flex;gap:8px}.xs-group-tabs{border-bottom:1px solid rgba(255,255,255,.08);padding:0 12px 10px;margin-bottom:16px}.xs-group-about{padding:8px 4px 24px}.xs-group-about dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.xs-group-about dl div{padding:12px;border-radius:12px;background:rgba(255,255,255,.04)}.xs-group-about dt{font-size:12px;opacity:.65}.xs-group-about dd{margin:4px 0 0;font-weight:700}.xs-group-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.xs-group-tags span{background:rgba(166,214,46,.12);color:var(--xs-accent);border-radius:20px;padding:5px 9px;font-size:12px}.xs-group-composer,.xs-group-event-form{display:grid;gap:10px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025);margin-bottom:14px}.xs-group-composer>div{display:flex;justify-content:space-between;gap:8px}.xs-group-posts{display:grid;gap:12px}.xs-group-post{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025)}.xs-group-post header{display:flex;align-items:center;gap:10px}.xs-group-post header>div{display:flex;flex-direction:column;flex:1}.xs-group-post header small{opacity:.6}.xs-group-post>p{line-height:1.55}.xs-group-post-media,.xs-group-post video{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:14px;margin-top:10px;background:#080b0f}.xs-group-members,.xs-group-applications{display:grid;gap:8px}.xs-group-members article,.xs-group-applications article{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}.xs-group-members article>button{display:flex;align-items:center;gap:10px;flex:1;text-align:left}.xs-group-members article>button span{display:flex;flex-direction:column}.xs-group-members article>div{display:flex;align-items:center;gap:7px}.xs-role-badge{font-size:11px;padding:5px 8px;border-radius:20px;background:rgba(255,255,255,.08)}.xs-role-badge.is-owner{background:rgba(255,190,60,.17);color:#ffd37d}.xs-role-badge.is-admin{background:rgba(95,153,255,.16);color:#a9c9ff}.xs-role-badge.is-moderator{background:rgba(166,214,46,.13);color:var(--xs-accent)}.xs-group-role{max-width:145px}.xs-group-applications article>div:nth-child(2){flex:1}.xs-group-applications p{margin:5px 0}.xs-group-applications article>div:last-child{display:flex;gap:7px}.xs-group-manage-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:18px}.xs-group-event-form{grid-template-columns:repeat(2,minmax(0,1fr))}.xs-group-event-form h3,.xs-group-event-form textarea,.xs-group-event-form button,.xs-group-event-form .xs-form-status{grid-column:1/-1}.xs-group-editor-dialog{max-width:720px}.xs-group-editor-dialog form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.xs-group-editor-dialog form label{display:flex;flex-direction:column;gap:6px}.xs-group-editor-dialog .xs-full,.xs-group-editor-dialog button,.xs-group-editor-dialog .xs-form-status{grid-column:1/-1}
@media(max-width:760px){.xs-group-filters{grid-template-columns:1fr}.xs-group-detail>header{grid-template-columns:auto 1fr;padding:0 14px 14px}.xs-group-header-actions{grid-column:1/-1}.xs-group-header-actions button{width:100%}.xs-group-logo{width:76px;height:76px}.xs-group-hero{height:170px}.xs-group-detail>header h2{font-size:23px}.xs-group-about dl{grid-template-columns:1fr}.xs-group-members article,.xs-group-applications article{align-items:flex-start;flex-wrap:wrap}.xs-group-members article>div,.xs-group-applications article>div:last-child{width:100%;flex-wrap:wrap}.xs-group-event-form,.xs-group-editor-dialog form{grid-template-columns:1fr}.xs-group-event-form>*{grid-column:1}.xs-group-editor-dialog .xs-full,.xs-group-editor-dialog button,.xs-group-editor-dialog .xs-form-status{grid-column:1}}
.xs-group-invite-form{display:grid;grid-template-columns:150px 1fr auto;gap:8px;align-items:end;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:14px;margin-bottom:18px;background:rgba(255,255,255,.025)}.xs-group-invite-form h3,.xs-group-invite-form .xs-form-status{grid-column:1/-1;margin:0}.xs-group-events .xs-event-card>div{position:relative}.xs-group-events .xs-group-event-delete{margin-top:8px}@media(max-width:760px){.xs-group-invite-form{grid-template-columns:1fr}.xs-group-invite-form h3,.xs-group-invite-form .xs-form-status{grid-column:1}}
.xs-group-banned{display:grid;gap:8px}.xs-group-banned article{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(239,107,114,.2);border-radius:13px;background:rgba(239,107,114,.045)}.xs-group-banned article>div{display:flex;flex:1;min-width:0;flex-direction:column}.xs-group-banned article small{color:var(--xs-muted)}.xs-group-banned .xs-secondary{width:auto}
@media(max-width:640px){.xs-group-banned article{flex-wrap:wrap}.xs-group-banned .xs-secondary{width:100%}}

/* Événements v2 */
.xs-event-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:0 0 18px;flex-wrap:wrap}.xs-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.xs-filter-tabs button{border:1px solid var(--xs-border,#2c3340);background:transparent;color:inherit;border-radius:999px;padding:9px 14px;cursor:pointer}.xs-filter-tabs button.is-active{background:var(--xs-accent);color:#101318;border-color:var(--xs-accent)}.xs-event-search{display:flex;gap:8px;flex-wrap:wrap}.xs-event-search input,.xs-event-search select{min-width:180px}.xs-event-grid-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.xs-event-card-v2{border:1px solid var(--xs-border,#2c3340);border-radius:18px;overflow:hidden;background:var(--xs-card,#181d25);display:grid;grid-template-columns:150px minmax(0,1fr);min-height:210px}.xs-event-card-v2.is-cancelled{opacity:.72}.xs-event-card-image{border:0;background-size:cover;background-position:center;min-height:100%;cursor:pointer}.xs-event-placeholder{display:grid;place-items:center;font-size:46px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.01))}.xs-event-card-body{padding:16px;display:flex;flex-direction:column;gap:8px}.xs-event-card-top,.xs-event-meta,.xs-event-card-actions,.xs-event-detail-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.xs-event-card-top{justify-content:space-between;color:var(--xs-muted,#9aa4b2);font-size:12px}.xs-event-card-top b{color:var(--xs-accent)}.xs-event-title-button{background:none;border:0;padding:0;text-align:left;color:inherit;cursor:pointer}.xs-event-title-button h3{margin:0;font-size:20px}.xs-event-date{font-weight:700}.xs-event-meta{font-size:12px;color:var(--xs-muted,#9aa4b2);margin-top:auto}.xs-event-card-actions{margin-top:5px}.xs-modal-wide{max-width:820px}.xs-event-detail-image{width:100%;max-height:310px;object-fit:cover;border-radius:16px}.xs-event-detail-card{display:grid;gap:18px}.xs-event-detail-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.xs-event-detail-header h2{margin:4px 0}.xs-event-cancelled,.xs-alert{background:rgba(218,74,74,.14);color:#ff9d9d;border:1px solid rgba(218,74,74,.35);border-radius:12px;padding:8px 12px}.xs-event-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.xs-event-facts div{border:1px solid var(--xs-border,#2c3340);border-radius:12px;padding:10px}.xs-event-facts dt{font-size:12px;color:var(--xs-muted,#9aa4b2)}.xs-event-facts dd{margin:4px 0 0}.xs-event-attendees{border-top:1px solid var(--xs-border,#2c3340);padding-top:14px}.xs-event-attendee{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.xs-event-attendee>button:first-child{display:flex;align-items:center;gap:10px;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.xs-event-attendee span{display:grid}.xs-event-attendee small{color:var(--xs-muted,#9aa4b2)}.xs-inline-button{display:inline-flex;text-decoration:none}.xs-pagination{display:flex;gap:8px;justify-content:center;margin:22px 0}.xs-pagination button{border:1px solid var(--xs-border,#2c3340);background:transparent;color:inherit;border-radius:9px;padding:7px 11px}.xs-pagination button.is-active{background:var(--xs-accent);color:#111}
@media(max-width:900px){.xs-event-grid-v2{grid-template-columns:1fr}.xs-event-card-v2{grid-template-columns:120px minmax(0,1fr)}}
@media(max-width:620px){.xs-event-card-v2{grid-template-columns:1fr}.xs-event-card-image{min-height:150px}.xs-event-toolbar,.xs-event-search{align-items:stretch}.xs-event-search>*{width:100%;min-width:0}.xs-event-facts{grid-template-columns:1fr}.xs-event-detail-header{display:grid}}

/* Le Zaap 2.1 — inscription et onboarding */
.xs-auth-actions{display:grid;gap:10px;margin-top:16px}.xs-auth-actions a{text-align:center;text-decoration:none}.xs-guest-card{text-align:center;display:grid;gap:12px}.xs-guest-card .xs-primary,.xs-guest-card .xs-secondary{width:100%;box-sizing:border-box;text-decoration:none}.xs-guest-egg{font-size:44px;margin:auto}.xs-onboarding-dialog{max-width:780px;overflow:auto;max-height:min(92vh,900px)}.xs-onboarding-header{display:flex;gap:18px;align-items:flex-start;margin-bottom:22px}.xs-onboarding-logo{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--xs-accent);color:#18210d;font-size:28px;flex:0 0 auto}.xs-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:var(--xs-accent);margin:0 0 4px}.xs-onboarding-header h2,.xs-onboarding-success h2{margin:0 0 7px}.xs-onboarding-header p{margin:0;color:var(--xs-muted,#8e99a8)}.xs-onboarding-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.xs-onboarding-form label{display:grid;gap:7px;font-weight:700}.xs-onboarding-form input,.xs-onboarding-form select{width:100%;box-sizing:border-box}.xs-onboarding-form small{font-weight:400;color:var(--xs-muted,#8e99a8)}.xs-handle-input{display:flex;align-items:center;border:1px solid rgba(127,139,154,.35);border-radius:10px;background:rgba(255,255,255,.04);overflow:hidden}.xs-handle-input span{padding:0 0 0 12px;color:var(--xs-muted,#8e99a8);font-weight:800}.xs-handle-input input{border:0!important;background:transparent!important}.xs-handle-state.is-valid{color:#73c86b}.xs-handle-state.is-invalid{color:#ff7c76}.xs-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.xs-onboarding-login{text-align:center;color:var(--xs-muted,#8e99a8)}.xs-onboarding-success{display:grid;justify-items:center;text-align:center;gap:14px;padding:36px 18px}.xs-onboarding-success>span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(166,214,46,.14);color:var(--xs-accent);font-size:36px}.xs-onboarding-success .xs-primary{text-decoration:none}.xs-onboarding-progress{display:flex;align-items:center;margin:4px 0 24px}.xs-onboarding-progress span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid rgba(127,139,154,.4);font-weight:800;color:var(--xs-muted,#8e99a8)}.xs-onboarding-progress span.is-active{background:var(--xs-accent);border-color:var(--xs-accent);color:#17200d}.xs-onboarding-progress i{height:2px;flex:1;background:rgba(127,139,154,.25)}.xs-onboarding-step{display:none;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.xs-onboarding-step.is-active{display:grid}.xs-onboarding-step h3{grid-column:1/-1;margin:0}.xs-interest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.xs-interest-card{position:relative;display:block!important;padding:14px;border:1px solid rgba(127,139,154,.28);border-radius:12px;cursor:pointer;background:rgba(255,255,255,.025)}.xs-interest-card input{position:absolute;opacity:0;pointer-events:none}.xs-interest-card.is-selected{border-color:var(--xs-accent);background:rgba(166,214,46,.12)}.xs-suggestions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.xs-suggestion-card{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid rgba(127,139,154,.25);border-radius:12px;cursor:pointer}.xs-suggestion-card:has(input:checked){border-color:var(--xs-accent);background:rgba(166,214,46,.1)}.xs-suggestion-card input{position:absolute;opacity:0}.xs-suggestion-card img{width:44px;height:44px;border-radius:50%;object-fit:cover}.xs-suggestion-card span{display:grid;min-width:0}.xs-suggestion-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xs-suggestion-card b{font-size:11px;color:var(--xs-muted,#8e99a8)}.xs-onboarding-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid rgba(127,139,154,.18);padding-top:18px}.xs-onboarding-final{text-align:center;padding:28px}.xs-onboarding-final>span{font-size:48px;color:var(--xs-accent)}
@media(max-width:680px){.xs-onboarding-dialog{max-height:96vh;border-radius:18px 18px 0 0;margin-top:auto}.xs-onboarding-form,.xs-onboarding-step{grid-template-columns:1fr}.xs-interest-grid,.xs-suggestions-grid{grid-template-columns:1fr}.xs-onboarding-header{gap:12px}.xs-onboarding-logo{width:46px;height:46px}.xs-suggestion-card b{display:none}}
.xs-profile-handle{display:block;color:var(--xs-muted,#8e99a8);margin-top:-4px;margin-bottom:4px}

/* Recherche de groupe avancée — v2.2 */
.xs-lfg-needs { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.xs-lfg-need { padding:5px 8px; border:1px solid var(--xs-line); border-radius:999px; background:rgba(255,255,255,.035); color:var(--xs-muted); font-size:11px; }
.xs-lfg-summary-line { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 9px; }
.xs-lfg-status, .xs-lfg-member-state { display:inline-flex; align-items:center; width:max-content; padding:4px 8px; border-radius:999px; border:1px solid var(--xs-line); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.xs-lfg-status.is-open, .xs-lfg-panel.is-open .xs-lfg-status, .xs-lfg-member-state.is-accepted, .xs-lfg-member-state.is-owner { background:rgba(102,198,113,.12); color:#a9e8b0; border-color:rgba(102,198,113,.3); }
.xs-lfg-status.is-full, .xs-lfg-panel.is-full .xs-lfg-status, .xs-lfg-member-state.is-waitlist { background:rgba(232,178,73,.12); color:#f0ca7c; border-color:rgba(232,178,73,.32); }
.xs-lfg-status.is-closed, .xs-lfg-status.is-completed, .xs-lfg-member-state.is-pending { background:rgba(120,145,179,.13); color:#b8c9df; }
.xs-lfg-status.is-cancelled, .xs-lfg-member-state.is-declined { background:rgba(211,86,86,.12); color:#efa3a3; border-color:rgba(211,86,86,.3); }
.xs-lfg-detail-dialog { width:min(980px, calc(100vw - 28px)); max-height:92vh; overflow:auto; }
.xs-lfg-detail-content { display:grid; gap:18px; }
.xs-lfg-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-right:35px; }
.xs-lfg-detail-head h2 { margin:8px 0 4px; font-size:27px; }
.xs-lfg-detail-head p, .xs-lfg-detail-description p { color:var(--xs-muted); }
.xs-lfg-capacity { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:0 12px; padding:14px; border:1px solid var(--xs-line); border-radius:12px; background:rgba(255,255,255,.025); }
.xs-lfg-capacity strong { grid-row:1 / 3; font-size:30px; color:var(--xs-accent); }
.xs-lfg-capacity span { font-weight:700; }
.xs-lfg-capacity small { color:var(--xs-muted); }
.xs-lfg-requirements > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.xs-lfg-requirements > div > span { padding:11px; border:1px solid var(--xs-line); border-radius:10px; background:rgba(255,255,255,.025); }
.xs-lfg-requirements strong, .xs-lfg-requirements small { display:block; }
.xs-lfg-requirements small { margin-top:4px; color:var(--xs-muted); }
.xs-lfg-application { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:15px; border:1px solid var(--xs-line); border-radius:12px; background:rgba(0,0,0,.14); }
.xs-lfg-application h3 { grid-column:1/-1; margin:0; }
.xs-lfg-my-status { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px; border:1px solid var(--xs-line); border-radius:10px; background:rgba(255,255,255,.025); }
.xs-lfg-confirmed-members, .xs-lfg-management, .xs-lfg-reminders, .xs-lfg-discussion { padding-top:4px; }
.xs-lfg-member { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid var(--xs-line); }
.xs-lfg-member:last-child { border-bottom:0; }
.xs-lfg-member > div > small { display:block; color:var(--xs-muted); }
.xs-lfg-member > div > p { margin:5px 0 0; font-size:12px; color:var(--xs-muted); }
.xs-lfg-member-actions { grid-column:2 / -1; display:flex; flex-wrap:wrap; gap:7px; }
.xs-lfg-member-actions button { padding:6px 9px; font-size:11px; }
.xs-lfg-status-actions { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.xs-lfg-status-actions .is-active { outline:2px solid var(--xs-accent); }
.xs-lfg-reminders > div { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:10px; }
.xs-lfg-messages { max-height:300px; overflow:auto; display:grid; gap:9px; padding:12px; border:1px solid var(--xs-line); border-radius:10px; background:rgba(0,0,0,.16); }
.xs-lfg-message { display:grid; grid-template-columns:auto minmax(0,1fr); gap:9px; }
.xs-lfg-message .xs-avatar { width:34px; height:34px; }
.xs-lfg-message > div { padding:8px 10px; border-radius:10px; background:rgba(255,255,255,.045); }
.xs-lfg-message.is-mine > div { background:rgba(209,170,70,.11); }
.xs-lfg-message header { display:flex; align-items:center; gap:8px; }
.xs-lfg-message header button:first-child { color:inherit; font-weight:700; }
.xs-lfg-message header small { margin-left:auto; color:var(--xs-muted); }
.xs-lfg-message p { margin:5px 0 0; white-space:pre-wrap; }
.xs-lfg-message-form { display:grid; grid-template-columns:1fr auto; gap:9px; margin-top:10px; }
.xs-lfg-message-form textarea { min-height:54px; resize:vertical; }
.xs-lfg-message-form button { align-self:stretch; }
.xs-lfg-fields textarea + small { display:block; margin-top:5px; color:var(--xs-muted); }
@media (max-width:720px) {
  .xs-lfg-detail-head, .xs-lfg-my-status { flex-direction:column; }
  .xs-lfg-requirements > div, .xs-lfg-application { grid-template-columns:1fr; }
  .xs-lfg-member { grid-template-columns:auto minmax(0,1fr); }
  .xs-lfg-member-state { grid-column:2; }
  .xs-lfg-member-actions { grid-column:1/-1; }
  .xs-lfg-message-form { grid-template-columns:1fr; }
}

/* Le Zaap 2.4.0 — republications, citations, mentions et hashtags. */
.xs-post-actions .xs-repost.is-reposted,
.xs-post-actions .xs-repost:hover {
    color: #0f8f67;
}
.xs-repost-notice {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: -2px 0 12px 54px;
    color: var(--xs-muted, #6f746f);
    font-size: 13px;
}
.xs-repost-notice span {
    color: #0f8f67;
    font-size: 18px;
}
.xs-repost-original {
    margin: 14px 0 4px;
    padding: 15px;
    border: 1px solid rgba(61, 74, 67, .18);
    border-radius: 16px;
    background: rgba(255, 255, 255, .52);
    overflow: hidden;
}
.xs-repost-original > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.xs-repost-original .xs-avatar {
    width: 38px;
    height: 38px;
}
.xs-repost-original .xs-post-media {
    max-height: 430px;
    border-radius: 12px;
}
.xs-repost-original.is-unavailable {
    display: grid;
    gap: 4px;
    color: var(--xs-muted, #6f746f);
}
.xs-inline-mention,
.xs-inline-hashtag {
    color: #14785d;
    font-weight: 700;
    text-decoration: none;
}
.xs-inline-mention:hover,
.xs-inline-hashtag:hover {
    text-decoration: underline;
}
.xs-repost-dialog {
    max-width: 580px;
}
.xs-repost-preview {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 16px 0;
    padding: 13px 15px;
    border: 1px solid rgba(61, 74, 67, .16);
    border-radius: 14px;
    background: rgba(255, 255, 255, .56);
}
.xs-repost-preview > span {
    color: #0f8f67;
    font-size: 22px;
}
.xs-repost-preview div {
    display: grid;
    gap: 3px;
    min-width: 0;
}
.xs-repost-preview small {
    overflow: hidden;
    color: var(--xs-muted, #6f746f);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.xs-repost-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}
.xs-mention-host {
    position: relative;
}
.xs-mention-suggestions {
    position: absolute;
    z-index: 50;
    right: 0;
    bottom: 4px;
    left: 0;
    max-height: 260px;
    padding: 6px;
    border: 1px solid rgba(61, 74, 67, .2);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(25, 37, 31, .18);
    transform: translateY(100%);
    overflow-y: auto;
}
.xs-mention-suggestions[hidden] {
    display: none;
}
.xs-mention-suggestions button {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    text-align: left;
    cursor: pointer;
}
.xs-mention-suggestions button:hover,
.xs-mention-suggestions button:focus-visible {
    background: rgba(20, 120, 93, .1);
    outline: none;
}
.xs-mention-suggestions img {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
}
.xs-mention-suggestions span {
    display: grid;
    min-width: 0;
}
.xs-mention-suggestions small {
    color: var(--xs-muted, #6f746f);
}
@media (max-width: 640px) {
    .xs-repost-notice {
        margin-left: 0;
    }
    .xs-repost-original > header {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .xs-repost-original .xs-open-original {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .xs-repost-actions {
        flex-direction: column-reverse;
    }
    .xs-repost-actions button {
        width: 100%;
    }
}

/* Sondages et aperçus enrichis — 2.4.1 */
.xs-poll-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;border:1px solid var(--xs-border,#e5e7eb);border-radius:16px;background:rgba(124,58,237,.035)}
.xs-poll-fields[hidden]{display:none!important}.xs-poll-option-editor{display:grid;gap:10px}.xs-poll-option-row{display:flex;align-items:center;gap:8px}.xs-poll-option-row input{flex:1}.xs-poll-add-option{justify-self:start}.xs-poll-toggle{margin-top:2px}
.xs-link-preview-composer{margin-top:-2px}.xs-link-preview-card{display:flex;align-items:stretch;gap:0;overflow:hidden;margin:12px 0;border:1px solid var(--xs-border,#e5e7eb);border-radius:16px;background:var(--xs-surface,#fff);color:inherit;text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.xs-link-preview-card:hover{border-color:rgba(124,58,237,.48);transform:translateY(-1px);box-shadow:0 8px 24px rgba(15,23,42,.08)}.xs-link-preview-card>img{width:150px;min-height:112px;max-height:160px;object-fit:cover;background:#eef2f7}.xs-link-preview-card>div{display:flex;flex:1;min-width:0;flex-direction:column;justify-content:center;gap:5px;padding:14px 16px}.xs-link-preview-card small{text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--xs-muted,#64748b)}.xs-link-preview-card strong{font-size:15px;line-height:1.25}.xs-link-preview-card span{display:-webkit-box;overflow:hidden;color:var(--xs-muted,#64748b);font-size:13px;line-height:1.4;-webkit-line-clamp:2;-webkit-box-orient:vertical}.xs-link-preview-card>em{display:flex;align-items:center;padding:14px;color:var(--xs-muted,#64748b);font-style:normal}.xs-link-preview-card.is-composer{position:relative;margin:0}.xs-link-preview-card.is-composer>.xs-link-preview-remove{position:absolute;top:7px;right:7px;background:rgba(255,255,255,.92);box-shadow:0 2px 8px rgba(15,23,42,.14)}
.xs-poll{margin:14px 0;padding:16px;border:1px solid var(--xs-border,#e5e7eb);border-radius:18px;background:linear-gradient(145deg,rgba(124,58,237,.07),rgba(14,165,233,.035))}.xs-poll>header{display:flex;align-items:flex-start;gap:10px;margin-bottom:13px}.xs-poll>header>span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:rgba(124,58,237,.12);font-size:18px}.xs-poll>header>div{display:flex;min-width:0;flex-direction:column;gap:3px}.xs-poll>header strong{font-size:16px;line-height:1.3}.xs-poll>header small{color:var(--xs-muted,#64748b);font-size:12px}.xs-poll-options{display:grid;gap:9px}.xs-poll-option{display:grid;gap:7px;padding:11px 12px;border:1px solid rgba(100,116,139,.2);border-radius:13px;background:rgba(255,255,255,.78);cursor:pointer}.xs-poll-option.is-selected{border-color:rgba(124,58,237,.62);box-shadow:inset 0 0 0 1px rgba(124,58,237,.12)}.xs-poll-option>span:first-child{display:flex;align-items:center;gap:9px}.xs-poll-option input{margin:0}.xs-poll-result{position:relative;display:flex;align-items:center;min-height:22px;overflow:hidden;border-radius:7px;background:rgba(148,163,184,.16)}.xs-poll-result i{position:absolute;inset:0 auto 0 0;background:rgba(124,58,237,.2);transition:width .25s ease}.xs-poll-result b,.xs-poll-result small{position:relative;z-index:1;padding:2px 7px;font-size:11px}.xs-poll-result small{margin-left:auto;color:var(--xs-muted,#64748b)}.xs-poll>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px}.xs-repost-original .xs-poll{margin-bottom:4px;padding:13px}.xs-repost-original .xs-link-preview-card{margin-bottom:4px}
@media(max-width:720px){.xs-poll-fields{grid-template-columns:1fr}.xs-link-preview-card>img{width:104px;min-height:104px}.xs-link-preview-card>div{padding:11px 12px}.xs-link-preview-card span{display:none}.xs-poll>footer{align-items:stretch;flex-direction:column}.xs-poll>footer button{width:100%}}

/* Recommandations personnalisées — 2.4.2 */
.xs-recommendation-reason{display:flex;align-items:center;gap:6px;margin:0 14px 10px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--xs-accent) 30%,var(--xs-border));border-radius:10px;background:color-mix(in srgb,var(--xs-accent) 8%,transparent);color:var(--xs-muted);font-size:11px;font-weight:700}
.xs-recommendation-reason span{color:var(--xs-accent);font-size:13px}
.xs-feed-dismiss{color:var(--xs-muted)}
.xs-feed-dismiss:hover{color:var(--xs-text)}
.xs-privacy-overview .xs-recommendations-reset{margin-top:12px}
@media(max-width:760px){.xs-recommendation-reason{margin:0 10px 8px}}


/* Contrôle du fil — 2.4.3 */
.xs-following-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--xs-border,var(--xs-line));border-radius:16px;background:var(--xs-panel);margin-bottom:14px}
.xs-following-intro div{display:grid;gap:4px}.xs-following-intro span{color:var(--xs-muted);font-size:.92rem}
.xs-feed-preference-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:14px;border:1px solid var(--xs-border,var(--xs-line));border-radius:14px;padding:16px}
.xs-feed-preference-fields legend{font-weight:800;padding:0 6px}.xs-feed-preference-checks{display:grid;gap:8px;align-content:start}
.xs-muted-users-editor{grid-column:1/-1;border-top:1px solid var(--xs-border,var(--xs-line));padding-top:12px}.xs-muted-users-list{display:grid;gap:8px;margin-top:10px}
.xs-muted-user-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--xs-border);border-radius:12px}
.xs-muted-user-row span{display:grid}.xs-muted-user-row small{color:var(--xs-muted)}
@media (max-width:720px){.xs-following-intro{align-items:flex-start;flex-direction:column}.xs-feed-preference-fields{grid-template-columns:1fr}.xs-following-intro .xs-secondary{width:100%}}

/* Fil vidéo vertical — 2.5.0 */
body.xs-video-page-open{overflow:hidden}
#lezaap-app.xs-video-mode{grid-template-columns:minmax(190px,250px) minmax(340px,760px);justify-content:center;min-height:100dvh;background:#070809}
#lezaap-app.xs-video-mode .xs-sidebar-right,#lezaap-app.xs-video-mode .xs-feed-header,#lezaap-app.xs-video-mode .xs-stories,#lezaap-app.xs-video-mode .xs-composer-mini,#lezaap-app.xs-video-mode #xs-load-more{display:none!important}
#lezaap-app.xs-video-mode .xs-main{position:relative;min-width:0;height:100dvh;overflow:hidden;background:#070809}
#lezaap-app.xs-video-mode #xs-feed{position:relative;height:100%;margin:0;padding:0;overflow:hidden;background:#070809}
.xs-video-mode-tabs{position:absolute;z-index:15;top:14px;left:50%;display:flex;gap:5px;padding:4px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.48);backdrop-filter:blur(12px);transform:translateX(-50%)}
.xs-video-mode-tabs button{padding:7px 13px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.72);font-size:12px;font-weight:800;cursor:pointer}
.xs-video-mode-tabs button.is-active{background:#fff;color:#111827}
.xs-video-deck{height:100%;overflow-y:auto;overscroll-behavior-y:contain;scroll-snap-type:y mandatory;scrollbar-width:none;background:#070809}
.xs-video-deck::-webkit-scrollbar{display:none}
.xs-video-slide{position:relative;display:block!important;width:100%;height:100dvh;min-height:560px;margin:0!important;padding:0!important;overflow:hidden;border:0!important;box-shadow:none!important;border-radius:0!important;background:#050607;color:#fff;scroll-snap-align:start;scroll-snap-stop:always}
.xs-video-player{position:absolute;inset:0;width:100%;height:100%;background:#050607;object-fit:contain}
.xs-video-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.38) 0,transparent 22%,transparent 50%,rgba(0,0,0,.78) 100%)}
.xs-video-topbar{position:absolute;z-index:5;top:0;right:0;left:0;display:flex;align-items:center;justify-content:space-between;padding:18px 18px 60px;background:linear-gradient(180deg,rgba(0,0,0,.46),transparent)}
.xs-video-topbar strong{font-size:15px;letter-spacing:.02em}.xs-video-topbar button,.xs-video-more{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(0,0,0,.38);color:#fff;cursor:pointer;backdrop-filter:blur(8px)}
.xs-video-author-row{position:absolute;z-index:5;right:82px;bottom:132px;left:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.xs-video-author-row .xs-avatar{width:42px;height:42px;border:2px solid #fff}.xs-video-author-row button{color:#fff}.xs-video-author-row .xs-post-author small{color:rgba(255,255,255,.72)}.xs-video-author-row .xs-follow{padding:7px 12px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(0,0,0,.25);color:#fff;font-weight:800}.xs-video-author-row .xs-follow.is-following{background:rgba(255,255,255,.18)}
.xs-video-caption{position:absolute;z-index:5;right:82px;bottom:42px;left:20px;max-height:84px;overflow:auto;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7)}.xs-video-caption .xs-post-content{color:#fff;font-size:14px;line-height:1.45}.xs-video-caption a{color:#fff;text-decoration:underline}.xs-video-resume-note{display:inline-block;margin-top:5px;color:rgba(255,255,255,.72)}
.xs-video-actions{position:absolute;z-index:6;right:14px;bottom:74px;display:grid;gap:12px}.xs-video-actions button{display:grid;min-width:50px;place-items:center;gap:2px;border:0;background:transparent;color:#fff;cursor:pointer;text-shadow:0 1px 3px #000}.xs-video-actions button span{display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(0,0,0,.42);font-size:21px;backdrop-filter:blur(7px)}.xs-video-actions button b{font-size:11px}.xs-video-actions button.is-liked span,.xs-video-actions button.is-reposted span,.xs-video-actions button.is-bookmarked span{background:var(--xs-accent,#7c3aed)}
.xs-video-play{position:absolute;z-index:4;top:50%;left:50%;display:grid;width:64px;height:64px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:25px;cursor:pointer;opacity:1;transform:translate(-50%,-50%);transition:opacity .2s}.xs-video-slide.is-playing .xs-video-play{opacity:0}.xs-video-slide.is-playing .xs-video-play:focus-visible{opacity:1}
.xs-video-more{position:absolute;z-index:6;right:18px;top:72px;font-size:14px}
.xs-video-progress{position:absolute;z-index:9;right:0;bottom:0;left:0;height:5px;background:rgba(255,255,255,.22);cursor:pointer}.xs-video-progress i{display:block;width:0;height:100%;background:#fff;transition:width .12s linear}
.xs-video-comments{position:absolute;z-index:20;right:0;bottom:0;left:0;max-height:66%;overflow:auto;padding:18px;border-radius:22px 22px 0 0;background:var(--xs-panel,#fff);color:var(--xs-text,#111827);box-shadow:0 -12px 40px rgba(0,0,0,.4)}
.xs-video-slide.has-video-error:after{content:'Cette vidéo ne peut pas être lue.';position:absolute;z-index:4;top:50%;left:50%;padding:12px 16px;border-radius:12px;background:rgba(0,0,0,.72);transform:translate(-50%,-50%)}
.xs-video-empty{height:100%;display:grid;place-content:center;color:#fff;background:#070809}
@media(max-width:980px){#lezaap-app.xs-video-mode{display:block;width:100%;max-width:none;margin:0}.xs-video-page-open #wpadminbar{display:none}#lezaap-app.xs-video-mode .xs-sidebar-left,#lezaap-app.xs-video-mode .xs-mobile-nav{display:none!important}.xs-video-slide{height:100dvh}.xs-video-mode-tabs{top:12px}.xs-video-topbar{padding-top:12px}.xs-video-author-row{bottom:125px}.xs-video-caption{bottom:38px}}
@media(min-width:981px){#lezaap-app.xs-video-mode .xs-sidebar-left{height:auto;max-height:none;overflow:visible}.xs-video-slide{height:100dvh}}
@media(prefers-reduced-motion:reduce){.xs-video-deck{scroll-behavior:auto}.xs-video-play,.xs-video-progress i{transition:none}}

/* === Le Zaap 2.11 : corrections de cascade — marque et compositeur === */
.xs-brand { gap: 14px; padding: 12px 8px 24px; align-items: center; }
.xs-brand-mark { width: 62px; height: 62px; flex: 0 0 62px; object-fit: contain; filter: drop-shadow(0 9px 16px rgba(43,215,185,.24)); }
.xs-brand > span { min-width: 0; }
.xs-brand strong { font-size: 27px; letter-spacing: .2px; }
.xs-brand small { margin-top: 7px; font-size: 9px; letter-spacing: .075em; line-height: 1.25; text-transform: uppercase; }
.xs-brand:hover .xs-brand-mark { filter: drop-shadow(0 11px 20px rgba(43,215,185,.38)); }
.xs-publish-dialog { width: min(980px, 100%); border: 1px solid rgba(145,221,205,.18); border-radius: 24px; background: linear-gradient(145deg,#172122 0%,#101617 72%); box-shadow: 0 34px 100px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.025); }
.xs-publish-header { min-height: 104px; gap: 15px; padding: 22px 74px 20px 28px; background: radial-gradient(circle at 7% 20%,rgba(48,221,184,.17),transparent 24%),linear-gradient(100deg,rgba(255,255,255,.038),rgba(255,255,255,0)); }
.xs-publish-header-mark { width: 58px; height: 58px; flex: 0 0 58px; border-radius: 17px; object-fit: contain; background: rgba(42,206,177,.08); box-shadow: inset 0 0 0 1px rgba(125,220,197,.2),0 10px 24px rgba(0,0,0,.22); }
.xs-publish-kicker { margin: 0 0 4px; color: #8edcc8; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.xs-publish-header h2 { font-size: 24px; letter-spacing: -.02em; }
.xs-publish-header p:last-child { margin-top: 5px; font-size: 12px; }
#xs-publish-form { grid-template-columns: minmax(0,1fr) 270px; }
#xs-publish-form .xs-publish-editor { gap: 12px; padding: 24px 26px 25px; background: rgba(4,8,9,.1); }
#xs-publish-form .xs-publish-message { gap: 8px; }
.xs-publish-message > span { color: #eaf5ed; font-size: 12px; font-weight: 850; }
#xs-publish-form .xs-publish-message textarea { min-height: 174px; padding: 17px 18px; border: 1px solid rgba(170,222,207,.16); border-radius: 16px; background: rgba(4,8,9,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); font-size: 15px; line-height: 1.58; }
#xs-publish-form .xs-publish-message textarea::placeholder { color: rgba(195,210,204,.5); }
#xs-publish-form .xs-publish-message textarea:focus { border-color: rgba(78,221,189,.62); box-shadow: 0 0 0 4px rgba(78,221,189,.09); }
.xs-publish-hint { margin: -2px 2px 2px; color: rgba(194,209,202,.62); font-size: 11px; }
.xs-publish-media { display: grid; gap: 7px; min-height: 86px; padding: 14px 15px; border: 1px dashed rgba(108,215,191,.38); border-radius: 15px; background: linear-gradient(125deg,rgba(61,204,175,.08),rgba(255,255,255,.018)); }
.xs-publish-media input { margin-top: 0; padding: 7px; border: 0; background: transparent; }
.xs-publish-media small { color: rgba(194,209,202,.64); font-size: 11px; font-weight: 500; }
#xs-publish-form .xs-poll-toggle { width: fit-content; margin: 2px 0 0; padding: 8px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.025); color: rgba(235,244,237,.82); }
#xs-publish-form .xs-poll-toggle input { accent-color: #8bd43d; }
#xs-publish-form .xs-poll-fields,#xs-publish-form .xs-lfg-fields { gap: 11px; padding: 15px; border: 1px solid rgba(129,219,197,.18); border-radius: 15px; background: rgba(76,180,157,.05); }
#xs-publish-form .xs-publish-settings { gap: 15px; padding: 24px 21px; border-left: 1px solid rgba(156,220,204,.13); background: rgba(4,8,9,.2); }
.xs-publish-settings-title { padding-bottom: 11px; border-bottom: 1px solid rgba(255,255,255,.08); }
.xs-publish-settings-title span { font-size: 13px; letter-spacing: .01em; }
.xs-publish-settings-title small { color: rgba(194,209,202,.61); }
#xs-publish-form .xs-publish-settings > label:not(.xs-checkbox) { gap: 7px; color: rgba(194,209,202,.72); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
#xs-publish-form .xs-publish-settings select { min-height: 42px; border-color: rgba(170,222,207,.15); border-radius: 11px; background-color: rgba(10,17,17,.76); font-size: 13px; letter-spacing: 0; text-transform: none; }
#xs-publish-form .xs-publish-settings .xs-checkbox { align-items: flex-start; padding: 11px 10px; border: 1px solid rgba(255,255,255,.085); border-radius: 11px; background: rgba(255,255,255,.025); color: rgba(235,244,237,.8); font-size: 11px; line-height: 1.35; }
#xs-publish-form .xs-publish-settings .xs-checkbox input { margin-top: 1px; accent-color: #8bd43d; }
.xs-publish-footer { padding: 16px 26px 18px; border-top-color: rgba(156,220,204,.13); background: rgba(3,7,8,.28); }
.xs-publish-actions { gap: 8px; }
.xs-publish-actions .xs-primary,.xs-publish-actions .xs-secondary { min-height: 43px; border-radius: 11px; }
.xs-publish-actions .xs-secondary { color: rgba(234,245,237,.78); background: rgba(255,255,255,.045); }
.xs-publish-actions .xs-primary { color: #07120c; background: linear-gradient(135deg,#a9df4b,#78c85d); box-shadow: 0 8px 20px rgba(126,210,89,.18); }
.xs-publish-footer .xs-form-status { color: rgba(194,209,202,.68); font-size: 11px; }
.xs-choice-buttons { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.xs-choice-button { min-height: 32px; padding: 5px 9px; border: 1px solid var(--xs-line); border-radius: 9px; color: var(--xs-muted); background: rgba(255,255,255,.025); cursor: pointer; font-size: 11px; font-weight: 750; transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease; }
.xs-choice-button:hover, .xs-choice-button:focus-visible { color: var(--xs-text); border-color: rgba(166,214,46,.42); background: rgba(166,214,46,.08); outline: 0; }
.xs-choice-button.is-active { color: #121a0c; border-color: var(--xs-accent); background: var(--xs-accent); box-shadow: 0 4px 14px rgba(166,214,46,.16); }
.xs-character-choice-field { align-self: start; }
.xs-profile-choice-field { display: grid; gap: 6px; color: #d7ddd4; font-size: 11px; font-weight: 750; }
.xs-profile-choice-field > input[type="hidden"] { display: none; }
.xs-character-choice-field > input[type="hidden"] { display: none; }
.xs-character-choice-field .xs-choice-button { min-height: 31px; }
.xs-class-button { display: inline-flex; align-items: center; gap: 5px; }
.xs-class-button .xs-choice-face { width: 24px; height: 24px; flex-basis: 24px; }
.xs-class-button .xs-choice-face i { display: none; }
.xs-class-button.is-active { color: #121a0c; }
.xs-character-row .xs-character-choice-field { min-width: 0; }
.xs-character-row > label:has(select[data-character="class"]) { display: none; }
@media (max-width:1180px) { .xs-character-row .xs-character-choice-field { grid-column: span 2; } }
@media (max-width:760px) { .xs-choice-buttons { gap: 4px; } .xs-choice-button { min-height: 30px; padding-inline: 8px; } }
.xs-class-face-image { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; image-rendering: auto; }
.xs-class-face:has(.xs-class-face-image) { background: #17211f; }
.xs-class-face:has(.xs-class-face-image)::before,
.xs-class-face:has(.xs-class-face-image)::after { display: none; }
.xs-class-face-image + i { position: absolute; z-index: 1; right: 3px; bottom: 2px; margin: 0; padding: 1px 3px; border-radius: 5px; background: rgba(6,10,10,.7); font-size: 7px; }
@media (max-width:1180px) { .xs-brand-mark { width: 54px; height: 54px; flex-basis: 54px; } }
@media (max-width:760px) {
    .xs-brand-mark { width: 48px; height: 48px; flex-basis: 48px; }
    .xs-publish-dialog { border-radius: 22px 22px 0 0; }
    .xs-publish-header { min-height: 91px; padding: 18px 58px 16px 18px; }
    .xs-publish-header-mark { width: 48px; height: 48px; flex-basis: 48px; }
    .xs-publish-header h2 { font-size: 20px; }
    #xs-publish-form .xs-publish-editor { padding: 18px 16px 19px; }
    #xs-publish-form .xs-publish-settings { gap: 10px; padding: 15px 16px; }
    .xs-publish-footer { padding: 14px 16px 16px; }
}

/* === Le Zaap 2.14 : overrides after the legacy cascade === */
.xs-class-face-image { object-fit: contain !important; padding: 3px; image-rendering: auto; }
.xs-class-face-image + i, .xs-class-face i { display: none !important; }
.xs-class-face:has(.xs-class-face-image)::before, .xs-class-face:has(.xs-class-face-image)::after { display: none !important; }
.xs-class-face { background: radial-gradient(circle at 50% 35%,rgba(255,255,255,.08),transparent 62%),#17211f; }
.xs-choice-face { width: 28px !important; height: 28px !important; flex-basis: 28px !important; border-radius: 9px !important; }
.xs-class-button { min-height: 35px; padding: 3px 9px 3px 5px; }
.xs-class-button .xs-choice-face { width: 28px !important; height: 28px !important; flex-basis: 28px !important; }
.xs-class-choice .xs-class-face { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; }
.xs-profile-editor form > label { align-self: start; min-width: 0; }
.xs-profile-editor select, .xs-character-row select { box-sizing: border-box; height: 42px; min-height: 42px; max-height: 42px; line-height: 1.2; align-self: start; }
.xs-profile-editor form > label > select, .xs-character-row > label > select { width: 100%; }
.xs-character-row { display: grid; grid-template-columns: 72px minmax(180px,1.2fr) minmax(145px,.9fr) minmax(180px,1fr); grid-template-areas: "portrait pseudo game server" "portrait class class class" "portrait level guild actions"; gap: 13px 14px; align-items: start; padding: 18px 0 15px; }
.xs-character-row-portrait { grid-area: portrait; align-self: stretch; min-height: 142px; padding: 13px 5px; border: 1px solid rgba(166,214,46,.10); border-radius: 15px; background: linear-gradient(160deg,rgba(166,214,46,.10),rgba(7,12,12,.32)); }
.xs-character-row-portrait .xs-character-editor-face { width: 52px; height: 52px; flex-basis: 52px; border-radius: 14px; }
.xs-character-row-portrait span { font-size: 8px; letter-spacing: .08em; }
.xs-character-pseudo { grid-area: pseudo; }
.xs-character-row > label:has([data-character="server"]) { grid-area: server; }
.xs-character-row > label.xs-character-choice-field:not(.xs-character-class-field) { grid-area: game; }
.xs-character-class-field { grid-area: class; min-width: 0; }
.xs-character-row > label:has([data-character="level"]) { grid-area: level; }
.xs-character-row > label:has([data-character="guild"]) { grid-area: guild; }
.xs-character-row-actions { grid-area: actions; grid-column: auto; align-self: end; min-height: 42px; margin: 0; padding: 0; border: 0; }
.xs-character-row-actions .xs-checkbox { min-height: 34px; margin-right: auto; }
.xs-character-row-actions .xs-danger-link { min-height: 34px; padding: 0 3px; }
.xs-character-row .xs-choice-buttons { margin-top: 6px; }
.xs-post-manage { top: 11px; right: 11px; gap: 2px; padding: 3px; border: 0; border-radius: 10px; background: rgba(7,11,12,.46); box-shadow: none; opacity: .68; }
.xs-post-manage:hover { opacity: 1; }
.xs-post-manage button { width: 28px; height: 28px; min-height: 28px; padding: 0; justify-content: center; border: 0; border-radius: 8px; font-size: 0; }
.xs-post-manage button span, .xs-post-manage button em { display: none; }
.xs-post-manage button::before { margin: 0; font-size: 15px; line-height: 1; }
.xs-post-manage button:hover, .xs-post-manage button:focus-visible { transform: none; border-color: transparent; background: rgba(166,214,46,.16); }
#lezaap-app.xs-video-mode #xs-feed { padding-left: 0; padding-right: 0; }
#lezaap-app.xs-video-mode .xs-video-mode-tabs { margin: 10px auto 12px; }
#lezaap-app.xs-video-mode .xs-video-deck { width: 100%; margin: 0; }
@media (max-width:1180px) and (min-width:761px) {
    .xs-character-row { grid-template-columns: 62px minmax(0,1fr) minmax(0,1fr); grid-template-areas: "portrait pseudo pseudo" "portrait game server" "portrait class class" "portrait level guild" "actions actions actions"; }
    .xs-character-row-portrait { min-height: 184px; }
    .xs-character-row-actions { grid-column: auto; }
}
@media (max-width:760px) {
    .xs-character-row { grid-template-columns: 56px minmax(0,1fr); grid-template-areas: "portrait pseudo" "portrait game" "portrait server" "portrait class" "portrait level" "portrait guild" "actions actions"; gap: 11px 10px; padding: 16px 0 14px; }
    .xs-character-row-portrait { min-height: 160px; }
    .xs-character-row-actions { grid-column: auto; }
    #lezaap-app.xs-video-mode #xs-feed { padding-left: 7px; padding-right: 7px; }
}

/* === Le Zaap 2.14 : cascade finale du profil et du fil vidéo === */
.xs-class-face-image { object-fit: contain !important; padding: 3px; image-rendering: auto; }
.xs-class-face-image + i, .xs-class-face i { display: none !important; }
.xs-class-face:has(.xs-class-face-image)::before, .xs-class-face:has(.xs-class-face-image)::after { display: none !important; }
.xs-class-face { background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.08), transparent 62%), #17211f; }
.xs-choice-face { width: 28px !important; height: 28px !important; flex-basis: 28px !important; border-radius: 9px !important; }
.xs-class-button { min-height: 35px; padding: 3px 9px 3px 5px; }
.xs-class-button .xs-choice-face { width: 28px !important; height: 28px !important; flex-basis: 28px !important; }
.xs-class-choice .xs-class-face { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; }
.xs-profile-editor form > label { align-self: start; min-width: 0; }
.xs-profile-editor select, .xs-character-row select { box-sizing: border-box; height: 42px; min-height: 42px; max-height: 42px; line-height: 1.2; align-self: start; }
.xs-profile-editor form > label > select, .xs-character-row > label > select { width: 100%; }

.xs-character-row {
    display: grid;
    grid-template-columns: 72px minmax(180px,1.2fr) minmax(145px,.9fr) minmax(180px,1fr);
    grid-template-areas: "portrait pseudo game server" "portrait class class class" "portrait level guild actions";
    gap: 13px 14px; align-items: start; padding: 18px 0 15px;
}
.xs-character-row-portrait { grid-area: portrait; align-self: stretch; min-height: 142px; padding: 13px 5px; border: 1px solid rgba(166,214,46,.10); border-radius: 15px; background: linear-gradient(160deg,rgba(166,214,46,.10),rgba(7,12,12,.32)); }
.xs-character-row-portrait .xs-character-editor-face { width: 52px; height: 52px; flex-basis: 52px; border-radius: 14px; }
.xs-character-row-portrait span { font-size: 8px; letter-spacing: .08em; }
.xs-character-pseudo { grid-area: pseudo; }
.xs-character-row > label:has([data-character="server"]) { grid-area: server; }
.xs-character-row > label.xs-character-choice-field:not(.xs-character-class-field) { grid-area: game; }
.xs-character-class-field { grid-area: class; min-width: 0; }
.xs-character-row > label:has([data-character="level"]) { grid-area: level; }
.xs-character-row > label:has([data-character="guild"]) { grid-area: guild; }
.xs-character-row-actions { grid-area: actions; grid-column: auto; align-self: end; min-height: 42px; margin: 0; padding: 0; border: 0; }
.xs-character-row-actions .xs-checkbox { min-height: 34px; margin-right: auto; }
.xs-character-row-actions .xs-danger-link { min-height: 34px; padding: 0 3px; }
.xs-character-row .xs-choice-buttons { margin-top: 6px; }

.xs-post-manage { top: 11px; right: 11px; gap: 2px; padding: 3px; border: 0; border-radius: 10px; background: rgba(7,11,12,.46); box-shadow: none; opacity: .68; }
.xs-post-manage:hover { opacity: 1; }
.xs-post-manage button { width: 28px; height: 28px; min-height: 28px; padding: 0; justify-content: center; border: 0; border-radius: 8px; font-size: 0; }
.xs-post-manage button span, .xs-post-manage button em { display: none; }
.xs-post-manage button::before { margin: 0; font-size: 15px; line-height: 1; }
.xs-post-manage button:hover, .xs-post-manage button:focus-visible { transform: none; border-color: transparent; background: rgba(166,214,46,.16); }

#lezaap-app.xs-video-mode #xs-feed { padding-left: 0; padding-right: 0; }
#lezaap-app.xs-video-mode .xs-video-mode-tabs { margin: 10px auto 12px; }
#lezaap-app.xs-video-mode .xs-video-deck { width: 100%; margin: 0; }
@media (max-width:1180px) and (min-width:761px) {
    .xs-character-row { grid-template-columns: 62px minmax(0,1fr) minmax(0,1fr); grid-template-areas: "portrait pseudo pseudo" "portrait game server" "portrait class class" "portrait level guild" "actions actions actions"; }
    .xs-character-row-portrait { min-height: 184px; }
    .xs-character-row-actions { grid-column: auto; }
}
@media (max-width:760px) {
    .xs-character-row { grid-template-columns: 56px minmax(0,1fr); grid-template-areas: "portrait pseudo" "portrait game" "portrait server" "portrait class" "portrait level" "portrait guild" "actions actions"; gap: 11px 10px; padding: 16px 0 14px; }
    .xs-character-row-portrait { min-height: 160px; }
    .xs-character-row-actions { grid-column: auto; }
    #lezaap-app.xs-video-mode #xs-feed { padding-left: 7px; padding-right: 7px; }
}

/* === Le Zaap 2.14 : profil compact, assets de classes HD et alignement vidéo === */
.xs-class-face-image { object-fit: contain !important; padding: 3px; image-rendering: auto; }
.xs-class-face-image + i,
.xs-class-face i { display: none !important; }
.xs-class-face:has(.xs-class-face-image)::before,
.xs-class-face:has(.xs-class-face-image)::after { display: none !important; }
.xs-class-face { background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.08), transparent 62%), #17211f; }
.xs-choice-face { width: 28px !important; height: 28px !important; flex-basis: 28px !important; border-radius: 9px !important; }
.xs-class-button { min-height: 35px; padding: 3px 9px 3px 5px; }
.xs-class-button .xs-choice-face { width: 28px !important; height: 28px !important; flex-basis: 28px !important; }
.xs-class-choice .xs-class-face { width: 40px; height: 40px; flex-basis: 40px; border-radius: 11px; }

.xs-profile-editor form > label { align-self: start; min-width: 0; }
.xs-profile-editor select,
.xs-character-row select { box-sizing: border-box; height: 42px; min-height: 42px; max-height: 42px; line-height: 1.2; align-self: start; }
.xs-profile-editor form > label > select,
.xs-character-row > label > select { width: 100%; }

.xs-character-row {
    display: grid;
    grid-template-columns: 72px minmax(180px, 1.2fr) minmax(145px, .9fr) minmax(180px, 1fr);
    grid-template-areas:
        "portrait pseudo game server"
        "portrait class class class"
        "portrait level guild actions";
    gap: 13px 14px;
    align-items: start;
    padding: 18px 0 15px;
}
.xs-character-row-portrait { grid-area: portrait; align-self: stretch; min-height: 142px; padding: 13px 5px; border: 1px solid rgba(166,214,46,.10); border-radius: 15px; background: linear-gradient(160deg, rgba(166,214,46,.10), rgba(7,12,12,.32)); }
.xs-character-row-portrait .xs-character-editor-face { width: 52px; height: 52px; flex-basis: 52px; border-radius: 14px; }
.xs-character-row-portrait span { font-size: 8px; letter-spacing: .08em; }
.xs-character-pseudo { grid-area: pseudo; }
.xs-character-row > label:has([data-character="server"]) { grid-area: server; }
.xs-character-row > label.xs-character-choice-field:not(.xs-character-class-field) { grid-area: game; }
.xs-character-class-field { grid-area: class; min-width: 0; }
.xs-character-row > label:has([data-character="level"]) { grid-area: level; }
.xs-character-row > label:has([data-character="guild"]) { grid-area: guild; }
.xs-character-row-actions { grid-area: actions; grid-column: auto; align-self: end; min-height: 42px; margin: 0; padding: 0; border: 0; }
.xs-character-row-actions .xs-checkbox { min-height: 34px; margin-right: auto; }
.xs-character-row-actions .xs-danger-link { min-height: 34px; padding: 0 3px; }
.xs-character-row .xs-choice-buttons { margin-top: 6px; }

.xs-post-manage { top: 11px; right: 11px; gap: 2px; padding: 3px; border: 0; border-radius: 10px; background: rgba(7,11,12,.46); box-shadow: none; opacity: .68; }
.xs-post-manage:hover { opacity: 1; }
.xs-post-manage button { width: 28px; height: 28px; min-height: 28px; padding: 0; justify-content: center; border: 0; border-radius: 8px; font-size: 0; }
.xs-post-manage button span,
.xs-post-manage button em { display: none; }
.xs-post-manage button::before { margin: 0; font-size: 15px; line-height: 1; }
.xs-post-manage button:hover,
.xs-post-manage button:focus-visible { transform: none; border-color: transparent; background: rgba(166,214,46,.16); }

#lezaap-app.xs-video-mode #xs-feed { padding-left: 0; padding-right: 0; }
#lezaap-app.xs-video-mode .xs-video-mode-tabs { margin: 10px auto 12px; }
#lezaap-app.xs-video-mode .xs-video-deck { width: 100%; margin: 0; }

@media (max-width:1180px) and (min-width:761px) {
    .xs-character-row {
        grid-template-columns: 62px minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "portrait pseudo pseudo"
            "portrait game server"
            "portrait class class"
            "portrait level guild"
            "actions actions actions";
    }
    .xs-character-row-portrait { min-height: 184px; }
    .xs-character-row-actions { grid-column: auto; }
}
@media (max-width:760px) {
    .xs-character-row {
        grid-template-columns: 56px minmax(0, 1fr);
        grid-template-areas:
            "portrait pseudo"
            "portrait game"
            "portrait server"
            "portrait class"
            "portrait level"
            "portrait guild"
            "actions actions";
        gap: 11px 10px;
        padding: 16px 0 14px;
    }
    .xs-character-row-portrait { min-height: 160px; }
    .xs-character-row-actions { grid-column: auto; }
    #lezaap-app.xs-video-mode #xs-feed { padding-left: 7px; padding-right: 7px; }
}

/* 2.13 : le mode vidéo conserve la navigation et la grille principale. */
#lezaap-app.xs-video-mode { grid-template-columns: 228px minmax(0,1fr) 310px; justify-content: stretch; min-height: 100vh; background: inherit; }
#lezaap-app.xs-video-mode .xs-sidebar-right { display: block !important; }
#lezaap-app.xs-video-mode .xs-feed-header { display: flex !important; }
#lezaap-app.xs-video-mode .xs-stories { display: flex !important; }
#lezaap-app.xs-video-mode .xs-composer-mini { display: block !important; }
#lezaap-app.xs-video-mode #xs-load-more { display: block !important; }
#lezaap-app.xs-video-mode .xs-main { height: auto; min-height: 100vh; overflow: visible; background: transparent; }
#lezaap-app.xs-video-mode #xs-feed { height: auto; min-height: 0; padding: 0 10px 24px; overflow: visible; background: transparent; }
#lezaap-app.xs-video-mode .xs-video-mode-tabs { position: sticky; top: 74px; left: auto; width: max-content; margin: 10px auto; transform: none; }
#lezaap-app.xs-video-mode .xs-video-deck { height: min(760px,calc(100vh - 150px)); min-height: 560px; border: 1px solid var(--xs-line); border-radius: 18px; overflow-y: auto; }
#lezaap-app.xs-video-mode .xs-video-slide { height: min(760px,calc(100vh - 150px)); min-height: 560px; border-radius: 17px !important; }
@media (max-width:1180px) and (min-width:921px) { #lezaap-app.xs-video-mode { grid-template-columns: 86px minmax(0,1fr) 300px; } }
@media (max-width:920px) and (min-width:761px) { #lezaap-app.xs-video-mode { grid-template-columns: minmax(0,1fr) 300px; } }
@media (max-width:760px) {
    #lezaap-app.xs-video-mode { display: block; min-height: 100dvh; }
    #lezaap-app.xs-video-mode .xs-sidebar-right { display: none !important; }
    #lezaap-app.xs-video-mode .xs-feed-header { display: flex !important; }
    #lezaap-app.xs-video-mode #xs-feed { padding: 0 7px 18px; }
    #lezaap-app.xs-video-mode .xs-video-mode-tabs { top: 60px; margin: 8px auto; }
    #lezaap-app.xs-video-mode .xs-video-deck,
    #lezaap-app.xs-video-mode .xs-video-slide { height: calc(100dvh - 145px); min-height: 510px; }
}

/* === Le Zaap 2.12 : fond pleine largeur et personnages lisibles === */
html:has(#lezaap-app),
body:has(#lezaap-app) {
    background: #090c0d !important;
    color-scheme: dark;
}

.xs-character-editor {
    overflow: hidden;
    padding: 18px 18px 8px;
    border-color: rgba(166, 214, 46, .17);
    background: linear-gradient(145deg, rgba(26, 35, 35, .96), rgba(15, 21, 22, .99));
}
.xs-character-editor > .xs-card-title { margin-bottom: 2px; }
.xs-character-editor > .xs-muted { max-width: 680px; margin-bottom: 10px; }
.xs-character-row {
    grid-template-columns: 64px repeat(3, minmax(0, 1fr));
    gap: 11px 12px;
    align-items: end;
    padding: 17px 0 13px;
    border-top: 1px solid rgba(255,255,255,.08);
}
.xs-character-row:first-child { border-top: 0; }
.xs-character-row-portrait {
    grid-row: span 2;
    align-self: stretch;
    align-content: center;
    min-width: 0;
    padding: 7px 0;
    border-radius: 14px;
    background: rgba(166,214,46,.055);
}
.xs-character-row-portrait span { max-width: 58px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xs-character-row > label { min-width: 0; }
.xs-character-row > label > input,
.xs-character-row > label > select { min-width: 0; width: 100%; }
.xs-character-row-actions {
    grid-column: 1 / -1;
    min-height: 34px;
    margin-top: 1px;
    padding-top: 9px;
    border-top: 1px solid rgba(255,255,255,.06);
}
.xs-character-row-actions .xs-checkbox { font-size: 12px; }
.xs-character-row-actions .xs-danger-link { width: auto; }

@media (max-width:1180px) and (min-width:761px) {
    .xs-character-row { grid-template-columns: 54px repeat(3, minmax(0, 1fr)); gap: 10px; }
    .xs-character-row-portrait { grid-row: span 2; }
}
@media (max-width:760px) {
    .xs-character-editor { padding: 16px 14px 8px; }
    .xs-character-row { grid-template-columns: 48px minmax(0,1fr); gap: 10px; padding: 15px 0 12px; }
    .xs-character-row-portrait { grid-row: span 3; }
    .xs-character-row-actions { grid-column: 1 / -1; }
}


/* PWA et notifications push — 2.5.1 */
.xs-pwa-panel,.xs-push-device{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--xs-border,#e1e5e8);border-radius:12px;background:var(--xs-surface-soft,#f7f9fa)}
.xs-pwa-panel p,.xs-push-device p{margin:4px 0 0}.xs-push-device{margin:4px 0 10px}.xs-push-device .xs-card-actions{justify-content:flex-end;flex-wrap:wrap}
.xs-notification-preference-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0}.xs-notification-preference-types fieldset{display:grid;gap:8px;border:1px solid var(--xs-border,#e1e5e8);border-radius:12px;padding:14px;margin:0;align-content:start}.xs-notification-preference-types legend{font-weight:800;padding:0 6px}.xs-notification-preference-types fieldset .xs-muted{grid-column:1/-1;margin:0 0 4px;font-size:.86rem}.xs-notification-paused{padding:10px 12px;border-radius:9px;background:#fff4d6;color:#6d4f00}
@media (max-width:700px){.xs-pwa-panel,.xs-push-device{align-items:flex-start;flex-direction:column}.xs-push-device .xs-card-actions{justify-content:flex-start}.xs-notification-preference-types{grid-template-columns:1fr}}


/* Temps réel léger — 2.5.2 */
.xs-thread-presence{display:block;color:var(--xs-muted);font-size:11px;min-height:15px}.xs-thread-presence.is-online{color:var(--xs-accent)}
.xs-typing-indicator{display:flex;align-items:center;gap:7px;min-height:24px;padding:2px 14px;color:var(--xs-muted)}.xs-typing-indicator[hidden]{display:none}.xs-typing-indicator>span,.xs-typing-indicator>span:before,.xs-typing-indicator>span:after{width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block;animation:xsTyping 1.1s infinite ease-in-out}.xs-typing-indicator>span{position:relative;margin:0 8px;animation-delay:-.16s}.xs-typing-indicator>span:before,.xs-typing-indicator>span:after{content:"";position:absolute;top:0}.xs-typing-indicator>span:before{left:-8px;animation-delay:-.32s}.xs-typing-indicator>span:after{left:8px}@keyframes xsTyping{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
@media (prefers-reduced-motion:reduce){.xs-typing-indicator>span,.xs-typing-indicator>span:before,.xs-typing-indicator>span:after{animation:none}}

/* Livraison vidéo optimisée 2.6.0 */
.xs-post-video-wrap{position:relative}.xs-video-processing-badge{position:absolute;top:12px;left:12px;z-index:3;padding:6px 9px;border-radius:999px;background:rgba(17,24,39,.82);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}.xs-video-processing-badge.is-warning{background:rgba(146,64,14,.86)}
.xs-video-processing-state{position:absolute;z-index:7;top:74px;left:18px;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}.xs-video-processing-state.is-warning{background:rgba(146,64,14,.72)}

/* Portefeuille et paiements en Jetons d’Astrub — 2.7.0 */
.xs-nav-item .xs-wallet-balance{margin-left:auto;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--xs-accent) 16%,transparent);font-size:11px}.xs-market-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.xs-wallet-pill{display:grid;gap:1px;min-width:128px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--xs-accent) 34%,var(--xs-border));border-radius:12px;background:color-mix(in srgb,var(--xs-accent) 7%,var(--xs-panel));color:var(--xs-text);text-align:left;cursor:pointer}.xs-wallet-pill span{color:var(--xs-muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.xs-wallet-pill strong{font-size:13px}.xs-payment-status{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:800}.xs-payment-status.is-paid{background:#dcfce7;color:#166534}.xs-payment-status.is-refunded{background:#fff7ed;color:#9a3412}
.xs-wallet-summary{display:grid;gap:7px;margin-bottom:18px;padding:22px;border:1px solid color-mix(in srgb,var(--xs-accent) 32%,var(--xs-border));border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--xs-accent) 12%,var(--xs-panel)),var(--xs-panel));box-shadow:0 10px 30px rgba(15,23,42,.05)}.xs-wallet-summary>span{color:var(--xs-muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.xs-wallet-summary>strong{font-size:clamp(28px,4vw,42px);line-height:1}.xs-wallet-summary>small{color:var(--xs-muted)}.xs-wallet-history{display:grid;gap:10px}.xs-wallet-transaction{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--xs-border);border-radius:15px;background:var(--xs-panel)}.xs-wallet-transaction.is-refunded{opacity:.8}.xs-wallet-transaction-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--xs-accent) 12%,transparent);font-size:20px}.xs-wallet-transaction-main{display:grid;gap:5px;min-width:0}.xs-wallet-transaction-main>div{display:grid;gap:2px}.xs-wallet-transaction-main span,.xs-wallet-transaction-main small{color:var(--xs-muted);font-size:12px}.xs-wallet-transaction-main a{font-size:12px}.xs-wallet-transaction-amount{display:grid;justify-items:end;gap:5px;text-align:right}.xs-wallet-transaction-amount>strong{font-size:17px}.xs-wallet-transaction-amount>small{color:var(--xs-muted);font-size:11px}
@media(max-width:720px){.xs-market-heading-actions{width:100%}.xs-market-heading-actions>*{flex:1}.xs-wallet-transaction{grid-template-columns:auto minmax(0,1fr)}.xs-wallet-transaction-amount{grid-column:2;justify-items:start;text-align:left}.xs-wallet-transaction-amount .xs-secondary{width:100%}}

/* Espace Xixou — 2.7.1 */
.xs-xixou-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.xs-xixou-summary>.xs-card{display:grid;gap:6px;min-height:118px;align-content:center}.xs-xixou-summary small{color:var(--xs-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.xs-xixou-summary strong{font-size:22px}.xs-xixou-summary span{color:var(--xs-muted);font-size:12px}.xs-xixou-balance{grid-template-columns:auto 1fr auto;align-items:center}.xs-xixou-balance>span{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--xs-accent) 14%,transparent);color:var(--xs-accent);font-size:22px}.xs-xixou-balance>div{display:grid;gap:4px}.xs-xixou-sync-panel{display:grid;gap:16px;margin-bottom:20px}.xs-xixou-sync-panel .xs-card-title>div{display:grid;gap:3px}.xs-xixou-sync-panel .xs-card-title p{margin:0;color:var(--xs-muted);font-size:13px}.xs-xixou-character-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.xs-xixou-character-columns>div{display:grid;gap:10px}.xs-xixou-character-columns h3{margin:0;font-size:14px}.xs-xixou-character-list{display:grid;gap:8px}.xs-xixou-character{position:relative;display:grid;gap:3px;padding:13px;border:1px solid var(--xs-border);border-radius:13px;background:color-mix(in srgb,var(--xs-panel) 94%,var(--xs-accent) 6%)}.xs-xixou-character strong{padding-right:96px}.xs-xixou-character small{color:var(--xs-muted)}.xs-xixou-character-source{position:absolute;top:9px;right:9px;padding:4px 7px;border-radius:999px;background:rgba(100,116,139,.12);font-size:10px;font-weight:800}.xs-xixou-character-source.is-legacy{background:color-mix(in srgb,var(--xs-accent) 12%,transparent);color:var(--xs-accent)}.xs-xixou-conflicts{display:grid;gap:7px;padding:13px;border:1px solid #fdba74;border-radius:13px;background:#fff7ed;color:#9a3412}.xs-xixou-conflicts p{margin:0;font-size:12px}.xs-xixou-conflicts>div{display:flex;flex-wrap:wrap;gap:6px}.xs-xixou-conflicts span{padding:4px 7px;border-radius:999px;background:rgba(154,52,18,.09);font-size:11px}.xs-xixou-tools-section{display:grid;gap:13px}.xs-xixou-tools-section .xs-card-title>div{display:grid;gap:3px}.xs-xixou-tools-section .xs-card-title p{margin:0;color:var(--xs-muted);font-size:13px}.xs-xixou-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.xs-xixou-tool{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border:1px solid var(--xs-border);border-radius:16px;background:var(--xs-panel);color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.xs-xixou-tool:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--xs-accent) 45%,var(--xs-border));box-shadow:0 10px 26px rgba(15,23,42,.08)}.xs-xixou-tool.is-recommended:before{content:'Recommandé';position:absolute;top:8px;right:38px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--xs-accent) 14%,transparent);color:var(--xs-accent);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.xs-xixou-tool-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--xs-accent) 12%,transparent);font-size:20px}.xs-xixou-tool>span:nth-child(2){display:grid;gap:4px;min-width:0}.xs-xixou-tool small{color:var(--xs-muted);line-height:1.35}.xs-xixou-tool em{color:var(--xs-accent);font-size:11px;font-style:normal;font-weight:700}.xs-xixou-tool>b{color:var(--xs-muted)}
@media(max-width:900px){.xs-xixou-summary{grid-template-columns:1fr}.xs-xixou-tools{grid-template-columns:1fr}}
@media(max-width:640px){.xs-xixou-character-columns{grid-template-columns:1fr}.xs-xixou-balance{grid-template-columns:auto 1fr}.xs-xixou-balance .xs-text-button{grid-column:1/-1;justify-self:start}.xs-xixou-sync-actions{display:grid}.xs-xixou-sync-actions button{width:100%}}

@media (min-width:761px) and (max-width:920px){
    .xs-app{padding-bottom:70px}
    .xs-mobile-nav{position:fixed;z-index:99990;left:0;right:0;bottom:0;height:64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));border-top:1px solid var(--xs-line);background:rgba(10,14,15,.96);backdrop-filter:blur(14px)}
    .xs-mobile-nav button{border:0;background:transparent;display:grid;place-content:center;gap:2px;color:var(--xs-muted);font-size:19px;cursor:pointer}
    .xs-mobile-nav button.is-active{color:var(--xs-accent)}
    .xs-mobile-nav small{font-size:8px}
}


/* Catalogue multijeu — 2.8.0 */
.xs-character-card p:first-of-type { line-height: 1.45; }
.xs-xixou-character small { line-height: 1.45; }
#xs-profile-form select[name="game"], #xs-profile-form select[name="server"], #xs-profile-form select[name="class"] { width: 100%; }

/* Modération et recours — 2.9.0 */
.xs-moderation-history{display:grid;gap:14px;margin:22px 0}.xs-moderation-history .xs-card-title>div{display:grid;gap:4px}.xs-moderation-history .xs-card-title p{margin:0;color:var(--xs-muted);font-size:13px}.xs-moderation-list{display:grid;gap:12px}.xs-moderation-item{display:grid;gap:12px;padding:16px;border:1px solid var(--xs-border);border-radius:16px;background:var(--xs-panel)}.xs-moderation-item header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.xs-moderation-item header>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.xs-moderation-item header small{color:var(--xs-muted);text-align:right}.xs-moderation-item>p{margin:0;white-space:pre-wrap}.xs-moderation-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(100,116,139,.12);font-size:10px;font-weight:900;text-transform:uppercase}.xs-moderation-status.is-active{background:#fee2e2;color:#991b1b}.xs-moderation-status.is-revoked{background:#dcfce7;color:#166534}.xs-moderation-status.is-expired{background:#f1f5f9;color:#475569}.xs-appeal-form,.xs-appeal-state{display:grid;gap:10px;padding:13px;border:1px solid color-mix(in srgb,var(--xs-accent) 28%,var(--xs-border));border-radius:13px;background:color-mix(in srgb,var(--xs-accent) 5%,var(--xs-panel))}.xs-appeal-form label{display:grid;gap:7px;font-weight:800}.xs-appeal-form textarea{width:100%;resize:vertical}.xs-appeal-form small,.xs-appeal-state p{margin:0;color:var(--xs-muted)}.xs-appeal-form .xs-primary,.xs-appeal-state .xs-secondary{justify-self:start}
@media(max-width:640px){.xs-moderation-item header{display:grid}.xs-moderation-item header small{text-align:left}.xs-appeal-form .xs-primary,.xs-appeal-state .xs-secondary{width:100%}}


/* Vérification anti-spam 2.9.1 */
.xs-post-card.is-moderation-pending{border-color:rgba(214,153,36,.55);box-shadow:0 0 0 1px rgba(214,153,36,.12)}
.xs-post-state.is-moderation{background:rgba(214,153,36,.15);color:#9b6500;border:1px solid rgba(214,153,36,.35)}
.xs-moderation-pending-notice{margin:10px 18px 4px;padding:12px 14px;border-radius:12px;background:rgba(214,153,36,.1);border:1px solid rgba(214,153,36,.28);display:flex;gap:6px;flex-direction:column}
.xs-moderation-pending-notice strong{font-size:.92rem}.xs-moderation-pending-notice span{font-size:.82rem;opacity:.78}

/* Sécurité des comptes 2.9.2 */
.xs-security-section{margin-top:24px;padding:20px;border:1px solid var(--xs-border);border-radius:18px;background:var(--xs-surface)}
.xs-security-preferences{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:14px;border:1px solid var(--xs-border);border-radius:14px;background:rgba(255,255,255,.02)}
.xs-security-preferences .xs-checkbox{flex:1 1 280px}
.xs-security-sessions,.xs-security-events{display:grid;gap:10px}
.xs-security-session,.xs-security-event{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--xs-border);border-radius:14px;background:rgba(255,255,255,.025)}
.xs-security-session>div,.xs-security-event>div{display:grid;gap:4px;min-width:0}
.xs-security-session small,.xs-security-event small{color:var(--xs-muted);font-size:12px}
.xs-security-session.is-current{border-color:rgba(166,214,46,.55);background:rgba(166,214,46,.07)}
.xs-security-current,.xs-security-checked{display:inline-flex;width:max-content;padding:3px 8px;border-radius:999px;background:rgba(166,214,46,.14);color:var(--xs-accent);font-size:11px;font-weight:800}
.xs-security-events-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin:24px 0 12px}.xs-security-events-heading h3,.xs-security-events-heading p{margin:0}.xs-security-events-heading p{color:var(--xs-muted);font-size:12px;margin-top:4px}
.xs-security-event{justify-content:flex-start}.xs-security-event>div{flex:1}.xs-security-event p{margin:2px 0 0;color:var(--xs-muted);font-size:12px}
.xs-security-event-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.06);font-weight:900}
.xs-security-event.is-warning{border-color:rgba(255,183,77,.35)}.xs-security-event.is-warning .xs-security-event-icon{background:rgba(255,183,77,.14);color:#ffb74d}
.xs-security-event.is-critical{border-color:rgba(255,92,92,.4)}.xs-security-event.is-critical .xs-security-event-icon{background:rgba(255,92,92,.14);color:#ff7777}
.xs-danger-button{border:1px solid rgba(255,92,92,.45);background:rgba(255,92,92,.09);color:#ff8a8a;border-radius:10px;padding:9px 13px;font-weight:800;cursor:pointer}
@media(max-width:760px){.xs-security-section{padding:14px}.xs-security-session,.xs-security-event{align-items:flex-start;flex-wrap:wrap}.xs-security-events-heading{align-items:stretch;flex-direction:column}.xs-security-events-heading .xs-secondary,.xs-security-preferences .xs-secondary,.xs-danger-button{width:100%}}

/* Double authentification 2.9.3 */
.xs-two-factor-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:16px;border:1px solid var(--xs-border);border-radius:16px;background:rgba(255,255,255,.025)}
.xs-two-factor-panel.is-enabled{border-color:rgba(166,214,46,.45);background:rgba(166,214,46,.06)}
.xs-two-factor-panel>div:first-child{display:grid;gap:6px}.xs-two-factor-panel p{margin:0;color:var(--xs-muted);font-size:13px}
.xs-two-factor-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.xs-two-factor-dialog{max-width:620px}.xs-two-factor-dialog form{display:grid;gap:14px}.xs-two-factor-dialog form label{display:grid;gap:6px}
.xs-two-factor-steps{margin:14px 0;padding-left:22px;color:var(--xs-muted)}.xs-two-factor-steps li+li{margin-top:7px}
.xs-two-factor-secret{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--xs-border);border-radius:14px;background:rgba(255,255,255,.025)}
.xs-two-factor-secret span{grid-column:1/-1;color:var(--xs-muted);font-size:12px}.xs-two-factor-secret code{overflow-wrap:anywhere;font-size:16px;letter-spacing:.08em}
.xs-two-factor-app-link{display:inline-flex;text-decoration:none}
.xs-two-factor-recovery p{color:var(--xs-muted)}.xs-two-factor-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}
.xs-two-factor-codes code{display:block;padding:10px;border:1px solid var(--xs-border);border-radius:10px;background:rgba(255,255,255,.035);text-align:center;letter-spacing:.08em}
@media(max-width:760px){.xs-two-factor-panel{align-items:stretch;flex-direction:column}.xs-two-factor-panel .xs-card-actions,.xs-two-factor-panel button{width:100%}.xs-two-factor-codes{grid-template-columns:1fr}.xs-two-factor-secret{grid-template-columns:1fr}.xs-two-factor-secret span{grid-column:auto}.xs-two-factor-secret button{width:100%}}

/* Obligation 2FA de l’équipe 2.9.4 */
.xs-security-enforcement-notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,183,77,.35);background:rgba(255,183,77,.12);color:inherit}
.xs-security-enforcement-notice strong{font-size:13px}.xs-security-enforcement-notice span{font-size:12px;color:var(--xs-muted)}
.xs-security-enforcement-notice.is-blocked{background:rgba(255,92,92,.12);border-color:rgba(255,92,92,.45)}
.xs-two-factor-panel.is-required{border-color:rgba(255,92,92,.55);background:rgba(255,92,92,.07)}
.xs-two-factor-enforced .xs-publish-open{display:none}
@media(max-width:760px){.xs-security-enforcement-notice{grid-template-columns:1fr}.xs-security-enforcement-notice .xs-secondary{width:100%}}
.xs-notification-schedule{margin:0;padding:14px;border:1px solid var(--xs-border,#e1e5e8);border-radius:12px;background:var(--xs-panel-2,#f7f9fa);display:grid;gap:10px}.xs-notification-schedule legend{padding:0 6px;font-weight:800}.xs-notification-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.xs-notification-schedule small{color:var(--xs-muted,#667085)}.xs-notification-schedule input[type="time"],.xs-notification-schedule select{width:100%}.xs-digest-weekday[hidden]{display:none!important}@media (max-width:700px){.xs-notification-schedule-grid{grid-template-columns:1fr}}

/* Continuité de service 2.9.8 */
.xs-maintenance-notice {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    background: #fff7d6;
    border: 1px solid #e4c65f;
    color: #4d3a00;
    position: sticky;
    top: 0;
    z-index: 45;
}
.xs-maintenance-notice strong { white-space: nowrap; }
.xs-maintenance-notice.is-bypass { background: #eaf6ff; border-color: #76b6df; color: #123f5a; }
.xs-maintenance-read-only .xs-composer-mini,
.xs-maintenance-read-only .xs-publish-open { display: none !important; }
.xs-maintenance-screen {
    min-height: min(720px, 80vh);
    display: grid;
    place-items: center;
    padding: 32px 18px;
    background: radial-gradient(circle at top, rgba(166, 214, 46, .16), transparent 45%);
}
.xs-maintenance-screen-card {
    width: min(620px, 100%);
    padding: 40px;
    text-align: center;
    background: #fff;
    border: 1px solid rgba(24, 30, 19, .12);
    border-radius: 20px;
    box-shadow: 0 18px 55px rgba(15, 24, 10, .12);
}
.xs-maintenance-symbol {
    display: inline-grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: var(--xs-accent, #a6d62e);
    color: #172000;
    font-size: 28px;
    margin-bottom: 14px;
}
.xs-maintenance-screen-card h1 { margin: 0 0 14px; }
.xs-maintenance-screen-card p { font-size: 16px; line-height: 1.6; }
@media (max-width: 720px) {
    .xs-maintenance-notice { align-items: flex-start; flex-direction: column; gap: 4px; }
    .xs-maintenance-screen-card { padding: 28px 22px; }
}

/* === Le Zaap 2.9.9 : interface unifiée et fil stabilisé === */
.xs-app input[type="number"] {
    appearance: textfield;
    -moz-appearance: textfield;
}
.xs-app input[type="number"]::-webkit-inner-spin-button,
.xs-app input[type="number"]::-webkit-outer-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.xs-sidebar-left {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
}
.xs-main-nav { display: flex; flex: 0 0 auto; flex-direction: column; gap: 10px; }
.xs-nav-primary { display: grid; gap: 3px; }
.xs-nav-inbox {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px;
    padding: 10px 0;
    border-top: 1px solid var(--xs-line);
    border-bottom: 1px solid var(--xs-line);
}
.xs-nav-inbox .xs-nav-item {
    position: relative;
    min-height: 58px;
    padding: 8px 5px;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    text-align: center;
}
.xs-nav-inbox .xs-nav-item > span { width: auto; line-height: 1; }
.xs-nav-inbox .xs-nav-item em { font-size: 10px; font-style: normal; }
.xs-nav-inbox .xs-badge,
.xs-nav-inbox .xs-messages-badge { position: absolute; top: 5px; right: 8px; margin: 0; }
.xs-nav-more { position: relative; }
.xs-nav-more > summary {
    min-height: 42px;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 9px;
    color: var(--xs-muted);
    cursor: pointer;
    list-style: none;
    font-weight: 750;
}
.xs-nav-more > summary::-webkit-details-marker { display: none; }
.xs-nav-more > summary:hover,
.xs-nav-more[open] > summary { color: var(--xs-accent); background: rgba(166,214,46,.08); }
.xs-nav-more > summary > span { width: 20px; text-align: center; letter-spacing: 2px; }
.xs-nav-more-panel { display: grid; gap: 3px; padding: 5px 0 0 9px; }
.xs-nav-more-panel .xs-nav-item { color: var(--xs-muted); font-size: 12px; }
.xs-sidebar-left > .xs-primary { flex: 0 0 auto; margin-top: 14px; }
.xs-mini-profile {
    position: static;
    left: auto;
    right: auto;
    bottom: auto;
    flex: 0 0 auto;
    width: 100%;
    margin-top: auto;
}

.xs-post-actions {
    min-height: 58px;
    height: auto;
    padding: 8px 12px;
    gap: 6px;
}
.xs-post-actions button,
.xs-post-actions a {
    min-width: 0;
    min-height: 40px;
    padding: 7px 10px;
    flex: 1 1 auto;
    justify-content: center;
    gap: 7px;
    border-radius: 10px;
    transition: color .16s ease, background .16s ease, transform .16s ease;
}
.xs-post-actions button:hover {
    color: var(--xs-text);
    background: rgba(255,255,255,.055);
    transform: translateY(-1px);
}
.xs-post-actions button:disabled { opacity: .4; cursor: not-allowed; transform: none; }
.xs-post-actions .xs-bookmark { flex: 0 0 42px; margin-left: 0; }
.xs-action-icon { display: inline-grid; width: 20px; height: 20px; place-items: center; }
.xs-action-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.xs-action-label { font-size: 11px; font-weight: 750; }
.xs-post-actions b { min-width: 10px; font-size: 10px; }
.xs-post-actions .xs-like.is-liked { color: #ff607d; background: rgba(255,96,125,.09); }
.xs-post-actions .xs-like.is-liked svg { fill: currentColor; }
.xs-post-actions .xs-repost.is-reposted,
.xs-post-actions .xs-bookmark.is-bookmarked { color: var(--xs-accent); background: rgba(166,214,46,.09); }
.xs-post-actions .xs-bookmark { font-size: inherit; }

.xs-profile-editor { padding: 18px 16px 90px; }
.xs-profile-editor-card {
    padding: clamp(18px,3vw,28px);
    border: 1px solid var(--xs-line);
    border-radius: 18px;
    background: linear-gradient(180deg,rgba(24,31,31,.98),rgba(16,21,22,.98));
    box-shadow: var(--xs-shadow);
}
.xs-profile-editor-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--xs-line);
}
.xs-profile-editor-header h1 { margin: 2px 0 6px; font-size: clamp(24px,4vw,32px); }
.xs-profile-editor-header p { margin: 0; color: var(--xs-muted); }
.xs-profile-editor form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.xs-profile-editor form > label,
.xs-profile-media-field label { display: grid; gap: 6px; color: #d7ddd4; font-size: 11px; font-weight: 750; }
.xs-profile-editor .xs-full,
.xs-profile-editor form > .xs-primary,
.xs-profile-editor form > .xs-secondary,
.xs-profile-editor form > .xs-form-status { grid-column: 1 / -1; }
.xs-profile-editor input,
.xs-profile-editor select,
.xs-profile-editor textarea {
    width: 100%;
    min-height: 42px;
    padding: 10px 11px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 9px;
    outline: 0;
    color: var(--xs-text);
    background: #0e1314;
}
.xs-profile-editor input:focus,
.xs-profile-editor select:focus,
.xs-profile-editor textarea:focus { border-color: rgba(166,214,46,.6); box-shadow: 0 0 0 3px rgba(166,214,46,.08); }
.xs-profile-media-field {
    display: grid;
    grid-template-columns: 74px minmax(0,1fr);
    align-items: center;
    gap: 13px;
    min-height: 96px;
    padding: 12px;
    border: 1px solid var(--xs-line);
    border-radius: 13px;
    background: rgba(255,255,255,.025);
}
.xs-profile-avatar-preview { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; background: var(--xs-panel-3); }
.xs-profile-banner-preview { width: 110px; height: 62px; border-radius: 9px; background: radial-gradient(circle at 30% 20%,rgba(166,214,46,.3),transparent 35%),var(--xs-panel-3); background-position: center; background-size: cover; }
.xs-profile-banner-field { grid-template-columns: 110px minmax(0,1fr); }

.xs-dialog-card { width: min(460px,100%); overflow: visible; text-align: center; }
.xs-dialog-icon { display: grid; width: 48px; height: 48px; margin: 0 auto 13px; place-items: center; border-radius: 15px; color: var(--xs-accent); background: rgba(166,214,46,.1); font-size: 24px; }
.xs-dialog-card h2 { margin: 0 36px 8px; }
.xs-dialog-message { margin: 0 auto 18px; max-width: 360px; color: var(--xs-muted); white-space: pre-line; }
.xs-dialog-field { display: grid; gap: 6px; margin: 0 0 18px; text-align: left; color: var(--xs-muted); font-size: 11px; font-weight: 750; }
.xs-dialog-input { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--xs-line); border-radius: 10px; outline: 0; color: var(--xs-text); background: #0e1314; }
.xs-dialog-input:focus { border-color: rgba(166,214,46,.6); box-shadow: 0 0 0 3px rgba(166,214,46,.08); }
.xs-dialog-actions,
.xs-dialog-choices { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; }
.xs-dialog-actions > *,
.xs-dialog-choices > * { flex: 1 1 150px; }
.xs-dialog-confirm.is-danger { color: #fff!important; background: linear-gradient(135deg,#d64a57,#a52e3a); box-shadow: none; }

/* Le mode vidéo est une page centrée : ne recrée pas une troisième colonne
   (la barre latérale droite est masquée dans ce mode). Cette ancienne règle
   ajoutait une colonne invisible et provoquait un décalage/rognage à 1024–1280px. */
#lezaap-app.xs-video-mode { grid-template-columns: 228px minmax(0, 1fr) 310px; justify-content: stretch; }

@media (max-width:900px) {
    .xs-sidebar-left { display: none; }
}
@media (max-width:1180px) and (min-width:981px) {
    #lezaap-app.xs-video-mode { grid-template-columns: 86px minmax(0, 1fr) 300px; }
    .xs-nav-inbox { grid-template-columns: 1fr; }
    .xs-nav-inbox .xs-nav-item em,
    .xs-nav-more > summary { font-size: 0; }
    .xs-nav-more > summary { justify-content: center; padding: 11px 0; }
    .xs-nav-more > summary > span { font-size: 18px; }
    .xs-nav-more-panel { padding-left: 0; }
}
@media (max-width:760px) {
    .xs-profile-editor { padding: 12px 10px 90px; }
    .xs-profile-editor-card { padding: 17px 14px; }
    .xs-profile-editor-header { flex-direction: column; }
    .xs-profile-editor-header .xs-secondary { width: 100%; }
    .xs-profile-editor form { grid-template-columns: 1fr; }
    .xs-profile-editor form > *,
    .xs-profile-editor .xs-full { grid-column: 1; }
    .xs-action-label { display: none; }
    .xs-post-actions button { padding-left: 7px; padding-right: 7px; }
}
@media (max-width:420px) {
    .xs-profile-media-field,
    .xs-profile-banner-field { grid-template-columns: 1fr; }
    .xs-profile-banner-preview { width: 100%; height: 92px; }
    .xs-post-actions { gap: 2px; padding-left: 7px; padding-right: 7px; }
    .xs-post-actions .xs-share { display: none; }
}

/* Publication : actions discrètes mais réellement actionnables. */
.xs-post-manage {
    top: 14px;
    right: 14px;
    gap: 5px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 12px;
    background: rgba(10,14,15,.72);
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    backdrop-filter: blur(12px);
}
.xs-post-manage button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 30px;
    padding: 0 8px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #b5beb9;
    background: transparent;
    font-size: 11px;
    font-weight: 750;
    transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}
.xs-post-manage button span { font-size: 15px; line-height: 1; }
.xs-post-manage .xs-post-edit::before { content: '✎'; font-size: 14px; line-height: 1; }
.xs-post-manage .xs-post-pin::before { content: '⌖'; font-size: 14px; line-height: 1; }
.xs-post-manage .xs-post-delete::before { content: '⌫'; font-size: 14px; line-height: 1; }
.xs-post-manage button em { font-style: normal; }
.xs-post-manage button:hover,
.xs-post-manage button:focus-visible { color: var(--xs-text); border-color: rgba(166,214,46,.35); background: rgba(166,214,46,.10); transform: translateY(-1px); outline: 0; }
.xs-post-manage button.is-active { color: var(--xs-accent); background: rgba(166,214,46,.12); }
.xs-post-manage .xs-post-delete:hover,
.xs-post-manage .xs-post-delete:focus-visible { color: #ff8790; border-color: rgba(255,105,117,.32); background: rgba(255,105,117,.10); }

/* Le fil vidéo reste dans la grille de l’application : les menus et la barre
   de navigation ne sautent plus quand on ouvre l’onglet. */
#lezaap-app.xs-video-mode {
    grid-template-columns: 228px minmax(0, 1fr) 310px;
    justify-content: stretch;
    min-height: 100vh;
    background: inherit;
}
#lezaap-app.xs-video-mode .xs-sidebar-right { display: block !important; }
#lezaap-app.xs-video-mode .xs-feed-header { display: flex !important; }
#lezaap-app.xs-video-mode .xs-stories { display: flex !important; }
#lezaap-app.xs-video-mode .xs-composer-mini { display: block !important; }
#lezaap-app.xs-video-mode #xs-load-more { display: block !important; }
#lezaap-app.xs-video-mode .xs-main { height: auto; min-height: 100vh; overflow: visible; background: transparent; }
#lezaap-app.xs-video-mode #xs-feed { height: auto; min-height: 0; padding: 0 10px 24px; overflow: visible; background: transparent; }
#lezaap-app.xs-video-mode .xs-video-mode-tabs { position: sticky; top: 74px; left: auto; width: max-content; margin: 10px auto; transform: none; }
#lezaap-app.xs-video-mode .xs-video-deck { height: min(760px, calc(100vh - 150px)); min-height: 560px; border: 1px solid var(--xs-line); border-radius: 18px; overflow-y: auto; }
#lezaap-app.xs-video-mode .xs-video-slide { height: min(760px, calc(100vh - 150px)); min-height: 560px; border-radius: 17px !important; }
@media (max-width:1180px) and (min-width:921px) {
    #lezaap-app.xs-video-mode { grid-template-columns: 86px minmax(0,1fr) 300px; }
}
@media (max-width:920px) and (min-width:761px) {
    #lezaap-app.xs-video-mode { grid-template-columns: minmax(0,1fr) 300px; }
}
@media (max-width:760px) {
    #lezaap-app.xs-video-mode { display: block; min-height: 100dvh; }
    #lezaap-app.xs-video-mode .xs-sidebar-right { display: none !important; }
    #lezaap-app.xs-video-mode .xs-feed-header { display: flex !important; }
    #lezaap-app.xs-video-mode #xs-feed { padding: 0 7px 18px; }
    #lezaap-app.xs-video-mode .xs-video-mode-tabs { top: 60px; margin: 8px auto; }
    #lezaap-app.xs-video-mode .xs-video-deck,
    #lezaap-app.xs-video-mode .xs-video-slide { height: calc(100dvh - 145px); min-height: 510px; }
}

/* === Le Zaap 2.10 : navigation, profils et composition === */
.xs-app {
    width: min(100%, 1640px);
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 228px minmax(0, 1fr) 310px;
}
.xs-sidebar { height: auto; min-height: 0; overflow: visible; }
.xs-sidebar-left { min-height: 100vh; display: flex; flex-direction: column; }
.xs-mini-profile { position: static; margin-top: auto; }
.xs-brand { width: 100%; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; }
.xs-brand:hover strong { color: var(--xs-accent); }
.xs-brand-mark { width: 48px; height: 48px; flex: 0 0 48px; object-fit: contain; filter: drop-shadow(0 8px 14px rgba(92, 195, 69, .2)); }
.xs-brand-egg { flex: 0 0 auto; }
.xs-staff-badge { display: inline-flex; align-items: center; min-height: 19px; margin-left: 6px; padding: 2px 7px; border: 1px solid currentColor; border-radius: 999px; font-size: 9px; font-weight: 900; line-height: 1; letter-spacing: .03em; vertical-align: 2px; white-space: nowrap; }
.xs-staff-badge.is-admin { color: #ffd27a; background: rgba(236, 173, 57, .12); }
.xs-staff-badge.is-moderator { color: #b7e67e; background: rgba(166, 214, 46, .12); }

.xs-class-face { --xs-class-hue: 100; position: relative; display: inline-grid; place-items: end center; width: 48px; height: 48px; flex: 0 0 48px; overflow: hidden; border: 1px solid hsl(var(--xs-class-hue) 52% 62% / .52); border-radius: 50% 50% 43% 43%; background: radial-gradient(circle at 50% 68%, hsl(var(--xs-class-hue) 48% 77%) 0 18%, transparent 19%), radial-gradient(ellipse at 50% 31%, hsl(var(--xs-class-hue) 49% 38%) 0 36%, transparent 37%), linear-gradient(155deg, hsl(var(--xs-class-hue) 42% 26%), hsl(var(--xs-class-hue) 36% 12%)); box-shadow: inset 0 0 0 3px rgba(0, 0, 0, .15), 0 7px 17px rgba(0, 0, 0, .17); }
.xs-class-face::before { content: ''; position: absolute; top: 14px; width: 19px; height: 22px; border-radius: 48% 48% 42% 42%; background: linear-gradient(145deg, #f4d0ad, #a96f53); box-shadow: 0 -9px 0 3px hsl(var(--xs-class-hue) 48% 26%); }
.xs-class-face::after { content: ''; position: absolute; width: 35px; height: 17px; bottom: -7px; border-radius: 50% 50% 0 0; background: hsl(var(--xs-class-hue) 35% 29%); }
.xs-class-face i { position: relative; z-index: 1; margin-bottom: 3px; color: #fff8e5; font-size: 9px; font-style: normal; font-weight: 950; letter-spacing: -.04em; text-shadow: 0 1px 3px #000; }
.xs-class-face-small { width: 34px; height: 34px; flex-basis: 34px; }
.xs-class-face-small::before { top: 10px; width: 14px; height: 16px; box-shadow: 0 -7px 0 2px hsl(var(--xs-class-hue) 48% 26%); }
.xs-class-face-small::after { width: 26px; height: 12px; }
.xs-class-face-small i { margin-bottom: 1px; font-size: 7px; }

.xs-profile-class-list { display: flex; flex-wrap: wrap; gap: 9px; }
.xs-profile-class-list > span { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 5px; border: 1px solid var(--xs-line); border-radius: 999px; background: rgba(255, 255, 255, .025); }
.xs-profile-class-list b { font-size: 12px; }
.xs-character-card { grid-template-columns: 56px minmax(0, 1fr); min-height: 98px; padding: 15px; background: linear-gradient(145deg, rgba(34, 44, 44, .95), rgba(20, 26, 27, .98)); }
.xs-character-card .xs-class-face { width: 52px; height: 52px; flex-basis: 52px; }
.xs-character-card .xs-class-face::before { top: 15px; }
.xs-character-card h3 { overflow-wrap: anywhere; }
.xs-character-card p { margin-top: 3px; line-height: 1.4; }

.xs-preferred-classes { margin: 0; padding: 15px; border: 1px solid var(--xs-line); border-radius: 14px; background: linear-gradient(145deg, rgba(166, 214, 46, .07), rgba(255, 255, 255, .018)); }
.xs-preferred-classes legend { padding: 0 6px; font-size: 13px; font-weight: 850; }
.xs-preferred-classes > p { margin: 0 0 12px; color: var(--xs-muted); font-size: 12px; }
.xs-preferred-class-options { display: grid; grid-template-columns: repeat(auto-fill, minmax(134px, 1fr)); gap: 8px; }
.xs-class-choice { position: relative; display: block; cursor: pointer; }
.xs-class-choice input { position: absolute; opacity: 0; pointer-events: none; }
.xs-class-choice > span { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 5px 8px 5px 5px; border: 1px solid var(--xs-line); border-radius: 11px; background: rgba(10, 14, 15, .55); transition: border-color .18s ease, transform .18s ease, background .18s ease; }
.xs-class-choice .xs-class-face { width: 38px; height: 38px; flex-basis: 38px; }
.xs-class-choice .xs-class-face::before { top: 11px; width: 15px; height: 17px; box-shadow: 0 -7px 0 2px hsl(var(--xs-class-hue) 48% 26%); }
.xs-class-choice .xs-class-face::after { width: 27px; height: 12px; }
.xs-class-choice .xs-class-face i { margin-bottom: 1px; font-size: 7px; }
.xs-class-choice b { min-width: 0; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xs-class-choice input:checked + span { border-color: var(--xs-accent); background: rgba(166, 214, 46, .13); box-shadow: 0 0 0 2px rgba(166, 214, 46, .1); transform: translateY(-1px); }

.xs-character-editor { padding: 18px; border-radius: 16px; background: linear-gradient(145deg, rgba(26, 34, 35, .94), rgba(18, 23, 24, .98)); }
.xs-character-editor > .xs-muted { margin: 0 0 13px; }
.xs-character-row { grid-template-columns: 56px minmax(145px, 1.15fr) minmax(115px, .8fr) minmax(135px, 1fr) minmax(130px, .9fr) 82px minmax(130px, .9fr); gap: 10px; align-items: end; padding: 16px 0; }
.xs-character-row-portrait { display: grid; justify-items: center; gap: 4px; align-self: center; color: var(--xs-muted); font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.xs-character-editor-face { width: 48px; height: 48px; }
.xs-character-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; grid-column: 1 / -1; }
.xs-character-row-actions .xs-checkbox { min-height: 34px; margin-right: auto; }
.xs-character-row-actions .xs-danger-link { min-height: 34px; padding: 0 4px; }

.xs-publish-dialog { width: min(900px, 100%); padding: 0; overflow: hidden; border-radius: 20px; background: linear-gradient(145deg, #182021, #101617 62%); }
.xs-publish-header { display: flex; align-items: center; gap: 12px; min-height: 92px; padding: 21px 68px 18px 24px; border-bottom: 1px solid var(--xs-line); background: radial-gradient(circle at 11% 30%, rgba(166, 214, 46, .17), transparent 30%), rgba(255, 255, 255, .018); }
.xs-publish-header-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; color: var(--xs-accent); background: rgba(166, 214, 46, .12); box-shadow: inset 0 0 0 1px rgba(166, 214, 46, .18); }
.xs-publish-header h2 { margin: 0; font-size: 22px; }
.xs-publish-header p { margin: 3px 0 0; color: var(--xs-muted); font-size: 12px; }
#xs-publish-form { display: grid; grid-template-columns: minmax(0, 1fr) 228px; gap: 0; }
#xs-publish-form .xs-publish-editor { display: grid; gap: 13px; min-width: 0; padding: 20px 22px; }
#xs-publish-form .xs-publish-settings { display: grid; align-content: start; gap: 12px; padding: 20px 18px; border-left: 1px solid var(--xs-line); background: rgba(0, 0, 0, .12); }
.xs-publish-settings-title { display: grid; gap: 2px; margin-bottom: 2px; }
.xs-publish-settings-title span { font-size: 12px; font-weight: 900; }
.xs-publish-settings-title small, .xs-publish-hint { color: var(--xs-muted); font-size: 11px; line-height: 1.45; }
.xs-publish-message > span { font-size: 12px; }
#xs-publish-form .xs-publish-message textarea { min-height: 150px; padding: 15px; border-radius: 13px; background: rgba(4, 8, 9, .42); font-size: 15px; line-height: 1.5; }
.xs-publish-hint { margin: -6px 0 0; }
.xs-publish-media { padding: 12px; border: 1px dashed rgba(166, 214, 46, .38); border-radius: 12px; background: rgba(166, 214, 46, .045); }
.xs-publish-media input { margin-top: 4px; }
.xs-publish-media small { color: var(--xs-muted); font-weight: 500; }
#xs-publish-form .xs-publish-editor .xs-poll-fields, #xs-publish-form .xs-publish-editor .xs-lfg-fields { grid-column: auto; }
.xs-publish-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; grid-column: 1 / -1; padding: 16px 22px; border-top: 1px solid var(--xs-line); background: rgba(0, 0, 0, .12); }
.xs-publish-footer .xs-form-status { min-width: 0; margin: 0; text-align: right; }
.xs-publish-actions { display: flex; gap: 9px; }
.xs-publish-actions .xs-primary, .xs-publish-actions .xs-secondary { min-height: 42px; }

@media (max-width: 1450px) {
    .xs-character-row { grid-template-columns: 50px repeat(2, minmax(0, 1fr)); }
    .xs-character-row-portrait { grid-row: span 2; }
    .xs-character-row .xs-character-pseudo { grid-column: span 2; }
}
@media (max-width: 1180px) {
    .xs-app { grid-template-columns: 86px minmax(0, 1fr) 300px; }
    .xs-brand-mark { width: 46px; height: 46px; }
}
@media (max-width: 920px) {
    .xs-app { grid-template-columns: minmax(0, 1fr) 290px; }
    .xs-sidebar-left { display: none; }
}
@media (max-width: 760px) {
    .xs-app { width: 100%; margin-left: auto; margin-right: auto; }
    .xs-publish-dialog { border-radius: 20px 20px 0 0; }
    #xs-publish-form { grid-template-columns: 1fr; }
    #xs-publish-form .xs-publish-editor { padding: 16px; }
    #xs-publish-form .xs-publish-settings { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 15px 16px; border-top: 1px solid var(--xs-line); border-left: 0; }
    .xs-publish-settings-title, #xs-publish-form .xs-publish-settings .xs-checkbox { grid-column: 1 / -1; }
    .xs-publish-footer { align-items: stretch; flex-direction: column; padding: 14px 16px; }
    .xs-publish-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .xs-publish-footer .xs-form-status { text-align: left; }
    .xs-character-row { grid-template-columns: 48px 1fr; }
    .xs-character-row-portrait { grid-row: span 3; }
    .xs-character-row .xs-character-pseudo { grid-column: auto; }
    .xs-character-row > label { grid-column: span 1; }
    .xs-character-row-actions { grid-column: 1 / -1; }
    .xs-preferred-class-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* === Le Zaap 2.12 : cascade finale fond et personnages === */
html:has(#lezaap-app), body:has(#lezaap-app) { background: #090c0d !important; color-scheme: dark; }
.xs-character-editor { overflow: hidden; padding: 18px 18px 8px; border-color: rgba(166,214,46,.17); background: linear-gradient(145deg,rgba(26,35,35,.96),rgba(15,21,22,.99)); }
.xs-character-editor > .xs-card-title { margin-bottom: 2px; }
.xs-character-editor > .xs-muted { max-width: 680px; margin-bottom: 10px; }
.xs-character-row { grid-template-columns: 64px repeat(3,minmax(0,1fr)); gap: 11px 12px; align-items: end; padding: 17px 0 13px; border-top: 1px solid rgba(255,255,255,.08); }
.xs-character-row:first-child { border-top: 0; }
.xs-character-row-portrait { grid-row: span 2; align-self: stretch; align-content: center; min-width: 0; padding: 7px 0; border-radius: 14px; background: rgba(166,214,46,.055); }
.xs-character-row-portrait span { max-width: 58px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xs-character-row > label { min-width: 0; }
.xs-character-row > label > input,.xs-character-row > label > select { min-width: 0; width: 100%; }
.xs-character-row-actions { grid-column: 1 / -1; min-height: 34px; margin-top: 1px; padding-top: 9px; border-top: 1px solid rgba(255,255,255,.06); }
.xs-character-row-actions .xs-checkbox { font-size: 12px; }
.xs-character-row-actions .xs-danger-link { width: auto; }
@media (max-width:1180px) and (min-width:761px) { .xs-character-row { grid-template-columns: 54px repeat(3,minmax(0,1fr)); gap: 10px; } .xs-character-row-portrait { grid-row: span 2; } }
@media (max-width:760px) { .xs-character-editor { padding: 16px 14px 8px; } .xs-character-row { grid-template-columns: 48px minmax(0,1fr); gap: 10px; padding: 15px 0 12px; } .xs-character-row-portrait { grid-row: span 3; } .xs-character-row-actions { grid-column: 1 / -1; } }

/* === Le Zaap 2.11 : cascade finale marque/compositeur === */
.xs-brand { gap: 14px; padding: 12px 8px 24px; align-items: center; }
.xs-brand-mark { width: 62px; height: 62px; flex: 0 0 62px; object-fit: contain; filter: drop-shadow(0 9px 16px rgba(43,215,185,.24)); }
.xs-brand > span { min-width: 0; }
.xs-brand strong { font-size: 27px; letter-spacing: .2px; }
.xs-brand small { margin-top: 7px; font-size: 9px; letter-spacing: .075em; line-height: 1.25; text-transform: uppercase; }
.xs-brand:hover .xs-brand-mark { filter: drop-shadow(0 11px 20px rgba(43,215,185,.38)); }
.xs-publish-dialog { width: min(980px,100%); border: 1px solid rgba(145,221,205,.18); border-radius: 24px; background: linear-gradient(145deg,#172122 0%,#101617 72%); box-shadow: 0 34px 100px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.025); }
.xs-publish-header { min-height: 104px; gap: 15px; padding: 22px 74px 20px 28px; background: radial-gradient(circle at 7% 20%,rgba(48,221,184,.17),transparent 24%),linear-gradient(100deg,rgba(255,255,255,.038),rgba(255,255,255,0)); }
.xs-publish-header-mark { width: 58px; height: 58px; flex: 0 0 58px; border-radius: 17px; object-fit: contain; background: rgba(42,206,177,.08); box-shadow: inset 0 0 0 1px rgba(125,220,197,.2),0 10px 24px rgba(0,0,0,.22); }
.xs-publish-kicker { margin: 0 0 4px; color: #8edcc8; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.xs-publish-header h2 { font-size: 24px; letter-spacing: -.02em; }
.xs-publish-header p:last-child { margin-top: 5px; font-size: 12px; }
#xs-publish-form { grid-template-columns: minmax(0,1fr) 270px; }
#xs-publish-form .xs-publish-editor { gap: 12px; padding: 24px 26px 25px; background: rgba(4,8,9,.1); }
#xs-publish-form .xs-publish-message { gap: 8px; }
.xs-publish-message > span { color: #eaf5ed; font-size: 12px; font-weight: 850; }
#xs-publish-form .xs-publish-message textarea { min-height: 174px; padding: 17px 18px; border: 1px solid rgba(170,222,207,.16); border-radius: 16px; background: rgba(4,8,9,.5); box-shadow: inset 0 1px 0 rgba(255,255,255,.025); font-size: 15px; line-height: 1.58; }
#xs-publish-form .xs-publish-message textarea::placeholder { color: rgba(195,210,204,.5); }
#xs-publish-form .xs-publish-message textarea:focus { border-color: rgba(78,221,189,.62); box-shadow: 0 0 0 4px rgba(78,221,189,.09); }
.xs-publish-hint { margin: -2px 2px 2px; color: rgba(194,209,202,.62); font-size: 11px; }
.xs-publish-media { display: grid; gap: 7px; min-height: 86px; padding: 14px 15px; border: 1px dashed rgba(108,215,191,.38); border-radius: 15px; background: linear-gradient(125deg,rgba(61,204,175,.08),rgba(255,255,255,.018)); }
.xs-publish-media input { margin-top: 0; padding: 7px; border: 0; background: transparent; }
.xs-publish-media small { color: rgba(194,209,202,.64); font-size: 11px; font-weight: 500; }
#xs-publish-form .xs-poll-toggle { width: fit-content; margin: 2px 0 0; padding: 8px 11px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; background: rgba(255,255,255,.025); color: rgba(235,244,237,.82); }
#xs-publish-form .xs-poll-toggle input { accent-color: #8bd43d; }
#xs-publish-form .xs-poll-fields,#xs-publish-form .xs-lfg-fields { gap: 11px; padding: 15px; border: 1px solid rgba(129,219,197,.18); border-radius: 15px; background: rgba(76,180,157,.05); }
#xs-publish-form .xs-publish-settings { gap: 15px; padding: 24px 21px; border-left: 1px solid rgba(156,220,204,.13); background: rgba(4,8,9,.2); }
.xs-publish-settings-title { padding-bottom: 11px; border-bottom: 1px solid rgba(255,255,255,.08); }
.xs-publish-settings-title span { font-size: 13px; letter-spacing: .01em; }
.xs-publish-settings-title small { color: rgba(194,209,202,.61); }
#xs-publish-form .xs-publish-settings > label:not(.xs-checkbox) { gap: 7px; color: rgba(194,209,202,.72); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
#xs-publish-form .xs-publish-settings select { min-height: 42px; border-color: rgba(170,222,207,.15); border-radius: 11px; background-color: rgba(10,17,17,.76); font-size: 13px; letter-spacing: 0; text-transform: none; }
#xs-publish-form .xs-publish-settings .xs-checkbox { align-items: flex-start; padding: 11px 10px; border: 1px solid rgba(255,255,255,.085); border-radius: 11px; background: rgba(255,255,255,.025); color: rgba(235,244,237,.8); font-size: 11px; line-height: 1.35; }
#xs-publish-form .xs-publish-settings .xs-checkbox input { margin-top: 1px; accent-color: #8bd43d; }
.xs-publish-footer { padding: 16px 26px 18px; border-top-color: rgba(156,220,204,.13); background: rgba(3,7,8,.28); }
.xs-publish-actions { gap: 8px; }
.xs-publish-actions .xs-primary,.xs-publish-actions .xs-secondary { min-height: 43px; border-radius: 11px; }
.xs-publish-actions .xs-secondary { color: rgba(234,245,237,.78); background: rgba(255,255,255,.045); }
.xs-publish-actions .xs-primary { color: #07120c; background: linear-gradient(135deg,#a9df4b,#78c85d); box-shadow: 0 8px 20px rgba(126,210,89,.18); }
.xs-publish-footer .xs-form-status { color: rgba(194,209,202,.68); font-size: 11px; }
@media (max-width:1180px) { .xs-brand-mark { width: 54px; height: 54px; flex-basis: 54px; } }
@media (max-width:760px) {
    .xs-brand-mark { width: 48px; height: 48px; flex-basis: 48px; }
    .xs-publish-dialog { border-radius: 22px 22px 0 0; }
    .xs-publish-header { min-height: 91px; padding: 18px 58px 16px 18px; }
    .xs-publish-header-mark { width: 48px; height: 48px; flex-basis: 48px; }
    .xs-publish-header h2 { font-size: 20px; }
    #xs-publish-form .xs-publish-editor { padding: 18px 16px 19px; }
    #xs-publish-form .xs-publish-settings { gap: 10px; padding: 15px 16px; }
    .xs-publish-footer { padding: 14px 16px 16px; }
}
