@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap');

    /* ═══════════════════════════════════════════
       DBD MATCH TRACKER — THE FOG THEME
       Gothic Industrial / Entity Aesthetic
       ═══════════════════════════════════════════ */
    :root{
      /* ══ Theme tokens / design system foundation ════════════
         Future themes should mostly change this block. The rest of
         the stylesheet should consume semantic tokens below instead
         of hard-coded colors, radii, shadows, and spacing. */

      /* Primitive palette */
      --color-void:#05080C;
      --color-surface-1:#101E27;
      --color-surface-2:#0d141b;
      --color-surface-3:#090B0F;
      --color-input:#070a0f;
      --color-border:rgba(255,255,255,.11);
      --color-border-strong:#7a1c1c;
      --color-text:#e8dcc8;
      --color-muted:#7a6a52;
      --color-accent:#9b1c1c;
      --color-accent-strong:#c0392b;
      --color-accent-soft:rgba(155,28,28,.25);
      --color-accent-text:#f5b8b8;
      --color-success-bg:rgba(30,58,24,.5);
      --color-success-text:#a3c98a;
      --color-success-border:#2d5a27;
      --color-danger-bg:rgba(100,15,15,.5);
      --color-danger-text:#f5a0a0;
      --color-danger-border:#7a1c1c;
      --color-warning-bg:rgba(100,65,8,.45);
      --color-warning-text:#e8c06a;
      --color-warning-border:#8b6508;
      --color-info-bg:rgba(80,55,10,.4);
      --color-info-text:#d4a84b;
      --color-info-border:#7a5a0a;
      --color-purple-bg:rgba(60,20,80,.45);
      --color-purple-text:#c4a0e0;
      --color-purple-border:#6b35a0;
      --color-neutral-bg:rgba(50,38,25,.45);
      --color-neutral-text:#a89880;
      --color-neutral-border:#4a3820;

      /* Component semantic colors */
      --heat-low-bg:rgba(30,58,24,.22);
      --heat-low-border:var(--good-border);
      --heat-mid-bg:var(--warn-bg);
      --heat-mid-border:var(--warn-border);
      --heat-high-bg:var(--bad-bg);
      --heat-high-border:var(--bad-border);
      --star-color:#facc15;
      --overlay-bg:rgba(4,2,1,.82);
      --surface-hover:rgba(255,255,255,.08);
      --surface-subtle:rgba(255,255,255,.05);
      --focus-ring:0 0 0 2px var(--accent-bg);
      --danger-focus:0 0 0 1px rgba(231,76,60,.18);
      --danger-border-soft:rgba(231,76,60,.55);
      --warning-border-soft:rgba(255,193,7,.45);
      --warning-surface-soft:rgba(255,193,7,.08);
      --info-border-soft:rgba(80,160,255,.38);
      --success-border-soft:rgba(46,204,113,.38);
      --pin-bg:rgba(255,210,92,.15);
      --pin-border:rgba(255,210,92,.45);

      /* Semantic aliases used by existing code */
      --bg:var(--color-void);
      --page-bg:var(--color-void);
      --panel:var(--color-surface-1);
      --panel2:var(--color-surface-2);
      --panel3:var(--color-surface-3);
      --surface:var(--color-surface-1);
      --surface-raised:var(--color-surface-2);
      --surface-soft:rgba(255,255,255,.035);
      --input:var(--color-input);
      --input-bg:var(--color-input);
      --border:var(--color-border);
      --border-active:var(--color-border-strong);
      --border-soft:rgba(255,255,255,.10);
      --text:var(--color-text);
      --fg:var(--color-text);
      --muted:var(--color-muted);
      --accent:var(--color-accent);
      --accent-light:var(--color-accent-strong);
      --accent-text:var(--color-accent-text);
      --accent-bg:var(--color-accent-soft);
      --accent-border:var(--color-border-strong);
      --good-bg:var(--color-success-bg);
      --good-text:var(--color-success-text);
      --good-border:var(--color-success-border);
      --bad-bg:var(--color-danger-bg);
      --bad-text:var(--color-danger-text);
      --bad-border:var(--color-danger-border);
      --bad:var(--color-danger-border);
      --warn-bg:var(--color-warning-bg);
      --warn-text:var(--color-warning-text);
      --warn-border:var(--color-warning-border);
      --blue-bg:var(--color-info-bg);
      --blue-text:var(--color-info-text);
      --blue-border:var(--color-info-border);
      --purple-bg:var(--color-purple-bg);
      --purple-text:var(--color-purple-text);
      --purple-border:var(--color-purple-border);
      --gray-bg:var(--color-neutral-bg);
      --gray-text:var(--color-neutral-text);
      --gray-border:var(--color-neutral-border);

      /* Type, spacing, shape, motion */
      --font-body:'Roboto',system-ui,sans-serif;
      --font-heading:'Roboto',Impact,sans-serif;
      --text-xs:12px;
      --text-sm:14px;
      --text-base:16px;
      --text-lg:18px;
      --text-xl:20px;
      --text-2xl:24px;
      --text-3xl:32px;
      --space-1:4px;
      --space-2:8px;
      --space-3:12px;
      --space-4:16px;
      --space-5:20px;
      --space-6:24px;
      --radius-xs:2px;
      --radius-sm:4px;
      --radius-md:8px;
      --radius-lg:12px;
      --radius-xl:14px;
      --radius-2xl:16px;
      --radius-pill:999px;
      --transition-fast:.15s ease;
      --transition-base:.2s ease;

      /* Shadows and glow */
      --shadow:0 4px 24px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,220,160,.03);
      --shadow-soft:0 4px 18px rgba(0,0,0,.22);
      --shadow-pop:0 18px 50px rgba(0,0,0,.75), 0 0 20px rgba(155,28,28,.1);
      --card-glow:0 0 0 1px rgba(155,28,28,.08), 0 8px 32px rgba(0,0,0,.6);
      --entity-glow:0 0 12px rgba(155,28,28,.4);
    }

    /* ── Reset & base ── */
    *{box-sizing:border-box}
    body{
      margin:0;
      font-family:var(--font-body);
      font-size:17px;
      background:
        linear-gradient(180deg,#05080C 0%,#04060a 58%,#020308 100%),
        var(--bg);
      color:var(--text);
      /* Subtle noise texture via SVG data URI */
      background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E"),
        linear-gradient(180deg,#05080C 0%,#04060a 58%,#020308 100%);
      background-attachment:fixed;
    }

    /* ── Typography ── */
    h1,h2,h3,h4{
      font-family:var(--font-heading);
      font-weight:700;
      letter-spacing:0.02em;
      color:var(--text);
      text-transform:uppercase;
    }
    h1{font-size:32px;font-weight:900;letter-spacing:0.03em}
    h2{font-size:20px}
    h3{font-size:18px}
    h4{font-size:15px}

    /* ── Layout ── */
    .wrap{max-width:1600px;margin:0 auto;padding:16px}
    .topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:20px}
    .title h1{margin:0 0 6px 0}
    .title p{margin:0;color:var(--muted);font-size:16px;font-style:italic}
    .actions,.inline-actions,.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
    .page-wrap{max-width:1600px;margin:0 auto;padding:0 24px}
    .main-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;margin-bottom:16px}
    .left-column{display:flex;flex-direction:column;gap:16px;min-width:0}
    .right-column{display:flex;flex-direction:column;min-width:0}
    .right-column .card{height:100%;display:flex;flex-direction:column}
    .right-column .card .body{flex:1;min-height:0}
    .analytics-body{overflow:visible}
    .history-card .body{max-height:850px;overflow:auto}

    /* ── Cards ── */
    .card{
      background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),
        linear-gradient(135deg,#101E27 0%,#0c1219 46%,#090B0F 100%);
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      box-shadow:var(--card-glow);
      position:relative;
      overflow:hidden;
    }
    /* Entity scratch mark — top-left corner accent */
    .card::before{
      content:'';
      position:absolute;
      top:0;left:0;
      width:3px;height:100%;
      background:linear-gradient(to bottom, var(--accent) 0%, transparent 60%);
      opacity:0.6;
    }
    .card .head{padding:16px 16px 0 16px}
    .card .head h2,.card .head h3{margin:0 0 6px 0}
    .card .head p{margin:0;color:var(--muted);font-size:16px;font-style:italic}
    .card .body{padding:16px}

    /* ── Stat cards ── */
    .grid6{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:8px;margin-bottom:16px}
    .stat{
      padding:10px 12px;
      background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),
        linear-gradient(135deg,#101E27 0%,#0c1219 46%,#090B0F 100%);
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      box-shadow:var(--shadow);
    }
    .stat .label{color:var(--muted);font-size:16px;margin-bottom:5px;letter-spacing:0.08em;text-transform:uppercase;font-family:var(--font-heading)}
    .stat .num{font-size:24px;font-weight:700;font-family:var(--font-heading);color:var(--text)}
    .stat .sub{font-size:16px;color:var(--muted);margin-top:4px;font-style:italic}
    .stat.heat-low{border-color:var(--heat-low-border);background:var(--heat-low-bg)}
    .stat.heat-mid{border-color:var(--heat-mid-border);background:var(--heat-mid-bg)}
    .stat.heat-high{border-color:var(--heat-high-border);background:var(--heat-high-bg)}
    .stat.streak-win{border-color:var(--good-border);background:var(--good-bg)}
    .stat.streak-loss{border-color:var(--bad-border);background:var(--bad-bg)}
    .stat.streak-neutral{border-color:var(--border);background:var(--panel)}

    /* ── Inner panels ── */
    .panel{
      background:var(--panel2);
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      padding:14px;
    }

    /* ── Fields & forms ── */
    .field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
    .field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
    .field-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .field-row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
    label{font-size:16px;color:var(--muted);letter-spacing:0.05em;text-transform:uppercase;font-family:var(--font-heading)}

    input[type="text"],input[type="number"],input[type="date"],input[type="datetime-local"],input[type="url"],input[type="search"],textarea,select{
      width:100%;padding:9px 12px;
      border-radius:var(--radius-xs);
      border:1px solid var(--border);
      background:var(--input);
      color:var(--text);
      font-family:var(--font-body);
      font-size:16px;
      transition:border-color var(--transition-base);
      outline:none;
    }
    input[type="text"]:focus,input[type="number"]:focus,input[type="date"]:focus,input[type="datetime-local"]:focus,input[type="url"]:focus,input[type="search"]:focus,
    textarea:focus,select:focus{
      border-color:var(--accent);
      box-shadow:var(--focus-ring);
    }
    textarea{min-height:86px;resize:vertical}

    /* Checkbox override */
    input[type="checkbox"]{
      width:auto!important;padding:0!important;border:none!important;
      background:none!important;accent-color:var(--accent);
    }

    /* ── Buttons ── */
    button{
      border:1px solid var(--border);
      background:var(--panel2);
      color:var(--text);
      border-radius:var(--radius-xs);
      padding:9px 14px;
      cursor:pointer;
      font-family:var(--font-heading);
      font-size:16px;
      letter-spacing:0.04em;
      transition:border-color var(--transition-base), background .2s, box-shadow .2s;
    }
    button:hover{border-color:var(--border-active);box-shadow:var(--entity-glow)}
    button.primary{
      background:var(--accent);
      color:var(--accent-text);
      border-color:var(--accent-light);
      box-shadow:var(--entity-glow);
    }
    button.primary:hover{background:var(--accent-light);box-shadow:var(--entity-glow)}
    button.danger{background:var(--bad-bg);color:var(--bad-text);border-color:var(--bad-border)}
    button.danger:hover{background:var(--bad-bg);border-color:var(--bad-border)}
    button.small{padding:5px 10px;font-size:14px;letter-spacing:0.06em}
    a.button{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      border:1px solid var(--border);
      background:var(--panel2);
      color:var(--text);
      border-radius:var(--radius-xs);
      padding:9px 14px;
      cursor:pointer;
      font-family:var(--font-heading);
      font-size:16px;
      letter-spacing:0.04em;
      text-decoration:none;
      transition:border-color var(--transition-base), background .2s, box-shadow .2s;
    }
    a.button:hover{border-color:var(--border-active);box-shadow:var(--entity-glow)}
    a.button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent-light);box-shadow:var(--entity-glow)}
    a.button.primary:hover{background:var(--accent-light);box-shadow:var(--entity-glow)}

    /* ── Segment & quick buttons ── */
    .segment{display:flex;gap:8px;flex-wrap:wrap}
    .segment button.active{background:var(--accent);border-color:var(--accent-light);color:var(--accent-text)}
    .quick-buttons{display:flex;flex-wrap:wrap;gap:8px}
    .quick-btn{border-radius:var(--radius-pill);padding:7px 14px;font-size:16px;font-family:var(--font-heading);letter-spacing:0.03em}
    .quick-btn.active{background:var(--accent);border-color:var(--accent-light);color:var(--accent-text)}
    .quick-btn.good.active{background:var(--good-bg);border-color:var(--good-border);color:var(--good-text)}
    .quick-btn.bad.active{background:var(--bad-bg);border-color:var(--bad-border);color:var(--bad-text)}
    .quick-btn.blue.active{background:var(--blue-bg);border-color:var(--blue-border);color:var(--blue-text)}

    /* ── Chips ── */
    .chip-group{margin-bottom:14px}
    .chip-group h4{margin:0 0 8px 0;font-size:16px;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;font-family:var(--font-heading)}
    .chips{display:flex;flex-wrap:wrap;gap:8px}
    .chip{
      border:1px solid var(--gray-border);
      background:var(--gray-bg);
      color:var(--gray-text);
      border-radius:2px;
      padding:6px 12px;
      cursor:pointer;
      font-family:var(--font-heading);
      font-size:16px;
      letter-spacing:0.06em;
      transition:all var(--transition-fast);
    }
    .chip:hover{border-color:var(--border-active)}
    .chip.blue.on{background:var(--blue-bg);color:var(--blue-text);border-color:var(--blue-border)}
    .chip.red.on{background:var(--bad-bg);color:var(--bad-text);border-color:var(--bad-border);box-shadow:var(--entity-glow)}
    .chip.green.on{background:var(--good-bg);color:var(--good-text);border-color:var(--good-border)}
    .chip.orange.on{background:var(--warn-bg);color:var(--warn-text);border-color:var(--warn-border)}
    .chip.purple.on{background:var(--purple-bg);color:var(--purple-text);border-color:var(--purple-border)}
    .chip.gray.on{background:var(--gray-bg);color:var(--gray-text);border-color:var(--gray-border)}

    /* ── Badges ── */
    .badge{
      display:inline-flex;align-items:center;
      border:1px solid var(--border);
      border-radius:2px;
      padding:3px 9px;
      font-size:16px;
      font-family:var(--font-heading);
      letter-spacing:0.03em;
      background:var(--panel2);
      color:var(--text);
    }
    .badge.good{background:var(--good-bg);color:var(--good-text);border-color:var(--good-border)}
    .badge.bad{background:var(--bad-bg);color:var(--bad-text);border-color:var(--bad-border)}
    .badge.warn{background:var(--warn-bg);color:var(--warn-text);border-color:var(--warn-border)}
    .badge.blue{background:var(--blue-bg);color:var(--blue-text);border-color:var(--blue-border)}

    /* ── Tables ── */
    .scroll{max-height:850px;overflow:auto}
    table{width:100%;border-collapse:collapse}
    th,td{padding:9px 8px;border-bottom:1px solid var(--border);text-align:left;font-size:16px;vertical-align:top}
    th{
      color:var(--muted);font-weight:600;
      position:sticky;top:0;
      background:var(--panel);
      font-family:var(--font-heading);
      font-size:16px;
      letter-spacing:0.08em;
      text-transform:uppercase;
    }
    .mini-table{width:100%;border-collapse:collapse}
    .mini-table th,.mini-table td{padding:7px 6px;border-bottom:1px solid var(--border);text-align:left;font-size:16px;vertical-align:top}
    .mini-table th{position:static;background:transparent;font-family:var(--font-heading);font-size:16px;letter-spacing:0.07em;text-transform:uppercase;color:var(--muted)}

    /* ── Misc ── */
    .muted{color:var(--muted);font-style:italic}
    .divider{
      height:1px;
      background:linear-gradient(to right, transparent, var(--border) 20%, var(--border-active) 50%, var(--border) 80%, transparent);
      margin:16px 0;
      position:relative;
    }
    .history-item{
      border:1px solid var(--border);
      border-radius:var(--radius-sm);
      padding:12px;
      margin-bottom:10px;
      background:var(--panel2);
      transition:border-color var(--transition-base);
    }
    .history-item:hover{border-color:var(--accent-border)}
    .hidden{display:none!important}
    .small-note{font-size:14px;color:var(--muted);font-style:italic}
    .select-preview{margin-top:5px;font-size:16px;font-weight:600}

    /* ── Rarity colors (preserved exact DBD values) ── */
    .rarity-common{color:var(--gray-text)}
    .rarity-uncommon{color:var(--good-text)}
    .rarity-rare{color:var(--blue-text)}
    .rarity-veryrare{color:var(--purple-text)}
    .rarity-ultrarare{color:var(--bad-text)}
    .rarity-event{color:var(--star-color)}

    /* ── Heat value colors — amber/fire scale ── */
    .heat-value.low{color:var(--good-text)}
    .heat-value.mid{color:var(--warn-text)}
    .heat-value.high{color:var(--bad-text)}
    .trend.up{color:var(--bad-text)}
    .trend.down{color:var(--good-text)}
    .trend.flat{color:var(--warn-text)}

    /* ── Analytics tabs ── */
    .tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
    .tab-btn{
      border:1px solid var(--border);
      background:var(--panel2);
      color:var(--muted);
      border-radius:var(--radius-xs);
      padding:8px 14px;
      cursor:pointer;
      font-family:var(--font-heading);
      font-size:16px;
      letter-spacing:0.08em;
      text-transform:uppercase;
      transition:all var(--transition-base);
    }
    .tab-btn:hover{color:var(--text);border-color:var(--border-active)}
    .tab-btn.active{
      background:var(--accent-bg);
      border-color:var(--accent);
      color:var(--accent-text);
      box-shadow:var(--entity-glow);
    }

    /* ── My Build pill ── */
    .my-build-pill{
      display:inline-flex;align-items:center;gap:6px;
      border:1px solid var(--blue-border);
      background:var(--blue-bg);
      color:var(--blue-text);
      border-radius:2px;
      padding:3px 10px;
      font-size:16px;
      font-family:var(--font-heading);
      letter-spacing:0.04em;
    }
    .active-build-box{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}
    .active-build-status{margin-top:8px}

    /* ── Build cards ── */
    .build-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-bottom:10px;background:var(--panel2);transition:border-color var(--transition-base)}
    .build-card:hover{border-color:var(--accent-border)}
    .build-card h4{margin:0 0 4px 0;font-size:16px;font-family:var(--font-heading)}
    .build-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}

    /* ── Filter grid ── */
    .filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:12px}
    .filter-grid .field{margin-bottom:0}

    /* ── Modal ── */
    .modal{position:fixed;inset:0;z-index:40}
    .modal-backdrop{position:absolute;inset:0;background:var(--overlay-bg)}
    .modal-card{
      position:relative;max-width:920px;margin:48px auto;
      background:var(--panel);
      border:1px solid var(--border-active);
      border-radius:var(--radius-sm);
      padding:20px;
      box-shadow:var(--shadow-pop);
      max-height:calc(100vh - 96px);overflow:auto;
    }

    /* ── Danger zone ── */
    .danger-zone{border:1px solid var(--bad-border);background:var(--bad-bg);border-radius:var(--radius-sm);padding:14px}
    .danger-zone h3{margin:0 0 4px 0}

    /* ── Legacy select hide ── */
    .legacy-select{display:none!important}

    /* ── Typeahead ── */
    .typeahead-input{
      width:100%;padding:9px 12px;border-radius:var(--radius-xs);border:1px solid var(--border);
      background:var(--input);color:var(--text);
      font-family:var(--font-body);font-size:16px;
      outline:none;transition:border-color var(--transition-base);
    }
    .typeahead-input:focus{border-color:var(--accent);box-shadow:var(--focus-ring)}
    .typeahead-input.invalid{border-color:var(--bad);box-shadow:var(--danger-focus)}
    .typeahead-menu{
      position:fixed;z-index:80;
      background:var(--panel);
      border:1px solid var(--border-active);
      border-radius:var(--radius-sm);
      box-shadow:var(--shadow-pop);
      overflow-y:auto;overflow-x:hidden;display:none;max-height:260px;overscroll-behavior:contain;
    }
    .typeahead-menu.open{display:block}
    .typeahead-option{
      width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;
      padding:9px 12px;border:0;border-bottom:1px solid var(--border);border-radius:0;
      background:transparent;color:var(--text);text-align:left;
      font-family:var(--font-body);font-size:16px;cursor:pointer;
    }
    .typeahead-option:hover,.typeahead-option.active{background:var(--panel2)}
    .typeahead-option.add-new{
      position:sticky;bottom:0;
      background:var(--accent-bg);color:var(--accent-text);
      border-top:1px solid var(--accent);border-bottom:0;font-weight:700;
      font-family:var(--font-heading);font-size:16px;letter-spacing:0.05em;
    }
    .typeahead-option .hint{font-size:14px;color:var(--muted);white-space:nowrap;font-style:italic}
    .typeahead-empty{padding:10px 12px;color:var(--muted);font-size:16px;font-style:italic}

    /* ── Tooltip system (JS-driven, appended to body to avoid overflow clipping) ── */
    .tooltip-icon{
      display:inline-flex;align-items:center;justify-content:center;
      width:16px;height:16px;border-radius:50%;
      border:1px solid var(--muted);color:var(--muted);
      font-size:10px;font-family:var(--font-heading);font-weight:700;
      cursor:help;flex-shrink:0;vertical-align:middle;margin-left:4px;
      transition:border-color var(--transition-base), color .2s;
      user-select:none;
    }
    .tooltip-icon:hover{border-color:var(--accent-text);color:var(--accent-text)}
    #dbd-tooltip{
      position:fixed;z-index:9999;
      background:var(--panel);
      border:1px solid var(--accent);
      border-left:3px solid var(--accent);
      border-radius:var(--radius-sm);
      padding:10px 14px;
      width:300px;max-width:90vw;
      font-size:16px;line-height:1.6;
      color:var(--text);
      font-family:var(--font-body);
      box-shadow:var(--shadow-pop);
      pointer-events:none;
      opacity:0;
      transition:opacity .15s;
      white-space:normal;
    }
    #dbd-tooltip.visible{opacity:1}

    /* ── Sparkline charts ── */
    .sparkline-grid{ display:flex; flex-direction:column; gap:6px; }
    .sparkline-row{ display:grid; grid-template-columns:180px 1fr 28px; gap:8px; align-items:center; }
    .sparkline-row select{ font-size:13px; padding:4px 6px; }
    .sparkline-wrap{ position:relative; height:28px; }
    .sparkline-wrap svg{ display:block; width:100%; height:28px; }
    .sparkline-empty{ color:var(--muted); font-size:12px; font-style:italic; line-height:28px; }
    .sparkline-controls{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:12px; }
    .sparkline-controls label{ font-size:12px; color:var(--muted); font-family:var(--font-heading); letter-spacing:0.05em; text-transform:uppercase; }
    .sparkline-controls select{ font-size:13px; padding:4px 8px; }
    .sparkline-add{ font-size:12px; padding:4px 10px; margin-top:6px; }
    .sparkline-remove{ font-size:11px; padding:3px 7px; color:var(--muted); border-color:var(--border); background:transparent; }
    .sparkline-remove:hover{ color:var(--bad-text); border-color:var(--bad-border); }

    /* ── Responsive ── */
    @media (max-width:1300px){.main-layout{grid-template-columns:1fr}}
    @media (max-width:900px){
      .field-row,.field-row-3,.field-row-4{grid-template-columns:1fr}
      .grid6{grid-template-columns:repeat(2,1fr)}
      .build-grid{grid-template-columns:1fr}
    }
    @media (max-width:600px){
      .grid6{grid-template-columns:1fr}
      .title h1{font-size:22px}
    }
  
/* ── Page navigation ── */
.page-nav { display:flex; gap:4px; align-items:center; }
.page-nav a { 
  padding:6px 14px; border-radius:var(--radius-sm);
  font-family:var(--font-heading); font-size:16px; font-weight:600;
  text-decoration:none; color:var(--muted); background:transparent;
  transition:color var(--transition-fast), background var(--transition-fast);
}
.page-nav a:hover { color:var(--text); background:var(--panel2); }
.page-nav a.active { color:var(--accent); background:var(--panel2); }

/* Admin page workspace */
.admin-layout{
  /* Override the default two-column .main-layout used by Log Match.
     Admin owns its own nested two-column grid below. */
  display: block;
  grid-template-columns: none;
  max-width: 1600px;
  margin: 0 auto 16px auto;
  width: 100%;
}
.admin-content-grid{
  display: grid;
  grid-template-columns: minmax(720px, 1fr) minmax(380px, 460px);
  gap: 20px;
  align-items: start;
  width: 100%;
}
.admin-main-column{
  min-width: 0;
}
.admin-side-column{
  min-width: 0;
}
.admin-list-viewer-card{
  position: sticky;
  top: 84px;
}
.admin-list-viewer-rows{
  max-height: calc(100vh - 320px);
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface-soft);
}
.admin-list-viewer-row{
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 9px 10px;
  border-bottom: 1px solid var(--border);
}
.admin-list-viewer-row:last-child{
  border-bottom: 0;
}
.admin-list-viewer-name{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
}
.admin-list-viewer-actions{
  flex: 0 0 auto;
}
@media (max-width: 1180px){
  .admin-content-grid{
    grid-template-columns: 1fr;
  }
  .admin-list-viewer-card{
    position: static;
  }
  .admin-list-viewer-rows{
    max-height: 420px;
  }
}

.inline-check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:var(--text);
  white-space:nowrap;
}
.inline-check input{
  width:auto;
  margin:0;
}


/* Shared topbar/nav shell */
.page-nav{
  display:flex;
  gap:4px;
  align-items:center;
  flex:1;
  padding:0 16px;
  min-width:0;
}
.site-footer{
  max-width:1400px;
  margin:24px auto 32px;
  padding:0 18px;
  color:var(--muted);
  font-size:13px;
}
@media (max-width: 900px){
  .page-nav{
    order:3;
    flex-basis:100%;
    padding:8px 0 0;
    overflow-x:auto;
  }
}

/* Catalog image tools */

.catalog-image-panel{
  display:grid;
  grid-template-columns:84px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:12px;
  margin:12px 0;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface-soft);
}
.catalog-image-panel-preview{
  width:84px;
  height:84px;
  border-radius:var(--radius-xl);
  border:1px solid var(--border);
  background:var(--surface-soft);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  font-size:11px;
  text-align:center;
  overflow:hidden;
  padding:6px;
}
.catalog-image-panel-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:var(--radius-lg);
}
.catalog-image-panel-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.catalog-image-panel-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
}
.catalog-image-row.selected{
  outline:1px solid var(--border-soft);
  background:var(--surface-subtle);
}
.catalog-image-row{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.catalog-image-thumb{
  width:44px;
  height:44px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid var(--border);
  background:var(--surface-soft);
}
.catalog-image-empty{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  line-height:1.05;
  text-align:center;
  color:var(--muted);
  padding:4px;
}
.catalog-image-actions{
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.file-button{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.file-button input[type="file"]{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.file-button.disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media (max-width: 760px){
  .catalog-image-row{
    grid-template-columns:44px minmax(0,1fr);
  }
  .catalog-image-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
}

/* Build ratings */
.build-rating-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:var(--muted)}
.rating-summary{display:inline-flex;align-items:center;gap:4px}
.rating-actions{display:inline-flex;gap:2px;align-items:center}
.star{color:var(--border);font-size:14px;line-height:1}
.star.filled{color:var(--star-color)}
.star-rate{border:0;background:transparent;color:var(--border);padding:0 1px;font-size:15px;line-height:1;cursor:pointer}
.star-rate:hover,.star-rate.active{color:var(--star-color)}

/* Tournament module */
.tournament-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.tournament-list{display:grid;gap:10px;}
.tournament-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:12px 14px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-soft);color:inherit;cursor:pointer;}
.tournament-row:hover{background:var(--surface-hover);}
.tournament-row small{display:block;color:var(--muted);margin-top:4px;}
.tournament-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.tournament-panel.span-2{grid-column:1/-1;}
.ban-grid,.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;}
.standing-row,.roster-row,.match-row,.team-card{border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-soft);padding:10px;margin-bottom:8px;}
.standing-row,.team-card-head,.roster-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.inline-form,.add-player-form{display:grid;grid-template-columns:1fr 100px auto;gap:8px;margin-bottom:12px;}
.add-player-form{grid-template-columns:1fr 110px 1fr 1fr auto;margin-top:10px;}
.match-form{border:1px solid var(--border-soft);border-radius:var(--radius-xl);padding:12px;margin-bottom:12px;background:var(--surface-soft);}
.tournament-matches{display:grid;gap:8px;}
.match-row span,.match-row small{display:block;margin-top:4px;color:var(--muted);}
.bracket-grid{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;}
.bracket-grid>div{min-width:190px;}
.bracket-match{border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:10px;margin-bottom:8px;background:var(--surface-soft);display:grid;gap:3px;}
.empty-state{padding:16px;border:1px dashed var(--border-soft);border-radius:var(--radius-xl);color:var(--muted);}
@media (max-width: 900px){.tournament-grid{grid-template-columns:1fr}.inline-form,.add-player-form{grid-template-columns:1fr}.tournament-head{flex-direction:column}.tournament-row{align-items:flex-start;flex-direction:column}}

/* Tournament module polish */
.tournament-grid input,
.tournament-grid select,
.tournament-grid textarea,
.tournament-profile input,
.tournament-profile select,
.tournament-profile textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  background: var(--input-bg);
  color: var(--text);
  border-radius: 12px;
  padding: 10px 12px;
  min-height: 42px;
}
.tournament-grid textarea,
.tournament-profile textarea { min-height: 92px; resize: vertical; }
.tournament-grid label,
.tournament-profile label { display:block; font-size: .78rem; font-weight: 700; opacity:.82; margin-bottom: 6px; }
.tournament-grid .field,
.tournament-profile .field { margin-bottom: 12px; }
.field-row { display:grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; align-items:end; }
.inline-form,
.add-player-form,
.match-form,
.match-edit-form,
.styled-form {
  border: 1px solid var(--border);
  background: var(--surface-soft);
  border-radius: 16px;
  padding: 14px;
  margin: 10px 0 16px;
}
.inline-form,
.add-player-form { display:grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; align-items:end; }
.bracket-actions,
.button-row { display:flex; gap: 10px; flex-wrap:wrap; margin: 10px 0; }
.tournament-matches { display:grid; gap: 10px; }
.match-row {
  border: 1px solid var(--border);
  background: var(--surface-soft);
  border-radius: 16px;
  padding: 0;
  overflow:hidden;
}
.match-row summary {
  list-style: none;
  cursor: pointer;
  padding: 14px;
  display:flex;
  justify-content:space-between;
  gap: 12px;
  align-items:center;
}
.match-row summary::-webkit-details-marker { display:none; }
.match-row summary small { display:block; opacity:.72; margin-top: 4px; }
.match-row[open] summary { border-bottom: 1px solid var(--border); }
.match-row > p { margin: 12px 14px; }
.match-edit-form { margin: 14px; }
.bracket-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.bracket-match { border:1px solid var(--border); background:var(--surface-soft); border-radius:var(--radius-xl); padding:12px; margin-bottom:10px; display:grid; gap:4px; }
.bracket-match span,
.bracket-match small { opacity:.72; }
button.danger { border-color: var(--bad-border); }
@media (max-width: 720px){ .match-row summary { display:grid; } }

/* Tournament workflow expansion */
.scoring-template,
.tool-summary,
.match-facts {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: var(--surface-soft);
  margin: 10px 0;
}
.tool-summary { display: grid; gap: 10px; }
.tool-summary div,
.match-facts div {
  display: grid;
  gap: 3px;
}
.tool-summary span,
.match-facts span { color: var(--muted); font-size: .92rem; }
.match-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}
.mini-match {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 8px 10px;
  margin: 6px 0;
  background: var(--surface-soft);
  display: grid;
  gap: 2px;
}
.mini-match span { color: var(--muted); font-size: .88rem; }
.match-row.is-disputed {
  border-color: var(--danger-border-soft);
  box-shadow: var(--danger-focus);
}
.check-field label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
}
.check-field input[type="checkbox"] { width: auto; }
.bracket-match small { text-transform: capitalize; }

/* Tournament scoring calculator */
.score-calculator-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  margin: 12px 0;
}
.score-stat-box,
.score-breakdown {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  background: var(--surface-soft);
}
.score-stat-box h5 { margin: 0 0 8px; }
.field-row.compact { gap: 8px; }
.field-row.compact .field input { min-width: 0; }
.score-breakdown-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
  margin: 10px 0;
}
.score-breakdown {
  display: grid;
  gap: 4px;
}
.score-breakdown span,
.score-breakdown small,
.check-inline { color: var(--muted); }
.check-inline { display: inline-flex; align-items: center; gap: 8px; margin: 8px 0 12px; }
.check-inline input[type="checkbox"] { width: auto; }

/* Tournament team profile pages/cards */
.team-card-actions{
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
}
.link-button{
  border:0;
  background:transparent;
  color:var(--accent);
  padding:.1rem .25rem;
  cursor:pointer;
  text-decoration:underline;
  font:inherit;
}
.team-profile-full{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.team-profile-header{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface-soft);
}
.team-profile-header h4{
  margin:0 0 .35rem;
}
.team-profile-header p{
  margin:0;
}
.team-profile-record{
  min-width:120px;
  text-align:right;
}
.team-profile-record strong{
  display:block;
  font-size:1.6rem;
  line-height:1;
}
.team-profile-record span{
  display:block;
  margin-top:.35rem;
  color:var(--muted);
  font-size:.9rem;
}
.team-profile-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
  gap:.75rem;
}
.team-profile-stats > div{
  padding:.85rem;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface-soft);
}
.team-profile-stats strong{
  display:block;
  font-size:1.25rem;
}
.team-profile-stats span{
  color:var(--muted);
  font-size:.85rem;
}
.team-profile-columns{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:1rem;
}
.profile-player,
.team-profile-match{
  padding:.75rem;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface-soft);
  margin-bottom:.6rem;
}
.profile-player small,
.team-profile-match small{
  display:block;
  color:var(--muted);
  margin-top:.2rem;
}
.profile-player p{
  margin:.5rem 0 0;
  color:var(--muted);
}
.team-profile-match{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
}
.team-profile-match span{
  white-space:nowrap;
  font-weight:700;
}
@media (max-width: 760px){
  .team-profile-header,
  .team-profile-match{
    flex-direction:column;
    align-items:flex-start;
  }
  .team-profile-record{
    text-align:left;
  }
  .team-profile-columns{
    grid-template-columns:1fr;
  }
}

.match-detail-full{
  display:grid;
  gap:1rem;
}
.match-detail-header{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  padding:1rem;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface-soft);
}
.match-detail-header h4{
  margin:0 0 .25rem;
}
.match-detail-header p,
.match-detail-header small{
  display:block;
  margin:.15rem 0;
  color:var(--muted);
}
.match-detail-score{
  min-width:110px;
  text-align:right;
}
.match-detail-score strong{
  display:block;
  font-size:1.7rem;
  line-height:1;
}
.match-detail-score span{
  display:block;
  margin-top:.35rem;
  color:var(--muted);
  font-size:.85rem;
}
.button-like{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  padding:.55rem .8rem;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-subtle);
  color:inherit;
  text-decoration:none;
  font-weight:700;
}
.match-detail-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:.75rem;
}
.match-detail-grid > div{
  padding:.8rem;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface-soft);
}
.match-detail-grid strong,
.match-detail-grid span{
  display:block;
}
.match-detail-grid span{
  margin-top:.25rem;
  color:var(--muted);
}
.match-detail-rosters{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem;
}
.match-detail-rosters > div,
.match-detail-notes{
  padding:1rem;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface-soft);
}
.match-detail-notes p{
  margin:.35rem 0;
}
.link-button{
  border:0;
  background:transparent;
  color:inherit;
  text-decoration:underline;
  cursor:pointer;
  padding:0;
}
@media (max-width:760px){
  .match-detail-header,
  .match-detail-rosters{
    display:block;
  }
  .match-detail-score{
    text-align:left;
    margin-top:1rem;
  }
  .match-detail-rosters > div + div{
    margin-top:1rem;
  }
}

.workflow-badge {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .12rem .45rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  background: var(--surface-subtle);
}
.workflow-reported { background: var(--warn-bg); }
.workflow-verified,
.workflow-resolved { background: var(--good-bg); }
.workflow-disputed { background: var(--bad-bg); }
.workflow-complete,
.workflow-final { background: var(--blue-bg); }
.workflow-help { margin: .6rem 0; }
.workflow-actions { flex-wrap: wrap; }
.match-row.is-disputed {
  border-color: var(--danger-border-soft);
  box-shadow: var(--danger-focus);
}


.checkin-panel{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:flex-start;
  padding:.85rem;
  margin:.75rem 0;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface-soft);
}
.checkin-panel strong,
.checkin-panel span{
  display:block;
}
.checkin-panel span{
  color:var(--muted);
  margin-top:.2rem;
}
.checkin-actions{
  justify-content:flex-end;
  flex-wrap:wrap;
}
.workflow-ready{ background:var(--good-bg); }
.workflow-live{ background:var(--blue-bg); }
.workflow-no_show,
.workflow-dq{ background:var(--bad-bg); }
@media (max-width:760px){
  .checkin-panel{ display:block; }
  .checkin-actions{ justify-content:flex-start; margin-top:.75rem; }
}

/* Tournament ruleset builder */
.ruleset-builder,
.ruleset-public {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid var(--border-soft);
  border-radius: 16px;
  background: var(--surface-soft);
}
.ruleset-builder h4,
.ruleset-public h4 {
  margin-top: 0;
}
.ruleset-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: .75rem;
  margin: .75rem 0 1rem;
}
.ruleset-grid > div {
  padding: .75rem;
  border-radius: 12px;
  background: var(--surface-soft);
  border: 1px solid var(--border-soft);
}
.ruleset-grid strong,
.ruleset-grid span {
  display: block;
}
.ruleset-grid span {
  margin-top: .25rem;
  color: var(--muted);
  font-size: .92rem;
}
.ruleset-warning {
  margin: .75rem 0;
  padding: .75rem;
  border-radius: 12px;
  border: 1px solid var(--warning-border-soft);
  background: var(--warning-surface-soft);
}
.ruleset-warning strong,
.ruleset-warning span {
  display: block;
}
.ruleset-warning span {
  margin-top: .25rem;
}

/* Tournament collapsible panels + rules enforcement */
.tournament-panel.collapsible-panel {
  padding: 0;
  overflow: hidden;
}
.tournament-panel.collapsible-panel > summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--border-soft);
}
.tournament-panel.collapsible-panel > summary::-webkit-details-marker { display: none; }
.tournament-panel.collapsible-panel > summary h3 {
  margin: 0;
}
.tournament-panel.collapsible-panel .panel-content {
  padding: 16px 18px 18px;
}
.collapse-indicator {
  opacity: .7;
  transition: transform .18s ease;
}
details.collapsible-panel:not([open]) .collapse-indicator {
  transform: rotate(-90deg);
}
.ruleset-warning {
  border: 1px solid var(--warning-border-soft);
  background: var(--warning-surface-soft);
  border-radius: 14px;
  padding: 12px;
  margin: 12px 0;
  display: grid;
  gap: 6px;
}
.ruleset-warning strong {
  color: var(--warn-text);
}
.ruleset-warning span,
.ruleset-warning small {
  display: block;
}
.rule-actions {
  margin-top: 6px;
}

/* Tournament organizer dashboard cleanup */
.organizer-overview {
  display: grid;
  gap: 14px;
}
.dashboard-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
}
.dashboard-cards > div {
  padding: 12px;
  border-radius: 14px;
  border: 1px solid var(--border-soft);
  background: var(--surface-soft);
}
.dashboard-cards strong,
.dashboard-cards span {
  display: block;
}
.dashboard-cards strong {
  font-size: 1.35rem;
  line-height: 1;
}
.dashboard-cards span {
  margin-top: 5px;
  color: var(--muted);
  font-size: .9rem;
}
.match-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.filter-chip {
  border-radius: 999px;
  padding: 7px 11px;
}
.filter-chip.active {
  outline: 2px solid var(--border-soft);
  background: var(--surface-hover);
}
.filter-chip span {
  opacity: .78;
  margin-left: 4px;
}
.needs-attention-list {
  display: grid;
  gap: 8px;
}
.attention-row,
.mini-match {
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--border-soft);
  background: var(--surface-soft);
}
.attention-row strong,
.attention-row small,
.mini-match strong,
.mini-match span {
  display: block;
}
.attention-row small,
.mini-match span {
  color: var(--muted);
  margin-top: 2px;
}
.match-row.needs-action {
  border-color: var(--warning-border-soft);
}
.match-row.workflow-live {
  box-shadow: inset 3px 0 0 var(--blue-border);
}
.match-row.workflow-disputed,
.match-row.workflow-dq,
.match-row.workflow-no_show {
  box-shadow: inset 3px 0 0 var(--bad-border);
}
.match-row.workflow-ready,
.match-row.workflow-verified,
.match-row.workflow-resolved {
  box-shadow: inset 3px 0 0 var(--good-border);
}

.analytics-overview { display: grid; gap: 14px; }
.analytics-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 10px; }
.analytics-cards > div,
.analytics-box { padding: 12px; border-radius: 14px; border: 1px solid var(--border-soft); background: var(--surface-soft); }
.analytics-cards strong,
.analytics-cards span { display: block; }
.analytics-cards strong { font-size: 1.1rem; line-height: 1.15; }
.analytics-cards span { margin-top: 5px; color: var(--muted); font-size: .86rem; }
.analytics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.analytics-box h4 { margin-top: 0; }
.analytics-list { margin: 8px 0 0; padding-left: 0; list-style: none; display: grid; gap: 6px; }
.analytics-list li { display: flex; justify-content: space-between; gap: 10px; padding: 7px 9px; border-radius: 10px; background: var(--surface-soft); }
.analytics-two-col { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }

/* Tournament stabilization / QA pass */
.empty-state.compact {
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px dashed var(--border-soft);
  background: var(--surface-soft);
  color: var(--muted);
}
.tool-summary .link-button {
  padding: 0;
  min-height: auto;
  vertical-align: baseline;
}
.tournament-panel summary {
  position: sticky;
  top: 0;
  z-index: 1;
}
.bracket-match.is-placeholder {
  opacity: .72;
  border-style: dashed;
}
.bracket-match.is-placeholder strong {
  color: var(--muted);
}
@media (max-width: 760px) {
  .tournament-grid,
  .team-profile-columns,
  .match-detail-rosters,
  .analytics-grid {
    grid-template-columns: 1fr !important;
  }
  .tournament-profile .head,
  .tournament-head,
  .team-card-head,
  .match-row,
  .attention-row,
  .mini-match,
  .standing-row {
    align-items: stretch;
    flex-direction: column;
  }
  .dashboard-cards,
  .analytics-cards,
  .team-profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .field-row,
  .field-row.compact,
  .inline-form,
  .add-player-form,
  .button-row,
  .workflow-actions,
  .bracket-actions,
  .match-filter-bar {
    display: grid;
    grid-template-columns: 1fr;
  }
  .tournament-panel summary h3 {
    font-size: 1rem;
  }
  .panel-content {
    overflow-x: auto;
  }
}
@media print {
  body { background: #fff !important; color: #000 !important; }
  header, nav, .site-nav, .sidebar, .bracket-actions, .workflow-actions, .match-filter-bar, .button-row, button, .tournament-list, #newTournamentBtn, #saveTournamentBtn { display: none !important; }
  .tournament-panel { display: block !important; border: 1px solid #ccc !important; background: #fff !important; color: #000 !important; page-break-inside: avoid; }
  .tournament-panel summary { display: block !important; position: static !important; }
  .tournament-panel .panel-content { display: block !important; }
  .collapse-indicator { display: none !important; }
}

/* Tournament public directory / manage-mode split */
.tournament-directory{display:grid;gap:1rem;}
.directory-section-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.25rem;}
.tournament-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;}
.tournament-directory-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:var(--radius-2xl);padding:1rem;display:grid;gap:.85rem;}
.tournament-directory-main{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;}
.tournament-directory-card h3{margin:0 0 .35rem;}
.tournament-directory-card p{margin:.25rem 0 .5rem;}
.tournament-mode-controls{justify-content:flex-end;margin-bottom:.5rem;}
.tournament-mode-controls .active{box-shadow:0 0 0 2px var(--border-soft) inset;}
.tournament-profile.is-public-mode .add-player-form,
.tournament-profile.is-public-mode .inline-form,
.tournament-profile.is-public-mode .bracket-actions{display:none;}
@media (max-width: 760px){
  .tournament-directory-main{display:grid;}
  .tournament-mode-controls{justify-content:flex-start;}
}

/* Tournament public profile / registration polish */
.directory-badges,
.tournament-public-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .6rem;
}
.directory-badges span,
.tournament-public-nav span,
.join-request-card small {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border-soft);
  border-radius: 999px;
  padding: .18rem .55rem;
  background: var(--surface-subtle);
  color: var(--muted);
  font-size: .8rem;
}
.registration-form textarea,
.join-request-card textarea {
  min-height: 72px;
}
.join-request-list {
  display: grid;
  gap: .75rem;
}
.join-request-card {
  border: 1px solid var(--border-soft);
  background: var(--surface-soft);
  border-radius: 14px;
  padding: .85rem;
}
.join-request-card.status-approved {
  border-color: var(--success-border-soft);
}
.join-request-card.status-rejected {
  opacity: .72;
  border-color: var(--danger-border-soft);
}
.join-request-card p {
  margin: .5rem 0 0;
}
.tournament-directory-card .pill.good {
  border-color: var(--success-border-soft);
}
@media (max-width: 720px){
  .directory-badges,
  .button-row {
    gap: .35rem;
  }
  .join-request-card {
    padding: .7rem;
  }
}

/* Tournament registration management */
.registration-settings,
.registration-instructions,
.team-edit-form,
.player-edit-form {
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  background: var(--surface-soft);
  padding: .85rem;
  margin: .75rem 0;
}
.registration-instructions {
  border-color: var(--info-border-soft);
}
.join-request-card.status-waitlisted {
  border-color: var(--warning-border-soft);
  background: var(--warning-surface-soft);
}
.team-edit-form textarea,
.player-edit-form textarea {
  min-height: 70px;
}
.roster-row button {
  margin-left: .35rem;
}

/* Tournament announcements */
.announcement-form {
  margin-bottom: 1rem;
}
.announcement-list {
  display: grid;
  gap: 0.85rem;
}
.announcement-card {
  border: 1px solid var(--border-soft);
  border-radius: 14px;
  padding: 0.9rem;
  background: var(--surface-soft);
}
.announcement-card.is-pinned {
  border-color: var(--pin-border);
  background: var(--warning-surface-soft);
}
.announcement-card.announcement-important {
  border-color: var(--danger-border-soft);
}
.announcement-card.announcement-rules {
  border-color: var(--info-border-soft);
}
.announcement-card.announcement-schedule {
  border-color: var(--success-border-soft);
}
.announcement-head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  margin-bottom: 0.45rem;
}
.announcement-head h4 {
  margin: 0;
}
.announcement-head small {
  color: var(--muted);
  text-transform: capitalize;
}
.announcement-pin {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.2rem 0.5rem;
  font-size: 0.78rem;
  background: var(--pin-bg);
  border: 1px solid var(--pin-border);
}
.announcement-edit {
  margin-top: 0.75rem;
}
.announcement-edit summary {
  cursor: pointer;
  color: var(--muted);
}


/* ── Redeem codes ─────────────────────────────────────────────── */
.codes-page{display:flex;flex-direction:column;gap:16px}
.codes-page .card{margin-bottom:0}
.submit-code-card{border-color:var(--accent-border);box-shadow:var(--card-glow)}
.code-submit-grid{display:grid;grid-template-columns:1fr 1fr 180px 220px;gap:12px;align-items:start}
.code-submit-wide{grid-column:span 4}
.code-submit-actions{margin-top:2px}
.code-submit-actions .small-note{align-self:center}
.codes-page .codes-toolbar{display:flex;flex-direction:column;gap:12px}
.codes-search-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.codes-search-row input{max-width:360px}
.inline-check{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:15px}
.codes-list{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.code-card{border:1px solid var(--border);background:var(--panel2);border-radius:var(--radius-xl);padding:14px;box-shadow:var(--shadow-soft)}
.code-card.used{opacity:.62}
.code-card-main{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.code-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}
.code-line code{font-family:Consolas,monospace;font-size:22px;letter-spacing:.08em;color:var(--text);background:var(--surface-soft);border:1px solid var(--border);border-radius:6px;padding:5px 9px}
.code-reward{font-family:var(--font-heading);font-size:24px;font-weight:700;color:var(--text);letter-spacing:.03em}
.code-description{color:var(--muted);margin-top:5px;line-height:1.35}

.code-score{display:flex;align-items:center;gap:10px;margin-top:8px;color:var(--muted);font-size:13px;max-width:360px}
.code-score-bar{flex:1;height:8px;min-width:110px;border-radius:var(--radius-pill);background:var(--surface-soft);border:1px solid var(--border);overflow:hidden}
.code-score-bar i{display:block;height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg, var(--accent), var(--accent-light))}
.code-meta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:9px;color:var(--muted);font-size:14px}
.code-votes{display:flex;flex-direction:column;gap:6px;align-items:flex-end;min-width:92px}
.code-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}
.code-actions button.active{background:var(--accent);border-color:var(--accent-light);color:var(--accent-text)}
.code-reward-type{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-soft);color:var(--muted);font-family:Barlow,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.code-card.hidden-code{border-color:var(--accent-border);background:linear-gradient(180deg, var(--accent-bg), var(--surface-soft)), var(--panel2)}
.code-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);align-items:center}
.code-admin-actions select{max-width:190px}
button.danger{border-color:var(--bad-border);color:var(--bad-text);background:var(--bad-bg)}
button.danger:hover{border-color:var(--bad-border);background:var(--bad-bg)}

.error-text{color:var(--bad-text)!important}
@media (max-width: 900px){.code-submit-grid{grid-template-columns:1fr}.code-submit-wide{grid-column:auto}.code-card-main{flex-direction:column}.code-votes{flex-direction:row;align-items:flex-start}.code-admin-actions select{max-width:100%}}

/* Redeem codes completion pass */
.code-card.highlighted-code{
  border-color: var(--accent);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent) 65%, transparent), 0 0 24px color-mix(in srgb, var(--accent) 18%, transparent);
}
.code-admin-edit{
  margin-top:12px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface-soft);
}
.code-submit-grid.compact{
  gap:10px;
}
.code-submit-grid.compact textarea{
  min-height:74px;
}
.latest-codes-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.latest-code-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  background:var(--surface-soft);
}
.latest-code-row code{
  font-size:14px;
}
.latest-code-row .meta{
  color:var(--muted);
  font-size:12px;
  margin-top:4px;
}
.latest-code-row a{
  color:var(--accent);
  text-decoration:none;
  white-space:nowrap;
}
.latest-code-row a:hover{
  text-decoration:underline;
}


/* ══ Theme-ready utility layer ══════════════════════════════════
   These classes are intentionally generic so new pages/features can
   be built without adding page-specific one-off styling. */
.page-shell{max-width:1600px;margin:0 auto;padding:0 var(--space-6)}
.content-stack{display:flex;flex-direction:column;gap:var(--space-4)}
.section-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--card-glow);overflow:hidden;position:relative}
.section-card>.section-head{padding:var(--space-4) var(--space-4) 0}
.section-card>.section-body{padding:var(--space-4)}
.surface-panel{background:var(--panel2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4)}
.toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:space-between}
.toolbar-group{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);align-items:end}
.form-grid.wide{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.stat-card{padding:var(--space-3);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow)}
.pill{display:inline-flex;align-items:center;gap:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-pill);padding:3px 9px;background:var(--panel2);color:var(--text);font-family:var(--font-heading);font-size:var(--text-sm);letter-spacing:.04em;text-transform:uppercase}
.pill.good{background:var(--good-bg);border-color:var(--good-border);color:var(--good-text)}
.pill.bad{background:var(--bad-bg);border-color:var(--bad-border);color:var(--bad-text)}
.pill.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}
.pill.info{background:var(--blue-bg);border-color:var(--blue-border);color:var(--blue-text)}
.empty-state{padding:var(--space-4);border:1px dashed var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-soft);color:var(--muted);font-style:italic}
.text-muted{color:var(--muted)}
.text-good{color:var(--good-text)}
.text-bad{color:var(--bad-text)}
.text-warn{color:var(--warn-text)}
.link-accent{color:var(--accent);text-decoration:none}
.link-accent:hover{text-decoration:underline}
.theme-border{border-color:var(--border)!important}
.theme-surface{background:var(--panel)!important;color:var(--text)!important}
.theme-surface-raised{background:var(--panel2)!important;color:var(--text)!important}
@media (max-width: 760px){.page-shell{padding:0 var(--space-4)}.toolbar{align-items:stretch}.toolbar,.toolbar-group{display:grid;grid-template-columns:1fr}}


/* ═══════════════════════════════════════════
   THEME REGISTRY
   Switch by setting data-theme on <html>. Keep each theme mostly to
   primitive palette values so the rest of the site stays token-driven.
   ═══════════════════════════════════════════ */
:root,
:root[data-theme="fog"]{
  color-scheme:dark;
}

:root[data-theme="blood"]{
  --color-void:#090205;
  --color-surface-1:#16070b;
  --color-surface-2:#240b10;
  --color-surface-3:#331018;
  --color-input:#0d0306;
  --color-border:#40121a;
  --color-border-strong:#b51f31;
  --color-text:#f1d9dc;
  --color-muted:#9a7378;
  --color-accent:#d4263e;
  --color-accent-strong:#ff4d66;
  --color-accent-soft:rgba(212,38,62,.24);
  --color-accent-text:#ffd0d7;
  --entity-glow:0 0 14px rgba(212,38,62,.45);
}

:root[data-theme="void"]{
  --color-void:#03070d;
  --color-surface-1:#07111d;
  --color-surface-2:#0b1b2d;
  --color-surface-3:#10263f;
  --color-input:#040b13;
  --color-border:#153653;
  --color-border-strong:#1fb6ff;
  --color-text:#d9edf8;
  --color-muted:#6f91a8;
  --color-accent:#00a6ff;
  --color-accent-strong:#72d6ff;
  --color-accent-soft:rgba(0,166,255,.20);
  --color-accent-text:#c6f1ff;
  --color-info-bg:rgba(18,68,98,.45);
  --color-info-text:#9fe8ff;
  --color-info-border:#167eb0;
  --entity-glow:0 0 14px rgba(0,166,255,.42);
}

:root[data-theme="ember"]{
  --color-void:#070402;
  --color-surface-1:#130a04;
  --color-surface-2:#211006;
  --color-surface-3:#301808;
  --color-input:#0b0603;
  --color-border:#4f2810;
  --color-border-strong:#d46b22;
  --color-text:#f0dfcc;
  --color-muted:#9a7d5f;
  --color-accent:#e07021;
  --color-accent-strong:#ff9a3d;
  --color-accent-soft:rgba(224,112,33,.22);
  --color-accent-text:#ffd8b0;
  --color-warning-bg:rgba(116,58,12,.45);
  --color-warning-text:#ffc776;
  --color-warning-border:#b2641b;
  --entity-glow:0 0 14px rgba(224,112,33,.42);
}

.theme-control{display:flex;align-items:center;gap:var(--space-2);}
.theme-control label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.theme-select{min-width:132px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--input-bg);color:var(--text);font:600 var(--text-sm)/1 var(--font-body);box-shadow:inset 0 1px 0 var(--surface-subtle);}
.theme-select:focus{outline:2px solid var(--accent-bg);border-color:var(--accent-border);}
@media (max-width: 760px){.theme-control{width:100%;justify-content:space-between}.theme-select{flex:1;min-width:0}}

/* Profile / Scout foundation */
.profile-layout{
  display:grid;
  grid-template-columns:minmax(260px,.9fr) minmax(320px,1.3fr);
  gap:14px;
  align-items:start;
}
.checkline{
  display:flex;
  align-items:center;
  gap:8px;
  margin:8px 0 12px;
  color:var(--text);
}
.checkline input{ width:auto; }
.button-like{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:8px 12px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--panel2);
  color:var(--text);
  text-decoration:none;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;
  letter-spacing:.02em;
}
.button-like:hover{ border-color:var(--accent); color:var(--accent); }
.avatar-picker{ display:flex; flex-direction:column; gap:8px; }
.avatar-group{
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--panel2);
  padding:8px;
}
.avatar-group summary{
  cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:800;
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.avatar-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:8px;
  margin-top:8px;
  max-height:260px;
  overflow:auto;
  padding-right:4px;
}
.avatar-choice{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--border);
  background:var(--input-bg);
  border-radius:var(--radius-sm);
  padding:8px;
  cursor:pointer;
  min-width:0;
}
.avatar-choice input{ width:auto; flex:0 0 auto; }
.avatar-choice.selected{
  border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent-soft), var(--glow);
}
.avatar-preview,
.scout-avatar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  border:1px solid var(--border-strong);
  background:var(--card-bg);
  color:var(--accent);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:900;
  letter-spacing:.03em;
}
.avatar-preview img,
.scout-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.clear-avatar{ margin-bottom:4px; }
.scout-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  margin-bottom:12px;
}
.scout-avatar{
  width:64px;
  height:64px;
  flex-basis:64px;
  font-size:22px;
}
.scout-main{ min-width:0; }
@media (max-width: 860px){
  .profile-layout{ grid-template-columns:1fr; }
  .scout-card{ grid-template-columns:1fr; }
}

.scout-card-head{ justify-content:space-between; align-items:flex-start; gap:10px; }
.scout-badge-row{ gap:6px; flex-wrap:wrap; }
.scout-check-field .checkline{ margin-top:0; min-height:42px; align-items:center; }
.centered{ justify-content:center; }
.public-profile-layout{ display:grid; grid-template-columns:minmax(220px,300px) 1fr; gap:16px; align-items:start; }
.public-profile-sidebar{ text-align:center; }
.public-profile-avatar{ width:112px; height:112px; margin:0 auto 12px; font-size:34px; }
.profile-info-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:8px 0 14px; }
.profile-info-row{ border:1px solid var(--border); background:var(--panel2); border-radius:var(--radius-sm); padding:10px; display:flex; flex-direction:column; gap:3px; }
.profile-info-row strong{ color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.profile-bio{ border-left:3px solid var(--accent); padding-left:12px; }
.empty-state.compact{ padding:12px; }
@media (max-width:860px){
  .public-profile-layout{ grid-template-columns:1fr; }
  .profile-info-grid{ grid-template-columns:1fr; }
  .scout-card-head{ align-items:stretch; }
}

/* Scout matching v2 */
.pill-check-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:6px;
}
.check-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--border);
  background:var(--input-bg);
  color:var(--fg);
  border-radius:999px;
  padding:7px 10px;
  cursor:pointer;
  user-select:none;
}
.check-pill input{ width:auto; margin:0; }
.check-pill:has(input:checked){
  border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent-soft);
  background:var(--accent-soft);
}
.scout-card-actions,
.profile-contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.profile-contact-actions{
  justify-content:center;
  margin-top:14px;
}
.profile-contact-actions button,
.scout-card-actions button,
.scout-card-actions .button-like{
  min-height:34px;
}
@media (max-width:680px){
  .scout-card-actions,
  .profile-contact-actions{ flex-direction:column; }
  .scout-card-actions button,
  .profile-contact-actions button,
  .scout-card-actions .button-like{ width:100%; justify-content:center; text-align:center; }
}

/* Sidebar navigation repair: keep sidebar styles available after Scout theme updates */
.topbar-actions {
  display: flex;
  gap: var(--space-2, 8px);
  align-items: center;
}

.topbar-profile-link,
.logout-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 var(--space-3, 12px);
  border: 1px solid var(--border, rgba(255,255,255,.14));
  border-radius: var(--radius-pill, 999px);
  background: var(--button-bg, rgba(255,255,255,.06));
  color: var(--fg, #f5f5f5);
  text-decoration: none;
  font-weight: 700;
}

.topbar-profile-link:hover,
.logout-link:hover {
  background: var(--button-hover-bg, rgba(255,255,255,.12));
  border-color: var(--accent, #b33);
}

.sidebar-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 var(--space-3, 12px);
  border-radius: var(--radius-pill, 999px);
  font-weight: 800;
}

.sidebar-overlay {
  position: fixed;
  inset: 0;
  z-index: 900;
  background: rgba(0,0,0,.58);
  backdrop-filter: blur(2px);
}

.site-sidebar {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 901;
  width: min(360px, calc(100vw - 32px));
  height: 100vh;
  overflow-y: auto;
  padding: var(--space-4, 18px);
  background: var(--panel, #151515);
  color: var(--fg, #f5f5f5);
  border-left: 1px solid var(--border-strong, rgba(255,255,255,.2));
  box-shadow: var(--shadow-strong, -18px 0 45px rgba(0,0,0,.45));
  transform: translateX(105%);
  transition: transform .22s ease;
}

.sidebar-open .site-sidebar {
  transform: translateX(0);
}

.sidebar-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-3, 12px);
  padding-bottom: var(--space-3, 12px);
  margin-bottom: var(--space-3, 12px);
  border-bottom: 1px solid var(--border, rgba(255,255,255,.14));
}

.sidebar-head h2 {
  margin: 0;
  color: var(--fg, #fff);
}

.sidebar-kicker,
.sidebar-label {
  color: var(--muted, #aaa);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sidebar-close {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 1.35rem;
  line-height: 1;
}

.sidebar-section {
  display: grid;
  gap: var(--space-2, 8px);
  margin: var(--space-4, 18px) 0;
}

.sidebar-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 42px;
  padding: 0 var(--space-3, 12px);
  border: 1px solid var(--border, rgba(255,255,255,.14));
  border-radius: var(--radius-lg, 14px);
  background: var(--card, rgba(255,255,255,.04));
  color: var(--fg, #f5f5f5);
  text-decoration: none;
  font-weight: 800;
  text-align: left;
}

.sidebar-link:hover,
.sidebar-link.active {
  background: var(--accent-soft, rgba(179,51,51,.16));
  border-color: var(--accent, #b33);
  color: var(--fg, #fff);
}

.sidebar-button {
  font: inherit;
  cursor: pointer;
}

.sidebar-tools .sidebar-link::after {
  content: '›';
  opacity: .65;
}

@media (max-width: 1100px) {
  .page-nav .nav-link:nth-child(n+4) {
    display: none;
  }
}

@media (max-width: 780px) {
  .page-nav {
    display: none;
  }
  .theme-control.compact label,
  .topbar-profile-link,
  .logout-link {
    display: none;
  }
}

/* ── Live Operations Calendar ─────────────────────────────────── */
.calendar-page .calendar-hero .body { display:flex; flex-direction:column; gap:var(--space-4); }
.calendar-summary-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:var(--space-3); }
.mini-stat { border:1px solid var(--border); background:var(--panel-2); border-radius:var(--radius-lg); padding:var(--space-3); }
.mini-stat strong { display:block; font-family:var(--font-display); font-size:1.8rem; color:var(--text); line-height:1; }
.mini-stat span { color:var(--muted); font-size:.9rem; }
.calendar-banner-list { display:grid; gap:var(--space-2); }
.calendar-live-banner { border:1px solid var(--border); border-left:4px solid var(--info); background:var(--panel-2); border-radius:var(--radius-lg); padding:var(--space-3); display:flex; flex-wrap:wrap; gap:var(--space-2); align-items:center; justify-content:space-between; }
.calendar-live-banner strong { color:var(--text); }
.calendar-live-banner span { color:var(--muted); }
.calendar-live-banner.danger { border-left-color:var(--danger); }
.calendar-live-banner.warning { border-left-color:var(--warning); }
.calendar-live-banner.success { border-left-color:var(--success); }
.calendar-live-banner.event { border-left-color:var(--accent); }
.calendar-form-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--space-3); }
.calendar-form-grid .calendar-wide { grid-column:1 / -1; }
.calendar-check-row { display:flex; flex-wrap:wrap; gap:var(--space-4); margin:var(--space-3) 0; }
.calendar-toolbar { display:flex; flex-direction:column; gap:var(--space-3); }
.calendar-layout .left-column { min-width:0; }
.calendar-list { display:grid; gap:var(--space-3); }
.compact-calendar-list .calendar-entry-card { box-shadow:none; }
.calendar-pagination { display:flex; justify-content:space-between; align-items:center; gap:var(--space-3); flex-wrap:wrap; margin-top:var(--space-3); padding-top:var(--space-3); border-top:1px solid var(--border); }
.calendar-page-buttons { display:flex; gap:var(--space-2); flex-wrap:wrap; align-items:center; }
.calendar-page-gap { color:var(--muted); padding:0 .25rem; }

.calendar-timeline-shell { overflow-x:auto; overflow-y:hidden; padding:var(--space-2) 0 var(--space-3); }
.calendar-visual-timeline { position:relative; display:flex; align-items:stretch; gap:var(--space-3); min-width:max-content; padding:var(--space-2) var(--space-2) var(--space-4); }
.calendar-visual-timeline::before { content:""; position:absolute; left:var(--space-3); right:var(--space-3); top:47px; height:2px; background:linear-gradient(90deg, transparent, var(--accent), transparent); opacity:.65; }
.calendar-timeline-node { position:relative; display:grid; grid-template-rows:auto 18px 1fr; gap:var(--space-2); width:190px; min-height:132px; border:1px solid var(--border); background:var(--panel-2); color:var(--text); text-align:left; border-radius:var(--radius-lg); padding:var(--space-3); cursor:pointer; }
.calendar-timeline-node:hover { border-color:var(--accent-border); transform:translateY(-2px); }
.calendar-node-date { color:var(--muted); font-weight:800; font-size:.8rem; letter-spacing:.03em; text-transform:uppercase; }
.calendar-node-dot { position:relative; z-index:1; width:16px; height:16px; border-radius:999px; border:2px solid var(--accent); background:var(--panel); box-shadow:0 0 0 5px color-mix(in srgb, var(--panel) 75%, transparent); }
.calendar-node-body { display:grid; gap:.15rem; min-width:0; align-content:start; }
.calendar-node-body strong { overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; font-family:var(--font-display); font-size:1.05rem; line-height:1.05; }
.calendar-node-body em { color:var(--muted); font-style:normal; font-size:.88rem; }
.calendar-timeline-node.calendar-type-chapter .calendar-node-dot { border-color:var(--accent); box-shadow:0 0 16px rgba(160,90,255,.35); }
.calendar-timeline-node.calendar-timing-active { border-color:var(--success-border); }
.calendar-timeline-node.calendar-timing-upcoming { border-style:dashed; }
.calendar-featured-chapter { margin-top:var(--space-3); border:1px solid var(--accent-border); background:var(--accent-bg); border-radius:var(--radius-lg); padding:var(--space-3); display:grid; gap:.3rem; }
.calendar-featured-chapter strong { color:var(--text); font-family:var(--font-display); font-size:1.25rem; }
.calendar-featured-chapter small { color:var(--muted); }

.calendar-entry-card { display:grid; grid-template-columns:1fr auto; gap:var(--space-3); border:1px solid var(--border); border-left:4px solid var(--info); background:var(--panel-2); border-radius:var(--radius-xl); padding:var(--space-4); box-shadow:var(--shadow-soft); }
.calendar-entry-card.danger { border-left-color:var(--danger); }
.calendar-entry-card.warning { border-left-color:var(--warning); }
.calendar-entry-card.success { border-left-color:var(--success); }
.calendar-entry-card.event { border-left-color:var(--accent); }
.calendar-entry-card h3 { margin:.35rem 0 .15rem; color:var(--text); font-family:var(--font-display); font-size:1.45rem; }
.calendar-entry-card p { margin:.6rem 0 0; color:var(--muted); }
.calendar-entry-topline { display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.calendar-date-row { color:var(--muted); font-weight:700; letter-spacing:.02em; }
.calendar-card-footer { margin-top:var(--space-3); display:flex; flex-wrap:wrap; gap:var(--space-3); color:var(--muted); font-size:.9rem; }
.calendar-card-footer a { color:var(--accent); font-weight:800; }
.calendar-entry-actions { display:flex; flex-direction:column; gap:var(--space-2); align-items:stretch; }
.calendar-mini-list { display:grid; gap:var(--space-2); margin-top:var(--space-3); }
.calendar-mini-item { display:flex; gap:var(--space-2); align-items:center; color:var(--text); }
.stat-list { display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:var(--space-2); }
.stat-list > div { border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--panel-2); padding:var(--space-2); }
.stat-list strong { display:block; font-size:1.35rem; color:var(--text); }
.stat-list span { color:var(--muted); font-size:.85rem; }
.pill.calendar-type-kill_switch, .pill.danger { border-color:var(--danger-border); color:var(--danger-text); background:var(--danger-bg); }
.pill.calendar-type-event, .pill.calendar-type-chapter, .pill.calendar-type-blood_hunt, .pill.calendar-type-limited_mode, .pill.calendar-type-community_challenge, .pill.calendar-type-login_reward { border-color:var(--accent-border); color:var(--accent-text); background:var(--accent-bg); }
.pill.calendar-type-modifier, .pill.calendar-type-ptb, .pill.calendar-type-maintenance, .pill.calendar-type-alert { border-color:var(--warning-border); color:var(--warning-text); background:var(--warning-bg); }
.pill.calendar-type-tournament, .pill.calendar-type-tome, .pill.calendar-type-patch { border-color:var(--info-border); color:var(--info-text); background:var(--info-bg); }
.pill.calendar-timing-active, .pill.success { border-color:var(--success-border); color:var(--success-text); background:var(--success-bg); }
.pill.calendar-timing-upcoming, .pill.warning { border-color:var(--warning-border); color:var(--warning-text); background:var(--warning-bg); }
.pill.calendar-timing-history { border-color:var(--border); color:var(--muted); background:var(--panel-3); }
@media (max-width: 900px){
  .calendar-form-grid { grid-template-columns:1fr; }
  .calendar-entry-card { grid-template-columns:1fr; }
  .calendar-timeline-node { width:170px; }
  .calendar-entry-actions { flex-direction:row; flex-wrap:wrap; }
}


/* Calendar page v2.2.0 visual pass */
.calendar-page{
  position:relative;
  overflow:hidden;
}
.calendar-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 8%, color-mix(in srgb, var(--danger, #b51f2e) 18%, transparent), transparent 28%),
    radial-gradient(circle at 86% 26%, color-mix(in srgb, var(--accent, #d5222b) 14%, transparent), transparent 30%),
    linear-gradient(180deg, transparent, rgba(0,0,0,.24));
  opacity:.7;
  z-index:-1;
}
.calendar-page > .card{
  position:relative;
  overflow:hidden;
}
.calendar-page > .card::after,
.calendar-layout .card::after{
  content:"";
  position:absolute;
  inset:auto -20% -55px -20%;
  height:95px;
  pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(180,180,180,.10), transparent 68%);
  opacity:.55;
}
.calendar-hero{
  border-color:color-mix(in srgb, var(--danger, #b51f2e) 42%, var(--border));
  background:
    linear-gradient(135deg, rgba(0,0,0,.15), color-mix(in srgb, var(--panel-2) 86%, var(--danger, #b51f2e) 14%)),
    var(--panel-2);
}
.calendar-hero .head h2::before{
  content:"☠ ";
  color:var(--danger, #b51f2e);
  text-shadow:0 0 14px color-mix(in srgb, var(--danger, #b51f2e) 70%, transparent);
}
.calendar-timeline-card{
  grid-column:1 / -1;
  border-color:color-mix(in srgb, var(--danger, #b51f2e) 48%, var(--border));
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 88%, #000 12%), color-mix(in srgb, var(--panel-2) 82%, var(--danger, #b51f2e) 18%));
  box-shadow:0 18px 52px rgba(0,0,0,.35), 0 0 34px color-mix(in srgb, var(--danger, #b51f2e) 16%, transparent);
}
.calendar-timeline-card .head{
  border-bottom:1px solid color-mix(in srgb, var(--danger, #b51f2e) 35%, var(--border));
}
.calendar-timeline-card .head h2{
  font-size:clamp(2rem, 4vw, 3.4rem);
  letter-spacing:.045em;
  text-transform:uppercase;
  text-shadow:0 0 22px color-mix(in srgb, var(--danger, #b51f2e) 35%, transparent);
}
.calendar-timeline-shell{
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  padding:22px 6px 28px;
  scrollbar-color:color-mix(in srgb, var(--danger, #b51f2e) 70%, var(--accent)) var(--panel-2);
}
.calendar-timeline-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 86px),
    radial-gradient(ellipse at 50% 100%, rgba(255,255,255,.10), transparent 60%);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.calendar-visual-timeline{
  position:relative;
  display:flex;
  align-items:stretch;
  gap:18px;
  min-width:max-content;
  padding:18px 18px 28px;
}
.calendar-visual-timeline::before{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:62px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(180,180,180,.38), var(--danger, #b51f2e), rgba(180,180,180,.38), transparent);
  box-shadow:0 0 22px color-mix(in srgb, var(--danger, #b51f2e) 56%, transparent);
  opacity:.9;
}
.calendar-timeline-node{
  appearance:none;
  position:relative;
  display:grid;
  grid-template-rows:auto 22px 1fr;
  gap:9px;
  width:230px;
  min-height:190px;
  border:0;
  background:transparent;
  color:var(--text);
  text-align:left;
  padding:0;
  cursor:pointer;
  isolation:isolate;
}
.calendar-timeline-node:hover{
  transform:translateY(-4px);
}
.calendar-node-year{
  justify-self:center;
  padding:4px 10px;
  border:1px solid color-mix(in srgb, var(--danger, #b51f2e) 32%, var(--border));
  border-radius:999px;
  background:rgba(0,0,0,.28);
  color:var(--muted);
  font-weight:900;
  font-size:.78rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.calendar-node-spine{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  z-index:2;
}
.calendar-node-dot{
  width:20px;
  height:20px;
  border-radius:999px;
  border:3px solid color-mix(in srgb, var(--danger, #b51f2e) 70%, #fff);
  background:#0b0f14;
  box-shadow:0 0 0 7px rgba(0,0,0,.5), 0 0 24px color-mix(in srgb, var(--danger, #b51f2e) 65%, transparent);
}
.calendar-node-card{
  position:relative;
  display:grid;
  align-content:start;
  gap:7px;
  min-height:118px;
  padding:14px;
  border:1px solid color-mix(in srgb, var(--border) 72%, var(--danger, #b51f2e) 28%);
  border-radius:18px;
  background:
    linear-gradient(155deg, rgba(255,255,255,.045), transparent 26%),
    linear-gradient(180deg, color-mix(in srgb, var(--panel-2) 86%, #000 14%), color-mix(in srgb, var(--panel) 76%, #000 24%));
  box-shadow:0 12px 28px rgba(0,0,0,.32);
  overflow:hidden;
}
.calendar-node-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg, transparent, var(--danger, #b51f2e), transparent);
  opacity:.9;
}
.calendar-node-kicker{
  width:max-content;
  max-width:100%;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid var(--border);
  color:var(--muted);
  background:rgba(0,0,0,.24);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.calendar-node-card strong{
  font-family:var(--font-display);
  font-size:1.28rem;
  line-height:1.02;
  letter-spacing:.015em;
  overflow:hidden;
  text-overflow:ellipsis;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}
.calendar-node-card em{
  color:var(--muted);
  font-style:normal;
  font-weight:700;
  font-size:.88rem;
}
.calendar-node-live{
  color:var(--success-text, #9dffbd);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-shadow:0 0 14px color-mix(in srgb, var(--success, #31d17a) 55%, transparent);
}
.calendar-timeline-node.calendar-type-chapter .calendar-node-card{
  border-color:color-mix(in srgb, var(--accent, #d5222b) 64%, var(--border));
  box-shadow:0 12px 32px rgba(0,0,0,.34), 0 0 26px color-mix(in srgb, var(--accent, #d5222b) 24%, transparent);
}
.calendar-timeline-node.calendar-type-chapter .calendar-node-dot{
  border-color:var(--accent, #d5222b);
  box-shadow:0 0 0 7px rgba(0,0,0,.5), 0 0 30px color-mix(in srgb, var(--accent, #d5222b) 72%, transparent);
}
.calendar-timeline-node.calendar-type-kill_switch .calendar-node-card,
.calendar-timeline-node.calendar-timing-active .calendar-node-card{
  border-color:color-mix(in srgb, var(--danger, #b51f2e) 72%, #fff);
}
.calendar-timeline-node.calendar-timing-upcoming .calendar-node-card{
  border-style:dashed;
}
.calendar-timeline-node:hover .calendar-node-card{
  border-color:color-mix(in srgb, var(--danger, #b51f2e) 70%, #fff);
  box-shadow:0 18px 38px rgba(0,0,0,.42), 0 0 32px color-mix(in srgb, var(--danger, #b51f2e) 30%, transparent);
}
.calendar-entries-card .head h2,
.calendar-layout .right-column .card .head h2{
  text-transform:uppercase;
  letter-spacing:.04em;
}
@media (max-width: 900px){
  .calendar-timeline-node{ width:205px; min-height:178px; }
  .calendar-timeline-card .head h2{ font-size:2rem; }
}

/* Live Ops / Calendar integration */
.live-ops-banner-wrap{
  display:grid;
  gap:10px;
  margin:0 0 16px;
}
.live-ops-banner{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:12px 14px;
  border:1px solid var(--border-strong, var(--border));
  border-radius:var(--radius-lg, 18px);
  background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 92%, var(--accent) 8%), var(--panel-2, var(--panel)));
  color:var(--text);
  text-decoration:none;
  box-shadow:var(--shadow-soft, none);
}
.live-ops-banner:hover{
  border-color:var(--accent);
  transform:translateY(-1px);
}
.live-ops-banner.danger,
.live-ops-banner.warning{
  background:linear-gradient(135deg, color-mix(in srgb, var(--panel) 88%, var(--danger) 12%), var(--panel-2, var(--panel)));
}
.operational-warning-box{
  margin:12px 0;
  padding:12px 14px;
  border:1px solid var(--danger-border, var(--danger));
  border-radius:var(--radius-md, 14px);
  background:color-mix(in srgb, var(--panel) 84%, var(--danger) 16%);
}
.operational-warning-title{
  font-weight:800;
  color:var(--danger-text, var(--danger));
  margin-bottom:4px;
}
.operational-warning-box ul{
  margin:8px 0 0 18px;
  padding:0;
}
.calendar-context-badges{
  align-items:center;
}

/* ── Streamer Tools ───────────────────────────────────────────── */
.stream-tools-page,.stream-tool-page{padding-bottom:40px}.stream-hero .body{padding-top:8px}.stream-tool-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.stream-tool-card{display:flex;flex-direction:column;gap:8px;min-height:170px;padding:18px;border:1px solid var(--border);background:linear-gradient(135deg,var(--panel2),var(--panel));border-radius:var(--radius-md);color:var(--text);text-decoration:none;box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.stream-tool-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-pop)}.stream-tool-card strong{font-family:var(--font-heading);font-size:28px;text-transform:uppercase;letter-spacing:.04em}.stream-tool-card span:last-child{color:var(--muted);font-style:italic}.stream-tool-icon{font-size:34px}.stream-toolbar{display:grid;grid-template-columns:minmax(180px,240px) minmax(120px,160px) 1fr;gap:12px;align-items:end}.randomizer-stage{min-height:260px;margin:18px 0;padding:26px;border:1px solid var(--border);background:radial-gradient(circle at center,rgba(155,28,28,.18),rgba(0,0,0,.12) 48%,rgba(0,0,0,.28));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.randomizer-reel{font-family:var(--font-heading);font-size:clamp(34px,7vw,88px);font-weight:900;text-transform:uppercase;letter-spacing:.04em;text-shadow:0 0 20px rgba(155,28,28,.75)}.randomizer-reel.spinning{animation:streamPulse .18s infinite alternate}.randomizer-results{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}.randomizer-pick{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-text);padding:8px 12px;border-radius:var(--radius-pill);font-weight:700}@keyframes streamPulse{from{transform:scale(.98);opacity:.78}to{transform:scale(1.03);opacity:1}}.counter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px}.counter-card{position:relative;text-align:center;padding:18px;border:1px solid var(--border);background:var(--panel2);border-radius:var(--radius-md);box-shadow:var(--shadow)}.counter-name{font-family:var(--font-heading);font-size:22px;text-transform:uppercase;color:var(--muted)}.counter-value{font-family:var(--font-heading);font-size:72px;line-height:1;font-weight:900;margin:12px 0}.counter-buttons{justify-content:center}.counter-remove{position:absolute;right:8px;top:8px;padding:2px 8px}.stream-counter-actions{margin-bottom:10px}.stream-counter-actions input{max-width:320px}.bingo-board{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;margin-top:16px}.bingo-cell{min-height:105px;padding:10px;white-space:normal;line-height:1.2;font-family:var(--font-heading);font-size:18px;text-transform:uppercase}.bingo-cell.marked{background:var(--good-bg);border-color:var(--good-border);color:var(--good-text);box-shadow:0 0 18px rgba(46,204,113,.18)}.tier-list-board{display:flex;flex-direction:column;gap:8px;margin-top:16px}.tier-row{display:grid;grid-template-columns:70px 1fr;min-height:78px;border:1px solid var(--border);background:var(--panel2)}.tier-label{display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:34px;font-weight:900;background:var(--accent);color:var(--accent-text)}.tier-drop,.tier-bank{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;min-height:78px}.tier-bank{border:1px dashed var(--border);background:var(--panel);margin-top:10px}.tier-item{cursor:grab;user-select:none;border:1px solid var(--border);background:var(--panel3);padding:9px 12px;border-radius:var(--radius-sm);font-weight:700}.tier-item:active{cursor:grabbing}@media(max-width:760px){.stream-toolbar{grid-template-columns:1fr}.bingo-board{grid-template-columns:repeat(2,1fr)}.bingo-cell{min-height:82px}.tier-row{grid-template-columns:52px 1fr}.tier-label{font-size:26px}}

/* Streamer tools v1.6 polish */
.stream-editor{
  margin-top:16px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:var(--panel2);
}
.stream-editor summary{
  cursor:pointer;
  font-family:var(--font-heading);
  font-size:20px;
  font-weight:800;
  text-transform:uppercase;
}
.stream-editor textarea{min-height:150px;}
.randomizer-results{align-items:stretch;}
.randomizer-pick-card{
  width:170px;
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border:1px solid var(--accent-border);
  border-radius:var(--radius-md);
  background:linear-gradient(180deg,var(--panel3),var(--panel2));
  box-shadow:var(--shadow);
}
.randomizer-pick-card img,
.stream-image-placeholder{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
  background:var(--panel);
}
.stream-image-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-heading);
  font-size:64px;
  font-weight:900;
  color:var(--muted);
}
.randomizer-pick-card strong{
  font-family:var(--font-heading);
  font-size:22px;
  line-height:1;
  text-transform:uppercase;
}
.bingo-board{
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.bingo-letters{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
.bingo-letters span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  border:1px solid var(--accent-border);
  border-radius:var(--radius-sm);
  background:var(--accent-bg);
  color:var(--accent-text);
  font-family:var(--font-heading);
  font-size:42px;
  font-weight:900;
}
.bingo-cell{
  position:relative;
  aspect-ratio:1/1;
  min-height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.bingo-cell span{position:relative;z-index:1;}
.bingo-cell.marked{
  background:var(--panel3);
  border-color:var(--accent);
  color:var(--text);
  box-shadow:0 0 20px rgba(155,28,28,.25);
}
.bingo-marker{
  position:absolute;
  inset:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:4px solid var(--accent);
  border-radius:50%;
  transform:rotate(-12deg) scale(.9);
  opacity:0;
  color:var(--accent);
  font-size:58px;
  font-style:normal;
  line-height:1;
  z-index:2;
  pointer-events:none;
  text-shadow:0 0 18px rgba(155,28,28,.5);
}
.bingo-cell.marked .bingo-marker{opacity:.88;}
.tier-row{grid-template-columns:76px 1fr;}
.tier-drop,.tier-bank{align-items:flex-start;}
.tier-item{
  width:92px;
  min-height:120px;
  padding:6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  text-align:center;
}
.tier-item img,
.tier-item-fallback{
  width:78px;
  height:78px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid var(--border);
  background:var(--panel);
}
.tier-item-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--font-heading);
  font-size:34px;
  font-weight:900;
  color:var(--muted);
}
.tier-item span:last-child{
  font-size:12px;
  line-height:1.05;
}
@media(max-width:760px){
  .bingo-board{grid-template-columns:repeat(5,1fr);gap:4px;}
  .bingo-letters{gap:4px;}
  .bingo-letters span{font-size:28px;min-height:42px;}
  .bingo-cell{font-size:12px;padding:5px;}
  .bingo-marker{inset:5px;font-size:34px;border-width:3px;}
}

/* Streamer tools v1.7 image randomizer + full tier refresh */
.randomizer-reel-image{
  width:min(360px,82vw);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  margin:0 auto;
}
.randomizer-reel-image img,
.randomizer-reel-image .stream-image-placeholder{
  width:min(300px,72vw);
  aspect-ratio:1/1;
  object-fit:cover;
  border:1px solid var(--accent-border);
  border-radius:var(--radius-md);
  box-shadow:0 0 34px rgba(155,28,28,.35);
  background:var(--panel);
}
.randomizer-reel-image strong{
  display:block;
  font-family:var(--font-heading);
  font-size:clamp(28px,5vw,52px);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.tier-bank:before{
  content:'Unranked';
  flex-basis:100%;
  font-family:var(--font-heading);
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.tier-item img{display:block;}

/* Streamer tools v1.7e randomizer polish */
.randomizer-reel.final .randomizer-reel-image{
  width:min(396px,90vw);
}
.randomizer-reel.final .randomizer-reel-image img,
.randomizer-reel.final .randomizer-reel-image .stream-image-placeholder{
  width:min(330px,80vw);
}
.randomizer-reel.final .randomizer-reel-image strong{
  font-size:clamp(31px,5.5vw,57px);
}

/* Streamer tools v1.7f tier list save/share */
.tier-toolbar{grid-template-columns:minmax(180px,240px) 1fr auto;}
.tier-save-panel{
  margin-top:14px;
  padding:12px;
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:var(--radius-sm);
}
.tier-save-panel .field{max-width:420px;}
.checkline{display:flex;align-items:center;gap:8px;color:var(--muted);font-family:var(--font-body);text-transform:none;letter-spacing:0;}
#savedTierLists{max-width:280px;}
@media(max-width:900px){.tier-toolbar{grid-template-columns:1fr}.tier-save-panel .field{max-width:none}}


.counter-save-panel{margin:10px 0 14px;padding:12px;border:1px solid var(--border);background:var(--panel2);border-radius:var(--radius-md)}
.counter-save-panel .actions{gap:8px;align-items:center}
.counter-save-panel input{max-width:300px}
.counter-save-panel select{max-width:340px}
.small{font-size:.9rem}

/* Feedback board */
.feedback-float-btn{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 80;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  padding: 12px 16px;
  border-radius: 999px;
  border: 1px solid rgba(184,108,255,.50);
  background:
    radial-gradient(circle at 20% 0, rgba(184,108,255,.34), transparent 70%),
    linear-gradient(135deg, rgba(67,30,115,.94), rgba(13,16,30,.96));
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  box-shadow: 0 12px 32px rgba(0,0,0,.45), 0 0 22px rgba(184,108,255,.18);
}
.feedback-float-btn:hover{ transform: translateY(-1px); border-color:rgba(184,108,255,.82); filter: brightness(1.08); box-shadow:0 14px 36px rgba(0,0,0,.50),0 0 30px rgba(184,108,255,.28); }
.feedback-page .hidden{ display:none !important; }
.feedback-hero-actions{ display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.buttonish{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid var(--border, rgba(255,255,255,.18));
  color:var(--text, #fff);
  text-decoration:none;
  background:rgba(255,255,255,.06);
  font-weight:700;
}
.feedback-form-grid,
.feedback-filters,
.feedback-admin-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap:14px;
}
.feedback-filters{ grid-template-columns: minmax(220px,2fr) repeat(3, minmax(160px,1fr)); margin-bottom:14px; }
.feedback-wide{ grid-column:1 / -1; }
.feedback-submit-actions{ margin-top:14px; }
.feedback-status{ margin:10px 0 14px; }
.feedback-list{ display:flex; flex-direction:column; gap:12px; }
.feedback-item{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:14px;
  padding:14px;
  border:1px solid var(--border, rgba(255,255,255,.14));
  border-radius:16px;
  background:rgba(255,255,255,.045);
}
.feedback-vote-box,
.feedback-detail-vote{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  border-radius:14px;
  background:rgba(0,0,0,.18);
  min-height:96px;
}
.feedback-vote-box strong,
.feedback-detail-vote strong{ font-size:1.35rem; line-height:1; }
.vote-arrow{
  width:34px;
  height:28px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
  color:var(--text, #fff);
  cursor:pointer;
  font-weight:900;
}
.vote-arrow.active{ background:rgba(169,32,44,.9); color:#fff; border-color:rgba(255,255,255,.32); }
.feedback-title-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.linklike.feedback-title-btn{
  border:0;
  background:transparent;
  color:var(--text, #fff);
  padding:0;
  cursor:pointer;
  font:inherit;
  font-weight:900;
  font-size:1.12rem;
  text-align:left;
}
.linklike.feedback-title-btn:hover{ text-decoration:underline; }
.feedback-excerpt{ margin:8px 0; color:var(--muted, rgba(255,255,255,.72)); }
.feedback-meta{ display:flex; gap:10px; flex-wrap:wrap; font-size:.9rem; color:var(--muted, rgba(255,255,255,.66)); }
.feedback-duplicate{ color:#ffce73; }
.feedback-admin-mini{ display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; align-items:center; }
.feedback-admin-mini select{ max-width:190px; }
.feedback-detail-card{ margin-top:18px; }
.feedback-detail-badges{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.feedback-detail-description{
  padding:14px;
  border-radius:14px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
  line-height:1.55;
}
.feedback-admin-note{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(95,164,255,.35);
  background:rgba(95,164,255,.10);
  margin:12px 0;
}
.feedback-detail-vote{ float:right; width:72px; margin:0 0 12px 14px; }
.feedback-admin-panel{
  margin-top:18px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(95,164,255,.26);
  background:rgba(95,164,255,.07);
}
.feedback-comments-wrap{ margin-top:20px; }
.feedback-comments{ display:flex; flex-direction:column; gap:10px; margin-bottom:14px; }
.feedback-comment{
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}
.feedback-comment.admin-comment{ border-color:rgba(95,164,255,.32); background:rgba(95,164,255,.08); }
.feedback-comment-meta{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; color:var(--muted, rgba(255,255,255,.7)); margin-bottom:6px; }
.badge.severity-critical{ background:rgba(255,56,72,.22); border-color:rgba(255,56,72,.45); color:#ffd6da; }
.badge.severity-high{ background:rgba(255,132,46,.20); border-color:rgba(255,132,46,.42); color:#ffe0c8; }
.badge.severity-medium{ background:rgba(255,206,115,.16); border-color:rgba(255,206,115,.35); color:#ffdfa4; }
.badge.severity-low{ background:rgba(255,255,255,.08); }
@media (max-width: 760px){
  .feedback-filters,
  .feedback-form-grid,
  .feedback-admin-grid{ grid-template-columns:1fr; }
  .feedback-item{ grid-template-columns:1fr; }
  .feedback-vote-box{ flex-direction:row; min-height:auto; justify-content:flex-start; width:max-content; padding:8px; }
  .feedback-detail-vote{ float:none; flex-direction:row; width:max-content; min-height:auto; padding:8px; }
  .feedback-float-btn{ right:12px; bottom:12px; }
}

/* Bingo session system */
.bingo-session-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
  margin-bottom:18px;
}
.bingo-session-grid .mini-card,
.bingo-active-session{
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:var(--radius-md);
  padding:16px;
  box-shadow:var(--shadow);
}
.bingo-session-grid h3,
.bingo-active-session h3{
  margin:0 0 12px;
  font-family:var(--font-heading);
  font-size:26px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.check-row{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  margin:8px 0 12px;
}
.bingo-session-header{
  display:grid;
  grid-template-columns:1fr minmax(260px,420px);
  gap:14px;
  align-items:start;
  margin-bottom:12px;
}
.bingo-share-box{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:end;
}
.bingo-share-box label{grid-column:1 / -1;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.05em;}
.bingo-host-controls{
  border:1px solid var(--accent-border);
  background:var(--accent-bg);
  border-radius:var(--radius-sm);
  padding:10px;
  margin-bottom:12px;
}
@media(max-width:760px){
  .bingo-session-header{grid-template-columns:1fr;}
  .bingo-share-box{grid-template-columns:1fr;}
}

/* ── Bingo category/session builder ───────────────────────────── */
.bingo-column-config{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px;margin:12px 0}
.bingo-letter-select{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--border);background:var(--surface-soft);border-radius:var(--radius-sm)}
.bingo-letter-select strong{font-family:var(--font-heading);font-size:26px;color:var(--accent-text);line-height:1;text-align:center}
.bingo-letter-select select{width:100%;min-width:0}
.bingo-host-controls{display:grid;grid-template-columns:1.2fr .8fr;gap:12px;margin:12px 0}
.bingo-host-controls.hidden{display:none}
.bingo-admin-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);gap:16px}
.bingo-admin-wide{grid-column:1 / -1}
.bingo-large-textarea{min-height:360px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.45}
.bingo-admin-list{display:flex;flex-direction:column;gap:8px;max-height:760px;overflow:auto;padding-right:4px}
.bingo-admin-category{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);background:var(--surface-soft);border-radius:var(--radius-sm)}
.bingo-admin-category.inactive{opacity:.55}
@media (max-width:900px){.bingo-column-config{grid-template-columns:1fr}.bingo-host-controls,.bingo-admin-grid{grid-template-columns:1fr}}

/* Bingo session verification/free-space polish */
.bingo-share-stack{display:flex;flex-direction:column;gap:10px;min-width:0;}
.bingo-board.read-only .bingo-cell{cursor:default;opacity:.96;}
.bingo-board.read-only .bingo-cell:not(.marked):hover{transform:none;box-shadow:none;}

/* Linked login account controls */
.linked-account-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-top:1px solid var(--border);
}
.linked-account-row:first-of-type{ border-top:0; }
.twitch-connect{ background:#9146ff; border-color:#9146ff; color:#fff; }

/* Header mini profile */
.mini-profile{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:150px;
  max-width:240px;
  padding:6px 10px 6px 6px;
  border:1px solid var(--border);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:var(--text);
  text-decoration:none;
}
.mini-profile:hover{ border-color:var(--accent); background:rgba(255,255,255,.08); }
.mini-profile-avatar{
  width:68px;
  height:68px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
  background:transparent;
  border:0;
  font-weight:800;
  font-size:.8rem;
}
.mini-profile-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.mini-profile-meta{ min-width:0; display:flex; flex-direction:column; line-height:1.05; }
.mini-profile-meta strong{ max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.88rem; }
.mini-profile-meta small{ max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:.68rem; margin-top:3px; }
.live-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:#e91916; margin-right:5px; box-shadow:0 0 8px rgba(233,25,22,.85); }
@media (max-width: 760px){
  .mini-profile{ min-width:0; padding-right:6px; }
  .mini-profile-meta{ display:none; }
}

/* Public profile directory */
.profile-directory-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(310px,1fr));
  gap:14px;
}
.profile-directory-card{
  border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  border-radius:var(--radius);
  padding:14px;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:12px;
  align-items:start;
}
.profile-directory-card.is-live{ border-color:rgba(255,80,80,.6); box-shadow:0 0 0 1px rgba(255,80,80,.12), 0 14px 34px rgba(0,0,0,.24); }
.profile-directory-avatar{
  width:64px;
  height:64px;
  border-radius:16px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--panel2);
  border:1px solid var(--border);
  font-family:'Barlow Condensed',sans-serif;
  font-size:24px;
  font-weight:900;
}
.profile-directory-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.profile-directory-main{ min-width:0; }
.profile-directory-head{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.profile-directory-head h3{ margin:0; font-size:1.25rem; }
.profile-directory-bio{ margin:10px 0; color:var(--text); }
.profile-directory-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
@media (max-width:640px){
  .profile-directory-card{ grid-template-columns:1fr; }
  .profile-directory-avatar{ width:72px; height:72px; }
}

/* Phase 5 profile polish */
.profile-badge-rack{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;align-items:center}
.profile-badge-rack.centered{justify-content:center}
.profile-badge{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700;letter-spacing:.01em;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.profile-badge.mini{font-size:.72rem;padding:4px 8px}
.profile-badge.good{border-color:rgba(78,220,140,.35);background:rgba(78,220,140,.12)}
.profile-badge.warn{border-color:rgba(245,190,80,.35);background:rgba(245,190,80,.12)}
.profile-badge.red{border-color:rgba(255,85,110,.35);background:rgba(255,85,110,.12)}
.profile-badge.blue{border-color:rgba(90,160,255,.35);background:rgba(90,160,255,.12)}
.profile-badge.live{border-color:rgba(255,60,90,.45);background:rgba(255,60,90,.16)}
.profile-summary-line{font-size:.9rem;line-height:1.35;margin:8px auto 10px;max-width:260px;text-align:center;color:var(--muted)}
.profile-highlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;width:100%}
.profile-highlight-card{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:9px;background:rgba(0,0,0,.16);text-align:center}
.profile-highlight-card .label{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.profile-highlight-card .num{font-size:1.15rem;font-weight:800;margin-top:2px}
.profile-directory-summaryline{font-size:.83rem;color:var(--muted);margin:4px 0 8px}

/* Profile follows / favorites */
.profile-directory-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.profile-follow-toggle,
#profileFollowBtn{
  border:1px solid var(--color-border-strong);
  background:var(--color-accent-soft);
  color:var(--color-accent-text);
  border-radius:999px;
  padding:7px 12px;
  font-weight:700;
  cursor:pointer;
}
.profile-follow-toggle[data-following="1"],
#profileFollowBtn[data-following="1"]{
  border-color:var(--color-success-border);
  background:var(--color-success-bg);
  color:var(--color-success-text);
}
.profile-follow-toggle:disabled,
#profileFollowBtn:disabled{
  opacity:.65;
  cursor:wait;
}
.profile-directory-card.is-following{
  box-shadow:0 0 0 1px var(--color-success-border), var(--shadow-card);
}
.profile-follower-count,
#profileFollowerCount{
  display:inline-flex;
  align-items:center;
  min-height:28px;
}

/* Following feed */
.following-hero {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
}
.following-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1rem;
}
.following-wide { grid-column: 1 / -1; }
.following-profile-list,
.activity-list {
  display: grid;
  gap: .75rem;
}
.following-profile-card,
.activity-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: .85rem;
  padding: .85rem;
  border: 1px solid var(--border, rgba(255,255,255,.12));
  border-radius: 16px;
  background: rgba(255,255,255,.035);
}
.following-profile-card.is-live {
  border-color: rgba(239, 68, 68, .6);
  box-shadow: 0 0 0 1px rgba(239, 68, 68, .15), 0 0 24px rgba(239, 68, 68, .08);
}
.mini-avatar {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.08);
  font-weight: 800;
}
.mini-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.following-profile-main,
.activity-main {
  min-width: 0;
  display: grid;
  gap: .35rem;
}
.following-profile-head,
.activity-head,
.section-title-row {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: center;
}
.activity-head span { white-space: nowrap; }
.button-like.compact {
  padding: .35rem .6rem;
  font-size: .85rem;
}
.build-feed-list {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
@media (max-width: 850px){
  .following-hero,
  .following-profile-head,
  .activity-head,
  .section-title-row { align-items: flex-start; flex-direction: column; }
  .following-grid { grid-template-columns: 1fr; }
  .following-wide { grid-column: auto; }
}

/* Phase 8: profile sharing + OBS/browser-source widgets */
.profile-share-panel{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:rgba(0,0,0,.18);
  width:100%;
}
.profile-share-panel h4{margin:0 0 8px 0;}
.profile-build-share{margin-top:10px;display:flex;justify-content:flex-end;}
.profile-build-share button,.profile-share-panel button{font-size:.82rem;padding:7px 10px;}
.shared-build-highlight{
  outline:2px solid var(--accent);
  box-shadow:0 0 0 5px rgba(255,255,255,.08), 0 0 28px rgba(255,255,255,.14);
}
.widget-body{
  margin:0;
  min-height:100vh;
  background:transparent !important;
  overflow:hidden;
  font-family:'Barlow', system-ui, sans-serif;
}
.profile-widget-root{
  width:100vw;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  box-sizing:border-box;
}
.profile-widget-card{
  width:min(720px, calc(100vw - 28px));
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(12,14,20,.94), rgba(31,9,15,.91));
  color:var(--text);
  box-shadow:0 18px 55px rgba(0,0,0,.45);
  padding:18px;
  box-sizing:border-box;
}
.profile-widget-card.is-live{border-color:rgba(255,66,88,.65);box-shadow:0 0 36px rgba(255,38,68,.22), 0 18px 55px rgba(0,0,0,.45);}
.profile-widget-card.loading,.profile-widget-card.error{text-align:center;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.profile-widget-top{display:flex;align-items:center;gap:14px;}
.profile-widget-avatar{width:76px;height:76px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:900;overflow:hidden;flex:0 0 auto;}
.profile-widget-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.profile-widget-title{min-width:0;}
.profile-widget-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;}
.profile-widget-title h1{font-family:'Barlow Condensed',sans-serif;font-size:2.05rem;line-height:.95;margin:3px 0 4px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.profile-widget-status{display:flex;align-items:center;gap:6px;font-size:.95rem;color:var(--muted);font-weight:700;}
.profile-widget-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0;}
.profile-widget-stats div{border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(0,0,0,.22);padding:9px;text-align:center;}
.profile-widget-stats strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:1.55rem;line-height:1;}
.profile-widget-stats span{display:block;margin-top:3px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.profile-widget-line{display:flex;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.09);padding:9px 0;font-weight:700;}
.profile-widget-line span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;flex:0 0 auto;}
.profile-widget-footer{border-top:1px solid rgba(255,255,255,.09);padding-top:10px;margin-top:2px;text-align:right;color:var(--accent);font-weight:800;}
.compact-widget .profile-widget-card{width:min(420px, calc(100vw - 24px));padding:13px;border-radius:18px;}
.compact-widget .profile-widget-avatar{width:52px;height:52px;border-radius:13px;font-size:1.1rem;}
.compact-widget .profile-widget-title h1{font-size:1.45rem;}
.compact-widget .profile-widget-kicker,.compact-widget .profile-widget-line:nth-of-type(2),.compact-widget .profile-widget-footer{display:none;}
.compact-widget .profile-widget-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0;}
.compact-widget .profile-widget-stats div:nth-child(n+3){display:none;}
@media (max-width:640px){
  .profile-widget-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .profile-widget-title h1{font-size:1.55rem;}
  .profile-widget-line{align-items:flex-start;flex-direction:column;gap:3px;}
}

/* Profile cleanup: branded social buttons and expanded badge colors */
.social-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-weight:900;
  letter-spacing:.01em;
  border-width:1px;
  box-shadow:0 10px 24px rgba(0,0,0,.22);
}
.social-button:hover{ transform:translateY(-1px); filter:brightness(1.08); }
.twitch-button{
  background:#9146ff !important;
  border-color:#b892ff !important;
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.22);
}
.twitch-button::before{ content:'◧'; font-size:.95em; }
.youtube-button{
  background:#ff0033 !important;
  border-color:#ff6b83 !important;
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.25);
}
.youtube-button::before{ content:'▶'; font-size:.82em; }
.profile-badge.twitch{border-color:rgba(145,70,255,.58);background:rgba(145,70,255,.18);color:#efe4ff;}
.profile-badge.youtube{border-color:rgba(255,0,51,.55);background:rgba(255,0,51,.16);color:#ffe1e6;}

/* Phase 7: BHVR-aware admin/list management */
.admin-source-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border-radius:999px;
  padding:2px 7px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  border:1px solid var(--border);
  white-space:nowrap;
}
.admin-source-badge.official{
  color:var(--accent);
  background:rgba(90,170,255,.10);
  border-color:rgba(90,170,255,.35);
}
.admin-source-badge.manual{
  color:var(--muted);
  background:rgba(255,255,255,.04);
}
.admin-list-mainline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.official-meta-line code,
.bhvr-catalog-row code{
  font-size:11px;
  color:var(--text);
}
.admin-list-viewer-row.official-row{
  border-left:3px solid rgba(90,170,255,.55);
}
.bhvr-catalog-rows{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:520px;
  overflow:auto;
}
.bhvr-catalog-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(255,255,255,.03);
}
.bhvr-catalog-counts{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  text-align:right;
}

/* BHVR-style match history display */
.bhvr-match-row{
  padding:0;
  overflow:hidden;
  display:grid;
  grid-template-columns:128px minmax(0,1fr);
  background:linear-gradient(135deg,rgba(21,31,39,.94),rgba(10,13,16,.98));
  border-color:rgba(255,255,255,.10);
  box-shadow:0 18px 45px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.035);
}
.bhvr-match-row:hover{border-color:rgba(193,42,42,.72);box-shadow:0 20px 54px rgba(0,0,0,.46),0 0 0 1px rgba(193,42,42,.18)}
.bhvr-match-row.expanded{grid-template-columns:1fr}
.bhvr-row-status{
  min-height:128px;
  padding:18px 12px;
  border-right:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(0,0,0,.14),rgba(0,0,0,.36));
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  text-transform:uppercase;
  font-family:var(--font-heading);
  letter-spacing:.05em;
}
.bhvr-row-status span{font-weight:800;font-size:18px;color:var(--muted)}
.bhvr-row-status strong{font-size:24px;color:var(--text);line-height:1}
.bhvr-row-status small{font-family:var(--font-body);font-size:13px;text-transform:none;letter-spacing:0;color:var(--muted)}
.bhvr-row-status.good span{color:#55d05b}.bhvr-row-status.bad span{color:#ff4b4b}.bhvr-row-status.warn span{color:#f5bd52}.bhvr-row-status.blue span{color:#76b7ff}
.bhvr-row-main{
  display:grid;
  grid-template-columns:minmax(260px,1.15fr) minmax(240px,.95fr) minmax(190px,.55fr) 28px;
  align-items:center;
  gap:18px;
  padding:14px 14px;
  min-width:0;
}
.bhvr-player-core{display:flex;align-items:center;gap:14px;min-width:0}
.bhvr-player-copy{min-width:0}.bhvr-player-title{font-weight:800;font-size:21px;color:#f2f5f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bhvr-score-label,.bhvr-detail-label{font-family:var(--font-heading);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#8d9aa5;margin-top:3px}
.bhvr-score-value{font-size:20px;font-weight:700;color:#f4f6f8;margin-bottom:7px}.bhvr-detail-score{font-size:32px;font-weight:800;color:#fff;line-height:1;margin:3px 0 10px}
.bhvr-portrait{width:86px;height:106px;border:1px solid rgba(255,255,255,.14);border-radius:4px;background:linear-gradient(145deg,#14212b,#080b0f);display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 20px rgba(0,0,0,.38)}
.bhvr-portrait img{width:100%;height:100%;object-fit:cover;display:block}.bhvr-portrait span{font-family:var(--font-heading);font-weight:900;font-size:26px;color:#c9d4dc}.bhvr-portrait.killer{box-shadow:0 0 0 1px rgba(155,20,35,.35),0 8px 20px rgba(0,0,0,.42)}.bhvr-portrait.large{width:128px;height:128px}.bhvr-portrait.tiny{width:50px;height:50px;flex:0 0 50px}.bhvr-portrait.tiny span{font-size:16px}
.bhvr-icon-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.bhvr-loadout-icon{width:62px;height:62px;display:grid;place-items:center;background:rgba(0,0,0,.36);border:1px solid rgba(255,255,255,.12);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.28)}.bhvr-loadout-icon img{width:100%;height:100%;object-fit:contain;display:block}.bhvr-loadout-icon span{font-size:13px;font-weight:900;color:#dce4ea;clip-path:none;text-align:center;line-height:1}.bhvr-loadout-icon.empty{opacity:.35;background:rgba(0,0,0,.26)}.bhvr-loadout-icon.item,.bhvr-loadout-icon.addon{clip-path:none;border-radius:5px;width:60px;height:60px}.bhvr-loadout-icon.offering{width:64px;height:64px;border-radius:0;clip-path:polygon(50% 0,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0 50%,15% 15%)}.bhvr-plus{font-size:26px;color:#d8dde2;font-weight:800;margin:0 2px}.bhvr-item-strip{gap:10px}
.bhvr-lobby-preview{display:flex;gap:9px;align-items:flex-end;min-width:0;overflow:hidden}.bhvr-lobby-mini{width:62px;padding:5px;background:rgba(6,12,17,.72);border:1px solid rgba(255,255,255,.08);border-radius:4px;text-align:center;flex:0 0 auto}.bhvr-lobby-mini .bhvr-portrait{width:52px;height:52px}.bhvr-lobby-mini .bhvr-portrait span{font-size:14px}.bhvr-lobby-mini.killer{background:rgba(93,0,22,.55);border-color:rgba(255,50,84,.22)}.bhvr-mini-score{font-size:13px;font-weight:700;color:#f2f4f5;margin-top:4px}.bhvr-mini-status{display:none}
.bhvr-map-summary{border-left:1px solid rgba(255,255,255,.12);padding-left:18px;min-width:0}.bhvr-map-art{height:112px;border-radius:3px;background:linear-gradient(145deg,#102026,#07090b);border:1px solid rgba(255,255,255,.08);overflow:hidden;display:grid;place-items:center;min-width:180px}.bhvr-map-art img{width:100%;height:100%;object-fit:contain;display:block;background:rgba(0,0,0,.32)}.bhvr-map-art span{padding:8px;text-align:center;color:var(--muted);font-weight:700}.bhvr-map-name{font-weight:700;color:#f0f2f4;margin-top:8px;line-height:1.1}.bhvr-map-name.large{font-size:20px;margin-top:12px}.bhvr-row-chevron{font-size:32px;color:#cad1d6;opacity:.82;text-align:center}.bhvr-row-badges,.bhvr-row-actions{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 10px 14px}.bhvr-row-actions{padding-bottom:12px}.bhvr-row-badges:empty,.bhvr-row-actions:empty{display:none}
.bhvr-details{border-top:1px solid rgba(255,255,255,.10);padding:14px;background:#090b0d}.bhvr-details-hero{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(27,44,56,.8),rgba(11,14,17,.95));border-radius:4px;margin-bottom:12px}.bhvr-details-hero-copy h3{margin:0 0 4px;font-size:23px;text-transform:none;font-family:var(--font-body);letter-spacing:0}.bhvr-detail-date{font-size:13px;color:#a5afb8;margin-bottom:6px}
.bhvr-details-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.bhvr-detail-card{padding:12px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.06);border-radius:4px;min-height:86px}.bhvr-detail-card strong{font-size:22px}.bhvr-detail-card.players{grid-row:span 2}.bhvr-detail-card.map{grid-row:span 2}.bhvr-detail-card.map .bhvr-map-art{height:220px;min-width:100%}.bhvr-detail-card.notes,.bhvr-detail-card.review{grid-column:span 1}.bhvr-player-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.bhvr-player-list-row{display:grid;grid-template-columns:50px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:7px;border-radius:4px;background:rgba(8,27,38,.68);border:1px solid rgba(255,255,255,.06)}.bhvr-player-list-row.killer{background:rgba(95,0,25,.72);border-color:rgba(255,40,80,.18)}.bhvr-player-list-row.self{box-shadow:inset 3px 0 0 rgba(255,255,255,.28)}.bhvr-player-list-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bhvr-player-list-score{font-weight:800;color:#fff}.bhvr-player-list-status{font-family:var(--font-heading);font-size:14px;color:#9ca8b2;text-transform:uppercase}.bhvr-player-list-status.good{color:#66d66e}.bhvr-player-list-status.bad{color:#ff6868}.bhvr-player-list-status.warn{color:#f5c05d}
@media (max-width:1100px){.bhvr-match-row{grid-template-columns:1fr}.bhvr-row-status{min-height:0;border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:10px 14px;display:grid;grid-template-columns:auto auto 1fr;align-items:end}.bhvr-row-main{grid-template-columns:1fr;gap:14px}.bhvr-map-summary{border-left:0;padding-left:0}.bhvr-details-grid{grid-template-columns:1fr 1fr}.bhvr-detail-card.map,.bhvr-detail-card.players{grid-row:auto}}
@media (max-width:720px){.bhvr-details-grid{grid-template-columns:1fr}.bhvr-lobby-preview{overflow:auto}.bhvr-player-list-row{grid-template-columns:50px 1fr;gap:8px}.bhvr-player-list-score,.bhvr-player-list-status,.bhvr-player-list-row .bhvr-row-chevron,.bhvr-player-list-row button{grid-column:2}.bhvr-details-hero{align-items:flex-start}.bhvr-portrait.large{width:86px;height:86px}.bhvr-player-title{font-size:19px}}

/* Phase 15: taller history workspace + full BHVR player detail blocks */
body.history-page .history-card,
.history-page .history-card{
  min-height:calc(100vh - 170px);
  display:flex;
  flex-direction:column;
}
body.history-page .history-card .body,
.history-page .history-card .body{
  max-height:none;
  flex:1 1 auto;
  overflow-y:auto;
}
body.history-page .main-layout,
.history-page .main-layout{
  min-height:calc(100vh - 116px);
}
.bhvr-detail-card.full-lobby{
  grid-column:1 / -1;
  grid-row:auto;
}
.bhvr-full-lobby-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.bhvr-player-full-card{
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;
  background:linear-gradient(135deg,rgba(8,27,38,.72),rgba(7,10,13,.94));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
.bhvr-player-full-card.killer{
  background:linear-gradient(135deg,rgba(102,0,28,.78),rgba(18,8,12,.96));
  border-color:rgba(255,45,88,.22);
}
.bhvr-player-full-card.self{
  box-shadow:inset 3px 0 0 rgba(105,177,255,.75), inset 0 1px 0 rgba(255,255,255,.04);
}
.bhvr-player-full-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
}
.bhvr-player-full-copy{min-width:0}
.bhvr-player-full-role{
  font-family:var(--font-heading);
  color:#9ca8b2;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bhvr-player-full-name{
  color:#f4f7f9;
  font-size:19px;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.bhvr-player-full-badges{margin-top:6px;gap:6px;flex-wrap:wrap}
.bhvr-player-full-score{
  text-align:right;
  min-width:82px;
}
.bhvr-player-full-score span{
  display:block;
  font-family:var(--font-heading);
  color:#8d9aa5;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.bhvr-player-full-score strong{
  display:block;
  font-size:22px;
  line-height:1.05;
  color:#fff;
}
.bhvr-player-full-meta{
  color:#9ca8b2;
  font-size:13px;
  margin:8px 0 10px;
}
.bhvr-player-full-loadout{
  display:grid;
  grid-template-columns:1.2fr 1fr auto;
  gap:10px;
  align-items:start;
}
.bhvr-player-full-more{
  margin-top:10px;
  color:#aab5bd;
}
.bhvr-player-full-more summary{
  cursor:pointer;
  font-family:var(--font-heading);
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
}
.bhvr-player-full-extra{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:8px;
}
@media (max-width:1100px){
  .bhvr-full-lobby-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .bhvr-player-full-head{grid-template-columns:auto minmax(0,1fr)}
  .bhvr-player-full-score{grid-column:2;text-align:left}
  .bhvr-player-full-loadout{grid-template-columns:1fr}
  .bhvr-player-full-extra{grid-template-columns:1fr}
}
.history-card{
  min-height:calc(100vh - 170px);
  display:flex;
  flex-direction:column;
}
.history-card .body{
  max-height:none;
  flex:1 1 auto;
  overflow-y:auto;
}

/* ── Phase 19: DBD-style dashboard ───────────────────────────── */
body.dashboard-page{
  background:
    radial-gradient(circle at 70% 0%, rgba(132,12,22,.22), transparent 28%),
    radial-gradient(circle at 12% 18%, rgba(37,99,235,.14), transparent 26%),
    linear-gradient(180deg, rgba(2,8,14,.96), rgba(2,5,8,1) 72%),
    var(--bg);
}
body.dashboard-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.022) 1px, transparent 1px),
    radial-gradient(circle at 35% 20%, rgba(255,255,255,.06), transparent 2px),
    radial-gradient(circle at 76% 48%, rgba(255,255,255,.04), transparent 2px);
  background-size:72px 72px,72px 72px,420px 360px,520px 420px;
  opacity:.32;
  mask-image:linear-gradient(180deg, black, transparent 92%);
}
.dbd-dashboard-shell{
  width:min(1680px, calc(100vw - 44px));
  margin:0 auto;
  padding:28px 0 42px;
}
.dbd-dashboard-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:18px;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:
    linear-gradient(90deg, rgba(5,13,19,.94), rgba(7,13,17,.72)),
    radial-gradient(circle at 86% 35%, rgba(184,24,33,.22), transparent 30%);
  box-shadow:0 20px 70px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.025);
}
.dbd-dashboard-hero .eyebrow,
.dbd-card-headline p,
.dbd-import-panel .muted-line,
.dbd-kpi-label,
.dbd-recent-meta,
.dbd-ranked-meta{
  color:var(--muted);
  letter-spacing:.05em;
}
.dbd-dashboard-hero .eyebrow{
  font-family:var(--font-heading);
  text-transform:uppercase;
  color:var(--accent-light);
  font-size:17px;
}
.dbd-dashboard-hero h1{
  margin:2px 0 4px;
  font-size:clamp(36px,4vw,62px);
  line-height:.92;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.dbd-dashboard-hero p{margin:0;color:var(--muted);font-size:17px;}
.dbd-dashboard-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.dbd-dashboard-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:14px;
}
.dbd-kpi-card{
  display:block;
  color:inherit;
  text-decoration:none;
  min-height:128px;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:
    linear-gradient(135deg, rgba(12,22,29,.96), rgba(7,10,14,.98)),
    radial-gradient(circle at 100% 0%, rgba(255,255,255,.08), transparent 34%);
  padding:18px 18px 16px;
  box-shadow:0 18px 52px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.025);
}
.dbd-kpi-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.03));
}
.dbd-kpi-card.status-good::before{background:linear-gradient(180deg, var(--good-text), rgba(98,190,82,.15));}
.dbd-kpi-card.status-bad::before,.dbd-kpi-card.status-red::before,.dbd-kpi-card.red::before{background:linear-gradient(180deg, var(--bad-text), rgba(202,20,31,.12));}
.dbd-kpi-card.status-warn::before{background:linear-gradient(180deg, var(--warn-text), rgba(245,158,11,.12));}
.dbd-kpi-card::after{
  content:attr(data-mark);
  position:absolute;
  right:14px;
  bottom:-18px;
  font-family:var(--font-heading);
  font-size:88px;
  font-weight:900;
  color:rgba(255,255,255,.045);
  letter-spacing:-.07em;
}
.dbd-kpi-card.status-bad::after,.dbd-kpi-card.status-red::after{color:rgba(202,20,31,.085);}
.dbd-kpi-card.status-good::after{color:rgba(98,190,82,.075);}
.dbd-kpi-card.status-warn::after{color:rgba(245,158,11,.08);}
.dbd-kpi-card[href]{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;}
.dbd-kpi-card[href]:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18);box-shadow:0 22px 58px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.04);}
.dbd-kpi-kicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.24);
  color:var(--muted);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.dbd-kpi-label{
  position:relative;
  z-index:1;
  margin-top:0;
  font-family:var(--font-heading);
  text-transform:uppercase;
  font-size:17px;
}
.dbd-kpi-value{
  position:relative;
  z-index:1;
  margin-top:10px;
  font-family:var(--font-heading);
  font-size:42px;
  line-height:.9;
  font-weight:800;
  color:var(--text);
}
.dbd-kpi-sub{position:relative;z-index:1;margin-top:8px;color:var(--muted);font-size:13px;}
.dbd-kpi-sub.good{color:var(--good-text);}.dbd-kpi-sub.bad{color:var(--bad-text);}.dbd-kpi-sub.warn{color:var(--warn-text);}

.dbd-dashboard-priority-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:14px;
  margin:14px 0;
}
.dbd-dashboard-featured-streamer{
  margin-top:14px;
  min-height:auto;
  border-color:rgba(255,184,77,.30);
  background:
    radial-gradient(circle at top left, rgba(255,184,77,.16), transparent 32%),
    linear-gradient(180deg, rgba(19,14,8,.96), rgba(7,9,13,.96));
}
.featured-streamer-panel{display:flex;flex-direction:column;gap:12px}
.featured-streamer-card{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
}
.featured-streamer-card.is-boosted .featured-streamer-kicker span:first-child{color:var(--warn-text)}
.featured-streamer-avatar{
  width:92px;
  height:92px;
  border-radius:24px;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,184,77,.28);
  background:rgba(255,255,255,.04);
  color:var(--accent);
  font-family:var(--font-heading);
  font-size:30px;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 18px 42px rgba(0,0,0,.30);
}
.featured-streamer-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.featured-streamer-copy{min-width:0;display:flex;flex-direction:column;gap:7px}
.featured-streamer-kicker,.featured-streamer-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px}
.featured-streamer-kicker span:first-child{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-light)}
.featured-streamer-copy h3{margin:0;font-size:32px;line-height:.95;text-transform:uppercase}
.featured-streamer-copy h3 a{color:var(--text);text-decoration:none}
.featured-streamer-copy p{margin:0;max-width:760px;color:var(--muted)}
.featured-streamer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;min-width:230px}

.dbd-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(0,1.04fr) minmax(360px,.98fr);
  grid-template-areas:
    "performance mostplayed recent"
    "import maps recent"
    "perks codes recent";
  gap:14px;
  align-items:stretch;
  grid-auto-rows:minmax(218px, auto);
}
.dbd-dashboard-card{
  border:1px solid rgba(255,255,255,.08);
  border-radius:15px;
  background:linear-gradient(180deg, rgba(11,18,23,.94), rgba(6,9,12,.96));
  box-shadow:0 18px 55px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.025);
  padding:16px;
  min-width:0;
  min-height:218px;
  display:flex;
  flex-direction:column;
}
.dbd-dashboard-performance{grid-area:performance;}
.dbd-dashboard-mostplayed{grid-area:mostplayed;}
.dbd-dashboard-recent{grid-area:recent;}
.dbd-dashboard-import{grid-area:import;}
.dbd-dashboard-maps{grid-area:maps;}
.dbd-dashboard-perks{grid-area:perks;}
.dbd-dashboard-codes{grid-area:codes;}
.dbd-dashboard-card-large{min-height:356px;}
.dbd-recent-panel{min-height:100%;}
.dbd-dashboard-card > :last-child{flex:1;}
.dbd-card-headline{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;}
.dbd-card-headline h2{margin:0;font-size:24px;line-height:1;text-transform:uppercase;}
.dbd-card-headline p{margin:5px 0 0;font-size:13px;}
.dbd-card-headline a{color:var(--accent-light);text-decoration:none;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.06em;}
.dbd-performance-chart{
  min-height:286px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:12px;
  background:rgba(0,0,0,.16);
  overflow:hidden;
}
.dbd-performance-chart svg{display:block;width:100%;height:286px;}
.dbd-chart-legend{display:flex;gap:14px;justify-content:flex-end;margin-top:9px;color:var(--muted);font-size:12px;}
.dbd-chart-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:middle;}
.dbd-chart-dot.escape{background:var(--good-text);}.dbd-chart-dot.kill{background:var(--bad-text);}
.dbd-chart-axis-label{fill:rgba(232,226,216,.62);font-family:var(--font-heading);font-size:11px;letter-spacing:.04em;text-transform:uppercase;}
.dbd-chart-axis-line{stroke:rgba(255,255,255,.12);stroke-width:1;vector-effect:non-scaling-stroke;}
.sparkline-date-label{fill:rgba(232,226,216,.55);font-family:var(--font-heading);font-size:10px;letter-spacing:.04em;text-transform:uppercase;}
.sparkline-metric-help{color:var(--muted);font-size:.86rem;margin:6px 0 10px;}
.sparkline-series-metric{color:var(--muted);font-size:11px;white-space:nowrap;}
@media (max-width:760px){.sparkline-series-metric{white-space:normal;}}

.dbd-most-played-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.dbd-mini-board{border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(2,8,13,.36);padding:12px;}
.dbd-mini-board h3{margin:0 0 10px;text-transform:uppercase;color:var(--accent-light);font-size:18px;}
.dbd-character-row{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:8px;border-radius:10px;}
.dbd-character-row + .dbd-character-row{border-top:1px solid rgba(255,255,255,.055);}
.dbd-character-row .name{font-weight:700;}.dbd-character-row .meta{font-size:12px;color:var(--muted);}
.dbd-avatar{width:48px;height:48px;border-radius:6px;background:#081018;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:var(--font-heading);font-weight:800;color:#dff6ff;}
.dbd-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.dbd-recent-list{display:flex;flex-direction:column;gap:10px;min-height:0;}
.dbd-recent-match{
  display:grid;
  grid-template-columns:58px 1fr auto;
  gap:12px;
  align-items:center;
  padding:10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:linear-gradient(90deg, rgba(9,19,27,.84), rgba(9,12,16,.78));
  text-decoration:none;
  color:inherit;
  transition:transform .16s ease, border-color .16s ease, background .16s ease;
}
.dbd-recent-match:hover{
  transform:translateY(-1px);
  border-color:rgba(202,20,31,.34);
  background:linear-gradient(90deg, rgba(16,31,42,.92), rgba(13,15,20,.86));
}
.dbd-recent-main{min-width:0;}
.dbd-recent-title{font-weight:800;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dbd-recent-map{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dbd-recent-meta{font-size:12px;margin-top:2px;}
.dbd-survivor-strip{display:flex;gap:5px;align-items:center;justify-content:flex-end;}
.dbd-survivor-strip .dbd-avatar{width:34px;height:34px;border-radius:5px;font-size:14px;}
.dbd-result-word{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.07em;font-size:18px;}
.dbd-result-word.kill,.dbd-result-word.bad{color:var(--bad-text);}.dbd-result-word.escape,.dbd-result-word.good{color:var(--good-text);}
.dbd-import-panel{display:grid;gap:10px;}
.dbd-import-status{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;background:rgba(0,0,0,.18);}
.dbd-import-status strong{display:block;font-size:18px;}.dbd-import-status .muted-line{font-size:13px;margin-top:3px;}
.dbd-ranked-list{display:grid;gap:8px;}
.dbd-ranked-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.055);}
.dbd-ranked-row:last-child{border-bottom:0;}.dbd-ranked-name{font-weight:700;}.dbd-ranked-meta{font-size:12px;}.dbd-ranked-count{font-family:var(--font-heading);font-size:22px;}
.dbd-codes-panel .latest-code-row{border:1px solid rgba(255,255,255,.075);border-radius:10px;padding:9px 10px;background:rgba(0,0,0,.14);}
@media (max-width:1350px){
  .dbd-dashboard-grid{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "performance mostplayed"
      "recent recent"
      "import maps"
      "perks codes";
  }
  .dbd-recent-panel{min-height:auto;}
}
@media (max-width:900px){
  .dbd-dashboard-shell{width:min(100% - 18px, 1680px);padding-top:14px;}
  .dbd-dashboard-hero{align-items:flex-start;flex-direction:column;}
  .dbd-dashboard-kpis,.dbd-most-played-grid,.dbd-dashboard-priority-grid{grid-template-columns:1fr;}
  .featured-streamer-card{grid-template-columns:64px 1fr;}
  .featured-streamer-avatar{width:64px;height:64px;border-radius:18px;font-size:22px;}
  .featured-streamer-actions{grid-column:1 / -1;justify-content:flex-start;min-width:0;}
  .featured-streamer-copy h3{font-size:26px;}
  .dbd-dashboard-grid{grid-template-columns:1fr;grid-template-areas:"performance" "mostplayed" "recent" "import" "maps" "perks" "codes";}
  .dbd-recent-match{grid-template-columns:46px 1fr;}
  .dbd-survivor-strip{grid-column:1 / -1;justify-content:flex-start;}
}

/* ── Header/Nav polish pass ───────────────────────────────────── */
.topbar{
  align-items:center;
}
.site-branding{
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-width:250px;
  color:var(--text);
  text-decoration:none;
}
.site-logo-shell,
.sidebar-logo{
  width:54px;
  height:54px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 30% 20%, rgba(192,57,43,.30), transparent 45%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(0,0,0,.35));
  box-shadow:0 14px 30px rgba(0,0,0,.30), inset 0 0 24px rgba(155,28,28,.14);
}
.site-logo-shell img,
.sidebar-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.site-logo-fallback,
.sidebar-logo span{
  color:var(--accent-text);
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:-.08em;
  transform:translateX(-2px);
}
.site-branding-text{
  display:flex;
  flex-direction:column;
  min-width:0;
  line-height:1;
}
.site-title{
  font-family:var(--font-display, inherit);
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  color:var(--text);
  text-shadow:0 0 18px rgba(155,28,28,.24);
}
.site-subtitle{
  max-width:280px;
  margin-top:5px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.nav-link-featured{
  position:relative;
  border-color:rgba(192,57,43,.55) !important;
  background:linear-gradient(180deg, rgba(155,28,28,.20), rgba(0,0,0,.18)) !important;
  color:var(--accent-text) !important;
  box-shadow:0 0 20px rgba(155,28,28,.12);
}
.nav-link-featured::before{
  content:'🏆';
  margin-right:6px;
  filter:drop-shadow(0 0 8px rgba(232,192,106,.2));
}
.sidebar-brand-block{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.sidebar-head h2{
  font-family:var(--font-display, inherit);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1;
}
.sidebar-section{
  gap:7px;
  margin:18px 0 22px;
}
.sidebar-label{
  padding:0 4px 2px;
  color:var(--accent-text);
  opacity:.72;
}
.sidebar-link{
  min-height:40px;
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.12));
}
.sidebar-link::after{
  content:'›';
  opacity:.55;
  margin-left:auto;
}
.sidebar-link.nav-link-featured{
  min-height:48px;
  border-color:rgba(192,57,43,.70) !important;
  background:
    radial-gradient(circle at 15% 50%, rgba(192,57,43,.25), transparent 55%),
    linear-gradient(180deg, rgba(155,28,28,.22), rgba(0,0,0,.18)) !important;
}
.mini-profile.mini-profile-card{
  position:relative;
  gap:10px;
  min-width:218px;
  max-width:290px;
  min-height:58px;
  padding:2px 14px 2px 4px;
  border-radius:18px;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(180deg, rgba(36,26,19,.92), rgba(10,7,5,.94));
  box-shadow:0 12px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05);
}
.mini-profile-banner{
  position:absolute;
  inset:0 0 auto 0;
  height:24px;
  z-index:-1;
  background:
    radial-gradient(circle at 25% 50%, rgba(192,57,43,.48), transparent 48%),
    linear-gradient(90deg, rgba(80,10,10,.95), rgba(40,32,24,.75), rgba(0,0,0,.35));
}
.mini-profile.mini-profile-card:hover{
  border-color:rgba(192,57,43,.65);
  background:linear-gradient(180deg, rgba(44,30,22,.96), rgba(12,8,6,.98));
  transform:translateY(-1px);
}
.mini-profile.mini-profile-card .mini-profile-avatar{
  width:54px;
  height:54px;
  border-radius:50%;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.mini-profile.mini-profile-card .mini-profile-meta strong{
  max-width:170px;
  font-family:var(--font-display, inherit);
  font-size:1rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.mini-profile.mini-profile-card .mini-profile-meta small{
  max-width:175px;
  margin-top:5px;
  color:var(--accent-text);
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.mini-profile-chevron{
  margin-left:auto;
  color:var(--muted);
  font-size:1.35rem;
  line-height:1;
}
.admin-branding-preview{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  background:var(--surface-soft);
  min-height:88px;
}
.admin-branding-preview-logo{
  width:64px;
  height:64px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.3);
  color:var(--accent-text);
  font-weight:900;
}
.admin-branding-preview-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.admin-branding-preview-title{
  font-family:var(--font-display, inherit);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:1.3rem;
}
.admin-branding-preview-subtitle{
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-top:4px;
}
@media (max-width:1100px){
  .site-branding{ min-width:0; }
  .site-subtitle{ max-width:180px; }
}
@media (max-width:780px){
  .site-subtitle{ display:none; }
  .site-title{ font-size:1.05rem; }
  .site-logo-shell{ width:44px; height:44px; border-radius:14px; }
  .mini-profile.mini-profile-card{ min-width:0; padding:6px; }
  .mini-profile-chevron{ display:none; }
}

/* Admin tabs / structure cleanup */
.admin-tabs{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:10px;
  margin-bottom:2px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  box-shadow:var(--shadow);
}
.admin-tab{
  border:1px solid transparent;
  background:rgba(0,0,0,.18);
  color:var(--muted);
  border-radius:999px;
  padding:8px 14px;
  font-family:var(--font-heading);
  font-size:16px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.admin-tab:hover{color:var(--text);border-color:var(--border);background:rgba(255,255,255,.06)}
.admin-tab.active{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-bg);box-shadow:0 0 22px rgba(155,28,28,.18)}
.admin-content-grid[data-active-admin-tab] [data-admin-panel]{display:none;}
.admin-content-grid[data-active-admin-tab="appearance"] [data-admin-panel="appearance"],
.admin-content-grid[data-active-admin-tab="lists"] [data-admin-panel="lists"],
.admin-content-grid[data-active-admin-tab="catalog"] [data-admin-panel="catalog"],
.admin-content-grid[data-active-admin-tab="users"] [data-admin-panel="users"],
.admin-content-grid[data-active-admin-tab="rewards"] [data-admin-panel="rewards"],
.admin-content-grid[data-active-admin-tab="updates"] [data-admin-panel="updates"],
.admin-content-grid[data-active-admin-tab="calendar"] [data-admin-panel="calendar"],
.admin-content-grid[data-active-admin-tab="tournaments"] [data-admin-panel="tournaments"],
.admin-content-grid[data-active-admin-tab="streamerSpotlight"] [data-admin-panel="streamerSpotlight"],
.admin-content-grid[data-active-admin-tab="bingo"] [data-admin-panel="bingo"],
.admin-content-grid[data-active-admin-tab="linking"] [data-admin-panel="linking"],
.admin-content-grid[data-active-admin-tab="cache"] [data-admin-panel="cache"],
.admin-content-grid[data-active-admin-tab="challengeModes"] [data-admin-panel="challengeModes"]{display:block;}
.admin-content-grid[data-active-admin-tab="catalog"]{grid-template-columns:1fr;}
.admin-content-grid[data-active-admin-tab="catalog"] .admin-main-column{display:none;}
.admin-content-grid[data-active-admin-tab="catalog"] .admin-side-column{display:grid;grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);gap:20px;}
.admin-content-grid[data-active-admin-tab="catalog"] .admin-list-viewer-card{position:static;}
.admin-content-grid[data-active-admin-tab="catalog"] .admin-list-viewer-rows,
.admin-content-grid[data-active-admin-tab="catalog"] .bhvr-catalog-rows{max-height:calc(100vh - 330px);overflow:auto;}
.admin-content-grid:not([data-active-admin-tab="catalog"]) .admin-side-column{display:none;}
.admin-maintenance-list{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.admin-maintenance-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-soft);}
.admin-maintenance-row strong{font-family:var(--font-heading);font-size:20px;text-transform:uppercase;letter-spacing:.03em;}
.admin-maintenance-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;}
.embedded-bingo-admin .bingo-large-textarea{min-height:300px;}
@media (max-width:1180px){.admin-content-grid[data-active-admin-tab="catalog"] .admin-side-column{grid-template-columns:1fr}.admin-content-grid[data-active-admin-tab="catalog"] .admin-list-viewer-rows,.admin-content-grid[data-active-admin-tab="catalog"] .bhvr-catalog-rows{max-height:520px}}
@media (max-width:680px){.admin-tab{flex:1 1 auto}.admin-maintenance-row{grid-template-columns:1fr}}

/* Importer-first match logging pass */
.import-workflow-page{max-width:1500px}
.import-hero{position:relative;overflow:hidden;border-color:rgba(199,40,44,.32);box-shadow:0 24px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.06)}
.import-hero:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 20% 10%,rgba(199,40,44,.28),transparent 34%),radial-gradient(circle at 85% 50%,rgba(255,255,255,.08),transparent 28%);pointer-events:none}
.import-hero-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:28px;align-items:stretch;padding:30px!important}
.import-hero-copy h1{margin:7px 0 10px;font-size:clamp(38px,5vw,72px);line-height:.92;letter-spacing:.03em;text-transform:uppercase}
.import-hero-copy p{max-width:760px;margin:0;color:var(--muted);font-size:16px;line-height:1.6}
.import-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.import-hero-steps{display:grid;gap:10px;align-content:center}
.import-hero-steps div{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(8,8,10,.58);backdrop-filter:blur(10px)}
.import-hero-steps strong{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,rgba(199,40,44,.85),rgba(80,12,16,.9));box-shadow:0 10px 30px rgba(199,40,44,.2);font-size:24px}
.import-hero-steps span{color:var(--text);font-weight:800;letter-spacing:.03em;text-transform:uppercase;font-family:"Barlow Condensed",sans-serif}
.import-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;margin-top:18px;align-items:start}
.import-primary-card{min-height:620px}.import-help-card{position:sticky;top:92px}
.import-dropzone{position:relative;display:grid;place-items:center;text-align:center;min-height:230px;padding:28px;border:1px dashed rgba(255,255,255,.24);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022)),radial-gradient(circle at center,rgba(199,40,44,.18),transparent 64%);cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.import-dropzone:hover,.import-dropzone.drag-over{border-color:rgba(235,70,76,.78);transform:translateY(-1px);background:linear-gradient(180deg,rgba(199,40,44,.12),rgba(255,255,255,.03)),radial-gradient(circle at center,rgba(199,40,44,.3),transparent 64%)}
.import-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.import-dropzone-icon{font-size:52px;line-height:1;color:var(--accent);filter:drop-shadow(0 0 18px rgba(199,40,44,.45))}.import-dropzone h3{margin:8px 0 4px;font-size:31px;text-transform:uppercase;letter-spacing:.05em}.import-dropzone p{margin:0;color:var(--muted)}
.import-paste-panel{margin-top:14px;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.18)}.import-paste-panel summary,.import-helper-panel summary{cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-family:"Barlow Condensed",sans-serif}.import-actions{margin-top:14px}.import-status{white-space:pre-line;margin-top:14px;padding:13px 15px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);font-weight:700}.import-status.good{border-color:rgba(90,220,120,.35);background:rgba(90,220,120,.08);color:#bdf7c9}.import-status.bad{border-color:rgba(255,80,80,.45);background:rgba(255,80,80,.09);color:#ffb8b8}.import-status.info{border-color:rgba(255,255,255,.14);color:var(--text)}
.import-preview-list{margin-top:14px}.import-preview-list .card{background:transparent;border:0;box-shadow:none}.import-preview-list .card .body{padding:0!important}.import-preview-list .panel{border-radius:16px;background:rgba(0,0,0,.22)}.import-steps-list{margin:0 0 16px 18px;color:var(--muted);line-height:1.6}.import-steps-list strong{color:var(--text)}.import-helper-panel{margin-top:14px}.manual-entry-drawer{margin-top:20px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));overflow:hidden}.manual-entry-drawer>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 22px}.manual-entry-drawer>summary::-webkit-details-marker{display:none}.manual-entry-drawer>summary strong{display:block;font-size:24px;text-transform:uppercase;letter-spacing:.06em;font-family:"Barlow Condensed",sans-serif}.manual-entry-drawer>summary small{display:block;color:var(--muted);font-size:13px;margin-top:2px}.drawer-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.12);padding:6px 10px;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900;letter-spacing:.08em}.manual-entry-content{padding:0 18px 18px}.manual-entry-content>.grid6{margin-top:0}.manual-entry-content .main-layout{margin-top:16px}
@media (max-width:1100px){.import-hero-body,.import-grid{grid-template-columns:1fr}.import-help-card{position:static}.import-hero-steps{grid-template-columns:repeat(3,1fr)}.import-hero-steps div{grid-template-columns:1fr;text-align:center}.import-hero-steps strong{margin:auto}}
@media (max-width:760px){.import-hero-body{padding:22px!important}.import-hero-steps{grid-template-columns:1fr}.import-dropzone{min-height:190px}.manual-entry-drawer>summary{align-items:flex-start;flex-direction:column}.import-hero-copy h1{font-size:38px}}


/* Phase 3: Cinematic match cards with legacy fallback toggle */
#historyCardModeNote{align-self:center}
.bhvr-cinematic-match{
  position:relative;
  padding:0;
  overflow:hidden;
  border-radius:22px;
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(18,20,24,.98),rgba(5,7,10,.98));
  box-shadow:0 22px 70px rgba(0,0,0,.52), inset 0 1px 0 rgba(255,255,255,.04);
}
.bhvr-cinematic-match:hover{border-color:rgba(193,42,42,.75);box-shadow:0 24px 76px rgba(0,0,0,.58),0 0 0 1px rgba(193,42,42,.18)}
.cinematic-backdrop{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:.2;
  filter:saturate(.9) contrast(1.15);
  transform:scale(1.03);
}
.cinematic-backdrop::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,8,11,.98) 0%,rgba(8,10,13,.88) 42%,rgba(8,10,13,.74) 66%,rgba(6,8,11,.96) 100%),radial-gradient(circle at 25% 20%,rgba(168,28,34,.22),transparent 42%);
}
.cinematic-main,.cinematic-survivor-strip,.cinematic-footer,.cinematic-expanded-lobby{position:relative;z-index:1}
.cinematic-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px) 92px;
  gap:18px;
  align-items:stretch;
  padding:18px;
  cursor:pointer;
}
.cinematic-killer-panel{display:flex;gap:18px;align-items:center;min-width:0}
.bhvr-portrait.cinematic{width:132px;height:156px;border-radius:10px;box-shadow:0 16px 34px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.09)}
.bhvr-portrait.cinematic.killer{box-shadow:0 18px 42px rgba(0,0,0,.58),0 0 0 1px rgba(255,42,70,.34),0 0 34px rgba(193,42,42,.16)}
.cinematic-killer-copy{min-width:0}.cinematic-eyebrow{font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:#b9c4cc;font-size:13px;font-weight:700}.cinematic-title{font-size:34px;line-height:1;font-weight:900;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinematic-subtitle{margin-top:6px;color:#b2bdc5;font-size:15px}.cinematic-badge-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.cinematic-result-badge{font-size:14px;font-weight:900;letter-spacing:.06em}.cinematic-loadout{margin-top:12px}.cinematic-loadout .bhvr-loadout-icon{width:68px;height:68px}.cinematic-map-panel{padding:10px;border-left:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.18);border-radius:14px}.cinematic-map-panel .bhvr-map-art{height:150px;min-width:0;border-radius:10px;background:rgba(0,0,0,.38)}.cinematic-map-panel .bhvr-map-art img{object-fit:cover}.cinematic-map-label{margin-top:8px;font-weight:900;color:#f1f4f6;font-size:18px;line-height:1.05}.cinematic-expand-indicator{display:grid;place-items:center;text-transform:uppercase;font-family:var(--font-heading);letter-spacing:.1em;color:#cbd4db;border-left:1px solid rgba(255,255,255,.1);font-size:13px;writing-mode:vertical-rl;transform:rotate(180deg)}
.cinematic-survivor-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 16px}.cinematic-survivor-mini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"portrait name bp" "portrait status bp";gap:2px 9px;align-items:center;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(6,12,17,.68)}.cinematic-survivor-mini.self{box-shadow:inset 3px 0 0 rgba(105,177,255,.8)}.cinematic-survivor-mini .bhvr-portrait{grid-area:portrait}.cinematic-survivor-name{grid-area:name;font-weight:800;color:#f0f3f5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinematic-survivor-bp{grid-area:bp;font-size:18px;font-weight:900;color:#fff;text-align:right}.cinematic-survivor-status{grid-area:status;font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;font-size:12px;color:#9ca8b2}.cinematic-survivor-status.good{color:#66d66e}.cinematic-survivor-status.bad{color:#ff6868}.cinematic-survivor-status.warn{color:#f5c05d}
.cinematic-footer{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:0 18px 18px}.cinematic-flags,.cinematic-actions{display:flex;gap:6px;flex-wrap:wrap}.cinematic-expanded-lobby{border-top:1px solid rgba(255,255,255,.1);background:rgba(3,5,8,.55);padding:16px 18px 18px}.cinematic-section-title{font-family:var(--font-heading);letter-spacing:.12em;text-transform:uppercase;color:#c6d0d8;font-weight:800;margin-bottom:10px}.cinematic-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.cinematic-player-card{padding:12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:linear-gradient(135deg,rgba(8,27,38,.76),rgba(7,10,13,.94));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.cinematic-player-card.killer{grid-column:1/-1;background:linear-gradient(135deg,rgba(102,0,28,.82),rgba(16,6,10,.96));border-color:rgba(255,45,88,.25)}.cinematic-player-card.self{box-shadow:inset 3px 0 0 rgba(105,177,255,.78), inset 0 1px 0 rgba(255,255,255,.04)}.cinematic-player-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}.cinematic-player-role{font-family:var(--font-heading);color:#9ca8b2;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.cinematic-player-name{font-size:20px;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cinematic-player-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}.cinematic-player-score{text-align:right;min-width:90px}.cinematic-player-score span{display:block;font-family:var(--font-heading);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8d9aa5}.cinematic-player-score strong{display:block;font-size:24px;line-height:1;color:#fff}.cinematic-player-loadout{display:grid;grid-template-columns:1.1fr 1fr auto;gap:12px;margin-top:12px;align-items:start}
@media (max-width:1180px){.cinematic-main{grid-template-columns:1fr}.cinematic-map-panel{border-left:0}.cinematic-expand-indicator{writing-mode:horizontal-tb;transform:none;border-left:0;border-top:1px solid rgba(255,255,255,.1);padding-top:10px}.cinematic-survivor-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.cinematic-player-grid{grid-template-columns:1fr}}
@media (max-width:720px){.cinematic-main{padding:14px}.cinematic-killer-panel{align-items:flex-start}.bhvr-portrait.cinematic{width:96px;height:116px}.cinematic-title{font-size:26px}.cinematic-survivor-strip{grid-template-columns:1fr;padding:0 14px 14px}.cinematic-footer{flex-direction:column;padding:0 14px 14px}.cinematic-player-top{grid-template-columns:auto minmax(0,1fr)}.cinematic-player-score{grid-column:2;text-align:left}.cinematic-player-loadout{grid-template-columns:1fr}.cinematic-loadout .bhvr-loadout-icon{width:62px;height:62px}}

/* ── Analytics Overhaul: cinematic stat cards + themed charts ───────────── */
body.analytics-page{
  background:
    radial-gradient(circle at 18% 0%, rgba(159,18,57,.16), transparent 34%),
    radial-gradient(circle at 82% 8%, rgba(86,165,255,.10), transparent 30%),
    linear-gradient(180deg, #050607 0%, #0a0d10 48%, #070809 100%);
}
.analytics-shell-card{
  overflow:hidden;
  border-color:rgba(255,255,255,.09);
  background:linear-gradient(180deg, rgba(20,24,29,.94), rgba(8,10,13,.98));
}
.analytics-hero-head{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:22px 24px;
  overflow:hidden;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(90deg, rgba(113,9,27,.34), rgba(10,13,17,.88) 46%, rgba(21,32,42,.72)),
    radial-gradient(circle at 70% 10%, rgba(255,255,255,.08), transparent 35%);
}
.analytics-hero-head::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, transparent 0 42%, rgba(255,255,255,.05) 43%, transparent 44% 100%);
  opacity:.55;
}
.analytics-hero-copy,.analytics-hero-actions{position:relative;z-index:1;}
.analytics-hero-copy h2{margin:2px 0 4px;font-size:clamp(34px,4vw,56px);line-height:.92;letter-spacing:.055em;text-transform:uppercase;}
.analytics-hero-copy p{margin:0;color:var(--muted);font-size:17px;max-width:760px;}
.analytics-hero-actions{display:flex;gap:10px;align-items:center;}
.analytics-tab-panel{padding-top:2px;}
.analytics-section-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:2px 0 14px;}
.analytics-section-title h3,.analytics-panel-head h3{margin:0;font-size:26px;line-height:1;text-transform:uppercase;letter-spacing:.045em;}
.analytics-section-title p{margin:0;max-width:520px;text-align:right;}
.analytics-grid-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;}
.analytics-panel{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  border-color:rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(0,0,0,.16));
  box-shadow:0 18px 42px rgba(0,0,0,.24);
}
.analytics-panel::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg, rgba(202,20,31,.85), rgba(255,255,255,.18), rgba(86,165,255,.58));
  opacity:.68;
}
.analytics-panel-span{grid-column:span 2;}
.analytics-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.analytics-compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.analytics-compare-card{
  position:relative;
  overflow:hidden;
  min-height:245px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px;
  padding:18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.015)),
    radial-gradient(circle at 82% 16%, rgba(255,255,255,.06), transparent 28%),
    rgba(7,10,13,.74);
  box-shadow:0 20px 48px rgba(0,0,0,.32);
}
.analytics-compare-card.global{background:
    linear-gradient(135deg, rgba(86,165,255,.10), rgba(255,255,255,.015)),
    radial-gradient(circle at 82% 16%, rgba(86,165,255,.12), transparent 30%),
    rgba(7,10,13,.74);
}
.analytics-compare-card.heat-high{border-color:rgba(255,68,88,.34)}
.analytics-compare-card.heat-mid{border-color:rgba(245,189,82,.34)}
.analytics-compare-card.heat-low{border-color:rgba(85,208,91,.30)}
.analytics-compare-glow{position:absolute;inset:auto -20% -45% -20%;height:160px;background:radial-gradient(ellipse at center, rgba(202,20,31,.20), transparent 65%);filter:blur(6px);}
.analytics-compare-card.global .analytics-compare-glow{background:radial-gradient(ellipse at center, rgba(86,165,255,.20), transparent 65%);}
.analytics-compare-head{position:relative;z-index:1;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;}
.analytics-compare-head h3{font-size:30px;margin:4px 0 4px;line-height:.95;text-transform:uppercase;}
.analytics-compare-head p{margin:0;color:var(--muted);}
.analytics-heat-orb{width:84px;height:84px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;text-align:center;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle, rgba(255,255,255,.12), rgba(0,0,0,.30));box-shadow:inset 0 0 24px rgba(0,0,0,.4),0 0 24px rgba(255,255,255,.05);}
.analytics-heat-orb strong{display:block;font-size:28px;line-height:.8;}
.analytics-heat-orb span{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.analytics-heat-orb.high{color:var(--bad-text);box-shadow:0 0 22px rgba(202,20,31,.28), inset 0 0 24px rgba(0,0,0,.44)}
.analytics-heat-orb.mid{color:var(--warn-text);box-shadow:0 0 22px rgba(245,189,82,.20), inset 0 0 24px rgba(0,0,0,.44)}
.analytics-heat-orb.low{color:var(--good-text);box-shadow:0 0 22px rgba(85,208,91,.18), inset 0 0 24px rgba(0,0,0,.44)}
.analytics-compare-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 14px;}
.analytics-compare-metrics div{border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(0,0,0,.22);padding:10px;min-width:0;}
.analytics-compare-metrics strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:20px;color:#fff;}
.analytics-compare-metrics span{display:block;margin-top:2px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;}
.analytics-meter-stack{position:relative;z-index:1;display:grid;gap:8px;}
.analytics-meter-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.analytics-meter-track{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.05);}
.analytics-meter-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,.78));}
.analytics-meter.good .analytics-meter-track span{background:linear-gradient(90deg, rgba(85,208,91,.45), rgba(85,208,91,.95));}
.analytics-meter.bad .analytics-meter-track span{background:linear-gradient(90deg, rgba(202,20,31,.45), rgba(255,78,96,.95));}
.analytics-entity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;}
.analytics-entity-card{position:relative;overflow:hidden;min-height:176px;border-radius:18px;border:1px solid rgba(255,255,255,.09);background:rgba(4,6,8,.65);display:grid;grid-template-columns:102px 1fr;box-shadow:0 14px 32px rgba(0,0,0,.24);}
.analytics-entity-card.heat-high{border-color:rgba(255,68,88,.34)}
.analytics-entity-card.heat-mid{border-color:rgba(245,189,82,.30)}
.analytics-entity-card.heat-low{border-color:rgba(85,208,91,.25)}
.analytics-entity-art{position:relative;min-height:176px;background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.38));display:grid;place-items:center;overflow:hidden;}
.analytics-entity-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.05);}
.analytics-entity-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, transparent 45%, rgba(0,0,0,.62));}
.analytics-entity-art span{font-family:var(--font-heading);font-size:30px;font-weight:900;color:rgba(255,255,255,.7);}
.analytics-entity-body{padding:13px 14px;min-width:0;display:flex;flex-direction:column;gap:8px;}
.analytics-rank{font-family:var(--font-heading);font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);}
.analytics-entity-body h4{margin:0;font-size:26px;line-height:.98;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.analytics-entity-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.analytics-entity-stats span{border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.035);padding:7px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em;}
.analytics-entity-stats strong{display:block;color:#fff;font-size:18px;letter-spacing:0;text-transform:none;}
.analytics-heat-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:auto;}
.analytics-heat-bar span{display:block;height:100%;background:linear-gradient(90deg, rgba(202,20,31,.55), rgba(245,189,82,.9));border-radius:999px;}
.analytics-heat-label{display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.analytics-heat-label strong{font-size:15px;color:#fff;}
.analytics-panel .sparkline-controls{padding:10px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.07);}
.analytics-panel .sparkline-grid{gap:9px;}
.analytics-panel .sparkline-row{grid-template-columns:210px 1fr 34px;border:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.18);border-radius:12px;padding:8px;}
.analytics-panel .sparkline-wrap{height:38px;}
.analytics-panel .sparkline-wrap svg{height:38px;filter:drop-shadow(0 0 7px rgba(86,165,255,.18));}
@media (max-width:1050px){
  .analytics-grid-main,.analytics-compare-grid{grid-template-columns:1fr;}
  .analytics-panel-span{grid-column:auto;}
  .analytics-section-title{align-items:flex-start;flex-direction:column;}
  .analytics-section-title p{text-align:left;}
}
@media (max-width:680px){
  .analytics-hero-head{flex-direction:column;padding:18px;}
  .analytics-compare-head{flex-direction:column;}
  .analytics-compare-metrics{grid-template-columns:1fr;}
  .analytics-entity-card{grid-template-columns:84px 1fr;}
  .analytics-entity-art{min-height:168px;}
  .analytics-entity-stats{grid-template-columns:1fr;}
  .analytics-panel .sparkline-row{grid-template-columns:1fr;}
}

/* Analytics refinement: survivor, offering, and addon visual cards */
.analytics-entity-grid.survivor .analytics-entity-card{border-color:rgba(86,165,255,.18);}
.analytics-entity-grid.survivor .analytics-entity-art{background:radial-gradient(circle at 50% 18%, rgba(86,165,255,.18), transparent 58%),linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.38));}
.analytics-loadout-section{display:grid;gap:10px;margin-bottom:18px;}
.analytics-loadout-section:last-child{margin-bottom:0;}
.analytics-loadout-section.compact{margin-top:4px;}
.analytics-loadout-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:8px;}
.analytics-loadout-title strong{font-family:var(--font-heading);font-size:22px;text-transform:uppercase;letter-spacing:.04em;color:#fff;}
.analytics-loadout-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;}
.analytics-loadout-grid.rarity{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.analytics-loadout-card{position:relative;display:grid;grid-template-columns:66px 1fr;gap:10px;align-items:center;min-height:88px;padding:10px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg, rgba(255,255,255,.045), rgba(0,0,0,.28));box-shadow:0 10px 24px rgba(0,0,0,.18);overflow:hidden;}
.analytics-loadout-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 0%, rgba(202,20,31,.14), transparent 48%);pointer-events:none;}
.analytics-loadout-card.danger{border-color:rgba(255,68,88,.28);}
.analytics-loadout-card.event{border-color:rgba(245,189,82,.25);}
.analytics-loadout-rank{position:absolute;top:8px;right:10px;font-family:var(--font-heading);font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);}
.analytics-loadout-icon{position:relative;z-index:1;width:66px;height:66px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 0 18px rgba(0,0,0,.38);}
.analytics-loadout-icon img{width:100%;height:100%;object-fit:contain;padding:5px;filter:saturate(.98) contrast(1.05) drop-shadow(0 5px 10px rgba(0,0,0,.35));}
.analytics-loadout-icon span{font-family:var(--font-heading);font-size:22px;font-weight:900;color:rgba(255,255,255,.74);}
.analytics-loadout-body{position:relative;z-index:1;min-width:0;display:grid;gap:7px;padding-right:26px;}
.analytics-loadout-body h4{margin:0;font-family:var(--font-heading);font-size:21px;line-height:1;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.analytics-loadout-meta{display:flex;gap:7px;flex-wrap:wrap;}
.analytics-loadout-meta span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid rgba(255,255,255,.07);border-radius:999px;background:rgba(255,255,255,.035);padding:4px 7px;}
.analytics-loadout-meta strong{color:#fff;}
.analytics-loadout-bar{height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(255,255,255,.04);}
.analytics-loadout-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg, rgba(86,165,255,.45), rgba(245,189,82,.85));}
.analytics-loadout-card.danger .analytics-loadout-bar span{background:linear-gradient(90deg, rgba(202,20,31,.5), rgba(255,78,96,.95));}
.analytics-loadout-card.event .analytics-loadout-bar span{background:linear-gradient(90deg, rgba(245,189,82,.45), rgba(245,189,82,.95));}
@media (max-width:680px){
  .analytics-loadout-grid,.analytics-loadout-grid.rarity{grid-template-columns:1fr;}
  .analytics-loadout-title{align-items:flex-start;flex-direction:column;}
}

/* Builds overhaul: cinematic build library */
body.builds-page,
body:has(.builds-shell){
  background:
    radial-gradient(circle at 18% 0%, rgba(159,18,57,.16), transparent 34%),
    radial-gradient(circle at 84% 8%, rgba(86,165,255,.10), transparent 30%),
    linear-gradient(180deg, #050607 0%, #0a0d10 48%, #070809 100%);
}
.builds-page-wrap{width:min(100% - 24px,1680px);margin:0 auto;padding-bottom:38px;}
.builds-shell{display:grid;gap:16px;}
.builds-hero-card,
.builds-feature-panel,
.builds-editor-card,
.builds-library-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  background:linear-gradient(180deg, rgba(20,24,29,.94), rgba(8,10,13,.98));
  box-shadow:0 22px 50px rgba(0,0,0,.30);
}
.builds-hero-card{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:stretch;
  padding:24px;
  background:
    linear-gradient(90deg, rgba(113,9,27,.34), rgba(10,13,17,.88) 46%, rgba(21,32,42,.72)),
    radial-gradient(circle at 72% 10%, rgba(255,255,255,.08), transparent 35%);
}
.builds-hero-card::after,.builds-feature-panel::before,.builds-editor-card::before,.builds-library-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg, rgba(202,20,31,.85), rgba(255,255,255,.18), rgba(86,165,255,.58));
  opacity:.72;
}
.builds-hero-copy{position:relative;z-index:1;max-width:760px;}
.builds-hero-copy h1{margin:2px 0 5px;font-size:clamp(40px,5vw,72px);line-height:.9;letter-spacing:.055em;text-transform:uppercase;}
.builds-hero-copy p{margin:0;color:var(--muted);font-size:17px;}
.builds-hero-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:10px;min-width:min(520px,100%);}
.builds-hero-stats div{border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(0,0,0,.22);padding:13px;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.builds-hero-stats strong{font-family:var(--font-heading);font-size:26px;line-height:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.builds-hero-stats span{margin-top:4px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.builds-feature-panel,.builds-editor-card,.builds-library-card{padding:18px;}
.builds-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px;}
.builds-section-head.compact{margin-bottom:10px;}
.builds-section-head h2{margin:2px 0 0;font-size:30px;line-height:.96;text-transform:uppercase;letter-spacing:.045em;}
.builds-section-head p{margin:0;text-align:right;max-width:520px;}
.builds-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.builds-workspace{display:grid;grid-template-columns:minmax(360px,500px) minmax(0,1fr);gap:16px;align-items:start;}
.builds-editor-card{position:sticky;top:14px;}
.build-role-block{margin-bottom:12px;}
.builds-form-actions{margin-top:14px;}
.builds-filter-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;align-items:end;margin-bottom:14px;}
.build-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:12px;max-height:none;overflow:visible;}
.build-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:134px minmax(0,1fr);
  min-height:232px;
  margin:0;
  padding:0;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg, rgba(255,255,255,.052), rgba(0,0,0,.26));
  box-shadow:0 16px 38px rgba(0,0,0,.24);
}
.build-card.killer{border-color:rgba(255,68,88,.17);}
.build-card.survivor{border-color:rgba(86,165,255,.17);}
.build-card-featured{grid-template-columns:1fr;min-height:0;}
.build-card-featured .build-card-art{height:112px;min-height:112px;}
.build-card-featured .build-card-body{padding:13px;}
.build-card-art{position:relative;min-height:232px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 15%, rgba(255,255,255,.11), transparent 46%),linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.38));}
.build-card.survivor .build-card-art{background:radial-gradient(circle at 50% 15%, rgba(86,165,255,.16), transparent 50%),linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.38));}
.build-card-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.04);}
.build-card-featured .build-card-art img{object-fit:cover;}
.build-card-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, transparent 44%, rgba(0,0,0,.66));}
.build-card-featured .build-card-art::after{background:linear-gradient(180deg, transparent 32%, rgba(0,0,0,.78));}
.build-card-art > span{font-family:var(--font-heading);font-size:34px;font-weight:900;color:rgba(255,255,255,.72);}
.build-role-ribbon{position:absolute;left:10px;bottom:10px;z-index:1;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(0,0,0,.58);padding:5px 8px;font-family:var(--font-heading);font-size:12px;letter-spacing:.10em;text-transform:uppercase;color:#fff;}
.build-card-body{min-width:0;padding:14px;display:grid;gap:10px;align-content:start;}
.build-card-topline{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;}
.build-title-block{min-width:0;}
.build-title-block h3{margin:0;font-size:28px;line-height:.95;text-transform:uppercase;letter-spacing:.028em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.build-title-block p{margin:4px 0 0;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.build-card-actions{flex:0 0 auto;justify-content:flex-end;}
.build-card-featured .build-card-actions{display:none;}
.build-perk-grid{display:grid;grid-template-columns:repeat(4,60px);gap:8px;align-items:center;}
.build-equipment-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.build-loadout-icon{width:60px;height:60px;border-radius:14px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.34);box-shadow:inset 0 0 18px rgba(0,0,0,.38);}
.build-loadout-icon.perk{border-radius:12px;background:radial-gradient(circle at center, rgba(130,58,180,.18), rgba(0,0,0,.38));}
.build-loadout-icon.offering{background:radial-gradient(circle at center, rgba(245,189,82,.15), rgba(0,0,0,.38));}
.build-loadout-icon.addon{background:radial-gradient(circle at center, rgba(86,165,255,.14), rgba(0,0,0,.38));}
.build-loadout-icon.empty{opacity:.42;border-style:dashed;}
.build-loadout-icon img{width:100%;height:100%;object-fit:contain;padding:5px;filter:saturate(.98) contrast(1.05) drop-shadow(0 5px 10px rgba(0,0,0,.35));}
.build-loadout-icon span{font-family:var(--font-heading);font-size:20px;font-weight:900;color:rgba(255,255,255,.72);}
.build-quality-pill{display:inline-flex;align-items:center;min-height:34px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.04);padding:6px 10px;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.build-rating-line.cinematic{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.07);padding-top:8px;}
.build-rating-line.cinematic .rating-actions{display:inline-flex;gap:2px;}
.build-usage-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.build-usage-strip span{border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.035);padding:7px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;}
.build-usage-strip strong{display:block;color:#fff;font-size:16px;letter-spacing:0;text-transform:none;}
.build-tag-row{display:flex;gap:6px;flex-wrap:wrap;}
.build-tag-row span{border:1px solid rgba(86,165,255,.18);background:rgba(86,165,255,.07);color:#d9ecff;border-radius:999px;padding:4px 8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.build-notes{margin:0;color:var(--muted);font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.build-empty-state{grid-column:1/-1;border:1px dashed rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.025);padding:34px;text-align:center;color:var(--muted);}
@media (max-width:1200px){.builds-hero-card{flex-direction:column}.builds-workspace{grid-template-columns:1fr}.builds-editor-card{position:relative;top:auto}.builds-showcase-grid{grid-template-columns:1fr}.builds-filter-grid{grid-template-columns:1fr 1fr}.build-card-grid{grid-template-columns:1fr}}
@media (max-width:760px){.builds-page-wrap{width:min(100% - 16px,1680px)}.builds-hero-stats{grid-template-columns:1fr}.builds-section-head{align-items:flex-start;flex-direction:column}.builds-section-head p{text-align:left}.builds-filter-grid{grid-template-columns:1fr}.build-card{grid-template-columns:1fr}.build-card-art{height:128px;min-height:128px}.build-card-art::after{background:linear-gradient(180deg, transparent 35%, rgba(0,0,0,.78));}.build-card-topline{flex-direction:column}.build-card-actions{justify-content:flex-start}.build-perk-grid{grid-template-columns:repeat(4,minmax(52px,1fr))}.build-loadout-icon{width:100%;height:56px}.build-usage-strip{grid-template-columns:1fr}}

/* ── Codes page visual overhaul ───────────────────────────────── */
.codes-redesign-page{
  gap:18px;
}
.codes-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:22px;
  border:1px solid var(--border-strong, var(--border));
  border-radius:var(--radius-2xl, 24px);
  background:
    radial-gradient(circle at 10% 10%, rgba(179, 29, 34, .18), transparent 34%),
    radial-gradient(circle at 90% 30%, rgba(255,255,255,.08), transparent 26%),
    linear-gradient(135deg, rgba(18,18,20,.96), rgba(7,7,8,.98));
  box-shadow:var(--shadow-strong, var(--shadow-soft));
}
.codes-hero::after{
  content:"";
  position:absolute;
  inset:auto -10% -48% 20%;
  height:110px;
  background:radial-gradient(ellipse at center, rgba(255,255,255,.10), transparent 68%);
  opacity:.35;
  pointer-events:none;
}
.codes-hero-copy{position:relative;z-index:1;max-width:760px}
.codes-hero h1{
  margin:4px 0 6px;
  font-family:var(--font-heading);
  font-size:clamp(34px, 5vw, 64px);
  line-height:.92;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.codes-hero p{margin:0;color:var(--muted);max-width:640px;font-size:16px;line-height:1.45}
.codes-hero-stats{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3, minmax(92px,1fr));
  gap:10px;
}
.codes-hero-stat{
  min-width:98px;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  text-align:center;
}
.codes-hero-stat strong{
  display:block;
  font-family:var(--font-heading);
  font-size:32px;
  line-height:1;
  color:var(--text);
}
.codes-hero-stat span{
  display:block;
  margin-top:5px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  font-weight:800;
}
.codes-control-panel,
.codes-list-panel,
.codes-help-card,
.codes-submit-panel{
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    var(--panel);
}
.codes-list-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.codes-live-pill{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  background:rgba(112, 255, 181, .08);
  color:var(--good-text, #b9ffd4);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.code-card-v2{
  position:relative;
  overflow:hidden;
  padding:0;
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    var(--panel2);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, opacity .16s ease;
}
.code-card-v2::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--accent);
  opacity:.85;
}
.code-card-v2::after{
  content:"";
  position:absolute;
  inset:-40% -16% auto auto;
  width:220px;
  height:160px;
  background:radial-gradient(circle, rgba(255,255,255,.10), transparent 62%);
  opacity:.45;
  pointer-events:none;
}
.code-card-v2:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.16);
  box-shadow:var(--shadow-strong, 0 16px 42px rgba(0,0,0,.35));
}
.code-card-v2.code-trust-trusted::before{background:var(--good, #54d982)}
.code-card-v2.code-trust-warning::before{background:var(--warn, #e8b94f)}
.code-card-v2.code-trust-danger::before{background:var(--bad, #e14b4b)}
.code-card-v2 .code-card-main{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) minmax(190px,240px);
  gap:16px;
  align-items:stretch;
  padding:16px 16px 13px 18px;
}
.code-reward-icon{
  display:grid;
  place-items:center;
  width:76px;
  min-height:76px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 50% 25%, rgba(255,255,255,.16), transparent 52%),
    rgba(255,255,255,.055);
  color:var(--text);
  font-family:var(--font-heading);
  font-size:34px;
  font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.code-reward-bloodpoints{color:#ff6969;background:radial-gradient(circle at center, rgba(225,50,50,.22), rgba(255,255,255,.045))}
.code-reward-shards{color:#d4b1ff;background:radial-gradient(circle at center, rgba(132,70,255,.20), rgba(255,255,255,.045))}
.code-reward-rift{color:#8bd4ff;background:radial-gradient(circle at center, rgba(70,170,255,.20), rgba(255,255,255,.045))}
.code-reward-charm{color:#f5d372;background:radial-gradient(circle at center, rgba(255,206,90,.18), rgba(255,255,255,.045))}
.code-reward-cosmetic{color:#ff9fd6;background:radial-gradient(circle at center, rgba(255,80,180,.18), rgba(255,255,255,.045))}
.code-reward-event{color:#9effb7;background:radial-gradient(circle at center, rgba(90,255,140,.18), rgba(255,255,255,.045))}
.code-card-copy{min-width:0}
.code-card-v2 .code-line{margin-bottom:8px}
.code-card-v2 .code-line code{
  font-size:clamp(20px, 2.2vw, 30px);
  border-radius:12px;
  padding:7px 12px;
  background:rgba(0,0,0,.28);
  border-color:rgba(255,255,255,.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.code-card-v2 .code-reward{font-size:clamp(21px, 2vw, 30px);line-height:1.1}
.code-card-v2 .code-description{max-width:760px}
.code-card-status{
  display:flex;
  flex-direction:column;
  gap:10px;
  justify-content:space-between;
  align-items:stretch;
}
.code-confidence{
  padding:11px 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(0,0,0,.18);
}
.code-confidence strong{
  display:block;
  font-family:var(--font-heading);
  font-size:30px;
  line-height:1;
}
.code-confidence span{
  display:block;
  margin:3px 0 8px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.code-card-v2 .code-votes{flex-direction:row;justify-content:flex-end;align-items:center;min-width:0}
.code-card-v2 .code-actions,
.code-card-v2 .code-admin-actions{
  position:relative;
  z-index:1;
  margin:0;
  padding:12px 16px 14px 18px;
  background:rgba(0,0,0,.16);
  border-top:1px solid rgba(255,255,255,.08);
}
.code-card-v2 .code-admin-actions{padding-top:10px;background:rgba(0,0,0,.22)}
.code-card-v2.used{opacity:.70;filter:saturate(.72)}
.code-card-v2.used .code-line code{text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:rgba(255,255,255,.35)}
.codes-empty-state{
  padding:38px 24px;
  border:1px dashed rgba(255,255,255,.16);
  border-radius:22px;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.07), transparent 50%),
    rgba(255,255,255,.025);
  text-align:center;
}
.codes-empty-state h3{margin:8px 0 4px;font-family:var(--font-heading);font-size:28px;text-transform:uppercase;letter-spacing:.05em}
.codes-empty-state p{margin:0 auto;max-width:520px;color:var(--muted)}
.codes-empty-icon{font-size:44px;color:var(--muted)}
.codes-help-list{display:flex;flex-direction:column;gap:12px}
.codes-help-list div{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:12px;
  align-items:start;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.codes-help-list div:last-child{border-bottom:0}
.codes-help-list b{color:var(--text);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.codes-help-list span{color:var(--muted);line-height:1.35}
@media (max-width: 1100px){
  .codes-hero{grid-template-columns:1fr}
  .codes-hero-stats{max-width:520px}
  .code-card-v2 .code-card-main{grid-template-columns:64px minmax(0,1fr)}
  .code-card-status{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .code-reward-icon{width:64px;min-height:64px;border-radius:18px;font-size:28px}
}
@media (max-width: 700px){
  .codes-hero{padding:18px}
  .codes-hero-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .codes-hero-stat{min-width:0;padding:11px 8px}
  .codes-hero-stat strong{font-size:26px}
  .code-card-v2 .code-card-main{grid-template-columns:1fr;gap:12px;padding:14px}
  .code-reward-icon{width:100%;min-height:58px}
  .code-card-status{grid-column:auto;grid-template-columns:1fr}
  .code-card-v2 .code-votes{justify-content:flex-start;flex-wrap:wrap}
  .code-card-v2 .code-actions,.code-card-v2 .code-admin-actions{padding:12px 14px}
  .codes-list-head{flex-direction:column}
}

/* Streamer tools cinematic facelift — creator console pass */
.stream-tools-facelift{padding-bottom:56px;}
.stream-tools-facelift .eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--accent-text);font-family:var(--font-heading);font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;opacity:.92}
.stream-command-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;align-items:stretch;padding:0;border-color:var(--accent-border);background:linear-gradient(135deg,rgba(12,12,14,.98),rgba(24,18,19,.96)),radial-gradient(circle at 18% 15%,rgba(155,28,28,.35),transparent 38%);box-shadow:var(--shadow-pop)}
.stream-command-hero:after{content:"";position:absolute;inset:-30%;pointer-events:none;background:linear-gradient(115deg,transparent 0 36%,rgba(255,255,255,.055) 37% 38%,transparent 39% 100%);transform:rotate(2deg)}
.stream-command-copy{position:relative;z-index:1;padding:30px 34px;min-height:230px;display:flex;flex-direction:column;justify-content:center}
.stream-command-copy h2{margin:0;font-family:var(--font-heading);font-size:clamp(46px,6vw,86px);line-height:.9;text-transform:uppercase;letter-spacing:.035em;text-shadow:0 0 28px rgba(155,28,28,.38)}
.stream-command-copy p{max-width:740px;margin:14px 0 0;color:var(--muted);font-size:18px;line-height:1.5;font-style:italic}
.stream-command-stats{position:relative;z-index:1;display:grid;gap:10px;padding:22px;background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.48));border-left:1px solid var(--border)}
.stream-command-stats div{display:flex;flex-direction:column;justify-content:center;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:rgba(255,255,255,.035)}
.stream-command-stats strong{font-family:var(--font-heading);font-size:38px;line-height:1;color:var(--text);text-transform:uppercase}
.stream-command-stats span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.stream-tool-grid-featured{margin-top:18px;grid-template-columns:repeat(4,minmax(0,1fr));}
.stream-feature-card{position:relative;overflow:hidden;min-height:245px;padding:22px;background:linear-gradient(160deg,rgba(33,33,36,.98),rgba(13,13,15,.98));border-color:rgba(255,255,255,.09)}
.stream-feature-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(155,28,28,.23),transparent 44%);opacity:.8;pointer-events:none}
.stream-feature-card:hover{transform:translateY(-4px) scale(1.01)}
.stream-feature-card .stream-tool-icon{position:relative;z-index:1;width:58px;height:58px;display:grid;place-items:center;border-radius:18px;background:var(--accent-bg);border:1px solid var(--accent-border);box-shadow:0 0 22px rgba(155,28,28,.18)}
.stream-tool-kicker{position:relative;z-index:1;color:var(--accent-text)!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.12em;font-style:normal!important;font-weight:800}
.stream-feature-card strong,.stream-feature-card span{position:relative;z-index:1}
.stream-page-shell{overflow:hidden;border-color:rgba(255,255,255,.08);box-shadow:var(--shadow-pop)}
.stream-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 22px 0!important;background:linear-gradient(180deg,rgba(155,28,28,.10),transparent 70%)}
.stream-page-head h2{font-family:var(--font-heading);font-size:clamp(42px,5vw,68px);line-height:.9;text-transform:uppercase;letter-spacing:.035em;margin:0 0 8px!important}
.stream-page-head p{max-width:820px;font-size:17px!important;line-height:1.45}
.stream-control-deck{padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.04);margin-bottom:16px}
.stream-control-deck textarea{min-height:82px}
.randomizer-stage{position:relative;overflow:hidden;min-height:360px;border-radius:22px;border-color:var(--accent-border);background:radial-gradient(circle at 50% 28%,rgba(155,28,28,.32),transparent 34%),radial-gradient(circle at 10% 95%,rgba(255,255,255,.06),transparent 30%),linear-gradient(180deg,rgba(10,10,12,.96),rgba(0,0,0,.72));box-shadow:0 22px 80px rgba(0,0,0,.42), inset 0 0 70px rgba(155,28,28,.08)}
.randomizer-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);transform:translateX(-100%);animation:streamSweep 7s linear infinite;pointer-events:none}
@keyframes streamSweep{0%{transform:translateX(-120%)}55%,100%{transform:translateX(120%)}}
.randomizer-reel{position:relative;z-index:1;letter-spacing:.055em;text-shadow:0 0 18px rgba(155,28,28,.95),0 0 46px rgba(155,28,28,.35)}
.randomizer-reel-image{display:flex;flex-direction:column;align-items:center;gap:14px}
.randomizer-reel-image img,.randomizer-reel-image .stream-image-placeholder{width:min(220px,42vw)!important;height:min(220px,42vw)!important;border-radius:24px;border:1px solid var(--accent-border);background:rgba(0,0,0,.28);box-shadow:0 18px 58px rgba(0,0,0,.45),0 0 28px rgba(155,28,28,.20);object-fit:contain}
.randomizer-pick-card{display:flex;align-items:center;gap:10px;min-width:220px;max-width:310px;padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(0,0,0,.18));box-shadow:var(--shadow)}
.randomizer-pick-card img,.randomizer-pick-card .stream-image-placeholder{width:54px;height:54px;object-fit:contain;border-radius:12px;background:rgba(0,0,0,.24)}
.randomizer-pick-card strong{font-family:var(--font-heading);font-size:20px;text-transform:uppercase;line-height:1.05}
.counter-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.counter-card{overflow:hidden;padding:24px 18px 18px;border-color:rgba(255,255,255,.09);background:radial-gradient(circle at 50% 0,rgba(155,28,28,.20),transparent 48%),linear-gradient(180deg,rgba(31,31,35,.98),rgba(9,9,10,.98));box-shadow:var(--shadow-pop)}
.counter-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.85}
.counter-name{font-size:24px;color:var(--text);letter-spacing:.08em}
.counter-value{font-size:clamp(72px,9vw,116px);margin:10px 0 8px;color:#fff;text-shadow:0 0 30px rgba(155,28,28,.42)}
.counter-pulse-label{display:inline-flex;margin-bottom:14px;padding:4px 10px;border-radius:999px;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-text);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.counter-remove{border-radius:999px;opacity:.76}
.counter-buttons button{min-width:56px}
.stream-empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:210px;border:1px dashed var(--border);border-radius:var(--radius-md);background:rgba(255,255,255,.025);text-align:center;color:var(--muted)}
.stream-empty-state strong{font-family:var(--font-heading);font-size:30px;text-transform:uppercase;color:var(--text)}
.counter-save-panel,.stream-save-card{border-color:rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.15));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.stream-bingo-setup{align-items:stretch}.stream-setup-card{position:relative;overflow:hidden;border-color:rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.16));box-shadow:var(--shadow)}
.stream-setup-card h3{font-family:var(--font-heading);font-size:32px;text-transform:uppercase;letter-spacing:.04em;margin-top:0}
.bingo-active-session{border-radius:var(--radius-lg);border-color:var(--accent-border);background:radial-gradient(circle at top,rgba(155,28,28,.14),transparent 38%),linear-gradient(180deg,rgba(17,17,19,.98),rgba(7,7,8,.98));box-shadow:var(--shadow-pop)}
.bingo-session-header{padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:rgba(255,255,255,.035);margin-bottom:14px}
.bingo-session-header h3{font-family:var(--font-heading);font-size:40px;text-transform:uppercase;margin:0}
.bingo-live-actions{margin:14px 0}.bingo-board{gap:10px}.bingo-letters{grid-column:1 / -1;display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.bingo-letters span{min-height:54px;border-radius:14px;border:1px solid var(--accent-border);background:var(--accent-bg);display:grid;place-items:center;font-family:var(--font-heading);font-size:34px;font-weight:900;color:var(--accent-text);box-shadow:0 0 18px rgba(155,28,28,.12)}
.bingo-cell{position:relative;overflow:hidden;min-height:128px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.20));border-color:rgba(255,255,255,.085);box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.bingo-cell:hover{transform:translateY(-2px);border-color:var(--accent-border);box-shadow:var(--shadow-pop)}
.bingo-cell.marked{background:radial-gradient(circle at center,rgba(46,204,113,.30),transparent 58%),linear-gradient(180deg,rgba(46,204,113,.15),rgba(0,0,0,.22));box-shadow:0 0 28px rgba(46,204,113,.18),var(--shadow)}
.bingo-marker{font-style:normal;text-shadow:0 0 18px currentColor}.bingo-cell span{font-size:20px;letter-spacing:.035em}
.tier-list-board{gap:12px}.tier-row{overflow:hidden;grid-template-columns:88px 1fr;min-height:118px;border-radius:18px;border-color:rgba(255,255,255,.09);background:linear-gradient(90deg,rgba(255,255,255,.035),rgba(0,0,0,.14));box-shadow:var(--shadow)}
.tier-label{font-size:46px;background:linear-gradient(180deg,var(--accent-light),var(--accent));text-shadow:0 2px 14px rgba(0,0,0,.34)}
.tier-row:nth-child(1) .tier-label{background:linear-gradient(180deg,#f0b248,#a66712);color:#1b1002}.tier-row:nth-child(2) .tier-label{background:linear-gradient(180deg,#d8d8d8,#777);color:#111}.tier-row:nth-child(3) .tier-label{background:linear-gradient(180deg,#b8793d,#6f3916);color:#fff}
.tier-drop,.tier-bank{gap:10px;padding:14px;min-height:118px}.tier-bank{border-radius:18px;border-color:rgba(255,255,255,.10);background:radial-gradient(circle at top left,rgba(155,28,28,.08),transparent 36%),rgba(0,0,0,.20)}
.tier-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;width:96px;min-height:118px;padding:8px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.20));border-color:rgba(255,255,255,.10);box-shadow:0 8px 22px rgba(0,0,0,.28);transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.tier-item:hover{transform:translateY(-3px);border-color:var(--accent-border);box-shadow:var(--shadow-pop)}
.tier-item img,.tier-item-fallback{width:72px;height:72px;border-radius:12px;object-fit:contain;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.08)}
.tier-item span:last-child{font-family:var(--font-heading);font-size:13px;line-height:1.05;text-align:center;text-transform:uppercase;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text)}
.tier-item-fallback{display:grid;place-items:center;font-size:32px;color:var(--accent-text);background:var(--accent-bg)}
@media(max-width:1100px){.stream-tool-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.stream-command-hero{grid-template-columns:1fr}.stream-command-stats{grid-template-columns:repeat(3,1fr);border-left:0;border-top:1px solid var(--border)}}
@media(max-width:760px){.stream-page-head{flex-direction:column}.stream-tool-grid-featured{grid-template-columns:1fr}.stream-command-stats{grid-template-columns:1fr}.bingo-board{grid-template-columns:repeat(2,1fr)}.bingo-letters{display:none}.bingo-cell{min-height:100px}.tier-row{grid-template-columns:58px 1fr}.tier-label{font-size:30px}.tier-item{width:82px;min-height:108px}.tier-item img,.tier-item-fallback{width:58px;height:58px}}


.tournament-hero{position:relative;overflow:hidden;padding:2rem;border-radius:28px;margin-bottom:1.5rem;background:linear-gradient(135deg,rgba(90,0,0,.55),rgba(10,10,10,.96));}
.tournament-hero-backdrop{position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,80,80,.22),transparent 40%),linear-gradient(180deg,transparent,rgba(0,0,0,.55));pointer-events:none;}
.tournament-hero-content{position:relative;display:flex;justify-content:space-between;gap:2rem;align-items:end;}
.tournament-hero h1{font-size:3rem;margin:.25rem 0;}
.tournament-hero .eyebrow{text-transform:uppercase;letter-spacing:.2em;color:#ff8a8a;font-size:.75rem;}
.tournament-hero-stats{display:flex;gap:1rem;}
.hero-stat{min-width:100px;padding:1rem;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);text-align:center;}
.hero-stat strong{display:block;font-size:1.8rem;}
.hero-stat span{opacity:.7;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em;}
.cinematic-tournament-card{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(34,34,34,.96),rgba(14,14,14,.98));}
.tournament-card-banner{height:90px;margin:-1rem -1rem .8rem -1rem;background:linear-gradient(135deg,rgba(170,0,0,.45),rgba(30,30,30,.85)),url('/images/fog-bg.jpg') center/cover;opacity:.95;}
.tournament-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;}
.tournament-meta-grid div{padding:.75rem;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05);}
.tournament-meta-grid span{display:block;font-size:.68rem;opacity:.65;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.25rem;}
.tournament-meta-grid strong{font-size:.92rem;}

/* Unified nav icon polish */
.nav-link,
.sidebar-link {
  gap: 9px;
}

.nav-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.12));
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 14px rgba(0,0,0,.18);
  font-size: 14px;
  line-height: 1;
  filter: drop-shadow(0 0 8px rgba(0,0,0,.24));
}

.nav-label-text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-link-featured::before {
  content: none !important;
}

.nav-link-featured .nav-icon {
  background:
    radial-gradient(circle at 50% 35%, rgba(232,192,106,.28), transparent 65%),
    linear-gradient(180deg, rgba(155,28,28,.22), rgba(0,0,0,.18));
  border-color: rgba(232,192,106,.25);
  box-shadow: 0 0 18px rgba(155,28,28,.20), inset 0 1px 0 rgba(255,255,255,.08);
}

.sidebar-link .nav-icon {
  width: 28px;
  height: 28px;
  border-radius: 10px;
  font-size: 15px;
}

.sidebar-link .nav-label-text {
  flex: 1 1 auto;
}

.sidebar-link::after {
  flex: 0 0 auto;
}

.nav-link:hover .nav-icon,
.nav-link.active .nav-icon,
.sidebar-link:hover .nav-icon,
.sidebar-link.active .nav-icon {
  border-color: rgba(255,255,255,.16);
  background: linear-gradient(180deg, rgba(192,57,43,.22), rgba(0,0,0,.14));
  transform: translateY(-1px);
}

.reward-wallet-panel{border-color:rgba(216,42,42,.28);}
.reward-wallet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.reward-level-badge{border:1px solid var(--border);border-radius:999px;padding:7px 12px;font-weight:900;background:rgba(255,255,255,.04);}
.reward-ledger-list{display:grid;gap:8px;}
.reward-ledger-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.03);}
.reward-ledger-payout{font-weight:800;white-space:nowrap;color:var(--text);}
@media (max-width:720px){.reward-ledger-row{display:block}.reward-ledger-payout{margin-top:6px;white-space:normal}}

/* Layered catalog/BHVR artwork: reusable frame/background + foreground icon */
.catalog-layered-image{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
}
.catalog-layered-image img{
  pointer-events:none;
  user-select:none;
}
.catalog-layer-bg,
.catalog-layer-fg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.catalog-layer-bg{z-index:1;}
.catalog-layer-fg{z-index:2;}
.bhvr-portrait .catalog-layered-image,
.bhvr-map-art .catalog-layered-image,
.bhvr-loadout-icon .catalog-layered-image,
.catalog-image-thumb .catalog-layered-image,
.catalog-image-panel-preview .catalog-layered-image{
  width:100%;
  height:100%;
}
.catalog-image-panel-preview .catalog-layered-image{
  min-height:96px;
}
.catalog-image-panel-preview .catalog-layered-image img{
  object-fit:contain;
  border-radius:0;
}
.catalog-image-thumb{
  display:grid;
  place-items:center;
  overflow:hidden;
}
.catalog-image-thumb .catalog-layered-image{
  border-radius:inherit;
}
.catalog-frame-row{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.catalog-frame-thumb{
  width:44px;
  height:44px;
  border-radius:10px;
  object-fit:contain;
  border:1px solid var(--border);
  background:var(--surface-soft);
  display:grid;
  place-items:center;
  overflow:hidden;
}

/* Catalog frame rarity groups */
.catalog-frame-type-group{margin:14px 0 18px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--panel2)}
.catalog-frame-type-group h4{margin:0 0 10px;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em}
.catalog-frame-rarity-row{margin:6px 0}
.star-rate.mine{filter:drop-shadow(0 0 6px rgba(255,210,96,.42));}
.rating-actions.unified{display:inline-flex;gap:1px;align-items:center;}
.build-loadout-icon.itemAddon,.build-loadout-icon.itemType,.build-loadout-icon.survivorCharacter{background:radial-gradient(circle at center, rgba(118,214,255,.14), rgba(0,0,0,.38));}

/* Build library refinement: prevent action buttons from clipping and show variants cleanly */
.build-card-actions{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
  align-items:center;
  min-width:0;
  max-width:190px;
}
.build-card-actions .small,
.build-card-actions button{
  white-space:nowrap;
  flex:0 0 auto;
}
.build-variant-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:-2px;
}
.build-variant-row span{
  border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.045);
  color:var(--muted);
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#buildVariantsInput{min-height:88px;}
@media (max-width:760px){
  .build-card-actions{justify-content:flex-start;max-width:none;}
}


/* Build card action layout fix: keep buttons inside the card instead of clipping. */
.build-card .build-card-topline{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.build-card .build-card-actions{
  width:100%;
  max-width:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:center;
  gap:6px;
  overflow:visible;
}
.build-card .build-card-actions .small,
.build-card .build-card-actions button{
  flex:0 0 auto;
  max-width:100%;
}
.build-card .build-card-body{
  overflow:visible;
}

/* Patch: importer-first, analytics paging/icons, build polish */
.manual-entry-drawer[hidden], .manual-entry-drawer.hidden { display: none !important; }
.analytics-load-more { display:flex; align-items:center; gap:10px; justify-content:center; margin-top:12px; flex-wrap:wrap; }
.analytics-perk-icon-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(76px,1fr)); gap:10px; align-items:stretch; }
.analytics-perk-icon-card { position:relative; border:1px solid var(--border); border-radius:14px; padding:8px; background:rgba(255,255,255,.035); display:flex; flex-direction:column; align-items:center; gap:6px; min-height:100px; overflow:hidden; }
.analytics-perk-icon-art { width:54px; height:54px; border-radius:12px; display:grid; place-items:center; overflow:hidden; background:rgba(0,0,0,.25); }
.analytics-perk-icon-art img, .analytics-perk-icon-art .catalog-layered-image { width:100%; height:100%; object-fit:contain; }
.analytics-perk-icon-card strong { font-family:'Barlow Condensed',sans-serif; font-size:18px; line-height:1; }
.analytics-perk-icon-bar { width:100%; height:4px; background:rgba(255,255,255,.08); border-radius:999px; overflow:hidden; }
.analytics-perk-icon-bar span { display:block; height:100%; background:var(--accent); border-radius:999px; }
.analytics-top-builds .build-card { min-width:0; }
.unified-rating { display:inline-flex; gap:1px; align-items:center; }
.unified-rating .star-rate { padding:0 2px; min-width:20px; opacity:.55; }
.unified-rating .star-rate.active { opacity:1; color:#f0c15d; }
.unified-rating .star-rate.mine { text-shadow:0 0 8px rgba(240,193,93,.45); }
.rating-summary.compact { margin-left:8px; white-space:nowrap; }
.locked-input[readonly] { opacity:.9; background:rgba(255,255,255,.04); border-style:dashed; }
/* DBD rarity-inspired tier colors */
.tier-row[data-tier="S"], .tier-row.tier-s, .tier-list-row[data-tier="S"] { --tier-color:#f2c84b; }
.tier-row[data-tier="A"], .tier-row.tier-a, .tier-list-row[data-tier="A"] { --tier-color:#d85aa7; }
.tier-row[data-tier="B"], .tier-row.tier-b, .tier-list-row[data-tier="B"] { --tier-color:#8f5be8; }
.tier-row[data-tier="C"], .tier-row.tier-c, .tier-list-row[data-tier="C"] { --tier-color:#3c80d8; }
.tier-row[data-tier="D"], .tier-row.tier-d, .tier-list-row[data-tier="D"] { --tier-color:#3da65b; }
.tier-row[data-tier="F"], .tier-row.tier-f, .tier-list-row[data-tier="F"] { --tier-color:#8b5b35; }
.tier-row[data-tier], .tier-row[class*="tier-"], .tier-list-row[data-tier] { border-left:5px solid var(--tier-color,var(--border)); }
.tier-row[data-tier] .tier-label, .tier-row[class*="tier-"] .tier-label, .tier-list-row[data-tier] .tier-label { background:var(--tier-color,var(--muted)); color:#120f0f; }

/* Phase 1 polish: align the shared nav shell with the rest of the site. */
.topbar{
  width:min(1600px, calc(100% - 48px));
  margin:0 auto 20px;
  justify-content:space-between;
}
.page-nav{
  justify-content:center;
}
@media (max-width:900px){
  .topbar{width:min(100% - 32px, 1600px);}
  .page-nav{justify-content:flex-start;}
}

/* Phase 1 polish: Top Builds now uses the same full loadout cards as Recent Builds. */
.builds-showcase-grid{
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr));
}
.builds-showcase-grid .build-card{
  height:100%;
}

/* Phase 2: unified analytics graph, ad slots, QR utility */
.sparkline-controls.unified{align-items:center;gap:12px;margin-bottom:14px;}
.sparkline-unified-wrap{height:300px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(135deg,rgba(0,0,0,.28),rgba(255,255,255,.03));overflow:hidden;box-shadow:inset 0 0 30px rgba(0,0,0,.22);}
.sparkline-unified-svg{width:100%;height:100%;display:block;filter:drop-shadow(0 0 9px rgba(86,165,255,.12));}
.sparkline-chart-bg{fill:rgba(0,0,0,.14);}
.sparkline-grid-line{stroke:rgba(255,255,255,.08);stroke-width:1;}
.sparkline-axis-label{fill:rgba(232,226,216,.55);font-family:var(--font-heading);font-size:11px;letter-spacing:.04em;}
.sparkline-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.sparkline-legend span{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:.86rem;}
.sparkline-legend i{width:10px;height:10px;border-radius:999px;box-shadow:0 0 10px currentColor;}
.sparkline-series-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;margin-top:12px;}
.sparkline-series-control{display:grid;grid-template-columns:14px minmax(0,1fr) auto 30px;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.18);border-radius:12px;padding:8px;}
.sparkline-series-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 10px rgba(255,255,255,.18);}
.sparkline-series-control select{min-width:0;font-size:13px;padding:6px 8px;}
.sparkline-empty.unified{min-height:220px;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.13);border-radius:18px;background:rgba(0,0,0,.18);}
.site-ad-slot{margin:18px 0;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(0,0,0,.24));min-height:92px;display:grid;place-items:center;position:relative;overflow:hidden;}
.site-ad-slot::before{content:attr(data-ad-label);position:absolute;top:8px;right:12px;color:rgba(232,226,216,.35);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-heading);}
.site-ad-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;color:var(--muted);padding:18px;}
.site-ad-placeholder strong{color:var(--text);font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;}
.site-ad-placeholder span{font-size:.82rem;}
.qr-page-shell{display:grid;gap:18px;max-width:980px;margin:0 auto;}
.qr-tool-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:stretch;}
.qr-output-card{display:grid;place-items:center;min-height:360px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(0,0,0,.2);padding:18px;}
.qr-output-card img{width:min(280px,100%);height:auto;border-radius:18px;background:#fff;padding:14px;box-shadow:0 16px 38px rgba(0,0,0,.35);}
.qr-output-card .qr-empty{color:var(--muted);text-align:center;max-width:260px;}
.qr-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.qr-presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:12px;}
.qr-presets button{text-align:left;}
@media (max-width: 760px){.qr-tool-card{grid-template-columns:1fr}.sparkline-unified-wrap{height:240px}.site-ad-slot{min-height:74px}}

/* Meta analytics / competitive coverage */
.analytics-meta-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 16px;
}
.meta-kpi-card{
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.meta-kpi-card span{
  display:block;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:6px;
}
.meta-kpi-card strong{
  display:block;
  font-family:var(--font-heading);
  color:#fff;
  font-size:28px;
  line-height:1;
}
.meta-bar-list{display:flex;flex-direction:column;gap:10px;}
.meta-bar-row{
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:10px 11px;
  background:rgba(255,255,255,.035);
}
.meta-bar-top{display:flex;justify-content:space-between;gap:10px;align-items:center;font-weight:800;color:#fff;}
.meta-bar-top span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.meta-bar-top b{color:var(--muted);font-weight:900;margin-right:6px;}
.meta-bar-top strong{font-family:var(--font-heading);letter-spacing:.03em;white-space:nowrap;}
.meta-bar-sub{color:var(--muted);font-size:12px;margin-top:4px;}
.meta-bar-track{height:7px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07);margin-top:9px;}
.meta-bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(105,177,255,.85),rgba(255,91,122,.8));}
.meta-table{min-width:720px;}
@media (max-width:900px){
  .analytics-meta-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .analytics-meta-kpis{grid-template-columns:1fr;}
}

/* Profile structured-social polish */
.profile-identity-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  margin-bottom:16px;
  background:
    radial-gradient(circle at 12% 10%, rgba(190, 28, 54, .18), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  overflow:hidden;
  position:relative;
}
.profile-identity-hero::after{
  content:"";
  position:absolute;
  inset:auto -80px -110px auto;
  width:260px;
  height:260px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  pointer-events:none;
}
.profile-identity-main{min-width:0;position:relative;z-index:1;}
.profile-identity-main h1{
  margin:2px 0 8px;
  font-family:'Barlow Condensed', sans-serif;
  font-size:clamp(2.1rem, 5vw, 4.4rem);
  line-height:.88;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.profile-identity-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
  align-items:center;
  position:relative;
  z-index:1;
}
.profile-summary-line.wide{max-width:760px;text-align:left;margin:8px 0;color:var(--text);}
.upgraded-profile-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);}
.profile-main-stack{display:flex;flex-direction:column;gap:16px;}
.compact-profile-info{grid-template-columns:1fr;}
.profile-timestamps{margin-top:12px;line-height:1.45;}
.identity-share-panel .profile-contact-actions{margin-bottom:10px;}
.profile-widget-subhead{margin-top:12px!important;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);}
.profile-identity-stats{grid-template-columns:repeat(5,minmax(0,1fr));}
.identity-stat{
  min-height:98px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-color:rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.16));
}
/* Player Hub history/build displays are owned by MatchList/MatchCard and BuildBrowser/BuildCard. */

/* Match linking diagnostics */
.compact-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.table-scroll{overflow:auto;max-width:100%}
.mini-table{width:100%;border-collapse:collapse;font-size:12px}
.mini-table th,.mini-table td{padding:8px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.mini-table th{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11px}
.mini-table td{color:var(--text)}

/* Build visibility controls */
.build-visibility-row{margin-top:10px;align-items:center;}
.build-visibility-note{margin-top:-4px;margin-bottom:10px;}
.build-public-ribbon{position:absolute;right:10px;bottom:10px;z-index:1;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(34,197,94,.18);padding:5px 8px;font-family:var(--font-heading);font-size:12px;letter-spacing:.10em;text-transform:uppercase;color:#d7ffe8;}
.build-public-ribbon.private{background:rgba(255,255,255,.08);color:rgba(255,255,255,.72);}

/* Profile public build grids are no longer styled here; BuildBrowser owns build layout. */



/* Sitewide notification bar */
.site-notification-bar{
  width:min(100% - 32px, 1600px);
  margin:12px auto 0;
  display:grid;
  gap:10px;
}
.site-notification-bar[hidden]{display:none!important;}
.site-notification-card{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(250,204,21,.34);
  border-radius:18px;
  padding:12px 14px;
  background:
    radial-gradient(circle at 18% 50%, rgba(250,204,21,.16), transparent 34%),
    radial-gradient(circle at 82% 30%, rgba(251,146,60,.12), transparent 30%),
    linear-gradient(135deg, rgba(41,25,9,.96), rgba(9,12,18,.96) 58%, rgba(13,18,27,.98));
  box-shadow:0 14px 36px rgba(0,0,0,.34), 0 0 28px rgba(245,158,11,.10), inset 0 1px 0 rgba(255,255,255,.08);
  overflow:hidden;
  isolation:isolate;
}
.site-notification-card:before,
.site-notification-card:after{
  content:'';
  position:absolute;
  inset:-35%;
  pointer-events:none;
  z-index:0;
}
.site-notification-card:before{
  background:
    radial-gradient(circle, rgba(255,236,166,.55) 0 1px, transparent 2px) 0 0 / 74px 42px,
    radial-gradient(circle, rgba(251,146,60,.42) 0 1px, transparent 2px) 38px 18px / 92px 54px;
  opacity:.16;
  animation:siteNotificationEmbers 16s linear infinite;
}
.site-notification-card:after{
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,.08) 45%, rgba(250,204,21,.18) 50%, rgba(255,255,255,.07) 55%, transparent 100%);
  transform:translateX(-80%) rotate(4deg);
  opacity:.55;
  animation:siteNotificationSweep 7s ease-in-out infinite;
}
.site-notification-warning{
  border-color:rgba(250,204,21,.42);
  background:
    radial-gradient(circle at 14% 50%, rgba(250,204,21,.18), transparent 34%),
    radial-gradient(circle at 84% 28%, rgba(251,146,60,.15), transparent 30%),
    linear-gradient(135deg, rgba(48,31,12,.97), rgba(13,15,22,.97) 56%, rgba(7,12,19,.98));
}
.site-notification-icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(250,204,21,.30);
  background:linear-gradient(135deg, rgba(250,204,21,.18), rgba(255,255,255,.06));
  box-shadow:0 0 18px rgba(245,158,11,.14), inset 0 1px 0 rgba(255,255,255,.10);
  font-size:1.25rem;
}
.site-notification-copy{
  position:relative;
  z-index:1;
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 10px;
  color:rgba(255,255,255,.76);
  font-size:.92rem;
  text-shadow:0 1px 1px rgba(0,0,0,.36);
}
.site-notification-copy strong{
  color:#fff6d6;
  font-family:var(--font-heading);
  letter-spacing:.03em;
  font-size:1rem;
}
.site-notification-kicker{
  color:#facc15;
  font-family:var(--font-heading);
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.site-notification-meta{
  color:rgba(255,245,210,.62);
  font-size:.82rem;
}
.site-notification-actions{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.site-notification-actions .ghost{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(250,204,21,.18);
  color:rgba(255,245,210,.74);
}
@keyframes siteNotificationEmbers{
  from{transform:translate3d(0, 12px, 0);}
  to{transform:translate3d(66px, -48px, 0);}
}
@keyframes siteNotificationSweep{
  0%, 42%{transform:translateX(-84%) rotate(4deg);}
  62%, 100%{transform:translateX(84%) rotate(4deg);}
}
@media (prefers-reduced-motion:reduce){
  .site-notification-card:before,
  .site-notification-card:after{animation:none;}
}
@media (max-width:760px){
  .site-notification-card{grid-template-columns:auto minmax(0,1fr);align-items:flex-start;}
  .site-notification-actions{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap;white-space:normal;}
}

/* Sitewide construction/update ticker */
.site-update-ticker{
  width:min(100% - 32px, 1600px);
  margin:12px auto 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(190,24,24,.18), rgba(10,13,18,.92));
  box-shadow:0 14px 36px rgba(0,0,0,.28);
  overflow:hidden;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
}
.site-update-ticker[hidden]{display:none!important;}
.ticker-static{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-right:1px solid rgba(255,255,255,.1);
  color:var(--text);
  font-size:.88rem;
  white-space:nowrap;
}
.ticker-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:4px 8px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-family:var(--font-heading);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.68rem;
}
.ticker-marquee{
  min-width:0;
  overflow:hidden;
  mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.ticker-track{
  display:flex;
  width:max-content;
  gap:22px;
  padding:10px 0;
  animation:siteTickerScroll 48s linear infinite;
}
.site-update-ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:.88rem;
  white-space:nowrap;
}
.ticker-item strong{color:var(--text);font-family:var(--font-heading);letter-spacing:.02em;}
.ticker-type{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.68rem;
  font-family:var(--font-heading);
}
.ticker-item a{color:var(--accent);font-weight:700;text-decoration:none;}
.ticker-item a:hover{text-decoration:underline;}
@keyframes siteTickerScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
.site-update-admin-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.compact-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.compact-head h3{margin:0;}
@media (max-width: 900px){
  .site-update-ticker{grid-template-columns:1fr;}
  .ticker-static{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);white-space:normal;}
}
@media (prefers-reduced-motion: reduce){
  .ticker-track{animation:none;flex-wrap:wrap;width:auto;padding:10px 14px;}
}

/* Profile identity + structured relationship stats */
.profile-identity-detail-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
}
.identity-mini-card,
.relationship-card{
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  border-radius:18px;
  padding:14px;
  min-height:96px;
  box-shadow:0 12px 32px rgba(0,0,0,.18);
}
.identity-mini-card.empty{opacity:.78;}
.identity-mini-card .label,
.relationship-card h4{
  margin:0 0 7px;
  color:var(--muted);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.identity-mini-card .num{
  color:var(--text);
  font-family:var(--font-heading);
  font-size:1.05rem;
  line-height:1.15;
}
.identity-mini-card .sub{
  margin-top:6px;
  color:var(--muted);
  font-size:.82rem;
}
.signature-perks-card{grid-column:span 2;}
.signature-perk-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
}
.signature-perk-list span{
  display:flex;
  flex-direction:column;
  gap:2px;
  border-radius:14px;
  background:rgba(0,0,0,.18);
  padding:9px 10px;
}
.signature-perk-list strong{font-size:.9rem;color:var(--text);}
.signature-perk-list small{color:var(--muted);}
.profile-relationship-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
}
.relationship-row-list{display:grid;gap:8px;}
.relationship-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.relationship-row:last-child{border-bottom:0;}
.relationship-row strong{color:var(--text);font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.relationship-row span{color:var(--muted);font-size:.82rem;text-align:right;white-space:nowrap;}
@media (max-width:760px){
  .signature-perks-card{grid-column:auto;}
  .relationship-row{align-items:flex-start;flex-direction:column;gap:2px;}
  .relationship-row span{text-align:left;white-space:normal;}
}

/* Match annotation layer — imported BHVR data stays locked; these are user notes/flags. */
.annotation-panel .annotation-section{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.annotation-section-title{
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:8px;
}
.annotation-flag-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
}
.annotation-player-card{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  border-radius:14px;
  padding:10px;
  margin-top:8px;
}
.annotation-player-head{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.annotation-player-head strong{
  color:var(--text);
}
.annotation-player-card .inline-check,
.annotation-panel .inline-check{
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  padding:6px 9px;
}
.annotation-player-card .inline-check:has(input:checked),
.annotation-panel .inline-check:has(input:checked){
  border-color:rgba(255,196,87,.45);
  background:rgba(255,196,87,.12);
}


/* Match Linking diagnostics */
.link-debug-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  align-items:stretch;
}
.link-debug-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:104px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:var(--shadow);
}
.link-debug-label{
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.link-debug-value{
  color:var(--text);
  font-size:1.75rem;
  font-weight:900;
  line-height:1;
}
.link-debug-note{
  margin-top:auto;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.25;
}

.catalog-teachable-control{
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.catalog-teachable-control label{
  margin:0;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.catalog-teachable-control select{
  min-width:220px;
  max-width:100%;
}

/* Hardcore Mode Tracker */
.stream-feature-card.hardcore {
  background:
    radial-gradient(circle at top left, rgba(239,68,68,.18), transparent 34%),
    linear-gradient(145deg, rgba(24,24,27,.96), rgba(8,8,10,.98));
}
.hardcore-page .hardcore-hero {
  overflow: hidden;
  position: relative;
}
.hardcore-page .hardcore-hero::after {
  content: "";
  position: absolute;
  inset: auto -40px -70px auto;
  width: 240px;
  height: 240px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(239,68,68,.18), transparent 70%);
  pointer-events: none;
}
.hardcore-controls-card {
  display: grid;
  gap: 18px;
}
.hardcore-controls-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.hardcore-controls-head h3,
.hardcore-wall-section h3 {
  margin: 2px 0 4px;
  font-family: var(--font-condensed, 'Barlow Condensed', sans-serif);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: clamp(1.4rem, 2vw, 2rem);
}
.hardcore-controls-head p,
.hardcore-wall-section p {
  margin: 0;
  color: var(--muted, #a1a1aa);
}
.hardcore-role-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.hardcore-progress-shell {
  display: grid;
  gap: 10px;
}
.hardcore-progress-bar {
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  overflow: hidden;
  box-shadow: inset 0 0 18px rgba(0,0,0,.35);
}
.hardcore-progress-bar span {
  display: block;
  height: 100%;
  width: 0%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(220,38,38,.88), rgba(248,113,113,.96));
  box-shadow: 0 0 22px rgba(239,68,68,.45);
  transition: width .25s ease;
}
.hardcore-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted, #a1a1aa);
  font-size: .94rem;
}
.hardcore-wall-section {
  display: grid;
  gap: 16px;
}
.section-title-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}
.hardcore-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 14px;
}
.hardcore-character-card {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 10px;
  min-height: 188px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  color: var(--text, #f4f4f5);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,.26);
  transition: transform .16s ease, border-color .16s ease, opacity .16s ease, filter .16s ease;
  overflow: hidden;
}
.hardcore-character-card:hover {
  transform: translateY(-2px);
  border-color: rgba(248,113,113,.45);
}
.hardcore-character-image {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1.12;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.08);
}
.hardcore-character-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.hardcore-character-placeholder {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  font-family: var(--font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 2.2rem;
  font-weight: 900;
  letter-spacing: .06em;
  color: rgba(255,255,255,.72);
  background:
    radial-gradient(circle at 30% 20%, rgba(239,68,68,.20), transparent 40%),
    linear-gradient(145deg, rgba(39,39,42,.98), rgba(9,9,11,.98));
}
.hardcore-character-card strong {
  font-family: var(--font-condensed, 'Barlow Condensed', sans-serif);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 1.05rem;
  line-height: 1.05;
  min-height: 2.1em;
}
.hardcore-character-card small {
  color: var(--muted, #a1a1aa);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  font-size: .72rem;
}
.hardcore-defeat-x {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: Arial Black, Impact, sans-serif;
  font-size: clamp(5rem, 13vw, 9rem);
  line-height: 1;
  color: rgba(239,68,68,.86);
  text-shadow: 0 8px 26px rgba(0,0,0,.7), 0 0 16px rgba(239,68,68,.45);
  opacity: 0;
  transform: rotate(-9deg) scale(.82);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
  z-index: 3;
}
.hardcore-character-card.defeated {
  opacity: .56;
  filter: grayscale(.92) brightness(.58);
  border-color: rgba(239,68,68,.38);
}
.hardcore-character-card.defeated .hardcore-defeat-x {
  opacity: 1;
  transform: rotate(-9deg) scale(1);
}
.hardcore-character-card.defeated::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.52));
  pointer-events: none;
  z-index: 2;
}
.hardcore-character-card.defeated strong,
.hardcore-character-card.defeated small {
  position: relative;
  z-index: 4;
}
@media (max-width: 760px) {
  .hardcore-controls-head,
  .hardcore-status-row,
  .section-title-row {
    align-items: stretch;
    flex-direction: column;
  }
  .hardcore-role-actions {
    justify-content: stretch;
  }
  .hardcore-role-actions button,
  .hardcore-status-row button {
    width: 100%;
  }
  .hardcore-grid {
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  }
}

/* Hardcore Tracker: keep defeated overlay bright and add per-character streak counters */
.hardcore-character-card.defeated {
  opacity: 1;
  filter: none;
  border-color: rgba(239,68,68,.52);
}
.hardcore-character-card.defeated .hardcore-character-image img,
.hardcore-character-card.defeated .hardcore-character-placeholder {
  filter: grayscale(.92) brightness(.42);
}
.hardcore-character-card.defeated::after {
  z-index: 2;
}
.hardcore-character-card.defeated .hardcore-defeat-x {
  opacity: 1;
  transform: rotate(-9deg) scale(1);
  color: rgba(255, 45, 45, .98);
  text-shadow: 0 8px 28px rgba(0,0,0,.92), 0 0 20px rgba(239,68,68,.75);
  z-index: 5;
}
.hardcore-character-card > strong,
.hardcore-character-card > small,
.hardcore-streak-row {
  position: relative;
  z-index: 6;
}
.hardcore-streak-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.08);
}
.hardcore-streak-label {
  color: var(--muted, #a1a1aa);
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.hardcore-streak-controls {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hardcore-streak-value {
  min-width: 1.8em;
  text-align: center;
  font-family: var(--font-condensed, 'Barlow Condensed', sans-serif);
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--text, #f4f4f5);
}
.hardcore-streak-btn {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.08);
  color: var(--text, #f4f4f5);
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}
.hardcore-streak-btn:hover,
.hardcore-streak-btn:focus-visible {
  background: rgba(239,68,68,.24);
  border-color: rgba(248,113,113,.55);
}

/* Hardcore Tracker: compact card-contained streak controls */
.hardcore-grid {
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 16px;
  align-items: stretch;
}
.hardcore-character-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 258px;
  padding: 12px;
}
.hardcore-character-card:focus-visible {
  outline: 2px solid rgba(248,113,113,.85);
  outline-offset: 3px;
}
.hardcore-character-image {
  aspect-ratio: 1 / 1.03;
  flex: 0 0 auto;
}
.hardcore-character-info {
  position: relative;
  z-index: 6;
  display: grid;
  gap: 3px;
  min-height: 44px;
}
.hardcore-character-card > strong,
.hardcore-character-card > small,
.hardcore-streak-row {
  display: none;
}
.hardcore-character-info strong {
  font-family: var(--font-condensed, 'Barlow Condensed', sans-serif);
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 1.12rem;
  line-height: 1.05;
}
.hardcore-character-info small {
  color: var(--muted, #a1a1aa);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  font-size: .72rem;
}
.hardcore-streak-panel {
  position: relative;
  z-index: 6;
  display: grid;
  gap: 6px;
  margin-top: auto;
  padding: 8px;
  border-radius: 14px;
  background: rgba(0,0,0,.34);
  border: 1px solid rgba(255,255,255,.09);
}
.hardcore-streak-panel .hardcore-streak-label {
  text-align: center;
}
.hardcore-streak-panel .hardcore-streak-controls {
  display: grid;
  grid-template-columns: 30px 1fr 30px;
  align-items: center;
  gap: 8px;
}
.hardcore-streak-panel .hardcore-streak-value {
  min-width: 0;
  font-size: 1.35rem;
  line-height: 1;
}
.hardcore-streak-panel .hardcore-streak-btn {
  width: 30px;
  height: 30px;
  font-size: 1rem;
}
.hardcore-character-card.defeated .hardcore-character-info,
.hardcore-character-card.defeated .hardcore-streak-panel {
  text-shadow: 0 2px 10px rgba(0,0,0,.85);
}
@media (max-width: 760px) {
  .hardcore-grid {
    grid-template-columns: repeat(auto-fill, minmax(146px, 1fr));
    gap: 12px;
  }
  .hardcore-character-card {
    min-height: 236px;
    padding: 10px;
  }
}

/* Public SEO database pages */
.public-seo-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 20% 0%, rgba(155,28,28,.22), transparent 32rem),
    radial-gradient(circle at 88% 8%, rgba(255,210,92,.08), transparent 28rem),
    linear-gradient(180deg, #070504 0%, var(--bg) 44%, #050403 100%);
  color:var(--text);
}
.public-seo-shell{width:min(1180px, calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.public-breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 18px;color:var(--muted);font-size:14px}.public-breadcrumbs a{color:var(--accent-text);text-decoration:none}.public-breadcrumbs a:hover{text-decoration:underline}.public-breadcrumbs strong{color:var(--text)}.public-hero,.public-detail-hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.09);background:linear-gradient(135deg, rgba(30,12,10,.94), rgba(10,7,5,.96) 54%, rgba(45,10,12,.72));box-shadow:var(--shadow-pop);border-radius:22px}.public-hero:before,.public-detail-hero:before{content:"";position:absolute;inset:-2px;background:radial-gradient(circle at 72% 16%, rgba(192,57,43,.25), transparent 23rem),linear-gradient(90deg, transparent, rgba(255,255,255,.045), transparent);pointer-events:none}.public-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:stretch;padding:34px}.public-hero-copy{position:relative;z-index:1;max-width:760px}.public-hero h1,.public-detail-hero h1{font-family:var(--font-heading);font-weight:900;letter-spacing:.01em;line-height:.92;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.65)}.public-hero h1{font-size:clamp(44px,7vw,86px);margin:8px 0 14px}.public-detail-hero h1{font-size:clamp(46px,8vw,92px);margin:7px 0 12px}.public-hero p,.public-detail-copy p{font-size:18px;line-height:1.55;color:#d7cabb;max-width:68ch}.public-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.public-hero-actions a,.public-hero-actions .primary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:var(--text);font-weight:800;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.public-hero-actions .primary{background:linear-gradient(135deg,var(--accent),#531111);border-color:rgba(255,130,130,.32);color:#fff}.public-hero-actions a:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft),0 0 18px rgba(155,28,28,.16)}.public-hero-metrics{position:relative;z-index:1;display:grid;gap:12px}.public-hero-metrics div,.public-stat-card{border:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.22));border-radius:18px;padding:18px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}.public-hero-metrics strong,.public-stat-card strong{display:block;font-family:var(--font-heading);font-size:42px;line-height:1;color:#fff}.public-hero-metrics span,.public-stat-card span,.public-stat-card small{display:block;margin-top:7px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.public-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0;padding:18px 20px}.public-controls h2{margin:0;font-family:var(--font-heading);font-size:34px;color:#fff}.public-controls p{margin:2px 0 0;color:var(--muted)}.public-control-row{display:flex;gap:10px;flex-wrap:wrap}.public-control-row input,.public-control-row select{min-height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.28);color:var(--text);padding:0 13px}.public-control-row input{min-width:min(320px,70vw)}.public-killer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:16px}.public-killer-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:344px;border:1px solid rgba(255,255,255,.085);border-radius:20px;background:linear-gradient(180deg,rgba(32,16,12,.94),rgba(10,8,6,.96));box-shadow:var(--card-glow);text-decoration:none;color:var(--text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.public-killer-card:hover{transform:translateY(-4px);border-color:rgba(255,110,110,.28);box-shadow:0 18px 48px rgba(0,0,0,.55),0 0 22px rgba(155,28,28,.18)}.public-killer-card-art{position:relative;display:grid;place-items:center;height:188px;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.08),transparent 55%),linear-gradient(180deg,rgba(85,16,20,.45),rgba(0,0,0,.42));border-bottom:1px solid rgba(255,255,255,.08)}.public-killer-card-art img{max-width:100%;max-height:100%;width:auto;height:100%;object-fit:contain;filter:drop-shadow(0 16px 20px rgba(0,0,0,.72))}.public-art-fallback{display:grid;place-items:center;width:100%;height:100%;font-family:var(--font-heading);font-size:72px;font-weight:900;color:#d8c2ad;background:radial-gradient(circle,rgba(155,28,28,.22),transparent 62%),rgba(0,0,0,.18)}.public-card-glow{position:absolute;inset:auto 0 0;height:44px;background:linear-gradient(0deg,rgba(10,8,6,.92),transparent)}.public-killer-card-copy{padding:16px 16px 0;flex:1}.public-card-kicker{display:block;color:var(--accent-text);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:13px}.public-killer-card h3{margin:5px 0 6px;font-family:var(--font-heading);font-size:34px;line-height:.98;color:#fff}.public-killer-card p{margin:0;color:var(--muted);font-size:15px}.public-card-footer{display:flex;gap:6px;flex-wrap:wrap;padding:14px 16px 16px}.public-card-footer span{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);border-radius:999px;padding:5px 8px;color:#cdbfae;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.public-loading-card,.public-empty-state{border:1px solid rgba(255,255,255,.09);background:rgba(0,0,0,.28);border-radius:18px;padding:24px;color:var(--muted)}.public-empty-state{grid-column:1/-1;text-align:center}.public-empty-state h2{margin:0 0 6px;font-family:var(--font-heading);font-size:34px;color:#fff}.public-detail-hero{display:grid;grid-template-columns:330px minmax(0,1fr);gap:28px;align-items:center;padding:30px;margin-bottom:18px}.public-detail-art{position:relative;z-index:1;display:grid;place-items:center;height:390px;border-radius:20px;border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.08),transparent 48%),linear-gradient(180deg,rgba(90,20,24,.42),rgba(0,0,0,.5));overflow:hidden}.public-detail-art img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 20px 26px rgba(0,0,0,.78))}.public-detail-copy{position:relative;z-index:1}.public-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.public-stat-card{min-height:118px}.public-stat-card strong{font-size:46px}.public-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.public-data-panel{padding:18px;min-height:285px}.public-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.public-panel-head h2{margin:0;font-family:var(--font-heading);font-size:34px;color:#fff}.public-rank-list{display:flex;flex-direction:column;gap:10px}.public-rank-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center}.public-rank-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(155,28,28,.22);border:1px solid rgba(255,255,255,.08);font-family:var(--font-heading);font-weight:900;color:#fff}.public-rank-main{position:relative;overflow:hidden;display:block;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.07);padding:10px 12px}.public-rank-main strong{position:relative;z-index:1;color:#f4eadc}.public-rank-main i{position:absolute;inset:0 auto 0 0;display:block;background:linear-gradient(90deg,rgba(155,28,28,.36),rgba(155,28,28,.05));z-index:0}.public-rank-uses{font-family:var(--font-heading);font-size:22px;color:#fff}.public-mini-empty{border:1px dashed rgba(255,255,255,.12);border-radius:14px;padding:16px;color:var(--muted);background:rgba(0,0,0,.18)}.public-recent-list{display:flex;flex-direction:column;gap:10px}.public-recent-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22)}.public-map-thumb{width:58px;height:42px;border-radius:10px;overflow:hidden;background:rgba(0,0,0,.28)}.public-map-thumb img{width:100%;height:100%;object-fit:cover}.public-recent-row strong,.public-recent-row span{display:block}.public-recent-row span{color:var(--muted);font-size:13px}.public-recent-row b{font-family:var(--font-heading);font-size:26px;color:#fff}.public-killer-hub .eyebrow,.public-detail-hero .eyebrow,.public-panel-head .eyebrow{color:var(--accent-text)}
@media (max-width:900px){.public-hero,.public-detail-hero{grid-template-columns:1fr}.public-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.public-detail-art{height:310px}.public-stat-grid,.public-detail-grid{grid-template-columns:1fr 1fr}.public-controls{align-items:flex-start;flex-direction:column}.public-control-row{width:100%}.public-control-row input{flex:1;min-width:0}}
@media (max-width:620px){.public-seo-shell{width:min(100% - 20px,1180px);padding-top:18px}.public-hero,.public-detail-hero{padding:22px;border-radius:18px}.public-hero-metrics,.public-stat-grid,.public-detail-grid{grid-template-columns:1fr}.public-hero h1,.public-detail-hero h1{font-size:46px}.public-killer-grid{grid-template-columns:1fr}.public-hero-actions a{width:100%}.public-detail-art{height:260px}}

/* Public SEO portrait framing fix: uploaded killer portraits are square. */
.public-killer-card-art,
.public-detail-art{
  isolation:isolate;
  overflow:hidden;
}
.public-killer-card-art > img,
.public-detail-art > img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
  object-position:center 18%;
  z-index:0;
  filter:drop-shadow(0 16px 22px rgba(0,0,0,.72));
}
.public-killer-card-art .public-art-fallback,
.public-detail-art .public-art-fallback{
  position:absolute;
  inset:0;
  z-index:0;
}
.public-card-glow{
  z-index:1;
  pointer-events:none;
}
.public-killer-card-copy,
.public-card-footer{
  position:relative;
  z-index:2;
  background:linear-gradient(180deg,rgba(10,8,6,.96),rgba(10,8,6,.98));
}
.public-detail-art::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 34%,rgba(0,0,0,.24));
}
.public-detail-art img{
  filter:drop-shadow(0 20px 26px rgba(0,0,0,.78));
}

/* Public perk SEO pages */
.public-perk-hero .public-hero-metrics{grid-template-columns:1fr 1fr}.public-perk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.public-perk-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:310px;border:1px solid rgba(255,255,255,.085);border-radius:20px;background:linear-gradient(180deg,rgba(24,18,13,.96),rgba(8,7,6,.98));box-shadow:var(--card-glow);text-decoration:none;color:var(--text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.public-perk-card:hover{transform:translateY(-4px);border-color:rgba(255,110,110,.28);box-shadow:0 18px 48px rgba(0,0,0,.55),0 0 22px rgba(155,28,28,.18)}.public-perk-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.065),transparent 42%),linear-gradient(135deg,rgba(155,28,28,.16),transparent 42%);pointer-events:none}.public-perk-card.is-survivor:before{background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.065),transparent 42%),linear-gradient(135deg,rgba(218,149,55,.13),transparent 42%)}.public-perk-card-icon{position:relative;z-index:1;display:grid;place-items:center;height:150px;margin:16px 16px 0;border-radius:18px;border:1px solid rgba(255,255,255,.075);background:radial-gradient(circle at 50% 40%,rgba(155,28,28,.3),rgba(0,0,0,.18) 56%,rgba(0,0,0,.42));overflow:hidden}.public-perk-card.is-survivor .public-perk-card-icon{background:radial-gradient(circle at 50% 40%,rgba(218,149,55,.24),rgba(0,0,0,.18) 56%,rgba(0,0,0,.42))}.public-perk-card-icon img{width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.7))}.public-perk-card-copy{position:relative;z-index:1;padding:15px 16px 0;flex:1}.public-perk-card h3{margin:8px 0 6px;font-family:var(--font-heading);font-size:30px;line-height:.98;color:#fff}.public-perk-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}.public-role-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:rgba(155,28,28,.17);color:#f3c1b7;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:11px}.public-perk-card.is-survivor .public-role-pill{background:rgba(218,149,55,.13);color:#f2d4a2}.public-perk-detail-hero{grid-template-columns:260px minmax(0,1fr)}.public-perk-detail-icon{position:relative;z-index:1;display:grid;place-items:center;height:260px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 50% 40%,rgba(155,28,28,.3),rgba(0,0,0,.2) 54%,rgba(0,0,0,.55));overflow:hidden}.public-perk-detail-hero.is-survivor .public-perk-detail-icon{background:radial-gradient(circle at 50% 40%,rgba(218,149,55,.24),rgba(0,0,0,.2) 54%,rgba(0,0,0,.55))}.public-perk-detail-icon img{width:min(180px,76%);height:min(180px,76%);object-fit:contain;filter:drop-shadow(0 18px 22px rgba(0,0,0,.75))}.public-rank-main a{position:relative;z-index:1;color:#f4eadc;text-decoration:none;font-weight:900}.public-rank-main a:hover{text-decoration:underline}.public-perk-hub .eyebrow,.public-perk-detail-hero .eyebrow{color:var(--accent-text)}
@media (max-width:900px){.public-perk-hero .public-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.public-perk-detail-hero{grid-template-columns:1fr}.public-perk-detail-icon{height:230px}}
@media (max-width:620px){.public-perk-grid{grid-template-columns:1fr}.public-perk-hero .public-hero-metrics{grid-template-columns:1fr}.public-perk-detail-icon{height:210px}}

/* Public build SEO detail pages */
.public-build-detail-hero{grid-template-columns:300px minmax(0,1fr)}
.public-build-detail-art{position:relative;z-index:1;display:grid;place-items:center;height:320px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle at 50% 16%,rgba(255,255,255,.08),transparent 48%),linear-gradient(180deg,rgba(90,20,24,.42),rgba(0,0,0,.56));overflow:hidden;isolation:isolate}
.public-build-detail-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:drop-shadow(0 20px 26px rgba(0,0,0,.78))}
.public-build-detail-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 36%,rgba(0,0,0,.34));pointer-events:none}
.public-build-tags{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0 0}.public-build-panel-wide{grid-column:1/-1}.public-loadout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}.public-loadout-card{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:158px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.24));text-align:center;color:var(--text);text-decoration:none}.public-loadout-card:hover{border-color:rgba(255,110,110,.25);transform:translateY(-1px)}.public-loadout-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:radial-gradient(circle,rgba(155,28,28,.22),rgba(0,0,0,.34));overflow:hidden}.public-loadout-icon img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(0,0,0,.68))}.public-loadout-card strong{font-family:var(--font-heading);font-size:22px;line-height:1;color:#fff}.public-loadout-card span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.public-utility-card{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);margin-bottom:10px}.public-utility-card span,.public-utility-card small{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.public-utility-card strong{display:block;margin:3px 0;font-family:var(--font-heading);font-size:28px;line-height:1;color:#fff}.public-build-notes{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;background:rgba(0,0,0,.22);color:#e5d7c5;line-height:1.6}.public-related-build-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}.public-build-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:286px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:linear-gradient(180deg,rgba(24,18,13,.96),rgba(8,7,6,.98));box-shadow:var(--card-glow);text-decoration:none;color:var(--text);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.public-build-card:hover{transform:translateY(-3px);border-color:rgba(255,110,110,.28);box-shadow:0 18px 48px rgba(0,0,0,.55),0 0 22px rgba(155,28,28,.18)}.public-build-card-hero{position:relative;height:128px;overflow:hidden;background:linear-gradient(180deg,rgba(85,16,20,.38),rgba(0,0,0,.44));border-bottom:1px solid rgba(255,255,255,.08)}.public-build-card-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:drop-shadow(0 12px 18px rgba(0,0,0,.7))}.public-build-card-copy{position:relative;z-index:2;flex:1;padding:14px 14px 0;background:linear-gradient(180deg,rgba(10,8,6,.95),rgba(10,8,6,.98))}.public-build-card h3{margin:8px 0 6px;font-family:var(--font-heading);font-size:28px;line-height:.98;color:#fff}.public-build-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.35}
@media (max-width:900px){.public-build-detail-hero{grid-template-columns:1fr}.public-build-detail-art{height:260px}.public-loadout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.public-loadout-grid,.public-related-build-grid{grid-template-columns:1fr}.public-build-detail-art{height:220px}}

/* Public SEO/header integration */
.site-header-shell{
  display:block;
  width:min(100% - 24px, 1600px);
  margin:10px auto 20px;
}
.site-header-shell .topbar{
  width:100%;
  margin:0;
  overflow:visible;
}
.site-header-shell .page-nav{overflow:visible;}
.site-header-shell .site-update-ticker{
  width:100%;
  margin:8px 0 0;
}
.public-seo-body .site-header-shell + .sidebar-overlay + .site-sidebar + .public-seo-shell,
.public-seo-body .public-seo-shell{
  padding-top:8px;
}
@media (max-width: 720px){
  .site-header-shell{width:min(100% - 16px, 1600px);margin-top:8px;}
}

/* Public SEO entity links: staged rollout for contextual killer/perk linking */
.public-entity-link,
.public-inline-link {
  color: var(--accent, #ff4b6e);
  text-decoration: none;
  font-weight: 800;
}
.public-entity-link:hover,
.public-inline-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.public-rank-main .public-entity-link {
  position: relative;
  z-index: 2;
}

/* Tier list discovery + custom catalogs */
.tier-custom-panel{margin:16px 0;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md)}
.tier-custom-panel .compact{padding:0!important;margin-bottom:10px;background:none!important}.tier-custom-panel h3{font-family:var(--font-heading);font-size:30px;text-transform:uppercase;margin:0}.tier-custom-panel p{margin:4px 0 0;color:var(--muted)}
.custom-tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:10px}.custom-tier-item-grid{margin-top:12px}
.public-tier-section{margin-top:18px}.public-tier-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.public-tier-card{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(0,0,0,.16));color:var(--text);text-decoration:none;box-shadow:var(--shadow)}.public-tier-card:hover{border-color:var(--accent);transform:translateY(-2px)}.public-tier-card strong{font-family:var(--font-heading);font-size:25px;text-transform:uppercase;line-height:1}.public-tier-card span{color:var(--accent-text);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.public-tier-card small{color:var(--muted)}
.tier-drop .tier-item,.tier-bank .tier-item{display:inline-flex;align-items:center;gap:8px}.tier-item img,.tier-item .tier-item-fallback{width:46px;height:46px;object-fit:contain;border-radius:10px;background:rgba(0,0,0,.24)}
.stream-overlay-mode .site-shell,.stream-overlay-mode header,.stream-overlay-mode nav,.stream-overlay-mode .stream-page-head,.stream-overlay-mode .stream-control-deck,.stream-overlay-mode .stream-editor,.stream-overlay-mode .actions,.stream-overlay-mode .counter-save-panel,.stream-overlay-mode .obs-size-hint,.stream-overlay-mode [data-overlay-setup-guide],.stream-overlay-mode .overlay-setup-guide{display:none!important}.stream-overlay-mode{background:transparent!important}.stream-overlay-mode main{padding:0!important}.stream-overlay-mode .card{border:0!important;background:transparent!important;box-shadow:none!important}.stream-overlay-mode .body{padding:0!important}.stream-overlay-mode .randomizer-stage{min-height:100vh;margin:0;border:0;background:transparent}.stream-overlay-mode .counter-grid{margin:0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stream-overlay-mode .counter-card{background:rgba(0,0,0,.62);backdrop-filter:blur(6px)}

/* Tier list quick-placement controls */
.tier-quick-move{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;padding:12px 14px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(0,0,0,.16))}
.tier-quick-move strong{display:block;font-family:var(--font-heading);font-size:22px;text-transform:uppercase;letter-spacing:.04em}
.tier-quick-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.tier-quick-buttons button{min-width:42px;font-family:var(--font-heading);font-size:20px;font-weight:900}
.tier-item.selected{outline:3px solid var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px rgba(155,28,28,.22),var(--shadow-pop);transform:translateY(-3px)}
@media(max-width:760px){.tier-quick-move{align-items:flex-start;flex-direction:column}.tier-quick-buttons{justify-content:flex-start}}

/* 2v8 / future-mode history card support */
.cinematic-survivor-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cinematic-killer-stack{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.cinematic-killer-stack.multi .bhvr-portrait.cinematic{width:104px;height:124px}
.bhvr-lobby-preview{flex-wrap:wrap;overflow:visible;max-width:100%}
.bhvr-lobby-mini.self{box-shadow:inset 3px 0 0 rgba(105,177,255,.8)}
@media (max-width:720px){.cinematic-killer-stack.multi{flex-wrap:wrap}.cinematic-killer-stack.multi .bhvr-portrait.cinematic{width:86px;height:104px}}

/* Dashboard recent-match cards: support 2v8 and future non-1v4 lobby shapes. */
.dbd-dashboard-killer-strip,
.dbd-recent-lobby .dbd-survivor-strip.dashboard{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  justify-content:flex-end;
  max-width:260px;
}
.dbd-dashboard-killer-strip{
  justify-content:flex-start;
  max-width:72px;
}
.dbd-recent-lobby{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
}
.dbd-recent-match .badge.blue{
  display:inline-flex;
  width:max-content;
}
@media (max-width: 720px){
  .dbd-recent-lobby .dbd-survivor-strip.dashboard{ max-width:180px; }
}

/* SWF Finder homepage/community upgrade */
.nav-link-featured,
.sidebar-link.nav-link-featured,
.sidebar-link-featured{
  border-color: rgba(255, 79, 79, .38);
  background: linear-gradient(135deg, rgba(255, 79, 79, .16), rgba(255, 184, 77, .08));
}
.dbd-dashboard-swf{
  border-color: rgba(255, 79, 79, .24);
  background: linear-gradient(180deg, rgba(255, 79, 79, .08), rgba(11, 15, 20, .72));
}
.dbd-swf-panel{display:flex;flex-direction:column;gap:12px}
.dbd-swf-feature-list{display:grid;gap:10px}
.dbd-swf-feature-card{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.035);
  color:var(--text);
  text-decoration:none;
  transition:transform .12s ease,border-color .12s ease,background .12s ease;
}
.dbd-swf-feature-card:hover{transform:translateY(-1px);border-color:rgba(255,79,79,.45);background:rgba(255,79,79,.08)}
.dbd-swf-avatar{
  width:44px;height:44px;border-radius:14px;overflow:hidden;display:grid;place-items:center;
  background:var(--panel2);border:1px solid var(--border);font-weight:800;color:var(--accent);
}
.dbd-swf-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.dbd-swf-feature-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.dbd-swf-feature-main strong{font-family:var(--font-heading);font-size:18px;line-height:1;color:var(--text)}
.dbd-swf-feature-main small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dbd-swf-tags{display:flex;gap:4px;flex-wrap:wrap}
.dbd-swf-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.scout-card{
  border-color:rgba(255,255,255,.12);
  background:linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,79,79,.045));
}
.scout-card .scout-avatar,
.profile-directory-avatar{
  box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.22);
}


/* Compact hover-reveal primary nav
   The button target stays locked at icon size; labels reveal as a floating tooltip
   so hover expansion never pushes the clicked button away from the cursor. */
.site-header-shell .page-nav .nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  min-width:42px;
  max-width:42px;
  height:38px;
  padding:6px 8px;
  overflow:visible;
  white-space:nowrap;
  transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform .18s ease;
}
.site-header-shell .page-nav .nav-link .nav-label-text{
  position:absolute;
  left:50%;
  top:calc(100% + 2px);
  z-index:30;
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:220px;
  padding:7px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--panel2);
  box-shadow:0 12px 28px rgba(0,0,0,.35);
  color:var(--text);
  font-size:12px;
  line-height:1;
  opacity:0;
  pointer-events:none;
  transform:translate(-50%,-4px);
  transition:opacity .14s ease, transform .18s ease;
}
.site-header-shell .page-nav .nav-link:hover,
.site-header-shell .page-nav .nav-link:focus-visible,
.site-header-shell .page-nav .nav-link.active{
  width:42px;
  min-width:42px;
  max-width:42px;
  justify-content:center;
  z-index:40;
}
.site-header-shell .page-nav .nav-link:hover .nav-label-text,
.site-header-shell .page-nav .nav-link:focus-visible .nav-label-text{
  opacity:1;
  transform:translate(-50%,0);
}
.site-header-shell .page-nav .nav-icon{margin:0;}
@media (max-width:900px){
  .site-header-shell .page-nav .nav-link,
  .site-header-shell .page-nav .nav-link:hover,
  .site-header-shell .page-nav .nav-link:focus-visible,
  .site-header-shell .page-nav .nav-link.active{width:auto;max-width:none;padding:6px 12px;justify-content:flex-start;}
  .site-header-shell .page-nav .nav-link .nav-label-text{position:static;width:auto;max-width:none;padding:0;border:0;background:transparent;box-shadow:none;opacity:1;transform:none;color:inherit;font-size:inherit;pointer-events:auto;}
}

.history-item.history-anchor-highlight{outline:2px solid var(--accent);box-shadow:0 0 0 6px rgba(155,28,28,.18), var(--shadow-pop);}
.analytics-filter-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft);}
.analytics-filter-bar .field{min-width:240px;margin:0;}
.sparkline-event-marker{stroke:rgba(232,192,106,.65);stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke;}
.sparkline-event-marker-label{fill:rgba(232,192,106,.85);font:700 10px var(--font-heading);letter-spacing:.05em;text-transform:uppercase;}
.dbd-event-marker{stroke:rgba(232,192,106,.65);stroke-width:1.5;stroke-dasharray:5 5;vector-effect:non-scaling-stroke;}
.dbd-event-marker-label{fill:rgba(232,192,106,.85);font:700 10px var(--font-heading);letter-spacing:.05em;text-transform:uppercase;}

/* SWF Finder discovery overhaul */
.scout-page{display:flex;flex-direction:column;gap:18px}
.scout-hero{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);
  gap:18px;
  padding:22px;
  overflow:hidden;
  border-color:rgba(255,79,79,.25);
  background:
    radial-gradient(circle at 12% 20%, rgba(255,79,79,.18), transparent 34%),
    radial-gradient(circle at 85% 5%, rgba(255,184,77,.12), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(11,15,20,.86));
}
.scout-hero-copy h1{margin:4px 0 8px;font-size:clamp(34px,5vw,64px);line-height:.9;letter-spacing:.02em;text-transform:uppercase;font-family:var(--font-heading)}
.scout-hero-copy p{max-width:760px;color:var(--muted);font-size:16px;margin:0}
.scout-hero-actions,.scout-filter-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.scout-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-content:center}
.scout-stat-card{padding:14px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(0,0,0,.22);box-shadow:var(--shadow-soft)}
.scout-stat-card.wide{grid-column:1/-1}
.scout-stat-card strong{display:block;font-family:var(--font-heading);font-size:32px;line-height:.95;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scout-stat-card span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.scout-filter-card{border-color:rgba(255,255,255,.12)}
.scout-vibe-strip{display:flex;gap:8px;overflow:auto;padding:0 0 12px;margin-bottom:12px;scrollbar-width:thin}
.scout-vibe-chip{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.045);color:var(--text);padding:9px 12px;font-weight:700;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease}
.scout-vibe-chip:hover,.scout-vibe-chip.active{transform:translateY(-1px);border-color:rgba(255,79,79,.45);background:rgba(255,79,79,.12)}
.scout-summary{margin:12px 0}
.scout-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.scout-card.panel{display:flex;flex-direction:column;gap:10px;padding:14px;border-color:rgba(255,255,255,.13);background:linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,79,79,.04));position:relative;overflow:hidden}
.scout-card.panel::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg, rgba(255,79,79,.75), rgba(255,184,77,.35), transparent);opacity:.75}
.scout-card-topline{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center}
.scout-card .scout-avatar{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;overflow:hidden;background:var(--panel2);border:1px solid var(--border);font-weight:900;color:var(--accent);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.scout-card .scout-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.scout-title-block{min-width:0}.scout-title-block h3{margin:0;font-family:var(--font-heading);font-size:24px;line-height:1}.scout-title-block h3 a{text-decoration:none;color:var(--text)}.scout-title-block h3 a:hover{color:var(--accent)}
.scout-archetype{display:inline-block;margin:3px 0 4px;color:var(--accent);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.07em}
.scout-match-score{display:grid;place-items:center;border:1px solid rgba(255,184,77,.3);background:rgba(255,184,77,.1);border-radius:16px;padding:8px 10px;min-width:60px}.scout-match-score strong{font-family:var(--font-heading);font-size:22px;line-height:.9}.scout-match-score span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.scout-status-row,.scout-tag-cloud{display:flex;gap:5px;flex-wrap:wrap}.scout-bio{margin:0;color:var(--text);line-height:1.45}.scout-active{color:var(--muted)}.scout-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.scout-card-foot{border-top:1px solid rgba(255,255,255,.08);padding-top:8px}.scout-empty{display:flex;flex-direction:column;gap:4px}.badge.live{background:rgba(255,79,79,.16);border-color:rgba(255,79,79,.35);color:#ffb3b3}
@media (max-width: 860px){.scout-hero{grid-template-columns:1fr}.scout-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.scout-card-grid{grid-template-columns:1fr}}
@media (max-width: 520px){.scout-card-topline{grid-template-columns:50px minmax(0,1fr)}.scout-match-score{grid-column:1/-1;justify-self:start;display:inline-flex;gap:6px}.scout-hero-stats{grid-template-columns:1fr}}

/* Stream interaction / creator challenge pass */
.stream-feature-card.challenges {
  background: radial-gradient(circle at top left, rgba(245, 158, 11, .22), transparent 38%), var(--card-bg, rgba(13, 18, 28, .92));
}
.stream-challenge-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 1rem;
  align-items: stretch;
}
.stream-challenge-controls { min-width: 0; }
.stream-challenge-console textarea#challengePrompt { min-height: 130px; }
.stream-challenge-card,
.active-challenge-card {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(15,23,42,.94), rgba(88,28,135,.34));
  box-shadow: 0 18px 55px rgba(0,0,0,.28);
  padding: 1.15rem;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: .75rem;
  position: relative;
  overflow: hidden;
}
.stream-challenge-card::before,
.active-challenge-card::before {
  content: '';
  position: absolute;
  inset: -35% -15% auto auto;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: rgba(245,158,11,.16);
  filter: blur(4px);
}
.stream-challenge-kicker,
.active-challenge-card > span {
  color: var(--accent, #f59e0b);
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .8rem;
  position: relative;
  z-index: 1;
}
.stream-challenge-card strong,
.active-challenge-card strong {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: .95;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
}
.stream-challenge-card p,
.active-challenge-card p {
  color: rgba(255,255,255,.82);
  margin: 0;
  position: relative;
  z-index: 1;
}
.stream-challenge-card small,
.active-challenge-card small {
  color: rgba(255,255,255,.58);
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.active-challenge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .85rem;
}
.active-challenge-card {
  min-height: 190px;
  justify-content: flex-start;
}
.active-challenge-card strong { font-size: 1.6rem; }
.challenge-actions .button-like { text-decoration: none; }
body.stream-overlay-mode .site-shell,
body.stream-overlay-mode header,
body.stream-overlay-mode nav,
body.stream-overlay-mode .page-chrome,
body.stream-overlay-mode .site-update-ticker { display: none !important; }
body.stream-overlay-mode {
  background: transparent !important;
}
body.stream-overlay-mode .page-wrap {
  max-width: 760px;
  padding: 0;
  margin: 0;
}
body.stream-overlay-mode .stream-page-shell {
  background: transparent;
  border: 0;
  box-shadow: none;
}
body.stream-overlay-mode .stream-page-head,
body.stream-overlay-mode .stream-challenge-controls,
body.stream-overlay-mode #activeChallengeGrid,
body.stream-overlay-mode .stream-page-shell + .stream-page-shell { display: none !important; }
body.stream-overlay-mode .stream-challenge-layout { display: block; }
body.stream-overlay-mode .stream-challenge-card {
  min-height: 260px;
  backdrop-filter: blur(8px);
}
@media (max-width: 760px){
  .stream-challenge-layout { grid-template-columns: 1fr; }
}

.dashboard-priority-top{align-items:stretch;}
.creator-spotlight-stack{display:flex;flex-direction:column;gap:12px;}
.dbd-dashboard-creators .featured-streamer-card{grid-template-columns:78px minmax(0,1fr);align-items:start;}
.dbd-dashboard-creators .featured-streamer-actions{grid-column:1 / -1;justify-content:flex-start;min-width:0;}
.dbd-dashboard-creators .featured-streamer-avatar{width:78px;height:78px;border-radius:20px;font-size:26px;}
.dbd-dashboard-creators .featured-streamer-copy h3{font-size:28px;}
.creator-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.creator-mini-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.035);color:var(--text);text-decoration:none;}
.creator-mini-card:hover{border-color:rgba(255,184,77,.34);background:rgba(255,184,77,.06);transform:translateY(-1px);}
.creator-mini-avatar{width:42px;height:42px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);color:var(--accent);font-family:var(--font-heading);font-weight:900;}
.creator-mini-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.creator-mini-card strong,.creator-mini-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.creator-mini-card small{color:var(--muted);font-size:12px;margin-top:2px;}
.creator-mini-card .dbd-swf-tags{grid-column:1 / -1;margin-top:2px;}
@media (max-width: 900px){
  .creator-mini-grid{grid-template-columns:1fr;}
}


/* Tournament v1 community/event polish */
.dbd-dashboard-tournaments { position: relative; overflow: hidden; }
.tournament-spotlight-panel, .tournament-spotlight-stack { display: grid; gap: 10px; }
.tournament-mini-card { display: grid; gap: 4px; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: linear-gradient(135deg, rgba(239,68,68,.12), rgba(255,255,255,.035)); color: inherit; text-decoration: none; }
.tournament-mini-card strong { font-size: 1.05rem; }
.tournament-mini-card small, .tournament-mini-card span:not(.tournament-mini-status) { color: var(--muted); }
.tournament-mini-card.is-live { border-color: rgba(239,68,68,.45); box-shadow: 0 0 0 1px rgba(239,68,68,.16), 0 16px 40px rgba(0,0,0,.28); }
.tournament-mini-status { width: max-content; padding: 3px 8px; border-radius: 999px; background: rgba(239,68,68,.18); color: var(--accent); text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; font-weight: 800; }
.tournament-command-strip { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; margin-bottom:16px; border:1px solid rgba(255,255,255,.1); border-radius:18px; background:linear-gradient(135deg, rgba(239,68,68,.16), rgba(255,255,255,.04)); }
.tournament-command-strip div { display:grid; gap:2px; }
.tournament-command-strip span { color:var(--muted); }
.tournament-directory-section { margin: 0 0 22px; }
.tournament-directory-section .directory-section-head { margin-bottom: 10px; }
.cinematic-tournament-card.is-featured-event { border-color: rgba(250,204,21,.35); box-shadow: 0 0 0 1px rgba(250,204,21,.12); }
.tournament-event-summary { display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:10px; margin-bottom:14px; }
.tournament-event-summary > div { padding:11px; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(255,255,255,.04); }
.tournament-event-summary span { display:block; color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.tournament-event-summary strong { display:block; margin-top:3px; }
.event-settings { margin:14px 0; padding:14px; border:1px solid rgba(255,255,255,.1); border-radius:16px; background:rgba(255,255,255,.035); }
.winner-callout { padding:10px 12px; border-radius:14px; background:rgba(250,204,21,.1); border:1px solid rgba(250,204,21,.24); }
@media (max-width: 900px){ .tournament-event-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tournament-command-strip { align-items:flex-start; flex-direction:column; } }

/* Teams / Squads v1 */
.teams-shell{max-width:1400px;margin:0 auto;padding:24px;}
.teams-hero{margin-bottom:18px;}
.teams-command-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(320px,1.2fr);gap:16px;margin-bottom:16px;}
.team-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;}
.team-stat-row span{display:block;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:16px;padding:12px;text-align:center;}
.team-stat-row strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:2rem;line-height:1;color:#fff;}
.team-stat-row small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;margin-top:4px;}
.team-filter-row{display:grid;grid-template-columns:1fr auto minmax(120px,160px) auto;gap:10px;align-items:center;}
.team-filter-row input,.team-filter-row select,.team-form-grid input,.team-form-grid select,.team-form-grid textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.28);color:var(--text);border-radius:12px;padding:10px 12px;}
.checkline{display:flex!important;align-items:center;gap:8px;color:var(--muted);font-size:.92rem;}
.checkline input{width:auto!important;}
.team-composer{margin-bottom:16px;}
.team-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.team-form-grid label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.88rem;font-weight:700;}
.team-form-wide{grid-column:1/-1;}
.teams-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;}
.team-card{border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border-radius:22px;padding:16px;box-shadow:0 14px 40px rgba(0,0,0,.24);position:relative;overflow:hidden;}
.team-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#8b5cf6,#ef4444,#f59e0b);opacity:.55;}
.team-card.is-recruiting:before{opacity:1;}
.team-card-top{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:start;}
.team-logo,.team-mini-logo{display:grid;place-items:center;overflow:hidden;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 25% 20%,rgba(239,68,68,.35),rgba(10,14,20,.95));color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:1.35rem;font-weight:900;text-decoration:none;}
.team-logo{width:64px;height:64px;}
.team-logo img,.team-mini-logo img{width:100%;height:100%;object-fit:cover;}
.team-status-pill{display:inline-flex;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:3px 8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#facc15;background:rgba(250,204,21,.08);margin-bottom:6px;}
.team-card h3{margin:0 0 4px;font-size:1.45rem;}
.team-card h3 a{color:#fff;text-decoration:none;}
.team-card p{margin:0;color:var(--muted);line-height:1.35;}
.team-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;color:var(--muted);font-size:.82rem;}
.team-meta span{border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.035);}
.team-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center;}
.team-card-actions a:not(.button-like){color:#93c5fd;text-decoration:none;border:1px solid rgba(147,197,253,.25);border-radius:999px;padding:6px 10px;background:rgba(147,197,253,.06);font-size:.82rem;}
.teams-spotlight-panel{min-height:120px;}
.teams-spotlight-stack{display:grid;gap:10px;}
.team-mini-card{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:10px;background:rgba(255,255,255,.035);text-decoration:none;color:inherit;}
.team-mini-card:hover{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.06);}
.team-mini-logo{width:48px;height:48px;font-size:1rem;}
.team-mini-main strong{display:block;color:#fff;}
.team-mini-main small,.team-mini-main span{display:block;color:var(--muted);font-size:.78rem;line-height:1.25;}
.team-mini-card .dbd-swf-tags{grid-column:1/-1;margin-top:2px;}
@media (max-width:900px){.teams-command-grid,.team-form-grid{grid-template-columns:1fr}.team-filter-row{grid-template-columns:1fr}.team-stat-row{grid-template-columns:repeat(3,1fr)}.teams-shell{padding:16px}}

/* Public profile social identity v2 */
.profile-title-line{margin-top:-4px;color:var(--accent,#e53764);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.92rem}
.profile-status-line{margin:6px 0 0;color:var(--muted,#9aa4b2);font-size:1rem;max-width:720px}
.profile-social-identity-panel{margin:16px 0}
.identity-v2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:12px 0 16px}
.identity-v2-card{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));padding:14px;min-height:96px}
.identity-v2-card .label{color:var(--muted,#9aa4b2);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.identity-v2-card .num{font-family:'Barlow Condensed',sans-serif;font-size:1.45rem;font-weight:900;line-height:1.05;margin-top:6px;color:var(--text,#f4f7fb)}
.identity-v2-card .sub{color:var(--muted,#9aa4b2);font-size:.86rem;margin-top:6px}
.identity-v2-card.title-card{border-color:rgba(229,55,100,.35);box-shadow:0 0 0 1px rgba(229,55,100,.08) inset}
.profile-activity-feed{display:grid;gap:8px;margin-top:8px}
.profile-activity-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.035)}
.profile-activity-row span{color:var(--muted,#9aa4b2);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.profile-activity-row strong{text-align:right}
.profile-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.profile-team-card{display:flex;gap:12px;align-items:center;border:1px solid color-mix(in srgb,var(--team-accent,#9b5cff) 45%,transparent);border-radius:16px;padding:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--team-accent,#9b5cff) 16%,transparent),rgba(255,255,255,.035))}.profile-team-card img,.profile-team-card .team-initial{width:52px;height:52px;border-radius:14px;object-fit:cover;background:rgba(255,255,255,.08);display:grid;place-items:center;font-weight:900}.profile-team-card strong{display:block;font-size:1.05rem}.profile-team-card span{display:block;color:var(--muted,#9aa4b2);font-size:.9rem}.profile-two-column-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.profile-mini-list{display:grid;gap:8px}.profile-mini-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px;background:rgba(255,255,255,.03)}.profile-mini-row strong{display:block}.profile-mini-row span{display:block;color:var(--muted,#9aa4b2);font-size:.88rem}
@media (max-width: 720px){.profile-activity-row,.profile-mini-row{align-items:flex-start;flex-direction:column}.profile-activity-row strong{text-align:left}}

/* Tournament markdown rendering + create form polish */
.tournament-create-form{margin:0 0 18px;padding:16px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--surface-soft),rgba(0,0,0,.08));}
.markdown-content p{margin:.45rem 0;}
.markdown-content h3,.markdown-content h4,.markdown-content h5{margin:.9rem 0 .35rem;}
.markdown-content ul{margin:.5rem 0 .75rem 1.25rem;padding:0;}
.markdown-content li{margin:.25rem 0;}
.markdown-content code{padding:.08rem .3rem;border:1px solid var(--border);border-radius:6px;background:rgba(0,0,0,.22);}

/* Build library loadout icons use the same catalog rarity frame stack as the rest of the site. */
.build-loadout-icon .catalog-layered-image{width:100%;height:100%;}
.build-loadout-icon .catalog-layered-image img{padding:0;filter:none;}
.build-loadout-icon .catalog-layered-image .catalog-layer-fg{padding:5px;filter:saturate(.98) contrast(1.05) drop-shadow(0 5px 10px rgba(0,0,0,.35));}

/* Reuse catalog rarity/profile frame layers anywhere a compact image avatar is rendered. */
.framed-catalog-avatar .catalog-layered-image,
.avatar-preview .catalog-layered-image,
.scout-avatar .catalog-layered-image,
.public-profile-avatar .catalog-layered-image,
.mini-profile-avatar .catalog-layered-image,
.dbd-avatar .catalog-layered-image,
.randomizer-reel-image .catalog-layered-image,
.randomizer-pick-card .catalog-layered-image,
.tier-item .catalog-layered-image,
.hardcore-character-image .catalog-layered-image{
  width:100%;
  height:100%;
  display:block;
}
.framed-catalog-avatar .catalog-layered-image img,
.avatar-preview .catalog-layered-image img,
.scout-avatar .catalog-layered-image img,
.public-profile-avatar .catalog-layered-image img,
.mini-profile-avatar .catalog-layered-image img,
.dbd-avatar .catalog-layered-image img,
.randomizer-reel-image .catalog-layered-image img,
.randomizer-pick-card .catalog-layered-image img,
.tier-item .catalog-layered-image img,
.hardcore-character-image .catalog-layered-image img{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  object-fit:contain!important;
}
.avatar-preview .catalog-layer-fg,
.scout-avatar .catalog-layer-fg,
.public-profile-avatar .catalog-layer-fg,
.mini-profile-avatar .catalog-layer-fg,
.dbd-avatar .catalog-layer-fg{ padding:4px; }
.dbd-avatar .catalog-layer-fg{ padding:5px; }
.tier-item .catalog-layered-image{ width:72px; height:72px; border-radius:12px; background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.08); overflow:hidden; }
.tier-drop .tier-item .catalog-layered-image,
.tier-bank .tier-item .catalog-layered-image{ width:46px; height:46px; border-radius:10px; }
.randomizer-reel-image .catalog-layered-image{ width:min(220px,42vw)!important; height:min(220px,42vw)!important; border-radius:24px; background:rgba(0,0,0,.28); border:1px solid var(--accent-border); box-shadow:0 18px 58px rgba(0,0,0,.45),0 0 28px rgba(155,28,28,.20); overflow:hidden; }
.randomizer-pick-card .catalog-layered-image{ width:54px; height:54px; border-radius:12px; background:rgba(0,0,0,.24); overflow:hidden; }
.hardcore-character-image .catalog-layered-image .catalog-layer-fg{ padding:5px; }
@media(max-width:760px){.tier-item .catalog-layered-image{width:58px;height:58px}}

/* Catalog icon silhouettes: perks diamond, offerings octagon, equipment/powers square. */
.build-card[data-build-card-url]{cursor:pointer;}
.build-card[data-build-card-url]:focus-visible{outline:2px solid var(--accent,#e53764);outline-offset:4px;}
.build-loadout-icon.perk,
.build-loadout-icon.killerPerk,
.build-loadout-icon.survivorPerk,
.public-loadout-icon.killerPerk,
.public-loadout-icon.survivorPerk{
  border-radius:0;
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
}
.build-loadout-icon.offering,
.public-loadout-icon.offering{
  border-radius:0;
  clip-path:polygon(50% 0,85% 15%,100% 50%,85% 85%,50% 100%,15% 85%,0 50%,15% 15%);
}
.build-loadout-icon.itemType,
.build-loadout-icon.itemAddon,
.build-loadout-icon.addon,
.build-loadout-icon.killerPower,
.public-loadout-icon.itemType,
.public-loadout-icon.itemAddon,
.public-loadout-icon.addon,
.public-loadout-icon.killerPower{
  border-radius:8px;
  clip-path:none;
}
.build-loadout-icon .catalog-layered-image,
.public-loadout-icon .public-layered-image{display:block;width:100%;height:100%;position:relative;}
.public-loadout-icon .public-layered-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.public-loadout-icon .public-layer-bg{z-index:0;padding:0;filter:none;}
.public-loadout-icon .public-layer-fg{z-index:1;padding:6px;filter:saturate(.98) contrast(1.05) drop-shadow(0 5px 10px rgba(0,0,0,.35));}
.public-build-detail-art .public-layered-image{display:block;width:100%;height:100%;position:relative;}
.public-build-detail-art .public-layered-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.public-build-detail-art .public-layer-bg{z-index:0;padding:0;filter:none;}
.public-build-detail-art .public-layer-fg{z-index:1;padding:6px;filter:saturate(.98) contrast(1.05) drop-shadow(0 8px 16px rgba(0,0,0,.42));}


/* Patch: larger catalog-manager thumbnails and styled annotation/SWF fields */
.admin-content-grid[data-active-admin-tab="catalog"] .catalog-image-row{grid-template-columns:96px minmax(0,1fr) auto;min-height:104px}
.admin-content-grid[data-active-admin-tab="catalog"] .catalog-image-thumb{width:88px;height:88px;border-radius:16px}
.annotation-text-input,.annotation-proof-input,#scoutSearch,#scoutPlaystyle{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.22));border:1px solid var(--border);border-radius:14px;color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.18)}
.annotation-proof-input{margin-top:8px;width:100%}
.bhvr-prestige-badge{position:absolute;right:6px;bottom:6px;z-index:5;display:grid;place-items:center;width:34px;height:34px;font-family:var(--font-heading);font-weight:900;font-size:15px;color:#fff;text-shadow:0 2px 5px #000}
.bhvr-prestige-badge img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:-1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.65))}
.bhvr-player-portrait,.bhvr-portrait{position:relative}
.dbd-loading-overlay{position:fixed;inset:0;z-index:9999;display:none;place-items:center;background:radial-gradient(circle at 50% 30%,rgba(155,28,28,.22),rgba(0,0,0,.74) 48%,rgba(0,0,0,.88));backdrop-filter:blur(3px)}
.dbd-loading-overlay.show{display:grid}
.dbd-loading-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 28px;border:1px solid var(--accent-border);border-radius:22px;background:linear-gradient(180deg,rgba(18,14,14,.96),rgba(0,0,0,.86));box-shadow:0 24px 90px rgba(0,0,0,.58),0 0 36px rgba(155,28,28,.28);text-align:center}
.dbd-loading-card strong{font-family:var(--font-heading);font-size:28px;text-transform:uppercase;letter-spacing:.05em}.dbd-loading-card small{color:var(--muted)}
.dbd-loading-spinner{position:relative;width:96px;height:56px}.dbd-loading-spinner span{position:absolute;bottom:0;width:10px;height:48px;background:linear-gradient(180deg,#d8d8d8,#7a0e0e);border-radius:999px;box-shadow:0 0 14px rgba(255,65,65,.35);animation:dbdHookPulse 1s ease-in-out infinite}
.dbd-loading-spinner span:nth-child(1){left:18px;animation-delay:0s}.dbd-loading-spinner span:nth-child(2){left:38px;animation-delay:.12s}.dbd-loading-spinner span:nth-child(3){left:58px;animation-delay:.24s}.dbd-loading-spinner span:nth-child(4){left:78px;animation-delay:.36s}
@keyframes dbdHookPulse{0%,100%{transform:translateY(0) scaleY(.72);opacity:.55}50%{transform:translateY(-10px) scaleY(1);opacity:1}}
.dbd-chart-dot.mode{background:rgba(86,165,255,.9)}


/* Patch wave 1 follow-up */
.site-ad-slot[hidden], .site-ad-slot.is-disabled{display:none!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
.admin-content-grid[data-active-admin-tab="catalog"] .catalog-frame-row{grid-template-columns:96px minmax(0,1fr) auto;min-height:104px}
.admin-content-grid[data-active-admin-tab="catalog"] .catalog-frame-thumb{width:88px;height:88px;border-radius:16px}
.bhvr-prestige-wrap{position:relative;display:inline-grid}
.bhvr-prestige-wrap>.bhvr-portrait{grid-area:1/1}
.bhvr-prestige-badge{pointer-events:none}

/* Patch wave 2: tighter prestige badge + visual meta stats */
.bhvr-prestige-badge{right:1px!important;bottom:1px!important;width:60px!important;height:60px!important;font-size:15px!important;line-height:1!important}
.bhvr-prestige-badge img{inset:-2px!important;width:calc(100% + 4px)!important;height:calc(100% + 4px)!important;object-fit:contain!important}
.meta-bar-list-visual{display:flex;flex-direction:column;gap:10px}.meta-bar-row.has-visual{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.075);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.18))}.meta-bar-visual{width:58px;height:58px;display:grid;place-items:center}.meta-row-art,.meta-row-art .catalog-layered-image{width:58px;height:58px;display:block;position:relative}.meta-row-art .catalog-layered-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.meta-row-art .catalog-layer-fg{padding:6px;filter:saturate(1.04) contrast(1.05) drop-shadow(0 8px 14px rgba(0,0,0,.45))}.meta-row-art .catalog-layer-bg{padding:0}.meta-row-initial{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-family:var(--font-heading);font-size:24px;font-weight:900;color:var(--text);background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.16),rgba(155,28,28,.24) 45%,rgba(0,0,0,.35));border:1px solid var(--border)}.meta-bar-content{min-width:0}.meta-bar-row.has-visual .meta-bar-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-build-icons{display:flex;align-items:center;margin-left:0}.meta-build-icon,.meta-build-initial{width:34px;height:34px;margin-left:-8px;border-radius:10px;position:relative;display:grid;place-items:center;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 16px rgba(0,0,0,.28);overflow:hidden}.meta-build-icon:first-child,.meta-build-initial:first-child{margin-left:0}.meta-build-icon .catalog-layered-image,.meta-build-layer{width:34px;height:34px;display:block;position:relative}.meta-build-icon img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.meta-build-icon .catalog-layer-fg{padding:5px}.meta-build-initial{font-family:var(--font-heading);font-weight:900;color:var(--muted)}@media (max-width:680px){.meta-bar-row.has-visual{grid-template-columns:48px minmax(0,1fr);gap:10px}.meta-bar-visual,.meta-row-art,.meta-row-art .catalog-layered-image{width:48px;height:48px}.meta-row-initial{width:42px;height:42px;font-size:20px}}

/* Patch wave 2 prestige placement follow-up: keep badge readable without covering portrait art */
.bhvr-prestige-wrap{
  margin-right:24px!important;
  margin-bottom:10px!important;
  overflow:visible!important;
}
.bhvr-prestige-badge{
  right:-26px!important;
  bottom:-8px!important;
  width:56px!important;
  height:56px!important;
  font-size:15px!important;
  line-height:1!important;
}
.bhvr-prestige-badge img{
  inset:-2px!important;
  width:calc(100% + 4px)!important;
  height:calc(100% + 4px)!important;
  object-fit:contain!important;
}
.cinematic-survivor-mini .bhvr-prestige-wrap,
.cinematic-killer-panel .bhvr-prestige-wrap{
  margin-right:24px!important;
  margin-bottom:10px!important;
}
@media (max-width:720px){
  .bhvr-prestige-wrap{margin-right:20px!important;margin-bottom:8px!important}
  .bhvr-prestige-badge{right:-22px!important;bottom:-7px!important;width:50px!important;height:50px!important}
}

/* Randomizer slot-machine overhaul */
.randomizer-slot-options .toggle-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;min-height:40px}
.randomizer-slot-options .toggle-row label{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.04);font-weight:700;text-transform:uppercase;font-family:var(--font-heading);letter-spacing:.04em}
.slot-machine-reels{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;align-items:center;justify-items:center;font-size:inherit;text-shadow:none}
.slot-machine-reels.slot-count-1{grid-template-columns:minmax(180px,280px);justify-content:center}
.slot-machine-reels.slot-count-2{grid-template-columns:repeat(2,minmax(150px,240px));justify-content:center}
.slot-reel{width:100%;max-width:178px;position:relative;border:1px solid var(--accent-border);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(0,0,0,.36));box-shadow:0 18px 50px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.035);overflow:hidden;padding:10px}
.slot-reel-large{max-width:230px}
.slot-reel-label{font-family:var(--font-heading);font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;text-align:center}
.slot-reel-window{height:128px;overflow:hidden;border-radius:16px;background:radial-gradient(circle at center,rgba(155,28,28,.16),rgba(0,0,0,.26));border:1px solid rgba(255,255,255,.06);position:relative}
.slot-reel-large .slot-reel-window{height:166px}
.slot-reel-window:before,.slot-reel-window:after{content:"";position:absolute;left:0;right:0;height:28px;z-index:2;pointer-events:none}.slot-reel-window:before{top:0;background:linear-gradient(180deg,rgba(0,0,0,.72),transparent)}.slot-reel-window:after{bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent)}
.slot-reel-track{will-change:transform;transform:translateY(0)}
.slot-reel-item{height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:8px;box-sizing:border-box}.slot-reel-large .slot-reel-item{height:166px}
.slot-reel-item .catalog-layered-image,.slot-reel-item img,.slot-reel-item .stream-image-placeholder{width:76px!important;height:76px!important;object-fit:contain;border-radius:14px;background:rgba(0,0,0,.22);overflow:hidden}.slot-reel-large .slot-reel-item .catalog-layered-image,.slot-reel-large .slot-reel-item img,.slot-reel-large .slot-reel-item .stream-image-placeholder{width:110px!important;height:110px!important}
.slot-reel-item .catalog-layered-image img{width:100%!important;height:100%!important;border-radius:0!important;background:transparent!important}.slot-reel-item strong{font-family:var(--font-heading);font-size:16px;line-height:1;text-transform:uppercase;text-align:center;letter-spacing:.035em;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.slot-reel-large .slot-reel-item strong{font-size:20px}
.slot-reel-locked{animation:slotLockPulse .65s ease-out 1}.slot-spin-complete .slot-reel{animation:slotCompletePulse 1.1s ease-out 1}
@keyframes slotLockPulse{0%{transform:scale(1)}45%{transform:scale(1.06);box-shadow:0 0 34px rgba(155,28,28,.42)}100%{transform:scale(1)}}
@keyframes slotCompletePulse{0%{filter:brightness(1)}38%{filter:brightness(1.35)}100%{filter:brightness(1)}}
@media(max-width:760px){.slot-machine-reels{grid-template-columns:repeat(2,minmax(120px,1fr));}.slot-reel,.slot-reel-large{max-width:100%}.slot-reel-window,.slot-reel-item{height:116px}.slot-reel-large .slot-reel-window,.slot-reel-large .slot-reel-item{height:132px}.slot-reel-item .catalog-layered-image,.slot-reel-item img,.slot-reel-item .stream-image-placeholder{width:62px!important;height:62px!important}.slot-reel-large .slot-reel-item .catalog-layered-image,.slot-reel-large .slot-reel-item img,.slot-reel-large .slot-reel-item .stream-image-placeholder{width:82px!important;height:82px!important}}
.stream-overlay-mode .slot-machine-reels{padding:24px;box-sizing:border-box}.stream-overlay-mode .slot-reel{background:rgba(0,0,0,.66);backdrop-filter:blur(6px)}


body.stream-overlay-mode.stream-randomizer-overlay,
body.stream-overlay-mode.stream-randomizer-overlay html{
  overflow:hidden!important;
}
body.stream-overlay-mode.stream-randomizer-overlay{
  width:100vw;
  height:100vh;
}
body.stream-overlay-mode.stream-randomizer-overlay .stream-tool-page{
  width:100vw;
  height:100vh;
  overflow:hidden!important;
}

/* Randomizer overlay v2: true reel animation view */
body.stream-overlay-mode.stream-randomizer-overlay .page-wrap{
  width:100vw;
  max-width:none;
  min-height:0;
  margin:0;
  padding:0!important;
}
body.stream-overlay-mode.stream-randomizer-overlay .stream-page-shell,
body.stream-overlay-mode.stream-randomizer-overlay .stream-randomizer-card{
  width:100%;
  max-width:none;
  margin:0;
}
body.stream-overlay-mode.stream-randomizer-overlay .body{
  width:100%;
  padding:0!important;
}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage{
  width:100vw;
  min-height:0;
  height:auto;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
body.stream-overlay-mode.stream-randomizer-overlay .slot-machine-reels{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  max-width:100vw;
  padding:24px;
  box-sizing:border-box;
}
body.stream-overlay-mode.stream-randomizer-overlay .slot-reel{
  flex:0 1 178px;
  min-width:132px;
}
body.stream-overlay-mode.stream-randomizer-overlay .slot-reel-large{
  flex-basis:230px;
  min-width:190px;
}
body.stream-overlay-mode.stream-randomizer-overlay .slot-count-1 .slot-reel{
  flex-basis:280px;
}
body.stream-overlay-mode.stream-randomizer-overlay #randomizerStatus{
  display:block;
  text-align:center;
  margin-top:8px;
  color:var(--muted);
}
@media(max-width:900px){
  body.stream-overlay-mode.stream-randomizer-overlay .slot-machine-reels{gap:8px;padding:14px;}
  body.stream-overlay-mode.stream-randomizer-overlay .slot-reel{min-width:104px;}
  body.stream-overlay-mode.stream-randomizer-overlay .slot-reel-large{min-width:140px;}
}

/* Stream overlay link-back + counter/timer polish */
.counter-overlay-settings label,
.stream-timer-controls label,
.inline-check{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.92rem}
.counter-overlay-settings input[type="number"],.stream-timer-controls input[type="number"]{width:88px}
.stream-overlay-brand{position:fixed;right:18px;bottom:14px;z-index:20;padding:7px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.48);color:rgba(255,255,255,.82);font-family:'Barlow Condensed',sans-serif;font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.stream-overlay-mode .counter-grid{position:fixed;inset:auto 24px 54px 24px;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:center;pointer-events:none}
.stream-overlay-mode .counter-card{display:none;min-width:190px;transform:translateY(18px) scale(.96);opacity:0;transition:opacity .35s ease,transform .35s ease;background:linear-gradient(145deg,rgba(19,9,9,.9),rgba(2,2,5,.72));border:1px solid rgba(255,255,255,.18);box-shadow:0 18px 38px rgba(0,0,0,.45)}
.stream-overlay-mode .counter-card.show{display:block;opacity:1;transform:translateY(0) scale(1)}
.stream-overlay-mode .counter-card.changed{animation:counterPop .7s ease both}
.stream-overlay-mode .counter-remove,.stream-overlay-mode .counter-buttons{display:none!important}
@keyframes counterPop{0%{transform:translateY(24px) scale(.86);filter:brightness(1)}45%{transform:translateY(-5px) scale(1.08);filter:brightness(1.38)}100%{transform:translateY(0) scale(1);filter:brightness(1)}}
.stream-timer-display{display:grid;place-items:center;min-height:280px}.stream-timer-card{position:relative;isolation:isolate;overflow:hidden;min-width:min(560px,92vw);padding:34px;border-radius:18px;text-align:center;background:rgba(0,0,0,.60);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 46px rgba(0,0,0,.62), inset 0 0 26px rgba(255,255,255,.035);backdrop-filter:blur(4px)}.stream-timer-card:before{content:"";position:absolute;inset:-22%;z-index:-1;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.075),transparent 28%),radial-gradient(circle at 88% 86%,rgba(255,255,255,.055),transparent 34%),linear-gradient(105deg,transparent,rgba(255,255,255,.04),transparent);opacity:.8}.stream-timer-card:after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent)}.stream-timer-card strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:clamp(72px,14vw,160px);line-height:.85;letter-spacing:.03em;color:#fff;text-shadow:0 4px 16px rgba(0,0,0,.95)}.stream-timer-card span{display:block;margin-top:12px;color:rgba(248,250,252,.72);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.stream-timer-kicker{color:rgba(248,250,252,.78)!important;font-family:'Barlow Condensed',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.16em}.stream-timer-card.running{animation:timerSmokeBreath 3.2s ease-in-out infinite}@keyframes timerSmokeBreath{0%,100%{box-shadow:0 18px 46px rgba(0,0,0,.62), inset 0 0 26px rgba(255,255,255,.035)}50%{box-shadow:0 22px 56px rgba(0,0,0,.72), inset 0 0 34px rgba(255,255,255,.055)}}body.stream-overlay-mode.stream-timer-overlay .page-wrap{min-height:100vh;display:grid;place-items:center;padding:0!important}body.stream-overlay-mode.stream-timer-overlay .timer-shell{width:100%;height:100vh;display:grid;place-items:center}body.stream-overlay-mode.stream-timer-overlay .stream-timer-display{min-height:100vh}.stream-feature-card.timers{background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(15,23,42,.72))}
body.stream-overlay-mode.hardcore-overlay-mode .page-wrap{padding:18px!important;max-width:none!important}body.stream-overlay-mode.hardcore-overlay-mode .hardcore-controls-card,body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel,body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-hint{display:none!important}body.stream-overlay-mode.hardcore-overlay-mode .hardcore-hero{margin-bottom:12px;background:rgba(0,0,0,.42);backdrop-filter:blur(8px)}body.stream-overlay-mode.hardcore-overlay-mode .hardcore-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px}body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card{min-height:126px;padding:8px;background:rgba(0,0,0,.54);backdrop-filter:blur(5px)}body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card strong{font-size:.78rem}body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card small{display:none}.public-survivor-card{cursor:default}.public-survivor-hero{background:radial-gradient(circle at 20% 15%,rgba(59,130,246,.18),transparent 38%),linear-gradient(135deg,rgba(15,23,42,.96),rgba(21,7,7,.88))}

/* Streamer Dashboard compact control layout */
.streamer-dashboard-page{padding-bottom:48px}
.streamer-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.stream-dashboard-panel .body{padding-top:16px}
.dashboard-control-deck{display:flex;flex-direction:column;gap:12px}
.dashboard-control-deck .actions{flex-wrap:wrap}
.dashboard-control-deck textarea{min-height:76px}
.dashboard-randomizer-stage{min-height:180px;margin:14px 0;padding:18px}
.dashboard-randomizer-stage .randomizer-reel{font-size:clamp(28px,4vw,58px)}
.dashboard-randomizer-stage .slot-reel{min-width:120px}
.dashboard-randomizer-stage .slot-reel-window{height:116px}
.dashboard-randomizer-stage .slot-reel-item{min-height:116px}
.dashboard-randomizer-stage .slot-reel-item .catalog-layer{width:58px;height:58px}
.dashboard-counter-grid{grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:10px;margin-top:12px}
.dashboard-counter-grid .counter-card{padding:12px 10px;border-radius:18px}
.dashboard-counter-grid .counter-name{font-size:15px;line-height:1.05;min-height:32px;display:flex;align-items:center;justify-content:center}
.dashboard-counter-grid .counter-value{font-size:46px;margin:6px 0 10px}
.dashboard-counter-grid .counter-pulse-label{display:none}
.dashboard-counter-grid .counter-buttons{gap:6px}
.dashboard-counter-grid .counter-buttons button{padding:6px 9px;min-width:34px}
.dashboard-save-panel{padding:10px;border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(0,0,0,.12)}
.dashboard-challenge-layout{grid-template-columns:minmax(0,1fr) minmax(230px,320px);gap:14px;align-items:stretch}
.dashboard-challenge-card{min-height:100%;display:flex;flex-direction:column;justify-content:center}
.dashboard-timer-display{min-height:170px}
.dashboard-timer-display .stream-timer-card{min-width:0;width:100%;padding:22px;border-radius:22px}
.dashboard-timer-display .stream-timer-card strong{font-size:clamp(54px,8vw,96px)}
.dashboard-timer-display .stream-timer-card span{font-size:13px}
.stream-dashboard-panel .stream-page-head{align-items:flex-start;gap:10px}
.stream-dashboard-panel .stream-page-head h3{margin:0;font-family:var(--font-heading);font-size:28px;text-transform:uppercase;letter-spacing:.04em}
.stream-feature-card.dashboard{background:linear-gradient(145deg,rgba(185,28,28,.24),rgba(15,23,42,.72))}
@media(max-width:1120px){.streamer-dashboard-grid{grid-template-columns:1fr}.dashboard-challenge-layout{grid-template-columns:1fr}}
@media(max-width:680px){.dashboard-counter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stream-dashboard-panel .stream-page-head{flex-direction:column}.dashboard-randomizer-stage{min-height:150px}.dashboard-timer-display .stream-timer-card strong{font-size:56px}}

/* OBS overlay sizing guidance + targeted overlay polish */
.obs-size-hint{margin-top:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(0,0,0,.18);color:var(--muted);font-size:.92rem;line-height:1.35}
.obs-size-hint strong{color:var(--text)}
.obs-size-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#fff;background:rgba(255,255,255,.08);padding:2px 6px;border-radius:7px}
.randomizer-brand-field{align-self:end}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-overlay-brand{right:16px;bottom:12px}
body.stream-overlay-mode.stream-counter-overlay .page-wrap{min-height:220px!important;height:220px!important;width:100vw;max-width:none;margin:0;overflow:hidden}
body.stream-overlay-mode.stream-counter-overlay .counter-shell{height:220px!important;overflow:hidden}
body.stream-overlay-mode.stream-counter-overlay .counter-grid{position:fixed;left:20px;right:20px;bottom:38px;min-height:132px;display:flex;flex-wrap:nowrap;gap:14px;align-items:flex-end;justify-content:center;overflow:hidden;pointer-events:none}
body.stream-overlay-mode.stream-counter-overlay .counter-card{min-width:178px;max-width:220px;padding:16px 14px 12px}
body.stream-overlay-mode.stream-counter-overlay .counter-name{font-size:18px}
body.stream-overlay-mode.stream-counter-overlay .counter-value{font-size:58px;margin:8px 0 4px}
body.stream-overlay-mode.stream-counter-overlay .counter-overlay-brand{position:fixed;left:50%;right:auto;bottom:8px;transform:translate(-50%,8px);opacity:0;transition:opacity .35s ease,transform .35s ease;font-size:13px;padding:5px 10px}
body.stream-overlay-mode.stream-counter-overlay .counter-overlay-brand.show{opacity:1;transform:translate(-50%,0)}
body.stream-overlay-mode.stream-timer-overlay .page-wrap{min-height:220px!important;height:220px!important;width:520px;max-width:none;margin:0;display:block!important;place-items:unset!important;overflow:hidden}
body.stream-overlay-mode.stream-timer-overlay .timer-shell{width:520px!important;height:220px!important;display:block!important;place-items:unset!important;overflow:hidden}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-display{min-height:0!important;width:520px;height:220px;display:block;padding:0}

body.stream-overlay-mode.stream-timer-overlay .stream-timer-display.timer-slide-ready{opacity:0;animation-duration:.52s;animation-timing-function:cubic-bezier(.18,.88,.28,1);animation-fill-mode:both}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-display.timer-slide-ready[data-slide-direction="right"]{animation-name:timerSlideInRight}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-display.timer-slide-ready[data-slide-direction="left"]{animation-name:timerSlideInLeft}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-display.timer-slide-ready[data-slide-direction="top"]{animation-name:timerSlideInTop}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-display.timer-slide-ready[data-slide-direction="bottom"]{animation-name:timerSlideInBottom}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-display.timer-slide-ready[data-slide-direction="none"]{opacity:1;animation:none}
@keyframes timerSlideInRight{from{opacity:0;transform:translateX(112%)}to{opacity:1;transform:translateX(0)}}
@keyframes timerSlideInLeft{from{opacity:0;transform:translateX(-112%)}to{opacity:1;transform:translateX(0)}}
@keyframes timerSlideInTop{from{opacity:0;transform:translateY(-112%)}to{opacity:1;transform:translateY(0)}}
@keyframes timerSlideInBottom{from{opacity:0;transform:translateY(112%)}to{opacity:1;transform:translateY(0)}}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-card{position:relative;min-width:0;width:500px;box-sizing:border-box;margin:0;padding:22px 26px 24px;border-radius:13px;text-align:left}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-card strong{font-size:96px;line-height:.85}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-card span{margin-top:8px;font-size:14px}
body.stream-overlay-mode.stream-timer-overlay .timer-overlay-brand{position:absolute;right:14px;bottom:10px;left:auto;top:auto;font-size:12px;padding:4px 8px;background:rgba(0,0,0,.34);color:rgba(248,250,252,.70);border-color:rgba(255,255,255,.10)}
.obs-size-reference{margin-top:18px}.obs-size-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.obs-size-grid>div{padding:12px;border:1px solid var(--border);border-radius:16px;background:rgba(0,0,0,.14)}.obs-size-grid strong{display:block;font-family:var(--font-heading);font-size:20px;text-transform:uppercase}.obs-size-grid span{display:block;margin:4px 0;color:#fff;font-weight:900}.obs-size-grid small{display:block;color:var(--muted);line-height:1.3}

.timer-toggle-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.stream-timer-card.show-ms strong{letter-spacing:.01em}
body.stream-overlay-mode.stream-timer-overlay.timer-ms-mode .page-wrap,
body.stream-overlay-mode.stream-timer-overlay.timer-ms-mode .timer-shell,
body.stream-overlay-mode.stream-timer-overlay.timer-ms-mode .stream-timer-display{width:660px!important}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-card.show-ms{width:640px}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-card.show-ms strong{font-size:78px}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-card.show-ms .timer-overlay-brand{right:14px;bottom:10px}

/* Hardcore OBS overlay refinement */
body.stream-overlay-mode.hardcore-overlay-mode{
  width:1920px;
  min-width:1920px;
  height:1080px;
  min-height:1080px;
  overflow:hidden;
  background:transparent!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .page-wrap{
  width:1920px!important;
  max-width:1920px!important;
  height:1080px!important;
  max-height:1080px!important;
  padding:18px!important;
  margin:0!important;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:12px;
  overflow:hidden;
}
body.stream-overlay-mode.hardcore-overlay-mode .stream-command-copy,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-controls-card,
body.stream-overlay-mode.hardcore-overlay-mode .section-title-row,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-section > .eyebrow,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-hint{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-hero{
  justify-self:end;
  width:auto;
  min-width:0;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:14px;
  background:rgba(0,0,0,.52)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.32);
  backdrop-filter:blur(8px);
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-hero::after{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:8px!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary > div{
  min-width:92px!important;
  padding:7px 10px!important;
  border-radius:11px!important;
  background:rgba(15,23,42,.76)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary strong{
  font-size:1.16rem!important;
  line-height:1!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary span{
  font-size:.57rem!important;
  letter-spacing:.12em!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-section{
  min-height:0;
  height:100%;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-grid{
  height:100%;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(142px,1fr))!important;
  grid-auto-rows:minmax(178px,1fr);
  gap:12px!important;
  align-content:start;
  overflow:hidden;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card{
  min-height:0!important;
  height:100%;
  padding:9px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(15,23,42,.76),rgba(7,10,16,.72))!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 16px 32px rgba(0,0,0,.34);
  backdrop-filter:blur(5px);
  display:grid;
  grid-template-rows:1fr auto auto;
  gap:6px;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-image{
  width:100%!important;
  height:100%!important;
  min-height:118px!important;
  border-radius:13px!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-image .catalog-layered-image,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-image img,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-placeholder{
  width:100%!important;
  height:100%!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-info{
  min-width:0;
  text-align:center;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-info strong{
  display:block;
  font-size:.86rem!important;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-info small{
  display:block!important;
  font-size:.62rem!important;
  line-height:1;
  margin-top:3px;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  padding:5px 7px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.36)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel .hardcore-streak-label{
  display:inline!important;
  font-size:.58rem!important;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(226,232,240,.78)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel .hardcore-streak-controls{
  display:flex!important;
  align-items:center;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel .hardcore-streak-btn{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel .hardcore-streak-value{
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:.9rem!important;
  line-height:1;
  color:#fff!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated{
  opacity:.56;
  filter:grayscale(.75);
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated .hardcore-streak-panel{
  opacity:.72;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-defeat-x{
  top:8px!important;
  right:8px!important;
  width:36px!important;
  height:36px!important;
  font-size:2rem!important;
}
@media (max-width:1400px){
  body.stream-overlay-mode.hardcore-overlay-mode,
  body.stream-overlay-mode.hardcore-overlay-mode .page-wrap{
    width:100vw!important;
    min-width:0!important;
    height:100vh!important;
    min-height:0!important;
  }
  body.stream-overlay-mode.hardcore-overlay-mode .hardcore-grid{
    grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;
    gap:10px!important;
  }
}


/* Hardcore OBS overlay: center the defeated X on the portrait only, not the dimmed card. */
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated{
  opacity:1!important;
  filter:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated .hardcore-character-image img,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated .hardcore-character-placeholder{
  filter:grayscale(.92) brightness(.42)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated::after{
  inset:9px 9px 70px 9px!important;
  border-radius:13px!important;
  z-index:2!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-defeat-x{
  inset:9px 9px auto 9px!important;
  width:auto!important;
  height:calc(100% - 84px)!important;
  display:grid!important;
  place-items:center!important;
  font-size:clamp(4.5rem,7vw,7rem)!important;
  line-height:1!important;
  opacity:0;
  z-index:8!important;
  color:rgba(255,45,45,.98)!important;
  text-shadow:0 8px 28px rgba(0,0,0,.92),0 0 20px rgba(239,68,68,.75)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated .hardcore-defeat-x{
  opacity:1!important;
  filter:none!important;
  transform:rotate(-9deg) scale(1)!important;
}

/* Archives Phase 1: cinematic public timeline pass */
.calendar-page{
  isolation:isolate;
  background:
    radial-gradient(circle at 50% -10%, rgba(155, 28, 28, .18), transparent 34%),
    radial-gradient(circle at 9% 32%, rgba(255, 255, 255, .055), transparent 26%),
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.04) 34%, rgba(0,0,0,.18));
}
.calendar-page::before{
  background:
    radial-gradient(circle at 12% 10%, rgba(155,28,28,.28), transparent 29%),
    radial-gradient(circle at 88% 22%, rgba(140,15,22,.20), transparent 34%),
    repeating-linear-gradient(118deg, rgba(255,255,255,.025) 0 1px, transparent 1px 42px),
    linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.36));
  opacity:.92;
}
.calendar-hero{
  min-height:210px;
  border:1px solid color-mix(in srgb, var(--danger, #b51f2e) 62%, var(--border));
  background:
    linear-gradient(120deg, rgba(0,0,0,.58), rgba(0,0,0,.18) 42%, rgba(155,28,28,.18)),
    radial-gradient(circle at 76% 22%, rgba(220,35,45,.22), transparent 27%),
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 72%, #000 28%), color-mix(in srgb, var(--panel-2) 78%, #000 22%));
  box-shadow:0 24px 70px rgba(0,0,0,.42), inset 0 0 80px rgba(155,28,28,.08);
}
.calendar-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0 56%, rgba(255,255,255,.05) 56% 56.5%, transparent 56.5%),
    radial-gradient(ellipse at 50% 110%, rgba(255,255,255,.12), transparent 58%);
  opacity:.75;
}
.calendar-hero .head h2{
  font-size:clamp(2.7rem, 7vw, 5.8rem);
  line-height:.85;
  text-transform:uppercase;
  letter-spacing:.055em;
  text-shadow:0 0 30px rgba(180,22,33,.42), 0 4px 0 rgba(0,0,0,.32);
}
.calendar-hero .head h2::before{ content:"◈ "; }
.calendar-hero .head p{ max-width:760px; font-size:1.03rem; }
.calendar-timeline-card{
  border-radius:26px;
  border:1px solid color-mix(in srgb, var(--danger, #b51f2e) 74%, var(--border));
  background:
    radial-gradient(circle at 50% 18%, rgba(185,22,31,.24), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.38), rgba(0,0,0,.16)),
    linear-gradient(135deg, color-mix(in srgb, var(--panel) 78%, #000 22%), color-mix(in srgb, var(--panel-2) 70%, var(--danger, #b51f2e) 30%));
  box-shadow:0 26px 78px rgba(0,0,0,.52), 0 0 60px rgba(155,28,28,.24), inset 0 0 80px rgba(0,0,0,.24);
}
.calendar-timeline-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0 7%, rgba(255,255,255,.04) 7% 7.25%, transparent 7.25% 18%, rgba(255,255,255,.025) 18% 18.2%, transparent 18.2%),
    radial-gradient(ellipse at 50% 102%, rgba(230,230,230,.12), transparent 48%);
  mix-blend-mode:screen;
  opacity:.85;
}
.calendar-timeline-card .head{
  position:relative;
  padding-bottom:18px;
  border-bottom:1px solid rgba(210,34,43,.34);
}
.calendar-timeline-card .head h2{
  font-size:clamp(2.5rem, 5.6vw, 5rem);
  line-height:.82;
  letter-spacing:.07em;
}
.calendar-timeline-card .head h2::after{
  content:"";
  display:block;
  width:150px;
  height:4px;
  margin-top:14px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--danger, #b51f2e), transparent);
  box-shadow:0 0 24px rgba(190,28,37,.72);
}
.calendar-timeline-shell{
  min-height:390px;
  padding:28px 8px 36px;
  scroll-snap-type:x mandatory;
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.16), rgba(255,255,255,.025), rgba(0,0,0,.20));
}
.calendar-timeline-shell::before{
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 112px),
    radial-gradient(ellipse at 50% 100%, rgba(255,255,255,.16), transparent 62%);
  opacity:.9;
}
.calendar-visual-timeline{
  align-items:center;
  gap:24px;
  padding:34px 32px 48px;
}
.calendar-visual-timeline::before{
  top:50%;
  transform:translateY(-50%);
  height:8px;
  left:34px;
  right:34px;
  background:
    linear-gradient(90deg, transparent, rgba(110,110,110,.50) 7%, rgba(205,33,43,.9) 46%, rgba(255,255,255,.45) 50%, rgba(205,33,43,.9) 54%, rgba(110,110,110,.50) 93%, transparent),
    repeating-linear-gradient(90deg, transparent 0 22px, rgba(255,255,255,.32) 22px 24px);
  box-shadow:0 0 18px rgba(205,33,43,.58), 0 0 42px rgba(205,33,43,.22);
}
.calendar-era-marker{
  scroll-snap-align:start;
  align-self:stretch;
  min-width:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.calendar-era-marker span{
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  padding:12px 7px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(0,0,0,.36);
  color:var(--muted);
  font-weight:900;
  font-size:.72rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  box-shadow:0 0 24px rgba(0,0,0,.28);
}
.calendar-timeline-node{
  width:280px;
  min-height:300px;
  grid-template-rows:34px 36px 1fr;
  gap:11px;
  scroll-snap-align:center;
  filter:saturate(.92);
  transition:transform .18s ease, filter .18s ease;
}
.calendar-timeline-node.calendar-node-low{ transform:translateY(32px); }
.calendar-timeline-node.calendar-node-high{ transform:translateY(-28px); }
.calendar-timeline-node:hover{ filter:saturate(1.2); z-index:5; }
.calendar-timeline-node.calendar-node-low:hover{ transform:translateY(22px) scale(1.015); }
.calendar-timeline-node.calendar-node-high:hover{ transform:translateY(-38px) scale(1.015); }
.calendar-node-year{
  justify-self:start;
  margin-left:18px;
  background:rgba(0,0,0,.58);
  border-color:rgba(255,255,255,.16);
  color:#f1f1f1;
  box-shadow:0 0 18px rgba(0,0,0,.35);
}
.calendar-node-spine::before{
  content:"";
  position:absolute;
  top:18px;
  width:2px;
  height:54px;
  background:linear-gradient(180deg, rgba(205,33,43,.9), transparent);
  box-shadow:0 0 16px rgba(205,33,43,.52);
}
.calendar-node-low .calendar-node-spine::before{ top:auto; bottom:18px; background:linear-gradient(0deg, rgba(205,33,43,.9), transparent); }
.calendar-node-dot{
  width:28px;
  height:28px;
  border-width:4px;
  background:radial-gradient(circle, #17191d 35%, #050608 70%);
  box-shadow:0 0 0 9px rgba(0,0,0,.56), 0 0 32px rgba(205,33,43,.75), inset 0 0 10px rgba(255,255,255,.10);
}
.calendar-node-card{
  grid-template-columns:76px 1fr;
  gap:12px;
  min-height:192px;
  padding:15px;
  border-radius:22px;
  border-color:rgba(255,255,255,.14);
  background:
    linear-gradient(135deg, rgba(255,255,255,.07), transparent 30%),
    radial-gradient(circle at 22% 18%, rgba(205,33,43,.22), transparent 35%),
    linear-gradient(180deg, rgba(18,20,24,.94), rgba(8,9,12,.96));
  box-shadow:0 18px 42px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06);
}
.calendar-node-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg, transparent 0 64%, rgba(255,255,255,.055) 64% 65%, transparent 65%);
  opacity:.75;
}
.calendar-node-portrait{
  width:76px;
  min-height:116px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 18%, rgba(255,255,255,.18), transparent 26%),
    radial-gradient(circle at 52% 42%, rgba(205,33,43,.28), transparent 34%),
    linear-gradient(180deg, rgba(45,45,48,.72), rgba(4,5,7,.95));
  box-shadow:inset 0 0 30px rgba(0,0,0,.55), 0 0 24px rgba(205,33,43,.14);
}
.calendar-node-portrait::before{
  content:"";
  position:absolute;
  inset:-15%;
  background:repeating-linear-gradient(115deg, rgba(255,255,255,.06) 0 1px, transparent 1px 12px);
  opacity:.33;
}
.calendar-node-portrait span{
  position:relative;
  z-index:1;
  font-family:var(--font-display);
  font-size:1.55rem;
  font-weight:900;
  letter-spacing:.08em;
  color:#fff;
  text-shadow:0 0 18px rgba(205,33,43,.8);
}
.calendar-node-content{ display:grid; gap:7px; align-content:start; min-width:0; }
.calendar-node-kicker{
  border-color:rgba(205,33,43,.42);
  color:#f3d9dc;
  background:rgba(155,28,28,.18);
}
.calendar-node-card strong{
  font-size:1.42rem;
  line-height:.98;
  letter-spacing:.025em;
}
.calendar-node-target{
  color:var(--muted);
  font-weight:700;
  font-size:.78rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calendar-node-state{
  width:max-content;
  max-width:100%;
  margin-top:2px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.24);
  color:var(--muted);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.calendar-timeline-node.calendar-timing-history{ opacity:.76; }
.calendar-timeline-node.calendar-timing-history:hover{ opacity:1; }
.calendar-timeline-node.calendar-timing-upcoming .calendar-node-card{
  border-style:solid;
  border-color:rgba(230,190,88,.55);
  animation:calendarFutureFlicker 3.8s infinite steps(1,end);
}
.calendar-timeline-node.calendar-timing-active .calendar-node-card,
.calendar-timeline-node.calendar-type-chapter.calendar-timing-active .calendar-node-card{
  border-color:rgba(255,70,82,.9);
  box-shadow:0 22px 48px rgba(0,0,0,.48), 0 0 46px rgba(205,33,43,.40), inset 0 0 40px rgba(205,33,43,.10);
}
.calendar-timeline-node.calendar-type-chapter .calendar-node-portrait{
  border-color:rgba(255,75,86,.42);
  box-shadow:inset 0 0 34px rgba(0,0,0,.58), 0 0 30px rgba(205,33,43,.22);
}
.calendar-entries-card,
.calendar-layout .right-column .card{
  background:linear-gradient(180deg, color-mix(in srgb, var(--panel-2) 90%, #000 10%), color-mix(in srgb, var(--panel) 84%, #000 16%));
}
@keyframes calendarFutureFlicker{
  0%, 88%, 100%{ opacity:1; }
  89%{ opacity:.82; }
  90%{ opacity:1; }
  93%{ opacity:.9; }
}
@media (max-width: 900px){
  .calendar-timeline-shell{ min-height:340px; }
  .calendar-timeline-node{ width:244px; min-height:280px; }
  .calendar-timeline-node.calendar-node-low{ transform:translateY(24px); }
  .calendar-timeline-node.calendar-node-high{ transform:translateY(-20px); }
  .calendar-node-card{ grid-template-columns:62px 1fr; }
  .calendar-node-portrait{ width:62px; min-height:104px; }
  .calendar-era-marker{ min-width:70px; }
}

/* Archives Phase 2: interactive timeline lenses */
.archives-toolbar{
  gap:16px;
}
.archive-filter-panel{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  padding:12px;
  background:
    radial-gradient(circle at 12% 0%, rgba(229,55,100,.12), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.archive-filter-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg, rgba(255,255,255,.06), transparent 35%, rgba(229,55,100,.05));
  opacity:.55;
}
.archive-filter-label{
  position:relative;
  z-index:1;
  margin:0 0 8px;
  color:var(--muted);
  font-size:.74rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.archive-focus-chips{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.archive-chip{
  border-radius:999px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(0,0,0,.28);
  color:var(--muted);
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
  box-shadow:none;
}
.archive-chip:hover{
  color:var(--text);
  border-color:rgba(229,55,100,.45);
  box-shadow:0 0 18px rgba(229,55,100,.13);
}
.archive-chip.active{
  color:#fff;
  border-color:rgba(229,55,100,.72);
  background:
    radial-gradient(circle at 50% 0%, rgba(229,55,100,.34), transparent 72%),
    linear-gradient(180deg, rgba(133,18,37,.82), rgba(28,5,9,.92));
  box-shadow:0 0 26px rgba(229,55,100,.22), inset 0 0 18px rgba(255,255,255,.04);
}
.archive-search-row{
  align-items:center;
}
.archive-lens-bar{
  display:grid;
  grid-template-columns:minmax(220px,.85fr) minmax(0,1.6fr);
  gap:12px;
  margin:0 0 16px;
}
.archive-lens-current,
.archive-lens-counts button{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(0,0,0,.28);
  box-shadow:inset 0 0 30px rgba(0,0,0,.18);
}
.archive-lens-current{
  padding:14px 16px;
}
.archive-lens-current span,
.archive-lens-current em,
.archive-lens-counts span{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  font-style:normal;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.archive-lens-current strong{
  display:block;
  margin:5px 0 4px;
  font-family:var(--font-display, var(--font-heading));
  color:#fff;
  font-size:1.25rem;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.archive-lens-counts{
  display:grid;
  grid-template-columns:repeat(5,minmax(90px,1fr));
  gap:8px;
}
.archive-lens-counts button{
  min-height:78px;
  padding:10px;
  text-align:left;
  color:var(--text);
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.archive-lens-counts button::after{
  content:"";
  position:absolute;
  right:-18px;
  bottom:-26px;
  width:74px;
  height:74px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(229,55,100,.22), transparent 62%);
}
.archive-lens-counts button:hover{
  transform:translateY(-2px);
  border-color:rgba(229,55,100,.44);
  box-shadow:0 12px 30px rgba(0,0,0,.22), 0 0 22px rgba(229,55,100,.12);
}
.archive-lens-counts strong{
  display:block;
  font-family:var(--font-display, var(--font-heading));
  color:#fff;
  font-size:1.8rem;
  line-height:1;
}
.calendar-visual-timeline{
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
}
.calendar-timeline-node{
  scroll-snap-align:center;
}
.calendar-timeline-node.archive-focus-match .calendar-node-card{
  box-shadow:0 0 28px rgba(229,55,100,.16), inset 0 0 28px rgba(255,255,255,.035);
}
.calendar-timeline-node.calendar-type-tournament .calendar-node-portrait,
.calendar-timeline-node.calendar-type-community_challenge .calendar-node-portrait{
  background:radial-gradient(circle at 50% 20%, rgba(76,170,255,.34), rgba(5,18,32,.9) 72%);
}
.calendar-timeline-node.calendar-type-kill_switch .calendar-node-portrait,
.calendar-timeline-node.calendar-type-alert .calendar-node-portrait,
.calendar-timeline-node.calendar-type-maintenance .calendar-node-portrait{
  background:radial-gradient(circle at 50% 20%, rgba(255,210,80,.28), rgba(48,19,0,.92) 72%);
}
@media(max-width:900px){
  .archive-lens-bar{ grid-template-columns:1fr; }
  .archive-lens-counts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-search-row{ grid-template-columns:1fr; }
}
@media(max-width:560px){
  .archive-focus-chips{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-chip{ width:100%; padding:9px 10px; }
  .archive-lens-counts{ grid-template-columns:1fr; }
}

/* Archives Phase 3: chapter dossier layer */
.calendar-timeline-node.is-selected-dossier .calendar-node-card,
.calendar-entry-card.is-selected-dossier{
  border-color:color-mix(in srgb, var(--accent, #d5222b) 76%, #fff);
  box-shadow:0 18px 42px rgba(0,0,0,.45), 0 0 34px color-mix(in srgb, var(--accent, #d5222b) 34%, transparent);
}
.calendar-node-dossier{
  display:inline-flex;
  width:max-content;
  margin-top:2px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid color-mix(in srgb, var(--accent, #d5222b) 55%, var(--border));
  background:color-mix(in srgb, var(--accent, #d5222b) 16%, transparent);
  color:var(--accent-text, #ffd0d7);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.chapter-record-card{
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--panel-2) 86%, var(--accent, #d5222b) 14%), var(--panel-2));
}
.archive-dossier-link{
  min-height:30px;
  padding:5px 10px;
}
.chapter-fact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:12px 0;
}
.chapter-fact-grid.compact{
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  margin:10px 0 4px;
}
.chapter-fact-grid > div{
  border:1px solid color-mix(in srgb, var(--border) 76%, var(--accent, #d5222b) 24%);
  border-radius:14px;
  background:rgba(0,0,0,.20);
  padding:9px 10px;
  min-width:0;
}
.chapter-fact-grid span{
  display:block;
  color:var(--muted);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.chapter-fact-grid strong{
  display:block;
  color:var(--text);
  font-family:var(--font-display);
  font-size:1rem;
  line-height:1.08;
  overflow:hidden;
  text-overflow:ellipsis;
}
.chapter-dossier-stats{ margin-bottom:var(--space-3); }
.chapter-dossier-card{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb, var(--accent, #d5222b) 52%, var(--border));
  border-radius:22px;
  padding:var(--space-4);
  background:
    radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--accent, #d5222b) 22%, transparent), transparent 42%),
    linear-gradient(180deg, color-mix(in srgb, var(--panel-2) 86%, #000 14%), color-mix(in srgb, var(--panel) 76%, var(--accent, #d5222b) 12%));
  box-shadow:0 18px 40px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.06);
}
.chapter-dossier-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg, transparent, var(--accent, #d5222b), transparent);
  opacity:.95;
}
.chapter-dossier-hero{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:var(--space-3);
  align-items:center;
  margin-bottom:var(--space-3);
}
.chapter-dossier-mark{
  width:62px;
  height:62px;
  border-radius:18px;
  display:grid;
  place-items:center;
  border:1px solid color-mix(in srgb, var(--accent, #d5222b) 68%, #fff);
  background:rgba(0,0,0,.42);
  color:var(--accent-text, #ffd0d7);
  font-family:var(--font-display);
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:.08em;
  box-shadow:0 0 24px color-mix(in srgb, var(--accent, #d5222b) 34%, transparent);
}
.chapter-dossier-hero h3{
  margin:.35rem 0 .1rem;
  font-family:var(--font-display);
  font-size:clamp(1.7rem, 3vw, 2.35rem);
  line-height:.95;
  color:var(--text);
}
.chapter-dossier-hero p{
  margin:0;
  color:var(--muted);
  font-weight:800;
}
.chapter-dossier-notes{
  margin-top:var(--space-3);
  padding-top:var(--space-3);
  border-top:1px solid color-mix(in srgb, var(--border) 72%, var(--accent, #d5222b) 28%);
}
.chapter-dossier-notes > span,
.chapter-related-records > span{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.chapter-dossier-notes p{
  margin:0;
  color:var(--text);
  white-space:pre-line;
}
.chapter-related-records{
  margin-top:var(--space-3);
  display:grid;
  gap:8px;
}
.chapter-related-records button,
.chapter-dossier-index .calendar-mini-item{
  width:100%;
  text-align:left;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(0,0,0,.18);
  color:var(--text);
  padding:9px 10px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:8px;
  align-items:center;
}
.chapter-related-records button em,
.chapter-dossier-index .calendar-mini-item span:last-child{
  color:var(--muted);
  font-style:normal;
  font-size:.85rem;
}
.chapter-dossier-index .calendar-mini-item.active{
  border-color:color-mix(in srgb, var(--accent, #d5222b) 70%, #fff);
  background:color-mix(in srgb, var(--accent, #d5222b) 14%, rgba(0,0,0,.2));
}
.chapter-dossier-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:var(--space-3);
}
@media (max-width: 760px){
  .chapter-dossier-hero{ grid-template-columns:1fr; }
  .chapter-fact-grid{ grid-template-columns:1fr; }
  .chapter-related-records button,
  .chapter-dossier-index .calendar-mini-item{ grid-template-columns:1fr; }
}


/* Archives Phase 4: meta and community history layer */
.archive-meta-card{
  position:relative;
  overflow:hidden;
  border-color:color-mix(in srgb, var(--accent, #d5222b) 30%, var(--border));
  background:
    radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--accent, #d5222b) 18%, transparent), transparent 38%),
    radial-gradient(circle at 88% 18%, rgba(120,120,140,.10), transparent 42%),
    linear-gradient(180deg, color-mix(in srgb, var(--panel) 88%, #000 12%), var(--panel-2));
}
.archive-meta-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(100deg, transparent 0 18%, rgba(255,255,255,.035) 19%, transparent 20% 54%, rgba(229,55,100,.07) 55%, transparent 57%),
    radial-gradient(circle at 50% 100%, rgba(0,0,0,.35), transparent 48%);
  opacity:.75;
}
.archive-meta-card > *{ position:relative; z-index:1; }
.archive-meta-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:var(--space-3);
}
.archive-meta-chip{
  border:1px solid color-mix(in srgb, var(--border) 78%, var(--accent, #d5222b) 22%);
  border-radius:999px;
  background:rgba(0,0,0,.20);
  color:var(--muted);
  padding:8px 12px;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.archive-meta-chip:hover,
.archive-meta-chip.active{
  border-color:color-mix(in srgb, var(--accent, #d5222b) 68%, #fff);
  color:#fff;
  background:color-mix(in srgb, var(--accent, #d5222b) 18%, rgba(0,0,0,.28));
  box-shadow:0 0 22px color-mix(in srgb, var(--accent, #d5222b) 18%, transparent);
}
.archive-meta-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(220px,1fr));
  gap:var(--space-3);
}
.archive-meta-moment{
  position:relative;
  overflow:hidden;
  min-height:260px;
  display:flex;
  flex-direction:column;
  gap:9px;
  border:1px solid color-mix(in srgb, var(--border) 70%, var(--accent, #d5222b) 30%);
  border-radius:22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 22%),
    radial-gradient(circle at 20% 0%, rgba(229,55,100,.13), transparent 38%),
    rgba(0,0,0,.22);
  padding:var(--space-4);
  box-shadow:0 18px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05);
}
.archive-meta-moment::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg, transparent, var(--accent, #d5222b), transparent);
  opacity:.86;
}
.archive-meta-moment::after{
  content:"";
  position:absolute;
  right:-36px;
  top:-36px;
  width:126px;
  height:126px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.07), transparent 60%);
  pointer-events:none;
}
.archive-meta-moment.warning::before{ background:linear-gradient(180deg, transparent, #ffd35a, transparent); }
.archive-meta-moment.danger::before{ background:linear-gradient(180deg, transparent, #ff3155, transparent); }
.archive-meta-moment.success::before{ background:linear-gradient(180deg, transparent, #58d68d, transparent); }
.archive-meta-moment.info::before{ background:linear-gradient(180deg, transparent, #6bb7ff, transparent); }
.archive-meta-moment.event::before{ background:linear-gradient(180deg, transparent, #b085ff, transparent); }
.archive-meta-kicker{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.archive-meta-kicker span{
  color:var(--accent-text, #ffd0d7);
}
.archive-meta-kicker em{
  font-style:normal;
  opacity:.86;
}
.archive-meta-moment h3{
  margin:0;
  color:#fff;
  font-family:var(--font-display, var(--font-heading));
  font-size:clamp(1.35rem, 2.2vw, 1.85rem);
  line-height:.98;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.archive-meta-period{
  width:max-content;
  max-width:100%;
  border:1px solid color-mix(in srgb, var(--accent, #d5222b) 40%, var(--border));
  border-radius:999px;
  background:rgba(0,0,0,.24);
  color:var(--text);
  padding:4px 9px;
  font-size:.78rem;
  font-weight:900;
}
.archive-meta-moment p{
  margin:0;
  color:color-mix(in srgb, var(--text) 86%, var(--muted));
  line-height:1.45;
}
.archive-meta-footer{
  margin-top:auto;
  padding-top:var(--space-2);
}
.archive-meta-footer button{
  width:100%;
  justify-content:center;
  white-space:normal;
}
@media(max-width:1180px){
  .archive-meta-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px){
  .archive-meta-grid{ grid-template-columns:1fr; }
  .archive-meta-moment{ min-height:0; }
}

/* Archives Phase 5 — atmosphere layer */
.calendar-page::after{
  content:"";
  position:fixed;
  inset:-12vh -12vw;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(ellipse at 18% 72%, rgba(255,255,255,.055), transparent 38%),
    radial-gradient(ellipse at 82% 18%, rgba(255,255,255,.045), transparent 34%),
    linear-gradient(115deg, transparent 0 28%, rgba(255,255,255,.035) 42%, transparent 58% 100%);
  filter:blur(18px);
  opacity:.72;
  animation:archiveFogDrift 28s ease-in-out infinite alternate;
}
.archive-atmosphere-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-2);
  margin-bottom:var(--space-2);
  padding:9px 12px;
  border:1px solid color-mix(in srgb, var(--danger, #b51f2e) 34%, var(--border));
  border-radius:999px;
  background:linear-gradient(90deg, rgba(0,0,0,.28), color-mix(in srgb, var(--panel-2) 82%, var(--danger, #b51f2e) 18%), rgba(0,0,0,.28));
  color:var(--muted);
  font-size:.9rem;
  box-shadow:inset 0 0 18px rgba(0,0,0,.24);
}
.archive-atmosphere-controls span{
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:color-mix(in srgb, var(--text) 70%, var(--muted));
}
.archive-atmosphere-controls button.active{
  border-color:color-mix(in srgb, var(--danger, #b51f2e) 72%, #fff);
  color:var(--danger-text, #ffd5d9);
  box-shadow:0 0 18px color-mix(in srgb, var(--danger, #b51f2e) 28%, transparent);
}
.calendar-timeline-card{
  isolation:isolate;
}
.calendar-timeline-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(102deg, transparent 0 12%, rgba(255,255,255,.04) 12.5% 13%, transparent 13.5% 29%, rgba(255,255,255,.035) 29.5% 30%, transparent 30.5%),
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--danger, #b51f2e) 18%, transparent), transparent 28%),
    radial-gradient(circle at 88% 70%, color-mix(in srgb, var(--danger, #b51f2e) 14%, transparent), transparent 30%);
  opacity:.78;
  mix-blend-mode:screen;
}
.calendar-timeline-card > .head,
.calendar-timeline-card > .body{
  position:relative;
  z-index:1;
}
.archive-fog-layer,
.archive-entity-veins{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  border-radius:inherit;
}
.archive-fog-layer{
  z-index:0;
  background:
    radial-gradient(ellipse at 8% 78%, rgba(255,255,255,.12), transparent 31%),
    radial-gradient(ellipse at 44% 95%, rgba(255,255,255,.075), transparent 34%),
    radial-gradient(ellipse at 82% 80%, rgba(255,255,255,.095), transparent 30%);
  filter:blur(16px);
  opacity:.58;
  animation:archiveFogDrift 24s ease-in-out infinite alternate;
}
.archive-entity-veins{
  z-index:0;
  opacity:.33;
  background:
    linear-gradient(118deg, transparent 0 20%, color-mix(in srgb, var(--danger, #b51f2e) 68%, transparent) 20.15% 20.45%, transparent 20.7% 100%),
    linear-gradient(64deg, transparent 0 55%, color-mix(in srgb, var(--danger, #b51f2e) 46%, transparent) 55.15% 55.35%, transparent 55.65% 100%),
    linear-gradient(156deg, transparent 0 68%, color-mix(in srgb, var(--danger, #b51f2e) 42%, transparent) 68.1% 68.35%, transparent 68.6% 100%);
  animation:archiveVeinPulse 5.8s ease-in-out infinite;
}
.calendar-timeline-shell::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--panel) 92%, transparent), transparent 11%, transparent 89%, color-mix(in srgb, var(--panel) 92%, transparent)),
    radial-gradient(ellipse at 50% 108%, rgba(255,255,255,.16), transparent 45%);
  opacity:.72;
}
.calendar-visual-timeline::before{
  animation:archiveTimelinePulse 3.8s ease-in-out infinite;
}
.calendar-visual-timeline::after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  top:58px;
  height:13px;
  pointer-events:none;
  border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.32), transparent 18%, transparent 100%);
  opacity:.55;
  transform:translateX(-35%);
  animation:archiveRedSweep 9s linear infinite;
  mix-blend-mode:screen;
}
.calendar-node-card::after{
  content:"";
  position:absolute;
  inset:-60% -50%;
  pointer-events:none;
  background:linear-gradient(115deg, transparent 32%, rgba(255,255,255,.105), transparent 47%);
  opacity:0;
  transform:translateX(-24%) rotate(7deg);
  transition:opacity .18s ease, transform .38s ease;
}
.calendar-timeline-node:hover .calendar-node-card::after,
.calendar-timeline-node:focus-visible .calendar-node-card::after{
  opacity:1;
  transform:translateX(24%) rotate(7deg);
}
.calendar-timeline-node.calendar-timing-active .calendar-node-dot,
.calendar-timeline-node.calendar-timing-active .calendar-node-card{
  animation:archiveActivePulse 2.6s ease-in-out infinite;
}
.calendar-timeline-node.calendar-timing-upcoming .calendar-node-card{
  animation:archiveSignalFlicker 6.5s steps(1,end) infinite;
}
.calendar-timeline-node.is-selected-dossier .calendar-node-card,
.calendar-entry-card.is-selected-dossier,
.chapter-dossier-card{
  box-shadow:
    0 18px 42px rgba(0,0,0,.38),
    0 0 0 1px color-mix(in srgb, var(--danger, #b51f2e) 42%, transparent),
    0 0 34px color-mix(in srgb, var(--danger, #b51f2e) 22%, transparent);
}
.calendar-node-portrait{
  position:relative;
}
.calendar-node-portrait::after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:1px solid color-mix(in srgb, var(--danger, #b51f2e) 45%, transparent);
  opacity:.72;
  animation:archivePortraitPulse 4.2s ease-in-out infinite;
}
.calendar-entry-card,
.archive-meta-moment,
.chapter-dossier-card,
.calendar-layout .right-column .card,
.calendar-entries-card{
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.calendar-entry-card:hover,
.archive-meta-moment:hover,
.calendar-layout .right-column .card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb, var(--danger, #b51f2e) 44%, var(--border));
  box-shadow:0 16px 34px rgba(0,0,0,.30), 0 0 22px color-mix(in srgb, var(--danger, #b51f2e) 12%, transparent);
}
.archive-chip:hover,
.archive-meta-chip:hover,
.archive-lens-counts button:hover{
  box-shadow:0 0 18px color-mix(in srgb, var(--danger, #b51f2e) 18%, transparent);
}

.archives-atmosphere-off .calendar-page::after,
.archives-atmosphere-off .archive-fog-layer,
.archives-atmosphere-off .archive-entity-veins,
.archives-atmosphere-off .calendar-visual-timeline::after{
  display:none;
}
.archives-atmosphere-off .calendar-visual-timeline::before,
.archives-atmosphere-off .calendar-timeline-node.calendar-timing-active .calendar-node-dot,
.archives-atmosphere-off .calendar-timeline-node.calendar-timing-active .calendar-node-card,
.archives-atmosphere-off .calendar-timeline-node.calendar-timing-upcoming .calendar-node-card,
.archives-atmosphere-off .calendar-node-portrait::after{
  animation:none!important;
}
.archives-atmosphere-off .calendar-timeline-card::before{
  opacity:.28;
}

@keyframes archiveFogDrift{
  0%{ transform:translate3d(-2%, 1%, 0) scale(1); opacity:.42; }
  50%{ transform:translate3d(2%, -1%, 0) scale(1.04); opacity:.72; }
  100%{ transform:translate3d(4%, 2%, 0) scale(1.02); opacity:.54; }
}
@keyframes archiveVeinPulse{
  0%,100%{ opacity:.18; filter:blur(.2px); }
  48%{ opacity:.42; filter:blur(0); }
  52%{ opacity:.60; filter:blur(.6px); }
}
@keyframes archiveTimelinePulse{
  0%,100%{ box-shadow:0 0 18px color-mix(in srgb, var(--danger, #b51f2e) 40%, transparent); opacity:.78; }
  50%{ box-shadow:0 0 34px color-mix(in srgb, var(--danger, #b51f2e) 70%, transparent); opacity:1; }
}
@keyframes archiveRedSweep{
  0%{ transform:translateX(-40%); opacity:0; }
  8%{ opacity:.5; }
  38%{ opacity:.42; }
  48%,100%{ transform:translateX(72%); opacity:0; }
}
@keyframes archiveActivePulse{
  0%,100%{ filter:brightness(1); }
  50%{ filter:brightness(1.18); }
}
@keyframes archiveSignalFlicker{
  0%,88%,94%,100%{ opacity:1; filter:none; }
  89%{ opacity:.74; filter:contrast(1.28); }
  91%{ opacity:.96; transform:translateX(.7px); }
  93%{ opacity:.82; transform:translateX(-.6px); }
}
@keyframes archivePortraitPulse{
  0%,100%{ transform:scale(.92); opacity:.32; }
  50%{ transform:scale(1.08); opacity:.82; }
}
@media (prefers-reduced-motion: reduce){
  .calendar-page::after,
  .archive-fog-layer,
  .archive-entity-veins,
  .calendar-visual-timeline::before,
  .calendar-visual-timeline::after,
  .calendar-timeline-node.calendar-timing-active .calendar-node-dot,
  .calendar-timeline-node.calendar-timing-active .calendar-node-card,
  .calendar-timeline-node.calendar-timing-upcoming .calendar-node-card,
  .calendar-node-portrait::after{
    animation:none!important;
  }
  .calendar-timeline-node:hover,
  .calendar-entry-card:hover,
  .archive-meta-moment:hover,
  .calendar-layout .right-column .card:hover{
    transform:none;
  }
}
@media (max-width: 760px){
  .archive-atmosphere-controls{
    align-items:flex-start;
    border-radius:var(--radius-lg);
    flex-direction:column;
  }
  .calendar-page::after{
    opacity:.42;
  }
}

/* Archives Phase 5 hotfix: stabilize horizontal timeline scrolling/snap bounds */
.calendar-timeline-shell{
  position:relative;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scroll-padding-inline:32px;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  contain:layout paint;
}
.calendar-visual-timeline{
  position:relative;
  box-sizing:border-box;
  width:max-content;
  min-width:100%;
  max-width:none;
  overflow:visible;
  padding-left:32px;
  padding-right:32px;
}
.calendar-visual-timeline::after{
  left:32px;
  right:32px;
  max-width:calc(100% - 64px);
  contain:paint;
}
.calendar-timeline-node{
  flex:0 0 280px;
  scroll-snap-align:start;
  scroll-snap-stop:normal;
  will-change:auto;
}
.calendar-era-marker{
  flex:0 0 96px;
  scroll-snap-align:start;
}
.calendar-timeline-shell::after{
  position:sticky;
  left:0;
  right:auto;
  top:0;
  width:100%;
  height:100%;
  display:block;
  z-index:2;
}
@supports not (scrollbar-gutter: stable){
  .calendar-timeline-shell{ padding-bottom:40px; }
}
@media (max-width:700px){
  .calendar-timeline-shell{
    scroll-padding-inline:18px;
    scroll-snap-type:x proximity;
  }
  .calendar-visual-timeline{
    padding-left:18px;
    padding-right:18px;
  }
  .calendar-visual-timeline::after{
    left:18px;
    right:18px;
    max-width:calc(100% - 36px);
  }
  .calendar-timeline-node{
    flex-basis:244px;
    scroll-snap-align:start;
  }
}

/* Archives Phase 5 hotfix 2: remove animated overflow source from scrollable timeline */
.calendar-timeline-shell{
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  scroll-padding-inline:24px;
  contain:paint;
}
.calendar-visual-timeline{
  width:max-content;
  min-width:100%;
  box-sizing:border-box;
  overflow:visible;
}
.calendar-visual-timeline::after{
  display:none !important;
  content:none !important;
  animation:none !important;
  transform:none !important;
}
.calendar-timeline-shell::after{
  position:absolute;
  inset:0;
  width:auto;
  height:auto;
  z-index:2;
  pointer-events:none;
  display:block;
}
.calendar-timeline-node{
  scroll-snap-align:start;
  scroll-snap-stop:normal;
}
@media (max-width:700px){
  .calendar-timeline-shell{
    scroll-padding-inline:16px;
    scroll-snap-type:x proximity;
  }
}

/* Calendar / Archives timeline images */
.calendar-image-preview{
  display:grid;
  grid-template-columns:minmax(120px, 220px) 1fr;
  gap:var(--space-3, 12px);
  align-items:center;
  padding:10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(0,0,0,.24);
}
.calendar-image-preview[hidden]{ display:none !important; }
.calendar-image-preview span{
  color:var(--muted);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.calendar-image-preview img{
  width:100%;
  max-height:130px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 12px 28px rgba(0,0,0,.36);
}
.calendar-node-portrait.has-image{
  background:#050507;
  padding:0;
}
.calendar-node-portrait.has-image::before{
  z-index:2;
  background:
    linear-gradient(180deg, transparent 42%, rgba(0,0,0,.72)),
    radial-gradient(circle at 50% 18%, rgba(205,33,43,.22), transparent 38%);
  opacity:.9;
}
.calendar-node-portrait-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
  filter:saturate(1.08) contrast(1.08);
}
.calendar-entry-thumb{
  margin:4px 0 12px;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.24);
  box-shadow:0 14px 30px rgba(0,0,0,.28);
}
.calendar-entry-thumb-img{
  display:block;
  width:100%;
  aspect-ratio:16 / 7;
  object-fit:cover;
}
.chapter-dossier-card.has-dossier-image{
  overflow:hidden;
}
.chapter-dossier-image{
  margin:-18px -18px 16px;
  position:relative;
  min-height:190px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:#050507;
  overflow:hidden;
}
.chapter-dossier-image::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, transparent 35%, rgba(0,0,0,.82)),
    radial-gradient(circle at 28% 18%, rgba(205,33,43,.28), transparent 34%);
  pointer-events:none;
}
.chapter-dossier-img{
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
  display:block;
  filter:saturate(1.08) contrast(1.08);
}
@media (max-width: 700px){
  .calendar-image-preview{ grid-template-columns:1fr; }
  .chapter-dossier-image{ min-height:150px; }
  .chapter-dossier-img{ min-height:150px; }
}

/* Archives correction pass: real upload fields, editable dossiers, and managed meta history */
.compact-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.chapter-dossier-admin-fields input{
  min-width:0;
}
.archive-meta-image{
  width:100%;
  height:130px;
  border-radius:16px;
  overflow:hidden;
  margin-bottom:12px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg, rgba(120,0,0,.28), rgba(0,0,0,.5));
}
.archive-meta-img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.9) contrast(1.08);
}
.calendar-type-meta_history,
.pill.calendar-type-meta_history{
  background:rgba(156, 75, 255, .16);
  border-color:rgba(190, 140, 255, .35);
  color:#e8d9ff;
}
.calendar-timeline-node.calendar-type-meta_history .calendar-node-card{
  border-color:rgba(190, 140, 255, .35);
  box-shadow:0 18px 42px rgba(65, 28, 120, .28);
}
@media (max-width:720px){
  .compact-grid{ grid-template-columns:1fr; }
}

/* History annotation flags belong to the participant/character they were set on. */
.participant-review-flags{gap:4px;margin-top:6px;flex-wrap:wrap;align-items:center}
.participant-review-flags.inline{display:inline-flex;margin-top:0;vertical-align:middle}
.participant-review-flags.mini{grid-column:1/-1;margin-top:5px}
.participant-review-flags .badge{font-size:10px;line-height:1.2;padding:3px 6px;white-space:nowrap}
.cinematic-player-meta .participant-review-flags.inline,
.bhvr-player-full-badges .participant-review-flags.inline,
.cinematic-badge-row .participant-review-flags.inline{display:inline-flex}
.bhvr-lobby-mini .participant-review-flags.mini{justify-content:center}
@media (max-width: 720px){
  .participant-review-flags.inline{display:flex;width:100%;margin-top:4px}
}

/* ─────────────────────────────────────────────────────────────
   Design-system admin conversion pass
   Admin now uses the same site rails and component language as the
   public dashboard/archives pages, while keeping existing admin logic.
───────────────────────────────────────────────────────────── */
.identity-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 16% 0%, rgba(155,28,28,.16), transparent 34%),
    radial-gradient(circle at 85% 12%, rgba(255,255,255,.045), transparent 26%),
    linear-gradient(180deg, #080604 0%, #100c08 46%, #080604 100%);
  color:var(--text);
}
.identity-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(115deg, transparent 0 22%, rgba(255,255,255,.026) 30%, transparent 42%),
    radial-gradient(circle at 50% 120%, rgba(155,28,28,.12), transparent 42%);
  opacity:.75;
}
.site-shell{
  width:min(1600px, calc(100vw - 48px));
  max-width:1600px;
  margin-inline:auto;
}
.site-stack{
  display:flex;
  flex-direction:column;
  gap:var(--space-5);
}
.panel-card{
  border:1px solid rgba(122,28,28,.42);
  border-radius:var(--radius-2xl);
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
    rgba(10,7,5,.86);
  box-shadow:var(--shadow), 0 0 0 1px rgba(255,255,255,.018) inset;
  overflow:hidden;
}
.panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-4);
  padding:18px 20px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(155,28,28,.16), rgba(0,0,0,.08));
}
.panel-body{padding:20px;}

.admin-page .page-wrap.site-shell{
  padding:24px 0 36px;
}
.admin-page .admin-layout{
  max-width:none;
  margin:0;
  width:100%;
}
.admin-page #adminGuard{
  width:100%;
  border:1px solid rgba(122,28,28,.42);
  border-radius:var(--radius-2xl);
  background:rgba(10,7,5,.74);
  box-shadow:var(--shadow);
}
.admin-page .admin-content-grid{
  width:100%;
  max-width:none;
  grid-template-columns:1fr;
  gap:var(--space-5);
}
.admin-page .admin-main-column,
.admin-page .admin-side-column{
  width:100%;
  max-width:none;
}
.admin-page .admin-tabs{
  border-radius:var(--radius-2xl);
  padding:12px;
  margin:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
    rgba(10,7,5,.78);
  border-color:rgba(122,28,28,.42);
  box-shadow:var(--shadow);
}
.admin-page .admin-tab{
  border-radius:var(--radius-pill);
  padding:9px 15px;
  background:rgba(0,0,0,.28);
}
.admin-page .admin-content-grid:not([data-active-admin-tab="catalog"]) .admin-main-column{
  display:block;
}
.admin-page .admin-content-grid:not([data-active-admin-tab="catalog"]){
  grid-template-columns:1fr;
}
.admin-page .admin-content-grid[data-active-admin-tab="catalog"]{
  grid-template-columns:1fr;
}
.admin-page .admin-content-grid[data-active-admin-tab="catalog"] .admin-side-column{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:var(--space-5);
}
.admin-page .card,
.admin-page .panel,
.admin-page .admin-list-viewer-card,
.admin-page .catalog-manager-column,
.admin-page .catalog-browser-column{
  border:1px solid rgba(122,28,28,.42);
  border-radius:var(--radius-2xl)!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
    rgba(10,7,5,.84)!important;
  box-shadow:var(--shadow)!important;
  overflow:hidden;
}
.admin-page .card > .head,
.admin-page .panel > .head,
.admin-page .card .head.compact-head,
.admin-page .panel .head.compact-head{
  margin:0;
  padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(155,28,28,.14), rgba(0,0,0,.04));
}
.admin-page .card > .body,
.admin-page .panel > .body{
  padding:18px;
}
.admin-page .panel h3:first-child,
.admin-page .card h2,
.admin-page .card h3{
  font-family:var(--font-heading);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.admin-page .field,
.admin-page .field-row{
  min-width:0;
}
.admin-page input,
.admin-page select,
.admin-page textarea{
  border-radius:var(--radius-lg);
  border-color:rgba(255,255,255,.12);
  background:rgba(0,0,0,.30);
}
.admin-page button,
.admin-page .button,
.admin-page a.button{
  border-radius:var(--radius-pill);
}
.admin-page .actions{
  gap:10px;
}
.admin-page .small-note,
.admin-page .muted{
  color:var(--muted);
}
.admin-page .admin-list-viewer-rows,
.admin-page .bhvr-catalog-rows,
.admin-page .bingo-admin-list{
  border-radius:var(--radius-xl);
  border-color:rgba(255,255,255,.10);
  background:rgba(0,0,0,.20);
}
.admin-page .admin-list-viewer-row,
.admin-page .bhvr-catalog-row,
.admin-page .bingo-admin-category{
  border-radius:var(--radius-lg);
}
@media (max-width:1180px){
  .admin-page .admin-content-grid[data-active-admin-tab="catalog"] .admin-side-column{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .site-shell{width:min(100% - 28px, 1600px);}
  .admin-page .page-wrap.site-shell{padding-top:16px;}
  .admin-page .admin-tabs{gap:6px;}
  .admin-page .admin-tab{flex:1 1 auto;text-align:center;font-size:14px;padding:8px 10px;}
}

.history-controls-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.history-controls-copy{min-width:0}.history-controls-copy p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:0}.history-controls-actions{align-items:center;justify-content:flex-end}.history-controls-actions .small-note{line-height:1.2}@media(max-width:760px){.history-controls-head{align-items:flex-start;flex-direction:column}.history-controls-actions{justify-content:flex-start}}

/* Player Report Cards */
.report-card-shell-card .analytics-hero-head{ align-items:flex-start; }
.report-card-feature{ position:relative; overflow:hidden; padding:24px; border:1px solid rgba(255,255,255,.12); background:linear-gradient(135deg, rgba(187,20,35,.20), rgba(12,17,24,.92) 52%, rgba(40,64,92,.18)); }
.report-card-ribbon{ position:absolute; top:14px; right:-42px; transform:rotate(32deg); padding:6px 52px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.12); color:var(--muted); font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; }
.report-card-hero{ display:flex; justify-content:space-between; gap:16px; align-items:flex-start; margin-bottom:18px; }
.report-card-hero h2{ margin:4px 0 6px; font-size:clamp(2rem, 5vw, 4rem); line-height:.92; text-transform:uppercase; }
.report-card-hero p{ margin:0; color:var(--muted); max-width:720px; }
.report-card-grade{ min-width:82px; min-height:82px; border-radius:24px; display:flex; align-items:center; justify-content:center; font-family:'Barlow Condensed', sans-serif; font-size:1.65rem; font-weight:900; color:#fff; background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.16); box-shadow:0 18px 42px rgba(0,0,0,.28); }
.report-metric-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:12px; }
.report-metric-card{ border:1px solid rgba(255,255,255,.10); border-radius:18px; padding:14px; background:rgba(0,0,0,.20); }
.report-metric-card span{ display:block; color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.10em; }
.report-metric-card strong{ display:block; margin-top:4px; font-size:1.7rem; font-family:'Barlow Condensed', sans-serif; }
.report-metric-card small{ display:block; color:var(--muted); }
.report-card-grid{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; margin-top:16px; align-items:start; }
.report-card-panel .body{ padding-top:0; }
.report-card-list{ margin:0; padding-left:18px; color:var(--text); }
.report-card-list li{ margin:8px 0; }
.report-card-table{ display:grid; gap:8px; }
.report-card-table-row{ display:flex; justify-content:space-between; gap:12px; align-items:center; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.06); }
.report-card-table-row span{ color:var(--muted); text-align:right; }
#reportCardRoot.is-loading{ opacity:.65; pointer-events:none; }
@media (max-width: 720px){ .report-card-hero{ flex-direction:column; } .report-card-grade{ min-width:64px; min-height:64px; } .report-card-table-row{ align-items:flex-start; flex-direction:column; } .report-card-table-row span{ text-align:left; } }

/* BHVR Data Audit */
.bhvr-audit-section { margin-top: 18px; }
.bhvr-audit-summary { margin-bottom: 18px; }
.bhvr-audit-mini-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 0.95rem;
}
.bhvr-audit-mini-grid strong { color: var(--text); }
.bhvr-audit-table-wrap { overflow-x: auto; }
.bhvr-audit-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 900px;
}
.bhvr-audit-table th,
.bhvr-audit-table td {
  padding: 12px 10px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}
.bhvr-audit-table th {
  color: var(--muted);
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.bhvr-audit-table td small {
  display: block;
  color: var(--muted);
  margin-top: 4px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
}
.bhvr-audit-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.bhvr-audit-pill-list span,
.bhvr-audit-sql-target {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(255,255,255,0.04);
  color: var(--text);
  font-size: 0.82rem;
}
.bhvr-audit-sql-target.exists { border-color: rgba(109, 255, 184, 0.35); }
.bhvr-audit-sql-target.missing { border-color: rgba(255, 93, 93, 0.45); color: var(--muted); }
.bhvr-audit-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 9px;
  font-weight: 700;
  font-size: 0.8rem;
  white-space: nowrap;
}
.bhvr-audit-status.ok { background: rgba(109, 255, 184, 0.12); color: #8cffca; }
.bhvr-audit-status.warn { background: rgba(255, 200, 92, 0.13); color: #ffd27a; }
.bhvr-audit-status.danger { background: rgba(255, 93, 93, 0.13); color: #ff9a9a; }

.report-card-strengths-panel{ grid-column:1; grid-row:1; }
.report-card-weaknesses-panel{ grid-column:2; grid-row:1; }
.report-card-fun-panel{ grid-column:3; grid-row:1; }
.report-card-emblems-panel{ grid-column:4; grid-row:1 / span 2; align-self:stretch; }
.report-card-killers-panel{ grid-column:1; grid-row:2; }
.report-card-survivors-panel{ grid-column:2; grid-row:2; }
.report-card-maps-panel{ grid-column:3; grid-row:2; }
.report-emblem-grid{ display:grid; gap:10px; }
.report-emblem-row{ display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid rgba(255,255,255,.07); border-radius:16px; background:rgba(255,255,255,.04); }
.report-emblem-row .catalog-layered-image,
.report-emblem-fallback{ width:54px; height:54px; flex:0 0 54px; }
.report-emblem-row .catalog-layered-image{ display:inline-grid; place-items:center; position:relative; }
.report-emblem-row .catalog-layer-bg,
.report-emblem-row .catalog-layer-fg{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.report-emblem-row .catalog-layer-fg{ padding:9px; box-sizing:border-box; }
.report-emblem-fallback{ display:inline-flex; align-items:center; justify-content:center; border-radius:16px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.07); font-weight:800; font-family:'Barlow Condensed', sans-serif; }
.report-emblem-row strong{ display:block; }
.report-emblem-row span,
.report-emblem-row small{ display:block; color:var(--muted); }
.report-emblem-row small{ margin-top:2px; font-size:.8rem; }
.emblem-icon-group .catalog-image-thumb img{ width:100%; height:100%; object-fit:contain; }
@media (max-width: 1200px){ .report-card-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); } .report-card-strengths-panel,.report-card-weaknesses-panel,.report-card-fun-panel,.report-card-killers-panel,.report-card-survivors-panel,.report-card-maps-panel,.report-card-emblems-panel{ grid-column:auto; grid-row:auto; } .report-card-emblems-panel{ grid-column:1 / -1; } }
@media (max-width: 720px){ .report-card-grid{ grid-template-columns:1fr; } .report-card-strengths-panel,.report-card-weaknesses-panel,.report-card-fun-panel,.report-card-killers-panel,.report-card-survivors-panel,.report-card-maps-panel,.report-card-emblems-panel{ grid-column:auto; grid-row:auto; } }

/* Catalog manager frame/emblem accordions */
.catalog-frame-manager-note{ margin:0 0 12px; }
.catalog-frame-accordion{
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.035);
  overflow:hidden;
  margin-bottom:12px;
}
.catalog-frame-accordion > summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 15px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.catalog-frame-accordion:not([open]) > summary{ border-bottom:0; }
.catalog-frame-accordion > summary::-webkit-details-marker{ display:none; }
.catalog-frame-accordion > summary::after{
  content:'▾';
  color:var(--muted);
  font-size:1rem;
  transform:rotate(-90deg);
  transition:transform .16s ease;
}
.catalog-frame-accordion[open] > summary::after{ transform:rotate(0deg); }
.catalog-frame-accordion > summary strong{ display:block; }
.catalog-frame-accordion > summary small{ display:block; color:var(--muted); margin-top:2px; }
.catalog-frame-accordion > .small-note{ padding:10px 15px 0; }
.catalog-frame-accordion .admin-list-viewer-row{ margin:10px 12px; }
.catalog-frame-accordion .file-button input[type="file"]{ max-width:0; opacity:0; position:absolute; pointer-events:none; }
.report-emblem-frame-only .report-emblem-initials{
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Barlow Condensed', sans-serif;
  font-size:1.05rem;
  font-weight:900;
  line-height:1;
  color:#fff;
  text-shadow:0 2px 8px rgba(0,0,0,.75);
}

.report-role-grade-strip{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.report-role-grade{ display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); color:var(--muted); font-size:.9rem; }
.report-role-grade strong{ font-family:'Barlow Condensed', sans-serif; font-size:1.25rem; color:#fff; line-height:1; }
.report-card-grades-panel{ margin-top:16px; }

.report-baseline-status{ display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; color:var(--muted); font-size:.86rem; }
.report-baseline-status span{ padding:7px 10px; border-radius:999px; background:rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.08); }
.report-sample-warning{ margin-top:12px; padding:12px 14px; border-radius:16px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.055); color:var(--muted); }
.report-sample-warning strong{ display:block; color:var(--text); margin-bottom:4px; }
.report-sample-warning ul{ margin:0; padding-left:18px; }
.report-grade-role-layout{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; }
.report-grade-role-card{ border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:14px; background:rgba(0,0,0,.12); }
.report-grade-role-card h4{ margin:0 0 12px; font-family:'Barlow Condensed', sans-serif; font-size:1.35rem; text-transform:uppercase; letter-spacing:.03em; }
.report-grade-row em{ display:block; margin-top:5px; color:var(--muted); font-style:normal; font-size:.78rem; }
.report-confidence-low{ box-shadow:inset 3px 0 0 rgba(255,255,255,.18); }
.report-confidence-none{ opacity:.72; }

.report-grade-grid{ display:grid; grid-template-columns:1fr; gap:12px; }
.report-grade-row{ display:flex; gap:12px; align-items:flex-start; padding:12px; border-radius:16px; border:1px solid rgba(255,255,255,.08); background:rgba(255,255,255,.045); min-height:96px; }
.report-grade-row strong{ display:block; }
.report-grade-row span,
.report-grade-row small{ display:block; color:var(--muted); }
.report-grade-row small{ margin-top:3px; font-size:.8rem; }
.report-grade-letter{ width:44px; height:44px; flex:0 0 44px; display:flex; align-items:center; justify-content:center; border-radius:14px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.08); font-family:'Barlow Condensed', sans-serif; font-weight:900; font-size:1.35rem; color:#fff; }
.report-grade-s{ background:linear-gradient(135deg, rgba(209,45,62,.55), rgba(255,255,255,.13)); border-color:rgba(255,255,255,.22); }
.report-grade-a{ background:linear-gradient(135deg, rgba(209,45,62,.38), rgba(255,255,255,.10)); }
.report-grade-b{ background:rgba(255,255,255,.10); }
.report-grade-c{ background:rgba(255,255,255,.065); color:var(--muted); }
.report-grade-d{ background:rgba(0,0,0,.22); color:var(--muted); }
.report-grade-na{ background:rgba(255,255,255,.045); color:var(--muted); }
.report-grade-tone-strength{ border-color:rgba(209,45,62,.24); }
.report-grade-tone-weakness{ border-color:rgba(255,255,255,.10); background:rgba(0,0,0,.14); }
@media (max-width: 1200px){ .report-grade-role-layout{ grid-template-columns:1fr; } }
@media (max-width: 720px){ .report-grade-role-layout{ grid-template-columns:1fr; } .report-role-grade-strip{ flex-direction:column; align-items:flex-start; } .report-baseline-status{ flex-direction:column; } }

/* Report Card visual polish v1 */
.report-card-feature::before{
  content:'';
  position:absolute;
  inset:-120px auto auto -80px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(209,45,62,.28), transparent 64%);
  pointer-events:none;
}
.report-card-feature::after{
  content:'';
  position:absolute;
  right:-120px;
  bottom:-160px;
  width:420px;
  height:420px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(119,153,203,.16), transparent 66%);
  pointer-events:none;
}
.report-card-feature > *{ position:relative; z-index:1; }
.report-card-grade{
  min-width:96px;
  min-height:96px;
  border-radius:28px;
  font-size:2.05rem;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.report-metric-card{
  position:relative;
  overflow:hidden;
  min-height:96px;
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(0,0,0,.18));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.report-metric-card::after{
  content:'';
  position:absolute;
  inset:auto 12px 0 12px;
  height:2px;
  background:linear-gradient(90deg, rgba(209,45,62,.85), rgba(255,255,255,.08));
}
.report-card-panel{
  overflow:hidden;
  border-color:rgba(255,255,255,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02));
}
.report-card-panel .panel-head{
  background:linear-gradient(90deg, rgba(209,45,62,.10), rgba(255,255,255,0));
  border-bottom:1px solid rgba(255,255,255,.06);
}
.report-card-list{
  padding-left:0;
  list-style:none;
}
.report-card-list li{
  position:relative;
  margin:8px 0;
  padding:9px 10px 9px 28px;
  border-radius:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.055);
}
.report-card-list li::before{
  content:'◆';
  position:absolute;
  left:10px;
  top:10px;
  color:rgba(209,45,62,.82);
  font-size:.72rem;
}
.report-role-grade-strip{ align-items:center; }
.report-role-grade{
  background:linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.report-card-grades-panel .body{ padding-top:14px; }
.report-grade-role-card{
  position:relative;
  padding:16px;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.16));
}
.report-grade-role-card h4{
  display:flex;
  align-items:center;
  gap:8px;
}
.report-grade-role-card h4::before{
  content:'';
  width:9px;
  height:9px;
  border-radius:50%;
  background:rgba(209,45,62,.9);
  box-shadow:0 0 18px rgba(209,45,62,.55);
}
.report-grade-row{
  min-height:unset;
  border-radius:20px;
  padding:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.028));
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.report-grade-row:hover,
.report-emblem-row:hover,
.report-card-table-row:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.15);
}
.report-grade-letter{
  width:52px;
  height:52px;
  flex-basis:52px;
  border-radius:18px;
  font-size:1.65rem;
  box-shadow:0 12px 28px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.10);
}
.report-grade-copy{ flex:1; min-width:0; }
.report-grade-title-line{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.report-grade-title-line b{
  flex:0 0 auto;
  font-size:.76rem;
  color:var(--muted);
  font-weight:800;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.14);
  border-radius:999px;
  padding:4px 8px;
}
.report-score-track{
  position:relative;
  height:7px;
  margin:8px 0 6px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.055);
}
.report-score-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(209,45,62,.78), rgba(255,255,255,.42));
  box-shadow:0 0 16px rgba(209,45,62,.22);
}
.report-emblem-grid{ gap:12px; }
.report-emblem-row{
  align-items:flex-start;
  border-radius:20px;
  padding:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .12s ease, border-color .12s ease;
}
.report-emblem-row .catalog-layered-image,
.report-emblem-fallback{
  width:62px;
  height:62px;
  flex-basis:62px;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));
}
.report-emblem-copy{ flex:1; min-width:0; }
.report-emblem-row strong{ font-size:1rem; }
.report-emblem-tone-strong{ border-color:rgba(209,45,62,.28); }
.report-emblem-tone-weak{ border-color:rgba(255,255,255,.075); opacity:.92; }
.report-emblem-tone-average{ border-color:rgba(255,255,255,.10); }
.report-card-table-row{
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.report-baseline-status span,
.report-sample-warning{
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(0,0,0,.12));
}
@media (max-width: 720px){
  .report-card-grade{ min-width:74px; min-height:74px; font-size:1.55rem; }
  .report-grade-title-line{ flex-direction:column; gap:4px; }
  .report-grade-title-line b{ align-self:flex-start; }
}

.report-share-strip{ display:grid; grid-template-columns:auto minmax(180px, 1fr) auto; gap:10px; align-items:center; margin:0 0 18px; padding:10px; border-radius:16px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); }
.report-share-strip span{ color:var(--muted); font-size:.9rem; }
.report-share-strip input{ min-width:0; width:100%; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(0,0,0,.22); color:var(--text); padding:9px 10px; }
@media (max-width: 720px){ .report-share-strip{ grid-template-columns:1fr; } }

.report-card-finder{
  margin:0 0 16px;
  padding:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.045);
}
.report-card-finder label{
  display:block;
  margin-bottom:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.78rem;
  color:var(--muted);
}
.report-card-finder-row{
  display:grid;
  grid-template-columns:minmax(180px, 1fr) auto;
  gap:10px;
  align-items:center;
}
.report-card-finder-row input{
  width:100%;
}
.report-card-finder code{
  color:var(--text);
}
@media (max-width: 720px){
  .report-card-finder-row{ grid-template-columns:1fr; }
}

/* Public report card discovery */
.report-card-discovery{
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
}
.report-discovery-head{
  display:flex;
  gap:16px;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:12px;
}
.report-discovery-head h3{ margin:2px 0 4px; }
.report-discovery-controls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  min-width:min(480px,100%);
  justify-content:flex-end;
}
.report-discovery-controls input{ min-width:240px; }
.report-discovery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:12px;
  margin-top:12px;
}
.report-discovery-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:14px;
  background:rgba(9,13,18,.76);
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.report-discovery-card::before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg, rgba(229,57,53,.9), rgba(255,255,255,.25));
  opacity:.7;
}
.report-discovery-card-main{ padding-right:54px; min-height:64px; }
.report-discovery-card h4{ margin:3px 0 2px; font-size:1.25rem; }
.report-discovery-grade{
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:900;
  font-size:1.35rem;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
}
.report-discovery-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:10px 0;
}
.report-discovery-stats span{
  display:flex;
  flex-direction:column;
  gap:1px;
  padding:8px;
  border-radius:12px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.07);
}
.report-discovery-stats strong{ font-size:1.1rem; line-height:1; }
.report-discovery-stats small,.report-discovery-footer small{ color:var(--muted,#a8b0ba); }
.report-discovery-subgrades{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:12px;
  color:var(--muted,#a8b0ba);
  font-size:.9rem;
}
.report-discovery-subgrades span{
  padding:5px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
}
.report-discovery-subgrades b{ margin-left:4px; }
.report-discovery-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:10px;
}
.report-discovery-empty{ padding:16px; }
@media (max-width: 780px){
  .report-discovery-head{ display:block; }
  .report-discovery-controls{ justify-content:stretch; min-width:0; }
  .report-discovery-controls input,.report-discovery-controls select{ width:100%; min-width:0; }
}

/* Player Hub v1 */
.player-hub-shell{width:min(1600px, calc(100vw - 48px));max-width:1600px;margin:0 auto;padding:18px 0 40px;}
.player-hub-root-card{overflow:hidden;}
.player-hub-periods{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.player-hub-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:16px;padding:18px;}
.player-hub-avatar{width:92px;height:92px;border-radius:24px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,var(--color-surface-2),var(--color-input));border:1px solid var(--color-border-strong);box-shadow:var(--shadow-soft);font-family:var(--font-heading);font-size:32px;font-weight:900;color:var(--color-accent-text);}
.player-hub-avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.player-hub-hero-copy h1{margin:2px 0 4px;font-size:clamp(2rem,4vw,4rem);line-height:.9;}
.player-hub-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;}
.player-hub-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px;}
.player-hub-metric{border:1px solid var(--color-border);border-radius:18px;background:rgba(8,6,4,.42);padding:14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);}
.player-hub-metric span,.player-hub-grade-card span{display:block;color:var(--color-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;}
.player-hub-metric strong{display:block;font-family:var(--font-heading);font-size:1.9rem;line-height:1;color:var(--color-text);margin-top:4px;}
.player-hub-metric small,.player-hub-grade-card small{display:block;color:var(--color-muted);margin-top:5px;}
.player-hub-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start;}
.player-hub-main,.player-hub-side{display:grid;gap:16px;}
.player-hub-section{padding:18px;}
.player-hub-grade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 18px;}
.player-hub-grade-card{border:1px solid var(--color-border);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(0,0,0,.18));padding:14px;position:relative;overflow:hidden;}
.player-hub-grade-card::after{content:"";position:absolute;inset:auto -20px -34px auto;width:96px;height:96px;border-radius:999px;background:var(--color-accent-soft);filter:blur(4px);opacity:.55;}
.player-hub-grade-card strong{display:block;font-family:var(--font-heading);font-size:3rem;line-height:.9;margin:8px 0;color:var(--color-text);}
.player-hub-grade-card.grade-s{border-color:#d6b75a;box-shadow:0 0 24px rgba(214,183,90,.14);}
.player-hub-grade-card.grade-a{border-color:#9a6cff;}
.player-hub-grade-card.grade-b{border-color:#5487ff;}
.player-hub-grade-card.grade-c{border-color:#d18a2f;}
.player-hub-grade-card.grade-d{border-color:#9b1c1c;}
.player-hub-grade-rows{display:grid;gap:8px;margin-top:10px;}
.player-hub-grade-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--color-border);border-radius:14px;background:rgba(0,0,0,.18);padding:10px 12px;}
.player-hub-grade-row strong{display:block;}
.player-hub-grade-row span{display:block;color:var(--color-muted);font-size:.88rem;margin-top:2px;text-transform:capitalize;}
.player-hub-grade-row b{font-family:var(--font-heading);font-size:1.65rem;line-height:1;color:var(--color-accent-text);}
.player-hub-list{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none;}
.player-hub-list li{border:1px solid var(--color-border);background:rgba(0,0,0,.18);border-radius:12px;padding:10px 12px;}
.player-hub-mini-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.player-hub-compact-list{display:grid;gap:8px;}
.player-hub-compact-list>div{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--color-border);border-radius:12px;padding:9px 10px;background:rgba(0,0,0,.16);}
.player-hub-compact-list span{color:var(--color-muted);font-size:.86rem;white-space:nowrap;}
.identity-player-hub-page .profile-info-grid>div{border:1px solid var(--color-border);border-radius:12px;padding:9px 10px;background:rgba(0,0,0,.15);}
.identity-player-hub-page .profile-info-grid span{display:block;color:var(--color-muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;}
.identity-player-hub-page .profile-info-grid strong{display:block;color:var(--color-text);margin-top:2px;}
@media (max-width:1100px){.player-hub-layout{grid-template-columns:1fr}.player-hub-side{grid-template-columns:repeat(2,minmax(0,1fr))}.player-hub-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.player-hub-shell{width:min(100% - 28px, 1600px);}}
@media (max-width:760px){.player-hub-hero{grid-template-columns:1fr;text-align:left}.player-hub-actions{justify-content:flex-start}.player-hub-grade-grid,.player-hub-mini-columns,.player-hub-side{grid-template-columns:1fr}.player-hub-overview-grid{grid-template-columns:1fr}}

/* DBD Tracker phase 2 analytics polish */
#commonKillers .analytics-entity-grid,
#commonSurvivorCharsummary .analytics-entity-grid{grid-template-columns:repeat(2,minmax(260px,1fr));}
.analytics-pressure-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.analytics-pressure-card{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(0,0,0,.32));padding:12px;min-height:84px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 24px rgba(0,0,0,.16);}
.analytics-pressure-card strong{font-family:var(--font-heading);font-size:24px;line-height:1;color:#fff;}
.analytics-pressure-card span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.analytics-pressure-card.bad{border-color:rgba(255,68,88,.3);}
.analytics-pressure-card.warn{border-color:rgba(245,189,82,.28);}
.analytics-pressure-card.blue{border-color:rgba(86,165,255,.25);}
@media (max-width:780px){#commonKillers .analytics-entity-grid,#commonSurvivorCharsummary .analytics-entity-grid{grid-template-columns:1fr;}}

/* Player Hub source badges */
.report-discovery-card.is-unclaimed{border-color:rgba(245,189,82,.28);background:linear-gradient(135deg,rgba(245,189,82,.055),rgba(0,0,0,.28));}
.report-discovery-card.is-registered{border-color:rgba(86,165,255,.18);}
.report-discovery-card.is-unclaimed .eyebrow{color:#f5bd52;}
.report-discovery-card.is-registered .eyebrow{color:#56a5ff;}
.hub-origin-note{max-width:34ch;}

/* Live in the Fog streamer spotlight */
.live-streamer-spotlight .featured-streamer-card{grid-template-columns:78px minmax(0,1fr) minmax(180px,260px);}
.live-streamer-spotlight .spotlight-live-thumb{display:block;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);align-self:stretch;min-height:118px;}
.live-streamer-spotlight .spotlight-live-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.live-streamer-spotlight .featured-streamer-card.is-live{box-shadow:0 0 0 1px rgba(255,70,70,.12),0 18px 40px rgba(0,0,0,.24);}
.live-streamer-spotlight .featured-streamer-card.is-site-user .featured-streamer-kicker span:first-child{color:var(--good-text);}
.livefog-vote-strip{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:2px;color:var(--muted);font-size:12px}
.livefog-vote-label{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}
.livefog-vote-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:var(--muted);border-radius:999px;padding:4px 8px;font:inherit;line-height:1;cursor:pointer}
.livefog-vote-btn:hover,.livefog-vote-btn.is-active{border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.095);color:var(--text)}
.livefog-vote-btn:disabled{opacity:.6;cursor:wait}
.livefog-vote-score{min-width:30px;text-align:center;border-radius:999px;padding:4px 8px;background:rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.08);color:var(--muted)}
@media (max-width:860px){.live-streamer-spotlight .featured-streamer-card{grid-template-columns:64px minmax(0,1fr);}.live-streamer-spotlight .spotlight-live-thumb{grid-column:1 / -1;min-height:150px;}}

/* Global footer + supporter/staff identity */
.site-footer{margin:36px auto 0;padding:0 18px 24px;color:var(--muted)}
.site-footer-inner{max-width:1200px;margin:0 auto;padding:18px 20px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(11,15,20,.82));box-shadow:var(--shadow-soft);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.site-footer strong{display:block;color:var(--text);font-family:var(--font-heading);font-size:20px;line-height:1;text-transform:uppercase;letter-spacing:.04em}.site-footer span,.site-footer small{display:block;font-size:12px}.site-footer nav{display:flex;gap:10px;flex-wrap:wrap}.site-footer a{color:var(--muted);text-decoration:none;border:1px solid transparent;border-radius:999px;padding:6px 9px}.site-footer a:hover{color:var(--text);border-color:var(--border);background:rgba(255,255,255,.045)}
.supporter-gold-username,.profile-supporter .profile-name,.user-supporter-name{color:#f4c76b!important;text-shadow:0 0 12px rgba(244,199,107,.35)}
.staff-blue-username,.profile-staff .profile-name,.user-staff-name{color:#78b7ff!important;text-shadow:0 0 14px rgba(120,183,255,.42)}
.supporter-avatar-frame{box-shadow:0 0 0 2px rgba(244,199,107,.75),0 0 22px rgba(244,199,107,.28)!important}.staff-avatar-frame{box-shadow:0 0 0 2px rgba(120,183,255,.85),0 0 24px rgba(120,183,255,.38)!important}
.profile-tag.supporter,.badge.supporter{border-color:rgba(244,199,107,.45);background:rgba(244,199,107,.14);color:#f4d996}.profile-tag.staff,.badge.staff{border-color:rgba(120,183,255,.48);background:rgba(120,183,255,.15);color:#b9d9ff}
.legal-page{max-width:960px;margin:0 auto}.legal-page h1{font-family:var(--font-heading);font-size:clamp(38px,7vw,74px);line-height:.9;text-transform:uppercase}.legal-page h2{font-family:var(--font-heading);margin-top:24px}.support-tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px}.support-tier{padding:16px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.045)}
@media(max-width:700px){.site-footer-inner{align-items:flex-start;flex-direction:column}.site-footer nav{gap:6px}}

.identity-avatar-frame-host{position:relative;overflow:visible}.identity-avatar-frame-host .identity-avatar-frame-overlay{position:absolute;inset:-12%;width:124%;height:124%;object-fit:contain;pointer-events:none;z-index:4}.mini-profile-avatar-layer .identity-avatar-frame-overlay{inset:-16%;width:132%;height:132%}.public-profile-avatar .identity-avatar-frame-overlay,.player-hub-avatar .identity-avatar-frame-overlay{inset:-14%;width:128%;height:128%}
/* Identity avatar frames managed under Catalog Manager → Frames → Avatar Frames. */
.identity-avatar-frame-host{position:relative;display:inline-grid;place-items:center;overflow:visible}
.identity-avatar-frame-host .identity-avatar-frame-bg,.identity-avatar-frame-host>.catalog-layer-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}
.identity-avatar-frame-host>.catalog-layer-fg{position:relative;z-index:1;width:92%;height:92%;max-width:92%;max-height:92%;object-fit:contain;object-position:center;justify-self:center;align-self:center}
.identity-avatar-frame-host .profile-avatar-initials{display:grid;place-items:center;width:92%;height:92%;border-radius:50%;background:rgba(8,6,4,.55)}
.mini-profile-avatar-layer.identity-avatar-frame-host>.catalog-layer-fg{width:94%;height:94%;max-width:94%;max-height:94%}
.profile-avatar-layer.identity-avatar-frame-host>.catalog-layer-fg,.public-profile-avatar .identity-avatar-frame-host>.catalog-layer-fg,.player-hub-avatar .identity-avatar-frame-host>.catalog-layer-fg{width:92%;height:92%;max-width:92%;max-height:92%}
.default-avatar-frame{box-shadow:0 0 0 1px rgba(232,220,200,.18)}
.supporter-avatar-frame{box-shadow:0 0 0 2px rgba(244,199,107,.72),0 0 20px rgba(244,199,107,.22)!important}
.vip-avatar-frame{box-shadow:0 0 0 2px rgba(184,123,255,.72),0 0 20px rgba(184,123,255,.24)!important}
.staff-avatar-frame{box-shadow:0 0 0 2px rgba(120,183,255,.82),0 0 22px rgba(120,183,255,.32)!important}
.admin-avatar-frame{box-shadow:0 0 0 2px rgba(255,91,91,.82),0 0 22px rgba(255,91,91,.34)!important}
.vip-purple-username,.profile-tag.vip{color:#c99cff!important;text-shadow:0 0 12px rgba(184,123,255,.34)}
.admin-crimson-username{color:#78b7ff!important;text-shadow:0 0 14px rgba(120,183,255,.42)}
.profile-tag.vip,.badge.vip{border-color:rgba(184,123,255,.48);background:rgba(184,123,255,.15);color:#dfc8ff}
.profile-tag.admin,.badge.admin{border-color:rgba(255,91,91,.5);background:rgba(255,91,91,.16);color:#ffc4c4}


/* Patch: keep homepage SWF Finder and Live In The Fog cards visually even */
.dashboard-priority-top > .panel-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.dashboard-priority-top .dbd-dashboard-featured-streamer{
  margin-top:0;
}
.dashboard-priority-top .dbd-swf-panel,
.dashboard-priority-top .featured-streamer-panel{
  flex:1;
}
.dashboard-priority-top .dbd-swf-feature-list,
.dashboard-priority-top .creator-spotlight-stack{
  flex:1;
}

/* Tournament experience redesign */
.identity-tournament-page .identity-panel,
.identity-tournament-page .tournament-profile{
  border-color:rgba(255,255,255,.11);
  background:linear-gradient(180deg,rgba(18,20,26,.96),rgba(8,9,12,.98));
}
.tournament-detail-topbar{
  align-items:flex-start;
  gap:18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.tournament-detail-topbar .eyebrow{
  color:var(--accent,#ef4444);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  font-weight:800;
}
.tournament-experience-grid{gap:18px;}
.tournament-showcase-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:18px;
  padding:24px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 0%, rgba(239,68,68,.34), transparent 38%),
    radial-gradient(circle at 95% 20%, rgba(255,255,255,.12), transparent 30%),
    linear-gradient(135deg, rgba(75,16,20,.92), rgba(11,12,16,.98) 54%, rgba(4,5,8,.98));
  box-shadow:0 24px 60px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
}
.tournament-showcase-hero.status-open{background:radial-gradient(circle at 12% 0%, rgba(34,197,94,.24), transparent 38%),radial-gradient(circle at 95% 20%, rgba(255,255,255,.12), transparent 30%),linear-gradient(135deg, rgba(20,60,38,.92), rgba(11,12,16,.98) 54%, rgba(4,5,8,.98));}
.tournament-showcase-hero.status-complete{background:radial-gradient(circle at 12% 0%, rgba(250,204,21,.22), transparent 38%),radial-gradient(circle at 95% 20%, rgba(255,255,255,.12), transparent 30%),linear-gradient(135deg, rgba(76,56,16,.88), rgba(11,12,16,.98) 54%, rgba(4,5,8,.98));}
.tournament-showcase-glow{position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 0 38%,rgba(255,255,255,.055) 45%,transparent 56%);transform:rotate(8deg);pointer-events:none;}
.tournament-showcase-main{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:260px;}
.tournament-showcase-main h2{font-family:var(--font-heading,'Barlow Condensed',sans-serif);font-size:clamp(2.35rem,5vw,4.85rem);line-height:.92;margin:10px 0;text-transform:uppercase;letter-spacing:.02em;}
.tournament-showcase-main p{max-width:760px;font-size:1.04rem;line-height:1.55;color:rgba(255,255,255,.82);}
.tournament-status-chip{display:inline-flex;width:max-content;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(0,0,0,.34);text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:.72rem;}
.tournament-status-chip.status-live{border-color:rgba(239,68,68,.65);color:#ffd6d6;box-shadow:0 0 24px rgba(239,68,68,.22);}
.tournament-status-chip.status-open{border-color:rgba(34,197,94,.55);color:#d8ffe7;}
.tournament-status-chip.status-complete{border-color:rgba(250,204,21,.45);color:#fff2bd;}
.tournament-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.tournament-action-row .button-like,
.tournament-action-row button{min-height:40px;}
.tournament-showcase-card{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:center;}
.tournament-showcase-card>div{min-width:0;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(0,0,0,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);}
.tournament-showcase-card span{display:block;margin-bottom:4px;color:var(--muted);font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;font-weight:800;}
.tournament-showcase-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;}
.tournament-live-strip{position:relative;z-index:1;grid-column:1/-1;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:10px;margin-top:2px;}
.tournament-live-strip>div{padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.055);}
.tournament-live-strip strong{display:block;font-size:1.05rem;}
.tournament-live-strip span{display:block;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-top:3px;}
.tournament-audience-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 2px;}
.tournament-audience-grid a{display:grid;gap:5px;min-height:92px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.025));color:inherit;text-decoration:none;}
.tournament-audience-grid a:hover{transform:translateY(-1px);border-color:rgba(239,68,68,.45);box-shadow:0 14px 28px rgba(0,0,0,.22);}
.tournament-audience-grid strong{font-family:var(--font-heading,'Barlow Condensed',sans-serif);font-size:1.35rem;text-transform:uppercase;letter-spacing:.03em;}
.tournament-audience-grid span{color:var(--muted);font-size:.88rem;line-height:1.35;}
.tournament-section-card{border-color:rgba(255,255,255,.11)!important;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;box-shadow:0 18px 44px rgba(0,0,0,.22);}
.tournament-panel.collapsible-panel>summary{padding:15px 16px;background:linear-gradient(90deg,rgba(255,255,255,.055),rgba(255,255,255,.018));}
.tournament-panel.collapsible-panel>summary h3{font-family:var(--font-heading,'Barlow Condensed',sans-serif);font-size:1.45rem;text-transform:uppercase;letter-spacing:.04em;}
.standings-table-lite{display:grid;gap:8px;}
.standings-table-lite .standing-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(0,0,0,.18);padding:11px 12px;color:inherit;}
.standings-table-lite .standing-row:hover{border-color:rgba(239,68,68,.45);background:rgba(255,255,255,.055);}
.standings-table-lite .standing-row strong{display:flex;gap:9px;align-items:center;}
.standings-table-lite .standing-row strong span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:28px;border-radius:999px;background:rgba(255,255,255,.09);color:#fff;font-size:.8rem;}
.standings-table-lite .standing-row.rank-1 strong span{background:rgba(250,204,21,.2);color:#fff2b6;}
.standings-table-lite .standing-row em{font-style:normal;font-weight:900;color:#fff;}
.standings-table-lite .standing-row small{color:var(--muted);}
.tournament-match-cards{gap:12px;}
.match-card{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.12));}
.match-card.needs-action{border-color:rgba(250,204,21,.35);box-shadow:0 0 0 1px rgba(250,204,21,.08);}
.match-card.workflow-live{border-color:rgba(239,68,68,.42);box-shadow:0 0 0 1px rgba(239,68,68,.1),0 12px 30px rgba(239,68,68,.08);}
.match-card>summary{display:grid;grid-template-columns:220px minmax(280px,1fr) minmax(220px,.8fr);gap:14px;align-items:center;padding:14px 16px;cursor:pointer;list-style:none;}
.match-card>summary::-webkit-details-marker{display:none;}
.match-card-label{display:flex;flex-wrap:wrap;gap:7px;align-items:center;}
.match-card-label>span:first-child{font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#fff;}
.rule-dot{border:1px solid rgba(250,204,21,.36);background:rgba(250,204,21,.14);color:#ffe49d;border-radius:999px;padding:3px 7px;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;}
.match-card-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;text-align:center;}
.match-card-versus strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem;}
.match-card-versus em{font-style:normal;font-family:var(--font-heading,'Barlow Condensed',sans-serif);font-size:1.65rem;font-weight:900;color:#fff;letter-spacing:.03em;}
.match-card-meta{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:.82rem;}
.match-card-meta span{display:inline-flex;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.055);}
.match-card-actions{padding:0 16px 12px;}
.bracket-grid{align-items:start;overflow-x:auto;padding-bottom:4px;}
.bracket-match{width:100%;text-align:left;color:inherit;cursor:pointer;}
.bracket-match:hover{border-color:rgba(239,68,68,.44);transform:translateY(-1px);}
.tournament-mode-controls button.active{background:var(--accent-bg,rgba(239,68,68,.18));border-color:var(--accent,#ef4444);color:var(--accent-text,#fff);}
.tournament-directory-card.cinematic-tournament-card{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;}
.tournament-directory-card.cinematic-tournament-card:hover{transform:translateY(-2px);border-color:rgba(239,68,68,.42);box-shadow:0 18px 44px rgba(0,0,0,.28);}
@media (max-width: 1050px){
  .tournament-showcase-hero{grid-template-columns:1fr;}
  .tournament-showcase-main{min-height:0;}
  .tournament-audience-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .match-card>summary{grid-template-columns:1fr;}
  .match-card-meta{justify-content:flex-start;}
}
@media (max-width: 680px){
  .tournament-showcase-hero{padding:18px;border-radius:22px;}
  .tournament-showcase-card,.tournament-live-strip,.tournament-audience-grid{grid-template-columns:1fr;}
  .standings-table-lite .standing-row{grid-template-columns:1fr;}
  .match-card-versus{grid-template-columns:1fr;gap:4px;}
  .match-card-versus em{font-size:1.35rem;}
}

/* Lightbringer Program */
.lightbringer-username{color:#ffd36a!important;text-shadow:0 0 18px rgba(255,211,106,.5),0 0 34px rgba(255,122,24,.25)!important}
.profile-tag.lightbringer{background:linear-gradient(135deg,rgba(255,211,106,.95),rgba(255,122,24,.82));color:#1b1005;border-color:rgba(255,226,150,.9);box-shadow:0 0 18px rgba(255,184,64,.25)}
.lightbringer-hero{position:relative;overflow:hidden;border:1px solid rgba(255,211,106,.22);background:radial-gradient(circle at 82% 24%,rgba(255,211,106,.18),transparent 30%),linear-gradient(135deg,rgba(15,18,24,.98),rgba(37,25,12,.94));}
.lightbringer-hero:before{content:"";position:absolute;inset:-20%;background:linear-gradient(112deg,transparent 0 28%,rgba(255,211,106,.2) 35%,rgba(255,211,106,.05) 50%,transparent 62%);pointer-events:none;opacity:.8}
.lightbringer-hero>*{position:relative;z-index:1}.lightbringer-hero.compact{align-items:center}.lightbringer-hero-card{min-width:260px;padding:24px;border-radius:24px;background:rgba(0,0,0,.32);border:1px solid rgba(255,211,106,.24);text-align:center;box-shadow:inset 0 0 42px rgba(255,211,106,.08)}
.lightbringer-logo-large{width:132px;height:132px;margin:0 auto 14px;border-radius:36px;background:radial-gradient(circle at 30% 30%,#fff5bd,#f2b33d 48%,#3c210d 100%);display:grid;place-items:center;box-shadow:0 0 42px rgba(255,199,83,.35)}
.lightbringer-logo-large span{font-size:68px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.55))}.lightbringer-hero-card strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:1.55rem;text-transform:uppercase;letter-spacing:.08em;color:#ffe6a1}.lightbringer-hero-card small{display:block;color:var(--muted)}
.lightbringer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.lightbringer-grid .panel-card h2{margin-top:0;color:#ffd36a}.lightbringer-mission p,.lightbringer-charter p{font-size:1.06rem;line-height:1.65}.charter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.charter-list>div{padding:16px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.charter-list strong{display:block;color:#ffe6a1;font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;text-transform:uppercase;letter-spacing:.05em}.charter-list span{display:block;color:var(--muted);margin-top:6px;line-height:1.5}
.badge-kit-row{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center}.badge-kit-preview{width:180px;max-width:100%;filter:drop-shadow(0 0 24px rgba(255,211,106,.35))}.lightbringer-feature-panel{min-height:180px}.lightbringer-feature-card{display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:center}.lightbringer-mark,.lightbringer-roster-avatar{display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,#39230d,#090b0f);border:2px solid rgba(255,211,106,.75);box-shadow:0 0 26px rgba(255,184,64,.25)}.lightbringer-mark{width:92px;height:92px;border-radius:24px}.lightbringer-mark img,.lightbringer-roster-avatar img{width:100%;height:100%;object-fit:cover}.lightbringer-mark span,.lightbringer-roster-avatar span{font-family:'Barlow Condensed',sans-serif;font-size:2rem;font-weight:900;color:#ffd36a}.lightbringer-kicker{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:#f4c76b;font-weight:800}.lightbringer-feature-copy h3{margin:.15rem 0 .35rem;font-size:1.45rem}.lightbringer-feature-copy p{margin:0;color:var(--muted);line-height:1.45}.lightbringer-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lightbringer-roster-card{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px;border-radius:20px;background:linear-gradient(135deg,rgba(255,211,106,.08),rgba(255,255,255,.035));border:1px solid rgba(255,211,106,.18)}.lightbringer-roster-avatar{width:110px;height:110px;border-radius:28px}.lightbringer-roster-copy h2{margin:.1rem 0;font-size:1.6rem}.lightbringer-roster-copy strong{display:block;color:#ffe6a1}.lightbringer-roster-copy p{color:var(--muted);line-height:1.5}.lightbringer-links{display:flex;flex-wrap:wrap;gap:8px}.lightbringer-admin-box{padding:8px;border-radius:12px;border:1px solid rgba(255,211,106,.25);background:rgba(255,211,106,.06)}
@media (max-width:1000px){.lightbringer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbringer-roster-grid{grid-template-columns:1fr}.lightbringer-feature-card{grid-template-columns:80px 1fr}.lightbringer-feature-card .featured-streamer-actions{grid-column:1/-1;justify-content:flex-start}.charter-list{grid-template-columns:1fr}}
@media (max-width:640px){.lightbringer-grid{grid-template-columns:1fr}.badge-kit-row,.lightbringer-roster-card{grid-template-columns:1fr}.lightbringer-roster-avatar{width:96px;height:96px}.lightbringer-hero-card{min-width:0;width:100%}}

/* Lightbringer Program — refined public pages and admin manager */
.lightbringer-shell{position:relative}.lb-hero,.lb-roster-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:28px;align-items:center;padding:34px;border-radius:30px;border:1px solid rgba(255,211,106,.26);background:radial-gradient(circle at 78% 18%,rgba(255,211,106,.22),transparent 34%),radial-gradient(circle at 20% 110%,rgba(255,112,38,.14),transparent 38%),linear-gradient(135deg,rgba(9,12,17,.98),rgba(32,22,13,.96));box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 0 80px rgba(255,211,106,.045)}
.lb-hero:before,.lb-roster-hero:before{content:"";position:absolute;inset:-25%;background:linear-gradient(113deg,transparent 0 29%,rgba(255,232,163,.24) 36%,rgba(255,184,64,.075) 48%,transparent 61%);opacity:.75;pointer-events:none;transform:rotate(-2deg)}
.lb-hero:after,.lb-roster-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 0 38%,rgba(0,0,0,.22) 100%);pointer-events:none}.lb-hero>* , .lb-roster-hero>*{position:relative;z-index:1}.lb-hero h1,.lb-roster-hero h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.88;margin:.1em 0 .14em;text-transform:uppercase;letter-spacing:.02em;color:#fff3c5;text-shadow:0 0 32px rgba(255,184,64,.25)}.lb-hero-lede,.lb-roster-hero p{font-size:1.12rem;line-height:1.65;max-width:760px;color:rgba(255,255,255,.82)}
.lb-hero-emblem{border-radius:28px;padding:18px;background:linear-gradient(180deg,rgba(0,0,0,.36),rgba(0,0,0,.12));border:1px solid rgba(255,211,106,.18);box-shadow:inset 0 0 55px rgba(255,184,64,.06);text-align:center}.lb-hero-emblem img,.lb-roster-badge{width:min(100%,320px);filter:drop-shadow(0 0 28px rgba(255,184,64,.28)) drop-shadow(0 18px 30px rgba(0,0,0,.45));border-radius:22px}.lb-emblem-caption{margin-top:12px}.lb-emblem-caption strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:1.35rem;letter-spacing:.08em;text-transform:uppercase;color:#ffe6a1}.lb-emblem-caption span{display:block;color:var(--muted);margin-top:2px}.lb-stat-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.lb-stat-strip span{padding:7px 12px;border-radius:999px;background:rgba(255,211,106,.1);border:1px solid rgba(255,211,106,.22);color:#ffe6a1;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:900}.lb-statement-panel{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center;padding:24px;border-radius:24px;border:1px solid rgba(255,211,106,.2);background:linear-gradient(135deg,rgba(255,211,106,.1),rgba(255,255,255,.04))}.lb-statement-mark{width:110px;height:110px;border-radius:30px;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#fff1ad,#d98d22 48%,#2d1708 100%);color:#170d04;font-family:'Barlow Condensed',sans-serif;font-size:2rem;font-weight:900;letter-spacing:.06em;box-shadow:0 0 34px rgba(255,184,64,.28)}.lb-statement-panel h2{margin:0 0 6px;color:#ffe6a1;text-transform:uppercase}.lb-statement-panel p{margin:0;line-height:1.62;color:rgba(255,255,255,.8)}.lb-section-grid{display:grid;gap:16px}.lb-section-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-section-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.lb-card-glow{border-color:rgba(255,211,106,.2);box-shadow:inset 0 0 50px rgba(255,211,106,.035)}.lb-values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lb-values-grid article{position:relative;overflow:hidden;padding:20px;border-radius:22px;background:linear-gradient(145deg,rgba(255,211,106,.09),rgba(255,255,255,.035));border:1px solid rgba(255,211,106,.18)}.lb-values-grid article:before{content:"";position:absolute;inset:auto -20% -45% -20%;height:90px;background:radial-gradient(circle,rgba(255,184,64,.18),transparent 68%)}.lb-values-grid span{display:inline-block;color:#ffcf6e;font-weight:900;letter-spacing:.14em}.lb-values-grid h2{margin:.35rem 0 .4rem;color:#ffe6a1;text-transform:uppercase}.lb-values-grid p{margin:0;color:var(--muted);line-height:1.5}.charter-list.enhanced{grid-template-columns:repeat(3,minmax(0,1fr))}.charter-list.enhanced>div{background:linear-gradient(135deg,rgba(255,211,106,.08),rgba(255,255,255,.035));border-color:rgba(255,211,106,.16)}.badge-kit-row.enhanced{grid-template-columns:260px 1fr}.badge-kit-preview.large{width:260px;border-radius:22px}.lb-roster-hero{grid-template-columns:minmax(0,1fr) 220px}.lb-roster-badge{justify-self:end;width:210px}.lb-roster-tools{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:10px;margin:0 0 18px}.lightbringer-roster-grid.enhanced{gap:18px}.lightbringer-roster-card.enhanced{position:relative;overflow:hidden;border-color:rgba(255,211,106,.24);box-shadow:inset 0 0 44px rgba(255,211,106,.04)}.lightbringer-roster-card.enhanced:before{content:"";position:absolute;inset:-40% auto -40% -20%;width:180px;background:linear-gradient(90deg,rgba(255,211,106,.13),transparent);transform:rotate(10deg);pointer-events:none}.lightbringer-roster-card.enhanced>*{position:relative;z-index:1}.lightbringer-admin-manager{border-color:rgba(255,211,106,.22)!important;background:linear-gradient(135deg,rgba(255,211,106,.075),rgba(255,255,255,.035))!important}.lb-admin-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:10px}.lightbringer-admin-roster{display:grid;gap:8px;margin-top:12px}.lb-admin-roster-row{display:grid;grid-template-columns:1fr 160px 180px;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid rgba(255,211,106,.14)}.lb-admin-roster-row span,.lb-admin-roster-row em{color:var(--muted);font-style:normal;font-size:.9rem}
@media (max-width:1100px){.lb-values-grid,.charter-list.enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-section-grid.three{grid-template-columns:1fr}.lb-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.lb-hero,.lb-roster-hero,.lb-section-grid.two,.lb-statement-panel,.badge-kit-row.enhanced{grid-template-columns:1fr}.lb-hero h1,.lb-roster-hero h1{font-size:3.2rem}.lb-values-grid,.charter-list.enhanced,.lb-roster-tools,.lb-admin-grid,.lb-admin-roster-row{grid-template-columns:1fr}.lb-roster-badge{justify-self:start;width:180px}.lb-statement-mark{width:92px;height:92px}}

/* Lightbringer Program — wave 3 prestige + assets */
.lightbringer-page .lb-hero h1,.lightbringer-roster-page .lb-roster-hero h1,.lightbringer-assets-page h1{font-size:clamp(3rem,7vw,6.4rem);line-height:.86;letter-spacing:.02em;text-shadow:0 0 36px rgba(255,191,82,.22)}
.lb-oath-panel{background:radial-gradient(circle at 12% 35%,rgba(255,211,106,.22),transparent 30%),linear-gradient(135deg,rgba(255,211,106,.12),rgba(255,255,255,.035));border-color:rgba(255,211,106,.32)}
.lb-oath-panel .eyebrow{color:#ffe6a1}.lb-oath-panel p:first-of-type{font-size:1.18rem;color:rgba(255,255,255,.9);font-weight:700}
.lb-values-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))}
.lb-path-panel{overflow:hidden;position:relative;border-color:rgba(255,211,106,.22)}
.lb-path-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 18%,rgba(255,211,106,.08) 28%,transparent 48%);pointer-events:none}
.lb-path-panel>*{position:relative;z-index:1}.lb-path-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.lb-path-steps div{padding:16px;border-radius:18px;background:rgba(0,0,0,.22);border:1px solid rgba(255,211,106,.16)}.lb-path-steps b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ffe6a1,#d58b24);color:#190d03;font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;box-shadow:0 0 20px rgba(255,184,64,.25)}.lb-path-steps strong{display:block;margin-top:10px;color:#ffe6a1;text-transform:uppercase;letter-spacing:.06em;font-family:'Barlow Condensed',sans-serif;font-size:1.15rem}.lb-path-steps span{display:block;margin-top:5px;color:var(--muted);line-height:1.45;font-size:.94rem}
.lb-roster-stat-pill{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,211,106,.25);background:rgba(255,211,106,.08);color:#ffe6a1;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;white-space:nowrap}.lb-category-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.lb-category-chips button{border:1px solid rgba(255,211,106,.18);background:rgba(255,255,255,.045);color:var(--text);border-radius:999px;padding:7px 11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem}.lb-category-chips button.active,.lb-category-chips button:hover{background:linear-gradient(135deg,rgba(255,211,106,.28),rgba(255,122,24,.14));border-color:rgba(255,211,106,.46);color:#ffe6a1}.hall-card{min-height:210px}.hall-card .lightbringer-kicker{display:flex;flex-wrap:wrap;gap:8px}.hall-card .lightbringer-kicker span{padding:4px 8px;border-radius:999px;background:rgba(255,211,106,.08);border:1px solid rgba(255,211,106,.12)}.lightbringer-roster-avatar{position:relative}.lb-card-badge{position:absolute!important;right:-10px!important;bottom:-10px!important;width:54px!important;height:54px!important;object-fit:contain!important;border-radius:14px!important;filter:drop-shadow(0 0 14px rgba(255,184,64,.42));background:rgba(8,8,8,.55);padding:3px;border:1px solid rgba(255,211,106,.38)}
.lb-assets-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:center;padding:34px;border-radius:30px;border:1px solid rgba(255,211,106,.26);background:radial-gradient(circle at 80% 20%,rgba(255,211,106,.24),transparent 34%),linear-gradient(135deg,rgba(9,12,17,.98),rgba(35,24,12,.96));box-shadow:0 24px 70px rgba(0,0,0,.38),inset 0 0 80px rgba(255,211,106,.045)}.lb-assets-emblem{width:280px;max-width:100%;justify-self:end;filter:drop-shadow(0 0 30px rgba(255,184,64,.32)) drop-shadow(0 20px 32px rgba(0,0,0,.48));border-radius:24px}.lb-asset-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.lb-asset-card{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;border-color:rgba(255,211,106,.18)}.lb-asset-card.featured{grid-template-columns:220px 1fr;background:linear-gradient(135deg,rgba(255,211,106,.09),rgba(255,255,255,.035));border-color:rgba(255,211,106,.28)}.lb-asset-card img{width:100%;border-radius:20px;filter:drop-shadow(0 0 22px rgba(255,184,64,.23))}.lb-usage-card.warning{border-color:rgba(255,122,24,.24)}.lb-check-list{display:grid;gap:10px}.lb-check-list div{padding:13px 14px;border-radius:15px;background:rgba(255,255,255,.04);border:1px solid rgba(255,211,106,.12)}.lb-check-list strong{display:block;color:#ffe6a1;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.06em;font-size:1.08rem}.lb-check-list span{display:block;color:var(--muted);margin-top:4px;line-height:1.45}.lb-check-list.forbidden div{border-color:rgba(255,122,24,.16)}.lb-quote-panel{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center;border-color:rgba(255,211,106,.22);background:linear-gradient(135deg,rgba(255,211,106,.08),rgba(255,255,255,.035))}.lb-quote-panel img{width:110px;border-radius:22px;filter:drop-shadow(0 0 22px rgba(255,184,64,.3))}.lb-quote-panel h2{margin:.15rem 0;color:#ffe6a1;text-transform:uppercase}.lb-quote-panel p{font-size:1.08rem;color:rgba(255,255,255,.86)}
.lightbringer-profile-panel{display:grid;grid-template-columns:128px 1fr;gap:18px;align-items:center;position:relative;overflow:hidden;border-color:rgba(255,211,106,.28);background:radial-gradient(circle at 14% 35%,rgba(255,211,106,.22),transparent 32%),linear-gradient(135deg,rgba(28,18,8,.92),rgba(10,12,16,.94))}.lightbringer-profile-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 34%,rgba(255,211,106,.09) 44%,transparent 60%);pointer-events:none}.lightbringer-profile-panel>*{position:relative;z-index:1}.lightbringer-profile-panel img{width:118px;border-radius:24px;filter:drop-shadow(0 0 24px rgba(255,184,64,.34))}.lightbringer-profile-panel h3{margin:.2rem 0 .35rem;color:#ffe6a1;text-transform:uppercase;letter-spacing:.05em}.lightbringer-profile-panel p{line-height:1.55;color:rgba(255,255,255,.82)}
@media (max-width:1000px){.lb-values-grid-six{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-path-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.lb-path-steps div:last-child{grid-column:1/-1}.lb-assets-hero,.lb-asset-grid{grid-template-columns:1fr}.lb-assets-emblem{justify-self:start}.lb-asset-card,.lb-asset-card.featured{grid-template-columns:150px 1fr}}
@media (max-width:640px){.lb-values-grid-six,.lb-path-steps,.lb-assets-hero,.lb-asset-card,.lb-asset-card.featured,.lb-quote-panel,.lightbringer-profile-panel{grid-template-columns:1fr}.lb-roster-tools{grid-template-columns:1fr}.lb-assets-emblem,.lb-quote-panel img,.lightbringer-profile-panel img{justify-self:center}.lb-path-steps div:last-child{grid-column:auto}}

.lightbringer-avatar-frame{box-shadow:0 0 0 2px rgba(255,211,106,.88),0 0 26px rgba(255,184,64,.42),0 0 46px rgba(255,122,24,.18)!important}

/* Mini profile avatar frames should not be clipped by the navbar avatar shell. */
.mini-profile-avatar:has(.identity-avatar-frame-host){ overflow:visible; border:0; background:transparent; }
.mini-profile-avatar .identity-avatar-frame-host{ width:68px; height:68px; border-radius:50%; }
.mini-profile-avatar .identity-avatar-frame-host>.catalog-layer-fg{ padding:0; border-radius:50%!important; object-fit:cover!important; }

/* Identity frames in dashboard community cards use the same Avatar Frame priority as profiles. */
.dbd-swf-avatar .identity-avatar-frame-host,
.lightbringer-mark .identity-avatar-frame-host,
.featured-streamer-avatar .identity-avatar-frame-host{
  width:100%;
  height:100%;
  display:inline-grid;
  place-items:center;
  position:relative;
  overflow:visible;
}
.dbd-swf-avatar .identity-avatar-frame-host>.catalog-layer-bg,
.lightbringer-mark .identity-avatar-frame-host>.catalog-layer-bg,
.featured-streamer-avatar .identity-avatar-frame-host>.catalog-layer-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  pointer-events:none;
}
.dbd-swf-avatar .identity-avatar-frame-host>.catalog-layer-fg,
.lightbringer-mark .identity-avatar-frame-host>.catalog-layer-fg,
.featured-streamer-avatar .identity-avatar-frame-host>.catalog-layer-fg{
  position:relative;
  z-index:1;
  width:92%;
  height:92%;
  max-width:92%;
  max-height:92%;
  object-fit:cover;
  border-radius:inherit;
}
.dbd-swf-avatar .identity-avatar-frame-host>.profile-avatar-initials,
.lightbringer-mark .identity-avatar-frame-host>.profile-avatar-initials,
.featured-streamer-avatar .identity-avatar-frame-host>.profile-avatar-initials{
  display:grid;
  place-items:center;
  background:rgba(8,6,4,.55);
}

/* Player Hub build cards: hard reset to the canonical shared Build Page card.
   This section intentionally avoids the old Player Hub/profile build wrappers. */
#public-builds .player-hub-build-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr));
  gap:12px;
  max-height:none;
  overflow:visible;
}
#public-builds .player-hub-canonical-build-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:134px minmax(0,1fr);
  min-height:232px;
  margin:0;
  padding:0;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(135deg, rgba(255,255,255,.052), rgba(0,0,0,.26));
  box-shadow:0 16px 38px rgba(0,0,0,.24);
}
#public-builds .player-hub-canonical-build-card::before{
  content:none !important;
}
#public-builds .player-hub-canonical-build-card .build-card-art{
  min-height:232px;
}
#public-builds .player-hub-canonical-build-card .build-card-body{
  min-width:0;
  padding:14px;
  display:grid;
  gap:10px;
  align-content:start;
}
#public-builds .player-hub-canonical-build-card .build-perk-grid{
  display:grid;
  grid-template-columns:repeat(4,60px);
  gap:8px;
  align-items:center;
}
#public-builds .player-hub-canonical-build-card .build-loadout-icon{
  width:60px;
  height:60px;
}
@media (max-width:760px){
  #public-builds .player-hub-build-card-grid{grid-template-columns:1fr;}
  #public-builds .player-hub-canonical-build-card{grid-template-columns:1fr;}
  #public-builds .player-hub-canonical-build-card .build-card-art{height:128px;min-height:128px;}
}

html,body,input,button,select,textarea{font-family:"Roboto",system-ui,sans-serif;}

/* Dashboard universal stream-game room entry */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.dbd-dashboard-room-code{
  border-color:rgba(255,76,95,.26);
  background:
    radial-gradient(circle at top left, rgba(255,76,95,.18), transparent 34%),
    linear-gradient(180deg, rgba(20,9,12,.96), rgba(6,9,12,.96));
}
.dashboard-room-code-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:stretch;
  margin-top:auto;
}
.dashboard-room-code-input{
  min-width:0;
  width:100%;
  min-height:54px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  background:rgba(0,0,0,.34);
  color:var(--text);
  font-family:var(--font-heading);
  font-size:34px;
  font-weight:900;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.dashboard-room-code-input::placeholder{
  color:rgba(255,255,255,.26);
}
.dashboard-room-code-input:focus{
  outline:none;
  border-color:rgba(255,76,95,.62);
  box-shadow:0 0 0 3px rgba(255,76,95,.18), inset 0 0 0 1px rgba(255,255,255,.035);
}
.dashboard-room-code-note{
  margin-top:10px;
}
.dashboard-room-code-note.is-error{
  color:var(--bad-text, #ff8a8a);
}
@media (max-width:620px){
  .dashboard-room-code-form{grid-template-columns:1fr;}
  .dashboard-room-code-input{text-align:center;}
}

/* Hardcore Tracker compact challenge-wall test pass */
.hardcore-page.stream-tools-facelift{
  max-width:1180px;
  padding-top:18px;
}
.hardcore-challenge-header{
  display:grid;
  grid-template-columns:minmax(220px,1fr) auto auto auto;
  gap:12px 16px;
  align-items:center;
  padding:14px 16px!important;
  margin-bottom:16px;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(circle at 10% 0%, rgba(239,68,68,.18), transparent 30%),
    linear-gradient(180deg, rgba(18,18,22,.96), rgba(8,8,11,.98));
}
.hardcore-challenge-header::after{
  display:none!important;
}
.hardcore-title-block{
  min-width:0;
}
.hardcore-title-block .eyebrow{
  font-size:.68rem;
}
.hardcore-title-block h2{
  margin:1px 0 2px;
  font-family:var(--font-condensed, 'Barlow Condensed', sans-serif);
  font-size:clamp(1.55rem, 2.4vw, 2.25rem);
  line-height:.95;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.hardcore-title-block p{
  margin:0;
  color:var(--muted, #a1a1aa);
  font-size:.88rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.hardcore-challenge-header .hardcore-role-actions{
  display:inline-flex;
  gap:8px;
  justify-content:flex-end;
}
.hardcore-challenge-header .hardcore-role-actions button,
.hardcore-header-actions button{
  min-height:34px;
  padding:8px 12px;
  font-size:.78rem;
  border-radius:10px;
}
.hardcore-challenge-header .hardcore-summary{
  display:flex;
  gap:8px;
}
.hardcore-challenge-header .hardcore-summary > div{
  min-width:74px;
  padding:7px 9px;
  border-radius:12px;
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.09);
  text-align:center;
}
.hardcore-challenge-header .hardcore-summary strong{
  display:block;
  font-family:var(--font-condensed, 'Barlow Condensed', sans-serif);
  font-size:1.18rem;
  line-height:1;
}
.hardcore-challenge-header .hardcore-summary span{
  display:block;
  margin-top:2px;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted, #a1a1aa);
}
.hardcore-header-actions{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.hardcore-challenge-header .hardcore-progress-shell{
  grid-column:1 / -1;
  gap:0;
}
.hardcore-challenge-header .hardcore-progress-bar{
  height:8px;
}
.hardcore-wall-section{
  gap:10px!important;
}
.hardcore-wall-header{
  padding:0 2px;
}
.hardcore-wall-header h3{
  font-size:clamp(1.18rem, 1.5vw, 1.55rem)!important;
  margin:0!important;
}
.hardcore-wall-header p{
  font-size:.86rem;
}
.hardcore-grid{
  grid-template-columns:repeat(auto-fill, minmax(88px, 1fr))!important;
  gap:8px!important;
  align-items:start;
}
.hardcore-character-card{
  position:relative;
  display:block!important;
  min-height:0!important;
  aspect-ratio:1 / 1.2;
  padding:6px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(0,0,0,.34))!important;
  box-shadow:0 8px 18px rgba(0,0,0,.26)!important;
  overflow:hidden;
}
.hardcore-character-image{
  position:absolute!important;
  inset:6px!important;
  width:auto!important;
  height:auto!important;
  aspect-ratio:auto!important;
  border-radius:9px!important;
}
.hardcore-character-image .catalog-layered-image,
.hardcore-character-image img,
.hardcore-character-placeholder{
  width:100%!important;
  height:100%!important;
}
.hardcore-character-info,
.hardcore-streak-panel .hardcore-streak-label{
  display:none!important;
}
.hardcore-streak-panel{
  position:absolute!important;
  left:10px;
  right:10px;
  bottom:10px;
  z-index:7;
  display:block!important;
  margin:0!important;
  padding:4px 5px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.56)!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.32);
  backdrop-filter:blur(4px);
}
.hardcore-streak-panel .hardcore-streak-controls{
  display:grid!important;
  grid-template-columns:22px 1fr 22px!important;
  align-items:center;
  gap:3px!important;
}
.hardcore-streak-panel .hardcore-streak-btn{
  width:22px!important;
  height:22px!important;
  min-height:0!important;
  padding:0!important;
  border-radius:999px!important;
  font-size:.92rem!important;
}
.hardcore-streak-panel .hardcore-streak-value{
  min-width:0!important;
  font-size:1.05rem!important;
  line-height:1!important;
}
.hardcore-character-card.defeated{
  border-color:rgba(239,68,68,.56)!important;
}
.hardcore-character-card.defeated::after{
  inset:6px!important;
  border-radius:9px!important;
  z-index:2!important;
}
.hardcore-character-card.defeated .hardcore-character-image img,
.hardcore-character-card.defeated .hardcore-character-placeholder{
  filter:grayscale(.95) brightness(.38)!important;
}
.hardcore-character-card.defeated .hardcore-defeat-x{
  inset:6px!important;
  width:auto!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  font-size:clamp(4.5rem, 10vw, 7rem)!important;
  opacity:1!important;
  z-index:6!important;
}
.hardcore-character-card.defeated .hardcore-streak-panel{
  z-index:9!important;
}
@media (max-width:900px){
  .hardcore-challenge-header{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .hardcore-title-block p{
    white-space:normal;
  }
  .hardcore-challenge-header .hardcore-role-actions,
  .hardcore-header-actions,
  .hardcore-challenge-header .hardcore-summary{
    justify-content:stretch;
  }
  .hardcore-challenge-header .hardcore-role-actions button,
  .hardcore-header-actions button,
  .hardcore-challenge-header .hardcore-summary > div{
    flex:1 1 0;
  }
  .hardcore-grid{
    grid-template-columns:repeat(auto-fill, minmax(78px, 1fr))!important;
    gap:7px!important;
  }
}


/* Hardcore Tracker full-page wall refinement: side control rail + larger flatter cards */
body:not(.stream-overlay-mode) .hardcore-page.stream-tools-facelift{
  width:min(100% - 32px, 1560px);
  max-width:1560px;
  padding-top:12px;
  display:grid;
  grid-template-columns:300px minmax(0, 1fr);
  gap:18px;
  align-items:start;
}
body:not(.stream-overlay-mode) .hardcore-challenge-header{
  grid-template-columns:1fr!important;
  gap:12px!important;
  align-self:start;
  position:relative;
  top:auto;
  margin:0!important;
  padding:14px!important;
  border-radius:18px;
}
body:not(.stream-overlay-mode) .hardcore-title-block h2{
  font-size:clamp(1.8rem, 3vw, 2.35rem);
}
body:not(.stream-overlay-mode) .hardcore-title-block p{
  white-space:normal;
  line-height:1.25;
}
body:not(.stream-overlay-mode) .hardcore-challenge-header .hardcore-role-actions,
body:not(.stream-overlay-mode) .hardcore-header-actions,
body:not(.stream-overlay-mode) .hardcore-challenge-header .hardcore-summary{
  width:100%;
  justify-content:stretch;
}
body:not(.stream-overlay-mode) .hardcore-challenge-header .hardcore-role-actions button,
body:not(.stream-overlay-mode) .hardcore-header-actions button{
  flex:1 1 0;
}
body:not(.stream-overlay-mode) .hardcore-challenge-header .hardcore-summary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
body:not(.stream-overlay-mode) .hardcore-challenge-header .hardcore-summary > div{
  min-width:0;
  padding:9px 6px;
}
body:not(.stream-overlay-mode) .hardcore-challenge-header .hardcore-progress-shell{
  grid-column:auto!important;
}
body:not(.stream-overlay-mode) .hardcore-wall-section{
  min-width:0;
  gap:8px!important;
}
body:not(.stream-overlay-mode) .hardcore-wall-header{
  align-items:center;
  min-height:34px;
}
body:not(.stream-overlay-mode) .hardcore-wall-header .eyebrow{
  display:none;
}
body:not(.stream-overlay-mode) .hardcore-wall-header h3{
  font-size:1.35rem!important;
}
body:not(.stream-overlay-mode) .hardcore-wall-header p{
  font-size:.8rem;
  opacity:.76;
}
body:not(.stream-overlay-mode) .hardcore-grid{
  grid-template-columns:repeat(auto-fill, minmax(132px, 1fr))!important;
  gap:10px!important;
}
body:not(.stream-overlay-mode) .hardcore-character-card{
  aspect-ratio:1 / 1.16;
  padding:3px!important;
  border-radius:12px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.045)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.24)!important;
}
body:not(.stream-overlay-mode) .hardcore-character-image{
  inset:3px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
}
body:not(.stream-overlay-mode) .hardcore-character-image .catalog-layered-image,
body:not(.stream-overlay-mode) .hardcore-character-image .catalog-layered-image img,
body:not(.stream-overlay-mode) .hardcore-character-image img,
body:not(.stream-overlay-mode) .hardcore-character-placeholder{
  border-radius:inherit!important;
}
body:not(.stream-overlay-mode) .hardcore-streak-panel{
  left:8px!important;
  right:8px!important;
  bottom:8px!important;
  padding:5px 6px!important;
  background:rgba(0,0,0,.62)!important;
}
body:not(.stream-overlay-mode) .hardcore-streak-panel .hardcore-streak-controls{
  grid-template-columns:28px 1fr 28px!important;
  gap:5px!important;
}
body:not(.stream-overlay-mode) .hardcore-streak-panel .hardcore-streak-btn{
  width:28px!important;
  height:28px!important;
  font-size:1.05rem!important;
}
body:not(.stream-overlay-mode) .hardcore-streak-panel .hardcore-streak-value{
  font-size:1.22rem!important;
}
body:not(.stream-overlay-mode) .hardcore-character-card.defeated::after,
body:not(.stream-overlay-mode) .hardcore-character-card.defeated .hardcore-defeat-x{
  inset:3px!important;
  border-radius:9px!important;
}
body:not(.stream-overlay-mode) .hardcore-character-card.defeated .hardcore-defeat-x{
  font-size:clamp(5.75rem, 9vw, 8.25rem)!important;
}
@media (max-width:1100px){
  body:not(.stream-overlay-mode) .hardcore-page.stream-tools-facelift{
    grid-template-columns:1fr;
    width:min(100% - 20px, 1180px);
  }
  body:not(.stream-overlay-mode) .hardcore-challenge-header{
    position:relative;
    top:auto;
    grid-template-columns:1fr!important;
  }
  body:not(.stream-overlay-mode) .hardcore-grid{
    grid-template-columns:repeat(auto-fill, minmax(116px, 1fr))!important;
  }
}
@media (max-width:640px){
  body:not(.stream-overlay-mode) .hardcore-grid{
    grid-template-columns:repeat(auto-fill, minmax(92px, 1fr))!important;
  }
  body:not(.stream-overlay-mode) .hardcore-character-card{
    aspect-ratio:1 / 1.22;
  }
  body:not(.stream-overlay-mode) .hardcore-wall-header p{
    display:none;
  }
}

/* Hardcore Tracker portrait-wall refinement: let portraits consume the full card frame */
body:not(.stream-overlay-mode) .hardcore-character-card{
  padding:0!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.035)!important;
}
body:not(.stream-overlay-mode) .hardcore-character-image{
  inset:0!important;
  border-radius:inherit!important;
  overflow:hidden!important;
}
body:not(.stream-overlay-mode) .hardcore-character-image .catalog-layered-image,
body:not(.stream-overlay-mode) .hardcore-character-image .catalog-layered-image img,
body:not(.stream-overlay-mode) .hardcore-character-image img,
body:not(.stream-overlay-mode) .hardcore-character-placeholder{
  width:100%!important;
  height:100%!important;
  border-radius:inherit!important;
}
body:not(.stream-overlay-mode) .hardcore-character-image .catalog-layer-bg{
  padding:0!important;
  object-fit:cover!important;
}
body:not(.stream-overlay-mode) .hardcore-character-image .catalog-layer-fg{
  padding:0!important;
  object-fit:cover!important;
  object-position:center top!important;
}
body:not(.stream-overlay-mode) .hardcore-character-card.defeated::after,
body:not(.stream-overlay-mode) .hardcore-character-card.defeated .hardcore-defeat-x{
  inset:0!important;
  border-radius:inherit!important;
}
body:not(.stream-overlay-mode) .hardcore-streak-panel{
  left:8px!important;
  right:8px!important;
  bottom:8px!important;
}
/* Hardcore OBS overlay: mirror the compact side-panel character wall without site chrome or controls. */
body.stream-overlay-mode.hardcore-overlay-mode .site-header-shell,
body.stream-overlay-mode.hardcore-overlay-mode .site-footer,
body.stream-overlay-mode.hardcore-overlay-mode footer,
body.stream-overlay-mode.hardcore-overlay-mode .page-chrome,
body.stream-overlay-mode.hardcore-overlay-mode .feedback-fab{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode{
  width:1920px!important;
  min-width:1920px!important;
  height:1080px!important;
  min-height:1080px!important;
  overflow:hidden!important;
  background:transparent!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift,
body.stream-overlay-mode.hardcore-overlay-mode .page-wrap{
  width:1920px!important;
  max-width:1920px!important;
  height:1080px!important;
  max-height:1080px!important;
  min-height:0!important;
  margin:0!important;
  padding:22px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:280px minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  gap:18px!important;
  align-items:start!important;
  overflow:hidden!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-challenge-header{
  grid-column:auto!important;
  grid-row:auto!important;
  align-self:start!important;
  display:block!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding:18px!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 12% 0%, rgba(239,68,68,.2), transparent 34%),
    linear-gradient(180deg, rgba(22,18,20,.9), rgba(7,8,12,.86))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(8px)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-challenge-header::after,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-role-actions,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-header-actions,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-progress-shell{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-title-block .eyebrow{
  display:block!important;
  font-size:.72rem!important;
  letter-spacing:.14em!important;
  color:#f0b3a8!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-title-block h2{
  margin:6px 0 8px!important;
  font-size:3.1rem!important;
  line-height:.88!important;
  letter-spacing:.045em!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-title-block p{
  margin:0 0 16px!important;
  white-space:normal!important;
  font-size:.96rem!important;
  line-height:1.35!important;
  color:rgba(229,231,235,.72)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:8px!important;
  margin-top:14px!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary > div{
  min-width:0!important;
  padding:11px 7px!important;
  border-radius:12px!important;
  background:rgba(0,0,0,.42)!important;
  border:1px solid rgba(255,255,255,.1)!important;
  text-align:center!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary strong{
  display:block!important;
  font-size:1.75rem!important;
  line-height:1!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary span{
  display:block!important;
  margin-top:4px!important;
  font-size:.58rem!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-section{
  grid-column:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:calc(1080px - 44px)!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  gap:12px!important;
  overflow:hidden!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-header{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:0 2px!important;
  margin:0!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-header .eyebrow{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-header h3{
  margin:0!important;
  font-size:1.95rem!important;
  line-height:.95!important;
  letter-spacing:.055em!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-wall-header p{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-grid{
  height:100%!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:repeat(auto-fill, minmax(124px, 1fr))!important;
  grid-auto-rows:auto!important;
  gap:12px!important;
  align-content:start!important;
  align-items:start!important;
  overflow:hidden!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card{
  position:relative!important;
  display:block!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:1 / 1.16!important;
  padding:0!important;
  border-radius:13px!important;
  overflow:hidden!important;
  background:rgba(5,7,11,.72)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 14px 28px rgba(0,0,0,.34)!important;
  backdrop-filter:none!important;
  cursor:default!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-image .catalog-layered-image,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-image img,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-placeholder{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel{
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:7px!important;
  z-index:9!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  min-width:42px!important;
  display:block!important;
  margin:0!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.62)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 8px 16px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(4px)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel .hardcore-streak-controls{
  display:block!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel .hardcore-streak-btn{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-streak-panel .hardcore-streak-value{
  display:block!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:1.15rem!important;
  line-height:1!important;
  color:#fff!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated{
  border-color:rgba(239,68,68,.62)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated .hardcore-character-image img,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated .hardcore-character-placeholder{
  filter:grayscale(.95) brightness(.36)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated::after{
  inset:0!important;
  border-radius:12px!important;
  z-index:2!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-defeat-x{
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  display:grid!important;
  place-items:center!important;
  z-index:8!important;
  font-size:clamp(4.5rem, 7vw, 7rem)!important;
  line-height:1!important;
  color:rgba(255,45,45,.98)!important;
  text-shadow:0 9px 30px rgba(0,0,0,.95),0 0 22px rgba(239,68,68,.78)!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.defeated .hardcore-defeat-x{
  opacity:1!important;
  transform:rotate(-9deg) scale(1)!important;
}

/* Challenge Tracker foundation: preset selector + dynamic rule cards */
.hardcore-control-panel{
  width:100%;
  padding:10px;
  border-radius:14px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.08);
}
.hardcore-panel-label{
  display:block;
  margin:0 0 7px;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--muted, #a1a1aa);
}
.hardcore-challenge-select{
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(5,7,11,.78);
  color:var(--text, #f4f4f5);
  font-weight:800;
  letter-spacing:.02em;
}
body:not(.stream-overlay-mode) .hardcore-challenge-header .hardcore-summary{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.hardcore-rules-content p{
  margin:0 0 8px;
  color:rgba(229,231,235,.78);
  font-size:.82rem;
  line-height:1.3;
}
.hardcore-rules-content ul{
  margin:0;
  padding-left:16px;
  display:grid;
  gap:6px;
}
.hardcore-rules-content li{
  color:rgba(229,231,235,.76);
  font-size:.78rem;
  line-height:1.28;
}
.hardcore-character-card.completed{
  border-color:rgba(34,197,94,.66)!important;
}
.hardcore-character-card.completed .hardcore-defeat-x{
  color:rgba(74,222,128,.98)!important;
  text-shadow:0 9px 30px rgba(0,0,0,.95),0 0 22px rgba(34,197,94,.78)!important;
  transform:rotate(0deg) scale(.82)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-challenge-select-panel,
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-rules-panel{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-summary{
  grid-template-columns:repeat(2,1fr)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.completed{
  border-color:rgba(34,197,94,.66)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.completed .hardcore-defeat-x{
  color:rgba(74,222,128,.98)!important;
  text-shadow:0 9px 30px rgba(0,0,0,.95),0 0 22px rgba(34,197,94,.78)!important;
  transform:rotate(0deg) scale(.82)!important;
}

/* Challenge Tracker Gauntlet Engine v1 */
.hardcore-gauntlet-current{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(5,7,11,.58);
  border:1px solid rgba(255,255,255,.1);
}
.hardcore-gauntlet-current strong{
  display:block;
  font-family:var(--font-condensed, 'Barlow Condensed', sans-serif);
  font-size:1.25rem;
  line-height:1;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:#fff;
}
.hardcore-gauntlet-current span{
  display:block;
  color:rgba(229,231,235,.72);
  font-size:.76rem;
  line-height:1.25;
}
.hardcore-gauntlet-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:8px;
}
.hardcore-gauntlet-actions button{
  width:100%;
  min-height:34px;
  padding:8px 10px;
  border-radius:10px;
  font-size:.76rem;
}
.hardcore-character-card.current{
  border-color:rgba(250,204,21,.9)!important;
  box-shadow:0 0 0 2px rgba(250,204,21,.26),0 14px 30px rgba(0,0,0,.36),0 0 28px rgba(250,204,21,.28)!important;
}
.hardcore-character-card.current::before{
  content:'CURRENT';
  position:absolute;
  left:8px;
  right:8px;
  top:8px;
  z-index:9;
  padding:3px 5px;
  border-radius:999px;
  background:rgba(250,204,21,.88);
  color:#111827;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
  box-shadow:0 8px 18px rgba(0,0,0,.35);
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-gauntlet-panel{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.current::before{
  top:7px;
  left:7px;
  right:7px;
  font-size:.54rem;
}

/* Challenge Tracker Gauntlet OBS polish */
.hardcore-overlay-gauntlet-focus{
  display:grid;
  gap:9px;
  margin-top:12px;
  padding:12px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(250,204,21,.12), rgba(0,0,0,.28));
  border:1px solid rgba(250,204,21,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
body:not(.stream-overlay-mode) .hardcore-overlay-gauntlet-focus{
  display:none!important;
}
.hardcore-overlay-focus-current strong{
  display:block;
  font-family:var(--font-condensed, 'Barlow Condensed', sans-serif);
  font-size:1.7rem;
  line-height:.94;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:#fff;
}
.hardcore-overlay-focus-tier{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border-radius:12px;
  background:rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.09);
}
.hardcore-overlay-focus-tier span{
  font-family:var(--font-condensed, 'Barlow Condensed', sans-serif);
  font-size:1.15rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#fde68a;
}
.hardcore-overlay-focus-tier small{
  color:rgba(229,231,235,.74);
  font-size:.74rem;
  line-height:1.2;
}
.hardcore-overlay-focus-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.hardcore-overlay-focus-meta span{
  display:grid;
  gap:2px;
  padding:8px 6px;
  border-radius:11px;
  background:rgba(0,0,0,.36);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(229,231,235,.64);
  font-size:.57rem;
  font-weight:900;
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
}
.hardcore-overlay-focus-meta strong{
  color:#fff;
  font-size:1.25rem;
  line-height:1;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-challenge-header{
  border-color:rgba(250,204,21,.25)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-summary{
  grid-template-columns:repeat(2,1fr)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-summary > div{
  padding:9px 6px!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-summary strong{
  font-size:1.38rem!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-summary span{
  font-size:.52rem!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-character-card.current{
  border-color:rgba(250,204,21,.98)!important;
  box-shadow:0 0 0 2px rgba(250,204,21,.34),0 14px 30px rgba(0,0,0,.36),0 0 34px rgba(250,204,21,.38)!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-character-card.current .hardcore-character-image::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:3;
  border-radius:12px;
  box-shadow:inset 0 0 0 3px rgba(250,204,21,.55), inset 0 -34px 50px rgba(250,204,21,.2);
  pointer-events:none;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-character-card.completed .hardcore-defeat-x{
  font-size:clamp(3.8rem, 5.8vw, 5.8rem)!important;
}

/* Challenge Tracker Streak Engine */
.hardcore-streak-mini-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.hardcore-streak-mini-stats > div,
.hardcore-streak-side-stats > div{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.045);
  padding:8px;
  text-align:center;
}
.hardcore-streak-mini-stats strong,
.hardcore-streak-side-stats strong{
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.35rem;
  line-height:1;
  color:#fff;
}
.hardcore-streak-mini-stats span,
.hardcore-streak-side-stats span{
  display:block;
  margin-top:3px;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
}
.hardcore-streak-history,
.hardcore-streak-results{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  min-height:30px;
}
.hardcore-streak-history span,
.hardcore-streak-results span{
  display:inline-grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:999px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);
}
.hardcore-streak-history .win,
.hardcore-streak-results .win{
  color:#7df7a2;
  border-color:rgba(125,247,162,.38);
  background:rgba(34,197,94,.16);
}
.hardcore-streak-history .loss,
.hardcore-streak-results .loss{
  color:#ff6b6b;
  border-color:rgba(255,107,107,.4);
  background:rgba(239,68,68,.16);
}
.hardcore-streak-history em,
.hardcore-streak-results em{
  color:rgba(255,255,255,.58);
  font-style:normal;
  font-size:.9rem;
}
.hardcore-streak-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.hardcore-streak-stage{
  grid-column:1/-1;
  min-height:420px;
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(220px,.55fr);
  grid-template-rows:1fr auto;
  gap:16px;
  align-items:stretch;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:radial-gradient(circle at 50% 15%,rgba(220,38,38,.22),transparent 36%),linear-gradient(135deg,rgba(15,23,42,.88),rgba(5,5,8,.95));
  padding:22px;
}
.hardcore-streak-hero{
  display:grid;
  place-items:center;
  text-align:center;
  border-radius:18px;
  background:rgba(0,0,0,.32);
  border:1px solid rgba(255,255,255,.1);
}
.hardcore-streak-hero span{
  display:block;
  font-size:1rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.66);
}
.hardcore-streak-hero strong{
  display:block;
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(6rem,18vw,14rem);
  line-height:.85;
  color:#fff;
  text-shadow:0 0 28px rgba(220,38,38,.34);
}
.hardcore-streak-side-stats{
  display:grid;
  gap:16px;
  align-content:center;
}
.hardcore-streak-side-stats strong{font-size:3rem;}
.hardcore-streak-results{
  grid-column:1/-1;
  justify-content:center;
  padding:10px;
  border-radius:14px;
  background:rgba(0,0,0,.24);
}
body[data-challenge-engine="streak"] .hardcore-wall-section .section-title-row{display:none;}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="streak"] .hardcore-streak-stage{
  min-height:calc(100vh - 180px);
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="streak"] .hardcore-streak-hero strong{
  font-size:clamp(8rem,24vw,20rem);
}
@media (max-width:900px){
  .hardcore-streak-stage{grid-template-columns:1fr;min-height:320px;}
  .hardcore-streak-results{grid-column:auto;}
}

/* Challenge Tracker: Streak controls are a normal sidebar panel, not a portrait counter overlay */
.hardcore-streak-controls-panel{
  position:static!important;
  display:block!important;
  margin:0!important;
  padding:14px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.hardcore-streak-controls-panel[hidden]{
  display:none!important;
}
.hardcore-streak-controls-panel .hardcore-streak-history{
  margin-top:8px;
}

/* Challenge Tracker cleanup: stable OBS title, lean Gauntlet stats, and viewer room mode */
.hardcore-overlay-gauntlet-focus[hidden],
.hardcore-gauntlet-stat[hidden],
#hardcoreRunLengthStat[hidden],
#hardcoreCurrentStat[hidden],
#hardcoreCheckpointStat[hidden],
#hardcoreRollbackStat[hidden]{
  display:none!important;
}
.hardcore-viewer-room-panel{
  display:grid;
  gap:8px;
}
.hardcore-viewer-room-code{
  display:grid;
  place-items:center;
  min-height:40px;
  border-radius:12px;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.11);
  color:#ffe4aa;
  font-family:var(--font-condensed, 'Barlow Condensed', sans-serif);
  font-size:2rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hardcore-viewer-room-panel button{
  width:100%;
  min-height:34px;
  border-radius:10px;
  font-size:.76rem;
}

body.stream-overlay-mode.hardcore-overlay-mode .hardcore-viewer-room-panel button{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-viewer-room-panel{
  align-self:center;
  min-width:170px;
}
body.challenge-viewer-mode .hardcore-challenge-select-panel,
body.challenge-viewer-mode .hardcore-viewer-room-panel,
body.challenge-viewer-mode .hardcore-header-actions,
body.challenge-viewer-mode .hardcore-gauntlet-panel,
body.challenge-viewer-mode .hardcore-streak-controls-panel,
body.challenge-viewer-mode .hardcore-progress-shell{
  display:none!important;
}
body.challenge-viewer-mode .hardcore-challenge-header{
  position:relative!important;
  top:auto!important;
}
body.challenge-viewer-mode .hardcore-character-card{
  cursor:default!important;
}
body.challenge-viewer-mode .hardcore-streak-btn{
  display:none!important;
}
body.challenge-viewer-mode .hardcore-streak-panel .hardcore-streak-controls{
  grid-template-columns:1fr!important;
}
body:not(.stream-overlay-mode)[data-challenge-engine="gauntlet"] .hardcore-challenge-header .hardcore-summary{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body:not(.stream-overlay-mode)[data-challenge-engine="gauntlet"] #hardcoreCheckpointStat,
body:not(.stream-overlay-mode)[data-challenge-engine="gauntlet"] #hardcoreRollbackStat{
  display:grid;
}
body.stream-overlay-mode.hardcore-overlay-mode:not([data-challenge-engine="gauntlet"]) .hardcore-overlay-gauntlet-focus{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-challenge-engine="gauntlet"] .hardcore-overlay-gauntlet-focus:not([hidden]){
  display:grid!important;
}

/* Admin Rewards — compact live manager */
.admin-reward-summary-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}
.admin-reward-summary-stat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:52px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.admin-reward-summary-stat span{
  color:var(--muted);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.15;
  text-transform:uppercase;
}
.admin-reward-summary-stat strong{
  color:var(--text);
  font-family:var(--font-display, var(--font-heading, inherit));
  font-size:1.45rem;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.admin-reward-actions-list{
  display:grid;
  gap:8px;
}
.admin-reward-action-card{
  display:grid;
  grid-template-columns:minmax(220px,.82fr) minmax(520px,1.18fr);
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.admin-reward-action-card.is-inactive{
  opacity:.76;
}
.admin-reward-action-main{
  min-width:0;
}
.admin-reward-action-title-line{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.admin-reward-action-title-line strong{
  overflow:hidden;
  color:var(--text);
  font-size:.98rem;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-reward-action-key{
  overflow:hidden;
  margin-top:3px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.04em;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.admin-reward-action-description{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  margin:5px 0 0;
}
.admin-reward-action-fields{
  display:grid;
  grid-template-columns:repeat(5,minmax(72px,1fr)) auto auto;
  gap:8px;
  align-items:end;
}
.admin-reward-action-fields .field{
  min-width:0;
  margin:0;
}
.admin-reward-action-fields .field label{
  margin-bottom:3px;
  font-size:.68rem;
  letter-spacing:.07em;
}
.admin-reward-action-fields input[type="number"]{
  min-height:34px;
  padding:7px 8px;
}
.admin-reward-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:7px 8px;
  border:1px solid var(--border);
  border-radius:10px;
  background:rgba(0,0,0,.16);
  color:var(--muted);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
}
.admin-reward-action-fields button{
  min-height:34px;
  align-self:end;
}
@media (max-width:1180px){
  .admin-reward-action-card{grid-template-columns:1fr;align-items:start;}
  .admin-reward-action-fields{grid-template-columns:repeat(5,minmax(70px,1fr)) auto auto;}
}
@media (max-width:780px){
  .admin-reward-action-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
  .admin-reward-toggle,.admin-reward-action-fields button{width:100%;}
}

.admin-reward-actions-grouped{
  gap:14px;
}
.admin-reward-category-group{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(0,0,0,.14);
}
.admin-reward-category-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:0 2px 2px;
}
.admin-reward-category-heading h3{
  margin:0;
  color:var(--text);
  font-family:var(--font-display, var(--font-heading, inherit));
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.admin-reward-action-fields{
  grid-template-columns:minmax(92px,1.1fr) repeat(5,minmax(72px,1fr)) auto auto;
}
.admin-reward-action-fields input[type="text"],
.admin-reward-action-fields input[type="number"]{
  min-height:34px;
  padding:7px 8px;
}
@media (max-width:1180px){
  .admin-reward-action-fields{grid-template-columns:repeat(6,minmax(70px,1fr)) auto auto;}
}
@media (max-width:780px){
  .admin-reward-action-fields{grid-template-columns:repeat(2,minmax(0,1fr));}
}

/* Challenge Center: admin-managed defeated overlay icon */
.hardcore-state-overlay.hardcore-defeat-icon,
.hardcore-defeat-x.hardcore-defeat-icon{
  object-fit:contain!important;
  padding:14%!important;
  transform:none!important;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.9)) drop-shadow(0 0 18px rgba(239,68,68,.42));
}
.hardcore-character-card.defeated .hardcore-state-overlay.hardcore-defeat-icon,
.hardcore-character-card.defeated .hardcore-defeat-x.hardcore-defeat-icon{
  opacity:1!important;
}
body:not(.stream-overlay-mode) .hardcore-character-card.defeated .hardcore-state-overlay.hardcore-defeat-icon,
body:not(.stream-overlay-mode) .hardcore-character-card.defeated .hardcore-defeat-x.hardcore-defeat-icon{
  font-size:0!important;
  padding:12%!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-defeat-x.hardcore-defeat-icon{
  padding:11%!important;
  transform:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-character-card.completed .hardcore-defeat-x.hardcore-complete-mark,
.hardcore-character-card.completed .hardcore-defeat-x.hardcore-complete-mark{
  color:rgba(74,222,128,.98)!important;
  text-shadow:0 9px 30px rgba(0,0,0,.95),0 0 22px rgba(34,197,94,.7)!important;
}
.catalog-frame-upload-status{min-height:18px;margin:6px 0 10px;color:var(--muted)}
.catalog-frame-upload-status.success{color:var(--good-text)}
.catalog-frame-upload-status.error{color:var(--bad-text)}

/* Shared NavBar modular skin alignment
   Keep the global header on the same rails and visual language as the
   modular admin shell instead of the older blue/gray topbar treatment. */
.site-header-shell{
  width:min(1600px, calc(100vw - 48px));
  max-width:1600px;
  margin:10px auto 20px;
}
.site-header-shell .topbar{
  width:100%;
  max-width:none;
  margin:0;
  padding:12px 14px;
  align-items:center;
  gap:12px;
  border:1px solid rgba(122,28,28,.42);
  border-radius:var(--radius-2xl);
  background:
    radial-gradient(circle at 12% 0%, rgba(155,28,28,.18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.060), rgba(255,255,255,.020)),
    rgba(10,7,5,.88);
  box-shadow:var(--shadow), 0 0 0 1px rgba(255,255,255,.018) inset;
  backdrop-filter:blur(10px);
}
.site-header-shell .site-branding{
  min-width:0;
  padding:4px 6px 4px 4px;
  border-radius:var(--radius-xl);
}
.site-header-shell .site-branding:hover{
  background:rgba(255,255,255,.035);
}
.site-header-shell .site-logo-shell{
  border-color:rgba(232,192,106,.28);
  background:
    radial-gradient(circle at 35% 18%, rgba(232,192,106,.18), transparent 44%),
    radial-gradient(circle at 55% 62%, rgba(155,28,28,.34), transparent 56%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(0,0,0,.48));
  box-shadow:0 14px 30px rgba(0,0,0,.34), inset 0 0 24px rgba(155,28,28,.18);
}
.site-header-shell .site-title{
  color:#fff2df;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.site-header-shell .site-subtitle{
  color:var(--accent-text);
  opacity:.86;
}
.site-header-shell .page-nav{
  padding:0 8px;
  gap:6px;
}
.site-header-shell .page-nav .nav-link{
  border:1px solid rgba(255,255,255,.09);
  background:rgba(0,0,0,.22);
  color:var(--muted);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.012);
}
.site-header-shell .page-nav .nav-link:hover,
.site-header-shell .page-nav .nav-link:focus-visible,
.site-header-shell .page-nav .nav-link.active{
  border-color:rgba(232,192,106,.34);
  background:
    linear-gradient(180deg, rgba(155,28,28,.28), rgba(0,0,0,.18)),
    rgba(0,0,0,.30);
  color:#fff2df;
  box-shadow:0 10px 24px rgba(0,0,0,.26), 0 0 18px rgba(155,28,28,.14);
}
.site-header-shell .page-nav .nav-link.active{
  color:var(--accent-text);
}
.site-header-shell .page-nav .nav-link-featured{
  border-color:rgba(232,192,106,.40);
  background:
    linear-gradient(135deg, rgba(155,28,28,.30), rgba(232,192,106,.12)),
    rgba(0,0,0,.24);
}
.site-header-shell .page-nav .nav-link .nav-label-text{
  border-color:rgba(122,28,28,.52);
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
    rgba(10,7,5,.96);
  color:#fff2df;
  box-shadow:0 14px 30px rgba(0,0,0,.46), 0 0 18px rgba(155,28,28,.16);
}
.site-header-shell .topbar-actions{
  gap:8px;
}
.site-header-shell .mini-profile,
.site-header-shell .logout-link,
.site-header-shell .sidebar-toggle{
  border-color:rgba(255,255,255,.10);
  background:rgba(0,0,0,.24);
  color:var(--text);
}
.site-header-shell .mini-profile:hover,
.site-header-shell .logout-link:hover,
.site-header-shell .sidebar-toggle:hover{
  border-color:rgba(232,192,106,.30);
  background:rgba(155,28,28,.18);
  color:#fff2df;
}
.site-header-shell .site-update-ticker{
  border:1px solid rgba(122,28,28,.36);
  border-radius:var(--radius-xl);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.016)),
    rgba(10,7,5,.80);
  box-shadow:var(--shadow);
}
@media (max-width:900px){
  .site-header-shell{width:min(100% - 28px, 1600px);}
  .site-header-shell .topbar{padding:10px;}
  .site-header-shell .page-nav{padding:8px 0 0;gap:8px;}
  .site-header-shell .page-nav .nav-link,
  .site-header-shell .page-nav .nav-link:hover,
  .site-header-shell .page-nav .nav-link:focus-visible,
  .site-header-shell .page-nav .nav-link.active{border-radius:var(--radius-pill);}
}
@media (max-width:520px){
  .site-header-shell{width:min(100% - 18px, 1600px);}
  .site-header-shell .site-branding{width:100%;}
  .site-header-shell .topbar-actions{width:100%;justify-content:space-between;}
}

/* v3.2.24 — Rail alignment: remove the extra desktop navbar gutter so pages
   can share the same 1600px rail as the shared header. */
@media (min-width:901px){
  .site-header-shell{
    width:min(1600px, 100vw);
    max-width:1600px;
  }
}


/* Streamer Dashboard public skin/width stabilization — 2026-06-10
   Keeps the OBS control dashboard aligned to the locked public rail and removes
   the legacy red/brown Befuddle/dashboard wash from the page chrome. */
body:not(.stream-overlay-mode) .streamer-dashboard-page{
  box-sizing:border-box;
  width:min(1600px,100vw);
  max-width:1600px;
  margin:0 auto;
  padding:18px 24px 56px;
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .dashboard-command-hero{
  border:1px solid rgba(155,83,255,.68);
  border-radius:22px;
  background:
    radial-gradient(circle at 4% 0%, rgba(139,74,255,.30), transparent 34%),
    linear-gradient(135deg, rgba(28,13,61,.94), rgba(9,13,28,.96) 54%, rgba(7,9,18,.98));
  box-shadow:0 22px 70px rgba(0,0,0,.38), 0 0 34px rgba(130,70,255,.18), inset 0 1px 0 rgba(255,255,255,.10);
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .dashboard-command-hero:after{
  opacity:.28;
  background:linear-gradient(115deg, transparent 0 38%, rgba(182,129,255,.12) 39% 40%, transparent 41% 100%);
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .stream-command-copy h2{
  color:#fff3dd;
  text-shadow:0 0 28px rgba(151,83,255,.32);
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .stream-command-copy p,
body:not(.stream-overlay-mode) .streamer-dashboard-page .stream-page-head p{
  color:rgba(232,220,200,.72);
}
body:not(.stream-overlay-mode) .streamer-dashboard-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:18px 0;
}
body:not(.stream-overlay-mode) .stream-dashboard-panel{
  border:1px solid rgba(128,68,210,.58);
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(21,18,38,.92), rgba(6,10,18,.96)),
    radial-gradient(circle at 0% 0%, rgba(130,70,255,.16), transparent 38%);
  box-shadow:0 18px 54px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.055);
}
body:not(.stream-overlay-mode) .stream-dashboard-panel .stream-page-head{
  background:linear-gradient(180deg, rgba(101,48,165,.16), transparent 72%);
}
body:not(.stream-overlay-mode) .stream-dashboard-panel .stream-page-head h3{
  color:#fff3dd;
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .stream-control-deck,
body:not(.stream-overlay-mode) .streamer-dashboard-page .dashboard-save-panel{
  border-color:rgba(126,78,196,.36);
  background:linear-gradient(180deg, rgba(20,31,42,.58), rgba(5,8,14,.36));
}
body:not(.stream-overlay-mode) .streamer-dashboard-page input,
body:not(.stream-overlay-mode) .streamer-dashboard-page select,
body:not(.stream-overlay-mode) .streamer-dashboard-page textarea{
  border-color:rgba(121,74,190,.56);
  background:#070911;
}
body:not(.stream-overlay-mode) .streamer-dashboard-page button.primary,
body:not(.stream-overlay-mode) .streamer-dashboard-page .button-like.primary{
  border-color:rgba(174,104,255,.62);
  background:linear-gradient(180deg, #7c42dc, #4a2391);
  box-shadow:0 0 22px rgba(130,70,255,.22);
}
body:not(.stream-overlay-mode) .streamer-dashboard-page button.danger{
  border-color:rgba(180,70,90,.62);
  background:linear-gradient(180deg, rgba(132,31,48,.95), rgba(68,12,24,.95));
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .dashboard-randomizer-stage,
body:not(.stream-overlay-mode) .streamer-dashboard-page .stream-timer-card{
  border-color:rgba(151,83,255,.50);
  background:
    radial-gradient(circle at 50% 14%, rgba(139,74,255,.28), transparent 38%),
    linear-gradient(180deg, rgba(11,12,22,.96), rgba(3,5,10,.78));
  box-shadow:0 18px 58px rgba(0,0,0,.38), inset 0 0 58px rgba(116,70,205,.10);
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .randomizer-reel{
  color:#fff3dd;
  text-shadow:0 0 18px rgba(151,83,255,.70), 0 0 42px rgba(151,83,255,.26);
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .counter-card{
  border-color:rgba(128,68,210,.42);
  background:
    radial-gradient(circle at 50% 0, rgba(136,78,225,.24), transparent 52%),
    linear-gradient(180deg, rgba(25,22,38,.96), rgba(7,8,13,.98));
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .counter-card:before{
  background:linear-gradient(90deg, transparent, rgba(162,95,255,.9), transparent);
}
body:not(.stream-overlay-mode) .streamer-dashboard-page .counter-value{
  text-shadow:0 0 30px rgba(151,83,255,.34);
}
@media(max-width:1120px){
  body:not(.stream-overlay-mode) .streamer-dashboard-grid{grid-template-columns:1fr;}
}
@media(max-width:700px){
  body:not(.stream-overlay-mode) .streamer-dashboard-page{padding:14px 12px 40px;}
}

/* 2026-06-10 hotfix: remove decorative red mini-profile banner stripe from the shared NavBar card. */
.site-header-shell .mini-profile-banner,
.mini-profile.mini-profile-card .mini-profile-banner{
  display:none!important;
  background:none!important;
}
.site-header-shell .mini-profile.mini-profile-card,
.mini-profile.mini-profile-card{
  background:linear-gradient(180deg, rgba(13,14,16,.96), rgba(4,5,7,.98))!important;
}

/* 2026-06-10 tier list item density pass: image-first cards with compact overlaid labels. */
.tier-item{
  position:relative;
  overflow:hidden;
  width:86px!important;
  min-height:96px!important;
  padding:0!important;
  gap:0!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
.tier-item img,
.tier-item-fallback{
  width:100%!important;
  height:100%!important;
  min-height:96px!important;
  border:0!important;
  border-radius:inherit!important;
  object-fit:cover!important;
  background:rgba(0,0,0,.28)!important;
}
.tier-item span:last-child{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:14px 5px 5px!important;
  font-size:11px!important;
  line-height:1!important;
  color:#fff!important;
  text-shadow:0 1px 5px rgba(0,0,0,.95);
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.82));
  z-index:2;
}
@media(max-width:760px){
  .tier-item{width:74px!important;min-height:86px!important;}
  .tier-item img,.tier-item-fallback{min-height:86px!important;}
}

/* 2026-06-10 tier list item image-fill follow-up: keep the new compact cards, but make catalog-layered images fill the whole card instead of inheriting the older 46px avatar sizing. */
.tier-item .catalog-layered-image,
.tier-drop .tier-item .catalog-layered-image,
.tier-bank .tier-item .catalog-layered-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  display:block!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:inherit!important;
  background:rgba(0,0,0,.28)!important;
}
.tier-item .catalog-layered-image img,
.tier-item .catalog-layered-image .catalog-layer-bg,
.tier-item .catalog-layered-image .catalog-layer-fg,
.tier-drop .tier-item .catalog-layered-image img,
.tier-bank .tier-item .catalog-layered-image img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:inherit!important;
  background:transparent!important;
}
.tier-item .catalog-layered-image .catalog-layer-bg{
  z-index:0!important;
  opacity:1!important;
}
.tier-item .catalog-layered-image .catalog-layer-fg{
  z-index:1!important;
}
.tier-item > span:last-child{
  pointer-events:none;
}
.admin-content-grid[data-active-admin-tab="eggGame"] [data-admin-panel="eggGame"]{display:block;}
/* Egg discovery toast */
.dbd-toast-layer{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 36px));}.dbd-toast{background:rgba(24,20,32,.96);border:1px solid rgba(246,210,122,.28);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.35);padding:12px 14px;color:var(--text,#f5efe2);}.dbd-toast.good{border-color:rgba(116,225,164,.38)}.egg-found-toast{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}.egg-found-toast img,.egg-found-toast span:first-child{width:48px;height:48px;object-fit:contain;border-radius:12px;background:rgba(0,0,0,.25)}.egg-found-toast strong{display:block;color:#f6d27a}.egg-found-toast a{color:inherit;font-weight:800}

/* Timer Overlay v2 cleanup: remove inherited card accent and support expanded timer controls */
.stream-overlay-mode .card::before{display:none!important}
.stream-timer-controls label{display:inline-flex;align-items:center;gap:6px}
.stream-timer-controls input#streamTimerDays,
.stream-timer-controls input#streamTimerHours,
.stream-timer-controls input#streamTimerMinutes,
.stream-timer-controls input#streamTimerSeconds,
.stream-timer-controls input#streamTimerDurationMilliseconds{width:74px}
.timer-display-label{align-self:center;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
body.stream-overlay-mode.stream-timer-overlay .stream-timer-card{border-left-color:rgba(255,255,255,.12)!important;background:rgba(0,0,0,.60)!important}

/* Randomizer Overlay v2 lifecycle controls */
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage{
  opacity:0;
  will-change:transform,opacity;
  pointer-events:none;
}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage.randomizer-slide-in{
  opacity:1;
  animation:randomizerSlideInRight .48s cubic-bezier(.16,.84,.24,1) both;
}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage.randomizer-slide-out{
  animation:randomizerSlideOutRight .42s cubic-bezier(.76,0,.84,.16) both;
}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage[data-slide-direction="left"].randomizer-slide-in{animation-name:randomizerSlideInLeft}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage[data-slide-direction="left"].randomizer-slide-out{animation-name:randomizerSlideOutLeft}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage[data-slide-direction="top"].randomizer-slide-in{animation-name:randomizerSlideInTop}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage[data-slide-direction="top"].randomizer-slide-out{animation-name:randomizerSlideOutTop}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage[data-slide-direction="bottom"].randomizer-slide-in{animation-name:randomizerSlideInBottom}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage[data-slide-direction="bottom"].randomizer-slide-out{animation-name:randomizerSlideOutBottom}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage[data-slide-direction="none"].randomizer-slide-in{
  opacity:1;
  animation:none;
}
body.stream-overlay-mode.stream-randomizer-overlay .randomizer-stage[data-slide-direction="none"].randomizer-slide-out{
  opacity:1;
  animation:none;
}
@keyframes randomizerSlideInRight{from{opacity:0;transform:translateX(120%)}to{opacity:1;transform:translateX(0)}}
@keyframes randomizerSlideOutRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(120%)}}
@keyframes randomizerSlideInLeft{from{opacity:0;transform:translateX(-120%)}to{opacity:1;transform:translateX(0)}}
@keyframes randomizerSlideOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-120%)}}
@keyframes randomizerSlideInTop{from{opacity:0;transform:translateY(-120%)}to{opacity:1;transform:translateY(0)}}
@keyframes randomizerSlideOutTop{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-120%)}}
@keyframes randomizerSlideInBottom{from{opacity:0;transform:translateY(120%)}to{opacity:1;transform:translateY(0)}}
@keyframes randomizerSlideOutBottom{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(120%)}}


/* Counter Overlay v2 smoke cleanup */
body.stream-overlay-mode.stream-counter-overlay .counter-card{
  overflow:hidden;
  background:rgba(0,0,0,.62)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.50), inset 0 0 24px rgba(255,255,255,.035)!important;
  backdrop-filter:blur(6px);
}
body.stream-overlay-mode.stream-counter-overlay .counter-card:before{
  display:none!important;
}
body.stream-overlay-mode.stream-counter-overlay .counter-card:after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  pointer-events:none;
}
body.stream-overlay-mode.stream-counter-overlay .counter-name{
  color:rgba(248,250,252,.76)!important;
}
body.stream-overlay-mode.stream-counter-overlay .counter-value{
  color:#fff!important;
  text-shadow:0 4px 16px rgba(0,0,0,.95)!important;
}
body.stream-overlay-mode.stream-counter-overlay .counter-pulse-label{
  border-color:rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.055)!important;
  color:rgba(248,250,252,.72)!important;
}


/* Hardcore control page: keep reusable OBS setup guide out of the portrait-wall grid flow. */
body:not(.stream-overlay-mode) .hardcore-page.stream-tools-facelift .hardcore-setup-guide-row{
  grid-column:1 / -1;
  width:100%;
  max-width:none;
  margin-top:0;
}
body:not(.stream-overlay-mode) .hardcore-page.stream-tools-facelift .hardcore-setup-guide-row.overlay-setup-guide{
  border-radius:18px;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.07), transparent 28rem),
    linear-gradient(180deg, rgba(12,12,15,.94), rgba(3,4,7,.96));
  border-color:rgba(255,255,255,.10);
  box-shadow:0 18px 44px rgba(0,0,0,.32);
}
body:not(.stream-overlay-mode) .hardcore-page.stream-tools-facelift .hardcore-setup-guide-row .overlay-setup-guide-note{
  border-left-color:rgba(255,255,255,.18);
  background:rgba(255,255,255,.055);
}
@media (min-width:1101px){
  body:not(.stream-overlay-mode) .hardcore-page.stream-tools-facelift .hardcore-setup-guide-row .overlay-setup-guide-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

/* Hardcore Overlay v2 controls + animation pass */
.hardcore-overlay-settings-panel{
  display:grid;
  gap:12px;
}
.hardcore-overlay-settings-grid{
  display:grid;
  gap:10px;
}
.hardcore-overlay-settings-grid label{
  display:grid;
  gap:6px;
  color:rgba(255,255,255,.78);
  font-size:.78rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.hardcore-overlay-settings-grid select,
.hardcore-overlay-settings-grid input[type="number"]{
  width:100%;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(0,0,0,.34);
  color:#fff;
  padding:9px 10px;
}
.hardcore-number-inline{
  display:flex;
  align-items:center;
  gap:8px;
  color:rgba(255,255,255,.72);
  text-transform:none;
  letter-spacing:0;
}
.hardcore-number-inline input{max-width:96px;}
.hardcore-toggle-line{
  display:flex!important;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:9px!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.hardcore-toggle-line input{accent-color:#d9d9d9;}
.hardcore-overlay-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hardcore-mini-status{
  min-height:18px;
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:.82rem;
}

body.stream-overlay-mode.hardcore-overlay-mode{
  overflow:hidden!important;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift{
  transition:transform .52s cubic-bezier(.22,1,.36,1), opacity .32s ease, filter .32s ease;
  will-change:transform,opacity;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift[data-overlay-visible="0"]{
  opacity:0;
  pointer-events:none;
  filter:blur(1px);
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift[data-overlay-visible="1"]{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:none;
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift[data-overlay-visible="0"][data-slide-direction="right"]{transform:translate3d(105vw,0,0);}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift[data-overlay-visible="0"][data-slide-direction="left"]{transform:translate3d(-105vw,0,0);}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift[data-overlay-visible="0"][data-slide-direction="top"]{transform:translate3d(0,-105vh,0);}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift[data-overlay-visible="0"][data-slide-direction="bottom"]{transform:translate3d(0,105vh,0);}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-page.stream-tools-facelift[data-overlay-visible="0"][data-slide-direction="none"]{transform:none;}
body.stream-overlay-mode.hardcore-overlay-mode[data-hardcore-side-panel="0"] .hardcore-challenge-header{
  display:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-hardcore-side-panel="0"] .hardcore-page.stream-tools-facelift,
body.stream-overlay-mode.hardcore-overlay-mode[data-hardcore-side-panel="0"] .page-wrap{
  display:block!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-hardcore-side-panel="0"] .hardcore-wall-section{
  width:100%!important;
  max-width:none!important;
}
body.stream-overlay-mode.hardcore-overlay-mode[data-hardcore-side-panel="0"] .hardcore-grid{
  grid-template-columns:repeat(auto-fit,minmax(82px,1fr));
}
body.stream-overlay-mode.hardcore-overlay-mode .hardcore-overlay-settings-panel{
  display:none!important;
}

/* Creator follow system */
.creator-growth-meter{
  margin:12px 0 14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.compact-stat-grid{
  grid-template-columns:repeat(auto-fit,minmax(110px,1fr));
  gap:8px;
}
.mini-profile-list{
  display:grid;
  gap:6px;
}
.mini-profile-row{
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(0,0,0,.18);
  color:inherit;
  text-decoration:none;
}
.mini-profile-row:hover{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06);}
.mini-profile-row strong{display:block;font-size:.92rem;line-height:1.1;}
.mini-profile-row small{display:block;color:rgba(255,255,255,.56);font-size:.78rem;}
.mini-avatar.tiny{width:32px;height:32px;min-width:32px;font-size:.72rem;}
.mini-avatar.tiny img{width:100%;height:100%;object-fit:cover;border-radius:inherit;}

/* Creator Ecosystem Phase 2: unified following activity feed */
.activity-feed-panel {
  border-color: rgba(229, 9, 20, .24);
  background: linear-gradient(135deg, rgba(229,9,20,.08), rgba(255,255,255,.035));
}
.creator-activity-list {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.creator-activity-card {
  grid-template-columns: 42px minmax(0, 1fr);
}
.activity-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  font-weight: 900;
  line-height: 1;
}
.activity-type-match_logged .activity-icon { color: #f4c76b; }
.activity-type-build_updated .activity-icon { color: #78b7ff; }
.activity-type-followed_creator .activity-icon { color: #ffd36a; }
.activity-type-live_now .activity-icon { color: #ff5f6d; }

/* ── Homepage identity refresh: streamer/community foreground ─────────────── */
.dashboard-home-section{
  margin:14px 0;
}
.dashboard-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 18%, rgba(202,20,31,.18), transparent 28%),
    linear-gradient(135deg, rgba(10,18,26,.92), rgba(5,8,13,.96));
  box-shadow:0 16px 44px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.025);
}
.dashboard-section-head.compact{
  padding:16px 18px;
}
.dashboard-section-head .eyebrow{
  display:inline-flex;
  margin-bottom:6px;
  font-family:var(--font-heading);
  text-transform:uppercase;
  letter-spacing:.14em;
  color:var(--accent-light);
  font-size:13px;
}
.dashboard-section-head h2{
  margin:0;
  font-size:clamp(28px,3vw,44px);
  line-height:.94;
  text-transform:uppercase;
}
.dashboard-section-head p{
  max-width:980px;
  margin:8px 0 0;
  color:var(--muted);
  font-size:15px;
}
.dashboard-section-action{
  white-space:nowrap;
}
.dashboard-streamer-tools-section{
  padding:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,184,77,.13), transparent 28%),
    radial-gradient(circle at 90% 12%, rgba(202,20,31,.18), transparent 32%),
    linear-gradient(180deg, rgba(10,16,22,.86), rgba(4,6,10,.90));
  box-shadow:0 22px 70px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.025);
}
.dashboard-streamer-tools-section .dashboard-section-head{
  margin-bottom:14px;
  border-color:rgba(255,184,77,.18);
  background:
    radial-gradient(circle at 86% 28%, rgba(255,184,77,.16), transparent 26%),
    linear-gradient(135deg, rgba(21,15,9,.88), rgba(7,10,15,.92));
}
.dashboard-tool-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.dashboard-tool-feature-card{
  position:relative;
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  padding:18px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:22px;
  overflow:hidden;
  color:inherit;
  text-decoration:none;
  background:
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.08), transparent 34%),
    linear-gradient(145deg, rgba(13,25,35,.96), rgba(6,9,14,.98));
  box-shadow:0 16px 46px rgba(0,0,0,.30), inset 0 0 0 1px rgba(255,255,255,.025);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.dashboard-tool-feature-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 34%),
    radial-gradient(circle at 18% 18%, rgba(202,20,31,.22), transparent 30%);
  opacity:.72;
  pointer-events:none;
}
.dashboard-tool-feature-card::after{
  content:"";
  position:absolute;
  inset:auto 16px 14px 16px;
  height:1px;
  background:linear-gradient(90deg, rgba(255,184,77,.55), transparent);
  opacity:.6;
}
.dashboard-tool-feature-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,184,77,.36);
  box-shadow:0 22px 60px rgba(0,0,0,.38), 0 0 34px rgba(202,20,31,.13), inset 0 0 0 1px rgba(255,255,255,.04);
}
.dashboard-tool-feature-card.is-primary{
  min-height:236px;
  border-color:rgba(255,184,77,.22);
  background:
    radial-gradient(circle at 78% 18%, rgba(255,184,77,.18), transparent 34%),
    radial-gradient(circle at 8% 8%, rgba(202,20,31,.22), transparent 30%),
    linear-gradient(145deg, rgba(24,18,12,.98), rgba(8,10,14,.98));
}
.dashboard-tool-icon,
.dashboard-tool-kicker,
.dashboard-tool-feature-card strong,
.dashboard-tool-feature-card span:last-child{
  position:relative;
  z-index:1;
}
.dashboard-tool-icon{
  position:absolute;
  top:15px;
  right:17px;
  font-size:44px;
  filter:drop-shadow(0 10px 22px rgba(0,0,0,.34));
  opacity:.92;
}
.dashboard-tool-kicker{
  width:max-content;
  max-width:100%;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(255,184,77,.22);
  background:rgba(255,184,77,.08);
  color:var(--accent-light);
  font-family:var(--font-heading);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.dashboard-tool-feature-card strong{
  font-family:var(--font-heading);
  font-size:clamp(24px,2.1vw,34px);
  line-height:.92;
  text-transform:uppercase;
}
.dashboard-tool-feature-card span:last-child{
  color:var(--muted);
  font-size:14px;
  line-height:1.35;
}
.dashboard-community-section,
.dashboard-analytics-section{
  margin-top:18px;
}
.dashboard-analytics-section .dbd-dashboard-kpis{
  margin-top:14px;
  margin-bottom:0;
}
@media (max-width:1100px){
  .dashboard-tool-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:760px){
  .dashboard-section-head{align-items:flex-start;flex-direction:column;}
  .dashboard-tool-feature-grid{grid-template-columns:1fr;}
  .dashboard-streamer-tools-section{padding:12px;border-radius:20px;}
  .dashboard-tool-feature-card,.dashboard-tool-feature-card.is-primary{min-height:176px;}
}

/* Blood Money Challenge v1 */
.hardcore-blood-money-panel{display:flex;flex-direction:column;gap:14px}
.hardcore-blood-money-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hardcore-blood-money-summary>div{border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.28);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:3px}
.hardcore-blood-money-summary span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.72}
.hardcore-blood-money-summary strong{font-family:var(--font-heading,inherit);font-size:1.25rem;color:#f5c55c}
.hardcore-blood-money-settings,.hardcore-blood-outcome-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.hardcore-blood-money-settings label,.hardcore-blood-outcome-grid label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.76)}
.hardcore-blood-outcome-grid label:has(input[type="checkbox"]){flex-direction:row;align-items:center;text-transform:none;letter-spacing:0}
.hardcore-blood-loadout,.hardcore-blood-outcome{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}
.hardcore-blood-loadout-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.hardcore-blood-loadout-head strong{font-family:var(--font-heading,inherit);text-transform:uppercase;letter-spacing:.05em}
.hardcore-blood-loadout-head span{font-size:.82rem;opacity:.68}
.hardcore-blood-selected-perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.hardcore-blood-selected-slot{min-height:42px;border:1px dashed rgba(255,255,255,.18);border-radius:10px;background:rgba(0,0,0,.22);color:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;text-align:left}
.hardcore-blood-selected-slot.filled{border-style:solid;border-color:rgba(245,197,92,.38);background:rgba(245,197,92,.08)}
.hardcore-blood-selected-slot strong{color:#f5c55c}
.hardcore-blood-perk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;max-height:340px;overflow:auto;padding-right:4px}
.hardcore-blood-card{position:relative;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.32);border-radius:12px;color:inherit;min-height:104px;padding:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;overflow:hidden}
.hardcore-blood-card:hover,.hardcore-blood-card.selected{border-color:rgba(245,197,92,.72);box-shadow:0 0 18px rgba(245,197,92,.14)}
.hardcore-blood-card .catalog-layered-image,.hardcore-blood-card img{width:42px;height:42px;object-fit:contain}
.hardcore-blood-card strong{font-size:.7rem;line-height:1.05;text-align:center;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blood-money-price-badge{position:absolute;top:6px;right:6px;z-index:6;border:1px solid rgba(245,197,92,.65);background:rgba(0,0,0,.78);color:#f5c55c;border-radius:999px;padding:2px 6px;font-size:.72rem;font-weight:900;line-height:1;box-shadow:0 0 10px rgba(0,0,0,.35)}
.blood-money-roster-card{position:relative}
.blood-money-status-chip{position:absolute;left:7px;bottom:7px;right:7px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.68);border-radius:999px;padding:3px 6px;font-size:.66rem;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.05em;z-index:5}
.blood-money-dead{border-color:rgba(239,68,68,.62)!important}.blood-money-sold{border-color:rgba(245,197,92,.55)!important}.blood-money-cooldown{border-color:rgba(96,165,250,.62)!important}.blood-money-available{border-color:rgba(84,214,137,.28)}
.hardcore-blood-result-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.hardcore-blood-result-preview span{border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.22);border-radius:10px;padding:8px;display:flex;justify-content:space-between;gap:8px}
.hardcore-blood-actions{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:760px){.hardcore-blood-money-summary,.hardcore-blood-selected-perks{grid-template-columns:1fr}}


/* Challenge Tracker viewer mode: public page uses the OBS-style display, but keeps site chrome. */
body.challenge-viewer-mode.hardcore-viewer-overlay-mode{
  background:var(--bg, #05070a)!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .page-wrap.hardcore-page{
  max-width:min(1680px, calc(100vw - 32px));
  width:100%;
  margin:0 auto;
  padding:24px 16px 42px!important;
  display:grid;
  grid-template-rows:auto 1fr;
  gap:16px;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-challenge-select-panel,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-viewer-room-panel,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-rules-panel,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-gauntlet-panel,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-streak-controls-panel,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-blood-money-panel,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-overlay-settings-panel,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-header-actions,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-progress-shell,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-setup-guide-row,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .stream-command-copy,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-wall-header,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-wall-hint{
  display:none!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-hero{
  width:auto;
  min-width:0;
  margin:0!important;
  padding:12px!important;
  display:flex;
  flex-direction:row;
  align-items:stretch;
  justify-content:space-between;
  gap:14px;
  border-radius:18px;
  background:rgba(0,0,0,.52)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.38);
  backdrop-filter:blur(8px);
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-hero::after{
  display:none!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-title-block{
  flex:1 1 auto;
  min-width:220px;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-title-block h2{
  margin:0;
  font-size:clamp(2rem,4vw,4rem);
  line-height:.9;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-title-block p{
  margin-top:6px;
  color:rgba(226,232,240,.76);
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-run-stats-panel{
  flex:0 0 auto;
  min-width:min(720px, 48vw);
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-run-stats-panel .hardcore-panel-label{
  display:none!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-summary{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  justify-content:flex-end;
  gap:8px!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-summary > div{
  min-width:104px!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  background:rgba(15,23,42,.76)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-summary strong{
  font-size:1.35rem!important;
  line-height:1!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-summary span{
  font-size:.62rem!important;
  letter-spacing:.12em!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-wall-section{
  min-height:0;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(132px,1fr))!important;
  grid-auto-rows:minmax(168px,auto);
  gap:12px!important;
  align-content:start;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-character-card{
  min-height:168px!important;
  padding:9px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(15,23,42,.76),rgba(7,10,16,.72))!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 16px 32px rgba(0,0,0,.34);
  backdrop-filter:blur(5px);
  cursor:default!important;
  pointer-events:none;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-streak-btn,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode button,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode select,
body.challenge-viewer-mode.hardcore-viewer-overlay-mode input{
  pointer-events:none!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-character-image{
  width:100%!important;
  min-height:118px!important;
  border-radius:13px!important;
}
body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-streak-panel{
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:100%;
  padding:5px 7px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.36)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
@media (max-width:900px){
  body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-hero{flex-direction:column;}
  body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-run-stats-panel{min-width:0;width:100%;}
  body.challenge-viewer-mode.hardcore-viewer-overlay-mode .hardcore-summary{justify-content:flex-start;flex-wrap:wrap;}
}

/* Blood Money state readability: unavailable economy cards dim the portrait, while labels/stamps stay bright. */
.blood-money-roster-card.blood-money-dead .hardcore-character-image img,
.blood-money-roster-card.blood-money-dead .hardcore-character-placeholder,
.blood-money-roster-card.blood-money-sold .hardcore-character-image img,
.blood-money-roster-card.blood-money-sold .hardcore-character-placeholder,
.blood-money-roster-card.blood-money-cooldown .hardcore-character-image img,
.blood-money-roster-card.blood-money-cooldown .hardcore-character-placeholder{
  filter:grayscale(.85) brightness(.42)!important;
}
.blood-money-roster-card.blood-money-sold::after,
.blood-money-roster-card.blood-money-cooldown::after{
  position:absolute;
  left:10px;
  right:10px;
  top:42%;
  z-index:8;
  display:grid;
  place-items:center;
  min-height:34px;
  padding:5px 8px;
  border-radius:10px;
  transform:rotate(-10deg);
  font-family:var(--font-heading, inherit);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  text-align:center;
  box-shadow:0 12px 28px rgba(0,0,0,.46);
  pointer-events:none;
}
.blood-money-roster-card.blood-money-sold::after{
  content:'SOLD';
  color:#2b1700;
  background:rgba(245,197,92,.92);
  border:2px solid rgba(255,240,180,.86);
}
.blood-money-roster-card.blood-money-cooldown::after{
  content:'❄';
  color:#eff6ff;
  background:rgba(37,99,235,.74);
  border:2px solid rgba(191,219,254,.78);
  font-size:1.65rem;
  text-shadow:0 2px 14px rgba(0,0,0,.75);
}
.blood-money-roster-card.blood-money-sold .blood-money-price-badge,
.blood-money-roster-card.blood-money-sold .blood-money-status-chip,
.blood-money-roster-card.blood-money-cooldown .blood-money-price-badge,
.blood-money-roster-card.blood-money-cooldown .blood-money-status-chip{
  filter:none!important;
}

/* Blood Money mechanics pass: streamer controls move below the roster wall. */
body:not(.stream-overlay-mode):not(.challenge-viewer-mode) .hardcore-blood-money-main-panel{
  grid-column:2;
  margin-top:0;
  padding:16px!important;
  border-radius:20px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
body:not(.stream-overlay-mode):not(.challenge-viewer-mode) .hardcore-blood-money-main-panel[hidden]{display:none!important;}
.hardcore-blood-money-main-head{align-items:flex-start;gap:16px;}
.hardcore-blood-money-main-head h3{margin:0;font-family:var(--font-heading,inherit);text-transform:uppercase;letter-spacing:.04em;}
.hardcore-blood-money-main-head p{max-width:760px;margin:0;color:var(--muted,#a1a1aa);font-size:.92rem;line-height:1.35;}
.hardcore-blood-money-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:14px;align-items:start;}
.hardcore-blood-rules-details{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:14px;padding:0;overflow:hidden;}
.hardcore-blood-rules-details summary{cursor:pointer;padding:11px 12px;font-family:var(--font-heading,inherit);font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#f5c55c;}
.hardcore-blood-rules-details .hardcore-blood-money-settings{padding:0 12px 12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.hardcore-blood-warning{border:1px solid rgba(239,68,68,.55);background:rgba(127,29,29,.32);color:#fecaca;border-radius:12px;padding:10px 12px;font-weight:800;box-shadow:0 0 26px rgba(239,68,68,.12)}
#bloodMoneySubmitMatchBtn:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.35);}
body[data-challenge-engine="economy"] .hardcore-wall-section{grid-row:auto;}
@media (max-width:1100px){
  body:not(.stream-overlay-mode):not(.challenge-viewer-mode) .hardcore-blood-money-main-panel{grid-column:1;}
  .hardcore-blood-money-workspace{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .hardcore-blood-money-main-head{flex-direction:column;}
}

/* Blood Money layout correction: keep challenge controls in the sidebar; only the economy workflow lives beneath the character wall. */
body:not(.stream-overlay-mode):not(.challenge-viewer-mode)[data-challenge-engine="economy"] .hardcore-page.stream-tools-facelift{
  grid-template-columns:300px minmax(0,1fr);
}
body:not(.stream-overlay-mode):not(.challenge-viewer-mode)[data-challenge-engine="economy"] .hardcore-challenge-header{
  grid-template-columns:1fr!important;
}
body:not(.stream-overlay-mode):not(.challenge-viewer-mode)[data-challenge-engine="economy"] .hardcore-wall-section{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:14px!important;
}
body:not(.stream-overlay-mode):not(.challenge-viewer-mode)[data-challenge-engine="economy"] .hardcore-blood-money-main-panel{
  grid-column:auto!important;
  width:100%;
  margin-top:10px;
}
@media (max-width:1100px){
  body:not(.stream-overlay-mode):not(.challenge-viewer-mode)[data-challenge-engine="economy"] .hardcore-page.stream-tools-facelift{
    grid-template-columns:1fr;
  }
}

/* v3.4.8 — Site navbar fog layer
   Reuses the shared tooltip fog assets in the global header only. The layer is
   decorative, non-interactive, clipped to the topbar, and disabled for reduced
   motion users. */
.site-header-shell .topbar{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.site-header-shell .topbar > *:not(.site-nav-fog){
  position:relative;
  z-index:2;
}
.site-nav-fog{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  overflow:hidden !important;
  pointer-events:none !important;
  mix-blend-mode:screen;
  opacity:.48;
}
.site-nav-fog-layer{
  position:absolute;
  top:50%;
  left:-100%;
  width:300%;
  height:400px;
  background-repeat:repeat-x;
  background-size:auto 100%;
  transform:translate3d(0,-50%,0);
  will-change:transform;
  filter:blur(.2px);
}
.site-nav-fog-layer--one{
  background-image:url('/assets/fog/tooltip-fog-1.png');
  animation:dbdSiteNavFogDriftOne 78s linear infinite;
  opacity:.42;
}
.site-nav-fog-layer--two{
  background-image:url('/assets/fog/tooltip-fog-2.png');
  animation:dbdSiteNavFogDriftTwo 112s linear infinite;
  opacity:.34;
  top:58%;
}
.site-nav-fog-layer--three{
  background-image:url('/assets/fog/tooltip-fog-3.png');
  animation:dbdSiteNavFogDriftThree 146s linear infinite;
  opacity:.26;
  top:43%;
}
@keyframes dbdSiteNavFogDriftOne{from{transform:translate3d(0,-50%,0)}to{transform:translate3d(33.333%,-50%,0)}}
@keyframes dbdSiteNavFogDriftTwo{from{transform:translate3d(-8%,-50%,0)}to{transform:translate3d(25.333%,-50%,0)}}
@keyframes dbdSiteNavFogDriftThree{from{transform:translate3d(-16%,-50%,0)}to{transform:translate3d(17.333%,-50%,0)}}
@media (prefers-reduced-motion:reduce){
  .site-nav-fog-layer{animation:none;transform:translate3d(0,-50%,0)}
}

/* Site skin presentation layer: frames, textures, and panel set dressing. */
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:var(--skin-paper-texture, none);
  opacity:.55;
}
.panel-card,.dbd-module-card,.dbd-component-card,.card,.stat,.admin-maintenance-row,.build-card,.section-card{
  position:relative;
  background:var(--skin-panel-bg, var(--panel)) !important;
  border-color:var(--skin-panel-border, var(--border)) !important;
  box-shadow:var(--skin-panel-frame, var(--shadow, 0 18px 50px rgba(0,0,0,.35)));
}
.skin-frame,.skin-panel,.skin-card{
  position:relative;
  background:var(--skin-panel-bg, var(--panel));
  border:1px solid var(--skin-panel-border, var(--border));
  box-shadow:var(--skin-panel-frame, 0 18px 50px rgba(0,0,0,.35));
}
.skin-frame::before,.skin-panel::before,.skin-card::before,.panel-card::before,.dbd-module-card::before{
  content:"";
  position:absolute;
  inset:3px;
  border:1px solid color-mix(in srgb, var(--skin-frame-accent, var(--accent)) 45%, transparent);
  pointer-events:none;
  opacity:.35;
}

/* v3.5.6 skin safety override: skins must not recolor every panel. */
.panel-card,.dbd-module-card,.dbd-component-card,.card,.stat,.admin-maintenance-row,.build-card,.section-card{
  background:var(--panel, rgba(12,16,20,.94)) !important;
  border-color:var(--border, rgba(255,255,255,.10)) !important;
}
.panel-card::before,.dbd-module-card::before,.dbd-component-card::before,.card::before,.stat::before,.admin-maintenance-row::before,.build-card::before,.section-card::before{
  content:none !important;
}
