/* Whole activity-site visual layer. Live data and campaign copy stay in the existing presenter.
   Decorative bitmaps are independent of original game art. No backend or reward changes. */
:root{--ink:#f5e8c9;--muted:#c6b997;--gold:#e8bf6c;--line:#80663d;--cream:#231e18;--green:#e5ce9c;--navy:#f1ddb0;--display:CampSerif,serif;--panel-art:url('assets/site-blackgold/royal-panel-4d95b1ca52ac.webp');--realm-art:url('assets/site-blackgold/royal-forest-3d644c90065c.webp')}
body{background:#131411;color:var(--ink)}
/* Immediate section jumps also work in embedded/low-frame-rate browsers. */
html{scroll-behavior:auto}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ffe097;outline-offset:4px}
.preview-tools{background:#10120f;color:#d0c5ae;border-color:#69532f;font-size:12px}
.site-header{background:#171813 url('assets/invite-blackgold/invite-texture-41d8b0f0593c.webp') center/700px auto;padding-block:12px;border-bottom:1px solid #9a7a42;box-shadow:0 4px 22px #0006}
.site-header nav a,.site-header nav button{color:#e1d3b5;font-size:15px;letter-spacing:.04em;min-height:44px}
.site-header nav .active{background:#3a2f20;color:#ffe5a1;box-shadow:inset 0 -2px #ddae5b}
.site-header nav a:hover,.site-header nav button:hover{color:#ffdf95;background:#30291e}
.action.primary,.action.secondary{background: url('assets/invite-blackgold/primary-button-51b4feafbcad.webp') center/100% 100% no-repeat;border:0;border-radius:0;color:#57300d;box-shadow:none;min-height:68px;padding:17px 32px;font-weight:800;line-height:1.4;transition:transform .15s ease}
.action.secondary{background-image:url('assets/invite-blackgold/secondary-button-613a5344faae.webp');color:#ffebba}
.action:hover{transform:translateY(-2px)}.action:active{transform:translateY(1px)}
.header-join{min-width:220px;font-size:15px}.header-join.action{min-height:60px;padding:16px 28px}
.event-section{background:#191a15 url('assets/invite-blackgold/invite-texture-41d8b0f0593c.webp') center/700px auto;border-color:#69522f;padding-top:52px;padding-bottom:64px}
.film-section,.reservation-section,.guild-section{background-image:var(--realm-art);background-position:center top;background-size:1600px auto;background-repeat:no-repeat}
.section-head{min-height:64px;margin:0 0 30px;gap:24px}
.section-head h2{font:900 32px/1.4 var(--display);letter-spacing:.1em;color:#ffdf96;text-shadow:0 2px #543512;gap:0}
.section-head h2::before{display:none}
.section-head>.action{min-width:260px;min-height:66px;font-size:16px}
.campaign-art{border:1px solid #ad8746;border-radius:6px;box-shadow:0 12px 36px #0005}
.film-section{padding-top:30px;padding-bottom:42px}
.film-heading{margin-bottom:24px}.film-heading .overline{color:#ebc883;letter-spacing:.24em;font-size:13px;margin-bottom:6px}.film-heading h1{font:900 30px/1.5 var(--display);color:#ffe8b6;letter-spacing:.1em}
.promotion-film{width:min(100%,1000px,96svh);border:24px solid transparent;border-image:var(--panel-art) 180 180 fill /24px /0 stretch;border-radius:0;box-shadow:0 14px 40px #0005;background:#181710;overflow:visible;position:relative}
.promotion-film video{object-fit:contain;background:#0e0f0c}
.film-unavailable{background:url('assets/invite-blackgold/invite-texture-41d8b0f0593c.webp') center/700px auto;color:#f4d8a4;gap:17px;padding:20px}
.film-unavailable strong{font:700 21px/1.4 var(--display);letter-spacing:.08em}.film-unavailable p{color:#cebc97;font-size:14px}.film-unavailable img{width:min(46%,340px)}
.film-cta{margin-top:20px}.film-cta>.action{width:min(440px,100%);font-size:22px;min-height:78px}.film-cta>p{color:#d3c5a7;margin-top:6px;font-size:14px}
/* Qualification passport: reward poster is still left, personal data right. */
.reservation-layout{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:30px;align-items:start}
.framed:not(.personal-panel),.reservation-card{border:24px solid transparent;border-image:var(--panel-art) 180 180 fill /24px /0 stretch;border-radius:0;box-shadow:0 10px 30px #0004;background:#211c17 url('assets/invite-blackgold/invite-texture-41d8b0f0593c.webp') center/700px auto;padding:16px;overflow:visible}
.reservation-card{padding:10px 14px 14px;min-width:0}
.reservation-card-heading{background:none;padding:8px 0 18px;border-bottom:1px solid #8e713f;align-items:flex-start;gap:12px}
.reservation-card-heading .overline{font-size:10px;letter-spacing:.12em;color:#d6b778;line-height:1.8}
.reservation-card-heading h3{font:900 25px/1.5 var(--display);color:#ffe3a2}
.reservation-badge{background:#382a16;color:#ffdd88;border:1px solid #aa843c;border-radius:4px;font-size:13px;padding:7px 10px;margin-top:8px}
.reservation-card-body,.reservation-empty{background:none;padding:20px 0 0}
.reservation-status{color:#ecce87;font-size:13px}.reservation-status>span:last-child{color:#bdaf93;font-size:11px}
.serial-label{background:url('assets/invite-blackgold/summary-frame-8abb823b69db.webp') center/100% 100% no-repeat;color:#5b3716;min-height:114px;margin-top:18px;padding:27px 28px;display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap;font-size:13px;line-height:1.4}
.serial-label strong{font:900 46px/1.1 var(--display);color:#613913;letter-spacing:.035em;margin:0}
.reservation-profile{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:22px 0;padding-bottom:20px;border-bottom:1px solid #705937}
.reservation-profile dt{color:#c8b491;font-size:13px}.reservation-profile dd,.reservation-profile div:first-child dd{color:#fff0cd;font-family:var(--body);font-size:23px;line-height:1.5;overflow-wrap:anywhere}
.reservation-profile div:last-child dd{font-size:18px}
.reservation-entitlements{gap:8px}.reservation-entitlements li{background:#322918;color:#f4dcac;border:1px solid #806538;border-radius:4px;font-size:13px;padding:10px 12px;gap:8px;min-height:48px;flex-wrap:wrap}
.reservation-entitlements li strong{color:#ffe19a;font-size:13px}.reservation-entitlements .not-eligible{color:#c8bfae;background:#29271f;border-color:#5e5644}.reservation-entitlements .not-eligible strong{color:#c8bfae}
.next-invite.action{margin-top:14px;font-size:15px;min-height:68px}
.reservation-empty>p:not(.fine){font-size:15px;color:#dbc8a3}.profile-placeholder{background:#181a14;border-color:#76613d;color:#cbb995;padding:18px;margin:22px 0}.profile-placeholder strong{font-size:17px;color:#dfd1b6}
.reservation-empty>.action{font-size:16px}.reservation-empty .fine{font-size:12px;color:#c6b390}
/* Existing selected invitation illustration and its responsive plaque layout are untouched. */
.friend-section{background-color:#171913;background-image:url('assets/invite-blackgold/invite-texture-41d8b0f0593c.webp');padding-bottom:42px}
/* Guild assembly: legible real HTML inside the same royal panel system. */
.guild-layout>.interactive-column{width:min(100%,1100px);gap:28px}
.my-guild,.guild-directory{padding:20px 24px!important;scroll-margin-top:110px}
.guild-top h3{font:900 30px/1.5 var(--display);color:#ffe5a9;overflow-wrap:anywhere}
.guild-section .overline{font-size:12px;color:#d3b273;letter-spacing:.16em}
.soft-label,.guild-top .soft-label{background:#3a2b18;border-color:#a48345;color:#ffe1a0;font-size:12px;border-radius:4px;padding:6px 10px}
.guild-info{margin-top:18px;gap:12px}.guild-info strong{font:900 60px/1.1 var(--display);color:#ffe2a0}.guild-info span{color:#d2bf9b;font-size:14px}
.my-guild .next-reward{font-size:16px;color:#d7c29c;margin:12px 0}.next-reward b{color:#ffe2a0}
.milestones{gap:14px;margin-top:22px}
.milestone{position:relative;border:12px solid transparent;border-image:var(--panel-art) 180 180 fill /12px /0 stretch;background:#201d17;border-radius:0;padding:17px 5px;color:#c7bba0;min-height:112px}
.milestone strong{font:900 19px/1.5 var(--display);color:#c9bea7;white-space:nowrap}.milestone span{font-size:13px;margin-top:8px}
.milestone::before{content:'';display:block;width:22px;height:22px;margin:0 auto 10px;background:#b6aa91;mask:url('assets/invite-blackgold/status-lock.svg') center/contain no-repeat}
.milestone.unlocked::before{background:#e6bd6d;mask-image:url('assets/invite-blackgold/status-check.svg')}
.milestone.unlocked{background:#352916;border-image:var(--panel-art) 180 180 fill /12px /0 stretch;color:#ffe3a0}
.milestone.unlocked strong{color:#ffe3a0}.milestone[data-grade='bronze'].unlocked strong{color:#edbd8f}.milestone[data-grade='silver'].unlocked strong{color:#f1ebde}.milestone[data-grade='gold'].unlocked strong{color:#ffda78}
.guild-actions{justify-content:center;gap:18px;margin-top:20px}.guild-actions .action{flex:0 1 300px;min-height:64px;font-size:16px}
.fine,.guild-rule{font-size:13px;color:#c5b593;line-height:1.8}.my-guild .fine{margin-top:16px}.guild-rule{padding:0 24px}
.guild-directory .panel-heading{margin-bottom:24px}.panel-heading h3{font:900 28px/1.5 var(--display);color:#ffe1a0}
.directory-tools{gap:16px;margin-bottom:22px;flex-direction:row}.directory-tools label span{font-size:13px;color:#d1bc95;margin-bottom:6px}.directory-tools input,.directory-tools select{background:#151811;color:#f3e4c5;border:1px solid #957648;border-radius:4px;font-size:15px;min-height:48px;padding:10px 14px}.directory-tools input::placeholder{color:#b6a98d}.sort{width:200px}
.guild-list{gap:12px}.guild-card{padding:20px 22px;background:#1e2119;border:1px solid #796240;border-radius:5px;gap:24px;min-height:106px;box-shadow:0 3px 8px #0002}
.guild-card.mine{border-color:#c79b4e;background:#302718;box-shadow:inset 4px 0 #bd9148}
.guild-card h4{font-size:19px;color:#ffe6b5;gap:7px 12px;line-height:1.5}.guild-card p{font-size:14px;color:#cbbca0;margin-top:7px;line-height:1.7;overflow-wrap:anywhere}
.guild-card .grade{font-size:12px;background:#3b2f1d;color:#e8c27e;border:1px solid #77603b;padding:3px 8px;line-height:1.4}
.guild-card .numbers{gap:24px}.guild-card .numbers strong{font:900 34px/1.2 var(--display);color:#ffe4a6}.guild-card .numbers small{font-size:12px;color:#c2b492}
.guild-card button{background:url('assets/invite-blackgold/secondary-button-613a5344faae.webp') center/100% 100% no-repeat;color:#ffe3a3;border:0;border-radius:0;font-size:14px;font-weight:700;min-height:56px;min-width:138px;padding:13px 20px}
.guild-card button:hover{background-color:transparent;color:#fff0c7;transform:translateY(-1px)}
.art-links{margin-top:24px}.leader-rewards.action{width:min(400px,100%);min-height:76px;font-size:20px}
.empty-state{background:#191b14;border:1px solid #796240;border-radius:4px;color:#d9c5a0}.empty-state h3{color:#ffdfa0}
/* Every entry, poster viewer and leaderboard stays part of this visual language. */
dialog{border:20px solid transparent;border-image:var(--panel-art) 180 180 fill /20px /0 stretch;background:#231d16 url('assets/invite-blackgold/invite-texture-41d8b0f0593c.webp') center/700px auto;color:#f5e7c8;border-radius:0;width:min(760px,calc(100vw - 28px));max-height:90dvh;box-shadow:0 24px 80px #0009}
dialog::backdrop{background:#080b08e8}
.dialog-header{background:#211e17;border-bottom:1px solid #8e713e;color:#ffe3a0;padding:12px 14px;gap:14px}.dialog-header h2{font:900 25px/1.5 var(--display);overflow-wrap:anywhere}
.close-button{color:#f8dfaa;background:#3a301f;border:1px solid #a27f43;border-radius:4px;min-height:44px;padding:8px 14px;flex-shrink:0}
#dialog-content{padding:24px 18px}.dialog-copy{color:#decaa6;line-height:1.9}.dialog-label{color:#c1ae8c;font-size:13px}.dialog-content h3,#dialog-content h3{color:#ffe4aa}.dialog-action{width:100%}
.ranking-table{font-size:15px}.ranking-table th{color:#d9bb7d;background:#2f2719}.ranking-table th,.ranking-table td{padding:13px 12px;border-color:#635334}.ranking-table td{color:#e8d9ba}.ranking-table .me{background:#4b3820}.ranking-table .me td{color:#ffe2a0}.rank-summary{background:#342919;color:#f5d79d;border:1px solid #957441;border-radius:4px;line-height:1.8}.rank-summary strong{font-size:23px;color:#ffe7ab}.copy-fallback{background:#151810;color:#f4dfb6;border-color:#b29155;font-size:14px;min-height:48px}
.quiet-link{color:#e4c380;line-height:1.6}.toast{background:#282114;color:#ffe8b7;border-color:#c29b53;box-shadow:0 6px 26px #0007}
.mobile-action{background:#171911f5;border-top:1px solid #b28e4a}.mobile-action .action{min-height:62px}
/* Original mascot, native 2x on desktop / 1x on mobile. No recoloring or glow filter. */
.closing-banner{background:#141811 var(--realm-art) center bottom/cover no-repeat;border-top:1px solid #967241;padding:0}
.closing-banner::before,.closing-art::before{display:none}
.closing-inner{max-width:1100px;min-height:460px;padding:60px 40px;gap:50px}.closing-copy h2{color:#f7e6c2;font:900 clamp(38px,4vw,58px)/1.45 var(--display);letter-spacing:.1em;text-shadow:0 3px #3c2917}.closing-copy h2 span{color:#ffdc83}.closing-copy>p{color:#d4c5a6;font-size:19px;margin-top:18px}.closing-copy .action{width:340px;min-height:76px;font-size:20px;margin-top:24px}.closing-art img{width:380px;height:352px;filter:none;opacity:1;image-rendering:pixelated}
@media(max-width:1099px){.site-header nav a,.site-header nav button{padding-inline:10px;font-size:14px}.reservation-layout{gap:20px}.reservation-card-heading{flex-wrap:wrap}.reservation-badge{margin-top:0}.reservation-card-heading h3{font-size:23px}.framed:not(.personal-panel){border-width:20px;border-image-width:20px}.my-guild,.guild-directory{padding:18px!important}.milestones{gap:8px}.milestone strong{font-size:17px}.guild-card{padding:18px;gap:16px}.guild-card .numbers{gap:14px}.closing-inner{gap:22px}.closing-copy h2{font-size:44px}}
@media(max-width:760px){
 .preview-tools{font-size:11px;padding:8px 12px}.preview-tools label{font-size:12px}.preview-tools select{min-height:36px}
 .site-header{padding:10px 14px;gap:10px}.site-header nav a{font-size:13px;padding:9px 8px;min-height:44px}.brand{width:112px}
 .event-section{padding:28px 16px 42px;background-size:1000px auto}.section-head{min-height:50px;margin-bottom:20px;gap:12px;flex-wrap:wrap}.section-head h2{font-size:26px;letter-spacing:.06em}
 .art-hotspot{min-height:44px;top:auto;bottom:1.5%}
 .section-head>.action{min-width:230px;min-height:60px;font-size:15px;padding:14px 28px}.guild-section .section-head>.action{font-size:15px;min-height:60px}
 .film-section{padding-top:24px}.film-heading{margin-bottom:18px}.film-heading h1{font-size:23px;letter-spacing:.04em}.film-heading .overline{font-size:12px;letter-spacing:.16em}
 .promotion-film{border-width:12px;border-image-width:12px;aspect-ratio:16/10}.film-unavailable{padding:10px;gap:8px}.film-unavailable img{width:55%}.film-unavailable strong{font-size:15px}.film-unavailable p{font-size:12px;line-height:1.65}.film-cta{margin-top:14px}.film-cta>.action{font-size:20px;min-height:72px}.film-cta>p{font-size:13px;line-height:1.8;margin-top:6px}
 .reservation-layout{gap:24px}.framed:not(.personal-panel),.reservation-card{border-width:18px;border-image-width:18px}.reservation-card{padding:10px 10px 12px;width:100%}
 .reservation-card-heading{padding:4px 0 14px;flex-wrap:wrap;gap:10px}.reservation-card-heading h3{font-size:24px}.reservation-card-heading .overline{font-size:10px;letter-spacing:.06em}.reservation-badge{font-size:12px;padding:5px 9px;margin:0}
 .reservation-card-body,.reservation-empty{padding:18px 0 0}.serial-label{min-height:110px;padding:25px 24px;gap:4px;font-size:12px;margin-top:14px}.serial-label strong{font-size:43px}
 .reservation-profile{gap:12px;margin:18px 0}.reservation-profile div:first-child dd{font-size:24px}.reservation-profile div:last-child dd{font-size:18px}.reservation-entitlements li{font-size:13px;min-height:48px;padding:10px;gap:6px}.reservation-entitlements li strong{font-size:12px}.next-invite.action{font-size:15px;min-height:66px;padding-inline:25px}
 .my-guild,.guild-directory{padding:12px 10px!important;scroll-margin-top:88px}.guild-layout>.interactive-column{gap:24px}.guild-top{gap:8px}.guild-top h3{font-size:26px}.guild-section .overline{font-size:11px}.guild-info{margin-top:16px;gap:9px}.guild-info strong{font-size:52px}.guild-info span{font-size:12px}.my-guild .next-reward{font-size:14px}
 .milestones{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.milestone{min-height:106px;padding:16px 2px;border-width:10px;border-image-width:10px}.milestone strong{font-size:17px}.milestone span{font-size:12px;margin-top:7px}
 .guild-actions{gap:8px;margin-top:14px}.guild-actions .action{flex:1 1 100%;min-height:62px;font-size:15px;padding:14px 24px}.fine,.guild-rule{font-size:12px}.guild-rule{padding:0 6px}
 .guild-directory .panel-heading{gap:10px;margin-bottom:20px;flex-wrap:wrap}.panel-heading h3{font-size:24px}.soft-label{font-size:11px;padding:4px 8px}.directory-tools{flex-direction:column;gap:12px}.sort{width:100%}.directory-tools input,.directory-tools select{font-size:16px;min-height:48px}
 .guild-card{padding:16px;gap:14px;display:grid;grid-template-columns:minmax(0,1fr);min-height:0}.guild-card h4{font-size:18px;display:grid;gap:7px}.guild-card .grade{width:fit-content;max-width:100%;font-size:11px}.guild-card p{font-size:13px;max-width:none;margin-top:9px}.guild-card .numbers{width:100%;justify-content:space-between;gap:14px}.guild-card .numbers>div{display:flex;align-items:baseline;gap:8px}.guild-card .numbers strong{font-size:31px}.guild-card .numbers small{font-size:12px}.guild-card button{font-size:14px;min-height:56px;min-width:138px}.leader-rewards.action{font-size:18px;min-height:72px;width:100%}
 dialog{border-width:12px;border-image-width:12px;width:calc(100vw - 20px);max-height:88dvh}.dialog-header{padding:10px 4px;gap:9px}.dialog-header h2{font-size:22px}.close-button{padding:8px 11px;min-height:44px}#dialog-content{padding:20px 6px}.ranking-table{font-size:13px}.ranking-table td,.ranking-table th{padding:12px 7px}.rank-summary{font-size:14px;padding:12px}.dialog-label{font-size:12px}.dialog-copy{font-size:15px}
 .mobile-action{padding:5px 12px calc(5px + env(safe-area-inset-bottom))}.mobile-action .action{min-height:62px;font-size:17px}.toast{bottom:90px}
 .closing-banner{padding-bottom:0;background-position:center bottom}.closing-inner{min-height:0;padding:48px 22px;gap:22px;flex-direction:column-reverse;text-align:center}.closing-art img{width:190px;height:176px}.closing-copy h2{font-size:36px;letter-spacing:.05em}.closing-copy>p{font-size:17px;margin-top:14px}.closing-copy .action{width:100%;min-width:0;min-height:72px;font-size:19px;margin-top:22px}
}
@media(max-width:360px){.site-header{padding-inline:10px;gap:6px}.brand{width:88px}.site-header nav a{font-size:12px;padding-inline:6px}.event-section{padding-inline:12px}.film-heading h1{font-size:21px}.section-head h2{font-size:24px}.reservation-card{padding-inline:5px}.reservation-card-heading h3{font-size:22px}.serial-label{font-size:11px;padding-inline:18px;min-height:100px}.serial-label strong{font-size:38px}.reservation-profile div:first-child dd{font-size:22px}.reservation-entitlements li{font-size:12px}.next-invite.action{font-size:14px;padding-inline:24px}.my-guild,.guild-directory{padding-inline:5px!important}.milestone strong{font-size:15px}.guild-top h3{font-size:23px}.panel-heading h3{font-size:22px}.guild-card{padding:13px}.guild-card h4{font-size:17px}.closing-copy h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.action:hover,.action:active{transform:none}.action{transition:none}}
