.s2-cercle{border:1px solid var(--line);background:var(--surface-2);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:999px;place-items:center;transition:border-color .15s,color .15s,background .15s,box-shadow .2s;display:grid;position:relative}.s2-cercle:hover{color:#d9c8ff;border-color:#a67cffb3}.s2-cercle[aria-expanded=true]{color:#e6dbff;background:#7c3aed38;border-color:#a67cffd9;box-shadow:0 0 0 3px #a67cff2e}.s2-panneau{z-index:60;background:radial-gradient(90% 50% at 100% 0%, #7c3aed29, transparent 70%), var(--surface);transform-origin:100% 0;border:1px solid #a67cff52;border-radius:16px;flex-direction:column;width:min(400px,100vw - 24px);max-height:min(72vh,600px);animation:.16s ease-out s2-entree;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 18px 44px -12px #000000b3,0 0 0 1px #00000040}@keyframes s2-entree{0%{opacity:0;transform:translateY(-4px)scale(.97)}}@media (width<=560px){.s2-panneau{transform-origin:top;width:auto;max-height:calc(100dvh - 138px);position:fixed;top:62px;left:12px;right:12px}}.s2-tete{align-items:center;gap:10px;padding:14px 14px 10px 18px;display:flex}.s2-tete strong{letter-spacing:.01em;font-size:16px;font-weight:800}.s2-compte{color:#cdb8ff;background:#a67cff29;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.s2-compte[data-vert]{color:var(--ok);background:#6bbf8a24}.s2-compte[data-vert]:before{content:"";background:var(--ok);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #6bbf8a40}.s2-fermer{width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;margin-left:auto;font-size:18px;line-height:1;display:grid}.s2-fermer:hover{color:var(--text);background:var(--surface-2)}.s2-corps{overscroll-behavior:contain;flex:1;min-height:0;padding:2px 10px 12px;overflow-y:auto}.s2-vide{color:var(--text-dim);text-align:center;justify-items:center;gap:8px;margin:0;padding:34px 20px 30px;font-size:13px;line-height:1.5;display:grid}.s2-vide svg{color:#a67cff8c}.s2-vide p{max-width:260px;margin:0}.s2-petit{padding:5px 12px;font-size:12px}.v2-bouton.s2-petit[data-principal]{color:var(--accent);box-shadow:none;letter-spacing:.02em;text-transform:none;background:#e0b64f1f;border-color:#e0b64f99}.v2-bouton.s2-petit[data-principal]:after{animation:none}.v2-bouton.s2-petit[data-principal]:not(:disabled):hover{border-color:var(--accent);color:#ffe08a;background:#e0b64f38;transform:none;box-shadow:0 0 0 3px #e0b64f24}.s2-refus{color:var(--danger);background:#e5502c14;border:1px solid #e5502c73;border-radius:10px;margin:0 14px 8px;padding:7px 10px;font-size:12.5px;line-height:1.4}.n2-familles{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:6px;padding:0 14px 10px 18px;display:flex}.n2-famille{border:1px solid var(--line);background:var(--surface-2);color:var(--text-dim);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:12px;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.n2-famille[data-famille]:before{content:"";background:var(--teinte);border-radius:50%;width:7px;height:7px}.n2-famille[data-famille=marche]{--teinte:var(--accent)}.n2-famille[data-famille=amis]{--teinte:#b392ff}.n2-famille[data-famille=tournois]{--teinte:#ff8a5c}.n2-famille[data-famille=recompenses]{--teinte:var(--ok)}.n2-famille:hover{color:var(--text);border-color:#a67cff99}.n2-famille[aria-pressed=true]{color:#f1eaff;background:#7c3aed47;border-color:#a67cffcc}.n2-famille__compte{color:inherit;opacity:.7;font-variant-numeric:tabular-nums}.n2-jour+.n2-jour{margin-top:4px}.n2-jour__titre{z-index:1;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(6px);color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;margin:0 -10px;padding:10px 18px 6px;font-size:12px;font-weight:700;position:sticky;top:0}.n2-ligne{border-radius:12px;align-items:flex-start;gap:12px;padding:10px 8px;transition:background .15s;display:flex}.n2-ligne:hover{background:#ffffff09}.n2-ligne+.n2-ligne{box-shadow:0 -1px 0 var(--line-soft)}.n2-ligne:hover+.n2-ligne,.n2-ligne+.n2-ligne:hover{box-shadow:none}.n2-ligne__vignette{flex-shrink:0;place-items:center;width:36px;display:grid}.n2-ligne__corps{flex:1;gap:6px;min-width:0;display:grid}.n2-ligne__titre{font-size:13px;line-height:1.4}.n2-ligne__mot{color:var(--text);border-left:2px solid #a67cff8c;padding-left:9px;font-size:12.5px;font-style:italic;line-height:1.45}.n2-ligne__dessous{color:var(--text-dim);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12px;display:flex}.n2-ligne__quand{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.n2-rond{border:1px solid color-mix(in srgb, var(--ton) 45%, transparent);background:radial-gradient(circle at 30% 25%, color-mix(in srgb, var(--ton) 30%, transparent), transparent 70%), var(--surface-2);width:34px;height:34px;color:var(--ton);border-radius:999px;place-items:center;font-size:12px;font-weight:800;display:grid}.a2-alerte{color:var(--text-dim);margin:0 14px 8px 18px;font-size:12px;line-height:1.45}.a2-recherche{align-items:center;margin:0 14px 6px;display:flex;position:relative}.a2-recherche svg{color:var(--text-dim);pointer-events:none;position:absolute;left:12px}.a2-recherche input{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--text);border-radius:999px;padding:9px 34px;font-size:13px}.a2-recherche input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.a2-recherche .s2-fermer{width:26px;height:26px;font-size:16px;position:absolute;right:4px}.a2-section{margin-top:12px}.a2-section__titre{color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;align-items:baseline;gap:8px;margin:0 0 6px;padding:0 8px;font-size:12px;font-weight:700;display:flex}.a2-section__titre span{letter-spacing:0;font-variant-numeric:tabular-nums;opacity:.75}.a2-section[data-attend] .a2-section__titre{color:#cdb8ff}.a2-liste{gap:6px;margin:0;padding:0;list-style:none;display:grid}.a2-ligne{border:1px solid var(--line-soft);background:var(--surface-2);border-radius:12px;align-items:center;gap:11px;min-height:52px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.a2-ligne:hover{border-color:var(--line)}.a2-ligne[data-attend]{background:linear-gradient(90deg, #7c3aed29, transparent 75%), var(--surface-2);border-color:#a67cff8c}.a2-ligne[data-envoyee]{background:0 0;border-style:dashed}.a2-visage{flex-shrink:0;display:grid;position:relative}.a2-ligne[data-absent] .a2-visage{filter:grayscale(.75);opacity:.6}.a2-point{border:2px solid var(--surface-2);background:var(--ok);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}.a2-point[data-cherche]{background:var(--accent);animation:1.6s ease-in-out infinite a2-cherche}@keyframes a2-cherche{50%{box-shadow:0 0 0 4px #e0b64f47}}.a2-ligne__texte{flex:1;gap:2px;min-width:0;display:grid}.a2-ligne__nom{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;overflow:hidden}.a2-ligne__dessous{white-space:nowrap;min-width:0;color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex;overflow:hidden}.a2-ligne__dessous code{opacity:.75;font-family:ui-monospace,monospace;font-size:12px}.a2-ligne__dessous [data-present]{color:var(--text)}.a2-ligne__dessous [data-cherche]{color:var(--accent);font-weight:700}.a2-gestes{flex-shrink:0;align-items:center;gap:6px;display:flex}.a2-note{color:var(--text-dim);white-space:nowrap;font-size:12px}.a2-note[data-bon]{color:var(--ok)}.a2-retirer{width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;place-items:center;display:grid}.a2-retirer:hover{color:var(--danger);border-color:#e5502c73}.s2-petit[data-danger]{color:var(--danger);border-color:#e5502c99}.s2-petit[data-danger]:not(:disabled):hover{border-color:var(--danger);color:#ff8a73}@media (width<=420px){.a2-ligne{flex-wrap:wrap}.a2-gestes{margin-left:45px}}.s2-panneau[data-calme],.s2-panneau[data-calme] .a2-point[data-cherche]{animation:none}.s2-compte-bouton{border:1px solid var(--line);background:var(--surface-2);height:36px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:3px 12px 3px 3px;font-size:12.5px;transition:border-color .15s,box-shadow .2s;display:flex}.s2-compte-bouton:hover{border-color:#a67cffb3;box-shadow:0 0 0 3px #a67cff24}
