:root{
    --bg:#0a0d12;
    --bg-2:#060709;
    --panel:rgba(16,20,33,.92);
    --panel-2:rgba(20,24,36,.88);
    --panel-3:rgba(18,24,38,.95);
    --text:#fff;
    --muted:#c6c0b1;
    --muted-2:rgba(244,231,199,.56);
    --gold:#f0c15b;
    --gold-2:rgba(240,193,91,.95);
    --gold-3:#9d6f22;
    --line:rgba(212,175,55,.18);
    --shadow:0 24px 70px rgba(0,0,0,.42);
    --content:1500px;
  }

  *{ box-sizing:border-box; }
  input, textarea, select, option, button{
    text-transform:none !important;
    letter-spacing:normal !important;
  }

  .tg-qs-search{
    position:relative;
    z-index:1;
    min-height:100vh;
    font-family:"Inter", sans-serif;
    color:var(--text);
    background:
      radial-gradient(1100px 520px at 50% -6%, rgba(255,210,125,.14), transparent 60%),
      radial-gradient(760px 460px at 16% 18%, rgba(110,170,255,.10), transparent 58%),
      radial-gradient(820px 500px at 84% 70%, rgba(255,120,80,.08), transparent 60%),
      linear-gradient(180deg,#0a0d12,#060709);
    overflow-x:hidden;
    padding:110px 0 60px;
  }

  .tg-qs-search::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:
      radial-gradient(circle at center, transparent 0 65%, rgba(0,0,0,.14) 100%),
      linear-gradient(180deg, rgba(10,12,20,.06), rgba(10,12,20,.16));
    z-index:0;
  }

  .tg-qs-search a{ color:inherit; text-decoration:none; }

  .tg-qs-search .container{
    width:min(var(--content), calc(100% - 40px));
    margin:0 auto;
    position:relative;
    z-index:1;
  }

  .tg-qs-search .hero{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    border:1px solid rgba(212,175,55,.16);
    background:linear-gradient(180deg, rgba(16,20,33,.92), rgba(10,12,20,.88));
    box-shadow:var(--shadow);
    padding:30px;
  }

  .tg-qs-search .hero::before{
    content:"";
    position:absolute;
    inset:-120px;
    pointer-events:none;
    opacity:.58;
    filter:blur(28px);
    background:
      radial-gradient(circle at 18% 20%, rgba(110,170,255,.10), transparent 40%),
      radial-gradient(circle at 82% 18%, rgba(255,210,125,.08), transparent 36%);
  }

  .tg-qs-search .hero-content{
    position:relative;
    z-index:1;
  }

  .tg-qs-search .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-bottom:12px;
    color:rgba(240,193,91,.82);
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.14em;
  }

  .tg-qs-search .eyebrow::before{
    content:"";
    width:34px;
    height:1px;
    background:linear-gradient(90deg, transparent, rgba(240,193,91,.72));
  }

  .tg-qs-search .hero-title{
    margin:0;
    font-family:"Cinzel", serif;
    font-size:clamp(34px, 5vw, 56px);
    line-height:1.02;
    color:var(--gold);
  }

  .tg-qs-search .hero-copy{
    margin:14px 0 0;
    max-width:920px;
    color:var(--muted);
    font-size:17px;
    line-height:1.72;
  }

  .tg-qs-search .hero-guides{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
  }

  .tg-qs-search .guide{
    padding:14px 16px;
    border-radius:18px;
    border:1px solid rgba(212,175,55,.14);
    background:rgba(255,255,255,.03);
  }

  .tg-qs-search .guide-title{
    font-size:11px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#f4e7c7;
  }

  .tg-qs-search .guide-text{
    margin-top:8px;
    color:var(--muted);
    font-size:13px;
    line-height:1.55;
  }

  .tg-qs-search .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:18px 0 12px;
  }

  .tg-qs-search .auth-msg{
    display:none;
    margin:0 0 12px;
    padding:12px 14px;
    border-radius:14px;
    border:1px solid rgba(212,175,55,.16);
    background:rgba(0,0,0,.18);
    color:#f4e7c7;
    font-size:14px;
    line-height:1.55;
  }

  .tg-qs-search .auth-msg.is-on{ display:block; }
  .tg-qs-search .auth-msg.is-error{
    border-color:rgba(255,107,107,.28);
    background:rgba(255,107,107,.10);
    color:#fff1f1;
  }

  .tg-qs-search .filters{
    margin-top:18px;
    display:grid;
    grid-template-columns:minmax(220px,1.4fr) repeat(5, minmax(145px,.8fr)) auto;
    gap:12px;
    align-items:stretch;
  }

  .tg-qs-search .input,
  .tg-qs-search .select{
    width:100%;
    min-height:54px;
    padding:0 16px;
    border-radius:16px;
    border:1px solid rgba(212,175,55,.14);
    background:#fff;
    color:#111;
    font-size:15px;
    outline:none;
  }

  .tg-qs-search #tgSearchInput::placeholder,
  .tg-qs-search #tgRatingMinFilter::placeholder,
  .tg-qs-search #tgRatingMaxFilter::placeholder{
    color:rgba(17,17,17,.45);
    opacity:1;
  }

  .tg-qs-search .select,
  .tg-qs-search select.select{
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    opacity:1 !important;
    appearance:none;
    -webkit-appearance:none;
    background:rgba(0,0,0,.18) !important;
  }

  .tg-qs-search .select option,
  .tg-qs-search .select option:checked{
    background:#101824 !important;
    color:#fff !important;
  }

  .tg-qs-search .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:54px;
    padding:0 20px;
    border-radius:16px;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    text-decoration:none;
    border:none;
    transition:transform .18s ease, opacity .18s ease, color .18s ease, background-color .18s ease, border-color .18s ease;
    white-space:nowrap;
  }

  .tg-qs-search .btn:hover{ transform:translateY(-1px); }

  .tg-qs-search .btn-primary{
    color:#201407;
    border:1px solid rgba(212,175,55,.95);
    background:linear-gradient(180deg, #f0c15b, #9d6f22);
    box-shadow:inset 0 1px 0 rgba(255,243,211,.40), 0 12px 30px rgba(208,149,39,.16);
  }

  .tg-qs-search .btn-secondary{
    color:#f4e7c7;
    border:1px solid rgba(212,175,55,.22);
    background:linear-gradient(180deg, rgba(20,24,36,.94), rgba(10,12,20,.94));
  }

  .tg-qs-search .results-top{
    margin-top:18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
  }

  .tg-qs-search .results-title{
    font-family:"Cinzel", serif;
    font-size:28px;
    color:#fff;
    margin:0;
  }

  .tg-qs-search .results-sub{
    color:var(--muted-2);
    font-size:14px;
    line-height:1.6;
    margin-top:6px;
  }

  .tg-qs-search .results-count{
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(212,175,55,.18);
    background:rgba(0,0,0,.18);
    color:#f4e7c7;
    font-size:13px;
    font-weight:700;
  }

  .tg-qs-search .state-box{
    margin-top:18px;
    padding:22px;
    border-radius:24px;
    border:1px solid rgba(212,175,55,.14);
    background:linear-gradient(180deg, rgba(16,20,33,.92), rgba(10,12,20,.88));
    box-shadow:var(--shadow);
    color:#fff;
  }

  .tg-qs-search .state-box h2{
    margin:0 0 10px;
    font-family:"Cinzel", serif;
    color:#fff;
    font-size:28px;
  }

  .tg-qs-search .state-box p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
  }

  .tg-qs-search .cards{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:16px;
  }

  .tg-qs-search .card{
    position:relative;
    overflow:hidden;
    border-radius:22px;
    border:1px solid rgba(212,175,55,.14);
    background:linear-gradient(180deg, rgba(18,24,38,.95), rgba(8,12,20,.95));
    box-shadow:var(--shadow);
    display:flex;
  }

  .tg-qs-search .card::before{
    content:"";
    position:absolute;
    inset:-120px;
    pointer-events:none;
    opacity:.52;
    filter:blur(24px);
    background:
      radial-gradient(circle at 18% 20%, rgba(110,170,255,.10), transparent 40%),
      radial-gradient(circle at 82% 18%, rgba(255,210,125,.08), transparent 36%);
  }

  .tg-qs-search .card-inner{
    position:relative;
    z-index:1;
    padding:16px;
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
    min-height:100%;
  }

  .tg-qs-search .card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }

  .tg-qs-search .card-title{
    margin:0;
    font-size:19px;
    font-weight:800;
    color:#fff;
    line-height:1.15;
  }

  .tg-qs-search .pill{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 13px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    border:1px solid rgba(212,175,55,.22);
    background:rgba(240,193,91,.10);
    color:#f4e7c7;
    white-space:nowrap;
  }

  .tg-qs-search .pill--keys{ background:rgba(65,150,255,.16); border-color:rgba(65,150,255,.40); color:#d9ebff; }
  .tg-qs-search .pill--raid{ background:rgba(180,100,255,.16); border-color:rgba(180,100,255,.40); color:#f0ddff; }
  .tg-qs-search .pill--pvp{ background:rgba(255,98,98,.16); border-color:rgba(255,98,98,.40); color:#ffe1e1; }
  .tg-qs-search .pill--leveling{ background:rgba(74,210,140,.16); border-color:rgba(74,210,140,.40); color:#dfffee; }
  .tg-qs-search .pill--farm{ background:rgba(255,184,78,.16); border-color:rgba(255,184,78,.40); color:#fff0d8; }
  .tg-qs-search .pill--session{ background:rgba(240,193,91,.10); border-color:rgba(212,175,55,.22); color:#f4e7c7; }

  .tg-qs-search .status-badge{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.04);
    color:#fff;
  }

  .tg-qs-search .status-badge--soon{
    background:rgba(255,184,78,.16);
    border-color:rgba(255,184,78,.40);
    color:#fff0d8;
  }

  .tg-qs-search .status-badge--live{
    background:rgba(74,210,140,.16);
    border-color:rgba(74,210,140,.40);
    color:#dfffee;
  }

  .tg-qs-search .status-badge--later{
    background:rgba(65,150,255,.16);
    border-color:rgba(65,150,255,.40);
    color:#d9ebff;
  }

  .tg-qs-search .meta-row,
  .tg-qs-search .chips,
  .tg-qs-search .card-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .tg-qs-search .meta{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    border:1px solid rgba(212,175,55,.12);
    background:rgba(255,255,255,.03);
    color:#fff;
    font-size:12px;
    font-weight:700;
  }

  .tg-qs-search .start-box{
    border:1px solid rgba(212,175,55,.12);
    background:rgba(255,255,255,.03);
    border-radius:16px;
    padding:12px 14px;
  }

  .tg-qs-search .start-label{
    margin:0 0 6px;
    color:rgba(240,193,91,.84);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.14em;
  }

  .tg-qs-search .start-value{
    color:#fff;
    font-size:20px;
    font-weight:900;
    line-height:1.2;
  }

  .tg-qs-search .start-sub{
    margin-top:4px;
    color:#d8d2c4;
    font-size:12px;
    line-height:1.5;
  }

  .tg-qs-search .desc{
    color:#d8d2c4;
    font-size:13px;
    line-height:1.6;
    min-height:46px;
  }

  .tg-qs-search .split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    align-items:stretch;
  }

  .tg-qs-search .mini-panel{
    border:1px solid rgba(212,175,55,.12);
    background:rgba(255,255,255,.03);
    border-radius:16px;
    padding:12px;
    min-height:126px;
    display:flex;
    flex-direction:column;
  }

  .tg-qs-search .mini-title{
    margin:0 0 8px;
    color:rgba(240,193,91,.84);
    font-size:11px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.14em;
  }

  .tg-qs-search .chip{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 11px;
    border-radius:999px;
    border:1px solid rgba(212,175,55,.16);
    background:rgba(255,255,255,.04);
    color:#f4e7c7;
    font-size:11px;
    font-weight:700;
  }

  .tg-qs-search .card-actions{
    margin-top:auto;
    padding-top:2px;
  }

  @media (max-width: 1380px){
    .tg-qs-search .cards{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
  }

  @media (max-width: 1180px){
    .tg-qs-search .cards{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
    .tg-qs-search .filters{ grid-template-columns:1fr 1fr 1fr; }
    .tg-qs-search .hero-guides{ grid-template-columns:1fr 1fr; }
  }

  @media (max-width: 820px){
    .tg-qs-search .cards,
    .tg-qs-search .filters,
    .tg-qs-search .split,
    .tg-qs-search .hero-guides{ grid-template-columns:1fr; }
  }

  @media (max-width: 640px){
    .tg-qs-search .container{ width:min(var(--content), calc(100% - 24px)); }
    .tg-qs-search .hero{ border-radius:24px; padding:22px 18px; }
    .tg-qs-search .card{ border-radius:22px; }
    .tg-qs-search .btn,
    .tg-qs-search .card-actions .btn{ width:100%; }
  }
