
    /* ═══════════════════════════════════════════
       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:#080604;
      --color-surface-1:#100c08;
      --color-surface-2:#1a1410;
      --color-surface-3:#241a13;
      --color-input:#0c0906;
      --color-border:#2e1f0f;
      --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:'Barlow',system-ui,sans-serif;
      --font-heading:'Barlow Condensed',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: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.035'/%3E%3C/svg%3E");
      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:var(--panel);
      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:var(--panel);
      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:'Barlow Condensed',Impact,sans-serif}
    .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:'Barlow Condensed',Impact,sans-serif}

    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:'Barlow Condensed',Impact,sans-serif}
    .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:'Barlow Condensed',Impact,sans-serif}
    .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); }
.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-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-entry-actions { flex-direction:row; flex-wrap:wrap; }
}

/* 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(255,255,255,.22);
  background: linear-gradient(135deg, rgba(169,32,44,.94), rgba(28,28,34,.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);
}
.feedback-float-btn:hover{ transform: translateY(-1px); filter: brightness(1.08); }
.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-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:34px;
  height:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.18);
  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:'Barlow Condensed',Impact,sans-serif;
  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{
  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:'Barlow Condensed',Impact,sans-serif;
  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-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:10px;
  font-family:'Barlow Condensed',Impact,sans-serif;
  text-transform:uppercase;
  font-size:17px;
}
.dbd-kpi-value{
  position:relative;
  z-index:1;
  margin-top:10px;
  font-family:'Barlow Condensed',Impact,sans-serif;
  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:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:.06em;}
.dbd-performance-chart{
  min-height:286px;
  border:1px solid rgba(255,255,255,.055);
  border-radius:12px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.035) 1px, transparent 1px),
    rgba(0,0,0,.16);
  background-size:64px 64px,64px 64px;
  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-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:'Barlow Condensed',Impact,sans-serif;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:'Barlow Condensed',Impact,sans-serif;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:'Barlow Condensed',Impact,sans-serif;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:8px 14px 8px 8px;
  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:46px;
  height:46px;
  border-radius:12px;
  border:2px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.45);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}
.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="tournaments"] [data-admin-panel="tournaments"],
.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"]{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 1fr 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));
}
.profile-match-list{display:grid;gap:10px;}
.profile-match-card{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  border:1px solid var(--border);
  background:rgba(255,255,255,.035);
  border-radius:14px;
  padding:12px 14px;
}
.profile-match-card span,.profile-match-card small{display:block;color:var(--muted);font-size:.84rem;margin-top:3px;}
.profile-match-card div:last-child{text-align:right;min-width:120px;}
.profile-build-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;}
.profile-build-card{position:relative;overflow:hidden;}
.profile-build-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg, rgba(190,28,54,.9), rgba(255,255,255,.16));
}
.profile-build-topline{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:6px;}
.profile-build-card h4{margin:0 0 6px;font-size:1.15rem;}
.perk-rack{margin-top:10px;}
.profile-build-share{gap:8px;}
.profile-build-share .button-like.compact{padding:7px 10px;font-size:.82rem;}
.shared-build-highlight{outline:2px solid var(--accent);box-shadow:0 0 0 4px rgba(190,28,54,.18), 0 18px 45px rgba(0,0,0,.28);}
.profile-directory-actions .button-like.compact{padding:7px 10px;font-size:.82rem;}
.build-follow-card{border-color:rgba(255,255,255,.13);}

@media (max-width: 1040px){
  .profile-identity-hero{grid-template-columns:auto 1fr;}
  .profile-identity-actions{grid-column:1 / -1;justify-content:flex-start;}
  .profile-identity-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 760px){
  .profile-identity-hero{grid-template-columns:1fr;text-align:center;}
  .profile-identity-hero .public-profile-avatar{margin:0 auto;}
  .profile-summary-line.wide{text-align:center;}
  .profile-identity-actions{justify-content:center;}
  .profile-identity-main .profile-badge-rack,.profile-identity-main .scout-badge-row{justify-content:center;}
  .upgraded-profile-layout{grid-template-columns:1fr;}
  .profile-identity-stats{grid-template-columns:1fr;}
  .profile-match-card{align-items:flex-start;flex-direction:column;}
  .profile-match-card div:last-child{text-align:left;min-width:0;}
}


/* 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 builds now reuse the main Builds page card language. */
.profile-public-build-grid{
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
}
.profile-public-build-card{
  margin-bottom:0;
}
.profile-public-build-card .build-card-actions.profile-build-card-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.profile-public-build-card .build-card-actions.profile-build-card-actions .button-like.small{
  min-height:0;
  padding:7px 10px;
  font-size:.82rem;
  line-height:1;
}
.profile-public-build-card .build-card-actions.profile-build-card-actions .badge{
  margin:0;
}
.profile-public-build-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  color:var(--muted);
  font-size:.86rem;
}
.shared-build-highlight.profile-public-build-card{
  border-color:rgba(255,202,87,.8);
  box-shadow:0 0 0 1px rgba(255,202,87,.28), 0 18px 45px rgba(0,0,0,.32);
}
@media (max-width:760px){
  .profile-public-build-grid{grid-template-columns:1fr;}
  .profile-public-build-card .build-card-actions.profile-build-card-actions{justify-content:flex-start;}
}

/* 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;
}
.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{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 */
.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:hidden;
  white-space:nowrap;
  transition:max-width .18s ease, width .18s ease, 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{
  display:inline-block;
  max-width:0;
  opacity:0;
  transform:translateX(-6px);
  transition:max-width .18s ease, 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:auto;
  min-width:42px;
  max-width:190px;
  justify-content:flex-start;
  padding-right:14px;
  z-index:3;
}
.site-header-shell .page-nav .nav-link:hover .nav-label-text,
.site-header-shell .page-nav .nav-link:focus-visible .nav-label-text,
.site-header-shell .page-nav .nav-link.active .nav-label-text{
  max-width:140px;
  opacity:1;
  transform:translateX(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{max-width:none;opacity:1;transform:none;}
}

.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));}
