/* HOME V2 — faithful artwork from the four user-approved RPG mockups.
   Static presentation assets + existing real account DOM; never cache/profile student data. */
.gg-rpg-v2 .gg-rpg-intro{
 background:#0b3043 url('/guitar-rpg-assets/ggv2-hero.webp') right 46%/auto 145% no-repeat;
 border-color:#e8ba69;min-height:278px;
 box-shadow:0 7px 0 #dbca9e,0 23px 36px #1a36464a
}
.gg-rpg-v2 .gg-rpg-intro::before{background:linear-gradient(90deg,#0b263ceF 0%,#0b2b3de9 33%,#112a3fcb 51%,#132d4070 72%,#0c21304a 100%)}
.gg-rpg-v2 .gg-rpg-intro-content{width:min(590px,66%)}
.gg-rpg-v2 .gg-rpg-title{color:#fff9da;text-shadow:0 3px 0 #0a3552,0 5px 16px #05182ebf}
.gg-rpg-v2 .gg-rpg-title span{color:#ffcf5b}
.gg-rpg-v2 .gg-rpg-intro-glow{opacity:.7}
.gg-rpg-v2 .gg-rpg-skin-preview{display:block;width:56px;height:56px;object-fit:cover;border-radius:11px;border:2px solid #fff5d6;box-shadow:0 3px 0 #1a3e3e36}
.gg-rpg-v2 .gg-rpg-skin{min-height:122px;background:linear-gradient(155deg,#f2e7ce,#fff7e8);overflow:hidden}
.gg-rpg-v2 .gg-rpg-skin-cyberpunk{background:linear-gradient(155deg,#0b2d56,#1d3366);color:#fcfaff;border-color:#238ce0}
.gg-rpg-v2 .gg-rpg-skin-retro{background:linear-gradient(155deg,#312a6f,#5551ab);color:#fff8df;border-color:#4aa9f2}
.gg-rpg-v2 .gg-rpg-skin-medieval{background:linear-gradient(155deg,#d8e5bf,#fff1c3);border-color:#a8ba73}
.gg-rpg-v2 .gg-rpg-skin-cyberpunk strong,.gg-rpg-v2 .gg-rpg-skin-retro strong{color:#fff}
.gg-rpg-v2 .gg-rpg-skin-cyberpunk small,.gg-rpg-v2 .gg-rpg-skin-retro small{color:#dae8f8}
.gg-rpg-v2 #profileCard[data-gg-rpg-skin=medieval] .gg-balanced-hero-head::after{background:url('/guitar-rpg-assets/ggv2-portrait-medieval.webp') right center/auto 120% no-repeat;opacity:.2;mix-blend-mode:screen}
.gg-rpg-v2 #profileCard[data-gg-rpg-skin=cyberpunk] .gg-balanced-hero-head::after{background:url('/guitar-rpg-assets/ggv2-portrait-cyberpunk.webp') right center/auto 125% no-repeat;opacity:.32;mix-blend-mode:screen}
.gg-rpg-v2 #profileCard[data-gg-rpg-skin=retro] .gg-balanced-hero-head::after{background:url('/guitar-rpg-assets/ggv2-portrait-retro.webp') right center/auto 130% no-repeat;opacity:.32;mix-blend-mode:screen}
.gg-rpg-v2 #profileCard[data-gg-rpg-skin=neutral] .gg-balanced-hero-head::after{background:url('/guitar-rpg-hero-art.svg') center/cover no-repeat;opacity:.13}
.gg-rpg-v2 .gg-rpg-map-nav{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.gg-rpg-v2 .gg-rpg-map-tab{flex:1 0 auto;min-height:44px;padding:9px 12px;border:2px solid #ddbd8c;border-radius:12px;background:#fff7e5;color:#684826;font-size:12px;font-weight:950;cursor:pointer;box-shadow:0 2px 0 #e5d8c1}
.gg-rpg-v2 .gg-rpg-map-tab[aria-pressed=true]{background:#245f62;color:#fff9da;border-color:#e4bd6f;box-shadow:0 3px 0 #123d45}
.gg-rpg-v2 .gg-rpg-map-viewport{overflow:hidden;border-radius:18px;position:relative}
.gg-rpg-v2 .gg-rpg-map-stage{height:auto;min-height:0;aspect-ratio:1518/630;width:100%;border-radius:17px;border:3px solid #ad8753;background:#e5cca0;box-shadow:0 5px 0 #d7be8d}
.gg-rpg-v2 .gg-rpg-map-landscape{background:url('/guitar-rpg-assets/ggv2-map.webp') center/100% 100% no-repeat;filter:saturate(1.13) contrast(1.03)}
.gg-rpg-v2 .gg-rpg-route{opacity:.59;filter:drop-shadow(0 1px 4px #6e4e1b90)}
.gg-rpg-v2 .gg-rpg-dash-trail{stroke-width:5;stroke-dasharray:7 21;stroke:#fff5c3}
.gg-rpg-v2 .gg-rpg-region{
 width:28%;height:23%;min-height:74px;max-width:none;
 padding:7px 10px;gap:7px;border:2px solid #ab884c;
 border-radius:12px;background:linear-gradient(145deg,#fff8e6f5,#f4d49df5);
 color:#433425;box-shadow:0 3px 0 #73583890,0 7px 20px #14283355;
 align-items:center;flex-direction:row;text-align:left
}
.gg-rpg-v2 .gg-rpg-region:nth-child(1){left:9%;top:31%;right:auto;bottom:auto}
.gg-rpg-v2 .gg-rpg-region:nth-child(2){left:41%;top:23%;right:auto;bottom:auto}
.gg-rpg-v2 .gg-rpg-region:nth-child(3){left:28%;top:61%;right:auto;bottom:auto}
.gg-rpg-v2 .gg-rpg-region:nth-child(4){left:70%;top:46%;right:auto;bottom:auto;width:29%}
.gg-rpg-v2 .gg-rpg-region[aria-pressed=true]{outline:2px solid #fff8de;outline-offset:2px;box-shadow:0 5px 0 #735838a0,0 0 21px 5px var(--region-accent)}
.gg-rpg-v2 .gg-rpg-marker{flex:0 0 47px;width:47px;height:47px;border:2px solid #c79e59;background:#e7c89d;box-shadow:0 2px 0 #6f562c}
.gg-rpg-v2 .gg-rpg-marker img{width:100%;height:100%;object-fit:cover;object-position:center;background:#efdfa8}
.gg-rpg-v2 .gg-rpg-marker-halo{inset:-6px;border-color:#a4783299}
.gg-rpg-v2 .gg-rpg-region-content{color:#3b3025;gap:2px}
.gg-rpg-v2 .gg-rpg-region-content small{color:#705224;font-size:9px;letter-spacing:.08em}
.gg-rpg-v2 .gg-rpg-region-content strong{color:#443421;font-size:clamp(11px,1.25vw,15px);font-weight:1000;line-height:1.16}
.gg-rpg-v2 .gg-rpg-region-content em{display:none}
.gg-rpg-v2 .gg-rpg-region-content strong{font-size:clamp(12px,1.2vw,16px);line-height:1.18}
.gg-rpg-v2 .gg-rpg-region-score{bottom:-10px;right:8px;font-size:9px;border:1px solid #b88b47;background:#fff8e0;padding:2px 8px;z-index:4}
.gg-rpg-v2 .gg-rpg-selected-portrait{background:#1e3342;border:2px solid #dcb773}
.gg-rpg-v2 .gg-rpg-selected-portrait img{object-fit:contain;object-position:center}
.gg-rpg-v2 #playerArea .gg-balanced-nav{background:linear-gradient(170deg,#0b2341,#0a1b36);border-color:#264363}
.gg-rpg-v2 #playerArea .gg-balanced-nav-link{color:#d8e4f3}
.gg-rpg-v2 #playerArea .gg-balanced-nav-link[aria-current=page]{background:#154a70;color:#ffdc82;box-shadow:inset 0 0 0 1px #3e7ba0}
.gg-rpg-v2 .gg-rpg-daily{background:linear-gradient(130deg,#30236d,#204d91)!important;border-color:#6a62ca!important;color:#fff8ef!important}
.gg-rpg-v2 .gg-rpg-daily p{color:#dce6ff}
.gg-rpg-v2 .gg-rpg-album-button{background:linear-gradient(130deg,#49275a,#8b4c3a)!important;border-color:#d7a35b!important;color:#fff9ed!important}
.gg-rpg-v2 .gg-rpg-album-button p{color:#f5e6d0}
.gg-rpg-v2 .gg-rpg-map-tab:focus-visible,.gg-rpg-v2 .gg-rpg-region:focus-visible{outline:3px solid #ffdf82;outline-offset:3px}
@media(max-width:850px){
 .gg-rpg-v2 .gg-rpg-region{width:28%;min-height:73px;padding:7px 8px;gap:6px}
 .gg-rpg-v2 .gg-rpg-region:nth-child(4){width:29%}
 .gg-rpg-v2 .gg-rpg-marker{flex-basis:39px;width:39px;height:39px}
 .gg-rpg-v2 .gg-rpg-region-content strong{font-size:11px}
 .gg-rpg-v2 .gg-rpg-region-content em{font-size:9px}
}
@media(max-width:600px){
 .gg-rpg-v2 .gg-rpg-intro{min-height:177px;max-height:none;padding:10px 13px;background-size:cover;background-position:center 45%;display:flex;align-items:flex-end;justify-content:flex-end}
 .gg-rpg-v2 .gg-rpg-intro::before{background:linear-gradient(0deg,#092539ba 0%,transparent 43%)}
 .gg-rpg-v2 .gg-rpg-intro-content{width:auto;display:flex;justify-content:flex-end;align-items:flex-end}
 .gg-rpg-v2 .gg-rpg-intro .gg-rpg-overline,.gg-rpg-v2 .gg-rpg-intro .gg-rpg-title,.gg-rpg-v2 .gg-rpg-intro p{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
 .gg-rpg-v2 .gg-rpg-hero-actions{margin:0}
 .gg-rpg-v2 .gg-rpg-explore{min-height:42px;padding:8px 12px;background:linear-gradient(#ffeeb4,#e9b65b);font-size:11px}
 .gg-rpg-v2 .gg-rpg-world-facts{display:none}
 .gg-rpg-v2 .gg-rpg-skins{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .gg-rpg-v2 .gg-rpg-skin{min-height:97px;padding:5px 2px;gap:2px}
 .gg-rpg-v2 .gg-rpg-skin-preview{width:42px;height:42px}
 .gg-rpg-v2 .gg-rpg-skin strong{font-size:10px}
 .gg-rpg-v2 .gg-rpg-skin small{font-size:8px}
 .gg-rpg-v2 .gg-rpg-map-viewport{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#c3a06c #f5e6be}
 .gg-rpg-v2 .gg-rpg-map-stage{min-width:760px;width:760px;height:315px;min-height:0;aspect-ratio:auto}
 .gg-rpg-v2 .gg-rpg-region{width:28%;height:24%;min-height:72px;padding:6px 7px;gap:5px;align-items:center;flex-direction:row;text-align:left}
 .gg-rpg-v2 .gg-rpg-region:nth-child(1){left:9%;top:31%;right:auto;bottom:auto}
 .gg-rpg-v2 .gg-rpg-region:nth-child(2){left:41%;top:23%;right:auto;bottom:auto}
 .gg-rpg-v2 .gg-rpg-region:nth-child(3){left:28%;top:61%;right:auto;bottom:auto}
 .gg-rpg-v2 .gg-rpg-region:nth-child(4){left:70%;top:46%;right:auto;bottom:auto;width:29%}
 .gg-rpg-v2 .gg-rpg-region .gg-rpg-marker{flex:0 0 42px;width:42px;height:42px}
 .gg-rpg-v2 .gg-rpg-region-content{align-items:flex-start;gap:1px}
 .gg-rpg-v2 .gg-rpg-region-content strong{font-size:12px;line-height:1.14}
 .gg-rpg-v2 .gg-rpg-region-content em{font-size:9px}
 .gg-rpg-v2 .gg-rpg-region-score{right:8px;left:auto;transform:none;font-size:9px}
 .gg-rpg-v2 .gg-rpg-map-tab{flex:0 0 auto;padding:8px 10px;font-size:11px}
 .gg-rpg-v2 #playerArea .gg-rpg-season-panel{padding:13px}
 .gg-rpg-v2 .gg-rpg-quick-actions{background:#fffaf0}
}
@media(max-width:400px){
 .gg-rpg-v2 .gg-rpg-intro{min-height:153px;max-height:none;padding:7px 10px;background-position:center 46%}
 .gg-rpg-v2 .gg-rpg-explore{min-height:38px;padding:7px 10px;font-size:10px}
 .gg-rpg-v2 .gg-rpg-skin-preview{width:38px;height:38px}
 .gg-rpg-v2 .gg-rpg-skin{min-height:88px}
}
@media(min-width:901px){
 .gg-rpg-v2 #gg-view-home .player-grid{display:flex;flex-direction:column;gap:16px;width:100%;max-width:100%}
 .gg-rpg-v2 #gg-view-home .player-main{
  display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  grid-template-areas:"profile mission" "skins mission" "map map" "quick quick" "shortcuts shortcuts";
  gap:17px;align-items:stretch;width:100%;max-width:100%
 }
 .gg-rpg-v2 #gg-view-home #profileCard{grid-area:profile;min-width:0}
 .gg-rpg-v2 #gg-view-home .gg-rpg-skin-picker{grid-area:skins;min-width:0}
 .gg-rpg-v2 #gg-view-home .gg-rpg-season-panel{grid-area:map;min-width:0}
 .gg-rpg-v2 #gg-view-home .gg-rpg-next-mission{grid-area:mission;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:29px 27px;gap:19px}
 .gg-rpg-v2 #gg-view-home .gg-rpg-next-mission .gg-rpg-mission-signet{width:95px;height:95px;flex:0 0 95px;font-size:45px}
 .gg-rpg-v2 #gg-view-home .gg-rpg-next-mission h3{font-size:26px;line-height:1.15}
 .gg-rpg-v2 #gg-view-home .gg-rpg-next-mission p{font-size:14px}
 .gg-rpg-v2 #gg-view-home .gg-rpg-next-mission .gg-rpg-action{margin-top:10px;width:100%}
 .gg-rpg-v2 #gg-view-home .gg-rpg-quick-actions{grid-area:quick}
 .gg-rpg-v2 #gg-view-home .gg-home-links{grid-area:shortcuts}
 .gg-rpg-v2 #gg-view-home .player-side{display:grid;grid-template-columns:1fr;width:100%;max-width:100%}
 .gg-rpg-v2 #gg-view-home .player-side .panel{max-width:100%}
 .gg-rpg-v2 #gg-view-home .gg-rpg-map-tab{font-size:13px}
 .gg-rpg-v2 #gg-view-home .gg-rpg-region-content strong{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
 .gg-rpg-v2 .gg-rpg-intro-glow,.gg-rpg-v2 .gg-rpg-hero-art{transition:none!important;transform:none!important}
 .gg-rpg-v2 .gg-rpg-dash-trail{animation:none!important}
}
