/* TASK-005.2. Scoped overlay; original login, artwork and historical prototypes stay intact. */
html.gg52-polish {
 --gg52-safe-top:env(safe-area-inset-top,0px);--gg52-safe-bottom:env(safe-area-inset-bottom,0px);
 --gg52-safe-left:env(safe-area-inset-left,0px);--gg52-safe-right:env(safe-area-inset-right,0px);
 --gg52-paper:#fff1ce;--gg52-muted:#c1d3cf;--gg52-panel:#14373e;--gg52-line:#9e8b5e;--gg52-surface:#0f2b33;
}
/* The sharp layer is unchanged: contain, no transform, no crop or colour treatment. */
.gg52-polish .gg52-arena-extension {position:absolute;z-index:0;inset:-28px;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(22px) brightness(.7);pointer-events:none;animation:none;transition:none}
.gg52-polish .gg5-art {z-index:1}
.gg52-polish .gg5-shell {gap:6px;padding:max(2px,var(--gg52-safe-top)) max(8px,var(--gg52-safe-right)) 6px max(8px,var(--gg52-safe-left))}
.gg52-polish .gg5-brand-symbol {display:none}
.gg52-polish .gg5-brand {gap:0}
.gg52-polish .gg5-brand>div {display:flex;align-items:baseline;flex-wrap:wrap;gap:0 4px}
.gg52-polish .gg5-brand strong {font-size:.8rem;letter-spacing:.025em;line-height:1.35}
.gg52-polish .gg5-brand small {font-size:.66rem;letter-spacing:0;line-height:1.35}
.gg52-polish .gg5-brand small::before {content:'— ';color:#e5c98e}
.gg52-polish .gg5-header {gap:6px}
.gg52-polish .gg5-demo {font-size:.54rem;letter-spacing:.02em}
.gg52-polish #gg5-home #gg-v31-mini {min-height:56px;padding-top:5px;padding-bottom:5px}
/* All six views share the Home palette. No content or route is replaced. */
html.gg52-polish.gg52-session body {background:radial-gradient(ellipse at 12% 0%,#21484a66,transparent 55%),#0b2528;color:var(--gg52-paper)}
html.gg52-polish.gg52-session .shell {width:100%;max-width:480px;margin:0 auto;box-sizing:border-box}
html.gg52-polish.gg52-session .shell>.header,
html.gg52-polish.gg52-session .staging-banner,
html.gg52-polish.gg52-session .shell>footer {display:none!important}
html.gg52-polish.gg52-session:not(.gg5-home-active) body {margin:0;padding:0}
html.gg52-polish.gg52-session:not(.gg5-home-active) .shell {padding:max(4px,var(--gg52-safe-top)) max(8px,var(--gg52-safe-right)) calc(var(--gg5-nav-height,68px) + 14px) max(8px,var(--gg52-safe-left))}
html.gg52-polish.gg52-session:not(.gg5-home-active) #playerArea .gg-internal-views {min-height:0;padding:0;width:100%;gap:12px}
html.gg52-polish.gg52-session #playerArea .topline {display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0 0 10px}
html.gg52-polish.gg52-session #exitPreview {min-height:44px;padding:8px 10px;border:1px solid #637b70;border-radius:12px;background:#15363c;color:#fff0c7;font-size:.75rem;text-align:left}
html.gg52-polish.gg52-session #modePill {background:transparent;border:0;box-shadow:none;color:var(--gg52-muted);font-size:.58rem;letter-spacing:0;line-height:1.4;white-space:normal;padding:3px;flex:1}
html.gg52-polish.gg52-session #playerArea .gg-balanced-nav {
 box-sizing:border-box;position:fixed!important;bottom:0;left:50%;right:auto;transform:translateX(-50%);
 width:100%;max-width:480px;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;
 border:0;border-top:1px solid #82988b70;border-radius:16px 16px 0 0;
 padding:6px 3px calc(6px + var(--gg52-safe-bottom));background:#0d292e;box-shadow:0 -5px 16px #0002;
}
html.gg52-polish.gg52-session #playerArea .gg-balanced-nav-link {box-sizing:border-box;min-width:44px;min-height:55px;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:5px 0;border-radius:10px;color:#d0ddd4;background:transparent;font-size:.58rem;line-height:1.3;overflow-wrap:anywhere}
html.gg52-polish.gg52-session #playerArea .gg-balanced-nav-link[aria-current=page] {background:#31534d;color:#ffe0a2;box-shadow:inset 0 0 0 1px #c4ad7866}
html.gg52-polish.gg52-session #playerArea .gg-balanced-nav-link:not([aria-current=page]) {background:transparent;color:#d0ddd4;box-shadow:none}
html.gg52-polish.gg52-session #playerArea .gg-v31-profile-link[aria-current=page] {background:#31534d!important;color:#ffe0a2!important;box-shadow:inset 0 0 0 1px #c4ad7866}
html.gg52-polish.gg52-session #playerArea .gg-balanced-nav-link:focus-visible {outline-offset:-4px}
html.gg52-polish.gg52-session #playerArea .gg-balanced-nav-icon {font-size:19px}
html.gg52-polish.gg52-session #playerArea .panel {background:linear-gradient(145deg,#183e43,#122f38);border:1px solid var(--gg52-line);border-radius:17px;box-shadow:0 4px 16px #0002;color:var(--gg52-paper)}
html.gg52-polish.gg52-session #playerArea .gg-view-heading,
html.gg52-polish.gg52-session #playerArea .panel h3,
html.gg52-polish.gg52-session #playerArea .row-copy strong,
html.gg52-polish.gg52-session #playerArea .gg-v31-profile-title {color:var(--gg52-paper)}
html.gg52-polish.gg52-session #playerArea .gg-view-heading {font-size:1.5rem;line-height:1.2;letter-spacing:-.02em;margin:8px 0 0}
html.gg52-polish.gg52-session #playerArea .gg-view-description,
html.gg52-polish.gg52-session #playerArea .caption,
html.gg52-polish.gg52-session #playerArea .row-copy small,
html.gg52-polish.gg52-session #playerArea .panel-header>span,
html.gg52-polish.gg52-session #playerArea .gg-agenda-context,
html.gg52-polish.gg52-session #playerArea .gg-v31-profile-intro,
html.gg52-polish.gg52-session #playerArea .gg-v31-profile-kicker,
html.gg52-polish.gg52-session #playerArea .gg-v31-editor-explainer {color:var(--gg52-muted)}
html.gg52-polish.gg52-session #playerArea .status-row {border-color:#6e85714d}
html.gg52-polish.gg52-session #playerArea .gg-balanced-missions .status-row {background:#102f37;border:1px solid #6e85714d;border-left:3px solid #d8b975;border-radius:13px}
html.gg52-polish.gg52-session #playerArea .row-icon,
html.gg52-polish.gg52-session #playerArea .gg-agenda-event-icon {background:#264a4c;border:1px solid #8a916b66;color:#fff1cf}
html.gg52-polish.gg52-session #playerArea .status-pill {background:#51442a;color:#ffe4a6;white-space:normal}
html.gg52-polish.gg52-session #playerArea .status-pill.done {background:#244c3e;color:#bdedcd}
html.gg52-polish.gg52-session #playerArea .status-pill.work {background:#234957;color:#c4eaff}
html.gg52-polish.gg52-session #playerArea .reward {background:#16383d;border-color:#62765b;color:var(--gg52-paper)}
html.gg52-polish.gg52-session #playerArea .reward strong {color:var(--gg52-paper)}
html.gg52-polish.gg52-session #playerArea #gg-balanced-rewards .reward {background:#16383d;border-color:#62765b;color:var(--gg52-paper);box-shadow:none;opacity:1}
html.gg52-polish.gg52-session #playerArea #gg-balanced-rewards .reward.locked {background:#20383c;border-style:dashed;opacity:1;filter:none}
html.gg52-polish.gg52-session #playerArea #gg-balanced-rewards .reward.locked>span {filter:grayscale(1);opacity:.65}
html.gg52-polish.gg52-session #playerArea #gg-balanced-rewards .reward.locked strong {color:#c1d3cf}
html.gg52-polish.gg52-session #playerArea .empty {background:#102d34;border-color:#708676;color:var(--gg52-muted)}
html.gg52-polish.gg52-session #playerArea .gg-agenda-event {background:#12323a;border-color:#70867680}
html.gg52-polish.gg52-session #playerArea .gg-agenda-event-body>strong {color:var(--gg52-paper)}
html.gg52-polish.gg52-session #playerArea .gg-agenda-event-body p,
html.gg52-polish.gg52-session #playerArea .gg-agenda-source {color:var(--gg52-muted)}
html.gg52-polish.gg52-session #playerArea .gg-agenda-date {color:#f2d497}
html.gg52-polish.gg52-session #playerArea .secondary,
html.gg52-polish.gg52-session #playerArea .mini-button,
html.gg52-polish.gg52-session #playerArea .gg-agenda-filter,
html.gg52-polish.gg52-session #playerArea .gg-v31-edit-action {min-height:44px;border:1px solid #9d946a;border-radius:12px;background:#21464b;color:#fff0c8;box-shadow:none}
html.gg52-polish.gg52-session #playerArea .gg-agenda-filter[aria-pressed=true] {background:#456655;border-color:#d8bd81;color:#fff2c6}
html.gg52-polish.gg52-session #playerArea #profileCard {background:#132f38!important;border-color:#aa986b!important;box-shadow:0 4px 16px #0002!important}
html.gg52-polish.gg52-session #playerArea #profileCard .stat-grid>div {background:#173b41;border-color:#657d6d}
html.gg52-polish.gg52-session #playerArea #profileCard .stat-grid strong {color:#ffe0a2}
html.gg52-polish.gg52-session #playerArea #profileCard .stat-grid small {color:var(--gg52-muted)}
html.gg52-polish.gg52-session #playerArea #profileCard .banner {background:#253f3e;border-color:#94865e;color:#fff0c8}
html.gg52-polish.gg52-session #playerArea #profileCard .banner strong {color:#ffe0a2}
html.gg52-polish.gg52-session #playerArea #profileCard .banner small {color:#c4d6ce}
html.gg52-polish.gg52-session #playerArea .gg-v31-edit-action {font-size:.9rem}
html.gg52-polish.gg52-session #playerArea .gg-v31-identity-stage {background:linear-gradient(145deg,#183e43,#102e36);border-color:#a99465;box-shadow:0 4px 16px #0002}
html.gg52-polish.gg52-session #playerArea .gg-v31-profile-title {font-size:1.5rem;line-height:1.2;letter-spacing:-.02em}
html.gg52-polish.gg52-session #modalBackdrop .modal {background:#14343c;border-color:#a99464;color:var(--gg52-paper)}
html.gg52-polish.gg52-session #modalBackdrop .modal-heading h2,
html.gg52-polish.gg52-session #modalBackdrop label {color:var(--gg52-paper)}
html.gg52-polish.gg52-session #modalBackdrop .caption,
html.gg52-polish.gg52-session #modalBackdrop .gg-v31-editor-themes>p {color:var(--gg52-muted)}
html.gg52-polish.gg52-session #modalBackdrop input,
html.gg52-polish.gg52-session #modalBackdrop select {background:#0d2831;border-color:#788b78;color:#fff1cf}
html.gg52-polish.gg52-session #modalBackdrop .primary {background:#e5c280;color:#182f32;border-color:#a88e59;min-height:44px}
html.gg52-polish.gg52-session #modalBackdrop .gg-v31-editor-themes>h3 {color:var(--gg52-paper)}
html.gg52-polish.gg52-session #modalBackdrop .gg-rpg-skin-picker,
html.gg52-polish.gg52-session #modalBackdrop .gg-v31-theme-notice {background:#17373f;border-color:#8f8a65;color:var(--gg52-muted)!important}
html.gg52-polish.gg52-session #modalBackdrop .gg-rpg-skin {background:#21454b;border-color:#8d8a65;color:var(--gg52-paper);box-shadow:none}
html.gg52-polish.gg52-session #modalBackdrop .gg-rpg-skin strong {color:var(--gg52-paper)}
html.gg52-polish.gg52-session #modalBackdrop .gg-rpg-skin small {color:var(--gg52-muted)}
html.gg52-polish.gg52-session #modalBackdrop .gg-rpg-skin[aria-pressed=true] {background:#365d50;border-color:#dbbd80}
html.gg52-polish.gg52-session #playerArea :focus-visible,
html.gg52-polish.gg52-session #modalBackdrop :focus-visible {outline:3px solid #ffdf8c;outline-offset:2px}
/* The entry is the same V3.3 DOM/art and CTA; only its demo layout is compacted. */
html.gg52-polish.gg52-demo-entry body {margin:0;padding:0;background:#0b2528;color:#fff1ce}
html.gg52-polish.gg52-demo-entry .shell {box-sizing:border-box;max-width:480px;width:100%;margin:0 auto;padding:max(8px,var(--gg52-safe-top)) max(8px,var(--gg52-safe-right)) max(8px,var(--gg52-safe-bottom)) max(8px,var(--gg52-safe-left))}
html.gg52-polish.gg52-demo-entry .shell>.header,
html.gg52-polish.gg52-demo-entry .staging-banner,
html.gg52-polish.gg52-demo-entry .shell>footer {display:none!important}
html.gg52-polish.gg52-demo-entry #welcome.welcome {box-sizing:border-box;display:block!important;height:calc(100vh - max(8px,var(--gg52-safe-top)) - max(8px,var(--gg52-safe-bottom)));height:calc(100dvh - max(8px,var(--gg52-safe-top)) - max(8px,var(--gg52-safe-bottom)));min-height:30rem!important;margin:0!important;border:1px solid #aa9567!important;border-radius:20px!important;box-shadow:none!important;background:#0f2d39!important}
html.gg52-polish.gg52-demo-entry #welcome::before {content:'';position:absolute;inset:-24px;z-index:-1;background:url('/guitar-rpg-assets/ggv3-login-hero-classica-1672.webp') center/cover;filter:blur(20px) brightness(.65);pointer-events:none}
html.gg52-polish.gg52-demo-entry #welcome .intro::before {--gg52-entry-art-height:min(135vw,calc(100dvh - 8rem));background-color:transparent!important;background-size:auto var(--gg52-entry-art-height)!important;background-position:center top!important;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--gg52-entry-art-height) - 60px),transparent var(--gg52-entry-art-height));mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--gg52-entry-art-height) - 60px),transparent var(--gg52-entry-art-height))}
html.gg52-polish.gg52-demo-entry #welcome .intro::after {background:linear-gradient(180deg,transparent 0%,transparent 42%,#0e2c3770 70%,#0e2c37e8 100%)!important}
html.gg52-polish.gg52-demo-entry #welcome .loginbox {bottom:10px!important;width:calc(100% - 22px)!important;max-height:none!important;overflow:visible!important;padding:10px 11px!important;border-width:1px!important;border-radius:14px!important;box-shadow:0 3px 14px #0003!important}
html.gg52-polish.gg52-demo-entry #welcome .loginbox h2,
html.gg52-polish.gg52-demo-entry #welcome #serviceStatus {display:none!important}
html.gg52-polish.gg52-demo-entry #welcome .loginbox .previewButton {min-height:50px!important;font-size:.9rem!important;line-height:1.35!important;padding:10px 8px!important;box-shadow:0 2px 0 #997849!important}
html.gg52-polish.gg52-demo-entry #welcome .loginbox .demo-note {display:block!important;font-size:.66rem!important;line-height:1.35!important;margin:8px 0 0!important;color:#d3e1d6!important}
@media(max-width:350px){html.gg52-polish.gg52-session #playerArea .gg-balanced-nav-link{font-size:.53rem;letter-spacing:0}}
@media(prefers-reduced-motion:reduce){.gg52-polish .gg52-arena-extension{animation:none;transition:none}}
