@import url('/assets/css/font-catalog.css?v=20260906-kavoon-fonts');

:root {
  color-scheme: dark;
  --ink: #070708;
  --ink-2: #0c0c0e;
  --graphite: #151518;
  --graphite-2: #1d1d21;
  --line: #303035;
  --line-soft: rgba(255, 255, 255, .08);
  --orange: #f27622;
  --orange-hot: #ff8a32;
  --orange-dark: #9b3f0c;
  --white: #f5f4f1;
  --muted: #9c9ba2;
  --green: #79dc8c;
  --red: #ff6b62;
  --radius: 18px;
  --shadow: 0 24px 80px rgba(0, 0, 0, .36);
  --max: 1240px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Navigation publique 2026 : deux menus courts remplacent la rangée de liens. */
.header-menu { position: relative; }
.header-menu > summary { min-height: 42px; padding: 0 14px; display: flex; align-items: center; gap: 7px; color: #c7c6ca; border-radius: 10px; cursor: pointer; list-style: none; font-size: .92rem; font-weight: 650; transition: .2s ease; }
.header-menu > summary::-webkit-details-marker { display: none; }
.header-menu > summary:hover, .header-menu[open] > summary { color: #fff; background: rgba(255,255,255,.055); }
.header-menu > summary span { color: var(--orange); font-size: .82rem; transition: transform .18s ease; }
.header-menu[open] > summary span { transform: rotate(180deg); }
.header-menu-panel { position: absolute; top: calc(100% + 10px); left: 0; width: 310px; padding: 8px; display: grid; gap: 3px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(16,16,18,.97); box-shadow: 0 24px 70px rgba(0,0,0,.48); backdrop-filter: blur(20px); }
.header-menu-panel-right { left: auto; right: 0; }
.main-nav .header-menu-panel a { padding: 11px 12px; display: grid; gap: 3px; border-radius: 10px; }
.header-menu-panel a b { color: #f5f3f1; font-size: .82rem; }
.header-menu-panel a small { color: #85838a; font-size: .68rem; line-height: 1.35; }
.header-menu-panel a:hover small { color: #bbb6b3; }

/* Navigation du panel : catégories fonctionnelles dans les groupes Gratuit/Pro. */
.nav-category { display: grid; gap: 2px; }
.nav-category + .nav-category { margin-top: 7px; padding-top: 7px; border-top: 1px solid rgba(255,255,255,.055); }
.nav-category-label { margin: 0; padding: 2px 10px 4px; color: #6f6d74; font-size: .54rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.nav-category > a, .nav-category > .nav-subgroup { margin: 0; }

/* Page d’accueil : preuve sociale et catalogue lisible des modules. */
.streamer-trust { margin: 10px auto 110px; padding: clamp(28px,4vw,48px); border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: radial-gradient(circle at 0 0,rgba(242,118,34,.16),transparent 30%),linear-gradient(145deg,#171719,#101012); }
.streamer-wall { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.streamer-card { min-width: 0; padding: 14px; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px solid rgba(255,255,255,.09); border-radius: 16px; background: rgba(255,255,255,.025); transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.streamer-card:hover { transform: translateY(-3px); border-color: rgba(242,118,34,.5); background: rgba(242,118,34,.07); }
.streamer-picture { width: 58px; aspect-ratio: 1; overflow: hidden; border: 2px solid rgba(242,118,34,.45); border-radius: 15px; background: #0d0d0e; }
.streamer-picture img { width: 100%; height: 100%; object-fit: cover; }
.streamer-identity { min-width: 0; display: grid; gap: 3px; }
.streamer-identity strong { overflow: hidden; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.streamer-identity small { overflow: hidden; color: #929097; text-overflow: ellipsis; white-space: nowrap; }
.streamer-state { padding: 4px 7px; color: #aaa7ad; border: 1px solid rgba(255,255,255,.13); border-radius: 6px; font-size: .54rem; font-weight: 950; letter-spacing: .06em; }
.streamer-state.is-live { color: #fff; border-color: rgba(242,73,73,.55); background: rgba(225,45,45,.28); box-shadow: 0 0 24px rgba(230,40,40,.16); }
.streamer-wall-empty { padding: 24px; display: grid; gap: 5px; border: 1px dashed rgba(255,255,255,.15); border-radius: 15px; color: #96939a; text-align: center; }
.streamer-wall-empty strong { color: #fff; }
.module-atlas { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.module-tile { min-height: 255px; padding: 24px; display: flex; flex-direction: column; overflow: hidden; position: relative; border: 1px solid rgba(255,255,255,.1); border-radius: 18px; background: linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.012)); transition: transform .2s ease,border-color .2s ease; }
.module-tile::after { content:""; position:absolute; right:-46px; bottom:-54px; width:130px; aspect-ratio:1; border:1px solid rgba(242,118,34,.17); border-radius:50%; box-shadow:0 0 0 26px rgba(242,118,34,.025); }
.module-tile:hover { transform: translateY(-4px); border-color: rgba(242,118,34,.46); }
.module-tile-featured { grid-column: span 2; background: radial-gradient(circle at 90% 10%,rgba(242,118,34,.23),transparent 36%),linear-gradient(145deg,#23170f,#121214 70%); }
.module-tile > div { display:flex; align-items:center; justify-content:space-between; }
.module-symbol { width:46px; aspect-ratio:1; display:grid; place-items:center; color:#ffbc80; border:1px solid rgba(242,118,34,.42); border-radius:13px; background:rgba(242,118,34,.1); font-size:1.35rem; font-weight:900; }
.module-tile h3 { margin: 24px 0 9px; font-size:1.2rem; }
.module-tile p { margin:0 0 18px; color:#aaa6aa; font-size:.84rem; line-height:1.58; }
.module-tile small { margin-top:auto; color:#77757c; font-size:.59rem; font-weight:900; letter-spacing:.08em; }

@media (max-width: 1080px) {
  .streamer-wall { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .module-atlas { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .header-menu { width:100%; }
  .header-menu > summary { justify-content:space-between; }
  .header-menu-panel,.header-menu-panel-right { position:static; width:auto; margin:3px 0 6px; box-shadow:none; }
  .streamer-trust { width:min(calc(100% - 24px),1380px); margin-bottom:70px; padding:22px 16px; }
  .streamer-wall,.module-atlas { grid-template-columns:1fr; }
  .module-tile-featured { grid-column:auto; }
  .streamer-card { grid-template-columns:52px minmax(0,1fr); }
  .streamer-state { grid-column:2; justify-self:start; }
}

/* FilyX Clips ------------------------------------------------------------ */
.clips-public-shell,.clip-watch-shell{width:min(1480px,calc(100% - 40px));margin:0 auto;padding:56px 0 90px}.clips-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:46px;border:1px solid rgba(242,118,34,.25);border-radius:30px;background:radial-gradient(circle at 85% 15%,rgba(242,118,34,.2),transparent 34%),linear-gradient(135deg,#181816,#0c0d0c);box-shadow:0 30px 80px rgba(0,0,0,.28)}.clips-hero h1{max-width:900px;margin:.15em 0;font-size:clamp(2.5rem,6vw,5.8rem);line-height:.92;letter-spacing:-.055em}.clips-hero p:not(.eyebrow){max-width:720px;color:var(--muted);font-size:1.08rem}.clips-streamer-rail,.clips-gallery{margin-top:44px}.clips-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.clips-section-title h2{margin:.15em 0 0;font-size:clamp(1.65rem,3vw,2.65rem)}.clips-section-title>span{color:var(--muted);font-size:.88rem}.clips-streamer-list{display:flex;gap:14px;padding:4px 0 15px;overflow-x:auto;scrollbar-color:var(--orange) rgba(255,255,255,.06)}.clips-streamer{display:grid;flex:0 0 126px;justify-items:center;gap:7px;padding:14px 10px;color:var(--white);text-align:center;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(255,255,255,.025);transition:.2s ease}.clips-streamer:hover{transform:translateY(-3px);border-color:rgba(242,118,34,.55);background:rgba(242,118,34,.08)}.clips-streamer-avatar,.clip-streamer-avatar,.clip-watch-channel>span{display:block;overflow:hidden;border-radius:50%;background:#242421}.clips-streamer-avatar{width:74px;height:74px;padding:3px;border:2px solid var(--orange)}.clips-streamer-avatar img,.clip-streamer-avatar img,.clip-watch-channel img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.clips-streamer small{color:var(--muted);font-size:.72rem}.clips-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.clip-card{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:21px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 18px 42px rgba(0,0,0,.2);transition:.22s ease}.clip-card:hover{transform:translateY(-5px);border-color:rgba(242,118,34,.5);box-shadow:0 24px 56px rgba(0,0,0,.3)}.clip-card-media{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#050505}.clip-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.clip-card:hover .clip-card-media img{transform:scale(1.04)}.clip-card-media time,.clip-card-media>b{position:absolute;z-index:2;bottom:9px;padding:4px 7px;border-radius:7px;color:#fff;background:rgba(0,0,0,.78);font-size:.72rem;font-weight:800}.clip-card-media time{right:9px}.clip-card-media>b{left:9px;background:#d94121}.clip-play{position:absolute;z-index:2;left:50%;top:50%;display:grid;width:50px;height:50px;place-items:center;transform:translate(-50%,-50%) scale(.86);border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#0b0b0b;background:var(--orange);box-shadow:0 0 35px rgba(242,118,34,.45);opacity:0;transition:.2s ease}.clip-card:hover .clip-play{opacity:1;transform:translate(-50%,-50%) scale(1)}.clip-card-body{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:15px}.clip-streamer-avatar{width:42px;height:42px;border:1px solid rgba(242,118,34,.45)}.clip-card-body h3{margin:0 0 5px;font-size:1rem;line-height:1.25}.clip-card-body h3 a{display:-webkit-box;overflow:hidden;color:var(--white);-webkit-box-orient:vertical;-webkit-line-clamp:2}.clip-channel-name{color:#fff;font-size:.84rem;font-weight:800}.clip-card-body p,.clip-card-body small{margin:4px 0 0;color:var(--muted);font-size:.75rem}.clips-empty{display:grid;min-height:330px;place-items:center;align-content:center;gap:8px;text-align:center;border:1px dashed rgba(242,118,34,.32);border-radius:24px;background:rgba(255,255,255,.02)}.clips-empty>span{display:grid;width:74px;height:74px;place-items:center;border-radius:50%;color:#0b0b0b;background:var(--orange);font-size:1.4rem}.clips-empty h2,.clips-empty p{margin:0}.clips-empty p{color:var(--muted)}

.clips-hero-profile,.clips-panel-profile{display:flex;align-items:center;gap:22px;min-width:0}.clips-hero-profile>div,.clips-panel-profile>div{min-width:0}.clips-hero-avatar,.clips-panel-profile-avatar{display:block;flex:0 0 auto;width:104px;height:104px;padding:4px;overflow:hidden;border:2px solid var(--orange);border-radius:50%;background:#242421;box-shadow:0 0 34px rgba(242,118,34,.28)}.clips-hero-avatar img,.clips-panel-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.clips-panel-profile-avatar{width:82px;height:82px}

.clip-watch-back{display:inline-flex;margin-bottom:20px;color:var(--muted);font-weight:750}.clip-watch-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px}.clip-watch-main,.clip-watch-related{border:1px solid rgba(255,255,255,.08);border-radius:25px;background:#111210}.clip-watch-main{overflow:hidden}.clip-watch-player{position:relative;aspect-ratio:16/9;background:#020202}.clip-watch-player video{width:100%;height:100%;object-fit:contain}.clip-watch-loader{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted);background:radial-gradient(circle,rgba(242,118,34,.09),transparent 50%),#050505}.clip-watch-loader[hidden]{display:none}.clip-watch-loader i{width:40px;height:40px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--orange);border-radius:50%;animation:clip-spin .8s linear infinite}@keyframes clip-spin{to{transform:rotate(360deg)}}.clip-watch-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 28px 18px}.clip-watch-meta h1{margin:.1em 0;font-size:clamp(1.55rem,3vw,2.8rem)}.clip-watch-meta p:not(.eyebrow){margin:.6em 0 0;color:var(--muted)}.clip-watch-channel{display:flex;align-items:center;gap:13px;margin:0 28px 28px;padding:15px 18px;border:1px solid rgba(242,118,34,.2);border-radius:17px;color:var(--white);background:rgba(242,118,34,.06)}.clip-watch-channel>span{width:48px;height:48px}.clip-watch-channel div{display:grid}.clip-watch-channel small{color:var(--orange);font-size:.67rem;font-weight:900;letter-spacing:.12em}.clip-watch-channel>b{margin-left:auto;color:var(--orange)}.clip-watch-related{padding:22px;height:max-content}.clip-watch-related h2{margin:.1em 0 18px}.clip-related-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:11px 0;color:var(--white);border-top:1px solid rgba(255,255,255,.07)}.clip-related-card>span{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#050505}.clip-related-card img{width:100%;height:100%;object-fit:cover}.clip-related-card i{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:var(--orange);font-style:normal}.clip-related-card div{display:grid;align-content:center;gap:6px;min-width:0}.clip-related-card strong{display:-webkit-box;overflow:hidden;font-size:.84rem;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.clip-related-card small{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}

.clips-panel-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;background:radial-gradient(circle at 92% 10%,rgba(242,118,34,.2),transparent 38%),var(--graphite)}.clips-panel-hero h2{font-size:clamp(1.7rem,3vw,3rem)}.clips-panel-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.clips-command-card .copy-command{margin:15px 0}.clip-sync-dot{width:12px;height:12px;border-radius:50%;background:#c74b36;box-shadow:0 0 0 5px rgba(199,75,54,.1)}.clip-sync-dot.is-online{background:#36ce7d;box-shadow:0 0 0 5px rgba(54,206,125,.12)}.clips-panel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.clips-panel-card{display:grid;grid-template-columns:155px minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.025)}.clips-panel-card.is-hidden{opacity:.52}.clips-panel-card>a{position:relative;display:block;min-height:106px;background:#050505}.clips-panel-card>a span{position:absolute;inset:0}.clips-panel-card img{width:100%;height:100%;object-fit:cover}.clips-panel-card>a i{position:absolute;left:50%;top:50%;display:grid;width:38px;height:38px;place-items:center;transform:translate(-50%,-50%);border-radius:50%;color:#111;background:var(--orange);font-style:normal}.clips-panel-card>div{display:grid;align-content:center;gap:5px;padding:12px;min-width:0}.clips-panel-card>div>strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.clips-panel-card p{margin:0;color:var(--muted);font-size:.75rem}.clips-panel-card form{margin-top:5px}

@media (max-width:1180px){.clips-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clips-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clip-watch-layout{grid-template-columns:1fr}.clip-watch-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.clip-watch-related>.eyebrow,.clip-watch-related>h2{grid-column:1/-1}}
@media (max-width:760px){.clips-public-shell,.clip-watch-shell{width:min(100% - 24px,1480px);padding:24px 0 60px}.clips-hero{display:grid;padding:28px 22px;border-radius:22px}.clips-hero-profile,.clips-panel-profile{align-items:flex-start;gap:14px}.clips-hero-avatar{width:72px;height:72px}.clips-panel-profile-avatar{width:60px;height:60px}.clips-grid{grid-template-columns:1fr}.clips-panel-grid{grid-template-columns:1fr}.clips-panel-hero{display:grid}.clips-panel-actions{justify-content:stretch}.clips-panel-actions .button{width:100%}.clip-watch-meta{display:grid;padding:20px}.clip-watch-channel{margin:0 20px 20px}.clip-watch-channel>b{display:none}.clip-watch-related{display:block}.clips-panel-card{grid-template-columns:125px minmax(0,1fr)}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ink); }
body { margin: 0; min-width: 320px; color: var(--white); background: var(--ink); line-height: 1.55; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .09; z-index: 10; background-image: repeating-linear-gradient(115deg, transparent 0, transparent 3px, rgba(255,255,255,.035) 4px); mix-blend-mode: soft-light; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
code { font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.05; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 8vw, 7.4rem); }
h2 { font-size: clamp(2rem, 4vw, 3.7rem); }
h3 { font-size: 1.3rem; }
p { color: var(--muted); }

.skip-link { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 10px 14px; background: var(--orange); color: #100800; transform: translateY(-180%); border-radius: 8px; font-weight: 800; }
.skip-link:focus { transform: translateY(0); }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ambient { position: fixed; width: 580px; height: 580px; border-radius: 50%; filter: blur(130px); opacity: .1; pointer-events: none; }
.ambient-a { background: var(--orange); top: -280px; left: -180px; }
.ambient-b { background: #6d391f; bottom: -280px; right: -180px; }

.site-header { width: min(calc(100% - 40px), var(--max)); height: 84px; margin: 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 34px; border-bottom: 1px solid var(--line-soft); position: relative; z-index: 30; }
.brand { display: inline-flex; align-items: center; gap: 9px; font-size: 1.55rem; font-weight: 950; letter-spacing: -.08em; }
.brand img { width: 44px; height: 44px; object-fit: contain; }
.brand > span > span { color: var(--orange); }
.main-nav { display: flex; justify-content: center; gap: 8px; }
.main-nav a { padding: 11px 14px; color: #c7c6ca; border-radius: 10px; font-size: .92rem; font-weight: 650; transition: .2s ease; }
.main-nav a:hover, .main-nav a:focus-visible { color: var(--white); background: rgba(255, 255, 255, .05); }
.header-actions { display: flex; align-items: center; gap: 8px; }
.header-actions form { margin: 0; }
.nav-toggle { display: none; background: transparent; border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; }

.button { appearance: none; display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 44px; padding: 0 20px; background: var(--orange); border: 1px solid var(--orange); color: #160a02; border-radius: 11px; font-weight: 850; cursor: pointer; box-shadow: inset 0 1px rgba(255, 255, 255, .25), 0 10px 30px rgba(242, 118, 34, .15); transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); background: var(--orange-hot); border-color: var(--orange-hot); }
.button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, [data-copy]:focus-visible { outline: 3px solid rgba(242, 118, 34, .32); outline-offset: 2px; }
.button:disabled { opacity: .4; cursor: not-allowed; transform: none; }
.button-ghost { color: var(--white); background: rgba(255, 255, 255, .025); border-color: var(--line); box-shadow: none; }
.button-ghost:hover { background: var(--graphite-2); border-color: #48484d; }
.button-small { min-height: 38px; padding: 0 15px; font-size: .86rem; border-radius: 9px; }
.button-large { min-height: 53px; padding: 0 24px; }
.button-danger { background: rgba(255, 107, 98, .08); color: #ff8178; border-color: rgba(255, 107, 98, .3); box-shadow: none; }
.text-link { color: var(--orange); font-weight: 800; }
.text-link:hover { color: var(--orange-hot); }

.flash { position: fixed; z-index: 200; top: 94px; left: 50%; transform: translateX(-50%); width: min(calc(100% - 30px), 620px); padding: 13px 18px; border: 1px solid; border-radius: 12px; box-shadow: var(--shadow); background: #161619; }
.flash-error { color: #ffaaa4; border-color: rgba(255, 107, 98, .4); }
.flash-success { color: #abf0b6; border-color: rgba(121, 220, 140, .4); }

.section-shell { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.eyebrow { color: var(--orange); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 900; margin-bottom: 14px; }
.hero { width: min(calc(100% - 40px), 1380px); min-height: 760px; margin: 0 auto; display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 40px; position: relative; }
.hero-copy { padding: 80px 0 110px; position: relative; z-index: 2; }
.hero h1 { margin-bottom: 25px; max-width: 860px; text-transform: uppercase; font-weight: 950; }
.hero h1 span { color: transparent; -webkit-text-stroke: 1px #9f9fa4; text-stroke: 1px #9f9fa4; }
.hero-lead { max-width: 670px; font-size: clamp(1.05rem, 1.6vw, 1.28rem); line-height: 1.7; }
.hero-lead strong { color: var(--white); }
.hero-offer { max-width: 670px; margin-top: 22px; padding: 13px 16px; display: grid; grid-template-columns: auto 1fr; gap: 3px 11px; border: 1px solid rgba(242,118,34,.42); border-radius: 12px; background: linear-gradient(100deg, rgba(242,118,34,.13), rgba(242,118,34,.025)); }
.hero-offer > span { grid-row: span 2; align-self: center; color: var(--orange); font-size: .68rem; font-weight: 950; letter-spacing: .08em; }
.hero-offer strong { color: #fff4e9; font-size: .87rem; }
.hero-offer p { margin: 0; color: #b7a89d; font-size: .74rem; line-height: 1.45; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 34px; color: #7e7d83; font-size: .75rem; text-transform: uppercase; letter-spacing: .07em; font-weight: 750; }
.trust-row span::before { content: "✓"; color: var(--orange); margin-right: 7px; }
.live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 6px rgba(242,118,34,.11); }
.hero-visual { position: relative; min-height: 650px; display: grid; place-items: center; }
.hero-grid { position: absolute; inset: 10% -10% 0; opacity: .36; transform: perspective(700px) rotateX(64deg); transform-origin: center bottom; background-image: linear-gradient(rgba(242,118,34,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(242,118,34,.18) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(to top, #000, transparent 85%); }
.mascot-stage { position: relative; width: min(100%, 560px); aspect-ratio: 1; display: grid; place-items: center; }
.mascot-stage::before { content: ""; position: absolute; width: 72%; height: 72%; border: 1px solid rgba(242,118,34,.24); border-radius: 50%; box-shadow: 0 0 100px rgba(242,118,34,.14), inset 0 0 80px rgba(242,118,34,.05); }
.mascot-stage::after { content: ""; position: absolute; width: 86%; height: 18%; bottom: 6%; background: radial-gradient(ellipse, rgba(242,118,34,.4), transparent 70%); filter: blur(18px); }
.mascot-stage > img { width: 88%; position: relative; z-index: 2; filter: drop-shadow(0 30px 40px rgba(0,0,0,.5)); animation: mascot-float 5s ease-in-out infinite; }
.status-pill { position: absolute; z-index: 3; top: 10%; right: 3%; padding: 8px 12px; border: 1px solid rgba(121,220,140,.28); border-radius: 20px; background: rgba(8,12,9,.8); backdrop-filter: blur(10px); color: #baf4c4; font-size: .65rem; letter-spacing: .14em; font-weight: 900; }
.status-pill span { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--green); margin-right: 7px; box-shadow: 0 0 12px var(--green); }
.signal-card { position: absolute; z-index: 4; width: 190px; padding: 13px 15px; border: 1px solid var(--line); border-left: 2px solid var(--orange); background: rgba(17,17,19,.88); backdrop-filter: blur(12px); box-shadow: var(--shadow); border-radius: 11px; }
.signal-card small { color: var(--orange); font-size: .58rem; letter-spacing: .17em; }
.signal-card strong, .signal-card span { display: block; }
.signal-card strong { font-size: .82rem; margin: 4px 0; }
.signal-card span { color: var(--muted); font-size: .72rem; font-family: monospace; }
.signal-one { left: -8%; top: 35%; }
.signal-two { right: -7%; bottom: 18%; }

.protocol { padding: 120px 0; border-top: 1px solid var(--line-soft); }
.section-heading { max-width: 760px; margin-bottom: 52px; }
.section-heading h2 { margin-bottom: 16px; }
.section-heading > p:last-child { font-size: 1.08rem; }
.split-heading { max-width: none; display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.protocol-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.protocol-grid li { padding: 30px 24px 24px 0; border-right: 1px solid var(--line); min-height: 245px; }
.protocol-grid li + li { padding-left: 24px; }
.protocol-grid li:last-child { border-right: 0; }
.protocol-grid li > span { display: inline-grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(242,118,34,.35); color: var(--orange); border-radius: 50%; font-family: monospace; font-size: .75rem; margin-bottom: 48px; }
.protocol-grid h3 { margin-bottom: 12px; }
.protocol-grid p { font-size: .92rem; }
.protocol-grid code { color: var(--orange); }

.tool-showcase { padding: 80px 0 140px; }
.bento-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; }
.release-radar { margin: 20px auto 105px; }
.release-radar-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.release-card { min-height: 270px; position: relative; overflow: hidden; padding: 24px; display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.012)); box-shadow: inset 0 1px rgba(255,255,255,.05); transition: transform .22s ease, border-color .22s ease, background .22s ease; }
.release-card::after { content: ''; position: absolute; width: 150px; aspect-ratio: 1; right: -70px; bottom: -76px; border: 1px solid rgba(242,118,34,.22); border-radius: 50%; box-shadow: 0 0 0 24px rgba(242,118,34,.035), 0 0 0 52px rgba(242,118,34,.018); pointer-events: none; }
.release-card:hover { transform: translateY(-4px); border-color: rgba(242,118,34,.54); background: linear-gradient(145deg, rgba(242,118,34,.13), rgba(255,255,255,.018)); }
.release-card-arena { border-color: rgba(242,118,34,.42); background: radial-gradient(circle at 94% 8%, rgba(242,118,34,.25), transparent 37%), linear-gradient(145deg, #24160e, #121214 72%); }
.release-kicker { color: var(--orange); font-size: .66rem; font-weight: 900; letter-spacing: .11em; }
.release-mark { width: 48px; height: 48px; margin: 22px 0 16px; display: grid; place-items: center; border: 1px solid rgba(242,118,34,.48); border-radius: 14px; color: #ffbf87; font-size: 1.55rem; font-weight: 950; background: rgba(242,118,34,.12); box-shadow: 0 8px 24px rgba(0,0,0,.22); }
.release-card h3 { margin: 0; font-size: 1.15rem; }
.release-card p { margin: 8px 0 18px; color: #bbb5b2; font-size: .88rem; line-height: 1.55; }
.release-status { margin-top: auto; color: #8f929a; font-size: .64rem; font-weight: 850; letter-spacing: .085em; }
.bento-card, .content-card, .panel-card, .widget-card { background: linear-gradient(145deg, #17171a, #101012); border: 1px solid var(--line-soft); border-radius: var(--radius); box-shadow: inset 0 1px rgba(255,255,255,.03); }
.bento-card { min-height: 360px; padding: 30px; position: relative; overflow: hidden; }
.bento-card::after { content: ""; position: absolute; inset: auto -20% -60% 40%; height: 70%; background: radial-gradient(ellipse, rgba(242,118,34,.12), transparent 68%); pointer-events: none; }
.bento-wide { grid-row: span 1; }
.card-topline { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 42px; }
.tool-icon { display: grid; place-items: center; width: 40px; height: 40px; color: var(--orange); background: rgba(242,118,34,.08); border: 1px solid rgba(242,118,34,.18); border-radius: 10px; }
.badge { display: inline-flex; align-items: center; min-height: 24px; padding: 0 8px; border: 1px solid #3b3b40; color: #aaa9af; border-radius: 6px; font-size: .58rem; letter-spacing: .1em; font-weight: 900; }
.badge-free { border-color: rgba(121,220,140,.28); color: #9feaab; }
.badge-premium { border-color: rgba(242,118,34,.35); color: var(--orange); }
.bento-card h3 { font-size: 1.8rem; margin-bottom: 14px; }
.bento-card > p { max-width: 520px; }
.command-preview { margin-top: 30px; padding: 14px; border: 1px solid var(--line); background: #0b0b0c; border-radius: 10px; font-size: .78rem; }
.command-preview span { color: #b2b1b8; }
.command-preview code { color: var(--orange); margin-left: 8px; }
.command-preview p { margin: 7px 0 0; color: #b2b1b8; }
.command-preview strong { color: var(--orange); margin-right: 7px; }
.mini-widget { margin-top: 36px; min-height: 120px; padding: 18px; display: flex; flex-direction: column; justify-content: center; border-left: 3px solid var(--orange); background: linear-gradient(90deg, rgba(242,118,34,.12), transparent); position: relative; }
.mini-widget span { color: var(--orange); letter-spacing: .18em; font-size: .62rem; }
.mini-widget i { position: absolute; right: 24px; width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--orange); box-shadow: 0 0 30px rgba(242,118,34,.25); }
.game-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.game-chips span { padding: 8px 11px; border: 1px solid var(--line); border-radius: 7px; color: #cccbd0; font-size: .68rem; letter-spacing: .08em; }
.team-card { display: grid; grid-template-columns: 1fr auto; gap: 30px; min-height: 280px; }
.role-stack { display: grid; align-content: center; min-width: 220px; }
.role-stack span { display: flex; align-items: center; gap: 10px; padding: 10px; margin-top: -1px; border: 1px solid var(--line); background: #111113; }
.role-stack b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #29292d; color: var(--orange); font-size: .7rem; }
.role-stack i { font-style: normal; color: #b4b3b9; font-size: .8rem; }
.premium-band { width: min(calc(100% - 40px), 1380px); margin: 0 auto 120px; padding: 70px clamp(30px, 6vw, 90px); display: flex; align-items: end; justify-content: space-between; gap: 40px; border: 1px solid rgba(242,118,34,.3); background: radial-gradient(circle at 85% 15%, rgba(242,118,34,.17), transparent 35%), linear-gradient(135deg, #1e140e, #101011 60%); border-radius: 22px; }
.premium-band > div { max-width: 750px; }
.premium-band h2 { font-size: clamp(2rem, 4vw, 4.2rem); }
.premium-band p:last-child { font-size: 1.05rem; }
.discord-promo { position: relative; overflow: hidden; margin-bottom: 110px; padding: clamp(28px, 4vw, 52px); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 28px; border: 1px solid rgba(242,118,34,.38); border-radius: 22px; background: radial-gradient(circle at 4% 0%, rgba(242,118,34,.28), transparent 30%), linear-gradient(112deg, #21140d, #121214 64%); }
.discord-promo::after { content: ''; position: absolute; inset: auto -8% -75% auto; width: 430px; aspect-ratio: 1; border-radius: 50%; border: 1px solid rgba(242,118,34,.18); box-shadow: 0 0 0 48px rgba(242,118,34,.04), 0 0 0 96px rgba(242,118,34,.025); pointer-events: none; }
.discord-promo-mark { position: relative; z-index: 1; width: 78px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.23); border-radius: 22px; color: #17100b; font-size: 2rem; font-weight: 950; font-style: italic; background: linear-gradient(135deg, #ffb369, var(--orange) 58%, #bd4c0a); box-shadow: 0 15px 35px rgba(0,0,0,.35); }
.discord-promo-copy { position: relative; z-index: 1; max-width: 680px; }
.discord-promo-copy .eyebrow { margin-bottom: 8px; }
.discord-promo-copy h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.65rem); }
.discord-promo-copy p:last-child { margin: 9px 0 0; color: #c3b8b0; line-height: 1.65; }
.discord-promo-action { position: relative; z-index: 1; white-space: nowrap; }
.final-cta { padding: 70px 0 140px; display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; align-items: center; }
.final-cta > img { width: 100%; max-height: 410px; border-radius: 24px; aspect-ratio: 16 / 10; object-fit: cover; object-position: center 32%; border: 1px solid var(--line); }
.final-cta h2 { max-width: 800px; }

.page-hero { padding: 120px 0 75px; border-bottom: 1px solid var(--line-soft); }
.page-hero h1 { max-width: 950px; margin-bottom: 22px; }
.page-hero > p:last-of-type { max-width: 760px; font-size: 1.15rem; }
.content-grid { padding: 70px 0 140px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.content-card { padding: 28px; min-height: 270px; }
.content-index { color: var(--orange); font-family: monospace; font-size: .72rem; }
.content-card h2 { font-size: 1.45rem; margin-top: 48px; }

.auth-shell { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; }
.auth-visual { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 45px clamp(35px, 6vw, 85px); background: radial-gradient(circle at 50% 50%, rgba(242,118,34,.2), transparent 43%), linear-gradient(145deg,#19120d,#09090a 68%); border-right: 1px solid var(--line); }
.auth-visual::after { content:""; position: absolute; inset: 0; opacity: .25; background-image: linear-gradient(rgba(242,118,34,.12) 1px, transparent 1px), linear-gradient(90deg,rgba(242,118,34,.12) 1px, transparent 1px); background-size: 50px 50px; mask-image: radial-gradient(circle,#000,transparent 68%); }
.auth-brand, .auth-visual blockquote, .auth-mascot { position: relative; z-index: 2; }
.auth-mascot { width: min(72%, 570px); margin: auto; filter: drop-shadow(0 30px 50px rgba(0,0,0,.55)); }
.auth-visual blockquote { margin: 0; max-width: 550px; color: #bcbbc0; font-size: 1.05rem; border-left: 2px solid var(--orange); padding-left: 16px; }
.auth-panel { width: min(100%, 580px); margin: auto; padding: 55px 45px; }
.auth-panel h1 { font-size: clamp(2.6rem, 5vw, 4.8rem); margin-bottom: 12px; }
.google-button { width: 100%; margin: 28px 0 18px; color: #e9e8eb; background: #1b1b1e; border-color: var(--line); box-shadow: none; }
.google-button span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #f4f4f4; color: #333; font-weight: 900; }
.or { display: flex; align-items: center; gap: 12px; color: #6f6e74; font-size: .72rem; margin: 20px 0; }
.or::before, .or::after { content: ""; height: 1px; background: var(--line); flex: 1; }
.stack-form { display: grid; gap: 17px; }
.stack-form label { display: grid; gap: 7px; color: #c5c4c8; font-size: .8rem; font-weight: 700; }
.stack-form label span, .stack-form small { color: #77767c; font-weight: 500; }
.stack-form .check-line { display: flex; align-items: center; gap: 9px; }
.stack-form .check-line input { width: 18px; min-height: 18px; accent-color: var(--orange); }
.form-actions, .resource-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.panel-card hr { width: 100%; margin: 22px 0; border: 0; border-top: 1px solid var(--line-soft); }
input, textarea, select { width: 100%; color: var(--white); background: #101012; border: 1px solid var(--line); border-radius: 10px; min-height: 48px; padding: 10px 13px; }
textarea { min-height: 110px; resize: vertical; }
select { appearance: none; }
.auth-link { display: inline-block; margin-top: 18px; }
.auth-switch, .legal-copy { margin-top: 30px; font-size: .82rem; }
.auth-switch a, .legal-copy a { color: var(--orange); }
.auth-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; pointer-events:none!important; }

.site-footer { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; padding: 50px 0; display: grid; grid-template-columns: 1fr 2fr auto; gap: 30px; align-items: end; border-top: 1px solid var(--line); }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 9px 20px; justify-content: center; color: #8a898e; font-size: .78rem; }
.site-footer p { margin: 5px 0 0; font-size: .78rem; }
.footer-brand { font-size: 1.1rem; }
.footer-note strong { color: var(--orange); }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0,1fr); background: #0a0a0b; }
.app-sidebar { height: 100vh; position: sticky; top: 0; padding: 22px 16px; border-right: 1px solid var(--line-soft); background: #0d0d0f; display: flex; flex-direction: column; overflow-y: auto; z-index: 20; }
.sidebar-brand { padding: 0 10px 20px; }
.channel-menu { margin-bottom: 16px; }
.channel-switcher { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: #151517; cursor: pointer; list-style: none; }
.channel-switcher::-webkit-details-marker { display: none; }
.channel-menu[open] .channel-switcher { border-color: rgba(242,118,34,.5); border-radius: 12px 12px 0 0; }
.channel-menu-arrow { color: #a2a0a8; font-size: 1rem; transition: transform .18s ease; }
.channel-menu[open] .channel-menu-arrow { transform: rotate(180deg); color: var(--orange); }
.channel-dropdown { display: grid; gap: 2px; padding: 8px; border: 1px solid rgba(242,118,34,.5); border-top: 0; border-radius: 0 0 12px 12px; background: #121214; }
.channel-dropdown-title { margin: 5px 7px 6px; color: #77767c; font-size: .55rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.channel-dropdown a { min-height: 35px; padding: 0 8px; display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 6px; border-radius: 7px; color: #a4a2a9; font-size: .74rem; font-weight: 650; }
.channel-dropdown a > span { color: #747279; text-align: center; }
.channel-dropdown a:hover { background: rgba(255,255,255,.035); color: #fff; }
.channel-dropdown a.active { background: rgba(242,118,34,.1); color: #fff; box-shadow: inset 2px 0 var(--orange); }
.channel-dropdown a.active > span { color: var(--orange); }
.channel-dropdown i { padding: 2px 5px; color: var(--orange); border: 1px solid rgba(242,118,34,.3); border-radius: 4px; font-size: .5rem; font-style: normal; }
.account-logout-form { margin: 5px 0 0; padding-top: 7px; border-top: 1px solid rgba(255,255,255,.07); }
.account-logout-button { width: 100%; min-height: 35px; padding: 0 8px; display: flex; align-items: center; gap: 8px; border: 0; border-radius: 7px; background: transparent; color: #d8a19b; font: inherit; font-size: .74rem; font-weight: 750; text-align: left; cursor: pointer; }
.account-logout-button span { width: 20px; color: #ef7967; text-align: center; font-size: .95rem; }
.account-logout-button:hover { background: rgba(231,86,71,.1); color: #fff; }
.channel-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 9px; background: linear-gradient(145deg,var(--orange),#9a3d0b); color: #180b03; font-size: .72rem; font-weight: 950; }
.admin-channel-avatar { display: grid; place-items: center; width: 48px; height: 48px; overflow: hidden; border: 1px solid rgba(242,118,34,.42); border-radius: 14px; background: linear-gradient(145deg,rgba(242,118,34,.22),rgba(18,18,22,.96)); box-shadow: 0 8px 22px rgba(0,0,0,.28); }
.admin-channel-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.admin-channel-name { display: block; min-width: 8rem; color: var(--text); }
.channel-switcher small, .channel-switcher strong { display: block; }
.channel-switcher small { color: #77767b; font-size: .57rem; letter-spacing: .07em; text-transform: uppercase; }
.channel-switcher strong { max-width: 130px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .78rem; }
.sidebar-nav { display: grid; gap: 2px; }
.sidebar-nav a { min-height: 37px; padding: 0 10px; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 7px; border-radius: 8px; color: #98979d; font-size: .78rem; font-weight: 650; }
.sidebar-nav a > span { color: #65646a; text-align: center; }
.sidebar-nav a > .nav-tournament-icon { color:#65646a; filter:grayscale(1) saturate(0); opacity:.9; }
.sidebar-nav a:hover { background: rgba(255,255,255,.035); color: #dddce0; }
.sidebar-nav a.active { background: rgba(242,118,34,.09); color: var(--white); box-shadow: inset 2px 0 var(--orange); }
.sidebar-nav a.active > span { color: var(--orange); }
.sidebar-nav a.nav-subitem { min-height:31px; margin-left:12px; color:#b2afb7; font-size:.71rem; }
.sidebar-nav a.nav-subitem > span { color:#8a878f; }
.sidebar-nav i { padding: 2px 5px; color: var(--orange); border: 1px solid rgba(242,118,34,.3); border-radius: 4px; font-size: .5rem; font-style: normal; }
.sidebar-nav a > .nav-link-label { min-width: 0; color: inherit; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-nav a > .nav-link-badges { display: flex; align-items: center; justify-content: flex-end; gap: 4px; color: inherit; text-align: right; }
.sidebar-nav .nav-link-badges i { flex: 0 0 auto; }
.sidebar-nav .nav-link-badges .nav-dev-badge { color: #ffd28f; border-color: rgba(255,190,90,.46); background: rgba(242,118,34,.11); }
.nav-group { margin-top: 8px; }
.nav-group summary { min-height: 37px; padding: 0 10px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; border: 1px solid var(--line-soft); border-radius: 8px; color: #aaa8af; cursor: pointer; list-style: none; font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group[open] summary { border-color: rgba(242,118,34,.42); border-radius: 8px 8px 0 0; color: #ffad55; background: rgba(242,118,34,.055); }
.nav-group-arrow { color: #8d8b92; font-size: .95rem; line-height: 1; transition: transform .18s ease; }
.nav-group[open] .nav-group-arrow { color: var(--orange); transform: rotate(180deg); }
.nav-group-links { display: grid; gap: 2px; padding: 4px 0 0; }
.nav-group[open] .nav-group-links { padding: 5px 4px 4px; border: 1px solid rgba(242,118,34,.24); border-top: 0; border-radius: 0 0 8px 8px; background: rgba(17,17,20,.74); }
.nav-group-links a { padding-left: 12px; }
.nav-subgroup { margin: 2px 0; }
.nav-subgroup summary { min-height: 35px; padding: 0 8px; display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 7px; color: #aaa8af; cursor: pointer; list-style: none; border-radius: 7px; font-size: .76rem; font-weight: 750; }
.nav-subgroup summary::-webkit-details-marker { display: none; }
.nav-subgroup summary > span:first-child { color: #65646a; text-align: center; }
.nav-subgroup[open] summary { color: #ffad55; background: rgba(242,118,34,.07); }
.nav-subgroup[open] .nav-group-arrow { color: var(--orange); transform: rotate(180deg); }
.nav-subgroup-links { display: grid; gap: 2px; margin: 2px 0 3px 13px; padding-left: 5px; border-left: 1px solid rgba(242,118,34,.22); }
.nav-subgroup-links a { min-height: 32px !important; padding-left: 8px !important; font-size: .71rem !important; }
.changelog-list { display:grid; gap:10px; }
.changelog-entry { display:grid; grid-template-columns:100px minmax(0,1fr); gap:14px; padding:16px; border:1px solid var(--line-soft); border-radius:12px; background:linear-gradient(110deg,rgba(242,118,34,.075),rgba(255,255,255,.018)); }
.changelog-entry time { color:var(--orange); font-size:.62rem; font-weight:900; letter-spacing:.12em; }
.changelog-entry strong { color:var(--white); }
.changelog-entry p { margin:5px 0 0; color:#9a979f; font-size:.84rem; line-height:1.55; }
.nav-section, .admin-label { margin: 20px 10px 7px; color: #5f5e64; font-size: .55rem; letter-spacing: .16em; text-transform: uppercase; font-weight: 900; }
.sidebar-user { margin-top: auto; padding: 14px 9px 0; display: flex; align-items: center; gap: 10px; border-top: 1px solid var(--line-soft); }
.sidebar-user > span { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; background: #252529; color: var(--orange); font-size: .68rem; font-weight: 900; }
.sidebar-user strong, .sidebar-user small { display: block; }
.sidebar-user strong { font-size: .75rem; }
.sidebar-user small { color: #77767c; font-size: .62rem; }
.app-main { min-width: 0; padding: 0 clamp(22px,4vw,58px) 70px; }
.app-topbar { min-height: 104px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line-soft); margin-bottom: 30px; }
.app-topbar h1 { font-size: clamp(1.8rem,3vw,2.8rem); margin: 0; }
.app-topbar .eyebrow { margin-bottom: 7px; }
.topbar-actions { display: flex; align-items: center; gap: 10px; }
.engine-chip { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 8px; color: #848389; font-size: .68rem; }
.engine-chip i { width: 6px; height: 6px; background: #6b6a70; border-radius: 50%; }
.engine-chip.online { color: #a6efb2; border-color: rgba(121,220,140,.25); }
.engine-chip.online i { background: var(--green); box-shadow: 0 0 9px var(--green); }
.status-banner { min-height: 95px; padding: 18px 20px; display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; margin-bottom: 18px; border: 1px solid rgba(242,118,34,.18); background: linear-gradient(90deg,rgba(242,118,34,.08),#111113 40%); border-radius: 14px; }
.status-banner > div { display: flex; align-items: center; gap: 14px; }
.status-banner small, .status-banner strong { display: block; }
.status-banner small { color: #77767b; font-size: .56rem; letter-spacing: .12em; }
.pulse-ring { width: 38px; height: 38px; border: 1px solid rgba(242,118,34,.4); border-radius: 50%; box-shadow: inset 0 0 0 10px rgba(242,118,34,.07); }
.status-banner p { margin: 0; font-size: .82rem; }
.metrics-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 16px; }
.metrics-grid article { min-height: 125px; padding: 18px; border: 1px solid var(--line-soft); border-radius: 13px; background: #121214; }
.metrics-grid span, .metrics-grid strong, .metrics-grid small { display: block; }
.metrics-grid span { color: #6e6d73; font-size: .56rem; letter-spacing: .14em; }
.metrics-grid strong { margin: 14px 0 5px; font-size: 1.45rem; text-transform: capitalize; }
.metrics-grid small { color: #79787e; font-size: .67rem; }
.dashboard-grid, .workspace-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 16px; }
.panel-card { padding: 22px; min-width: 0; }
/* A "wide" card must take the full row.  The former row-span reservation made
   a short card leave a tall empty column below it, forcing every following
   block in several dashboard sections to start much lower than necessary. */
.panel-card-wide { grid-column: 1 / -1; grid-row: auto; }
.panel-card h2 { font-size: 1.35rem; }
.panel-card p { font-size: .82rem; }
.panel-card-head { display: flex; justify-content: space-between; align-items: start; gap: 20px; margin-bottom: 18px; }
.panel-card-head h2, .panel-card-head .eyebrow { margin-bottom: 0; }
.event-list { margin: 0; padding: 0; list-style: none; }
.event-list li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line-soft); font-size: .76rem; }
.event-list li > span { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.event-list time { color: #68676d; }
.empty-state { min-height: 180px; display: grid; place-content: center; text-align: center; border: 1px dashed var(--line); border-radius: 12px; }
.empty-state p { max-width: 420px; margin: 7px auto 0; }
.soundrequest-panel-player { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr); gap:18px; align-items:center; margin:20px 0 18px; padding:14px; overflow:hidden; border:1px solid rgba(242,118,34,.24); border-radius:14px; background:radial-gradient(circle at 15% 10%,rgba(242,118,34,.13),transparent 32%),#0b0b0d; box-shadow:inset 0 1px rgba(255,255,255,.035),0 16px 34px rgba(0,0,0,.2); }
.soundrequest-panel-player [hidden] { display:none !important; }
.soundrequest-panel-player.is-empty { grid-template-columns:auto 1fr; min-height:180px; padding:26px; }
.soundrequest-video-frame { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border:1px solid #2d2d32; border-radius:11px; background:#000; box-shadow:0 14px 28px rgba(0,0,0,.38); }
.soundrequest-video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.soundrequest-player-meta { min-width:0; padding:8px 8px 8px 2px; }
.soundrequest-player-meta h3, .soundrequest-panel-player.is-empty h3 { margin:10px 0 7px; font-size:1.08rem; overflow-wrap:anywhere; }
.soundrequest-player-meta p, .soundrequest-panel-player.is-empty p { margin:0 0 16px; color:#87868c; font-size:.74rem; }
.soundrequest-player-state { display:inline-flex; align-items:center; gap:7px; color:var(--orange); font-size:.58rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.soundrequest-player-state i { width:7px; height:7px; border-radius:50%; background:var(--orange); box-shadow:0 0 16px rgba(242,118,34,.8); }
.soundrequest-player-empty-mark { width:70px; height:70px; display:grid; place-items:center; border:1px solid rgba(242,118,34,.35); border-radius:50%; color:var(--orange); background:rgba(242,118,34,.08); box-shadow:0 0 35px rgba(242,118,34,.12); font-size:1.15rem; }
.soundrequest-panel-player code { color:var(--orange); }

/* Founder-only tutorial centre ------------------------------------------------ */
.tutorial-page { display:grid; gap:18px; padding-bottom:22px; }
.tutorial-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.42fr); gap:26px; overflow:hidden; padding:clamp(25px,4vw,46px); border:1px solid rgba(242,118,34,.34); border-radius:18px; background:radial-gradient(circle at 78% 13%,rgba(242,118,34,.28),transparent 27%),linear-gradient(118deg,#171113,#0f0f11 58%,#131113); box-shadow:0 20px 50px rgba(0,0,0,.22); }
.tutorial-hero:before { content:""; position:absolute; inset:auto -8% -65% 38%; height:250px; border:1px solid rgba(242,118,34,.16); border-radius:50%; box-shadow:0 0 0 35px rgba(242,118,34,.035),0 0 0 70px rgba(242,118,34,.02); pointer-events:none; }
.tutorial-hero > * { position:relative; z-index:1; }
.tutorial-hero h2 { max-width:760px; margin:0; font-size:clamp(1.8rem,3.8vw,3.15rem); line-height:1.03; letter-spacing:-.045em; }
.tutorial-hero p:not(.eyebrow) { max-width:730px; margin:14px 0 0; color:#b5b2b8; font-size:.93rem; line-height:1.7; }
.tutorial-hero-state { align-self:center; display:grid; gap:10px; padding:17px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(9,9,10,.55); backdrop-filter:blur(9px); }
.tutorial-hero-state > span { display:flex; align-items:center; gap:8px; color:#9b989f; font-size:.73rem; font-weight:800; }
.tutorial-hero-state > span i { width:8px; height:8px; border-radius:50%; background:#747178; }
.tutorial-hero-state > span.is-ready { color:#a8ebb3; }
.tutorial-hero-state > span.is-ready i { background:#73da85; box-shadow:0 0 10px #73da85; }
.tutorial-hero-state .button { margin-top:6px; text-align:center; }
.tutorial-nav { position:sticky; top:10px; z-index:9; display:flex; flex-wrap:wrap; gap:7px; padding:10px; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:rgba(15,15,17,.91); box-shadow:0 9px 24px rgba(0,0,0,.18); backdrop-filter:blur(12px); }
.tutorial-nav a { padding:8px 11px; border:1px solid transparent; border-radius:8px; color:#aaa8af; font-size:.7rem; font-weight:850; transition:.16s ease; }
.tutorial-nav a:hover { border-color:rgba(242,118,34,.35); background:rgba(242,118,34,.08); color:#fff; }
.tutorial-section { scroll-margin-top:74px; padding:clamp(21px,3vw,34px); border:1px solid var(--line-soft); border-radius:16px; background:#121214; }
.tutorial-section-dark { border-color:rgba(242,118,34,.2); background:linear-gradient(135deg,#101011,#171110); }
.tutorial-section-head { max-width:810px; margin-bottom:21px; }
.tutorial-section-head h2 { margin:0; font-size:clamp(1.35rem,2.2vw,2rem); letter-spacing:-.025em; }
.tutorial-section-head p:not(.eyebrow) { margin:8px 0 0; color:#a7a4ab; font-size:.84rem; line-height:1.6; }
.tutorial-section-head a { color:var(--orange); font-weight:800; }
.tutorial-step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
.tutorial-step-grid article { min-height:200px; padding:18px; border:1px solid var(--line-soft); border-radius:13px; background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(255,255,255,.008)); }
.tutorial-step-grid b { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; color:#1c0e04; background:var(--orange); font-size:.67rem; letter-spacing:.05em; }
.tutorial-step-grid h3 { margin:20px 0 7px; font-size:1rem; }
.tutorial-step-grid p { margin:0; color:#a39fa7; font-size:.75rem; line-height:1.6; }
.tutorial-step-grid a { color:#ffc07d; font-weight:800; }
.tutorial-step-grid code { color:var(--orange); font-weight:900; }
.tutorial-obs-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.tutorial-obs-steps li { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px; align-items:start; padding:15px 12px; border:1px solid rgba(242,118,34,.18); border-radius:12px; background:rgba(255,255,255,.018); }
.tutorial-obs-steps span { display:grid; place-items:center; width:25px; height:25px; border:1px solid rgba(242,118,34,.7); border-radius:50%; color:var(--orange); font-size:.64rem; font-weight:900; }
.tutorial-obs-steps strong,.tutorial-obs-steps small { display:block; }
.tutorial-obs-steps strong { color:#f4f2f4; font-size:.71rem; line-height:1.35; }
.tutorial-obs-steps small { margin-top:6px; color:#97949b; font-size:.67rem; line-height:1.5; }
.tutorial-accordion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tutorial-card { overflow:hidden; border:1px solid var(--line-soft); border-radius:13px; background:#101012; }
.tutorial-card[open] { border-color:rgba(242,118,34,.38); box-shadow:inset 2px 0 var(--orange); }
.tutorial-card summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:center; min-height:82px; padding:14px; cursor:pointer; list-style:none; }
.tutorial-card summary::-webkit-details-marker { display:none; }
.tutorial-card summary:hover { background:rgba(255,255,255,.025); }
.tutorial-card-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(242,118,34,.32); border-radius:10px; color:var(--orange); background:rgba(242,118,34,.08); font-size:.9rem; }
.tutorial-card summary strong,.tutorial-card summary small { display:block; min-width:0; }
.tutorial-card summary strong { color:#f2f0f3; font-size:.82rem; }
.tutorial-card summary small { margin-top:4px; color:#99969d; font-size:.67rem; line-height:1.38; }
.tutorial-card summary > i { color:#8b878d; font-style:normal; transition:transform .18s ease; }
.tutorial-card[open] summary > i { color:var(--orange); transform:rotate(180deg); }
.tutorial-card-pro .tutorial-card-icon { color:#ffd58c; border-color:rgba(255,194,106,.42); background:rgba(242,118,34,.13); }
.tutorial-card-body { padding:0 16px 16px 62px; border-top:1px solid var(--line-soft); }
.tutorial-card-body ol { display:grid; gap:8px; margin:14px 0; padding-left:17px; color:#b1adb5; font-size:.71rem; line-height:1.48; }
.tutorial-card-body li::marker { color:var(--orange); font-weight:900; }
.tutorial-mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.tutorial-mini-grid article { min-height:113px; padding:15px; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:rgba(255,255,255,.018); }
.tutorial-mini-grid strong { color:#f2eff2; font-size:.8rem; }
.tutorial-mini-grid p { margin:7px 0 0; color:#98959c; font-size:.69rem; line-height:1.5; }
.tutorial-trouble-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.tutorial-trouble-grid article { padding:16px; border:1px solid rgba(255,210,139,.18); border-radius:12px; background:linear-gradient(145deg,rgba(242,118,34,.08),rgba(255,255,255,.012)); }
.tutorial-trouble-grid strong { color:#ffd096; font-size:.78rem; }
.tutorial-trouble-grid p { margin:8px 0 0; color:#a7a3aa; font-size:.7rem; line-height:1.55; }
.tutorial-finish { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:18px; padding:17px; border:1px solid rgba(121,220,140,.22); border-radius:12px; background:rgba(121,220,140,.045); }
.tutorial-finish strong { color:#b8efc1; font-size:.84rem; }
.tutorial-finish p { margin:4px 0 0; color:#9ba29d; font-size:.71rem; }
@media (max-width:1100px) { .tutorial-step-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tutorial-obs-steps { grid-template-columns:repeat(2,minmax(0,1fr)); } .tutorial-trouble-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:720px) { .tutorial-hero { grid-template-columns:1fr; padding:23px; } .tutorial-nav { position:static; } .tutorial-accordion-grid,.tutorial-mini-grid { grid-template-columns:1fr; } .tutorial-step-grid,.tutorial-obs-steps,.tutorial-trouble-grid { grid-template-columns:1fr; } .tutorial-card-body { padding-left:16px; } .tutorial-finish { align-items:flex-start; flex-direction:column; } }
.quick-actions { display: grid; gap: 8px; }
.quick-actions a { display: flex; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line-soft); border-radius: 9px; color: #aaa9af; font-size: .76rem; }
.quick-actions a:hover { border-color: rgba(242,118,34,.3); color: var(--white); }
.quick-actions span { color: var(--orange); }
.inline-form { display: flex; gap: 9px; margin-top: 24px; }
.inline-form input { flex: 1; }
.link-result { padding: 16px; margin-top: 16px; border: 1px solid rgba(121,220,140,.25); background: rgba(121,220,140,.05); border-radius: 10px; }
.copy-command { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 11px 12px; margin: 14px 0; border: 1px solid var(--line); border-radius: 9px; background: #0d0d0f; }
.copy-command code { min-width: 0; overflow: hidden; color: var(--orange); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.copy-command button, [data-copy] { background: transparent; color: #9b9aa0; border: 0; cursor: pointer; font-size: .72rem; }
.installed-list { display: grid; gap: 12px; margin-top: 18px; }
.installed-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; padding: 14px; border: 1px solid var(--line-soft); border-radius: 11px; background: rgba(255,255,255,.018); }
.installed-item-main { flex: 1 1 auto; min-width: 0; }
.installed-item strong, .installed-item small { display: block; }
.installed-item small { margin-top: 5px; color: var(--muted); }
.sound-overlay-list .copy-command { width: 100%; max-width: 720px; margin-bottom: 0; }
.copy-command-secret code { letter-spacing: .035em; }
.obs-audio-guide { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 14px; align-items: start; padding: 14px; margin-top: 16px; border: 1px solid rgba(121,220,140,.28); border-radius: 11px; background: rgba(121,220,140,.055); }
.obs-audio-guide-mark { display: grid; place-items: center; min-width: 58px; min-height: 34px; padding: 7px 9px; border-radius: 8px 3px 8px 3px; background: #79dc8c; color: #07110a; font-size: .68rem; font-weight: 950; letter-spacing: .11em; }
.obs-audio-guide p { margin: 5px 0 0; }
.obs-audio-guide code { color: #79dc8c; }
.obs-source-name { display: flex; align-items: center; gap: 9px; min-width: 0; margin-top: 10px; color: var(--muted); font-size: .72rem; }
.obs-source-name code { overflow: hidden; color: #f0eff2; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.obs-source-name button { flex: 0 0 auto; padding: 3px 7px; border: 1px solid var(--line); border-radius: 6px; }
.overlay-style-config { max-width: 720px; margin-top: 12px; }
.overlay-color-form { display: grid; grid-template-columns: repeat(2,minmax(120px,1fr)) auto; gap: 12px; align-items: end; margin-top: 12px; }
.overlay-color-form label { display: grid; gap: 7px; color: var(--muted); font-size: .72rem; }
.overlay-color-form input[type="color"] { width: 100%; min-height: 40px; padding: 4px; cursor: pointer; }
.overlay-style-config > small { margin-top: 9px; }
.small-steps { padding-left: 20px; color: #929197; font-size: .78rem; }
.small-steps li { margin: 7px 0; }
.status-list { margin: 0; }
.status-list div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); font-size: .75rem; }
.status-list dt { color: #77767c; }
.status-list dd { margin: 0; text-align: right; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: .75rem; }
th, td { padding: 13px 10px; border-bottom: 1px solid var(--line-soft); text-align: left; }
th { color: #6d6c72; font-size: .57rem; letter-spacing: .1em; }
td { color: #b5b4ba; }
td small { display: block; color: #66656b; margin-top: 3px; }
.token-cloud { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0; }
.token-cloud code { padding: 5px 7px; color: var(--orange); border: 1px solid rgba(242,118,34,.2); border-radius: 5px; background: rgba(242,118,34,.05); font-size: .66rem; }
.command-helper { display:grid; gap:12px; padding:14px; border:1px solid rgba(242,118,34,.24); border-radius:10px; background:rgba(242,118,34,.055); }
.command-helper > div { display:grid; gap:8px; }
.command-helper small { color:var(--orange); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.command-helper .button { width:max-content; }
.app-dialog { width: min(calc(100% - 30px),560px); color: var(--white); background: #151517; border: 1px solid var(--line); border-radius: 16px; padding: 28px; box-shadow: var(--shadow); }
.app-dialog::backdrop { background: rgba(0,0,0,.74); backdrop-filter: blur(5px); }
.dialog-close { position: absolute; right: 14px; top: 12px; }
.dialog-close button { border: 0; background: transparent; font-size: 1.8rem; color: #8c8b91; cursor: pointer; }
.app-confirm-dialog { max-width: 460px; }
.app-confirm-dialog h2 { margin: 4px 34px 10px 0; font-size: 1.35rem; }
.app-confirm-message { margin: 0; color: #b4b2b8; line-height: 1.55; }
.app-confirm-actions { justify-content: flex-end; margin-top: 24px; }
.giveaway-entry-card .panel-card-head { align-items: flex-start; }
.giveaway-entry-card tbody td:first-child { color: var(--white); font-weight: 800; }
.catalog-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.widget-card { padding: 18px; }
.widget-preview { height: 170px; position: relative; display: flex; flex-direction: column; justify-content: end; padding: 16px; margin-bottom: 18px; overflow: hidden; border: 1px solid #28282c; border-radius: 10px; background: radial-gradient(circle at 75% 30%,rgba(242,118,34,.18),transparent 26%), repeating-linear-gradient(0deg,#101012,#101012 19px,#161619 20px); }
.widget-preview i { position: absolute; width: 90px; height: 90px; right: 24px; top: 20px; border: 1px solid rgba(242,118,34,.35); border-radius: 50%; box-shadow: 0 0 45px rgba(242,118,34,.14); }
.widget-preview span { color: var(--orange); font-size: .55rem; letter-spacing: .17em; }
.widget-preview b { font-size: .78rem; }
.widget-card .card-topline { margin-bottom: 15px; }
.widget-card h2 { font-size: 1.25rem; }
.widget-card dl div { display: flex; justify-content: space-between; padding: 7px 0; border-top: 1px solid var(--line-soft); font-size: .68rem; }
.widget-card dt { color: #6f6e74; }
.widget-card dd { margin: 0; }
.widget-actions { display: flex; gap: 7px; margin-top: 15px; }
.widget-config { margin-top: 14px; border-top: 1px solid var(--line-soft); padding-top: 12px; }
.widget-config summary { color: var(--orange); cursor: pointer; font-size: .74rem; font-weight: 800; }
.sound-shop-edit > summary { display: none; }
.widget-config .stack-form { margin-top: 14px; }
.installed-widget-list { margin-bottom: 16px; }
.installed-config-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; margin:16px 0 22px; }
.installed-config-grid .panel-card { padding:18px; }
.sport-overlay-workspace { max-width:1180px; }
.sport-source-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:20px 0; padding:16px; border:1px solid rgba(242,118,34,.28); border-radius:12px; background:linear-gradient(110deg,rgba(242,118,34,.11),rgba(15,15,17,.74)); }
.sport-source-row strong,.sport-source-row small { display:block; }
.sport-source-row strong { color:var(--white); font-size:.84rem; }
.sport-source-row small { margin-top:4px; color:#87858b; font-size:.7rem; }
.sport-settings-form { padding-top:18px; border-top:1px solid var(--line-soft); }
.sport-settings-form h3 { margin:0 0 14px; color:var(--white); font-size:1rem; }
@media (max-width:700px) { .sport-source-row { align-items:flex-start; flex-direction:column; } }
.subathon-panel { display:grid; grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr); gap:18px; align-items:start; }
.subathon-control-card,.subathon-preview-card { min-height:100%; }
.subathon-settings-card { grid-column:1 / -1; }
.subathon-panel-status { display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid var(--line-soft); border-radius:999px; color:#a5a4aa; font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.subathon-panel-status:before { content:""; width:8px; height:8px; border-radius:50%; background:#777; }
.subathon-panel-status.is-running:before { background:#43d884; box-shadow:0 0 12px #43d884; }
.subathon-panel-status.is-paused:before { background:#ffd15b; box-shadow:0 0 12px #ffd15b; }
.subathon-panel-status.is-finished:before { background:#ff5f68; box-shadow:0 0 12px #ff5f68; }
.subathon-panel-clock { margin:18px 0 12px; color:#fff; font-size:clamp(2.7rem,6vw,5.5rem); font-weight:950; line-height:1; letter-spacing:.035em; font-variant-numeric:tabular-nums; text-align:center; text-shadow:0 10px 35px rgba(242,118,34,.18); }
.subathon-panel-progress { height:8px; margin-bottom:20px; overflow:hidden; border-radius:99px; background:rgba(255,255,255,.07); }
.subathon-panel-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--orange),#ffad55); box-shadow:0 0 18px rgba(242,118,34,.55); transition:width .45s ease; }
.subathon-stats { grid-template-columns:repeat(3,1fr); }
.subathon-main-actions,.subathon-quick-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.subathon-turbo-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:14px; padding:11px; border:1px solid rgba(242,118,34,.3); border-radius:12px; background:linear-gradient(110deg,rgba(242,118,34,.12),rgba(255,74,0,.035)); }
.subathon-turbo-status { display:inline-flex; align-items:center; gap:7px; margin-right:auto; color:#aaa8af; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.subathon-turbo-status:before { content:""; width:8px; height:8px; border-radius:999px; background:#6f6b71; }
.subathon-turbo-status.is-active { color:#9eeeff; }
.subathon-turbo-status.is-active:before { background:#25d7ff; box-shadow:0 0 13px #19b8ff; animation:subflash-status-pulse .85s ease-in-out infinite alternate; }
.subathon-quick-actions button { padding:8px 11px; border:1px solid var(--line-soft); border-radius:9px; background:#0d0d0f; color:#d7d6da; font:inherit; font-size:.7rem; font-weight:800; cursor:pointer; }
@keyframes subflash-status-pulse { from{transform:scale(.8);filter:brightness(.8)} to{transform:scale(1.22);filter:brightness(1.5)} }
.subathon-quick-actions button:hover { border-color:rgba(242,118,34,.5); color:var(--orange); }
.subathon-custom-time { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; margin-top:14px; }
.subathon-preview-frame { aspect-ratio:1000/360; margin:10px 0 12px; overflow:hidden; border:1px solid rgba(242,118,34,.23); border-radius:14px; background:radial-gradient(circle at 50% 35%,rgba(242,118,34,.12),transparent 40%),#08080a; }
.subathon-preview-frame iframe { width:100%; height:100%; border:0; }
.subathon-preview-frame.is-timer { aspect-ratio:800/180; margin-top:12px; }
.subathon-preview-frame.is-kickstats { aspect-ratio:1000/260; margin-top:12px; }
.subathon-preview-frame.is-subgoal { aspect-ratio:800/150; margin-top:12px; }
.subathon-preview-frame.is-subgoalcompact { aspect-ratio:600/220; max-width:600px; margin-top:12px; background:transparent; }
.subathon-preview-frame.is-subwar { aspect-ratio:920/170; margin-top:12px; background:transparent; }
.subathon-kick-stats-panel { grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:10px; }
.subathon-kick-stats-panel dd { color:var(--orange); }
.subathon-overlay-links { display:grid; gap:9px; margin-bottom:12px; }
.subathon-overlay-links>div { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 12px; border:1px solid var(--line-soft); border-radius:11px; background:rgba(255,255,255,.018); }
.subathon-overlay-links span { display:grid; gap:3px; }
.subathon-overlay-links small { color:#7f7e84; }
.subathon-event-settings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.subathon-event-settings>div { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(110px,.6fr); gap:8px; padding:12px; border:1px solid var(--line-soft); border-radius:12px; background:rgba(255,255,255,.018); }
.sport-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:4px; }
.sport-settings-grid > label { min-width:0; }
.sport-settings-grid .check-line { min-height:44px; align-self:end; }
.sport-advanced-fields { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:14px; border:1px solid rgba(242,118,34,.18); border-radius:10px; background:rgba(242,118,34,.035); }
.sport-advanced-fields[hidden] { display:none; }
.sport-advanced-fields > strong { grid-column:1 / -1; color:var(--orange); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.sport-technical-fields { grid-column:1 / -1; padding:12px; border:1px solid var(--line-soft); border-radius:10px; }
.sport-technical-fields summary { margin-bottom:10px; }
.sport-technical-fields label + label { margin-top:10px; }
.sport-data-status { grid-column:1 / -1; margin:0; color:#85848a; font-size:.7rem !important; }
.form-check-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:10px; margin-top:14px; }
.media-upload-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:3px; }
.media-upload-row input[type="file"] { min-width:0; flex:1 1 220px; padding:7px; border:1px dashed var(--line); border-radius:8px; background:rgba(255,255,255,.025); color:#8b8a90; font-size:.68rem; }
.media-upload-row .button { flex:0 0 auto; }
.game-mark { width: 62px; height: 62px; margin-bottom: 28px; display: grid; place-items: center; border-radius: 16px; background: linear-gradient(145deg,var(--orange),#8c3307); color: #190a02; font-size: 1.2rem; font-weight: 950; box-shadow: 0 12px 30px rgba(242,118,34,.18); }
.module-intro { display: flex; align-items: center; gap: 36px; min-height: 360px; }
.module-intro img { width: 180px; filter: drop-shadow(0 20px 30px rgba(0,0,0,.4)); }
.stack-actions { display: grid; gap: 8px; }
.admin-shell { --orange: #ff7a1a; }
.admin-sidebar { background: #0b0b0d; }
.admin-metrics { grid-template-columns: repeat(5,1fr); }
.status-tag { display: inline-flex; padding: 3px 7px; border-radius: 5px; background: rgba(121,220,140,.07); color: #9ceaaa; }
.toast { position: fixed; right: 22px; bottom: 22px; z-index: 2147483647; max-width: 360px; margin:0; padding: 12px 16px; border: 1px solid var(--line); background: #18181b; color:#f4f1ec; border-radius: 10px; box-shadow: var(--shadow); opacity: 0; transform: translateY(18px); pointer-events: none; transition: .2s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
@supports selector(:popover-open) {
  .toast:popover-open { position:fixed; inset:auto 22px 22px auto; opacity:1; transform:translateY(0); }
}
.command-reply-toggle { display:flex !important; align-items:flex-start; gap:10px; padding:12px; border:1px solid rgba(242,118,34,.28); border-radius:11px; background:rgba(242,118,34,.06); cursor:pointer; }
.command-reply-toggle input { width:auto; margin-top:3px; accent-color:#f27622; }
.command-reply-toggle span { display:grid; gap:4px; }.command-reply-toggle small,.command-reply-hint { color:#ffad55; font-size:.69rem; font-weight:750; }
.command-test-grid { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(300px,1.2fr); gap:18px; align-items:start; margin-top:18px; }
.command-test-preview { display:grid; align-content:center; min-height:270px; padding:24px; border:1px solid rgba(242,118,34,.35); border-radius:16px; background:radial-gradient(circle at 88% 0,rgba(242,118,34,.14),transparent 34%),#0b0b0d; }
.command-test-caption { margin:0 0 18px; color:#a6a4a9; font-size:.76rem; line-height:1.45; }.command-test-message { max-width:88%; padding:12px 14px; border-radius:13px; line-height:1.4; white-space:pre-wrap; overflow-wrap:anywhere; }.command-test-request { justify-self:end; border:1px solid rgba(255,255,255,.12); background:#202025; color:#e4e1df; }.command-test-response { margin-top:10px; border:1px solid rgba(242,118,34,.38); background:rgba(242,118,34,.12); color:#fff; }.command-test-response.is-reply { position:relative; margin-left:18px; border-left:3px solid #ff8b36; box-shadow:inset 0 0 0 1px rgba(255,255,255,.04); }.command-test-response.is-reply::before { content:"Réponse au viewer"; display:block; margin-bottom:6px; color:#ffb56c; font-size:.62rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

@keyframes mascot-float { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-14px) rotate(1deg); } }

@media (max-width: 1080px) {
  .site-header { grid-template-columns: auto auto 1fr; }
  .nav-toggle { display: block; }
  .main-nav { position: absolute; top: 74px; left: 0; right: 0; padding: 12px; display: none; flex-direction: column; background: #121214; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .header-actions { justify-self: end; }
  .hero { grid-template-columns: 1fr; padding-top: 35px; }
  .hero-copy { padding-bottom: 0; }
  .hero-visual { min-height: 580px; }
  .protocol-grid { grid-template-columns: 1fr 1fr; }
  .protocol-grid li:nth-child(2) { border-right: 0; }
  .bento-grid { grid-template-columns: 1fr; }
  .release-radar-grid { grid-template-columns: 1fr 1fr; }
  .content-grid { grid-template-columns: 1fr 1fr; }
  .catalog-grid { grid-template-columns: 1fr 1fr; }
  .app-shell { grid-template-columns: 220px minmax(0,1fr); }
  .metrics-grid { grid-template-columns: 1fr 1fr; }
  .admin-metrics { grid-template-columns: repeat(3,1fr); }
  .dashboard-grid, .workspace-grid { grid-template-columns: 1fr; }
  .panel-card-wide { grid-row: auto; }
  .soundrequest-panel-player { grid-template-columns:1fr; }
  .soundrequest-player-meta { padding:4px 2px 2px; }
  .subathon-panel { grid-template-columns:1fr; }
  .subathon-settings-card { grid-column:auto; }
}

@media (max-width: 760px) {
  .site-header { width: min(calc(100% - 24px),var(--max)); gap: 10px; }
  .brand { font-size: 1.25rem; }
  .brand img { width: 38px; height: 38px; }
  .header-actions .button-ghost { display: none; }
  .hero, .section-shell, .premium-band, .site-footer { width: min(calc(100% - 24px),var(--max)); }
  .hero { min-height: 0; }
  .hero-copy { padding-top: 55px; }
  .hero h1 { font-size: clamp(3rem,16vw,5rem); }
  .hero-visual { min-height: 470px; }
  .signal-card { width: 160px; }
  .signal-one { left: 0; }
  .signal-two { right: 0; }
  .protocol { padding: 80px 0; }
  .protocol-grid { grid-template-columns: 1fr; }
  .protocol-grid li, .protocol-grid li + li { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line); min-height: 0; }
  .protocol-grid li > span { margin-bottom: 20px; }
  .split-heading { display: block; }
  .split-heading .text-link { display: inline-block; margin-top: 15px; }
  .bento-card { min-height: 320px; }
  .release-radar { margin-bottom: 80px; }
  .release-radar-grid { grid-template-columns: 1fr; }
  .release-card { min-height: 218px; }
  .team-card { grid-template-columns: 1fr; }
  .premium-band { display: block; padding: 45px 24px; }
  .premium-band .button { margin-top: 20px; }
  .discord-promo { grid-template-columns: auto 1fr; margin-bottom: 80px; }
  .discord-promo-action { grid-column: 1 / -1; justify-self: start; }
  .final-cta { grid-template-columns: 1fr; gap: 30px; }
  .final-cta > img { max-height: 330px; }
  .content-grid { grid-template-columns: 1fr; }
  .auth-shell { grid-template-columns: 1fr; }
  .auth-visual { min-height: 320px; padding: 25px; }
  .auth-mascot { width: 230px; }
  .auth-visual blockquote { display: none; }
  .auth-panel { padding: 45px 22px; }
  .site-footer { grid-template-columns: 1fr; align-items: start; }
  .site-footer nav { justify-content: start; }
  .app-shell { display: block; }
  .app-sidebar { height: auto; position: relative; padding: 12px; border-right: 0; border-bottom: 1px solid var(--line); overflow: visible; }
  .sidebar-brand { padding-bottom: 10px; }
  .channel-menu { margin-bottom: 10px; }
  .channel-switcher { display: grid; }
  .channel-dropdown { max-width: 320px; }
  .sidebar-user { display: none; }
  /* Mobile is a real panel navigation, not a clipped desktop sidebar. Every
     main entry remains directly reachable; the widget groups open underneath
     rather than being hidden past a horizontal scroll area. */
  .sidebar-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; gap:6px; padding:2px 0 4px; }
  .sidebar-nav a { min-width:0; min-height:40px; padding:0 8px; grid-template-columns:auto minmax(0,1fr); gap:5px; font-size:.71rem; }
  .sidebar-nav a > span:nth-child(2), .sidebar-nav a > .nav-link-label { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .sidebar-nav .nav-group { position:relative; grid-column:1 / -1; min-width:0; margin:0; }
  .sidebar-nav .nav-group summary { min-height: 36px; }
  .sidebar-nav .nav-group[open] .nav-group-links { position: absolute; top: 36px; left: 0; z-index: 30; width: 245px; max-height: min(60vh, 420px); overflow-y: auto; border-top: 1px solid rgba(242,118,34,.24); border-radius: 0 0 9px 9px; background: #121214; box-shadow: 0 18px 34px rgba(0,0,0,.4); }
  .sidebar-nav a i, .nav-section, .admin-label { display: none; }
  .sidebar-nav a.nav-subitem { margin-left:0; }
  .app-main { padding: 0 12px 50px; }
  .app-topbar { min-height: 86px; align-items:flex-start; flex-wrap:wrap; padding:18px 0 14px; gap:10px; }
  .app-topbar h1 { font-size:clamp(1.45rem,8vw,2rem); }
  .topbar-actions, .resource-actions, .widget-actions, .form-actions { flex-wrap:wrap; }
  .panel-card { padding:16px; }
  .panel-card-head { align-items:flex-start; gap:10px; }
  .panel-card-head .badge { flex:0 0 auto; }
  .table-wrap { margin-inline:-4px; padding-inline:4px; }
  .table-wrap table { min-width:640px; }
  .copy-command { align-items:stretch; flex-wrap:wrap; }
  .copy-command code { min-width:0; overflow:hidden; text-overflow:ellipsis; }
  .topbar-actions .engine-chip { display: none; }
  .status-banner { grid-template-columns: 1fr; gap: 12px; }
  .metrics-grid, .admin-metrics { grid-template-columns: 1fr 1fr; }
  .catalog-grid { grid-template-columns: 1fr; }
  .inline-form { flex-direction: column; }
  .installed-item { align-items: stretch; flex-direction: column; }
  .copy-command { align-items: stretch; flex-direction: column; }
  .copy-command button { align-self: flex-start; padding: 3px 0; }
  .obs-audio-guide { grid-template-columns: 1fr; }
  .obs-audio-guide-mark { justify-self: start; }
  .obs-source-name { align-items: flex-start; flex-direction: column; }
  .overlay-color-form { grid-template-columns: 1fr 1fr; }
  .overlay-color-form .button { grid-column: 1 / -1; justify-self: start; }
  .sport-settings-grid, .sport-advanced-fields { grid-template-columns:1fr; }
  .soundrequest-panel-player.is-empty { grid-template-columns:1fr; text-align:center; }
  .soundrequest-player-empty-mark { margin-inline:auto; }
  .subathon-stats,.subathon-event-settings,.subathon-kick-stats-panel { grid-template-columns:1fr; }
  .subathon-custom-time { grid-template-columns:1fr; }
  .sport-advanced-fields > strong { grid-column:auto; }
  .module-intro { display: block; }
  .module-intro img { width: 130px; margin: 0 auto 20px; }
}

@media (max-width: 460px) {
  .metrics-grid, .admin-metrics { grid-template-columns: 1fr; }
  .header-actions .button-small { padding-inline: 10px; }
  .signal-card { display: none; }
  .hero-visual { min-height: 390px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
.module-notice { margin:0 0 18px; padding:14px 16px; border:1px solid rgba(242,118,34,.35); border-radius:14px; background:rgba(242,118,34,.09); }
.module-notice strong { color:#ffad55; }
.module-notice p { margin:5px 0 0; }
.subathon-image-setting { grid-column:1/-1; }
.subathon-image-preview { display:block; width:160px; height:100px; margin-top:10px; object-fit:contain; border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(0,0,0,.25); }
.stack-form fieldset { margin:0; padding:16px; border:1px solid rgba(255,255,255,.1); border-radius:14px; }
.stack-form legend { padding:0 8px; color:#ffad55; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.checkbox-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 14px; }
.checkbox-grid .check-line { margin:0; }
@media (max-width:900px) { .checkbox-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .checkbox-grid { grid-template-columns:1fr; } }
.paypal-checkout-card { border-color:rgba(242,118,34,.45); background:linear-gradient(145deg,rgba(242,118,34,.09),rgba(18,18,21,.98)); }
.paypal-checkout-form { max-width:760px; }
.paypal-checkout-status { min-height:1.4em; color:#ffad55; font-weight:700; }
.paypal-checkout-card details { border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:12px; }
.paypal-checkout-card summary { cursor:pointer; font-weight:800; }
.premium-offer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:18px 0; }
.premium-offer { display:flex; flex-direction:column; gap:4px; padding:14px; border:1px solid rgba(242,118,34,.3); border-radius:13px; background:rgba(8,8,10,.52); }
.premium-offer strong { font-size:.78rem; color:#d8d7dc; }
.premium-offer span { color:#ffad55; font-size:1.28rem; font-weight:900; }
.referral-hero { border-color:rgba(242,118,34,.42); background:radial-gradient(circle at 90% 0,rgba(242,118,34,.18),transparent 36%),linear-gradient(145deg,#17171a,#101012); }
.referral-link code { color:#fff; }
.referral-progress-head { display:flex; justify-content:space-between; gap:15px; margin:22px 0 9px; font-size:.8rem; }
.referral-progress-head span { color:#ffad55; font-weight:900; }
.referral-progress { height:12px; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:99px; background:#09090b; }
.referral-progress i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#f27622,#ffbd70); box-shadow:0 0 20px rgba(242,118,34,.5); }
.referral-stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; }
.referral-stat-grid div { display:flex; flex-direction:column; padding:14px; border:1px solid var(--line-soft); border-radius:12px; background:rgba(0,0,0,.2); }
.referral-stat-grid strong { color:#fff; font-size:1.45rem; }
.referral-stat-grid span { color:#9b9aa0; font-size:.72rem; }
.referral-steps { display:grid; gap:10px; padding-left:20px; color:#c8c7cc; font-size:.82rem; }
.referral-status-eligible { color:#ffad55; border-color:rgba(242,118,34,.4); }
.referral-status-approved { color:#7ee2a8; border-color:rgba(77,190,125,.4); }
.referral-status-rejected { color:#ff8a8a; border-color:rgba(231,76,60,.4); }
.risk-flag { display:block; max-width:150px; margin-top:7px; color:#ffad55; }
.premium-module-hero { border-color:rgba(242,118,34,.46); background:radial-gradient(circle at 92% 8%,rgba(242,118,34,.2),transparent 33%),linear-gradient(145deg,#17171a,#0e0e10); }
.premium-lock { min-height:260px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; border-color:rgba(242,118,34,.36); background:radial-gradient(circle at 90% 20%,rgba(242,118,34,.16),transparent 36%),#111114; }
.tts-library-tools { display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,.35fr); gap:12px; margin:18px 0 22px; }
.tts-library-tools label { display:grid; gap:7px; color:#aaa9af; font-size:.72rem; font-weight:800; }
.tts-voice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.tts-voice-card { display:flex; flex-direction:column; gap:14px; padding:18px; border:1px solid var(--line-soft); border-radius:14px; background:radial-gradient(circle at 92% 0,rgba(242,118,34,.10),transparent 33%),rgba(7,7,9,.42); }
.tts-voice-card.is-disabled { opacity:.64; }
.tts-voice-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:12px; }
.tts-voice-head h3 { margin:2px 0 0; font-size:1.05rem; }
.tts-voice-head small { color:#f27622; font-size:.62rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.tts-voice-avatar { display:grid; place-items:center; width:44px; height:44px; border:1px solid rgba(242,118,34,.38); border-radius:12px; background:#16100c; color:#ffad55; font:900 .72rem/1 monospace; box-shadow:inset 0 0 22px rgba(242,118,34,.08); }
.tts-voice-card > p { min-height:2.5em; margin:0; }
.tts-voice-meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.tts-voice-meta code { padding:6px 9px; border-radius:7px; background:#08080a; color:#ffad55; }
.tts-voice-meta span { padding:5px 8px; border:1px solid var(--line-soft); border-radius:99px; color:#aaa9af; font-size:.67rem; }
.tts-voice-config { display:grid; grid-template-columns:1fr 1fr; gap:9px; align-items:end; }
.tts-voice-config label { display:grid; gap:6px; color:#aaa9af; font-size:.7rem; font-weight:800; }
.tts-voice-config .check-line { align-self:center; }
.tts-voice-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:auto; }
.tts-voice-actions form { margin:0; }
.alerts-hero { border-color:rgba(242,118,34,.42); background:radial-gradient(circle at 92% 0,rgba(242,118,34,.2),transparent 34%),linear-gradient(145deg,#17171a,#0e0e10); }
.alerts-hero-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:18px; }
.alerts-hero-actions .copy-command { flex:1 1 420px; margin:0; }
.alerts-test-menu { display:flex; flex:0 1 auto; flex-wrap:wrap; align-items:end; gap:8px; padding:8px 10px; border:1px solid rgba(242,118,34,.26); border-radius:10px; background:rgba(0,0,0,.14); }.alerts-test-menu label { display:grid; gap:4px; color:#bcbac1; font-size:.64rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.alerts-test-menu select { min-width:170px; min-height:32px; padding:0 8px; border:1px solid var(--line); border-radius:7px; background:#151517; color:#fff; font:inherit; letter-spacing:normal; text-transform:none; }
.alert-volume-setting { display:grid; gap:8px; grid-column:span 1; }.alert-volume-setting > span { display:flex; align-items:center; justify-content:space-between; gap:8px; }.alert-volume-setting output { color:#ffad55; font-weight:900; }.alert-volume-setting > div { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; padding:10px 11px; border:1px solid rgba(242,118,34,.28); border-radius:11px; background:rgba(0,0,0,.17); }.alert-volume-setting input[type="range"] { width:100%; accent-color:#f27622; }.alert-volume-setting small { color:#9b9aa0; font-size:.66rem; line-height:1.3; }
.chat-alerts-panel { background:radial-gradient(circle at 96% 0,rgba(242,118,34,.13),transparent 30%),linear-gradient(145deg,#17171a,#101012); }
.chat-alerts-list { display:grid; gap:9px; }
.chat-alert-global { display:flex; align-items:center; gap:13px; padding:15px; border:1px solid rgba(242,118,34,.4); border-radius:13px; background:rgba(242,118,34,.09); cursor:pointer; }
.chat-alert-global input { width:20px; height:20px; accent-color:#f27622; }
.chat-alert-global span { display:grid; gap:3px; }
.chat-alert-global small { color:var(--muted); }
.chat-alerts-list.is-globally-disabled .chat-alert-row { opacity:.46; }
.chat-alert-row { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:start; gap:13px; padding:15px; border:1px solid var(--line-soft); border-radius:13px; background:rgba(0,0,0,.16); transition:opacity .18s,border-color .18s; }
.chat-alert-row:focus-within { border-color:rgba(242,118,34,.5); }
.chat-alert-row.is-disabled { opacity:.58; }
.chat-alert-switch { display:grid; place-items:center; padding-top:2px; cursor:pointer; }
.chat-alert-switch input { position:absolute; opacity:0; pointer-events:none; }
.chat-alert-switch span { position:relative; display:block; width:38px; height:22px; border:1px solid #55535a; border-radius:999px; background:#25242a; transition:.18s; }
.chat-alert-switch span::after { content:""; position:absolute; top:3px; left:3px; width:14px; height:14px; border-radius:50%; background:#c8c6cb; transition:.18s; }
.chat-alert-switch input:checked + span { border-color:#f27622; background:#a84e17; box-shadow:0 0 0 3px rgba(242,118,34,.12); }
.chat-alert-switch input:checked + span::after { left:19px; background:#fff; }
.chat-alert-switch input:focus-visible + span { outline:2px solid #ffad55; outline-offset:3px; }
.chat-alert-copy { display:grid; gap:6px; min-width:0; }.chat-alert-copy strong { color:#f7f5f2; font-size:.92rem; }.chat-alert-copy p,.chat-alert-copy small { margin:0; color:#9b9aa0; font-size:.73rem; line-height:1.35; }.chat-alert-copy label { display:grid; gap:5px; margin-top:3px; color:#c4c3c8; font-size:.7rem; font-weight:800; }.chat-alert-copy code { color:#ffad55; }
.alert-event-studio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.alert-event-studio-card { display:grid; gap:11px; padding:16px; border:1px solid var(--line-soft); border-radius:14px; background:rgba(0,0,0,.17); }
.alert-event-studio-card.is-disabled { opacity:.56; }
.alert-event-studio-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:start; }
.alert-event-tests { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:6px; }
.alert-event-studio-head > span:not(.alert-event-tests) { display:grid; place-items:center; min-width:45px; height:32px; padding:0 8px; border:1px solid rgba(242,118,34,.34); border-radius:9px; color:#ffad55; font:900 .63rem/1 monospace; }
.alert-event-studio-head h3 { margin:0 0 3px; font-size:.95rem; }.alert-event-studio-head p,.alert-event-studio-card small { margin:0; color:#9b9aa0; font-size:.72rem; }
.alert-event-studio-card label:not(.check-line) { display:grid; gap:6px; font-size:.72rem; font-weight:800; color:#c4c3c8; }
.alert-event-media { padding:10px; border:1px solid rgba(255,255,255,.09); border-radius:10px; background:rgba(255,255,255,.018); }
.alert-event-media summary { cursor:pointer; color:#f0ede9; font-size:.77rem; font-weight:850; }
.alert-event-media > p { margin:9px 0; color:#9b9aa0; font-size:.72rem; line-height:1.35; }
.alert-event-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:11px; }
.alert-event-variant { border-color:rgba(242,118,34,.22); background:linear-gradient(135deg,rgba(242,118,34,.075),rgba(255,255,255,.012)); }
.alert-code-editor { border-color:rgba(120,171,255,.28); background:linear-gradient(135deg,rgba(65,118,230,.09),rgba(255,255,255,.012)); }
.alert-code-editor > p { line-height:1.5; }
.alert-code-editor-toggle { margin-top:11px; }
.alert-code-editor-grid { display:grid; gap:10px; margin-top:11px; }
.alert-code-editor-grid label { min-width:0; }
.alert-code-editor-grid textarea { min-height:150px; resize:vertical; tab-size:2; color:#dbe7ff; border-color:rgba(120,171,255,.24); background:#090d14; font:500 .72rem/1.5 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace; white-space:pre; }
.alert-code-editor-grid label:first-child textarea { min-height:190px; }
.alert-code-variables { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.alert-code-variables code { padding:3px 6px; border:1px solid rgba(120,171,255,.22); border-radius:6px; color:#a9c9ff; background:rgba(33,70,135,.16); font-size:.64rem; }
.alert-variant-list { display:grid; gap:8px; margin-top:11px; }
.alert-variant-tier { padding:10px; border:1px solid rgba(255,255,255,.08); border-radius:9px; background:rgba(0,0,0,.14); }
.alert-variant-tier summary { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#f5f1eb; font-size:.74rem; font-weight:900; }
.alert-variant-tier summary span { padding:3px 6px; border:1px solid rgba(242,118,34,.28); border-radius:999px; color:#ffad55; font-size:.59rem; letter-spacing:.08em; }
.alert-variant-tier-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; align-items:center; margin-top:10px; }
.alert-style-settings { margin:8px 0; padding:14px; border:1px solid var(--line-soft); border-radius:13px; background:rgba(255,255,255,.015); }.alert-style-settings summary { cursor:pointer; font-weight:900; }.alert-style-settings > div { margin-top:15px; }
.avatar-hero { border-color:rgba(242,118,34,.44); background:radial-gradient(circle at 90% 8%,rgba(242,118,34,.22),transparent 35%),linear-gradient(145deg,#17171a,#0d0d10); }.avatar-command-strip { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:18px; }.avatar-command-strip code { padding:7px 9px; border:1px solid rgba(242,118,34,.27); border-radius:8px; background:#0b0b0d; color:#ffad55; }.avatar-command-strip span { color:#9d9ca2; font-size:.7rem; }
.avatar-mass-actions { background:linear-gradient(145deg,rgba(242,118,34,.07),rgba(17,17,20,.96)); }.avatar-population { margin-top:2px; }
.chat-live-hero { border-color:rgba(242,118,34,.42); background:radial-gradient(circle at 92% 8%,rgba(242,118,34,.18),transparent 34%),linear-gradient(145deg,#17171a,#0d0d10); }
.chat-live-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); gap:18px; align-items:start; }
.chat-live-layout .panel-card { margin:0; }
.chat-overlay-preview { min-height:500px; overflow:hidden; border:1px solid rgba(242,118,34,.3); border-radius:16px; background:radial-gradient(circle at 80% 10%,rgba(242,118,34,.12),transparent 35%),#09090b; }
.chat-overlay-preview iframe { display:block; width:100%; min-height:500px; border:0; background:transparent; }
.alert-event-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.alert-event-grid legend { grid-column:1/-1; }
.alert-event-card { display:grid; grid-template-columns:minmax(120px,.55fr) minmax(180px,1.45fr) auto; gap:10px; align-items:end; padding:12px; border:1px solid var(--line-soft); border-radius:12px; background:rgba(255,255,255,.018); }
.alert-event-card strong { display:block; margin-bottom:8px; color:#ffad55; }
.alert-event-card .check-line { margin:0; }
.color-dot { display:inline-block; width:12px; height:12px; margin-right:7px; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:var(--dot); vertical-align:-1px; }
.referral-captured { margin-top:14px; }
.emote-picker-trigger { display:inline-grid; place-items:center; width:34px; height:34px; margin:7px 0 0; padding:0; border:1px solid rgba(242,118,34,.38); border-radius:9px; background:rgba(242,118,34,.1); font-size:1rem; line-height:1; cursor:pointer; transition:transform .16s ease,background .16s ease,border-color .16s ease; }
.emote-picker-trigger:hover,.emote-picker-trigger:focus-visible { border-color:#ffb56c; background:rgba(242,118,34,.22); transform:translateY(-1px); }
.filyx-inline-message-field { display:flex; align-items:center; gap:7px; }
.filyx-inline-message-field input { min-width:0; flex:1; }
.emote-picker-trigger.emote-picker-trigger-wide { display:inline-flex; width:auto; min-width:76px; height:38px; margin:0; padding:0 10px; gap:5px; color:#ffbd7c; font-size:.72rem; font-weight:900; white-space:nowrap; }
.filyx-emote-dialog { width:min(720px,calc(100vw - 30px)); max-height:min(760px,calc(100vh - 30px)); }
.filyx-emote-help { margin:0 0 16px; color:#b8b6bb; font-size:.78rem; line-height:1.45; }
.filyx-emote-search { display:grid; gap:7px; color:#c7c5cb; font-size:.72rem; font-weight:800; }
.filyx-emote-search input { min-width:0; }
.filyx-emote-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:15px 0 10px; }
.filyx-emote-status { flex:1; min-height:1.35em; margin:0; color:#ffad55; font-size:.76rem; font-weight:800; }
.filyx-emote-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(92px,1fr)); gap:8px; max-height:440px; overflow:auto; padding:2px; }
.filyx-emote-item { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:7px; min-width:0; min-height:42px; padding:5px 7px; border:1px solid var(--line-soft); border-radius:9px; background:rgba(0,0,0,.22); color:#f2eff0; text-align:left; cursor:pointer; transition:border-color .16s ease,background .16s ease; }
.filyx-emote-item:hover,.filyx-emote-item:focus-visible { border-color:rgba(242,118,34,.72); background:rgba(242,118,34,.12); }
.filyx-emote-item img { width:30px; height:30px; object-fit:contain; }
.filyx-emote-item span { overflow:hidden; color:#d6d4d9; font-size:.67rem; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:900px) {
  .premium-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .alert-event-grid { grid-template-columns:1fr; }
  .tts-voice-grid { grid-template-columns:1fr; }
  .alert-event-studio-grid { grid-template-columns:1fr; }
  .alert-event-media-grid { grid-template-columns:1fr; }
  .alert-event-studio-head { grid-template-columns:auto minmax(0,1fr); }
  .alert-event-tests { grid-column:1/-1; justify-content:flex-start; }
  .chat-alert-row { grid-template-columns:42px minmax(0,1fr); }
  .chat-live-layout { grid-template-columns:1fr; }
  .chat-alert-row > .button { grid-column:2; justify-self:start; }
  .filyx-emote-grid { grid-template-columns:repeat(auto-fill,minmax(105px,1fr)); }
}
@media (max-width:560px) {
  .command-test-grid { grid-template-columns:1fr; }
  .premium-offer-grid, .referral-stat-grid { grid-template-columns:1fr; }
  .alert-event-card { grid-template-columns:1fr; }
  .chat-alert-row { grid-template-columns:1fr; }.chat-alert-switch { justify-content:start; }.chat-alert-row > .button { grid-column:auto; }
  .tts-library-tools, .tts-voice-config { grid-template-columns:1fr; }
}

/* Stream Deck FilyX — the configuration page deliberately uses the same
   orange/charcoal language as the rest of the panel. */
.streamdeck-panel { display:grid; gap:18px; }
.streamdeck-icon-library-preview { overflow:hidden; border-color:rgba(242,118,34,.36); background:radial-gradient(circle at 93% 8%,rgba(242,118,34,.18),transparent 29%),linear-gradient(145deg,#15151a,#09090c); }.streamdeck-icon-library-grid { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:10px; }.streamdeck-icon-library-grid figure { display:grid; gap:7px; min-width:0; margin:0; padding:8px; border:1px solid rgba(242,118,34,.3); border-radius:11px 4px 11px 4px; background:linear-gradient(145deg,#1f1d21,#0b0b0e); text-align:center; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }.streamdeck-icon-library-grid figure:hover { transform:translateY(-3px); border-color:#f27622; box-shadow:0 0 18px rgba(242,118,34,.25); }.streamdeck-icon-library-grid img { display:block; width:100%; aspect-ratio:1; object-fit:contain; border-radius:8px; background:#050507; image-rendering:auto; }.streamdeck-icon-library-grid figcaption { overflow:hidden; color:#d8d5d8; font:800 .62rem/1.15 system-ui,sans-serif; letter-spacing:.035em; text-overflow:ellipsis; white-space:nowrap; }
.streamdeck-hero { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:20px; overflow:hidden; border-color:rgba(242,118,34,.48); background:radial-gradient(circle at 88% 22%,rgba(242,118,34,.32),transparent 28%),linear-gradient(135deg,#18191d,#0b0b0e 74%); }
.streamdeck-hero h2 { margin:0 0 9px; font-size:clamp(1.45rem,2.2vw,2.15rem); }.streamdeck-hero p { max-width:760px; margin:0; color:#c3c0c3; line-height:1.55; }
.streamdeck-hero-device { align-self:center; display:grid; grid-template-columns:repeat(5,1fr); gap:8px; width:220px; padding:14px; border:2px solid #333139; border-radius:18px; background:linear-gradient(145deg,#3a383e,#15151a); box-shadow:0 18px 36px rgba(0,0,0,.38),inset 0 1px 1px rgba(255,255,255,.15); transform:rotate(-4deg); }
.streamdeck-hero-device i { aspect-ratio:1; border:1px solid #54515b; border-radius:7px; background:radial-gradient(circle at 35% 25%,#ffb66e,#db5e12 47%,#4c2410 100%); box-shadow:inset 0 1px rgba(255,255,255,.42),0 2px 3px rgba(0,0,0,.5); }.streamdeck-hero-device i:nth-child(3n) { background:radial-gradient(circle at 35% 25%,#d2dbff,#6874b9 50%,#20284b 100%); }.streamdeck-hero-device i:nth-child(4n) { background:radial-gradient(circle at 35% 25%,#d8fff3,#49cda6 50%,#124437 100%); }
.streamdeck-native-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:20px 0 14px; }
.streamdeck-native-grid article { min-height:116px; padding:16px; display:grid; gap:7px; align-content:start; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012)); }
.streamdeck-native-grid b { color:var(--orange); font-size:.64rem; letter-spacing:.1em; }.streamdeck-native-grid strong { color:#f3f1f0; font-size:.93rem; }.streamdeck-native-grid small { color:#aaa5a3; line-height:1.45; }
.streamdeck-security { border-color:rgba(242,118,34,.25); }.streamdeck-secret { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:10px; align-items:center; margin:16px 0; padding:14px; border:1px solid rgba(242,118,34,.6); border-radius:13px; background:rgba(242,118,34,.09); }.streamdeck-secret code { overflow:auto; padding:9px; border-radius:8px; background:#0a0a0c; color:#ffb56c; white-space:nowrap; }.streamdeck-secret small { grid-column:1/-1; color:#c6b5a6; }
.streamdeck-live-preview { border-color:color-mix(in srgb,var(--sd-preview-accent) 48%,var(--line-soft)); background:radial-gradient(circle at 85% 18%,color-mix(in srgb,var(--sd-preview-accent) 19%,transparent),transparent 30%),linear-gradient(135deg,#141419,#0a0a0d); }.streamdeck-preview-shell { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:22px; align-items:center; }.streamdeck-preview-device { display:grid; grid-template-columns:repeat(5,minmax(52px,1fr)); gap:9px; max-width:660px; padding:17px; border:2px solid #38363d; border-radius:20px; background:linear-gradient(145deg,#35343a,#111116); box-shadow:0 19px 45px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.16); }.streamdeck-preview-key { display:grid; place-items:center; align-content:center; aspect-ratio:1; min-width:0; padding:5px; overflow:hidden; border:1px solid color-mix(in srgb,var(--sd-preview-accent) 70%,#ffffff); border-radius:10px; background:radial-gradient(circle at 32% 20%,color-mix(in srgb,var(--sd-preview-accent) 55%,#fff),var(--sd-preview-accent) 45%,var(--sd-preview-background) 100%); box-shadow:inset 0 1px rgba(255,255,255,.45),0 3px 5px rgba(0,0,0,.55),0 0 11px color-mix(in srgb,var(--sd-preview-accent) 33%,transparent); color:var(--sd-preview-text); text-align:center; text-shadow:0 1px 2px #000; }.streamdeck-preview-key span { font:900 .54rem/1 monospace; opacity:.82; }.streamdeck-preview-key strong { display:-webkit-box; overflow:hidden; margin-top:3px; font-size:clamp(.43rem,1vw,.62rem); line-height:1.06; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.streamdeck-preview-key small { margin-top:4px; color:color-mix(in srgb,var(--sd-preview-text) 80%,var(--sd-preview-accent)); font:900 .42rem/1 monospace; letter-spacing:.07em; }.streamdeck-preview-legend { display:grid; gap:7px; padding:14px; border-left:2px solid var(--sd-preview-accent); background:color-mix(in srgb,var(--sd-preview-background) 65%,transparent); }.streamdeck-preview-legend strong { color:var(--sd-preview-text); }.streamdeck-preview-legend span { color:var(--sd-preview-accent); font:800 .7rem/1.3 monospace; }.streamdeck-preview-legend small { color:var(--sd-preview-muted); font-size:.68rem; line-height:1.45; }
.streamdeck-live-preview { position:relative; overflow:hidden; background:radial-gradient(circle at 9% 8%,color-mix(in srgb,var(--sd-preview-accent) 26%,transparent),transparent 26%),radial-gradient(circle at 85% 80%,color-mix(in srgb,var(--sd-preview-accent) 18%,transparent),transparent 34%),linear-gradient(145deg,#131318,#060608 72%); }.streamdeck-live-preview::before { position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.018) 6px); content:""; pointer-events:none; }.streamdeck-preview-shell,.streamdeck-style-gallery { position:relative; z-index:1; }.streamdeck-preview-device { position:relative; gap:10px; max-width:710px; padding:19px; border:1px solid color-mix(in srgb,var(--sd-preview-accent) 46%,#52525b); border-radius:23px; background:linear-gradient(145deg,#2a2a31,#0a0a0e 65%); box-shadow:0 24px 55px rgba(0,0,0,.56),inset 0 1px rgba(255,255,255,.19),0 0 0 4px rgba(255,255,255,.025); }.streamdeck-preview-device::before { position:absolute; top:7px; right:18px; left:18px; height:2px; background:linear-gradient(90deg,transparent,var(--sd-preview-accent),transparent); box-shadow:0 0 12px var(--sd-preview-accent); content:""; }.streamdeck-preview-key { position:relative; isolation:isolate; min-height:84px; padding:8px 4px 6px; border:1px solid color-mix(in srgb,var(--sd-preview-accent) 88%,#ffffff); border-radius:13px 5px 13px 5px; background:linear-gradient(145deg,color-mix(in srgb,var(--sd-preview-accent) 44%,#ffffff) 0%,var(--sd-preview-accent) 18%,var(--sd-preview-background) 61%,#050506 100%); box-shadow:inset 0 1px rgba(255,255,255,.56),inset 0 -13px 18px rgba(0,0,0,.24),0 7px 13px rgba(0,0,0,.46),0 0 14px color-mix(in srgb,var(--sd-preview-accent) 28%,transparent); text-shadow:0 2px 3px rgba(0,0,0,.8); transition:transform .2s ease,box-shadow .2s ease; }.streamdeck-preview-key:hover { transform:translateY(-3px) scale(1.035); box-shadow:inset 0 1px rgba(255,255,255,.72),0 10px 19px rgba(0,0,0,.56),0 0 22px color-mix(in srgb,var(--sd-preview-accent) 62%,transparent); }.streamdeck-preview-key::before { position:absolute; inset:4px; z-index:-1; border:1px solid rgba(255,255,255,.2); border-radius:9px 2px 9px 2px; content:""; }.streamdeck-preview-key > i { position:absolute; top:6px; right:6px; width:5px; height:5px; border-radius:99px; background:var(--sd-preview-text); box-shadow:0 0 7px var(--sd-preview-text); }.streamdeck-preview-key .streamdeck-key-glyph { display:grid; place-items:center; width:23px; height:23px; margin-bottom:4px; border:1px solid rgba(255,255,255,.65); border-radius:7px; background:rgba(0,0,0,.28); color:var(--sd-preview-text); font:900 .83rem/1 system-ui; opacity:1; }.streamdeck-preview-key strong { display:block; overflow:visible; margin:0; color:var(--sd-preview-text); font:900 clamp(.56rem,1.25vw,.72rem)/1.04 system-ui,sans-serif; letter-spacing:.035em; text-transform:uppercase; -webkit-line-clamp:unset; }.streamdeck-preview-key small { margin-top:5px; color:var(--sd-preview-text); font:900 .46rem/1 monospace; letter-spacing:.12em; opacity:.74; }.streamdeck-preview-key.is-playing::after { position:absolute; right:9px; bottom:7px; left:9px; height:3px; border-radius:5px; background:linear-gradient(90deg,transparent,var(--sd-preview-text),transparent); box-shadow:0 0 9px var(--sd-preview-text); animation:streamdeck-eq 800ms ease-in-out infinite alternate; content:""; }.streamdeck-preview-key.is-live { animation:streamdeck-live-pulse 1.7s ease-in-out infinite; }.streamdeck-preview-legend { border:1px solid color-mix(in srgb,var(--sd-preview-accent) 38%,#444); border-left:3px solid var(--sd-preview-accent); border-radius:0 14px 14px 0; background:linear-gradient(130deg,color-mix(in srgb,var(--sd-preview-background) 84%,#fff),rgba(0,0,0,.45)); }.streamdeck-style-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:20px; }.streamdeck-style-card { display:grid; gap:9px; padding:10px; overflow:hidden; border:1px solid color-mix(in srgb,var(--sd-card-accent) 55%,#40404a); border-radius:12px; background:linear-gradient(145deg,color-mix(in srgb,var(--sd-card-accent) 10%,var(--sd-card-background)),#08080b); color:var(--sd-card-text); cursor:pointer; text-align:left; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }.streamdeck-style-card:hover { transform:translateY(-3px); border-color:var(--sd-card-accent); box-shadow:0 12px 25px rgba(0,0,0,.34),0 0 16px color-mix(in srgb,var(--sd-card-accent) 28%,transparent); }.streamdeck-style-title { color:var(--sd-card-text); font:900 .62rem/1 monospace; letter-spacing:.08em; }.streamdeck-style-card small { color:var(--sd-card-muted); font-size:.64rem; }.streamdeck-style-mini { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; padding:7px; border-radius:9px; background:#050506; }.streamdeck-style-mini i { position:relative; display:grid; place-items:center; min-height:34px; overflow:hidden; border:1px solid var(--sd-card-accent); border-radius:6px 2px 6px 2px; background:linear-gradient(145deg,var(--sd-card-accent),var(--sd-card-background) 82%); color:var(--sd-card-text); font-style:normal; box-shadow:0 0 8px color-mix(in srgb,var(--sd-card-accent) 35%,transparent); }.streamdeck-style-mini b { font:900 .43rem/1 monospace; }.streamdeck-style-mini em { position:absolute; right:3px; bottom:2px; font:900 .45rem/1 sans-serif; font-style:normal; }.streamdeck-style-mini.is-pulse i:first-child { animation:streamdeck-live-pulse 1.5s ease-in-out infinite; }.streamdeck-style-mini.is-scan::after { grid-column:1/-1; height:2px; margin-top:-3px; background:var(--sd-card-accent); box-shadow:0 0 8px var(--sd-card-accent); animation:streamdeck-scan 1.8s linear infinite; content:""; }.streamdeck-style-mini.is-glass i { background:linear-gradient(145deg,color-mix(in srgb,var(--sd-card-text) 40%,transparent),color-mix(in srgb,var(--sd-card-accent) 26%,var(--sd-card-background))); }.streamdeck-style-mini.is-vip i:first-child { box-shadow:0 0 15px var(--sd-card-accent); }.streamdeck-style-mini.is-vip i:first-child em { animation:streamdeck-live-pulse 950ms ease-in-out infinite; }@keyframes streamdeck-live-pulse { 50% { filter:brightness(1.2); box-shadow:inset 0 1px rgba(255,255,255,.68),0 0 24px color-mix(in srgb,var(--sd-preview-accent, var(--sd-card-accent)) 73%,transparent); } }@keyframes streamdeck-eq { from { transform:scaleX(.35); opacity:.38; } to { transform:scaleX(1); opacity:1; } }@keyframes streamdeck-scan { from { transform:translateX(-76%); opacity:.2; } 50% { opacity:1; } to { transform:translateX(76%); opacity:.2; } }
.streamdeck-preview-device[data-model="Mini"] { grid-template-columns:repeat(3,minmax(62px,1fr)); max-width:300px; }.streamdeck-preview-device[data-model="Neo"] { grid-template-columns:repeat(2,minmax(74px,1fr)); max-width:260px; }.streamdeck-preview-device[data-model="XL"] { grid-template-columns:repeat(8,minmax(44px,1fr)); max-width:760px; }.streamdeck-preview-device[data-model="Plus"],.streamdeck-preview-device[data-model="Mobile"] { grid-template-columns:repeat(4,minmax(56px,1fr)); max-width:370px; }.streamdeck-preview-device[data-model="Pedal"] { grid-template-columns:repeat(3,minmax(78px,1fr)); max-width:330px; }.streamdeck-preview-device[data-model="Mini"] .streamdeck-preview-key,.streamdeck-preview-device[data-model="Neo"] .streamdeck-preview-key,.streamdeck-preview-device[data-model="Pedal"] .streamdeck-preview-key { min-height:92px; }.streamdeck-preview-device[data-model="XL"] .streamdeck-preview-key { min-height:52px; padding:4px 2px; border-radius:8px 3px 8px 3px; }.streamdeck-preview-device[data-model="XL"] .streamdeck-key-glyph { width:17px; height:17px; margin-bottom:2px; font-size:.58rem; }.streamdeck-preview-device[data-model="XL"] .streamdeck-preview-key strong { font-size:.43rem; }.streamdeck-preview-device[data-model="XL"] .streamdeck-preview-key small { display:none; }.streamdeck-preview-legend b { color:var(--sd-preview-text); font:800 .67rem/1.25 monospace; letter-spacing:.04em; }.streamdeck-preview-key { background-color:var(--sd-preview-accent); border-color:var(--sd-preview-accent); }
.streamdeck-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.streamdeck-grid .panel-card { margin:0; }
.streamdeck-theme-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(138px,1fr)); gap:9px; margin-bottom:16px; }.streamdeck-theme-card { display:grid; grid-template-columns:32px minmax(0,1fr); column-gap:8px; align-items:center; padding:9px; border:1px solid var(--line-soft); border-radius:11px; background:var(--sd-bg); color:var(--sd-text); cursor:pointer; text-align:left; transition:.16s ease; }.streamdeck-theme-card:hover,.streamdeck-theme-card.is-selected { border-color:var(--sd-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--sd-accent) 24%,transparent); transform:translateY(-1px); }.streamdeck-theme-card span { grid-row:span 2; width:28px; height:28px; border:2px solid var(--sd-accent); border-radius:8px; background:linear-gradient(135deg,var(--sd-accent),var(--sd-bg)); }.streamdeck-theme-card strong { overflow:hidden; font-size:.73rem; text-overflow:ellipsis; white-space:nowrap; }.streamdeck-theme-card small { color:var(--sd-text); opacity:.64; font-size:.61rem; }
.streamdeck-profile-picker { min-width:0; }.streamdeck-profile-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:315px; margin:13px 0; overflow:auto; padding-right:3px; }.streamdeck-profile-card { display:grid; gap:4px; min-width:0; padding:10px; border:1px solid var(--line-soft); border-radius:11px; background:rgba(0,0,0,.16); color:#eee9e4; text-align:left; cursor:pointer; transition:.16s ease; }.streamdeck-profile-card:hover,.streamdeck-profile-card.is-selected { border-color:#f27622; background:rgba(242,118,34,.1); }.streamdeck-profile-card span { color:#ffad55; font:800 .62rem/1 monospace; letter-spacing:.08em; }.streamdeck-profile-card strong { overflow:hidden; font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }.streamdeck-profile-card small { color:#96949b; font-size:.62rem; text-transform:uppercase; }
.streamdeck-action-catalog { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.streamdeck-action-card { display:grid; grid-template-columns:40px minmax(0,1fr); gap:10px; align-items:start; padding:12px; border:1px solid var(--line-soft); border-radius:13px; background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(0,0,0,.12)); }.streamdeck-action-card small { display:block; margin-bottom:2px; color:#ffad55; font-size:.61rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }.streamdeck-action-card strong { display:block; color:#f6f2ee; font-size:.8rem; }.streamdeck-action-card p { margin:4px 0 0; color:#9e9ba1; font-size:.67rem; line-height:1.35; }.streamdeck-action-icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(242,118,34,.42); border-radius:11px; background:rgba(242,118,34,.1); color:#ffad55; font:900 .67rem/1 monospace; }
.streamdeck-custom-profile { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }.streamdeck-custom-profile label:last-of-type { grid-column:1/-1; }.streamdeck-custom-profile button { justify-self:start; }.streamdeck-review-list { display:grid; gap:8px; margin-top:18px; }.streamdeck-review-row { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px; border:1px solid var(--line-soft); border-radius:11px; background:rgba(0,0,0,.16); }.streamdeck-review-row strong,.streamdeck-review-row small { display:block; }.streamdeck-review-row small { margin-top:3px; color:#a7a3aa; font-size:.7rem; }
.streamdeck-preview-key .streamdeck-key-glyph { line-height:0; }
.streamdeck-preview-key .streamdeck-key-glyph svg { display:block; width:15px; height:15px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:1000px) { .streamdeck-action-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); } .streamdeck-hero { grid-template-columns:1fr; }.streamdeck-hero-device { display:none; }.streamdeck-preview-shell { grid-template-columns:1fr; }.streamdeck-preview-legend { border-left:0; border-top:2px solid var(--sd-preview-accent); } }
@media (max-width:780px) { .streamdeck-icon-library-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:700px) { .streamdeck-grid,.streamdeck-action-catalog,.streamdeck-custom-profile { grid-template-columns:1fr; }.streamdeck-secret { grid-template-columns:1fr; }.streamdeck-review-row { display:grid; }.streamdeck-profile-list { grid-template-columns:1fr; }.streamdeck-custom-profile label:last-of-type { grid-column:auto; } }

/* Sub Goal — editor with one clear card per milestone. */
.subgoal-tier-editor { display:grid; gap:14px; padding:16px; border:1px solid rgba(242,118,34,.3); border-radius:15px; background:linear-gradient(145deg,rgba(242,118,34,.07),rgba(0,0,0,.2)); }
.subgoal-tier-editor-head,.subgoal-tier-card-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.subgoal-tier-editor-head h3 { margin:2px 0 0; color:#f5f1ed; font-size:1rem; }
.subgoal-tier-list { display:grid; gap:10px; }
.subgoal-tier-editor-actions { display:flex; align-items:center; justify-content:flex-end; gap:9px; }
.subgoal-tier-editor-actions .emote-picker-trigger { margin:0; }
.subgoal-tier-card { position:relative; display:grid; gap:11px; padding:13px; overflow:hidden; border:1px solid rgba(255,255,255,.09); border-radius:12px; background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(9,9,12,.74)); }
.subgoal-tier-card::before { position:absolute; inset:0 auto 0 0; width:3px; background:linear-gradient(#ffad55,#f27622); box-shadow:0 0 13px rgba(242,118,34,.68); content:""; }
.subgoal-tier-card-head strong { color:#ffad55; font-size:.68rem; letter-spacing:.14em; }
.subgoal-tier-card-fields { display:grid; grid-template-columns:minmax(130px,.38fr) minmax(220px,1fr); gap:11px; }
.subgoal-tier-card-fields label { min-width:0; }
.subgoal-tier-card-fields input { width:100%; }
.subgoal-tier-card [data-subgoal-tier-remove]:disabled { visibility:hidden; }
@media (max-width:650px) { .subgoal-tier-editor-head { align-items:flex-start; flex-direction:column; }.subgoal-tier-editor-actions { justify-content:stretch; }.subgoal-tier-editor-actions>* { flex:1; }.subgoal-tier-card-fields { grid-template-columns:1fr; } }

