/* A real collection of illustrated medals, framed by midnight marble and gold. */
.awards-screen{background:#070f1d;color:#fff2d8;padding:0;isolation:isolate;min-width:0}
.awards-cabinet{--serif:'Playfair Display',Georgia,serif;--award-gold:#ebc77f;--award-muted:#c7cbd4;position:relative;isolation:isolate;max-width:1260px;margin:0 auto;padding:54px clamp(20px,5vw,78px) 36px;background:radial-gradient(ellipse at 50% 20%,#24466a25,transparent 47%),linear-gradient(165deg,#0b1728,#080f1c 62%,#0d1926);overflow:hidden}
.awards-cabinet:before{content:'';position:absolute;inset:0 0 auto;height:830px;z-index:-2;background:linear-gradient(0deg,#080f1c 0%,#080f1c50 30%,#0813230d 100%),url('./assets/awards/cabinet-room.webp') center top/100% 100% no-repeat;opacity:.8;pointer-events:none}
.awards-cabinet:after{content:'';position:absolute;inset:24px 14px auto;height:710px;border:1px solid #e3b66123;border-radius:48% 48% 8px 8px;z-index:-1;box-shadow:inset 0 0 0 7px #040b1466,inset 0 0 0 8px #d5a65116;pointer-events:none}
.awards-heading{text-align:center;position:relative;padding:0 0 12px}
.awards-heading .eyebrow{font-size:9px;color:#d7c9b7;letter-spacing:2.7px}
.awards-heading h1{font-family:var(--serif);font-size:clamp(38px,5vw,62px);font-weight:500;line-height:1.18;letter-spacing:-1.7px;margin:16px 0 9px;text-shadow:0 3px 30px #000b}
.awards-heading>p{color:#b7efe3;font-size:clamp(12px,1.5vw,17px);letter-spacing:.45px;line-height:1.5}
.awards-count{margin-top:17px;display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.5;color:#dccdaf;border:1px solid #d1b47538;border-radius:30px;padding:7px 12px;background:#060e1bd9}
.awards-count .icon{height:14px;width:14px;color:var(--award-gold)}
.awards-count strong{color:#fff1cf;font-weight:600}
.award-hero{position:relative;margin:0 auto 34px;max-width:710px}
.award-hero-button{width:100%;display:flex;flex-direction:column;align-items:center;background:transparent;padding:0 14px 8px;border-radius:24px;position:relative;min-width:0}
.award-hero-button:focus-visible{outline-offset:0}
.award-hero-art{display:block;width:clamp(220px,34vw,380px);max-width:92%;aspect-ratio:1;position:relative;z-index:1;filter:drop-shadow(0 15px 22px #020710bd)}
.award-art{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 9px #0006);pointer-events:none}
.is-locked .award-art{filter:saturate(.72) brightness(.88) drop-shadow(0 8px 9px #0006)}
.award-hero-art:before{content:'';position:absolute;inset:18%;border-radius:50%;background:#d9b96612;box-shadow:0 0 65px 25px #deb76813;z-index:-1}
.award-hero-plinth{position:relative;display:flex;align-items:center;flex-direction:column;width:min(100%,510px);margin-top:-10px;padding:22px 22px 20px;border-top:1px solid #f3d99b82;border-bottom:1px solid #d4a95444;border-radius:50% 50% 15px 15px/15px 15px 10px 10px;background:linear-gradient(168deg,transparent 32%,#b3996330 32.3%,transparent 32.7%),linear-gradient(13deg,transparent 75%,#cab07512 75.4%,transparent 77%),linear-gradient(160deg,#1d2633,#080e19 49%,#202532);box-shadow:0 19px 25px #0006}
.award-hero-kicker{font-size:8px;letter-spacing:2px;line-height:1.6;color:#ceb990;margin-bottom:6px}
.award-hero-name{font-family:var(--serif);font-size:34px;line-height:1.2;font-weight:500;color:#fff1d0;text-shadow:0 1px 12px #eec47422}
.award-hero-description{font-size:12px;letter-spacing:.7px;color:#b5e4dc;margin-top:8px;line-height:1.6}
.award-state{font-family:var(--sans);font-size:10px;font-weight:500;color:#d0c7b7;display:inline-flex;align-items:center;justify-content:center;gap:5px;line-height:1.4;margin:12px 0 0}
.award-state .icon{height:12px;width:12px;stroke-width:2}
.award-state.is-earned{color:#f3d99e}
.award-progress{display:flex;flex-direction:column;gap:7px;font:400 10px/1.45 var(--sans);color:#d0d4dd;min-width:0;width:100%;max-width:220px;margin:9px auto 0}
.award-progress-track{display:block;height:3px;border-radius:10px;background:#abbfd92b;overflow:hidden}
.award-progress-track>i{display:block;height:100%;background:linear-gradient(90deg,#a87a37,#ffdc96);border-radius:10px}
.award-section-heading{text-align:center;margin:0 0 22px}
.award-section-heading h2{font-family:var(--serif);font-size:27px;line-height:1.3;font-weight:400;letter-spacing:-.5px;color:#fff0d3}
.award-section-heading p{font-size:12px;color:#b1dcd4;letter-spacing:.4px;line-height:1.6;margin-top:8px}
.award-section-heading .eyebrow{color:#d1b883;font-size:8px;letter-spacing:1.8px;margin-bottom:10px}
.award-world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:980px;margin:auto}
.award-card{display:flex;align-items:center;flex-direction:column;position:relative;min-width:0;border:1px solid #b98b4987;border-radius:20px;padding:13px 14px 19px;background:radial-gradient(ellipse at 50% 25%,#233b5659,transparent 70%),linear-gradient(145deg,#0b1524ef,#070e1aeF);box-shadow:inset 0 0 0 1px #010710a6,0 10px 22px #0002;transition:border-color .2s,background .2s,transform .2s;text-align:center}
.award-card:hover{border-color:#f6d18f;background:radial-gradient(ellipse at 50% 25%,#3b496359,transparent 70%),#0d1929;transform:translateY(-3px)}
.award-card.is-earned{border-color:#e8be6cc4;box-shadow:inset 0 0 28px #e7b56208,0 7px 22px #0003}
.award-image-wrap{display:block;width:100%;max-width:220px;aspect-ratio:1;position:relative;margin:-5px 0 5px}
.award-name{display:block;font-family:var(--serif);font-size:clamp(15px,1.9vw,22px);font-weight:500;line-height:1.3;color:#fff0d4;margin-top:1px}
.award-card .award-state{margin-top:9px}
.award-card .award-progress{margin-top:9px;max-width:200px;font-size:10px}
.award-divider{display:flex;align-items:center;justify-content:center;gap:18px;margin:36px auto;color:#f2d399;font-size:18px}
.award-divider>span{height:1px;width:70px;background:linear-gradient(90deg,transparent,#b99756)}
.award-divider>span:last-child{transform:rotate(180deg)}
.award-milestone-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.award-milestone-grid .award-card{padding:9px 9px 15px;border-color:#a48f6a55;border-radius:16px}
.award-milestone-grid .award-name{font-size:16px}
.award-milestone-grid .award-state{font-size:9px;gap:3px}
.award-milestone-grid .award-progress{font-size:9px}
.award-milestone-grid .award-image-wrap{margin-bottom:8px}
.awards-footer{display:flex;flex-direction:column;align-items:center;gap:11px;margin:33px auto 0;padding:26px 15px 0;max-width:450px;border-top:1px solid #b4935938;text-align:center}
.awards-footer>.icon{color:#c3a26e;width:18px;height:18px}
.awards-footer p{font-size:11px;color:#abb9c9;line-height:1.9}

/* The mission shelf and cabinet show the same earned awards. */
.keepsake-shelf .keepsake-medal,.keepsake-shelf .keepsake.earned .keepsake-medal{background:none;border:0;box-shadow:none;width:100px;height:100px;max-width:100%;margin-bottom:0;overflow:visible}
.keepsake-shelf .keepsake-medal .award-art{object-fit:contain}
.keepsake:not(.earned) .award-art{filter:saturate(.72) brightness(.88) drop-shadow(0 4px 5px #0006)}
.keepsake-shelf .keepsake-medal i{right:5px;bottom:4px;width:20px;height:20px;background:#ffe0a1;color:#17202c;box-shadow:0 1px 7px #0009;font-size:12px}
.keepsake-shelf .keepsake.earned strong,.keepsake-shelf .keepsake.earned>span:last-child{color:#ffe0a1}
.keepsake-shelf .keepsake-grid{margin-top:18px}
.keepsake-shelf .text-button{color:#efd398;margin-top:14px}

/* Larger medals in a native, keyboard-accessible modal. */
dialog[data-award]{--serif:'Playfair Display',Georgia,serif;background:radial-gradient(ellipse at 50% 30%,#20344e,#080f1e 70%);border:1px solid #bd9a59a6;max-width:500px;padding-top:36px}
dialog[data-award] h2{font-family:var(--serif);text-align:center;color:#fff0d2;padding:0 15px;margin:0 0 6px;font-weight:500}
dialog[data-award] .dialog-close{width:36px;height:36px;right:10px;top:9px}
.award-detail{text-align:center}
.award-detail-art{width:min(100%,300px);aspect-ratio:1;margin:0 auto -5px}
.award-detail>.award-state{margin:0 auto 17px;padding:6px 11px;border:1px solid #be985949;background:#050b1699;border-radius:20px;font-size:11px}
dialog .award-requirement{color:#f4e8cf;font-size:14px;line-height:1.7;margin:0 auto 16px;max-width:340px}
.award-detail .award-progress{max-width:300px;font-size:12px;gap:10px}
.award-detail .award-progress-track{height:5px}
dialog .award-detail-note{font-size:11px;line-height:1.7;margin:17px auto 0;color:#afc0cc;max-width:330px}
dialog[data-award] .btn.primary{background:linear-gradient(135deg,#ffe7ad,#e7bb70);color:#192333}

/* New awards stay beside the result; they never interrupt the next move. */
.new-awards{--serif:'Playfair Display',Georgia,serif;position:relative;isolation:isolate;overflow:hidden;margin:26px 0 21px;padding:21px 17px 12px;border:1px solid #d4ad6277;border-radius:18px;background:radial-gradient(ellipse at 25% 0,#c9a25512,transparent 60%),#081321;text-align:left}
.new-awards>.eyebrow{font-size:7px;letter-spacing:1.4px;color:#e1c184}
.new-awards h3{font-family:var(--serif);color:#ffe1a6;font-size:25px;font-weight:400;line-height:1.3;margin:8px 0 16px}
.new-awards-list{display:grid;gap:14px}
.new-award{display:flex;align-items:center;gap:14px;background:transparent;padding:0;text-align:left;width:100%;min-width:0;border-radius:10px}
.new-award-art{width:96px;height:96px;flex-shrink:0;display:block}
.new-award>span:last-child{display:flex;flex-direction:column;gap:6px;min-width:0}
.new-award strong{font-family:var(--serif);font-size:19px;font-weight:400;line-height:1.3;color:#fff0d7}
.new-award>span>span{font-size:11px;line-height:1.5;color:#c1ccd5}
.new-award .new-award-link{font-size:10px;color:#ffe0a5;display:flex;align-items:center;gap:6px;margin-top:2px}
.new-award-link .icon{height:14px;width:14px}
.new-awards>.text-button{font-size:10px;color:#d7c39a;margin-top:10px;min-height:44px}
.award-arrival:after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#fff4d914 43%,#fff4d920 49%,transparent 64%);transform:translateX(-120%);animation:award-shimmer 1.4s ease-out .15s 1}
@keyframes award-shimmer{0%{transform:translateX(-120%)}100%{transform:translateX(120%)}}

.high-contrast .award-card,.high-contrast .award-hero-plinth,.high-contrast .new-awards,.high-contrast dialog[data-award]{border-color:#ffe0a1}
.high-contrast .award-state,.high-contrast .award-progress,.high-contrast .awards-footer p,.high-contrast .award-detail-note{color:#f3eee2}
.high-contrast .award-progress-track{background:#8194ae}
.high-contrast .award-art{filter:none}
.high-contrast .award-hero-kicker{color:#ffdfa4}

@media(min-width:801px) and (max-height:810px){.side-nav{margin-top:23px;gap:3px}.side-nav .nav-item{padding-top:11px;padding-bottom:11px}.sidebar .wordmark{margin-top:38px}.sidebar-bottom{padding-top:20px}.sidebar-bottom>p{margin-bottom:14px}}
@media(max-width:1100px){.awards-cabinet{padding-left:24px;padding-right:24px}.award-milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.award-milestone-grid .award-name{font-size:18px}.award-milestone-grid .award-image-wrap{max-width:165px}}
@media(max-width:800px){.awards-cabinet{padding:99px 24px calc(102px + env(safe-area-inset-bottom,0))}.awards-cabinet:before{height:820px}.awards-cabinet:after{top:78px;left:10px;right:10px;height:650px}.awards-heading h1{font-size:44px}.award-hero-art{width:330px;max-width:90%}.award-hero{margin-bottom:30px}.award-world-grid{gap:12px}.award-card{border-radius:16px;padding:10px 10px 16px}.award-name{font-size:19px}.award-milestone-grid .award-name{font-size:17px}.award-section-heading h2{font-size:26px}.mobile-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding-left:7px;padding-right:7px;gap:0}.mobile-nav .nav-item{min-width:0;max-width:100%;padding:7px 2px;font-size:10px;gap:6px}.mobile-nav .nav-item.active{color:#ffe1a4;background:#ffe0a10a}.mobile-nav .nav-item[data-action="awards"].active:before{content:'';position:absolute;top:0;left:13%;right:13%;height:2px;background:linear-gradient(90deg,transparent,#ffe0a4,transparent);box-shadow:0 0 10px #ffd68c66}.mobile-nav .nav-item[data-action="awards"].active .icon{fill:#ffe2a318;filter:drop-shadow(0 0 6px #fbd99988)}}
@media(max-width:540px){.awards-cabinet{padding-left:16px;padding-right:16px}.awards-heading .eyebrow{font-size:7px;letter-spacing:1.8px}.awards-heading h1{font-size:40px;letter-spacing:-1.2px;margin-top:12px}.awards-heading>p{font-size:12px;letter-spacing:.1px}.awards-count{font-size:10px;margin-top:13px}.award-hero-art{width:285px}.award-hero-plinth{padding:19px 18px 18px;margin-top:-5px}.award-hero-name{font-size:30px}.award-hero-description{font-size:11px}.award-hero-kicker{font-size:7px}.award-hero{margin-bottom:28px}.award-section-heading{margin-bottom:17px}.award-section-heading h2{font-size:24px}.award-section-heading p{font-size:11px}.award-world-grid{gap:10px}.award-card{padding:8px 7px 13px;border-radius:14px}.award-name{font-size:15px}.award-image-wrap{margin:-2px 0 4px}.award-card .award-state{font-size:10px;gap:3px;line-height:1.4;margin-top:8px}.award-state .icon{width:10px;height:10px}.award-card .award-progress{font-size:10px;line-height:1.4;gap:7px;margin-top:8px}.award-milestone-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.award-milestone-grid .award-card{padding:10px 12px 15px}.award-milestone-grid .award-name{font-size:17px}.award-milestone-grid .award-state,.award-milestone-grid .award-progress{font-size:10px}.award-milestone-grid .award-image-wrap{max-width:145px}.award-divider{margin:27px auto}.awards-footer{padding-left:0;padding-right:0}.awards-footer p{font-size:10px}.keepsake-shelf .keepsake-medal,.keepsake-shelf .keepsake.earned .keepsake-medal{width:84px;height:84px}.new-awards{padding:19px 13px 10px}.new-awards h3{font-size:23px}.new-award{gap:10px}.new-award-art{width:82px;height:82px}.new-award strong{font-size:18px}.new-award>span>span{font-size:10px}dialog[data-award]{padding:38px 22px 23px}dialog[data-award] h2{font-size:27px}.award-detail-art{width:260px;max-width:100%}.award-detail>.award-state{font-size:11px}.award-detail .award-state .icon{width:13px;height:13px}dialog .award-requirement{font-size:13px}}
@media(max-width:360px){.awards-cabinet{padding-left:12px;padding-right:12px}.awards-heading h1{font-size:35px}.awards-heading>p{font-size:11px}.award-hero-button{padding-left:3px;padding-right:3px}.award-hero-art{width:245px}.award-world-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.award-card{padding:10px 9px 13px}.award-name{font-size:17px}.award-card .award-state,.award-card .award-progress{font-size:9px}.award-milestone-grid .award-name{font-size:15px}.award-milestone-grid .award-state,.award-milestone-grid .award-progress{font-size:9px}.award-section-heading h2{font-size:22px}.new-award-art{width:67px;height:67px}.new-awards h3{font-size:21px}.new-award strong{font-size:16px}.mobile-nav{padding-left:4px;padding-right:4px}.mobile-nav .nav-item{font-size:10px;padding-left:0;padding-right:0}.mobile-nav .nav-item .icon{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.award-arrival:after{display:none}.award-card,.award-art{transition:none;animation:none}.award-card:hover{transform:none}}
.reduced-motion .award-arrival:after{display:none}.reduced-motion .award-card:hover{transform:none}

.side-nav .nav-item[data-action="awards"].active{color:#ffe1a4;background:#ffe0a10a}.side-nav .nav-item[data-action="awards"].active i{background:#ffe1a4}
