/* Codes retain the shared brand while following the player's redemption flow. */
.gp-page{--gp-edge:#334957;--gp-soft:#adbecb;--gp-accent:var(--wiki-aqua,#99dedb);padding-block:24px 56px;min-width:0}
.gp-page :where(section,article,div,nav,header,aside,figure){min-width:0}
.gp-page :where(h1,h2,h3,p,figure){margin:0}
.gp-page p{line-height:1.6}
.gp-page :where(h1,h2,h3,p,a,code,li){overflow-wrap:anywhere}
.gp-page :where(a,button,summary,input):focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.gp-page .icon{width:19px;height:19px;flex:none}
.gp-page h1{font-size:clamp(36px,4.4vw,60px);line-height:1.02;letter-spacing:-.055em}
.gp-page h2{font-size:clamp(23px,2.3vw,30px);letter-spacing:-.035em;line-height:1.2}
.gp-muted{color:var(--gp-soft);font-size:14px}
.gp-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,4vw,56px);padding:clamp(22px,3vw,42px);border:1px solid var(--gp-edge);border-radius:16px;overflow:hidden;background:radial-gradient(ellipse at 10% 20%,#24374770,transparent 70%),#101e2b}
.gp-genre{display:flex;align-items:center;gap:8px;color:var(--gp-accent);font-size:13px;font-weight:650;line-height:1.4!important;margin-bottom:18px!important}
.gp-genre .icon{width:17px;height:17px}
.gp-hero h1{max-width:13ch;text-wrap:balance}
.gp-summary{font-size:clamp(16px,1.5vw,19px);color:#d4dfe7;max-width:40ch;margin-top:18px!important}
.gp-hero-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.gp-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 16px;border:1px solid #586678;border-radius:7px;background:#132432;color:#f0f5f7;font-weight:650;font-size:14px}
.gp-button:hover{background:#203a4d;border-color:var(--gp-accent)}
.gp-button-primary{background:var(--gold);color:#14202b;border-color:var(--gold)}
.gp-button-primary:hover{background:#ffca7a;color:#14202b;border-color:#ffca7a}
.gp-art{align-self:stretch;display:flex;align-items:center;position:relative}
.gp-art img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px;border:1px solid #63728166;box-shadow:0 16px 32px #030b1640}
.gp-destinations{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.gp-destination{display:flex;align-items:center;gap:17px;padding:24px;border:1px solid var(--gp-edge);border-radius:12px;background:linear-gradient(120deg,#142634,#0e1b27);transition:border-color .15s,background .15s}
.gp-destination:hover{border-color:var(--gold);background:#192c3c}
.gp-destination-icon{display:grid;place-items:center;width:50px;height:50px;flex:none;border:1px solid #43596a;border-radius:10px;color:var(--gp-accent);background:#20374480}
.gp-destination-icon .icon{width:25px;height:25px}
.gp-destination-codes .gp-destination-icon{color:var(--gold);background:#3b302880;border-color:#6c5134}
.gp-destination h2{font-size:26px}
.gp-destination p{font-size:13px;color:var(--gp-soft);margin-top:6px}
.gp-destination>.icon{margin-left:auto;color:var(--gold)}
.gp-overview{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);padding:38px 8px 0;margin-top:32px;border-top:1px solid var(--gp-edge)}
.gp-overview-copy p{max-width:53ch;color:#bdcdd9;margin-top:16px}
.gp-topic-list{display:grid;align-self:start}
.gp-topic-list a{min-height:60px;display:flex;align-items:center;gap:15px;padding:13px 4px;border-bottom:1px solid var(--gp-edge);font-weight:630}
.gp-topic-list a:first-child{border-top:1px solid var(--gp-edge)}
.gp-topic-list a:hover{color:var(--gold)}
.gp-topic-list a>.icon{margin-left:auto;width:18px;color:var(--gp-accent)}
.gp-topic-number{font-size:12px;font-family:ui-monospace,Consolas,monospace;letter-spacing:.04em;color:var(--gp-soft)}
.gp-codes-heading{max-width:850px;margin-bottom:26px}
.gp-codes-heading h1{font-size:clamp(32px,3.9vw,50px);line-height:1.1;text-wrap:balance}
.gp-checked{display:flex;align-items:flex-start;gap:7px;color:var(--gp-soft);font-size:13px;margin-top:12px!important}
.gp-checked .icon{width:15px;height:15px;margin-top:3px}
.gp-codes-intro{color:#d2dce5;font-size:15px;margin-top:12px!important;max-width:82ch}
.gp-verification{font-size:12px;color:var(--gp-soft);margin-top:5px!important}
.gp-code-jumps{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap;margin-top:10px}
.gp-code-jumps:empty{display:none}
.gp-code-jumps a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:13px;font-weight:620;color:var(--gp-accent);text-decoration:underline;text-underline-offset:4px;text-decoration-color:#52606d}
.gp-code-jumps a:hover{color:var(--gold)}
.gp-code-jumps .icon{width:13px;height:13px}
.gp-codes-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);grid-template-rows:repeat(4,min-content) 1fr min-content;gap:20px 32px;align-items:start}
.gp-codes-layout>#codes{grid-column:1;grid-row:1/6}
.gp-codes-layout>#redeem{grid-column:2;grid-row:1}
.gp-code-archives{grid-column:2;grid-row:2;display:grid;gap:12px}
.gp-codes-layout>#more-rewards{grid-column:2;grid-row:3}
.gp-codes-layout>#code-help{grid-column:2;grid-row:4}
.gp-codes-layout>#code-sources{grid-column:2;grid-row:5}
.gp-codes-layout>.gp-return-links{grid-column:1/-1;grid-row:6}
.gp-codes-single{grid-template-columns:minmax(0,900px)}
.gp-code-content{display:grid;gap:16px}
.gp-code-section-heading{margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.gp-code-section-heading h2{display:flex;align-items:center;gap:10px;font-size:23px}
.gp-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:25px;padding:2px 8px;border:1px solid #536347;border-radius:5px;color:#d3e7bc;background:#24382f;font-size:12px;font-weight:700;vertical-align:middle;letter-spacing:0;flex:none}
.gp-code-list{display:grid;gap:10px}
.gp-code-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;align-items:center;padding:19px 20px;background:linear-gradient(110deg,#142735,#10202d);border:1px solid #3b5362;border-radius:10px;box-shadow:0 2px 0 #060e1730}
.gp-code-card:hover{border-color:#66818f}
.gp-code-card:target{outline:2px solid var(--gold);outline-offset:3px}
.gp-code-card code{display:inline-block;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(14px,1.4vw,17px);font-weight:750;letter-spacing:.01em;line-height:1.5;color:#fff0d6;user-select:all;word-break:break-word}
.gp-reward{color:#ccdae4;font-size:14px;margin-top:4px!important}
.gp-code-note{font-size:12px;color:var(--gp-soft);margin-top:6px!important;max-width:60ch}
.gp-copy{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d79a44;border-radius:7px;background:#ffb748;color:#1b2027;min-height:44px;min-width:91px;padding:10px 12px;font-size:13px;font-weight:750;transition:background .15s;white-space:nowrap}
.gp-copy .icon{width:16px;height:16px}
.gp-copy:hover{background:#ffcb7a}
.gp-copy.is-copied{background:#254c3d;color:#d4ffeb;border-color:#6aaa92}
.gp-code-card [data-copy-error]{grid-column:1/-1;color:var(--gold);font-size:13px;line-height:1.5}
.gp-code-filter{display:flex;align-items:center;gap:9px;border:1px solid #4b6273;border-radius:8px;background:#0c1c29;padding:0 12px;margin-bottom:14px;color:var(--gp-soft)}
.gp-code-filter:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.gp-code-filter input{width:100%;min-width:0;min-height:46px;padding:10px 0;border:0;background:transparent;color:#eff5f9;outline:none;font-size:16px}
.gp-code-filter input:focus-visible{outline:none}
.gp-code-filter input::placeholder{color:#aebeca;opacity:1}
.gp-filter-empty{padding:24px;color:var(--gp-soft);border:1px solid var(--gp-edge);border-radius:8px}
.gp-code-empty{border:1px solid var(--gp-edge);border-radius:12px;padding:26px;background:linear-gradient(120deg,#152936,#0e1b28)}
.gp-empty-icon{display:grid;place-items:center;width:46px;height:46px;color:var(--gold);background:#3e3428;border:1px solid #6a5436;border-radius:10px;margin-bottom:18px}
.gp-empty-icon .icon{width:25px;height:25px}
.gp-code-empty h2{font-size:26px;max-width:27ch}
.gp-code-empty p{margin-top:12px;color:#cfdae3;font-size:15px}
.gp-code-empty .gp-muted{font-size:13px;color:var(--gp-soft)}
.gp-disclosure{background:#101f2c;border:1px solid var(--gp-edge);border-radius:9px;overflow:clip}
.gp-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:13px 16px;cursor:pointer;list-style:none;font-size:14px;line-height:1.45;font-weight:650}
.gp-disclosure summary::-webkit-details-marker{display:none}
.gp-disclosure summary>.icon{width:16px;height:16px;color:var(--gp-soft);transition:transform .15s}
.gp-disclosure[open]>summary>.icon{transform:rotate(180deg)}
.gp-disclosure[open]>summary{border-bottom:1px solid var(--gp-edge)}
.gp-disclosure summary:hover{color:var(--gold);background:#172b3a}
.gp-disclosure summary:focus-visible{outline-offset:-4px}
.gp-disclosure .gp-count{background:#23323e;color:#c1ced6;border-color:#465968;margin-left:6px}
.gp-disclosure-body{padding:16px;font-size:14px;color:#c7d5df;line-height:1.6}
.gp-archive-list{list-style:none;padding:0;margin:14px 0 0}
.gp-archive-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 0;border-top:1px solid var(--gp-edge);font-size:13px}
.gp-archive-list code{font-size:12px;font-family:ui-monospace,Consolas,monospace;color:#b8c8d2;line-height:1.5}
.gp-archive-list small{display:block;color:var(--gp-soft);margin-top:5px;font-size:12px}
.gp-code-help{display:grid;gap:20px;min-width:0}
.gp-help-panel{padding:22px;border:1px solid var(--gp-edge);border-radius:12px;background:linear-gradient(120deg,#132532,#101d29)}
.gp-codes-layout>:not(#codes) h2{display:flex;align-items:center;gap:8px;font-size:21px}
.gp-codes-layout>:not(#codes) h2>.icon{color:var(--gp-accent);width:22px;height:22px}
.gp-redeem-unknown{margin-top:14px!important;font-size:14px;color:#c7d5df}
.gp-redeem-steps{list-style:none;counter-reset:redeem;padding:0;margin:19px 0 0}
.gp-redeem-steps li{counter-increment:redeem;position:relative;padding:0 0 18px 37px;min-height:35px;font-size:14px;line-height:1.6;color:#d2dee6}
.gp-redeem-steps li:last-child{padding-bottom:0}
.gp-redeem-steps li:before{content:counter(redeem);position:absolute;left:0;top:0;display:grid;place-items:center;width:25px;height:25px;background:#283a44;color:#e1edf4;border:1px solid #506574;border-radius:50%;font-size:12px;font-weight:700}
.gp-faq{display:grid;gap:9px}
.gp-faq>h2{margin:3px 0 5px}
.gp-faq summary{font-size:13px}
.gp-official>p{font-size:14px;color:#c7d5df;margin-top:14px}
.gp-official ul{list-style:none;margin:12px 0 0;padding:0;display:grid}
.gp-official a{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;color:var(--gp-accent);font-size:13px;font-weight:620;text-decoration:underline;text-underline-offset:3px}
.gp-official a .icon{margin-left:auto;width:16px;height:16px}
.gp-official a:hover{color:var(--gold)}
.gp-sources ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
.gp-sources a{display:flex;align-items:center;gap:9px;min-height:44px;padding:6px 0;font-size:13px;color:var(--gp-accent);text-decoration:underline;text-underline-offset:3px}
.gp-sources a .icon{margin-left:auto;width:16px;height:16px}
.gp-sources a:hover{color:var(--gold)}
.gp-return-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;padding-top:20px;border-top:1px solid var(--gp-edge)}
.gp-return-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid #3f5666;border-radius:7px;font-size:13px;font-weight:650;color:#c8dbe6}
.gp-return-links a:hover{color:var(--gold);border-color:var(--gold)}
.gp-return-links .icon{width:17px;height:17px}
@media(min-width:1100px){.gp-code-card{grid-template-columns:minmax(0,1fr) 100px}.gp-code-value{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4px 18px;align-items:center}.gp-code-value .gp-reward{margin-top:0!important}.gp-code-note{grid-column:1/-1}}
@media(max-width:1000px){.gp-codes-layout{grid-template-columns:minmax(0,1fr) minmax(245px,290px);gap:20px 22px}.gp-hero{gap:24px}.gp-destination{padding:20px;gap:13px}}
@media(max-width:800px){.gp-codes-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:24px}.gp-codes-layout>:is(#codes,#redeem,.gp-code-archives,#more-rewards,#code-help,#code-sources,.gp-return-links){grid-column:auto;grid-row:auto}.gp-code-help{grid-template-columns:1fr 1fr;align-items:start}.gp-sources{grid-column:1/-1}.gp-hero{grid-template-columns:1fr}.gp-hero-copy{max-width:620px}.gp-hero h1{max-width:20ch}.gp-art img{aspect-ratio:16/7;max-height:300px}.gp-overview{gap:28px}.gp-destination-icon{width:42px;height:42px}.gp-destination{padding:18px;gap:11px}.gp-destination h2{font-size:23px}}
@media(max-width:600px){.gp-page{padding-block:18px 36px}.gp-page h1{font-size:39px}.gp-hero{padding:21px;border-radius:12px;gap:24px}.gp-genre{margin-bottom:13px!important;font-size:12px}.gp-summary{font-size:16px;margin-top:13px!important}.gp-hero-links{margin-top:20px;gap:8px}.gp-button{padding:10px 12px;font-size:13px}.gp-art img{aspect-ratio:16/9}.gp-destinations{grid-template-columns:1fr;gap:11px;margin-top:14px}.gp-destination{padding:18px}.gp-destination p{font-size:12px}.gp-overview{grid-template-columns:1fr;padding:25px 0 0;margin-top:28px;gap:22px}.gp-overview-copy p{font-size:15px;margin-top:12px}.gp-topic-list a{min-height:56px;font-size:15px}.gp-codes-heading{margin-bottom:18px}.gp-codes-heading h1{font-size:32px;line-height:1.12;text-wrap:initial;letter-spacing:-.045em}.gp-checked{font-size:12px;margin-top:10px!important}.gp-codes-intro{font-size:14px;line-height:1.5!important;margin-top:10px!important}.gp-verification{font-size:11px;line-height:1.5!important}.gp-code-jumps{gap:0 16px;margin-top:7px;flex-wrap:wrap;overflow-x:visible}.gp-code-jumps a{flex:none;white-space:nowrap}.gp-code-jumps a{font-size:12px}.gp-code-section-heading{margin-bottom:12px}.gp-code-section-heading h2{font-size:21px}.gp-code-card{padding:16px 14px;gap:10px 12px;min-height:93px}.gp-code-card code{font-size:14px;line-height:1.5}.gp-reward{font-size:13px;line-height:1.45!important}.gp-copy{min-width:83px;padding:10px;font-size:12px;gap:5px}.gp-copy .icon{width:15px;height:15px}.gp-code-note{font-size:11px;line-height:1.5!important}.gp-code-help{grid-template-columns:minmax(0,1fr);gap:22px}.gp-help-panel{padding:20px}.gp-code-empty{padding:22px}.gp-code-empty h2{font-size:24px}.gp-code-empty p{font-size:14px}.gp-archive-list li{grid-template-columns:minmax(0,1fr);gap:3px}.gp-return-links{gap:9px}.gp-return-links a{padding:9px 10px;font-size:12px}.gp-return-links a:first-child{flex:1 1 170px}.gp-sources{grid-column:auto}}
@media(max-width:359px){.gp-hub h1{font-size:35px}.gp-codes-heading h1{font-size:29px}.gp-hero{padding:18px}.gp-code-card{padding:14px 12px;column-gap:9px}.gp-copy{min-width:75px;padding:10px 8px}.gp-code-card code{font-size:13px}.gp-code-section-heading h2{font-size:19px}.gp-destination-icon{width:39px;height:39px}.gp-destination{gap:10px;padding:16px}}
@media(prefers-reduced-motion:reduce){.gp-page *{transition:none!important}}
