:root{
  --gs-font:"Segoe UI Variable","Segoe UI",Arial,sans-serif;
  --gs-orange:#ffb000;
  --gs-orange-2:#ff7a00;
  --gs-green:#25e47a;
  --gs-red:#ff5f63;
  --gs-discord:#5865f2;
  --gs-text:#f5f2e9;
  --gs-muted:#aeb5b8;
  --gs-line:rgba(255,255,255,.12);
  --gs-shadow:0 16px 38px rgba(0,0,0,.42);
  --gs-cobble:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/cobblestone.png");
  --gs-stone:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/stone_bricks.png");
  --gs-deepslate:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/deepslate_tiles.png");
  --gs-blackstone:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/polished_blackstone_bricks.png");
  --gs-spruce:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/spruce_planks.png");
  --gs-oak:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/oak_planks.png");
  --gs-emerald:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/emerald_block.png");
  --gs-netherite:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/netherite_block.png");
  --gs-crying:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/crying_obsidian.png");
  --gs-gold:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/gold_block.png");
}

.gs-divi-bypass-section,.gs-divi-bypass-row,.gs-divi-bypass-column{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.gs-divi-bypass-section>.et_pb_row{width:100%!important;max-width:none!important;padding:0!important}
.gs-shell,.gs-shell *{box-sizing:border-box}
.gs-shell{position:relative;width:100vw;left:50%;margin-left:-50vw;min-height:100svh;background:linear-gradient(rgba(5,8,10,.78),rgba(5,8,10,.88)),var(--gs-deepslate);background-size:auto,64px 64px;color:var(--gs-text);font-family:var(--gs-font);overflow-x:hidden}
.gs-shell a{color:inherit;text-decoration:none}.gs-shell button,.gs-shell input,.gs-shell textarea{font:inherit}.gs-shell img{max-width:100%}
.gs-shell h1,.gs-shell h2,.gs-shell h3,.gs-shell strong,.gs-shell .gs-btn,.gs-shell .gs-nav a{font-family:var(--gs-font);letter-spacing:.035em}
.gs-kicker{display:block;color:var(--gs-orange);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px}
.gs-muted{color:var(--gs-muted)}

.gs-topbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;height:78px;padding:0 clamp(18px,3vw,58px);background:rgba(12,13,13,.96);box-shadow:0 8px 28px rgba(0,0,0,.34);border-bottom:2px solid rgba(255,176,0,.28)}
.gs-topbar-texture{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(9,10,10,.62),rgba(9,10,10,.76)),var(--gs-cobble);background-size:auto,56px 56px}
.gs-brand{display:grid;place-items:center;width:78px;height:66px;margin-right:24px;border-radius:6px;background:rgba(0,0,0,.22)}
.gs-brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.5))}
.gs-nav{display:flex;align-items:center;gap:8px;height:100%}
.gs-nav a{display:flex;align-items:center;gap:8px;height:50px;padding:0 18px;border-radius:6px;color:#d8dcdd;font-size:14px;text-transform:uppercase;background:rgba(0,0,0,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);transition:.18s ease}
.gs-nav a:hover{background:rgba(255,176,0,.11);color:white;transform:translateY(-1px)}
.gs-nav a.is-active{color:#fff3c8;background:linear-gradient(180deg,rgba(255,176,0,.22),rgba(255,176,0,.08));box-shadow:inset 0 -3px var(--gs-orange),inset 0 0 0 1px rgba(255,176,0,.24)}
.gs-icon{display:inline-grid;place-items:center;color:var(--gs-orange);font-family:var(--gs-font)}
.gs-nav-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.gs-nav-account-card{display:flex;align-items:center;gap:10px;min-width:154px;padding:7px 10px;border-radius:7px;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.gs-nav-account-card img{width:42px;height:42px;object-fit:cover;border-radius:4px;image-rendering:auto}
.gs-nav-account-card span{display:flex;flex-direction:column;min-width:0}.gs-nav-account-card strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gs-nav-account-card small{font-size:9px;color:var(--gs-muted)}
.gs-nav-account-card.is-guest small a{color:#d8dffd}
.gs-nav-toggle{display:none;margin-left:auto;background:#121718;color:#fff;border:1px solid var(--gs-line);border-radius:5px;padding:8px 10px}
.gs-sync-indicator{display:flex;align-items:center;gap:6px;color:#aab1b4;font-size:10px;white-space:nowrap;transition:.2s}.gs-sync-indicator i{width:7px;height:7px;border-radius:50%;background:#728087;box-shadow:0 0 0 3px rgba(114,128,135,.12)}
.gs-sync-indicator.is-syncing i{background:var(--gs-orange);animation:gsPulse 1s infinite}.gs-sync-indicator.is-success{color:#d8ffe6}.gs-sync-indicator.is-success i{background:var(--gs-green)}.gs-sync-indicator.is-error{color:#ffd5d5}.gs-sync-indicator.is-error i{background:var(--gs-red)}
@keyframes gsPulse{50%{opacity:.35}}

.gs-dashboard,.gs-subpage{width:min(1580px,calc(100vw - 36px));margin:0 auto;padding:14px 0 22px}
.gs-dashboard{min-height:calc(100svh - 78px);display:grid;grid-template-rows:minmax(215px,27vh) auto 1fr;gap:14px}
.gs-wood-panel{position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.13);background:linear-gradient(rgba(61,38,20,.25),rgba(19,12,8,.38)),var(--gs-spruce);background-size:auto,72px 72px;box-shadow:var(--gs-shadow),inset 0 0 35px rgba(0,0,0,.32)}
.gs-hero{display:flex;align-items:stretch;justify-content:space-between;gap:28px;padding:22px 28px;border-radius:7px}
.gs-hero:after,.gs-wood-panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 38%,rgba(0,0,0,.36) 100%)}
.gs-hero>*{position:relative;z-index:1}
.gs-hero-logo-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:8px 14px}
.gs-hero-logo-image{width:min(760px,72vw);max-height:155px;object-fit:contain;object-position:left center;filter:drop-shadow(0 10px 14px rgba(0,0,0,.48))}
.gs-hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.gs-hero-tags span{padding:6px 11px;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.11);border-bottom-color:rgba(255,176,0,.5);font-size:10px;font-weight:700;text-transform:uppercase}
.gs-hero-account{width:min(420px,34vw);display:flex;flex-direction:column;border-radius:6px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:linear-gradient(rgba(18,16,12,.42),rgba(10,9,7,.55)),var(--gs-oak);background-size:auto,60px 60px;box-shadow:0 12px 26px rgba(0,0,0,.28)}
.gs-hero-account .gs-panel-title{flex:0 0 48px}.gs-hero-account-body{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:16px;min-height:0;height:100%}

.gs-panel{position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.10);border-radius:6px;background:linear-gradient(rgba(31,34,33,.70),rgba(12,14,14,.82)),var(--gs-stone);background-size:auto,64px 64px;box-shadow:0 13px 30px rgba(0,0,0,.28),inset 0 0 28px rgba(0,0,0,.25)}
.gs-panel>*{position:relative;z-index:1}.gs-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.26));z-index:0}
.gs-panel-title{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 15px;border-bottom:2px solid rgba(0,0,0,.38);background:linear-gradient(rgba(20,20,20,.48),rgba(8,8,8,.58)),var(--gs-cobble);background-size:auto,52px 52px;box-shadow:inset 0 -1px rgba(255,176,0,.15)}
.gs-panel-heading{display:flex;align-items:center;gap:8px}.gs-panel-title h2{margin:0!important;padding:0!important;color:#fff!important;font-size:15px!important;text-transform:uppercase}.gs-panel-title a,.gs-panel-action{font-size:10px!important;font-weight:700!important;color:#dfe3e4!important;background:none;border:0;cursor:pointer}.gs-panel-title a:hover,.gs-panel-action:hover{color:var(--gs-orange)!important}
.gs-panel-body{padding:14px}

.gs-grid-main{min-height:0;display:grid;grid-template-columns:.95fr 1.12fr;grid-template-rows:minmax(205px,.7fr) minmax(300px,1.15fr);gap:14px}
.gs-status-card{grid-column:1;grid-row:1}.gs-online-list{grid-column:2;grid-row:1}.gs-events-card{grid-column:1;grid-row:2}.gs-statistica-card{grid-column:2;grid-row:2}
.gs-status-layout{height:calc(100% - 50px);display:grid;grid-template-columns:42% 1fr;gap:14px;padding:14px}.gs-server-emblem{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:12px;border-radius:5px;background:linear-gradient(rgba(49,31,14,.28),rgba(16,10,6,.4)),var(--gs-oak);background-size:auto,56px 56px;border:1px solid rgba(255,255,255,.1)}.gs-server-emblem img{width:82px;height:82px;object-fit:contain}.gs-server-emblem strong{font-size:13px}.gs-copy-address{display:block;margin:7px auto 0;background:none;border:0;color:var(--gs-orange);font-size:10px;cursor:pointer}
.gs-server-facts{margin:0;display:flex;flex-direction:column;justify-content:center}.gs-server-facts div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}.gs-server-facts div:last-child{border:0}.gs-server-facts dt{color:#aeb5b8;font-size:10px;text-transform:uppercase;font-weight:600}.gs-server-facts dd{margin:0;font-size:12px;font-weight:600}.gs-server-facts .gs-accent{color:#ffd265}.gs-status-pill{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;background:rgba(255,95,99,.15);color:#ff9b9e;font-size:9px;font-weight:700;text-transform:uppercase}.gs-status-pill.is-online{background:rgba(37,228,122,.13);color:#6ff3a5}
.gs-online-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gs-player-row{display:flex;align-items:center;gap:9px;min-width:0;padding:8px;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:rgba(0,0,0,.21)}.gs-player-row:hover{border-color:rgba(37,228,122,.34);background:rgba(37,228,122,.06)}.gs-player-row img{width:42px;height:42px;border-radius:3px;image-rendering:auto}.gs-player-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.gs-player-row i{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--gs-green);box-shadow:0 0 10px rgba(37,228,122,.7)}
.gs-event-grid{display:grid;gap:8px}.gs-event-item{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:linear-gradient(rgba(79,46,17,.22),rgba(21,12,7,.25)),var(--gs-oak);background-size:auto,48px 48px}.gs-event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,176,0,.32);background:rgba(0,0,0,.35)}.gs-event-date b{font-size:21px}.gs-event-date span{font-size:9px;color:var(--gs-orange)}.gs-event-item strong{display:block;font-size:13px}.gs-event-item small{color:var(--gs-muted);font-size:9px}.gs-event-item p{margin:5px 0 0;font-size:10px;color:#d4d7d8}

.gs-statistica-body{height:calc(100% - 50px);display:grid;grid-template-rows:minmax(110px,.9fr) auto;gap:12px;padding:12px}.gs-recent-advancements{min-height:0}.gs-recent-adv-grid{height:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gs-recent-adv-item{display:grid;grid-template-columns:50px 44px 1fr;align-items:center;gap:9px;min-width:0;padding:9px;border:3px solid transparent;border-radius:5px;background:linear-gradient(rgba(54,34,16,.38),rgba(22,13,8,.46)),var(--gs-oak);background-size:auto,48px 48px}.gs-recent-task{border-color:#2aa457}.gs-recent-challenge{border-color:#555b62;background:linear-gradient(rgba(36,24,52,.44),rgba(16,10,23,.58)),var(--gs-crying);background-size:auto,48px 48px}.gs-recent-goal{border-color:#d9a928}.gs-recent-adv-avatar{width:50px;height:50px;border-radius:3px}.gs-recent-adv-icon{width:42px;height:42px;object-fit:contain;image-rendering:auto}.gs-recent-adv-item>div{min-width:0}.gs-recent-adv-item small{display:block;font-size:8px;color:#b9bec0}.gs-recent-adv-item strong{display:block;color:#ffd36b;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-recent-adv-item span{display:block;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-recent-adv-empty{display:flex;height:100%;min-height:90px;flex-direction:column;justify-content:center;align-items:center;border:1px dashed rgba(255,255,255,.12);color:#cdd2d4}.gs-recent-adv-empty small{color:var(--gs-muted)}
.gs-home-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gs-stat-box{display:flex;align-items:center;gap:10px;min-height:64px;padding:9px 11px;border:2px solid rgba(93,73,46,.72);border-radius:5px;background:linear-gradient(rgba(255,248,215,.08),rgba(59,38,18,.15)),var(--gs-oak);background-size:auto,48px 48px;box-shadow:inset 0 0 18px rgba(0,0,0,.22)}.gs-stat-icon{width:36px;height:36px;display:grid;place-items:center;background:rgba(0,0,0,.32);border:1px solid rgba(255,176,0,.24);border-radius:4px}.gs-stat-box small{display:block;color:#c7c3b5;font-size:8px;text-transform:uppercase}.gs-stat-box strong{display:block;color:#fff;font-size:17px;line-height:1.1}

.gs-account-summary{display:flex;align-items:center;gap:12px}.gs-account-summary img,.gs-account-empty .gs-avatar-placeholder{width:68px;height:68px;border-radius:5px;border:2px solid rgba(255,176,0,.3);object-fit:cover}.gs-account-summary strong{display:block;font-size:16px}.gs-account-summary small{display:block;color:var(--gs-muted);font-size:10px}.gs-membership{display:inline-flex;margin-top:5px;padding:4px 7px;border-radius:999px;font-size:8px;font-weight:700;text-transform:uppercase;background:rgba(255,95,99,.13);color:#ffb0b2}.gs-membership.is-member{background:rgba(37,228,122,.13);color:#7ff4ad}.gs-account-empty{display:flex;align-items:center;gap:12px}.gs-avatar-placeholder{display:grid;place-items:center;background:#151b1d;color:#777}.gs-account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.gs-whitelist-mini{font-size:9px;color:#d8c7a4}.gs-whitelist-mini.is-approved{color:#86f2b0}

.gs-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:36px;padding:8px 13px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:5px!important;background:rgba(18,21,22,.88)!important;color:#fff!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important;cursor:pointer!important;box-shadow:0 5px 12px rgba(0,0,0,.25)!important;transition:.16s!important}.gs-btn:hover{transform:translateY(-1px)!important;filter:brightness(1.09)}.gs-btn-primary{background:linear-gradient(#ffb821,#ed8900)!important;color:#1b1200!important;border-color:#ffc74f!important}.gs-btn-green{background:linear-gradient(#34d77c,#159b50)!important;color:#061b0e!important;border-color:#62eba0!important}.gs-btn-discord{background:#5865f2!important;border-color:#7983f7!important}.gs-btn-danger{background:#8f2e34!important}.gs-btn-ghost{background:rgba(0,0,0,.22)!important}.gs-btn-disabled{opacity:.5;cursor:not-allowed!important}
.gs-text-link{color:#cbd3ff!important;font-size:10px;text-decoration:underline!important}

.gs-restricted{height:100%;min-height:120px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:18px;text-align:center}.gs-restricted>span{color:var(--gs-orange);font-size:24px}.gs-restricted strong{display:block;font-size:14px}.gs-restricted p{max-width:430px;margin:4px 0;color:var(--gs-muted);font-size:10px}.gs-empty-inline{padding:16px;color:#b9c0c3;font-size:11px}
.gs-whitelist-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;border:2px solid rgba(255,176,0,.38);border-radius:6px;background:linear-gradient(rgba(70,42,14,.24),rgba(22,13,6,.3)),var(--gs-oak);background-size:auto,48px 48px;box-shadow:0 8px 22px rgba(0,0,0,.24)}.gs-whitelist-banner>span{font-size:22px;color:var(--gs-orange)}.gs-whitelist-banner strong{display:block}.gs-whitelist-banner small{color:#c9c2b4}

.gs-subpage{min-height:calc(100svh - 78px)}.gs-page-heading,.gs-player-hero,.gs-player-stat-hero{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:20px 24px;border-radius:7px}.gs-page-heading>*{position:relative;z-index:1}.gs-page-heading h1,.gs-player-hero h1{margin:0!important;color:#fff!important;font-size:34px!important}.gs-page-heading p,.gs-player-hero p{margin:4px 0 0;color:#d4d0c6}.gs-player-search{width:min(360px,42vw);padding:10px 12px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:5px!important;background:rgba(0,0,0,.42)!important;color:#fff!important}
.gs-player-directory{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.gs-player-tile{position:relative;display:flex;align-items:center;gap:12px;padding:12px;border:2px solid rgba(255,255,255,.1);border-radius:6px;background:linear-gradient(rgba(54,34,16,.34),rgba(17,10,6,.42)),var(--gs-oak);background-size:auto,52px 52px;box-shadow:0 8px 18px rgba(0,0,0,.22)}.gs-player-tile:hover{border-color:rgba(255,176,0,.42);transform:translateY(-1px)}.gs-player-tile img{width:64px;height:64px;border-radius:4px}.gs-player-tile strong{display:block;font-size:13px}.gs-player-tile small{color:var(--gs-muted);font-size:9px}.gs-presence-dot{position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:50%;background:#687177}.gs-presence-dot.is-online{background:var(--gs-green);box-shadow:0 0 10px rgba(37,228,122,.65)}

.gs-stats-heading{align-items:flex-end}.gs-stats-switcher{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.gs-segmented{display:flex;padding:4px;border:1px solid rgba(255,255,255,.13);border-radius:6px;background:rgba(0,0,0,.34)}.gs-segmented button{border:0;background:transparent;color:#d5d9da;padding:8px 13px;border-radius:4px;font-weight:700;cursor:pointer}.gs-segmented button.is-active{background:var(--gs-orange);color:#1d1200}.gs-player-stat-search{display:none;gap:6px}.gs-player-stat-search.is-open{display:flex}.gs-player-stat-search input{padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:5px;background:rgba(0,0,0,.4);color:#fff}
.gs-stat-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}.gs-stat-detail-card{min-height:88px;display:flex;flex-direction:column;justify-content:center;padding:14px;border:3px solid rgba(100,76,43,.78);border-radius:6px;background:linear-gradient(rgba(255,243,199,.08),rgba(52,31,13,.18)),var(--gs-oak);background-size:auto,50px 50px;box-shadow:0 8px 18px rgba(0,0,0,.22),inset 0 0 15px rgba(0,0,0,.16)}.gs-stat-detail-card span{color:#d2cab9;font-size:9px;text-transform:uppercase}.gs-stat-detail-card strong{margin-top:3px;font-size:20px;color:#fff}.gs-leaderboards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gs-leaderboard ol{list-style:none;margin:0;padding:8px 12px}.gs-leaderboard li{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}.gs-leaderboard li:last-child{border:0}.gs-leaderboard img{width:36px;height:36px;border-radius:3px}.gs-leaderboard span{font-size:11px}.gs-leaderboard strong{font-size:11px;color:#ffd36b}
.gs-player-stat-hero{justify-content:flex-start}.gs-player-stat-hero img{width:88px;height:88px;border-radius:5px}.gs-player-stat-hero h2{margin:0!important;font-size:27px!important;color:#fff!important}.gs-player-stat-hero small{color:#cfc7b8}.gs-player-hero{justify-content:flex-start}.gs-player-hero>img{width:102px;height:102px;border-radius:5px}.gs-player-hero .gs-presence{margin-left:auto;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.08);font-size:10px}.gs-player-hero .gs-presence.is-online{color:#82f4b0;background:rgba(37,228,122,.12)}

.gs-adv-section{margin-top:14px}.gs-adv-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;margin-bottom:12px;border-radius:6px}.gs-adv-section-head>*{position:relative;z-index:1}.gs-adv-section-head h2{margin:0!important;color:#fff!important;font-size:26px!important}.gs-adv-section-head p{margin:3px 0 0;color:#d4d0c6}.gs-adv-toolbar{display:flex;gap:6px}.gs-filter{padding:7px 11px;border:1px solid rgba(255,255,255,.12);border-radius:4px;background:rgba(0,0,0,.30);color:#fff;font-weight:700;cursor:pointer}.gs-filter.is-active{background:var(--gs-orange);color:#211400}.gs-adv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gs-adv-card{padding:4px;border-radius:7px;box-shadow:0 10px 22px rgba(0,0,0,.25);background-size:48px 48px}.gs-adv-task{background:linear-gradient(rgba(18,90,47,.08),rgba(18,90,47,.08)),var(--gs-emerald)}.gs-adv-challenge{background:linear-gradient(rgba(255,255,255,.02),rgba(0,0,0,.16)),var(--gs-netherite)}.gs-adv-goal{background:linear-gradient(rgba(255,255,255,.02),rgba(98,70,0,.1)),var(--gs-gold)}.gs-adv-inner{min-height:132px;display:grid;grid-template-columns:68px 1fr 28px;gap:12px;align-items:center;padding:13px;border-radius:4px;background:linear-gradient(rgba(51,31,14,.34),rgba(17,10,5,.45)),var(--gs-oak);background-size:auto,50px 50px}.gs-adv-challenge .gs-adv-inner{background:linear-gradient(rgba(31,16,45,.42),rgba(10,7,14,.58)),var(--gs-crying);background-size:auto,50px 50px}.gs-adv-goal .gs-adv-inner{background:linear-gradient(rgba(53,51,45,.28),rgba(19,18,16,.40)),var(--gs-stone);background-size:auto,50px 50px}.gs-adv-card.is-open{filter:saturate(.55) brightness(.78)}.gs-adv-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:4px;background:rgba(0,0,0,.32)}.gs-adv-icon img{max-width:58px;max-height:58px}.gs-adv-kind{font-size:8px;font-weight:700;color:var(--gs-orange);letter-spacing:.12em}.gs-adv-copy h3{margin:2px 0!important;color:#fff!important;font-size:16px!important}.gs-adv-copy p{margin:3px 0 7px;color:#d5d3ca;font-size:10px;line-height:1.35}.gs-adv-copy small{display:block;margin-top:6px;color:#b8b4aa;font-size:8px}.gs-progress{height:5px;background:rgba(0,0,0,.38);border-radius:999px;overflow:hidden}.gs-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gs-orange),#ffe267)}.gs-adv-state{font-size:20px;color:#d8ddd8}

.gs-profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-bottom:14px}.gs-profile-avatar-large{width:118px;height:118px;border-radius:7px;border:3px solid rgba(255,176,0,.34);object-fit:cover;position:relative;z-index:1}.gs-form{display:grid;gap:12px;padding:16px}.gs-form label,.gs-decision-form label{display:grid;gap:5px;color:#d9dcdd;font-size:10px;font-weight:600}.gs-form input,.gs-form textarea,.gs-decision-form textarea{width:100%;padding:10px!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:5px!important;background:rgba(0,0,0,.32)!important;color:#fff!important}.gs-checkbox{grid-template-columns:auto 1fr!important;align-items:center!important}.gs-checkbox input{width:auto!important}.gs-profile-connection{display:flex;align-items:center;gap:14px;padding:16px}.gs-profile-connection img{width:72px;height:72px;border-radius:8px}.gs-profile-connection strong,.gs-profile-connection small{display:block}.gs-inline-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 16px}.gs-whitelist-profile-body{padding:16px}.gs-whitelist-status{display:flex;flex-direction:column;gap:4px;padding:12px;border-left:4px solid #777;background:rgba(0,0,0,.22)}.gs-whitelist-status.is-approved{border-color:var(--gs-green)}.gs-whitelist-status.is-waiting{border-color:var(--gs-orange)}.gs-whitelist-status.is-denied{border-color:var(--gs-red)}

.gs-whitelist-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gs-whitelist-request{padding:14px}.gs-whitelist-request-head{display:flex;justify-content:space-between;gap:10px}.gs-whitelist-request h3{margin:0!important}.gs-whitelist-request dl{margin:12px 0}.gs-whitelist-request dl div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06)}.gs-whitelist-request dt{color:var(--gs-muted);font-size:9px}.gs-whitelist-request dd{margin:0;font-size:10px}.gs-decision-form{display:grid;gap:8px}

.gs-dialog{border:0!important;padding:0!important;background:transparent!important;color:#fff}.gs-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(2px)}.gs-dialog-card{position:relative;width:min(650px,calc(100vw - 30px));padding:24px;border:3px solid rgba(255,176,0,.25);border-radius:7px;background:linear-gradient(rgba(48,30,15,.34),rgba(12,8,5,.6)),var(--gs-spruce);background-size:auto,64px 64px;box-shadow:0 24px 70px rgba(0,0,0,.68)}.gs-dialog-x{position:absolute;right:10px;top:10px;width:34px;height:34px;border:0;border-radius:4px;background:rgba(0,0,0,.38);color:#fff;font-size:22px;cursor:pointer}.gs-dialog-card h2{font-size:27px!important;margin:5px 0!important}.gs-dialog-card p{color:#d4d0c7}.gs-login-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.gs-login-choice{padding:16px;border:2px solid rgba(88,101,242,.42);border-radius:6px;background:rgba(24,28,67,.5)}.gs-login-choice:hover{border-color:#8490ff;background:rgba(42,48,116,.55)}.gs-login-choice strong{display:block;font-size:17px}.gs-login-choice span{display:block;margin-top:5px;color:#ccd1e7;font-size:10px;line-height:1.4}

.gs-notice{width:min(1580px,calc(100vw - 36px));margin:10px auto 0;padding:10px 14px;border-radius:5px;font-size:11px}.gs-notice-success{border:1px solid rgba(37,228,122,.3);background:#10281b;color:#a9f4c5}.gs-notice-error{border:1px solid rgba(255,95,99,.3);background:#2b1114;color:#ffc3c5}
.gs-empty{padding:28px;text-align:center}.gs-empty h1,.gs-empty h2{color:#fff!important}.gs-launch-gate{min-height:100svh;display:grid;place-items:center;padding:24px;background:linear-gradient(rgba(5,8,10,.72),rgba(5,8,10,.88)),var(--gs-deepslate);background-size:auto,64px 64px}.gs-launch-card{width:min(720px,94vw);text-align:center;padding:40px;border:3px solid rgba(255,176,0,.28);border-radius:8px;background:linear-gradient(rgba(59,38,18,.28),rgba(14,9,5,.56)),var(--gs-spruce);background-size:auto,64px 64px;box-shadow:0 26px 70px rgba(0,0,0,.58)}.gs-launch-card img{width:min(500px,80%);max-height:150px;object-fit:contain}.gs-launch-card h1{margin:8px 0!important;color:#fff!important;font-size:34px!important}.gs-launch-card p{color:#d8d3c8}.gs-launch-date{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:10px 15px;background:rgba(0,0,0,.3);border:1px solid rgba(255,176,0,.35)}.gs-launch-date span{font-size:31px;font-family:var(--gs-font)}.gs-launch-date strong{color:var(--gs-orange)}
.gs-live-pop{animation:gsPop .35s ease}@keyframes gsPop{50%{color:#fff4c7;text-shadow:0 0 12px rgba(255,176,0,.55)}}

@media(max-width:1280px){.gs-dashboard,.gs-subpage{width:min(96vw,1500px)}.gs-player-directory{grid-template-columns:repeat(4,minmax(0,1fr))}.gs-stat-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.gs-leaderboards{grid-template-columns:repeat(2,minmax(0,1fr))}.gs-whitelist-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.gs-topbar{height:68px;padding:0 12px}.gs-brand{width:60px;height:56px;margin-right:8px}.gs-brand img{width:48px;height:48px}.gs-nav-toggle{display:block}.gs-nav{display:none;position:absolute;top:68px;left:0;right:0;height:auto;padding:8px;background:#111516;flex-direction:column;align-items:stretch}.gs-topbar.is-open .gs-nav{display:flex}.gs-nav a{height:44px}.gs-nav-right{margin-left:auto}.gs-sync-indicator{display:none}.gs-nav-account-card{min-width:0}.gs-nav-account-card span{display:none}.gs-dashboard{display:block;min-height:auto}.gs-hero{min-height:230px;margin-bottom:12px}.gs-hero-account{width:42vw}.gs-grid-main{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto}.gs-status-card,.gs-online-list,.gs-events-card,.gs-statistica-card{grid-column:auto;grid-row:auto;min-height:250px}.gs-statistica-card{grid-column:1/-1;min-height:430px}.gs-player-directory{grid-template-columns:repeat(3,minmax(0,1fr))}.gs-stat-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.gs-adv-grid{grid-template-columns:1fr}.gs-profile-grid{grid-template-columns:1fr}.gs-whitelist-admin-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.gs-dashboard,.gs-subpage{width:calc(100vw - 16px)}.gs-hero{display:block;padding:14px}.gs-hero-logo-image{width:100%;max-height:100px}.gs-hero-account{width:100%;margin-top:12px}.gs-grid-main{grid-template-columns:1fr}.gs-status-card,.gs-online-list,.gs-events-card,.gs-statistica-card{grid-column:1}.gs-status-layout{grid-template-columns:1fr}.gs-online-grid,.gs-recent-adv-grid,.gs-home-stats{grid-template-columns:1fr}.gs-statistica-card{min-height:720px}.gs-player-directory{grid-template-columns:1fr}.gs-stat-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.gs-leaderboards{grid-template-columns:1fr}.gs-page-heading,.gs-player-hero,.gs-player-stat-hero{align-items:flex-start;flex-direction:column}.gs-player-search{width:100%}.gs-stats-switcher{align-items:stretch;width:100%}.gs-segmented{width:100%}.gs-segmented button{flex:1}.gs-player-stat-search{width:100%}.gs-player-stat-search input{flex:1;min-width:0}.gs-adv-section-head{align-items:flex-start;flex-direction:column}.gs-adv-inner{grid-template-columns:56px 1fr 24px}.gs-whitelist-banner{grid-template-columns:auto 1fr}.gs-whitelist-banner .gs-btn{grid-column:1/-1}.gs-whitelist-admin-grid{grid-template-columns:1fr}.gs-login-choice-grid{grid-template-columns:1fr}.gs-nav-account-card img{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.gs-shell *{animation:none!important;transition:none!important}}

/* 0.5 access/live refinements */
.gs-status-pill.is-pending{background:rgba(255,176,0,.14);color:#ffd66d}
.gs-mc-avatar{image-rendering:pixelated;background:rgba(0,0,0,.22)}
.gs-member-gate{min-height:calc(100svh - 78px);display:grid;place-items:center}
.gs-member-gate-card{width:min(760px,94vw);padding:38px;text-align:center;border-radius:8px}
.gs-member-gate-card>*{position:relative;z-index:1}.gs-member-gate-card h1{margin:6px 0 10px!important;color:#fff!important;font-size:34px!important}.gs-member-gate-card p{max-width:620px;margin:0 auto 18px;color:#ded8cc;line-height:1.6}.gs-member-gate-card .gs-inline-actions{justify-content:center;padding:0}
.gs-adv-copy small[hidden]{display:none!important}

/* =========================================================
   Grindstone Hub 0.6.0 — visual system + spacing overhaul
   ========================================================= */
:root{
  --gs-text:#ead9b8;
  --gs-heading:#fff0c8;
  --gs-muted:#c1b08d;
  --gs-tuff:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/tuff_bricks.png");
  --gs-mud:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/mud_bricks.png");
  --gs-dark-oak:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/dark_oak_planks.png");
  --gs-barrel:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/barrel_side.png");
  --gs-stripped-oak:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/stripped_oak_log.png");
}

.gs-shell{color:var(--gs-text)}
.gs-shell h1,.gs-shell h2,.gs-shell h3,.gs-shell strong{color:var(--gs-heading);text-shadow:0 2px 3px rgba(0,0,0,.72)}
.gs-shell p,.gs-shell label,.gs-shell span,.gs-shell small{ text-shadow:0 1px 2px rgba(0,0,0,.42) }
.gs-muted{color:var(--gs-muted)}

/* Hierarchy: cobble nav -> tuff page hero -> stone panels -> special textures only where meaningful. */
.gs-page-hero{
  position:relative;overflow:hidden;
  border:2px solid rgba(208,183,128,.28);
  background:linear-gradient(rgba(25,27,25,.46),rgba(8,10,9,.66)),var(--gs-tuff);
  background-size:auto,64px 64px;
  box-shadow:var(--gs-shadow),inset 0 0 34px rgba(0,0,0,.34);
}
.gs-page-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.34) 100%)}
.gs-page-hero>*{position:relative;z-index:1}
.gs-page-heading h1,.gs-player-hero h1{color:var(--gs-heading)!important}
.gs-page-heading p,.gs-player-hero p{color:#d9c9aa}

.gs-hero-account{
  background:linear-gradient(rgba(49,34,19,.26),rgba(16,10,7,.54)),var(--gs-barrel);
  background-size:auto,56px 56px;
  border-color:rgba(222,183,106,.28);
}
.gs-hero-account .gs-panel-title{background:linear-gradient(rgba(18,18,16,.54),rgba(7,7,6,.67)),var(--gs-cobble);background-size:auto,52px 52px}

.gs-panel{
  background:linear-gradient(rgba(28,31,30,.62),rgba(10,12,12,.80)),var(--gs-stone);
  background-size:auto,64px 64px;
}

/* Community: no duplicated wood-on-wood. */
.gs-player-tile{
  background:linear-gradient(rgba(29,31,29,.40),rgba(10,12,11,.56)),var(--gs-tuff);
  background-size:auto,52px 52px;
  border-color:rgba(211,190,145,.18);
}
.gs-player-tile:hover{border-color:rgba(255,176,0,.58);box-shadow:0 10px 24px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,218,134,.08)}
.gs-player-tile strong{color:#ffe2a2!important;font-size:14px}
.gs-player-tile small{color:#c8b997}

/* Friendlier stats: mud bricks / warm stone instead of another deepslate or plank wall. */
.gs-home-stats .gs-stat-box,
.gs-stat-detail-card{
  background:linear-gradient(rgba(98,64,39,.12),rgba(23,15,10,.42)),var(--gs-mud);
  background-size:auto,54px 54px;
  border:2px solid rgba(202,160,91,.34);
  box-shadow:0 8px 18px rgba(0,0,0,.26),inset 0 0 18px rgba(0,0,0,.24);
}
.gs-stat-box small,.gs-stat-detail-card span{color:#e0caa1}
.gs-stat-box strong,.gs-stat-detail-card strong{color:#ffe9b4!important;text-shadow:0 2px 5px rgba(0,0,0,.7)}
.gs-stat-detail-card:hover{border-color:rgba(255,176,0,.46);transform:translateY(-1px)}
.gs-leaderboard{background:linear-gradient(rgba(30,33,31,.58),rgba(10,12,11,.80)),var(--gs-tuff);background-size:auto,56px 56px}
.gs-leaderboard li{color:#e6d5b6}.gs-leaderboard strong{color:#ffd16a!important}

/* Player identity panels use dark oak only for identity, not every container. */
.gs-player-identity-panel{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin-bottom:14px;padding:20px 24px;border:2px solid rgba(203,151,77,.32);border-radius:7px;
  background:linear-gradient(rgba(34,22,13,.30),rgba(12,8,5,.56)),var(--gs-dark-oak);
  background-size:auto,58px 58px;box-shadow:0 12px 28px rgba(0,0,0,.30),inset 0 0 26px rgba(0,0,0,.26)
}

/* Advancement heading gets a single restrained wood identity; cards themselves carry their type textures. */
.gs-adv-heading-panel{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:12px;padding:16px 18px;
  border:2px solid rgba(185,135,70,.28);border-radius:7px;
  background:linear-gradient(rgba(35,23,14,.30),rgba(10,7,4,.54)),var(--gs-dark-oak);
  background-size:auto,56px 56px;box-shadow:0 10px 22px rgba(0,0,0,.26)
}

/* Actual Minecraft-texture borders for advancement types. */
.gs-adv-card{
  padding:8px!important;border:0!important;border-radius:8px!important;
  background-repeat:repeat!important;background-size:28px 28px!important;
  image-rendering:pixelated;
  box-shadow:0 11px 25px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.10)!important;
}
.gs-adv-task{background-image:var(--gs-emerald)!important}
.gs-adv-challenge{background-image:var(--gs-netherite)!important}
.gs-adv-goal{background-image:var(--gs-gold)!important}
.gs-adv-inner{border:1px solid rgba(0,0,0,.55);background:linear-gradient(rgba(61,37,17,.26),rgba(18,11,6,.54)),var(--gs-stripped-oak);background-size:auto,44px 44px}
.gs-adv-challenge .gs-adv-inner{background:linear-gradient(rgba(38,20,53,.38),rgba(11,7,16,.64)),var(--gs-crying);background-size:auto,44px 44px}
.gs-adv-goal .gs-adv-inner{background:linear-gradient(rgba(45,46,41,.36),rgba(14,14,12,.60)),var(--gs-stone);background-size:auto,44px 44px}
.gs-adv-copy h3{color:#ffedc3!important}.gs-adv-copy p{color:#d8c8aa}.gs-adv-kind{color:#ffc14d}.gs-adv-state{color:#ffe7ad}

/* Recent advancements use the same textured type language, not flat colored lines. */
.gs-recent-adv-item{
  display:block!important;padding:5px!important;border:0!important;border-radius:7px!important;
  background-repeat:repeat!important;background-size:24px 24px!important;
  box-shadow:0 7px 16px rgba(0,0,0,.30)!important;
}
.gs-recent-task{background-image:var(--gs-emerald)!important}
.gs-recent-challenge{background-image:var(--gs-netherite)!important}
.gs-recent-goal{background-image:var(--gs-gold)!important}
.gs-recent-adv-inner{height:100%;display:grid;grid-template-columns:50px 44px 1fr;align-items:center;gap:9px;min-width:0;padding:9px;border-radius:4px;background:linear-gradient(rgba(34,31,24,.45),rgba(12,11,9,.70)),var(--gs-tuff);background-size:auto,46px 46px}
.gs-recent-challenge .gs-recent-adv-inner{background:linear-gradient(rgba(37,21,52,.40),rgba(10,7,14,.66)),var(--gs-crying);background-size:auto,46px 46px}
.gs-recent-goal .gs-recent-adv-inner{background:linear-gradient(rgba(43,40,31,.35),rgba(11,10,8,.62)),var(--gs-stone);background-size:auto,46px 46px}
.gs-recent-adv-item strong{color:#ffe09a!important}.gs-recent-adv-item span{color:#eadabd}

/* Profile: better structure, spacing, readable controls, avatar editing on hover. */
.gs-subpage{padding-bottom:64px!important}
.gs-profile-page{display:flex;flex-direction:column;gap:16px}
.gs-profile-page .gs-page-heading{margin-bottom:0}
.gs-profile-hero{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:24px 28px;border:2px solid rgba(185,168,126,.28);border-radius:8px;
  background:linear-gradient(rgba(27,29,27,.40),rgba(9,11,10,.66)),var(--gs-tuff);background-size:auto,62px 62px;
  box-shadow:var(--gs-shadow),inset 0 0 28px rgba(0,0,0,.28)
}
.gs-profile-hero-copy p{margin:5px 0 0;color:#d8c5a1}
.gs-profile-avatar-editor{position:relative;display:block;flex:0 0 auto;cursor:pointer;border-radius:10px}
.gs-profile-avatar-large{width:132px!important;height:132px!important;border:4px solid rgba(255,176,0,.52)!important;border-radius:9px!important;object-fit:cover;box-shadow:0 10px 24px rgba(0,0,0,.42)}
.gs-profile-avatar-edit{position:absolute;inset:0;display:grid;place-items:center;border-radius:9px;background:rgba(0,0,0,.62);color:#ffd269;font-size:34px;opacity:0;transition:.18s}
.gs-profile-avatar-editor:hover .gs-profile-avatar-edit,.gs-profile-avatar-editor:focus-within .gs-profile-avatar-edit{opacity:1}
.gs-profile-grid{gap:16px!important;margin:0!important}
.gs-profile-edit-card{background:linear-gradient(rgba(27,29,27,.56),rgba(9,11,10,.78)),var(--gs-stone);background-size:auto,58px 58px}
.gs-discord-card{background:linear-gradient(rgba(58,43,26,.24),rgba(13,10,7,.62)),var(--gs-barrel);background-size:auto,58px 58px}
.gs-profile-whitelist-wrap{margin-top:0;padding-bottom:18px}
.gs-profile-whitelist-wrap>.gs-panel{margin-bottom:0}
.gs-profile-connection strong{font-size:18px!important}.gs-profile-connection small{color:#d5c3a2!important;font-size:11px}
.gs-profile-link-state{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-left:4px solid #d08d2e;background:rgba(0,0,0,.22)}
.gs-profile-link-state.is-linked{border-color:#42dc82}.gs-profile-link-state strong{font-size:12px!important}.gs-profile-link-state span{color:#cdbd9e;font-size:10px}
.gs-membership.is-neutral{background:rgba(255,176,0,.12);color:#ffd57b}

/* Inputs and buttons: stronger contrast, no disappearing white-on-texture labels. */
.gs-form label,.gs-decision-form label{color:#ead7b2!important;font-size:11px!important;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.gs-form input,.gs-form textarea,.gs-decision-form textarea,.gs-player-search,.gs-player-stat-search input{
  border:1px solid rgba(255,209,117,.24)!important;background:rgba(9,10,9,.78)!important;color:#fff0cf!important;
  box-shadow:inset 0 2px 7px rgba(0,0,0,.34)!important
}
.gs-form input:focus,.gs-player-search:focus,.gs-player-stat-search input:focus{outline:2px solid rgba(255,176,0,.34)!important;outline-offset:1px}
.gs-btn{min-height:40px!important;padding:9px 15px!important;color:#f6e5c2!important;font-size:11px!important;text-shadow:0 1px 2px rgba(0,0,0,.75)!important}
.gs-btn-large{min-height:45px!important;font-size:12px!important}
.gs-btn-primary{color:#281700!important;text-shadow:none!important;font-weight:700!important}
.gs-btn-discord{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.42)!important;background:linear-gradient(#6673ff,#4d59d9)!important}
.gs-btn-ghost{background:rgba(7,8,8,.70)!important;border-color:rgba(238,210,160,.22)!important;color:#f0dfbd!important}
.gs-account-actions .gs-btn{min-width:86px}

/* Whitelist and notices get breathing room. */
.gs-whitelist-profile-body{padding:18px!important}.gs-profile-whitelist-wrap .gs-panel{overflow:hidden}
.gs-notice-warning{border:1px solid rgba(255,176,0,.38);background:#33230b;color:#ffe1a0}

/* Server status: amber means "Statistica says active, direct ping is not possible" — not a false red offline state. */
.gs-status-pill.is-unverified{background:rgba(255,176,0,.16)!important;color:#ffd36d!important}
.gs-status-pill.is-pending{background:rgba(123,139,144,.14)!important;color:#cfd8da!important}
.gs-sync-indicator.is-error span{color:#ffaaa9}

/* Keep text clear over pixel textures. */
.gs-panel-body,.gs-status-layout,.gs-statistica-body,.gs-whitelist-profile-body{color:#e8d8b9}
.gs-server-facts dt{color:#c7b794}.gs-server-facts dd{color:#f1dfbc}
.gs-empty-inline{color:#d2c2a4}
.gs-panel-title h2{color:#ffe9bb!important}

@media(max-width:700px){
  .gs-profile-hero{align-items:flex-start;flex-direction:row;padding:16px}
  .gs-profile-avatar-large{width:96px!important;height:96px!important}
  .gs-profile-avatar-edit{font-size:26px}
}

/* =========================================================
   Grindstone Hub 0.7.0 — layout, leaderboards & readability
   ========================================================= */
:root{
  --gs-iron:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/iron_block.png");
  --gs-copper:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/copper_block.png");
  --gs-amethyst:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/amethyst_block.png");
}

/* Dashboard: no fixed-height overlaps. */
.gs-dashboard{grid-template-rows:auto auto!important;gap:16px!important;padding-bottom:28px!important}
.gs-hero{min-height:250px!important}
.gs-grid-main{grid-template-rows:minmax(225px,auto) minmax(355px,auto)!important;gap:16px!important;align-items:stretch}
.gs-panel{min-height:0}
.gs-statistica-card{overflow:visible!important}
.gs-statistica-body{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column;gap:16px!important;padding:16px!important}
.gs-recent-advancements{min-height:155px!important}
.gs-recent-adv-grid{height:auto!important;min-height:0;gap:10px!important}
.gs-home-stats{gap:10px!important;margin-top:2px}
.gs-home-stats .gs-stat-box{min-height:82px!important;padding:12px 14px!important;gap:12px!important}
.gs-home-stats .gs-stat-box small{font-size:10px!important;line-height:1.2!important;color:#e4d1aa!important}
.gs-home-stats .gs-stat-box strong{font-size:21px!important;line-height:1.05!important;color:#fff0c8!important}
.gs-home-stats .gs-stat-icon{width:42px!important;height:42px!important}
.gs-recent-adv-inner{min-height:70px}
.gs-events-card .gs-panel-body,.gs-online-list .gs-panel-body{min-height:150px}

/* Account/Discord: remove barrel repetition. */
.gs-hero-account{
  background:linear-gradient(rgba(22,24,23,.45),rgba(7,8,8,.68)),var(--gs-blackstone)!important;
  background-size:auto,58px 58px!important;
  border-color:rgba(213,181,111,.26)!important;
}
.gs-discord-card{
  background:linear-gradient(rgba(44,28,55,.24),rgba(9,9,11,.72)),var(--gs-blackstone)!important;
  background-size:auto,58px 58px!important;
  border-color:rgba(158,114,204,.28)!important;
}
.gs-discord-card .gs-panel-title{box-shadow:inset 4px 0 rgba(170,116,224,.56),inset 0 -1px rgba(255,176,0,.15)}

/* Stronger profile hierarchy and controls. */
.gs-profile-page{gap:20px!important;padding-bottom:70px!important}
.gs-profile-hero{padding:30px 34px!important;min-height:185px}
.gs-profile-hero-copy .gs-kicker{font-size:13px!important}
.gs-profile-hero-copy h1{font-size:38px!important;line-height:1!important;margin:4px 0 9px!important}
.gs-profile-hero-copy p{font-size:14px!important;line-height:1.5!important;max-width:720px}
.gs-profile-grid{gap:18px!important}
.gs-profile-grid .gs-panel-title{min-height:58px}
.gs-profile-grid .gs-panel-title h2{font-size:18px!important}
.gs-form{gap:16px!important;padding:20px!important}
.gs-form label{font-size:12px!important}
.gs-form input,.gs-form textarea{min-height:46px!important;font-size:14px!important;padding:12px 13px!important}
.gs-profile-connection{padding:20px!important;gap:16px!important}
.gs-profile-connection img{width:86px!important;height:86px!important}
.gs-profile-connection strong{font-size:22px!important}
.gs-profile-connection small{font-size:12px!important}
.gs-membership{font-size:10px!important;padding:5px 8px!important}
.gs-profile-discord-actions{padding:0 20px 20px!important;gap:10px!important}
.gs-profile-discord-actions .gs-btn,.gs-profile-edit-card .gs-btn{font-size:13px!important;min-height:46px!important}
.gs-profile-whitelist-wrap{margin-top:2px!important;padding-bottom:34px!important}
.gs-whitelist-profile-body{padding:22px!important;font-size:13px!important;line-height:1.55}

/* Advancement filtering & sorting. */
.gs-adv-section{margin-top:18px}
.gs-adv-section-head{gap:20px!important;padding:18px 20px!important}
.gs-adv-section-head h2{font-size:27px!important;margin:2px 0!important}
.gs-adv-section-head p{font-size:12px!important;margin:3px 0 0!important}
.gs-adv-controls{display:flex;align-items:end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.gs-adv-controls label{display:grid;gap:5px;color:#e6d1a7;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.gs-adv-controls select{
  min-width:148px;height:38px;border:1px solid rgba(255,211,123,.24);border-radius:4px;
  background:rgba(7,8,8,.78);color:#f7e7c3;padding:0 10px;font-size:11px;font-weight:600
}
.gs-adv-toolbar{display:flex;gap:6px}
.gs-filter{min-height:38px!important;padding:0 12px!important;font-size:11px!important}
.gs-adv-grid{gap:12px!important}
.gs-adv-inner{min-height:112px!important;padding:14px!important}
.gs-adv-copy h3{font-size:18px!important}.gs-adv-copy p{font-size:11px!important;line-height:1.45!important}.gs-adv-kind{font-size:9px!important}
.gs-progress{height:7px!important}

/* Global stats page: one substantial selectable leaderboard. */
.gs-stats-page{padding-bottom:64px!important}
.gs-stats-heading{min-height:150px!important;padding:24px 28px!important}
.gs-stats-heading h1{font-size:38px!important;margin:3px 0!important}.gs-stats-heading p{font-size:14px!important}
.gs-global-stat-overview{margin:16px 0 18px!important;gap:11px!important}
.gs-stat-detail-card{min-height:86px!important;padding:13px 15px!important}
.gs-stat-detail-card span{font-size:10px!important}.gs-stat-detail-card strong{font-size:21px!important}
.gs-leaderboard-stage{padding:0!important;overflow:hidden!important}
.gs-leaderboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:2px solid rgba(0,0,0,.38);background:linear-gradient(rgba(20,20,20,.43),rgba(8,8,8,.60)),var(--gs-cobble);background-size:auto,52px 52px}
.gs-leaderboard-toolbar h2{margin:1px 0!important;font-size:27px!important;color:#fff0c8!important}
.gs-leaderboard-toolbar label{display:grid;gap:5px;color:#e6d1a7;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.gs-leaderboard-toolbar select{min-width:280px;height:42px;padding:0 12px;border:1px solid rgba(255,176,0,.32);border-radius:5px;background:#101313;color:#ffedc4;font-size:12px;font-weight:600}
.gs-big-leaderboard{list-style:none!important;margin:0!important;padding:14px!important;display:grid;gap:9px;background:linear-gradient(rgba(19,22,21,.58),rgba(7,9,9,.78)),var(--gs-tuff);background-size:auto,58px 58px}
.gs-big-leaderboard li{position:relative;isolation:isolate;display:grid;grid-template-columns:58px 54px 1fr auto;align-items:center;gap:12px;min-height:72px;padding:9px 14px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:rgba(10,12,12,.66);overflow:hidden}
.gs-big-leaderboard li:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(rgba(21,23,22,.72),rgba(7,9,8,.78)),var(--gs-stone);background-size:auto,48px 48px}
.gs-big-leaderboard li.is-place-1,.gs-big-leaderboard li.is-place-2,.gs-big-leaderboard li.is-place-3{padding:7px 12px;border:0;background-repeat:repeat;background-size:26px 26px}
.gs-big-leaderboard li.is-place-1{background-image:var(--gs-gold)}
.gs-big-leaderboard li.is-place-2{background-image:var(--gs-iron)}
.gs-big-leaderboard li.is-place-3{background-image:var(--gs-copper)}
.gs-big-leaderboard li.is-place-1:before,.gs-big-leaderboard li.is-place-2:before,.gs-big-leaderboard li.is-place-3:before{inset:5px;border-radius:3px;background:linear-gradient(rgba(21,23,22,.72),rgba(7,9,8,.80)),var(--gs-stone);background-size:auto,48px 48px}
.gs-rank-frame{display:grid;place-items:center;width:46px;height:46px;border-radius:4px;background:rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.1)}
.gs-rank-frame span{font-family:var(--gs-font);font-size:22px;color:#ffe2a1}
.gs-big-leaderboard img{width:54px!important;height:54px!important;border-radius:4px}
.gs-leader-name{font-size:17px!important;color:#ffe8b4!important}.gs-leader-value{font-size:19px!important;color:#ffd06b!important;white-space:nowrap}

/* Events: moderation affordance and creator line. */
.gs-panel-actions{display:flex;align-items:center;gap:9px}.gs-review-action{color:#ffd36d!important;padding:6px 9px!important;border:1px solid rgba(255,176,0,.32)!important;border-radius:4px!important;background:rgba(255,176,0,.09)!important}
.gs-event-item small{font-size:9px!important;color:#d2bd95!important}.gs-event-item strong{font-size:14px!important;color:#ffe8b1!important}
.gs-event-review-card{width:min(820px,calc(100vw - 30px))!important;background:linear-gradient(rgba(28,30,29,.48),rgba(8,10,9,.72)),var(--gs-tuff)!important;background-size:auto,58px 58px!important}
.gs-event-review-list{display:grid;gap:10px;max-height:62vh;overflow:auto;margin-top:16px}.gs-event-review-item{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:5px;background:rgba(0,0,0,.28)}
.gs-event-review-item strong{font-size:17px!important;color:#ffe6ad!important}.gs-event-review-item small{display:block;margin:3px 0;color:#d5c29c}.gs-event-review-item p{margin:6px 0 0!important;font-size:11px!important}
.gs-event-review-item .gs-inline-actions{padding:0!important;align-items:center}

/* Live indicator: informative, not visually dominant. */
.gs-sync-indicator.is-error{opacity:.82}.gs-sync-indicator.is-error span{color:#ffc1bf!important}

@media(max-width:980px){
  .gs-grid-main{grid-template-rows:auto!important}
  .gs-adv-controls{justify-content:flex-start}
  .gs-leaderboard-toolbar{align-items:flex-start;flex-direction:column}.gs-leaderboard-toolbar label,.gs-leaderboard-toolbar select{width:100%}
}
@media(max-width:700px){
  .gs-profile-hero{min-height:0}.gs-profile-hero-copy h1{font-size:30px!important}.gs-profile-hero-copy p{font-size:12px!important}
  .gs-adv-controls{width:100%;align-items:stretch;flex-direction:column}.gs-adv-controls label,.gs-adv-controls select{width:100%}.gs-adv-toolbar{width:100%}.gs-filter{flex:1}
  .gs-big-leaderboard li{grid-template-columns:42px 46px 1fr;gap:9px}.gs-big-leaderboard img{width:46px!important;height:46px!important}.gs-leader-value{grid-column:3;justify-self:start;font-size:15px!important}
  .gs-event-review-item{grid-template-columns:1fr}
}

/* ========================================================================== */
/* Grindstone Hub 0.8.0 — readability, dashboard activity, event UX, search  */
/* ========================================================================== */
:root{
  --gs-mossy-stone:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/mossy_stone_bricks.png");
  --gs-andesite:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/polished_andesite.png");
  --gs-cut-copper:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/cut_copper.png");
}

/* Larger, rem-based type scale for interactive UI. */
.gs-shell{font-size:1rem;line-height:1.45}
.gs-kicker{font-size:.76rem!important;letter-spacing:.14em!important;margin-bottom:.35rem!important}
.gs-panel-title{min-height:3.4rem!important;padding:0 1rem!important}
.gs-panel-title h2{font-size:1.05rem!important;line-height:1!important}
.gs-panel-title a,.gs-panel-action{font-size:.82rem!important;line-height:1.2!important}
.gs-btn{
  min-height:3rem!important;
  padding:.72rem 1.05rem!important;
  font-size:.92rem!important;
  line-height:1!important;
  letter-spacing:.035em!important;
}
.gs-btn-large{min-height:3.2rem!important;font-size:1rem!important;padding:.82rem 1.2rem!important}
.gs-copy-address{font-size:.82rem!important}
.gs-server-facts dt{font-size:.74rem!important}.gs-server-facts dd{font-size:.9rem!important}
.gs-status-pill{font-size:.72rem!important;padding:.42rem .65rem!important}
.gs-empty-inline{font-size:.9rem!important;line-height:1.5!important}
.gs-nav a{font-size:.9rem!important}
.gs-nav-account-card strong{font-size:.88rem!important}.gs-nav-account-card small{font-size:.72rem!important}
.gs-sync-indicator{font-size:.73rem!important}

/* Hero = logo / recent advancements / account. */
.gs-hero-three-col{
  display:grid!important;
  grid-template-columns:minmax(15rem,.82fr) minmax(25rem,1.28fr) minmax(18rem,.82fr)!important;
  align-items:stretch!important;
  gap:1rem!important;
  min-height:17rem!important;
  padding:1.25rem!important;
}
.gs-hero-logo-wrap{padding:.75rem!important;justify-content:center!important}
.gs-hero-logo-image{width:min(30rem,100%)!important;max-height:9.5rem!important}
.gs-hero-tags{margin-top:.85rem!important}.gs-hero-tags span{font-size:.72rem!important;padding:.42rem .68rem!important}
.gs-hero-account{width:auto!important;min-width:0!important}
.gs-hero-account-body{padding:1rem!important}

.gs-hero-activity{
  position:relative;
  z-index:2;
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:.8rem;
  border:1px solid rgba(255,214,125,.18);
  border-radius:.42rem;
  background:linear-gradient(rgba(26,29,27,.48),rgba(8,10,9,.72)),var(--gs-andesite);
  background-size:auto,3.4rem 3.4rem;
  box-shadow:inset 0 0 1.8rem rgba(0,0,0,.28),0 .8rem 1.6rem rgba(0,0,0,.2);
}
.gs-hero-activity-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.15rem .2rem .55rem}
.gs-hero-activity-head .gs-kicker{margin:0!important}
.gs-hero-activity-head small{font-size:.72rem;color:#c9b98f}
.gs-hero-advancements{min-height:0;flex:1;display:flex;align-items:stretch}
.gs-hero-adv-list{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:.45rem;width:100%;min-height:0}

/* One advancement visual language everywhere. Texture frame + themed inside. */
.gs-adv-frame{
  position:relative;
  padding:.28rem!important;
  border:0!important;
  border-radius:.38rem!important;
  background-repeat:repeat!important;
  background-size:1.8rem 1.8rem!important;
  box-shadow:0 .5rem 1.1rem rgba(0,0,0,.24)!important;
}
.gs-adv-task{background-image:var(--gs-emerald)!important}
.gs-adv-challenge{background-image:var(--gs-netherite)!important}
.gs-adv-goal{background-image:var(--gs-gold)!important}
.gs-adv-shared-inner{
  border:1px solid rgba(0,0,0,.58)!important;
  border-radius:.22rem!important;
  background:linear-gradient(rgba(53,31,13,.24),rgba(15,9,5,.6)),var(--gs-stripped-oak)!important;
  background-size:auto,2.8rem 2.8rem!important;
}
.gs-adv-challenge .gs-adv-shared-inner{
  background:linear-gradient(rgba(40,19,56,.34),rgba(9,6,14,.7)),var(--gs-crying)!important;
  background-size:auto,2.8rem 2.8rem!important;
}
.gs-adv-goal .gs-adv-shared-inner{
  background:linear-gradient(rgba(43,43,37,.28),rgba(12,12,10,.66)),var(--gs-stone)!important;
  background-size:auto,2.8rem 2.8rem!important;
}
.gs-hero-adv-item{min-height:0!important;overflow:hidden}
.gs-hero-adv-inner{height:100%;display:grid;grid-template-columns:2.8rem 2.55rem 1fr;align-items:center;gap:.58rem;padding:.55rem .62rem!important;min-width:0}
.gs-hero-adv-avatar{width:2.8rem!important;height:2.8rem!important;border-radius:.22rem;image-rendering:pixelated;background:#171717}
.gs-hero-adv-icon{width:2.5rem!important;height:2.5rem!important;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 .16rem .16rem rgba(0,0,0,.6))}
.gs-hero-adv-copy{min-width:0;display:flex;flex-direction:column;line-height:1.18}
.gs-hero-adv-copy small{font-size:.64rem!important;color:#b9ac91;white-space:nowrap}
.gs-hero-adv-copy strong{font-size:.88rem!important;color:#ffe2a4!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-hero-adv-copy span{font-size:.78rem!important;color:#efe1c3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-adv-refresh-slide .gs-hero-adv-item{animation:gsAdvRefresh .56s cubic-bezier(.22,.84,.34,1) both;animation-delay:var(--gs-adv-delay,0ms)}
@keyframes gsAdvRefresh{0%{opacity:0;transform:translateX(1.6rem)}100%{opacity:1;transform:translateX(0)}}

/* Main dashboard spacing and distinct online texture. */
.gs-dashboard{gap:1rem!important;padding-bottom:2rem!important}
.gs-grid-main{gap:1rem!important;grid-template-rows:minmax(14.5rem,auto) minmax(23rem,auto)!important}
.gs-panel-body{padding:1rem!important}
.gs-online-list .gs-panel-body{
  background:linear-gradient(rgba(25,33,28,.68),rgba(7,11,9,.82)),var(--gs-mossy-stone)!important;
  background-size:auto,3.5rem 3.5rem!important;
}
.gs-online-list .gs-player-row{
  background:linear-gradient(rgba(20,24,21,.58),rgba(6,8,7,.76)),var(--gs-andesite)!important;
  background-size:auto,2.9rem 2.9rem!important;
  border:1px solid rgba(137,182,130,.16)!important;
}
.gs-player-row span{font-size:.88rem!important}
.gs-player-row img{image-rendering:pixelated}

/* 12 useful dashboard stats. */
.gs-statistica-body.gs-statistica-only-stats{padding:1rem!important;height:auto!important;display:block!important}
.gs-home-stats-12{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.65rem!important;margin:0!important}
.gs-home-stats-12 .gs-stat-box{min-height:5.35rem!important;padding:.75rem .85rem!important;gap:.7rem!important}
.gs-home-stats-12 .gs-stat-box small{font-size:.78rem!important;line-height:1.2!important;color:#ecd7ac!important}
.gs-home-stats-12 .gs-stat-box strong{font-size:1.38rem!important;line-height:1.05!important;color:#fff0c7!important}
.gs-home-stats-12 .gs-stat-icon{width:2.7rem!important;height:2.7rem!important;font-size:1.15rem!important}

/* Community quick search — explicit display override so Divi/theme CSS cannot defeat hidden state. */
.gs-player-tile.is-search-hidden{display:none!important}
.gs-search-empty{margin-top:1rem;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:.38rem;background:rgba(0,0,0,.28);font-size:.95rem;color:#d9c9aa}
.gs-search-empty[hidden]{display:none!important}
.gs-player-search{font-size:.95rem!important;min-height:3rem!important;padding:.72rem .9rem!important}
.gs-player-tile strong{font-size:1rem!important}.gs-player-tile small{font-size:.75rem!important}

/* Event modal: intentional layout, no overlapping labels/fields. */
.gs-event-dialog-card{width:min(48rem,calc(100vw - 2rem))!important;padding:1.5rem!important}
.gs-event-form-copy{padding-right:2.4rem;margin-bottom:1.15rem}
.gs-event-form-copy h2{font-size:2rem!important;line-height:1.05!important;margin:.2rem 0 .55rem!important;color:#fff0c7!important}
.gs-event-form-copy p{font-size:1rem!important;line-height:1.5!important;margin:0!important;color:#e1d1b0!important;max-width:42rem}
.gs-event-form{display:grid;gap:1.1rem}
.gs-event-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.gs-event-field{display:grid!important;gap:.45rem!important;min-width:0;color:#f3dfb8!important;font-size:.92rem!important;font-weight:600!important}
.gs-event-field>span{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#ffd16c}
.gs-event-field-title,.gs-event-field-description{grid-column:1/-1}
.gs-event-field input,.gs-event-field textarea{
  width:100%!important;
  min-width:0!important;
  min-height:3.1rem!important;
  margin:0!important;
  padding:.78rem .9rem!important;
  border:1px solid rgba(255,213,125,.3)!important;
  border-radius:.38rem!important;
  background:rgba(8,9,8,.78)!important;
  color:#fff2d0!important;
  font-size:1rem!important;
  line-height:1.35!important;
  box-shadow:inset 0 0 0 .08rem rgba(0,0,0,.35)!important;
}
.gs-event-field textarea{min-height:8.5rem!important;resize:vertical!important}
.gs-event-field input:focus,.gs-event-field textarea:focus{outline:.14rem solid rgba(255,176,0,.5)!important;outline-offset:.08rem!important;border-color:#ffb000!important}
.gs-event-form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.1rem}
.gs-event-form-footer small{font-size:.78rem;color:#c7b793}
.gs-dialog-x{width:2.6rem!important;height:2.6rem!important;font-size:1.55rem!important}
.gs-dialog-card h2{font-size:2rem!important}

/* Published event cards: readable on the dashboard. */
.gs-event-grid{gap:.7rem!important}
.gs-event-item{padding:.8rem!important;gap:.85rem!important}
.gs-event-date{min-width:3.5rem!important;padding:.55rem!important}
.gs-event-date b{font-size:1.45rem!important;line-height:1!important}.gs-event-date span{font-size:.7rem!important}
.gs-event-item strong{font-size:1.02rem!important;line-height:1.15!important}
.gs-event-item small{font-size:.74rem!important;line-height:1.35!important;margin-top:.15rem!important}
.gs-event-item p{font-size:.88rem!important;line-height:1.42!important;margin:.4rem 0 0!important;color:#eadabd!important}

/* Stats page: cards are real controls and drive the leaderboard below. */
button.gs-stat-detail-card{
  appearance:none;
  width:100%;
  text-align:left;
  cursor:pointer;
  font:inherit;
  color:inherit;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}
button.gs-stat-detail-card:hover{transform:translateY(-.12rem);border-color:rgba(255,176,0,.52)!important;filter:brightness(1.07)}
button.gs-stat-detail-card:focus-visible{outline:.16rem solid #ffb000;outline-offset:.15rem}
button.gs-stat-detail-card.is-selected{border-color:#ffb000!important;box-shadow:0 0 0 .12rem rgba(255,176,0,.24),0 .7rem 1.5rem rgba(0,0,0,.24)!important}
.gs-stat-detail-card span{font-size:.8rem!important}.gs-stat-detail-card strong{font-size:1.45rem!important}.gs-stat-detail-card small{display:block;margin-top:.3rem;color:#bcae91;font-size:.68rem}
.gs-leaderboard-toolbar label{font-size:.78rem!important}.gs-leaderboard-toolbar select{font-size:.92rem!important}
.gs-big-leaderboard .gs-leader-name{font-size:1.05rem!important}.gs-big-leaderboard .gs-leader-value{font-size:1.12rem!important}

/* Full player advancement cards — same frame/background system as hero activity. */
.gs-adv-inner{min-height:7.4rem!important;padding:.9rem!important;grid-template-columns:4.2rem 1fr 1.8rem!important;gap:.85rem!important}
.gs-adv-icon{width:4rem!important;height:4rem!important}.gs-adv-icon img{max-width:3.7rem!important;max-height:3.7rem!important}
.gs-adv-kind{font-size:.72rem!important}.gs-adv-copy h3{font-size:1.15rem!important}.gs-adv-copy p{font-size:.83rem!important;line-height:1.45!important}.gs-adv-copy small{font-size:.72rem!important}
.gs-adv-controls label{font-size:.75rem!important}.gs-adv-controls select{font-size:.88rem!important;min-height:2.65rem!important}.gs-filter{font-size:.86rem!important;min-height:2.65rem!important}

/* Slightly larger profile text/controls. */
.gs-profile-hero-copy .gs-kicker{font-size:.8rem!important}.gs-profile-hero-copy h1{font-size:2.5rem!important}.gs-profile-hero-copy p{font-size:1rem!important}
.gs-profile-grid .gs-panel-title h2{font-size:1.1rem!important}
.gs-form label{font-size:.86rem!important}.gs-form input,.gs-form textarea{font-size:.95rem!important}
.gs-profile-connection strong{font-size:1.35rem!important}.gs-profile-connection small{font-size:.82rem!important}.gs-membership{font-size:.72rem!important}
.gs-whitelist-profile-body{font-size:.92rem!important}

@media(max-width:1200px){
  .gs-hero-three-col{grid-template-columns:minmax(14rem,.8fr) minmax(20rem,1.2fr) minmax(17rem,.8fr)!important}
  .gs-home-stats-12{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:980px){
  .gs-hero-three-col{grid-template-columns:1fr 1fr!important}
  .gs-hero-logo-wrap{grid-column:1}.gs-hero-account{grid-column:2}.gs-hero-activity{grid-column:1/-1;grid-row:2}
  .gs-hero-adv-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}
  .gs-event-form-grid{grid-template-columns:1fr}.gs-event-field-title,.gs-event-field-description{grid-column:1}
}
@media(max-width:700px){
  .gs-hero-three-col{display:flex!important;flex-direction:column!important}
  .gs-hero-adv-list{grid-template-columns:1fr;grid-template-rows:repeat(3,auto)}
  .gs-home-stats-12{grid-template-columns:1fr 1fr!important}
  .gs-event-form-footer{align-items:stretch;flex-direction:column}.gs-event-form-footer .gs-btn{width:100%}
}

/* ========================================================================== */
/* Grindstone Hub 0.10.0 — central live cache, activity scroller, events, skins */
/* ========================================================================== */
:root{
  --gs-dark-oak:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/dark_oak_planks.png");
  --gs-iron:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/iron_block.png");
}

/* The old bright line under the sticky header looked like a stray separator. */
.gs-topbar{
  border-bottom:0!important;
  box-shadow:0 .45rem 1.35rem rgba(0,0,0,.48),inset 0 -.08rem rgba(0,0,0,.62)!important;
}

/* Dashboard activity: show three rows, keep ten available in a Minecraft-like scroll area. */
.gs-hero-advancements{
  display:block!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  min-height:0!important;
  max-height:13.1rem!important;
  padding-right:.38rem;
  scrollbar-width:thin;
  scrollbar-color:#c6c6c6 #171717;
  overscroll-behavior:contain;
}
.gs-hero-advancements::-webkit-scrollbar{width:.82rem}
.gs-hero-advancements::-webkit-scrollbar-track{
  background:linear-gradient(rgba(8,8,8,.56),rgba(8,8,8,.78)),var(--gs-blackstone);
  background-size:auto,1.6rem 1.6rem;
  border:.08rem solid rgba(0,0,0,.72);
}
.gs-hero-advancements::-webkit-scrollbar-thumb{
  background:linear-gradient(rgba(255,255,255,.07),rgba(0,0,0,.12)),var(--gs-iron);
  background-size:auto,1.25rem 1.25rem;
  border:.14rem solid #2d2d2d;
  border-radius:.12rem;
}
.gs-hero-advancements::-webkit-scrollbar-thumb:hover{filter:brightness(1.12)}
.gs-hero-adv-list{
  display:flex!important;
  flex-direction:column!important;
  gap:.45rem!important;
  width:100%;
  min-height:0;
}
.gs-hero-adv-item{
  flex:0 0 4.05rem!important;
  min-height:4.05rem!important;
}
.gs-hero-adv-inner{min-height:100%!important}
.gs-adv-refresh-push .gs-hero-adv-item{
  animation:gsAdvPushDown .68s cubic-bezier(.2,.82,.28,1) both;
  animation-delay:var(--gs-adv-delay,0ms);
}
@keyframes gsAdvPushDown{
  0%{opacity:.15;transform:translateY(-4.5rem)}
  72%{opacity:1;transform:translateY(.18rem)}
  100%{opacity:1;transform:translateY(0)}
}

/* Online list: no random mossy brick-on-brick. Andesite field + dark oak player chips. */
.gs-online-list .gs-panel-body{
  background:linear-gradient(rgba(29,31,31,.72),rgba(9,10,10,.84)),var(--gs-andesite)!important;
  background-size:auto,3.2rem 3.2rem!important;
}
.gs-online-list .gs-player-row{
  background:linear-gradient(rgba(54,34,19,.32),rgba(13,9,7,.68)),var(--gs-dark-oak)!important;
  background-size:auto,2.75rem 2.75rem!important;
  border-color:rgba(225,190,130,.18)!important;
}
.gs-online-list .gs-player-row:hover{
  border-color:rgba(37,228,122,.38)!important;
  background:linear-gradient(rgba(33,71,43,.2),rgba(8,12,9,.72)),var(--gs-dark-oak)!important;
}

/* Community detail now has one identity banner only. */
.gs-player-page>.gs-player-hero{margin-bottom:1rem!important}
.gs-player-hero p small{font-size:.78rem;color:#bdae91}
.gs-player-page>.gs-stat-overview{margin-top:0!important}

/* Event cards: actual Minecraft-textured outer frame and high-contrast inner face. */
.gs-event-item{
  display:block!important;
  padding:.28rem!important;
  border:0!important;
  border-radius:.42rem!important;
  background:var(--gs-cut-copper)!important;
  background-size:1.55rem 1.55rem!important;
  box-shadow:0 .65rem 1.3rem rgba(0,0,0,.28)!important;
}
.gs-event-item-inner{
  min-height:5.6rem;
  display:grid;
  grid-template-columns:4.15rem 1fr;
  align-items:stretch;
  gap:.9rem;
  padding:.78rem;
  border:.08rem solid rgba(0,0,0,.72);
  border-radius:.22rem;
  background:linear-gradient(rgba(48,28,13,.28),rgba(12,8,6,.72)),var(--gs-dark-oak);
  background-size:auto,2.9rem 2.9rem;
}
.gs-event-date{
  min-width:4rem!important;
  padding:.62rem!important;
  border:.1rem solid rgba(255,208,112,.38)!important;
  background:rgba(6,7,6,.64)!important;
  box-shadow:inset 0 0 1rem rgba(0,0,0,.45);
}
.gs-event-date b{font-size:1.62rem!important;color:#fff0c8!important}
.gs-event-date span{font-size:.78rem!important;color:#ffc34d!important;font-weight:700}
.gs-event-copy strong{font-size:1.12rem!important;color:#fff0c4!important;text-shadow:0 .08rem .16rem rgba(0,0,0,.8)}
.gs-event-copy small{font-size:.8rem!important;color:#ddc79f!important}
.gs-event-copy p{font-size:.94rem!important;color:#f1dfbd!important;line-height:1.48!important;text-shadow:0 .06rem .12rem rgba(0,0,0,.74)}

/* Event creation dialog gets a copper texture frame, but a calm dark-oak work surface. */
.gs-event-dialog-card{
  border:.34rem solid transparent!important;
  border-radius:.5rem!important;
  background-image:
    linear-gradient(rgba(48,29,13,.36),rgba(10,7,5,.76)),
    var(--gs-dark-oak),
    var(--gs-cut-copper)!important;
  background-size:auto,3.1rem 3.1rem,1.5rem 1.5rem!important;
  background-origin:border-box!important;
  background-clip:padding-box,padding-box,border-box!important;
  box-shadow:0 1.5rem 4rem rgba(0,0,0,.7)!important;
}
.gs-event-form-copy h2{font-size:2.2rem!important}
.gs-event-form-copy p{font-size:1.05rem!important;color:#f0dfbe!important}
.gs-event-field>span{font-size:.9rem!important;color:#ffd36d!important}
.gs-event-field input,.gs-event-field textarea{font-size:1.02rem!important;color:#fff2d3!important}
.gs-event-form-footer small{font-size:.86rem!important;color:#decaa2!important}

/* Buttons are deliberately readable at normal desktop scale. */
.gs-btn,.gs-panel-action{
  font-size:.96rem!important;
  letter-spacing:.035em!important;
}
.gs-panel-action{font-size:.84rem!important}
.gs-btn-large{font-size:1.04rem!important}

/* Skin heads always stay crisp once the local endpoint renders the Mojang texture. */
.gs-mc-avatar{image-rendering:pixelated!important;object-fit:cover!important}

/* Slightly clearer live state without dominating the navigation. */
.gs-sync-indicator{font-size:.78rem!important}

@media(max-width:980px){
  .gs-hero-advancements{max-height:13.1rem!important}
}
@media(max-width:700px){
  .gs-event-item-inner{grid-template-columns:3.6rem 1fr;gap:.7rem;padding:.65rem}
  .gs-event-date{min-width:3.45rem!important}
}


/* ========================================================================== */
/* Grindstone Hub 0.10.0 — layout polish, unified players, whitelist/admin UI */
/* ========================================================================== */

/* Remove the stray-looking separator line below nav/panel headers. */
.gs-topbar{
  border-bottom:0!important;
  box-shadow:0 .65rem 1.4rem rgba(0,0,0,.44)!important;
}
.gs-panel-title,
.gs-leaderboard-toolbar{
  border-bottom:0!important;
  box-shadow:none!important;
}
.gs-panel-title{position:relative;}
.gs-panel-title::after{display:none!important;content:none!important;}

/* Hero activity: exactly around three visible rows, tighter bottom spacing. */
.gs-hero-activity{
  padding:.72rem!important;
}
.gs-hero-activity-head{
  padding:.1rem .15rem .45rem!important;
}
.gs-hero-advancements{
  max-height:13.35rem!important;
  padding:0 .38rem .12rem 0!important;
}
.gs-hero-adv-list{
  gap:.42rem!important;
}
.gs-hero-adv-item{
  flex-basis:4.18rem!important;
  min-height:4.18rem!important;
}
.gs-hero-adv-inner{
  padding:.62rem .7rem!important;
}
.gs-hero-adv-copy{
  text-align:right;
  align-items:flex-end;
}
.gs-hero-adv-copy small{
  font-size:.68rem!important;
}
.gs-hero-adv-copy strong{
  width:100%;
  font-size:.86rem!important;
  color:#d6c8a8!important;
}
.gs-hero-adv-copy span{
  width:100%;
  font-size:1rem!important;
  line-height:1.08!important;
  color:#fff0c3!important;
  font-family:var(--gs-font);
  letter-spacing:.025em;
}

/* Online players: one material language, visible frame, no texture resize on hover. */
.gs-online-list .gs-panel-body{
  background:
    linear-gradient(rgba(24,26,25,.74),rgba(8,10,9,.86)),
    var(--gs-andesite)!important;
  background-size:auto,3.2rem 3.2rem!important;
}
.gs-online-list .gs-player-row,
.gs-community-player-row{
  border:.16rem solid rgba(113,160,101,.34)!important;
  background:
    linear-gradient(rgba(40,31,21,.30),rgba(10,9,7,.70)),
    var(--gs-dark-oak)!important;
  background-size:auto,2.75rem 2.75rem!important;
  box-shadow:inset 0 0 0 .06rem rgba(0,0,0,.58),0 .35rem .8rem rgba(0,0,0,.16)!important;
}
.gs-online-list .gs-player-row:hover,
.gs-community-player-row:hover{
  border-color:rgba(57,230,126,.62)!important;
  background:
    linear-gradient(rgba(34,65,40,.22),rgba(8,12,9,.72)),
    var(--gs-dark-oak)!important;
  background-size:auto,2.75rem 2.75rem!important;
  transform:translateY(-.08rem);
}
.gs-online-list .gs-player-row img,
.gs-community-player-row img{
  image-rendering:pixelated!important;
}

/* Community tiles deliberately mirror dashboard player rows, only larger. */
.gs-community-heading{
  align-items:center!important;
}
.gs-community-tools{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.gs-community-tools .gs-player-search{
  min-width:min(25rem,60vw);
}
.gs-online-only-toggle{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:3rem;
  padding:.55rem .8rem;
  border:.08rem solid rgba(255,209,111,.22);
  border-radius:.35rem;
  background:rgba(0,0,0,.32);
  color:#ead7af;
  font-size:.9rem;
  font-weight:600;
  cursor:pointer;
}
.gs-online-only-toggle input{
  width:1.05rem;
  height:1.05rem;
  accent-color:var(--gs-green);
}
.gs-player-directory-unified{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.8rem!important;
}
.gs-community-player-row{
  min-height:5.3rem!important;
  padding:.62rem .72rem!important;
  display:flex!important;
  align-items:center!important;
  gap:.75rem!important;
}
.gs-player-avatar-frame{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:4rem;
  height:4rem;
  border:.12rem solid rgba(236,211,150,.24);
  background:rgba(0,0,0,.28);
  border-radius:.22rem;
}
.gs-community-player-row .gs-mc-avatar{
  width:3.55rem!important;
  height:3.55rem!important;
}
.gs-community-player-row strong{
  font-size:1.08rem!important;
}
.gs-community-player-row small{
  font-size:.78rem!important;
}
.gs-community-player-row .gs-presence-dot{
  margin-left:auto;
}

/* Server card: use Minecraft's own ping icon and a centered IP chip, no wood slab. */
.gs-server-emblem{
  background:
    linear-gradient(rgba(31,34,33,.48),rgba(10,12,11,.72)),
    var(--gs-tuff)!important;
  background-size:auto,3.1rem 3.1rem!important;
  border:.12rem solid rgba(205,190,151,.20)!important;
  padding:1rem!important;
  gap:.85rem!important;
}
.gs-server-icon-frame{
  width:6.15rem;
  height:6.15rem;
  display:grid;
  place-items:center;
  padding:.35rem;
  background:rgba(0,0,0,.35);
  border:.12rem solid rgba(255,209,111,.25);
  box-shadow:inset 0 0 1rem rgba(0,0,0,.5);
}
.gs-server-icon-frame img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  image-rendering:pixelated;
}
.gs-server-ip-box{
  width:100%;
  max-width:14rem;
  display:grid;
  gap:.35rem;
  justify-items:center;
  padding:.58rem .7rem;
  border:.09rem solid rgba(255,208,101,.24);
  border-radius:.25rem;
  background:rgba(5,6,6,.56);
  text-align:center;
}
.gs-server-ip-box strong{
  width:100%;
  font-size:1rem!important;
  text-align:center;
  color:#fff0c8!important;
}
.gs-copy-address{
  margin:0!important;
  font-size:.8rem!important;
}

/* Whitelist controls in account card. */
.gs-btn-whitelist{
  background:linear-gradient(#3dbb73,#168747)!important;
  color:#08170d!important;
  border-color:rgba(113,255,166,.34)!important;
}
.gs-whitelist-mini{
  padding:.35rem .55rem;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  font-size:.76rem!important;
}
.gs-whitelist-mini.is-approved{background:rgba(37,228,122,.13);color:#8df3b6!important}
.gs-whitelist-mini.is-waiting{background:rgba(255,176,0,.14);color:#ffd477!important}
.gs-whitelist-mini.is-denied{background:rgba(255,95,99,.13);color:#ffb0b2!important}

/* Events: stronger typography and a frame that reads as intentional. */
.gs-event-item{
  padding:.34rem!important;
  background:var(--gs-cut-copper)!important;
  background-size:1.35rem 1.35rem!important;
  box-shadow:0 .8rem 1.5rem rgba(0,0,0,.34)!important;
}
.gs-event-item-inner{
  min-height:6.2rem!important;
  padding:.92rem!important;
  gap:1rem!important;
  background:
    linear-gradient(rgba(35,27,19,.26),rgba(8,7,5,.74)),
    var(--gs-dark-oak)!important;
  background-size:auto,2.85rem 2.85rem!important;
  border:.1rem solid rgba(255,219,142,.12)!important;
}
.gs-event-copy strong{
  font-size:1.28rem!important;
  color:#fff1c9!important;
}
.gs-event-copy small{
  display:block;
  margin-top:.12rem;
  font-size:.86rem!important;
  color:#e5cca0!important;
}
.gs-event-copy p{
  margin-top:.55rem!important;
  font-size:1rem!important;
  color:#f2e4c5!important;
}

/* Admin page foundation. */
.gs-admin-heading{
  margin-bottom:1rem;
}
.gs-admin-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin:1rem 0 .75rem;
  padding:.75rem 1rem;
  border:.1rem solid rgba(255,208,105,.18);
  background:rgba(0,0,0,.26);
}
.gs-admin-section-head h2{
  margin:0!important;
  color:#fff0c5!important;
  font-size:1.6rem!important;
}

/* Make general player profile/stats rhythm a little cleaner. */
.gs-player-page>.gs-player-hero{
  margin-bottom:1.2rem!important;
}
.gs-player-page>.gs-stat-overview{
  margin-bottom:1.2rem!important;
}

@media(max-width:1100px){
  .gs-player-directory-unified{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .gs-community-tools{width:100%;justify-content:stretch}
  .gs-community-tools .gs-player-search{min-width:0;width:100%}
  .gs-online-only-toggle{width:100%;justify-content:center}
  .gs-player-directory-unified{grid-template-columns:1fr!important}
}

/* =========================================================
   Grindstone Hub 0.11.0 — consistency + requested polish
   ========================================================= */
:root{
  --gs-smooth-basalt:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/smooth_basalt.png");
  --gs-iron:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/iron_block.png");
  --gs-stripped-spruce:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/stripped_spruce_log.png");
}

/* Hero: no redundant server/modpack tags. Downloads are access-controlled. */
.gs-hero-logo-wrap{justify-content:center!important;gap:1rem!important}
.gs-hero-tags{display:none!important}
.gs-hero-modpacks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
  width:min(34rem,100%);
  margin-top:.35rem;
}
.gs-modpack-button{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:3.7rem;
  padding:.72rem .9rem;
  border:.13rem solid rgba(255,215,126,.25);
  border-radius:.35rem;
  background:
    linear-gradient(rgba(22,19,14,.34),rgba(8,8,7,.64)),
    var(--gs-stripped-spruce);
  background-size:auto,2.65rem 2.65rem;
  box-shadow:0 .45rem 1rem rgba(0,0,0,.28),inset 0 0 0 .06rem rgba(255,255,255,.05);
  transition:transform .16s ease,filter .16s ease,border-color .16s ease;
}
.gs-modpack-button:hover{transform:translateY(-.08rem);filter:brightness(1.1);border-color:rgba(255,190,64,.64)}
.gs-modpack-button strong{font-size:1rem!important;color:#ffe6a9!important;line-height:1.1}
.gs-modpack-button small{font-size:.76rem!important;color:#d8c7a3!important;margin-top:.18rem;line-height:1.2}
.gs-modpack-button.is-enhanced{border-color:rgba(84,219,156,.28)}
.gs-modpack-button.is-disabled{opacity:.58;cursor:not-allowed;filter:saturate(.55)}

/* Recent advancements: player info stays left; only advancement title/icon are right aligned. */
.gs-hero-activity{padding:.68rem .72rem .58rem!important}
.gs-hero-advancements{
  max-height:12.9rem!important;
  padding:0 .5rem .22rem 0!important;
  margin-bottom:0!important;
  scrollbar-gutter:stable;
}
.gs-hero-adv-list{gap:.38rem!important;padding-bottom:.04rem!important}
.gs-hero-adv-item{flex-basis:4.05rem!important;min-height:4.05rem!important;margin:0!important}
.gs-hero-adv-inner{
  height:100%!important;
  display:grid!important;
  grid-template-columns:2.75rem minmax(5rem,1fr) minmax(10rem,1.55fr)!important;
  align-items:center!important;
  gap:.62rem!important;
  padding:.58rem .7rem .7rem!important;
}
.gs-hero-adv-meta{min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;line-height:1.12}
.gs-hero-adv-meta small{font-size:.67rem!important;color:#baaF95!important;white-space:nowrap}
.gs-hero-adv-meta strong{font-size:.9rem!important;color:#ffe3a8!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.gs-hero-adv-title{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;text-align:right;margin-left:auto}
.gs-hero-adv-title span{font-family:var(--gs-font);font-size:1.08rem!important;line-height:1.05;color:#fff0c4!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gs-hero-adv-title .gs-hero-adv-icon{flex:0 0 2.55rem;width:2.55rem!important;height:2.55rem!important;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 .12rem .16rem rgba(0,0,0,.62))}
.gs-hero-adv-avatar{width:2.75rem!important;height:2.75rem!important}

/* Player list: one material system on dashboard and community. */
.gs-online-list .gs-panel-body{
  background:
    linear-gradient(rgba(18,20,20,.7),rgba(7,9,9,.84)),
    var(--gs-smooth-basalt)!important;
  background-size:auto,3rem 3rem!important;
}
.gs-online-list .gs-player-row,
.gs-community-player-row{
  border:.14rem solid rgba(215,202,171,.28)!important;
  background:
    linear-gradient(rgba(37,27,17,.2),rgba(9,8,6,.68)),
    var(--gs-stripped-spruce)!important;
  background-size:auto,2.75rem 2.75rem!important;
  box-shadow:inset 0 0 0 .06rem rgba(0,0,0,.72),0 .35rem .8rem rgba(0,0,0,.18)!important;
}
.gs-online-list .gs-player-row:hover,
.gs-community-player-row:hover{
  border-color:rgba(255,184,42,.62)!important;
  background:
    linear-gradient(rgba(62,42,18,.18),rgba(9,8,6,.65)),
    var(--gs-stripped-spruce)!important;
  background-size:auto,2.75rem 2.75rem!important;
}

/* Server emblem: no wood. Keep icon/IP centered in a deliberate stone module. */
.gs-server-emblem{
  background:
    linear-gradient(rgba(22,24,24,.42),rgba(7,8,8,.76)),
    var(--gs-blackstone)!important;
  background-size:auto,3rem 3rem!important;
  border:.12rem solid rgba(215,202,171,.2)!important;
}
.gs-server-ip-box{margin-inline:auto!important;justify-self:center!important}
.gs-server-ip-box strong{font-size:1.05rem!important;letter-spacing:.02em}

/* Events: friendlier, stronger text and clearer frame. */
.gs-event-item{padding:.38rem!important;border-radius:.38rem!important}
.gs-event-item-inner{padding:1rem 1.05rem!important;min-height:6.6rem!important}
.gs-event-date{min-width:4rem;border:.12rem solid rgba(255,190,67,.34)!important;background:rgba(4,5,5,.58)!important;box-shadow:inset 0 0 .8rem rgba(0,0,0,.42)}
.gs-event-date b{font-size:1.55rem!important;color:#fff0c6!important}
.gs-event-date span{font-size:.75rem!important;color:#ffbd39!important;font-weight:700}
.gs-event-copy strong{font-size:1.35rem!important;text-shadow:0 .1rem .18rem rgba(0,0,0,.7)}
.gs-event-copy small{font-size:.84rem!important;color:#f0d5a3!important}
.gs-event-copy p{font-size:1rem!important;line-height:1.45!important;color:#fff0d0!important;text-shadow:0 .08rem .14rem rgba(0,0,0,.55)}

/* Admin whitelist reads like site/community data, never raw implementation IDs. */
.gs-whitelist-request dl div{align-items:center!important;padding:.45rem 0!important}
.gs-whitelist-request dt{font-size:.78rem!important;color:#d8c9a9!important}
.gs-whitelist-request dd{font-size:.82rem!important;color:#fff0cc!important;text-align:right;overflow-wrap:anywhere}

@media(max-width:900px){
  .gs-hero-modpacks{grid-template-columns:1fr;width:100%}
  .gs-hero-adv-inner{grid-template-columns:2.7rem minmax(4.5rem,1fr) minmax(8rem,1.25fr)!important}
}
@media(max-width:650px){
  .gs-hero-adv-inner{grid-template-columns:2.7rem 1fr!important}
  .gs-hero-adv-title{grid-column:1/-1;width:100%;justify-content:flex-end;padding-left:3.3rem}
}

/* =========================================================
   Grindstone Hub 1.0.0 — final pre-admin-panel polish
   ========================================================= */
:root{
  --gs-polished-andesite:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/polished_andesite.png");
}

/* Recent advancements: keep avatar comfortably inside the textured frame. */
.gs-hero-adv-inner{
  padding:.62rem .82rem .72rem 1.08rem!important;
}
.gs-hero-adv-avatar{
  margin-left:.06rem!important;
}

/* Online list: one material only below the shared panel header. */
.gs-online-list{
  background:
    linear-gradient(rgba(24,27,26,.48),rgba(8,10,10,.70)),
    var(--gs-stone)!important;
  background-size:auto,3.2rem 3.2rem!important;
}
.gs-online-list .gs-panel-body{
  min-height:0!important;
  height:calc(100% - 3.125rem)!important;
  background:
    linear-gradient(rgba(28,31,30,.28),rgba(10,12,12,.44)),
    var(--gs-stone)!important;
  background-size:auto,3.2rem 3.2rem!important;
}
.gs-online-list .gs-player-row{
  border:.13rem solid rgba(225,211,176,.28)!important;
  background:
    linear-gradient(rgba(29,31,30,.42),rgba(9,11,10,.60)),
    var(--gs-stone)!important;
  background-size:auto,3.2rem 3.2rem!important;
  box-shadow:inset 0 0 0 .06rem rgba(0,0,0,.64),0 .28rem .65rem rgba(0,0,0,.16)!important;
}
.gs-online-list .gs-player-row:hover{
  border-color:rgba(255,190,64,.62)!important;
  background:
    linear-gradient(rgba(54,52,42,.28),rgba(10,11,10,.56)),
    var(--gs-stone)!important;
  background-size:auto,3.2rem 3.2rem!important;
  transform:translateY(-.04rem)!important;
}

/* Event modal close control: small, deliberate Minecraft-style button. */
.gs-event-dialog-card .gs-dialog-x{
  top:.72rem!important;
  right:.72rem!important;
  width:2.2rem!important;
  height:2.2rem!important;
  min-width:2.2rem!important;
  min-height:2.2rem!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:.13rem solid rgba(255,210,129,.42)!important;
  border-radius:.22rem!important;
  background:
    linear-gradient(rgba(55,28,14,.26),rgba(14,9,6,.58)),
    var(--gs-cut-copper)!important;
  background-size:auto,1.3rem 1.3rem!important;
  color:#fff1cf!important;
  font-family:var(--gs-font)!important;
  font-size:1.35rem!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:0 .28rem .65rem rgba(0,0,0,.38),inset 0 0 0 .05rem rgba(255,255,255,.08)!important;
  z-index:5!important;
}
.gs-event-dialog-card .gs-dialog-x:hover{
  filter:brightness(1.16)!important;
  transform:translateY(-.03rem)!important;
}

/* Server module: replace the out-of-place blackstone slab with neutral polished stone. */
.gs-server-emblem{
  background:
    linear-gradient(rgba(36,39,38,.38),rgba(10,12,12,.64)),
    var(--gs-polished-andesite)!important;
  background-size:auto,3rem 3rem!important;
  border:.12rem solid rgba(223,211,181,.22)!important;
  box-shadow:inset 0 0 1.25rem rgba(0,0,0,.28)!important;
}
.gs-server-icon-frame{
  background:rgba(7,9,9,.42)!important;
  border-color:rgba(236,222,189,.24)!important;
}
.gs-server-ip-box{
  background:rgba(8,10,10,.50)!important;
  border-color:rgba(255,197,72,.28)!important;
}

/* Account card: its own coherent material family, with state badges together under the header. */
.gs-hero-account{
  background:
    linear-gradient(rgba(47,31,17,.24),rgba(14,10,7,.52)),
    var(--gs-spruce)!important;
  background-size:auto,3.35rem 3.35rem!important;
  border-color:rgba(221,184,111,.30)!important;
}
.gs-hero-account .gs-panel-title{
  background:
    linear-gradient(rgba(35,20,11,.30),rgba(11,7,5,.56)),
    var(--gs-dark-oak)!important;
  background-size:auto,3.15rem 3.15rem!important;
  box-shadow:inset 0 -1px rgba(255,185,62,.20)!important;
}
.gs-hero-account-body{
  justify-content:flex-start!important;
  gap:.85rem!important;
  padding:1rem!important;
}
.gs-account-state-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  flex-wrap:wrap;
  width:100%;
  margin-bottom:.05rem;
}
.gs-account-state-row .gs-membership,
.gs-account-state-row .gs-whitelist-mini{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:1.72rem;
  margin:0!important;
  padding:.34rem .58rem!important;
  border:.08rem solid rgba(255,255,255,.09);
  border-radius:999px!important;
  font-family:var(--gs-font)!important;
  font-size:.70rem!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap;
  text-shadow:0 .06rem .12rem rgba(0,0,0,.65)!important;
}
.gs-account-state-row .gs-membership.is-member,
.gs-account-state-row .gs-whitelist-mini.is-approved{
  border-color:rgba(77,231,139,.28)!important;
  background:rgba(24,112,63,.38)!important;
  color:#a3f5c1!important;
}
.gs-account-state-row .gs-membership.is-not-member,
.gs-account-state-row .gs-whitelist-mini.is-denied{
  border-color:rgba(255,104,110,.25)!important;
  background:rgba(117,33,38,.36)!important;
  color:#ffc0c2!important;
}
.gs-account-state-row .gs-whitelist-mini.is-waiting{
  border-color:rgba(255,190,64,.28)!important;
  background:rgba(125,82,17,.40)!important;
  color:#ffe09a!important;
}
.gs-account-summary{
  align-items:center!important;
  padding:.15rem .1rem!important;
}
.gs-account-summary strong{font-size:1.05rem!important}
.gs-account-summary small{font-size:.72rem!important;color:#dfcfad!important}
.gs-account-actions{gap:.55rem!important;margin-top:auto!important}
.gs-account-actions .gs-btn{min-height:2.55rem!important}

@media(max-width:650px){
  .gs-account-state-row{justify-content:flex-start}
  .gs-hero-adv-inner{padding-left:.86rem!important}
}

/* =========================================================
   Grindstone Hub 1.0.1 — final reliability / readability pass
   ========================================================= */

/* Recent advancements: give the skin head real breathing room from the textured frame. */
.gs-hero-adv-inner{
  padding:.72rem .9rem .78rem 1.5rem!important;
  column-gap:.72rem!important;
}
.gs-hero-adv-avatar{
  margin-left:.08rem!important;
}

/* Events: date/time is a prominent top-right element, with Today/Ongoing state. */
.gs-event-item-inner{
  display:block!important;
  min-height:6.5rem!important;
}
.gs-event-copy{width:100%;min-width:0}
.gs-event-heading-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  width:100%;
}
.gs-event-heading-row>strong{
  flex:1 1 auto;
  min-width:0;
  font-size:1.35rem!important;
  line-height:1.12!important;
}
.gs-event-time{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  padding:.42rem .52rem;
  border:.08rem solid rgba(255,199,84,.30);
  border-radius:.26rem;
  background:rgba(7,8,8,.55);
  box-shadow:inset 0 0 .6rem rgba(0,0,0,.32);
}
.gs-event-time>b{
  color:#ffe5aa!important;
  font-family:var(--gs-font);
  font-size:.92rem!important;
  font-weight:400;
  letter-spacing:.015em;
  white-space:nowrap;
}
.gs-event-time>span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:1.5rem;
  padding:.22rem .44rem;
  border-radius:999px;
  font-size:.68rem!important;
  font-weight:700;
  letter-spacing:.045em;
  white-space:nowrap;
}
.gs-event-time>span.is-today{
  color:#161008;
  background:#ffb21b;
  box-shadow:0 0 .7rem rgba(255,178,27,.25);
}
.gs-event-time>span.is-live{
  color:#06150d;
  background:#46d985;
  box-shadow:0 0 .75rem rgba(70,217,133,.32);
}
.gs-event-copy>small{
  display:block;
  margin-top:.32rem!important;
  font-size:.84rem!important;
}
.gs-event-copy>p{
  margin-top:.55rem!important;
}

/* Profile: make it obvious that the hero image is editable. */
.gs-profile-avatar-editor{position:relative;overflow:visible!important}
.gs-profile-avatar-edit{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.24rem;
}
.gs-profile-avatar-edit b{font-size:2.15rem;line-height:1}
.gs-profile-avatar-edit small{
  font-size:.72rem!important;
  font-weight:700;
  color:#ffe7ad;
  letter-spacing:.02em;
}
.gs-profile-avatar-edit-corner{
  position:absolute;
  right:-.34rem;
  bottom:-.34rem;
  z-index:4;
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border:.13rem solid rgba(255,210,117,.62);
  border-radius:.28rem;
  background:rgba(10,10,9,.92);
  color:#ffc23e;
  font-size:1.15rem;
  font-weight:700;
  box-shadow:0 .3rem .8rem rgba(0,0,0,.5);
  pointer-events:none;
}
.gs-profile-avatar-editor:hover .gs-profile-avatar-edit-corner,
.gs-profile-avatar-editor:focus-within .gs-profile-avatar-edit-corner{opacity:0}

/* Discord profile panel: show actual Discord identity only after a connection exists. */
.gs-discord-connect-state{
  display:flex;
  min-height:9rem;
  flex-direction:column;
  justify-content:center;
  gap:.4rem;
  padding:1.3rem 1.35rem .9rem;
}
.gs-discord-connect-state strong{font-size:1.35rem!important;color:#ffe5ae!important}
.gs-discord-connect-state p{max-width:38rem;margin:0;color:#d8c9ac;font-size:.92rem;line-height:1.45}
.gs-connection-eyebrow{
  display:block;
  color:#bda5df;
  font-size:.7rem!important;
  font-weight:700;
  letter-spacing:.1em;
}
.gs-discord-connected img{
  border:.14rem solid rgba(184,143,235,.5);
  box-shadow:0 .35rem .9rem rgba(0,0,0,.34);
}

/* Keep Event header usable on narrower screens. */
@media(max-width:720px){
  .gs-event-heading-row{flex-direction:column;gap:.55rem}
  .gs-event-time{align-self:flex-start}
  .gs-hero-adv-inner{padding-left:1.08rem!important}
}

/* =========================================================
   Grindstone Hub 1.0.2 — final visual cleanup before Admin Panel
   ========================================================= */

/* Advancement cards: make the distance between the skin head and the
   texture frame unmistakable on every side, not just a few pixels. */
.gs-hero-advancements{
  max-height:14.25rem!important;
  padding:.08rem .42rem .16rem .08rem!important;
}
.gs-hero-adv-list{gap:.42rem!important}
.gs-hero-adv-item{
  flex-basis:4.42rem!important;
  min-height:4.42rem!important;
}
.gs-hero-adv-inner{
  min-height:3.82rem!important;
  grid-template-columns:2.35rem minmax(5rem,1fr) minmax(10rem,1.55fr)!important;
  column-gap:.85rem!important;
  padding:.72rem 1rem .72rem 1.15rem!important;
}
.gs-hero-adv-avatar{
  width:2.35rem!important;
  height:2.35rem!important;
  margin:0!important;
  align-self:center!important;
}

/* Dashboard player list: same card language as Community, just compact. */
.gs-online-list .gs-panel-body{
  position:relative!important;
  isolation:isolate;
  overflow:hidden!important;
  background:#111514!important;
}
.gs-online-list .gs-panel-body::before{
  content:"";
  position:absolute;
  inset:-.2rem;
  z-index:0;
  pointer-events:none;
  background:var(--gs-stone);
  background-size:3.25rem 3.25rem;
  filter:blur(.7px) brightness(.42) saturate(.72);
  opacity:.92;
  transform:scale(1.015);
}
.gs-online-list .gs-panel-body::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(rgba(7,9,8,.32),rgba(4,6,5,.58));
  box-shadow:inset 0 0 2rem rgba(0,0,0,.34);
}
.gs-online-list .gs-panel-body>*{position:relative;z-index:1}
.gs-online-list .gs-online-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.7rem!important;
}
.gs-online-list .gs-dashboard-player-row{
  min-height:4.35rem!important;
  padding:.5rem .62rem!important;
  gap:.68rem!important;
  border:.14rem solid rgba(222,207,169,.26)!important;
  background:
    linear-gradient(rgba(38,40,38,.52),rgba(8,10,9,.67)),
    var(--gs-stone)!important;
  background-size:auto,3rem 3rem!important;
  box-shadow:inset 0 0 0 .06rem rgba(0,0,0,.68),0 .35rem .82rem rgba(0,0,0,.18)!important;
}
.gs-online-list .gs-dashboard-player-row:hover{
  border-color:rgba(255,184,42,.58)!important;
  background:
    linear-gradient(rgba(50,49,40,.45),rgba(8,10,9,.63)),
    var(--gs-stone)!important;
  background-size:auto,3rem 3rem!important;
  transform:translateY(-.04rem)!important;
}
.gs-dashboard-player-row .gs-player-avatar-frame{
  width:3.1rem!important;
  height:3.1rem!important;
}
.gs-dashboard-player-row .gs-mc-avatar{
  width:2.7rem!important;
  height:2.7rem!important;
}
.gs-dashboard-player-row strong{font-size:1rem!important}
.gs-dashboard-player-row small{font-size:.72rem!important;color:#d1c4a8!important}
.gs-dashboard-player-row .gs-presence-dot{margin-left:auto!important}

/* Stat cards are self-explanatory and clickable: no repetitive helper copy. */
.gs-stat-pick>small{display:none!important}

/* Leaderboard values should read as the actual result, not metadata. */
.gs-big-leaderboard .gs-leader-value{
  min-width:7rem;
  text-align:right;
  font-family:var(--gs-font)!important;
  font-size:1.58rem!important;
  line-height:1!important;
  letter-spacing:.025em;
  color:#ffd05c!important;
  text-shadow:0 .12rem .2rem rgba(0,0,0,.72);
}
.gs-big-leaderboard li.is-place-1 .gs-leader-value,
.gs-big-leaderboard li.is-place-2 .gs-leader-value,
.gs-big-leaderboard li.is-place-3 .gs-leader-value{font-size:1.72rem!important}

@media(max-width:700px){
  .gs-hero-advancements{max-height:14.25rem!important}
  .gs-hero-adv-inner{
    grid-template-columns:2.25rem 1fr!important;
    padding:.68rem .8rem!important;
  }
  .gs-hero-adv-avatar{width:2.25rem!important;height:2.25rem!important}
  .gs-online-list .gs-online-grid{grid-template-columns:1fr!important}
  .gs-big-leaderboard .gs-leader-value{min-width:0;font-size:1.28rem!important}
}

/* =========================================================
   Grindstone Hub 1.0.3 — final dashboard alignment pass
   ========================================================= */

/* Dashboard player cards must use the exact same visual language as Community. */
.gs-online-list .gs-dashboard-player-row{
  min-height:4.85rem!important;
  padding:.58rem .72rem!important;
  gap:.78rem!important;
  border:.14rem solid rgba(215,202,171,.28)!important;
  border-radius:.36rem!important;
  background:
    linear-gradient(rgba(37,27,17,.20),rgba(9,8,6,.68)),
    var(--gs-stripped-spruce)!important;
  background-size:auto,2.75rem 2.75rem!important;
  box-shadow:inset 0 0 0 .06rem rgba(0,0,0,.72),0 .35rem .8rem rgba(0,0,0,.18)!important;
}
.gs-online-list .gs-dashboard-player-row:hover{
  border-color:rgba(255,184,42,.62)!important;
  background:
    linear-gradient(rgba(62,42,18,.18),rgba(9,8,6,.65)),
    var(--gs-stripped-spruce)!important;
  background-size:auto,2.75rem 2.75rem!important;
  transform:translateY(-.04rem)!important;
}
.gs-dashboard-player-row .gs-player-avatar-frame{
  width:3.55rem!important;
  height:3.55rem!important;
}
.gs-dashboard-player-row .gs-mc-avatar{
  width:3.08rem!important;
  height:3.08rem!important;
}
.gs-dashboard-player-row strong{font-size:1.06rem!important}
.gs-dashboard-player-row small{font-size:.76rem!important}

/* Account: identity first, status directly beneath it, then actions. Fill the card better. */
.gs-hero-account-body{
  justify-content:center!important;
  gap:.82rem!important;
  padding:1.15rem 1.2rem!important;
}
.gs-account-summary{
  display:flex!important;
  align-items:center!important;
  gap:1rem!important;
  width:100%!important;
  padding:.15rem 0!important;
}
.gs-account-summary img,
.gs-account-empty .gs-avatar-placeholder{
  width:5.4rem!important;
  height:5.4rem!important;
  border-radius:.38rem!important;
}
.gs-account-summary strong{
  font-size:1.28rem!important;
  line-height:1.05!important;
}
.gs-account-summary small{
  margin-top:.28rem!important;
  font-size:.82rem!important;
  line-height:1.2!important;
}
.gs-account-state-row{
  justify-content:flex-start!important;
  width:100%!important;
  margin:0!important;
  gap:.52rem!important;
}
.gs-account-state-row .gs-membership,
.gs-account-state-row .gs-whitelist-mini{
  min-height:1.92rem!important;
  padding:.42rem .7rem!important;
  font-size:.76rem!important;
}
.gs-account-actions{
  width:100%!important;
  margin-top:.08rem!important;
  gap:.62rem!important;
}
.gs-account-actions .gs-btn{
  min-height:2.8rem!important;
  padding:.72rem 1rem!important;
  font-size:.9rem!important;
}

/* Hero logo: larger and centered across the width occupied by the two download buttons. */
.gs-hero-logo-wrap{
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:.6rem 1rem!important;
}
.gs-hero-logo-image{
  width:min(36rem,100%)!important;
  max-height:11.5rem!important;
  object-position:center center!important;
  margin-inline:auto!important;
}
.gs-hero-modpacks{
  width:min(36rem,100%)!important;
  margin:.45rem auto 0!important;
}

@media(max-width:700px){
  .gs-account-summary img,
  .gs-account-empty .gs-avatar-placeholder{width:4.75rem!important;height:4.75rem!important}
  .gs-hero-logo-image{max-height:9rem!important}
}

/* =========================================================
   Grindstone Hub 1.1.0 — Admin Panel + moderation controls
   ========================================================= */

/* Whitelist CTA should visibly land on the relevant profile section. */
#whitelist:target{
  outline:.16rem solid rgba(255,176,0,.72);
  box-shadow:0 0 0 .26rem rgba(255,176,0,.12),0 0 1.6rem rgba(255,176,0,.22),var(--gs-shadow)!important;
  animation:gsWhitelistTarget 1.15s ease both;
}
@keyframes gsWhitelistTarget{0%{transform:translateY(.35rem)}55%{transform:translateY(0)}100%{transform:none}}

/* Community cards with staff tools: keep the normal card clickable, put controls bottom-right. */
.gs-community-player-row.has-admin-controls{
  min-height:7.4rem!important;
  padding:0!important;
  overflow:hidden;
}
.gs-community-player-main{
  display:flex;
  align-items:center;
  gap:.8rem;
  width:100%;
  min-height:100%;
  padding:.72rem .78rem;
  color:inherit!important;
}
.gs-community-player-row.has-admin-controls .gs-community-player-main{padding-bottom:3.15rem}
.gs-community-player-main>div{min-width:0}
.gs-community-player-main .gs-presence-dot{right:.72rem;top:.72rem}
.gs-player-admin-controls{
  position:absolute;
  right:.62rem;
  bottom:.55rem;
  z-index:4;
  display:flex;
  align-items:center;
  gap:.38rem;
}
.gs-player-admin-controls form{margin:0!important}
.gs-player-admin-btn{
  min-width:3.6rem;
  min-height:1.9rem;
  padding:.28rem .56rem;
  border:.1rem solid rgba(255,255,255,.14);
  border-radius:.22rem;
  color:#fff4d5;
  font-family:var(--gs-font)!important;
  font-size:.74rem!important;
  letter-spacing:.045em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:inset 0 0 0 .06rem rgba(0,0,0,.45),0 .18rem .45rem rgba(0,0,0,.28);
}
.gs-btn-admin-kick{background:linear-gradient(#b66d10,#754109)}
.gs-btn-admin-ban{background:linear-gradient(#a43739,#641d20)}
.gs-player-admin-btn:hover{filter:brightness(1.16);transform:translateY(-.04rem)}

/* Admin dashboard. */
.gs-admin-dashboard-page{padding-bottom:3.5rem}
.gs-admin-dashboard-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
}
.gs-admin-dashboard-hero h1{font-size:2.2rem!important;margin:.15rem 0 .35rem!important}
.gs-admin-dashboard-hero p{font-size:1rem!important;margin:0;color:#d8c9aa}
.gs-admin-hero-actions{display:flex;gap:.55rem;flex-wrap:wrap}
.gs-admin-overview-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.8rem;
  margin:1rem 0;
}
.gs-admin-metric{
  min-height:6.2rem;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:.35rem;
  padding:1rem 1.1rem;
  border:.12rem solid rgba(255,255,255,.12);
  border-radius:.34rem;
  background:linear-gradient(rgba(27,31,29,.62),rgba(8,10,9,.78)),var(--gs-stone);
  background-size:auto,3rem 3rem;
  box-shadow:inset 0 0 1.2rem rgba(0,0,0,.32),0 .35rem .9rem rgba(0,0,0,.18);
}
.gs-admin-metric small{font-size:.72rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#c6b997}
.gs-admin-metric strong{font-size:1.55rem!important;line-height:1.05!important}
.gs-admin-metric.is-good{border-color:rgba(45,218,118,.45)}
.gs-admin-metric.is-good strong{color:#74efad!important}
.gs-admin-metric.is-warn{border-color:rgba(255,176,0,.52)}
.gs-admin-metric.is-warn strong{color:#ffd46b!important}
.gs-admin-metric.is-muted strong{color:#baa98a!important}

.gs-admin-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:1rem;
  margin-bottom:1rem;
}
.gs-admin-card-body{padding:1rem 1.1rem}
.gs-admin-facts{margin:0 0 1rem}
.gs-admin-facts>div{
  display:grid;
  grid-template-columns:9.5rem 1fr;
  gap:.7rem;
  padding:.5rem 0;
  border-bottom:.06rem solid rgba(255,255,255,.07);
}
.gs-admin-facts dt{font-size:.72rem;font-weight:700;color:#c7b996;text-transform:uppercase;letter-spacing:.05em}
.gs-admin-facts dd{margin:0;font-size:.85rem;color:#f2e4c1;overflow-wrap:anywhere}
.gs-admin-facts code{font-size:.78rem;color:#ffd166;background:rgba(0,0,0,.24);padding:.15rem .28rem;border-radius:.16rem}
.gs-admin-hint{
  padding:.75rem .85rem;
  margin:.9rem 0;
  border-left:.22rem solid var(--gs-orange);
  background:rgba(255,176,0,.08);
}
.gs-admin-hint strong{font-size:1rem!important}
.gs-admin-hint p{margin:.25rem 0 0;font-size:.82rem;line-height:1.45}
.gs-server-control-buttons{display:flex;gap:.55rem;flex-wrap:wrap}
.gs-server-control-buttons form{margin:0}
.gs-server-control-buttons .gs-btn{min-width:7rem}
.gs-server-control-buttons .gs-btn:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.4)}

.gs-console-output{
  min-height:12rem;
  max-height:20rem;
  overflow:auto;
  padding:.85rem .9rem;
  border:.1rem solid rgba(255,176,0,.25);
  border-radius:.26rem;
  background:#070907;
  box-shadow:inset 0 0 1.2rem rgba(0,0,0,.72);
  scrollbar-color:#8a6a24 #151712;
}
.gs-console-command{margin-bottom:.45rem;color:#ffd15b;font:600 .82rem var(--gs-font)}
.gs-console-output pre{margin:0;white-space:pre-wrap;color:#d6dfcc;font:400 .78rem/1.5 var(--gs-font);text-shadow:none}
.gs-console-form{display:grid;grid-template-columns:1fr auto;gap:.55rem;margin-top:.7rem}
.gs-console-form input{
  min-height:2.75rem;
  padding:.6rem .75rem;
  border:.1rem solid rgba(255,176,0,.28);
  border-radius:.24rem;
  background:rgba(4,6,5,.86);
  color:#f7e9c8;
  font:500 .85rem var(--gs-font)!important;
}
.gs-console-quick{display:flex;gap:.42rem;flex-wrap:wrap;margin-top:.55rem}
.gs-console-quick form{margin:0}
.gs-mini-action{
  padding:.4rem .62rem;
  border:.08rem solid rgba(255,255,255,.12);
  border-radius:.2rem;
  background:rgba(255,255,255,.055);
  color:#d9ccb0;
  font-size:.72rem!important;
  font-weight:600;
  cursor:pointer;
}
.gs-mini-action:hover{border-color:rgba(255,176,0,.45);color:#ffe19a}

.gs-admin-player-hint{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  padding:1rem 1.15rem;
  margin:1rem 0;
  background:linear-gradient(rgba(34,31,21,.48),rgba(10,11,9,.75)),var(--gs-stripped-spruce)!important;
  background-size:auto,3.2rem 3.2rem!important;
}
.gs-admin-player-hint h2{margin:.1rem 0 .25rem!important;font-size:1.35rem!important}
.gs-admin-player-hint p{margin:0;font-size:.86rem;line-height:1.45}
.gs-admin-section-head{margin:1.3rem 0 .65rem!important}
.gs-admin-section-head h2{font-size:1.65rem!important;margin:.05rem 0!important}

.gs-admin-online-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
}
.gs-admin-live-player{
  position:relative;
  min-height:6.7rem;
  padding:.55rem .62rem 2.8rem;
  border:.12rem solid rgba(255,255,255,.12);
  border-radius:.34rem;
  background:linear-gradient(rgba(33,24,15,.25),rgba(8,8,6,.7)),var(--gs-stripped-spruce);
  background-size:auto,2.8rem 2.8rem;
}
.gs-admin-live-player-main{display:flex;align-items:center;gap:.7rem;color:inherit!important}
.gs-admin-live-player-main img{width:3rem;height:3rem;image-rendering:pixelated;border-radius:.22rem}
.gs-admin-live-player-main strong{display:block;font-size:1rem!important}
.gs-admin-live-player-main small{display:block;font-size:.72rem!important;color:#9ff0bd}
.gs-admin-live-player .gs-player-admin-controls{right:.55rem;bottom:.48rem}

.gs-admin-event-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.gs-admin-event-request{padding:1rem 1.05rem}
.gs-admin-request-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.gs-admin-request-head h3{margin:.05rem 0 .3rem!important;font-size:1.28rem!important}
.gs-admin-request-head>strong{font-size:.82rem!important;color:#ffd16a!important;white-space:nowrap}
.gs-admin-event-request p{font-size:.86rem;line-height:1.5;margin:.35rem 0 .55rem}
.gs-admin-event-request>small{font-size:.74rem!important;color:#c4b694}
.gs-admin-event-request .gs-inline-actions{padding:0;margin-top:.75rem}

/* Existing whitelist cards fit the new Admin Panel instead of looking like a separate page. */
.gs-admin-dashboard-page .gs-whitelist-admin-grid{margin-bottom:1.5rem}
.gs-admin-dashboard-page .gs-whitelist-request{padding:1rem!important}

@media(max-width:1050px){
  .gs-admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gs-admin-layout{grid-template-columns:1fr}
  .gs-admin-online-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .gs-admin-dashboard-hero,.gs-admin-player-hint{align-items:flex-start;flex-direction:column}
  .gs-admin-overview-grid,.gs-admin-online-grid,.gs-admin-event-grid{grid-template-columns:1fr}
  .gs-console-form{grid-template-columns:1fr}
  .gs-admin-facts>div{grid-template-columns:1fr}
  .gs-community-player-row.has-admin-controls{min-height:8rem!important}
}

/* =========================================================
   Grindstone Hub 1.2.0 — auth polish + admin live console
   ========================================================= */

/* One consistent copper close control for every GS dialog. */
.gs-dialog-x{
  width:2.7rem!important;
  height:2.7rem!important;
  right:.75rem!important;
  top:.75rem!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:.18rem solid rgba(255,221,177,.58)!important;
  border-radius:.28rem!important;
  background:
    linear-gradient(rgba(69,35,20,.14),rgba(20,10,7,.34)),
    var(--gs-cut-copper)!important;
  background-size:auto,2.15rem 2.15rem!important;
  color:#fff4dc!important;
  font-family:var(--gs-font)!important;
  font-size:1.75rem!important;
  font-weight:700!important;
  line-height:1!important;
  text-shadow:0 .1rem .18rem rgba(0,0,0,.8)!important;
  box-shadow:inset 0 0 .75rem rgba(0,0,0,.28),0 .22rem .55rem rgba(0,0,0,.42)!important;
  cursor:pointer!important;
  transition:transform .14s ease,filter .14s ease!important;
}
.gs-dialog-x:hover{transform:translateY(-1px) scale(1.04)!important;filter:brightness(1.14)!important}

/* Login / empty-account state: readable and intentionally laid out. */
.gs-account-empty{
  display:grid!important;
  grid-template-columns:5rem minmax(0,1fr)!important;
  align-items:center!important;
  gap:1rem!important;
  min-width:0!important;
}
.gs-account-empty .gs-avatar-placeholder{
  position:relative!important;
  width:5rem!important;
  height:5rem!important;
  min-width:5rem!important;
  overflow:hidden!important;
  border:.15rem solid rgba(255,195,71,.42)!important;
  border-radius:.34rem!important;
  background:
    linear-gradient(rgba(20,24,24,.58),rgba(7,9,9,.8)),
    var(--gs-stone)!important;
  background-size:auto,2.5rem 2.5rem!important;
  box-shadow:inset 0 0 1rem rgba(0,0,0,.5)!important;
}
.gs-user-silhouette{position:absolute;inset:0;display:block}
.gs-user-silhouette:before{
  content:"";position:absolute;left:50%;top:18%;width:1.65rem;height:1.65rem;
  transform:translateX(-50%);border-radius:50%;background:#a69b84;
  box-shadow:0 .08rem .2rem rgba(0,0,0,.6)
}
.gs-user-silhouette:after{
  content:"";position:absolute;left:50%;bottom:13%;width:3rem;height:1.85rem;
  transform:translateX(-50%);border-radius:1.5rem 1.5rem .28rem .28rem;background:#847a67
}
.gs-account-empty-copy{min-width:0!important}
.gs-account-empty-copy strong{display:block!important;font-size:1.22rem!important;line-height:1.08!important;color:#fff0c8!important}
.gs-account-empty-copy small{display:block!important;margin-top:.35rem!important;max-width:22rem!important;font-size:.88rem!important;line-height:1.42!important;color:#dfd0ad!important;white-space:normal!important;overflow-wrap:anywhere!important}

/* Restricted dashboard cards use a centered call-to-action rather than a cramped flex row. */
.gs-restricted{
  min-height:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1rem!important;
  padding:1.55rem 1.35rem!important;
  text-align:center!important;
}
.gs-restricted-copy{display:flex!important;align-items:center!important;justify-content:center!important;gap:.9rem!important;max-width:34rem!important}
.gs-restricted-icon{flex:0 0 auto!important;color:var(--gs-orange)!important;font-size:1.55rem!important;filter:drop-shadow(0 0 .35rem rgba(255,176,0,.3))}
.gs-restricted-copy strong{display:block!important;font-size:1.18rem!important;line-height:1.15!important;color:#fff0c8!important}
.gs-restricted-copy p{max-width:31rem!important;margin:.38rem auto 0!important;font-size:.87rem!important;line-height:1.48!important;color:#dacdae!important}
.gs-restricted-actions{display:flex!important;align-items:center!important;justify-content:center!important;gap:.7rem!important;flex-wrap:wrap!important}
.gs-restricted-actions .gs-btn{font-size:.9rem!important;min-height:2.8rem!important;padding:.7rem 1.05rem!important}
.gs-restricted-actions .gs-text-link{font-size:.82rem!important;font-weight:600!important;color:#f1dfb7!important}

/* Login dialog: three clear choices and readable copy. */
.gs-login-dialog .gs-dialog-card{width:min(62rem,calc(100vw - 2rem))!important;padding:2rem!important}
.gs-login-dialog .gs-dialog-card h2{font-size:2.15rem!important;line-height:1.05!important;margin:.35rem 0 .8rem!important;color:#fff0c8!important;padding-right:3rem!important}
.gs-login-intro{max-width:52rem!important;margin:0!important;font-size:1rem!important;line-height:1.55!important;color:#e8d9b9!important}
.gs-login-choice-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.85rem!important;margin:1.4rem 0!important}
.gs-login-choice{
  min-height:9rem!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:1.15rem!important;
  border-width:.14rem!important;
}
.gs-login-choice strong{font-size:1.2rem!important;line-height:1.08!important;color:#fff0d0!important}
.gs-login-choice span{margin-top:.55rem!important;font-size:.84rem!important;line-height:1.48!important;color:#d9d6e9!important}
.gs-login-choice.is-site{border-color:rgba(255,176,0,.48)!important;background:rgba(61,42,13,.52)!important}
.gs-login-choice.is-guest{border-color:rgba(120,207,173,.38)!important;background:rgba(16,55,44,.45)!important}
.gs-login-footnote{display:block!important;font-size:.8rem!important;line-height:1.45!important;color:#cabb9e!important}

/* Admin panel: interactive feedback and an actual live Minecraft log console. */
.gs-admin-action-feedback{
  margin:.85rem 0!important;
  padding:.85rem 1rem!important;
  border:.1rem solid rgba(45,218,118,.38)!important;
  border-radius:.3rem!important;
  background:rgba(10,46,28,.78)!important;
  color:#aef4ca!important;
  font-size:.9rem!important;
  font-weight:600!important;
  line-height:1.4!important;
}
.gs-admin-action-feedback.is-error{border-color:rgba(255,93,99,.52)!important;background:rgba(69,18,22,.82)!important;color:#ffd0d2!important}
.gs-admin-action-feedback[hidden]{display:none!important}
.gs-admin-control-note{margin:.9rem 0 0!important;font-size:.78rem!important;line-height:1.45!important;color:#c8b997!important}

.gs-console-live-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:0 0 .6rem!important}
.gs-console-live-head>div{min-width:0}
.gs-console-live-head strong{display:block!important;font-size:1.02rem!important;color:#f7e7c3!important}
.gs-console-live-head small{display:block!important;margin-top:.22rem!important;font-size:.72rem!important;line-height:1.4!important;color:#b9ad91!important}
.gs-console-live-dot{width:.7rem;height:.7rem;border-radius:50%;background:#7c6d5b;box-shadow:0 0 0 .22rem rgba(124,109,91,.12)}
.gs-console-live-dot.is-live{background:#28e27c;box-shadow:0 0 .65rem rgba(40,226,124,.55),0 0 0 .22rem rgba(40,226,124,.13)}
.gs-console-live-output{
  height:22rem!important;
  max-height:42vh!important;
  overflow:auto!important;
  padding:.85rem!important;
  border:.1rem solid rgba(238,210,160,.18)!important;
  border-radius:.25rem!important;
  background:#080b0b!important;
  box-shadow:inset 0 0 1.4rem rgba(0,0,0,.72)!important;
  scrollbar-color:#9b8e73 #101313;
  scrollbar-width:thin;
}
.gs-console-live-output pre{
  margin:0!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  color:#d9e1d5!important;
  font-family:var(--gs-font)!important;
  font-size:.78rem!important;
  line-height:1.48!important;
}
.gs-console-live-output::-webkit-scrollbar{width:.75rem}
.gs-console-live-output::-webkit-scrollbar-track{background:#101313}
.gs-console-live-output::-webkit-scrollbar-thumb{background:linear-gradient(rgba(255,255,255,.12),rgba(0,0,0,.15)),var(--gs-cobble);background-size:auto,1.5rem 1.5rem;border:.12rem solid #101313}
.gs-console-command-result{display:flex;flex-direction:column;gap:.2rem;margin:.7rem 0;padding:.65rem .75rem;border-left:.22rem solid var(--gs-orange);background:rgba(0,0,0,.3)}
.gs-console-command-result strong{font-family:var(--gs-font)!important;font-size:.78rem!important;color:#ffd061!important}
.gs-console-command-result span{font-family:var(--gs-font)!important;font-size:.75rem!important;color:#e1d8c5!important;white-space:pre-wrap}
.gs-console-command-result[hidden]{display:none!important}
.gs-console-form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:.55rem!important;margin-top:.75rem!important}
.gs-console-form input[name="command"]{min-width:0!important;font-family:var(--gs-font)!important;font-size:.86rem!important;padding:.8rem .85rem!important}
.gs-console-quick{margin-top:.65rem!important}
.gs-server-control-buttons form button:disabled,.gs-console-form button:disabled,.gs-console-quick button:disabled{opacity:.5!important;cursor:wait!important}
.gs-admin-player-hint{justify-content:flex-start!important}
.gs-admin-player-hint-copy{max-width:55rem!important}

@media(max-width:900px){
  .gs-login-choice-grid-three{grid-template-columns:1fr!important}
  .gs-login-choice{min-height:0!important}
}
@media(max-width:700px){
  .gs-account-empty{grid-template-columns:4rem minmax(0,1fr)!important}
  .gs-account-empty .gs-avatar-placeholder{width:4rem!important;height:4rem!important;min-width:4rem!important}
  .gs-restricted-copy{flex-direction:column!important}
  .gs-console-form{grid-template-columns:1fr!important}
}


/* =========================================================
   Grindstone Hub 1.2.1 — readable controls + RCON restart
   ========================================================= */

/* Buttons are controls, not headlines: keep the Minecraft shape but use a readable UI face. */
.gs-shell .gs-btn,
.gs-shell button.gs-btn,
.gs-shell .gs-mini-action,
.gs-shell .gs-player-admin-btn{
  font-family:var(--gs-font)!important;
  font-weight:600!important;
  letter-spacing:.015em!important;
  line-height:1.15!important;
  text-transform:none!important;
  font-size:.92rem!important;
}
.gs-shell .gs-btn{min-height:2.85rem!important;padding:.72rem 1.08rem!important}
.gs-shell .gs-btn-large{font-size:1rem!important;min-height:3.1rem!important}
.gs-shell .gs-mini-action{font-size:.8rem!important;padding:.48rem .7rem!important}
.gs-shell .gs-player-admin-btn{font-size:.78rem!important}
.gs-admin-restart-btn{min-width:12.5rem!important;font-size:1rem!important}

/* Restricted cards: large, centered, readable. No invitation link competes with login. */
.gs-restricted{gap:1.15rem!important;padding:1.8rem 1.6rem!important}
.gs-restricted-copy{max-width:39rem!important;gap:1rem!important}
.gs-restricted-copy strong{font-size:1.35rem!important;line-height:1.16!important}
.gs-restricted-copy p{max-width:35rem!important;font-size:.98rem!important;line-height:1.52!important}
.gs-restricted-icon{font-size:1.75rem!important}
.gs-restricted-actions .gs-btn{font-size:.96rem!important;min-height:3rem!important;padding:.78rem 1.2rem!important}

/* Signed-out account card: give copy room and make the call-to-action legible. */
.gs-account-empty{grid-template-columns:4.75rem minmax(0,1fr)!important;gap:1rem!important}
.gs-account-empty .gs-avatar-placeholder{width:4.75rem!important;height:4.75rem!important;min-width:4.75rem!important}
.gs-account-empty-copy strong{font-size:1.3rem!important}
.gs-account-empty-copy small{font-size:.95rem!important;line-height:1.48!important;max-width:24rem!important}
.gs-hero-account-body>.gs-account-actions .gs-btn{font-size:.95rem!important}

/* Every dialog uses the same compact cut-copper close button. */
.gs-dialog .gs-dialog-x,
.gs-event-dialog-card .gs-dialog-x{
  top:.72rem!important;
  right:.72rem!important;
  width:2.35rem!important;
  height:2.35rem!important;
  min-width:2.35rem!important;
  min-height:2.35rem!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border:.14rem solid rgba(255,220,166,.5)!important;
  border-radius:.24rem!important;
  background:linear-gradient(rgba(55,28,14,.22),rgba(14,9,6,.52)),var(--gs-cut-copper)!important;
  background-size:auto,1.55rem 1.55rem!important;
  color:#fff1d4!important;
  font-family:var(--gs-font)!important;
  font-size:1.45rem!important;
  font-weight:700!important;
  line-height:1!important;
  box-shadow:0 .28rem .65rem rgba(0,0,0,.38),inset 0 0 0 .05rem rgba(255,255,255,.08)!important;
}

/* Admin server status follows the same Minecraft/Statistica state as the public dashboard. */
.gs-admin-server-card .gs-status-pill.is-online{background:rgba(37,228,122,.14)!important;color:#81f2ad!important}

@media(max-width:700px){
  .gs-shell .gs-btn{font-size:.88rem!important}
  .gs-restricted-copy{flex-direction:column!important}
}

/* 1.2.4 — live-state hydration -------------------------------------------------
   Server/player presence is intentionally not trusted from the initial HTML.
   This prevents a page cache or the last Statistica snapshot from flashing an
   old Online state before the shared 10-second live snapshot arrives. */
.gs-live-fragment.gs-live-pending .gs-status-card{
  position:relative;
}
.gs-live-fragment.gs-live-pending .gs-status-card .gs-status-layout,
.gs-live-fragment.gs-live-pending .gs-status-card [data-gs-server-state]{
  visibility:hidden!important;
}
.gs-live-fragment.gs-live-pending .gs-status-card::after{
  content:"Live-Status wird synchronisiert…";
  position:absolute;
  inset:4.6rem 1rem 1rem;
  display:grid;
  place-items:center;
  color:#ead9b4;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
  text-align:center;
  pointer-events:none;
}
.gs-live-fragment.gs-live-pending .gs-community-player-row .gs-presence-dot,
.gs-live-fragment.gs-live-pending .gs-community-player-main small,
.gs-live-fragment.gs-live-pending [data-gs-player-presence]{
  visibility:hidden!important;
}
.gs-live-fragment [data-gs-player-operation="kick"][hidden]{
  display:none!important;
}
.gs-hero-activity.is-locked{
  display:flex;
  align-items:center;
  justify-content:center;
}
.gs-hero-activity.is-locked .gs-restricted-card{
  width:100%;
  min-height:11rem;
}


/* =========================================================
   Grindstone Hub 1.2.5 — events, whitelist history and Stats polish
   ========================================================= */

/* Dashboard lower row: Events and Statistica stay the same height.
   Events scroll inside the card instead of making the whole dashboard grow. */
@media(min-width:981px){
  .gs-events-card,
  .gs-statistica-card{
    height:31rem!important;
    min-height:31rem!important;
    max-height:31rem!important;
  }
  .gs-events-card .gs-panel-body{
    height:calc(31rem - 3.125rem)!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#a67a32 rgba(7,8,7,.72);
  }
  .gs-events-card .gs-panel-body::-webkit-scrollbar{width:.78rem}
  .gs-events-card .gs-panel-body::-webkit-scrollbar-track{
    background:linear-gradient(rgba(5,7,6,.7),rgba(5,7,6,.9)),var(--gs-blackstone);
    background-size:auto,1.8rem 1.8rem;
  }
  .gs-events-card .gs-panel-body::-webkit-scrollbar-thumb{
    border:.12rem solid rgba(15,10,5,.8);
    border-radius:.15rem;
    background:linear-gradient(rgba(255,225,167,.12),rgba(59,31,11,.25)),var(--gs-dark-oak);
    background-size:auto,1.7rem 1.7rem;
  }
}

/* Dashboard player-list surface: same brightness/depth as the other Stone-Brick cards. */
.gs-online-list .gs-panel-body{
  background:linear-gradient(rgba(31,34,33,.70),rgba(12,14,14,.82)),var(--gs-stone)!important;
  background-size:auto,4rem 4rem!important;
  box-shadow:inset 0 0 1.75rem rgba(0,0,0,.25)!important;
}
.gs-online-list .gs-panel-body::before,
.gs-online-list .gs-panel-body::after{display:none!important}

/* Stats cards: the topic is the visual anchor; the value is clean and less heavy. */
.gs-global-stat-overview .gs-stat-detail-card,
.gs-player-page .gs-stat-detail-card{
  padding:1rem 1.05rem!important;
}
.gs-global-stat-overview .gs-stat-detail-card span,
.gs-player-page .gs-stat-detail-card span{
  font-size:.96rem!important;
  line-height:1.15!important;
  font-weight:700!important;
  color:#f2dfb9!important;
  letter-spacing:.035em!important;
}
.gs-global-stat-overview .gs-stat-detail-card strong,
.gs-player-page .gs-stat-detail-card strong,
.gs-home-stats-12 .gs-stat-box strong{
  font-family:var(--gs-font)!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-shadow:0 .08rem .15rem rgba(0,0,0,.55)!important;
}
.gs-global-stat-overview .gs-stat-detail-card strong,
.gs-player-page .gs-stat-detail-card strong{font-size:1.42rem!important}
.gs-home-stats-12 .gs-stat-box small{
  font-size:.88rem!important;
  font-weight:600!important;
  letter-spacing:.025em!important;
}
.gs-home-stats-12 .gs-stat-box strong{font-size:1.32rem!important}

/* Leaderboard: warm wood stage instead of the cold Tuff/Stone wall. */
.gs-leaderboard-stage{
  border-color:rgba(126,83,34,.78)!important;
  background:
    linear-gradient(rgba(34,20,10,.38),rgba(10,7,4,.68)),
    var(--gs-dark-oak)!important;
  background-size:auto,3.6rem 3.6rem!important;
  box-shadow:0 1rem 2rem rgba(0,0,0,.28),inset 0 0 2rem rgba(0,0,0,.35)!important;
}
.gs-leaderboard-toolbar{
  background:
    linear-gradient(rgba(74,43,18,.3),rgba(18,11,6,.58)),
    var(--gs-spruce)!important;
  background-size:auto,3.2rem 3.2rem!important;
}
.gs-big-leaderboard{
  background:
    linear-gradient(rgba(47,29,14,.32),rgba(10,7,5,.72)),
    var(--gs-dark-oak)!important;
  background-size:auto,3.4rem 3.4rem!important;
}
.gs-big-leaderboard li{
  border-color:rgba(216,181,124,.16)!important;
  background:rgba(15,10,7,.52)!important;
}
.gs-big-leaderboard li:before{
  background:
    linear-gradient(rgba(34,22,13,.42),rgba(9,7,5,.72)),
    var(--gs-stripped-spruce)!important;
  background-size:auto,3rem 3rem!important;
}
.gs-big-leaderboard li.is-place-1:before,
.gs-big-leaderboard li.is-place-2:before,
.gs-big-leaderboard li.is-place-3:before{
  background:
    linear-gradient(rgba(34,22,13,.36),rgba(8,6,4,.72)),
    var(--gs-stripped-spruce)!important;
  background-size:auto,3rem 3rem!important;
}

/* Whitelist history: default to open requests; "All" reveals approved/denied history. */
.gs-whitelist-filterbar{
  display:flex;
  align-items:center;
  gap:.55rem;
  margin:.15rem 0 .85rem!important;
}
.gs-whitelist-filter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.48rem;
  min-height:2.7rem;
  padding:.62rem .95rem;
  border:.1rem solid rgba(255,255,255,.13);
  border-radius:.28rem;
  background:rgba(7,9,8,.62);
  color:#d9cbaa;
  font:600 .9rem/1 var(--gs-font)!important;
  cursor:pointer;
}
.gs-whitelist-filter span{
  display:grid;
  place-items:center;
  min-width:1.55rem;
  min-height:1.55rem;
  padding:0 .35rem;
  border-radius:99rem;
  background:rgba(255,255,255,.08);
  color:#fff0cd;
  font-size:.76rem;
}
.gs-whitelist-filter:hover{border-color:rgba(255,176,0,.45);color:#fff0cb}
.gs-whitelist-filter.is-active{
  border-color:rgba(255,176,0,.72);
  background:linear-gradient(rgba(255,176,0,.22),rgba(255,176,0,.08)),rgba(28,19,8,.78);
  color:#ffd365;
  box-shadow:inset 0 -.15rem #ffb000;
}
.gs-whitelist-request.is-filtered-out{display:none!important}
.gs-whitelist-request{
  transition:border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}
.gs-whitelist-request.is-waiting{
  border-color:rgba(255,176,0,.42)!important;
  box-shadow:inset .24rem 0 rgba(255,176,0,.68),0 .5rem 1rem rgba(0,0,0,.18)!important;
}
.gs-whitelist-request.is-approved{
  border-color:rgba(53,225,126,.58)!important;
  box-shadow:inset .28rem 0 rgba(53,225,126,.92),0 0 0 .08rem rgba(53,225,126,.12),0 .5rem 1rem rgba(0,0,0,.18)!important;
  background:
    linear-gradient(rgba(15,55,34,.30),rgba(7,20,13,.48)),
    var(--gs-stone)!important;
  background-size:auto,4rem 4rem!important;
}
.gs-whitelist-request.is-denied{
  border-color:rgba(255,95,99,.28)!important;
  filter:saturate(.72) brightness(.86);
}
.gs-whitelist-request.is-approved .gs-status-pill{
  background:rgba(37,228,122,.18)!important;
  color:#8cf2b3!important;
}
.gs-whitelist-request.is-waiting .gs-status-pill{
  background:rgba(255,176,0,.18)!important;
  color:#ffd06a!important;
}
.gs-whitelist-request.is-denied .gs-status-pill{
  background:rgba(255,95,99,.14)!important;
  color:#ffb0b2!important;
}
.gs-whitelist-processed{font-size:.78rem!important;color:#cdbf9f!important}

@media(max-width:980px){
  .gs-events-card,.gs-statistica-card{height:auto!important;min-height:0!important;max-height:none!important}
  .gs-events-card .gs-panel-body{height:auto!important;max-height:28rem!important}
}

/* =========================================================
   Grindstone Hub 1.2.6 — leaderboard typography + podium frames
   ========================================================= */

/*
 * Leaderboards are data views, so they use the same readable UI font as the
 * stat cards instead of the display/headline face. Colors remain unchanged.
 */
.gs-leaderboard-stage,
.gs-leaderboard-stage .gs-leaderboard-toolbar,
.gs-leaderboard-stage .gs-leaderboard-toolbar h2,
.gs-leaderboard-stage .gs-leaderboard-toolbar label,
.gs-leaderboard-stage .gs-leaderboard-toolbar select,
.gs-leaderboard-stage .gs-big-leaderboard,
.gs-leaderboard-stage .gs-big-leaderboard li,
.gs-leaderboard-stage .gs-rank-frame span,
.gs-leaderboard-stage .gs-leader-name,
.gs-leaderboard-stage .gs-leader-value{
  font-family:var(--gs-font)!important;
}

.gs-leaderboard-stage .gs-leaderboard-toolbar h2{
  font-weight:600!important;
  letter-spacing:.01em!important;
}
.gs-leaderboard-stage .gs-rank-frame span{
  font-weight:600!important;
  letter-spacing:0!important;
}
.gs-leaderboard-stage .gs-leader-name{
  font-weight:600!important;
  letter-spacing:0!important;
}
.gs-leaderboard-stage .gs-leader-value{
  font-weight:600!important;
  letter-spacing:0!important;
}

/*
 * 1.2.5's wooden row background used the `background` shorthand with
 * !important, which also cleared the podium texture. Restore the actual
 * Gold / Iron / Copper block texture as the outer frame for places 1–3.
 */
.gs-big-leaderboard li.is-place-1,
.gs-big-leaderboard li.is-place-2,
.gs-big-leaderboard li.is-place-3{
  border:0!important;
  padding:.48rem .78rem!important;
  background-repeat:repeat!important;
  background-size:1.65rem 1.65rem!important;
  box-shadow:0 .45rem 1rem rgba(0,0,0,.28)!important;
}
.gs-big-leaderboard li.is-place-1{
  background-color:transparent!important;
  background-image:var(--gs-gold)!important;
}
.gs-big-leaderboard li.is-place-2{
  background-color:transparent!important;
  background-image:var(--gs-iron)!important;
}
.gs-big-leaderboard li.is-place-3{
  background-color:transparent!important;
  background-image:var(--gs-copper)!important;
}
.gs-big-leaderboard li.is-place-1:before,
.gs-big-leaderboard li.is-place-2:before,
.gs-big-leaderboard li.is-place-3:before{
  inset:.32rem!important;
  border-radius:.18rem!important;
  background:
    linear-gradient(rgba(34,22,13,.40),rgba(9,7,5,.74)),
    var(--gs-stripped-spruce)!important;
  background-size:auto,3rem 3rem!important;
}


/* =========================================================
   Grindstone Hub 1.2.7 — unified readable typography
   ========================================================= */
.gs-shell,
.gs-shell *,
.gs-shell *::before,
.gs-shell *::after{
  font-family:var(--gs-font)!important;
}

.gs-shell{
  font-weight:400;
  letter-spacing:normal;
}

.gs-shell h1,
.gs-shell h2,
.gs-shell h3,
.gs-shell h4,
.gs-shell h5,
.gs-shell h6,
.gs-shell strong,
.gs-shell b{
  font-weight:600!important;
  letter-spacing:.01em!important;
}

.gs-shell button,
.gs-shell .gs-btn,
.gs-shell .gs-nav a,
.gs-shell label{
  font-weight:600!important;
}


/* Release palette: one surface material, one header material, wood for the hero. */
.gs-shell {
  --gs-frame:rgba(184,158,111,.38);
  --gs-surface:linear-gradient(rgba(24,28,27,.91),rgba(12,15,15,.94)),var(--gs-stone);
  --gs-header:linear-gradient(rgba(14,17,16,.82),rgba(9,12,11,.88)),var(--gs-cobble);
  --gs-wood:linear-gradient(rgba(37,25,15,.68),rgba(20,14,9,.80)),var(--gs-spruce);
  --gs-oak:var(--gs-spruce);
  --gs-blackstone:var(--gs-stone);
  --gs-netherite:var(--gs-stone);
  --gs-emerald:var(--gs-stone);
  --gs-gold:var(--gs-stone);
  --gs-crying:var(--gs-stone);
}
.gs-shell .gs-panel,.gs-shell .gs-dialog-card,.gs-shell .gs-page-heading,
.gs-shell .gsm-map-panel,.gs-shell .gsm-sidebar,.gs-shell .gsm-settings{
  border:2px solid var(--gs-frame);border-radius:6px;
  background:var(--gs-surface);background-size:auto,64px 64px;
  box-shadow:0 10px 28px #0005,inset 0 1px #ffffff0b;
}
.gs-shell .gs-panel-title,.gs-shell .gs-topbar-texture,.gs-shell .gsm-toolbar{
  background:var(--gs-header);background-size:auto,64px 64px;
}
.gs-shell .gs-hero,.gs-shell .gs-wood-panel{background:var(--gs-wood);background-size:auto,64px 64px}
.gs-shell .gs-stat-box,.gs-shell .gs-event-item,.gs-shell .gs-hero-account,
.gs-shell .gs-server-emblem,.gs-shell .gs-player-card,.gs-shell .gs-adv-card,
.gs-shell .gs-recent-adv-item,.gs-shell .gs-modpack-button{
  background:var(--gs-surface);background-size:auto,64px 64px;
}
.gs-shell .gs-modpack-button{border:2px solid var(--gs-frame);border-bottom-color:var(--gs-orange)}
.gs-shell .gs-hero-modpacks{display:flex;flex-wrap:wrap;gap:10px}
.gs-shell .gs-hero-modpacks:empty{display:none}
.gs-shell .gs-hero-modpacks .gs-modpack-button{flex:1 1 160px;min-width:0}
.gs-shell .gs-whitelist-banner,.gs-shell .gs-demo-notice{width:min(1580px,calc(100% - 36px));margin:14px auto}
.gs-shell .gs-whitelist-banner{border:2px solid var(--gs-frame);border-left:4px solid var(--gs-orange);background:var(--gs-header);background-size:auto,64px 64px}
.gs-shell .gs-login-dialog{width:min(480px,calc(100vw - 28px));padding:0}
.gs-shell .gs-login-dialog form{display:grid;gap:16px;margin:22px 0}
.gs-shell .gs-login-dialog .gs-checkbox{display:flex;gap:10px;align-items:center;font-size:14px}
.gs-shell .gs-legacy-login{border-top:1px solid var(--gs-frame);padding-top:18px;margin-top:20px}
.gs-shell .gs-legacy-login summary{cursor:pointer;color:var(--gs-muted);font-size:13px}
.gs-shell .gs-legacy-login p{font-size:13px;line-height:1.6;margin:12px 0}
.gs-shell .gs-tools fieldset{border:1px solid var(--gs-frame);padding:16px;margin:16px 0}
.gs-shell .gs-tools [data-hex]{font-family:var(--gs-font)!important;max-width:140px}
.gs-shell .gsm{font-family:var(--gs-font);background:transparent;color:var(--gs-text);border:0;box-shadow:none;image-rendering:auto}
.gs-shell .gsm-label-toggle{display:flex;align-items:center;gap:6px;margin:0;font-size:11px;color:var(--gs-muted)}
.gs-shell .gsm-pin-tooltip{border:2px solid var(--gs-frame);border-top-color:var(--gs-orange);background:#111511f5}
.gs-shell [hidden]{display:none!important}
@media(max-width:650px){.gs-shell .gs-whitelist-banner{flex-wrap:wrap}.gs-shell .gs-whitelist-banner .gs-btn{width:100%}.gs-shell .gsm-toolbar{align-items:flex-start;flex-direction:column}}

/* All historical texture aliases resolve to the same small material set. */
.gs-shell{
 --gs-tuff:var(--gs-stone);--gs-mud:var(--gs-stone);--gs-dark-oak:var(--gs-spruce);
 --gs-barrel:var(--gs-spruce);--gs-stripped-oak:var(--gs-spruce);--gs-stripped-spruce:var(--gs-spruce);
 --gs-mossy-stone:var(--gs-stone);--gs-andesite:var(--gs-stone);--gs-polished-andesite:var(--gs-stone);
 --gs-smooth-basalt:var(--gs-stone);--gs-cut-copper:var(--gs-stone);--gs-amethyst:var(--gs-stone);
}
.gs-shell .gs-event-item-inner,.gs-shell .gs-leaderboard-stage{
 background:var(--gs-surface)!important;background-size:auto,64px 64px!important;
}
.gs-shell .gs-panel,.gs-shell .gs-dialog-card,.gs-shell .gs-page-heading,.gs-shell .gs-stat-box{
 background:var(--gs-surface)!important;background-size:auto,64px 64px!important;
 border-color:var(--gs-frame)!important;
}
.gs-shell .gs-panel-title,.gs-shell .gs-topbar-texture{background:var(--gs-header)!important;background-size:auto,64px 64px!important}
.gs-shell .gs-hero,.gs-shell .gs-wood-panel{background:var(--gs-wood)!important;background-size:auto,64px 64px!important}
/* Podium metals retain their fixed meaning: gold, silver, bronze. */
.gs-shell .gs-leaderboard-stage{--gs-gold:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/gold_block.png")}


/* Stats deliberately retain their warm Mud Bricks material on every page. */
.gs-shell{--gs-mud:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/mud_bricks.png")}
.gs-shell .gs-stat-box,.gs-shell .gs-home-stats .gs-stat-box,
.gs-shell .gs-stat-detail-card,.gs-shell .gs-stat-detail-card:hover{
 background:linear-gradient(rgba(98,64,39,.12),rgba(23,15,10,.42)),var(--gs-mud)!important;
 background-size:auto,54px 54px!important;border:2px solid rgba(202,160,91,.42)!important;
 box-shadow:0 8px 18px #0004,inset 0 0 18px #0004;
}
.gs-shell .gs-stat-box small,.gs-shell .gs-stat-detail-card span{color:#f0dbb7!important;text-shadow:0 1px 3px #000}
.gs-shell .gs-stat-box strong,.gs-shell .gs-stat-detail-card strong{color:#fff0cf!important;text-shadow:0 2px 5px #000b}
/* Reset the old three-column login dialog's fixed inner width. */
.gs-shell .gs-login-dialog,.gs-shell .gs-whitelist-dialog{
 position:fixed!important;inset:0!important;margin:auto!important;left:0!important;
 width:min(480px,calc(100vw - 28px))!important;max-width:calc(100vw - 28px)!important;
 max-height:calc(100dvh - 28px)!important;height:fit-content!important;overflow:auto!important;
}
.gs-shell .gs-login-dialog:not([open]),.gs-shell .gs-whitelist-dialog:not([open]){display:none!important}
.gs-shell .gs-login-dialog .gs-dialog-card,.gs-shell .gs-whitelist-dialog .gs-dialog-card{
 width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
 padding:24px!important;overflow-wrap:anywhere;
}
.gs-shell .gs-login-dialog .gs-dialog-card h2{font-size:28px!important;line-height:1.2!important}
.gs-shell .gs-login-dialog p,.gs-shell .gs-whitelist-dialog p{font-size:14px!important;line-height:1.6!important}
.gs-shell .gs-login-dialog .gs-checkbox input{appearance:auto;width:18px!important;height:18px!important;flex:0 0 18px;margin:0!important}
.gs-shell .gs-login-dialog .gs-btn{white-space:normal;text-align:center;min-height:44px}
.gs-shell .gs-whitelist-form{display:grid;gap:16px}
.gs-shell .gs-whitelist-form label{display:grid;gap:7px}
.gs-shell .gs-whitelist-form input:not([type=hidden]){width:100%;min-width:0;padding:12px;color:var(--gs-text);background:#121512;border:1px solid var(--gs-frame);font:inherit}
.gs-shell .gs-whitelist-form .gs-wl-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Compact actions: grid items must not stretch to the width of their column. */
.gs-shell .gs-whitelist-banner{grid-template-columns:minmax(0,1fr) auto}
.gs-shell .gs-whitelist-banner .gs-btn,
.gs-shell .gs-whitelist-form > .gs-btn,
.gs-shell #gs4-profile-form > .gs-btn{
 width:fit-content!important;max-width:100%!important;min-width:0!important;
 justify-self:start;align-self:start;flex:0 0 auto;white-space:normal;
}
.gs-shell .gs-whitelist-banner > .gs-btn{align-self:center}
@media(max-width:700px){
 .gs-shell .gs-whitelist-banner{grid-template-columns:minmax(0,1fr)}
}
/* Restore meaningful Minecraft materials only within advancement cards. */
.gs-shell .gs-adv-frame{
 --gs-emerald:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/emerald_block.png");
 --gs-netherite:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/netherite_block.png");
 --gs-gold:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/gold_block.png");
 --gs-crying:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/crying_obsidian.png");
 --gs-stripped-oak:url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/stripped_oak_log.png");
}
/* Change only row interiors; preserve all podium frames, insets and borders. */
.gs-shell .gs-big-leaderboard li::before{
 background:linear-gradient(rgba(34,22,13,.28),rgba(9,7,5,.60)),url("https://assets.mcasset.cloud/1.21/assets/minecraft/textures/block/stripped_spruce_log.png")!important;
 background-size:auto,48px 48px!important;
}

.gs-launch-countdown{font-size:clamp(1.3rem,4vw,2.7rem);font-weight:600;font-variant-numeric:tabular-nums;color:var(--gs-orange);padding:24px 0;text-align:center}

/* Prelaunch applications share the existing whitelist card and form. */
.gs-shell .gs-launch-gate{padding:clamp(16px,4vw,40px)}
.gs-shell .gs-launch-card{width:100%;max-width:720px;min-width:0;padding:clamp(16px,4vw,40px)}
.gs-launch-whitelist{margin-top:20px;text-align:left;min-width:0}
.gs-launch-whitelist > p{text-align:center}
.gs-launch-whitelist .gs-whitelist-profile-card{width:100%;min-width:0;overflow:hidden}
.gs-launch-whitelist .gs-whitelist-profile-body{padding:clamp(16px,3vw,24px);overflow-wrap:anywhere}
.gs-launch-whitelist .gs-whitelist-form{min-width:0}
.gs-launch-card [data-gs-launch-message]:empty{display:none}
