/* Blubby Quality: consistent layouts, accessible controls, no global intrusive resets */
.blubby-quality-page{max-width:1050px}.blubby-quality-page>h1{font-size:clamp(1.75rem,4vw,2.55rem);letter-spacing:-.035em;margin:10px 0 18px}
.blubby-quality-page>.panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;min-height:180px}
.blubby-quality-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 25px}.blubby-quality-tabs>a{display:inline-flex;padding:10px 13px;border-radius:9px;color:var(--muted);background:var(--surface2);border:1px solid var(--line);font-size:12px;font-weight:700}.blubby-quality-tabs>a:hover,.blubby-quality-tabs>a:focus-visible{border-color:var(--accent);color:var(--text)}
.blubby-quality-row,.blubby-quality-session{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.blubby-quality-row:last-child,.blubby-quality-session:last-child{border-bottom:0}.blubby-quality-row>div,.blubby-quality-session>div{min-width:0;overflow-wrap:anywhere}.blubby-quality-row p{margin:5px 0}.blubby-quality-row strong,.blubby-quality-session strong{font-size:13px}.blubby-quality-session .small{display:block;margin-top:5px}.blubby-quality-link{white-space:nowrap;font-size:12px;font-weight:700;color:#d1c4ff;padding:8px;border-radius:7px;background:#393150}.blubby-quality-read{opacity:.65}
.blubby-quality-feedback{font-size:13px;color:#98dfb5;min-height:24px}.blubby-quality-feedback.is-error,.blubby-error{color:#ffb4c1}
.blubby-shortcuts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:15px}.blubby-shortcut-choice{display:flex;align-items:center;gap:8px;padding:11px;background:var(--surface2);border:1px solid var(--line);border-radius:9px;font-size:13px;cursor:pointer}.blubby-shortcut-choice input{accent-color:var(--accent);width:18px;height:18px;flex:none}.blubby-shortcuts-form .btn{margin-top:18px}
.blubby-quality-links{display:flex;gap:8px;flex-wrap:wrap}.blubby-quality-form{margin:20px 0}.blubby-quality-form label{display:grid;gap:6px}
.blubby-audio-speed{display:inline-grid;place-items:center;margin:4px 4px 4px 8px;font-size:11px;min-width:38px;min-height:28px;border:1px solid var(--line);color:var(--text);background:var(--surface2);border-radius:8px;cursor:pointer}
.blubby-fav-btn{background:transparent;border:0;color:#c8bcff;min-width:29px;min-height:29px;border-radius:6px;font-size:19px;cursor:pointer}.blubby-fav-btn:hover,.blubby-fav-btn:focus-visible{background:#332d50;outline:1px solid #7767d3}.blubby-channel-entry{min-width:0}.blubby-channel-entry .blubby-fav-btn{flex:0 0 29px}
.blubby-network-state{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(15px);padding:10px 15px;color:#fff;background:#643c45;border:1px solid #b56d78;border-radius:9px;z-index:1000;font-size:12px;max-width:calc(100vw - 25px);opacity:0;pointer-events:none;transition:.18s}.blubby-network-state.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
.blubby-more-popover{display:none}
a:focus-visible,button:focus-visible{outline:2px solid #bea9ff;outline-offset:3px}
@media(max-width:760px){
 .mobile-bottom-nav{overflow:visible!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;justify-content:stretch;gap:1px;min-height:65px;padding-bottom:env(safe-area-inset-bottom)}
 .mobile-bottom-nav>a,.mobile-bottom-nav>.blubby-mobile-more{min-width:0!important;max-width:none!important;width:100%;flex:1;white-space:normal;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-height:49px;padding:4px 0;font-family:inherit;font-size:10px;line-height:1.15;color:#b4b2c1}
 .mobile-bottom-nav>.blubby-mobile-more{background:none;border:none;cursor:pointer;font-family:inherit;font-size:10px;font-weight:700}
 .mobile-bottom-nav>.blubby-mobile-more>span:first-child{font-size:22px;line-height:23px;color:#d0c3ff}
 .blubby-more-popover:not([hidden]){display:flex;position:fixed;bottom:calc(73px + env(safe-area-inset-bottom));left:8px;right:8px;z-index:95;background:#202230;border:1px solid #55516c;box-shadow:0 -9px 30px #0007;border-radius:15px;padding:12px;max-height:50dvh;overflow-y:auto;flex-wrap:wrap;gap:8px}
 .blubby-more-popover>a{display:flex;align-items:center;min-width:calc(50% - 6px);flex:1;min-height:42px;padding:8px 12px;background:#2d2c3e;border:1px solid #424358;border-radius:9px;font-size:13px}
 .blubby-more-popover .blubby-nav-icon{display:inline-flex;width:20px;height:20px;margin-right:6px}.blubby-more-popover .blubby-nav-label{font-size:12px}
 .blubby-quality-page{padding-top:25px}.blubby-quality-tabs{gap:5px}.blubby-quality-tabs>a{font-size:11px;padding:8px 9px}
 .blubby-quality-row,.blubby-quality-session{align-items:flex-start;gap:8px}.blubby-quality-row>strong{font-size:12px}
 .blubby-network-state{bottom:calc(83px + env(safe-area-inset-bottom))}
 .chat-form, .dm-shell .chat-form{max-width:100%;min-width:0}
 .chat-form textarea{font-size:16px;min-width:0}
}
@media(prefers-reduced-motion:reduce){.blubby-network-state{transition:none}}
@media(max-width:760px){.mobile-bottom-nav .blubby-mobile-custom{font-size:10px;line-height:1.3;font-weight:700;color:#d4c5ff;text-align:center}}
/* Audit du 31/10 : états cachés absents de l'arbre d'accessibilité. */
.blubby-more-popover[hidden],.blubby-network-state[hidden],.blubby-quality-toast[hidden]{display:none!important}
.blubby-quality-tabs>a[aria-current="page"]{border-color:var(--accent);color:var(--text);background:var(--surface2)}
.blubby-quality-form select,.blubby-quality-form input,.blubby-quality-form textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.blubby-quality-form label{min-width:0}.blubby-fav-btn:disabled{cursor:wait;opacity:.6}
.blubby-quality-toast{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:1001;max-width:calc(100vw - 28px);padding:12px 16px;border:1px solid #677c77;border-radius:12px;background:#1e3531;color:#d3f6e3;box-shadow:0 8px 30px #0006;font-size:13px}
.blubby-quality-toast.is-error{background:#44252f;border-color:#ba7888;color:#ffe0e7}
@media(max-width:760px){.mobile-bottom-nav{grid-template-columns:repeat(var(--blubby-nav-columns,5),minmax(0,1fr))}}
