/* Language disclosure, shared by homepage, Events and contest. */
.header{position:relative;z-index:5;gap:1.5rem}
.header nav{margin-left:auto}
.language-picker{position:relative;flex-shrink:0;-webkit-text-stroke:0}
.language-toggle{display:flex;align-items:center;gap:.45rem;min-width:5rem;min-height:2.75rem;padding:.5rem .55rem;border:1px solid #31516a;border-radius:.25rem;color:#95d3ff;background:#000609;cursor:pointer}
.language-toggle:hover,.language-toggle[aria-expanded=true]{background:#082c46;border-color:#4b9ace}
.language-code{font-size:.8rem;font-weight:700}
.language-options{position:absolute;right:0;top:calc(100% + .55rem);min-width:11rem;max-height:70vh;overflow-y:auto;overscroll-behavior:contain;padding:.4rem;border:1px solid #4b9ace;border-radius:.3rem;background:#071723;box-shadow:0 12px 32px #0009;z-index:20}
.language-options[hidden]{display:none}
.language-options button{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;width:100%;min-height:2.8rem;padding:.6rem .8rem;background:transparent;border:0;border-radius:.15rem;color:#c6e2fa;text-align:left;cursor:pointer;font-size:.9rem;-webkit-text-stroke:0}
.language-options button:hover,.language-options button:focus-visible{background:#0c3550}
.language-options button[aria-pressed=true]{color:#d8ecfc;background:#0c3550}
.language-options button[aria-pressed=true]::after{content:'✓';color:#62c3ff}
html:lang(zh){font-family:Manrope,'Microsoft YaHei','PingFang SC','Noto Sans SC',sans-serif}
html:lang(zh) body{font-family:inherit;-webkit-text-stroke:.35px var(--stroke)}
html:lang(zh-Hant){font-family:Manrope,'Microsoft JhengHei','PingFang TC','Noto Sans TC',sans-serif}
html:lang(zh) h1,html:lang(zh) h2,html:lang(zh) h3{font-family:inherit;line-height:1.25;letter-spacing:0;word-break:normal}
html:lang(zh) .hero h1{font-size:clamp(3rem,7vw,7.2rem);line-height:1.3;-webkit-text-stroke:1.3px var(--stroke)}
html:lang(zh) .hero h1 span{white-space:nowrap}
html:lang(zh) .studio h2{font-size:clamp(2rem,3.5vw,4rem)}
html:lang(zh) .promo-title{font-size:clamp(1.4rem,2.1vw,2.2rem)}
html:lang(zh) .promo-prize{font-family:'Barlow Condensed',sans-serif}
html:lang(zh) .contest-hero h1{font-size:clamp(2.8rem,4.8vw,5.5rem)}
html:lang(zh) .contest-page h2{font-size:clamp(2.2rem,3.8vw,4rem)}
html:lang(zh) .category-card h3{font-size:clamp(1.8rem,2.8vw,3.2rem)}
html:lang(zh) .steps h3,html:lang(zh) .eligibility h3{font-size:1.5rem}
html:lang(zh) .dates strong{font-family:inherit;font-size:2.3rem;font-weight:700;line-height:1.3}
html:lang(zh) .events-hero h1{font-size:clamp(3rem,6vw,6rem)}
html:lang(zh) .event-copy h2{font-size:clamp(2rem,3.8vw,4rem)}
html:lang(zh) .button{white-space:normal;text-align:center}
@media(max-width:760px){.header .language-picker{margin-left:auto}.header nav{margin-left:0}.language-toggle{min-width:4.5rem}.header{gap:1rem}.language-options{min-width:10rem}html:lang(zh) .hero h1{font-size:clamp(2.7rem,10vw,4.2rem)}html:lang(zh) .contest-hero h1{font-size:clamp(2.8rem,10vw,4rem)}html:lang(zh) .contact h2{font-size:3.5rem}html:lang(zh) .game h2{font-size:3rem}html:lang(zh) .brand{font-size:1rem}}

/* Local typefaces and flexible wrapping for the additional languages. */
html:lang(ja){font-family:Manrope,'Yu Gothic','Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif}
html:lang(ko){font-family:Manrope,'Malgun Gothic','Apple SD Gothic Neo','Noto Sans KR',sans-serif}
html:is(:lang(ja),:lang(ko)) body{font-family:inherit;-webkit-text-stroke:.35px var(--stroke)}
html:is(:lang(ja),:lang(ko)) h1,html:is(:lang(ja),:lang(ko)) h2,html:is(:lang(ja),:lang(ko)) h3{font-family:inherit;line-height:1.3;letter-spacing:0}
html:is(:lang(ja),:lang(ko)) .hero h1{font-size:clamp(2.5rem,5.6vw,6rem);line-height:1.4;-webkit-text-stroke:1.3px var(--stroke)}
html:is(:lang(ja),:lang(ko)) .contest-hero h1{font-size:clamp(2.5rem,4.8vw,5.5rem)}
html:is(:lang(ja),:lang(ko)) .contest-page h2,html:is(:lang(ja),:lang(ko)) .event-copy h2{font-size:clamp(2rem,3.6vw,3.8rem)}
html:is(:lang(ja),:lang(ko)) .category-card h3{font-size:clamp(1.8rem,2.8vw,3rem)}
html:is(:lang(ja),:lang(ko)) .studio h2{font-size:clamp(2rem,3.2vw,3.5rem)}
html:is(:lang(ja),:lang(ko)) .steps h3,html:is(:lang(ja),:lang(ko)) .eligibility h3{font-size:1.5rem}
html:is(:lang(ja),:lang(ko)) .dates strong{font-family:inherit;font-size:2.3rem;line-height:1.3}
html:is(:lang(ja),:lang(ko)) .events-hero h1{font-size:clamp(2.7rem,5.4vw,5.5rem)}
html:is(:lang(ja),:lang(ko)) .promo-title{font-size:clamp(1.25rem,1.9vw,2rem)}
html:is(:lang(ja),:lang(ko)) .promo-prize{font-family:'Barlow Condensed',sans-serif}
html:lang(ko) p{word-break:keep-all;overflow-wrap:anywhere}
html:lang(ru) h1,html:lang(ru) h2,html:lang(ru) h3{font-family:Manrope,Arial,sans-serif;line-height:1.15;letter-spacing:-.025em}
html:lang(ru) .hero h1{font-size:clamp(2rem,6.4vw,7rem)}
html:lang(ru) .contest-hero h1{font-size:clamp(2.3rem,4.2vw,4.7rem)}
html:lang(ru) .contest-page h2,html:lang(ru) .event-copy h2,html:lang(ru) .studio h2{font-size:clamp(2rem,3.3vw,3.7rem)}
html:lang(ru) .category-card h3{font-size:clamp(1.7rem,2.6vw,2.8rem)}
html:lang(ru) .steps h3,html:lang(ru) .eligibility h3{font-size:1.4rem}
html:lang(ru) .events-hero h1{font-size:clamp(2.4rem,5.5vw,6rem)}
html:lang(ru) .promo-title{font-size:clamp(1.2rem,1.9vw,2rem)}
html:lang(ru) .promo-prize{font-family:'Barlow Condensed',sans-serif}
html:is(:lang(fr),:lang(de),:lang(es),:lang(pt)) .hero h1{font-size:clamp(3rem,8vw,8.6rem)}
html:not(:lang(en)) .button{white-space:normal;text-align:center}
html:not(:lang(en)) .hero-bottom .button{max-width:22rem}
html:not(:lang(en)) .category-card,html:not(:lang(en)) .event-copy,html:not(:lang(en)) .promo-copy{min-width:0;overflow-wrap:anywhere;hyphens:auto}
html:not(:lang(en)) .reward{flex-wrap:wrap;gap:.65rem 1rem}
html:not(:lang(en)) .steps li,html:not(:lang(en)) .eligibility-grid>div,html:not(:lang(en)) .dates>div{min-width:0;overflow-wrap:anywhere;hyphens:auto}
html:not(:lang(en)) .section-heading{align-items:center}
html:not(:lang(en)) .prize-banner>p{min-width:0}
html:not(:lang(en)) .hero-art figcaption{letter-spacing:.04em}
html:is(:lang(fr),:lang(de),:lang(ru),:lang(es),:lang(pt)) .submit-action .button{font-size:1.15rem;gap:1rem}
@media(max-width:1050px) and (min-width:761px){html:not(:lang(en)) .prize-banner{grid-template-columns:auto 1fr;gap:1rem 2rem}html:not(:lang(en)) .submit-action{grid-column:2;grid-row:1 / span 2;justify-self:end}html:not(:lang(en)) .prize-banner>p{grid-column:1}}
@media(max-width:760px){html:is(:lang(fr),:lang(de),:lang(es),:lang(pt)) .hero h1{font-size:clamp(2.5rem,9.5vw,5rem)}html:lang(ru) .hero h1{font-size:clamp(1.8rem,7.1vw,4rem)}html:is(:lang(ja),:lang(ko)) .hero h1 span{white-space:nowrap}html:not(:lang(en)) .section-heading{display:block}html:not(:lang(en)) .section-label{flex-wrap:wrap}html:not(:lang(en)) .hero-art figcaption{flex-wrap:wrap}html:is(:lang(ja),:lang(ko),:lang(ru)) .contact h2{font-size:3rem}html:lang(ru) .contest-nav{gap:.5rem 1rem}html:not(:lang(en)) .event-promo{overflow-wrap:anywhere}}

/* A compact second entry action after the category cards, without repeating prizes/dates. */
.contest-page .challenge-title{color:#95d3ff;font-size:clamp(1.1rem,1.65vw,1.5rem);font-weight:800;line-height:1.45;margin:0 0 1.25rem;letter-spacing:.015em;text-wrap:balance;overflow-wrap:break-word}
.promo-title,.event-copy h2{text-transform:uppercase}
.promo-title,.event-copy h2{text-wrap:balance;word-break:normal}
@media(max-width:760px){.contest-page .challenge-title{max-width:30rem;margin-bottom:1rem;letter-spacing:0}}
@media(max-width:760px){html:is(:lang(ja),:lang(ko)) .hero h1{font-size:clamp(1.65rem,7.3vw,3.5rem)}}
.contest-page .category-submit{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2rem;padding-top:1.6rem;border-top:1px solid #7aaed2}
.contest-page .category-submit p{margin:0;color:#28475e;font-size:.9rem}
.contest-page .category-submit .button{background:#053252;color:#d8ecfc;border-color:#4b9ace;font-size:1.15rem;font-weight:800;min-width:15rem;max-width:100%;padding:1rem 1.8rem;min-height:3.8rem;gap:2rem}
.contest-page .category-submit .button:hover{background:#0b466b}
@media(max-width:760px){.contest-page .category-submit{flex-direction:column;align-items:stretch;gap:.9rem;margin-top:1.5rem;padding-top:1.4rem}.contest-page .category-submit p{text-align:center;font-size:.8rem}.contest-page .category-submit .button{width:100%;min-width:0}}

/* Official rules and compact entry layout are shared by all locales. */
.official-rules-card{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.official-rules-card>div{max-width:42rem}
.official-rules-card h3{margin:.5rem 0;font-size:2rem}
.rules-kicker{font-size:.65rem;letter-spacing:.12em;color:#95d3ff;font-weight:800}
.official-rules-card .button{flex-shrink:0;font-size:.9rem;padding:1rem 1.4rem}
.contest-page .rules-file-meta{font-size:.72rem;margin-top:.7rem;color:#98c8e8}
.submit-rules-link a,.rules-contact a,.event-rules-link a{text-decoration:underline;text-underline-offset:4px}
.event-rules-link{font-size:.85rem;margin-top:.8rem}
@media(max-width:760px){.official-rules-card{align-items:stretch;flex-direction:column;gap:1.3rem}.official-rules-card .button{width:100%}.rules-contact a{overflow-wrap:anywhere}}

/* Combined quick rules + full PDF: one section after How to enter. */
.rules-overview{position:relative}
.rules-anchor{position:absolute;top:0;scroll-margin-top:6rem}
.rules-overview-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin:2.5rem 0}
.rules-overview-heading h2{margin:0}
.rules-overview-heading p{font-size:.9rem;color:#28485f;margin:0;max-width:28rem}
.quick-rules-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem 2.5rem}
.quick-rules-grid article{border-top:1px solid #81a9c6;padding-top:1.1rem}
.quick-rules-grid h3{font:700 1.65rem 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 .75rem;color:#082b43}
.quick-rules-grid p{font-size:.87rem;color:#28485f;margin:0}
.quick-rules-grid a{font-weight:700}
.rules-overview .rules-note{background:#071723;color:#d8ecfc;border:1px solid #31516a;margin:2.5rem 0 1rem;padding:1.5rem}
.rules-overview .official-rules-card h3{font:700 1.8rem 'Barlow Condensed',sans-serif;text-transform:uppercase}
.rules-overview .rules-note p{color:#a3c5df;font-size:.85rem}
.rules-overview .rules-note .rules-file-meta{font-size:.72rem}
.rules-overview .rules-contact{font-size:.8rem;margin:1rem 0;color:#28485f}
.rules-overview .disclaimer{font-size:.72rem;color:#28485f;max-width:70rem;margin-bottom:0}
.rules-overview [data-other-rules] .eligibility-grid{margin-top:2rem}
@media(max-width:1050px){.quick-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem}}
@media(max-width:760px){.rules-overview-heading{display:block;margin:2rem 0}.rules-overview-heading p{margin-top:1.2rem}.quick-rules-grid{grid-template-columns:1fr;gap:1.3rem}.rules-overview .rules-note{padding:1.25rem;margin-top:2rem}}

/* English review: categories followed by one concise entry section. */
.entry-anchor-group{position:relative;height:0}.entry-anchor-group>span{position:absolute;top:0;scroll-margin-top:6rem}
.entry-compact{background:#053252;color:#d8ecfc}
.entry-compact .section-label{border-color:#4b7796;color:#98c8e8}
.contest-page .entry-compact h2{margin:2rem 0;font-size:clamp(2.8rem,4.8vw,4.5rem)}
.entry-checklist{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:0 0 2rem;padding:0}
.entry-checklist h3{font:700 1.7rem 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 .65rem}
.entry-checklist h3 span{color:#98c8e8;margin-right:.25rem}
.entry-checklist p{font-size:.9rem;color:#b4d5ef;margin:0}
.entry-compact a:not(.button){text-decoration:underline;text-underline-offset:4px}
.entry-date-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-block:1px solid #4b7796;padding:1rem 0}
.entry-date-strip p{margin:0}.entry-date-strip span{display:block;color:#98c8e8;font-size:.65rem;letter-spacing:.08em;margin-bottom:.25rem}.entry-date-strip b{font-size:.95rem}.entry-date-strip small{font-size:.65rem;color:#98c8e8}
.contest-page .entry-eligibility{font-size:.76rem;color:#b4d5ef;max-width:65rem;margin:1.1rem 0 1.5rem}
.entry-final-actions{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.entry-final-actions>.button{min-width:16rem;font-size:1.35rem;padding:1rem 1.7rem}
.entry-pdf{text-align:right}.entry-pdf>a{font-weight:800;font-size:.95rem}.entry-pdf p{font-size:.7rem;color:#98c8e8;margin:.5rem 0 0}
.contest-page .entry-contact{font-size:.75rem;margin:1.5rem 0 .6rem;color:#b4d5ef}
.contest-page .entry-compact .disclaimer{font-size:.66rem;color:#98c8e8;margin:0}
@media(max-width:760px){.entry-checklist{grid-template-columns:1fr;gap:1.2rem}.entry-date-strip{gap:1rem 1.5rem}.entry-date-strip small{width:100%}.entry-final-actions{align-items:stretch;flex-direction:column;gap:1.4rem}.entry-final-actions>.button{min-width:0}.entry-pdf{text-align:left}}

/* Section 02: full-rules button left; primary submission button right. */
.entry-final-actions{align-items:flex-start}
.entry-pdf{text-align:left}
.entry-final-actions .button{min-height:4.3rem}
.entry-pdf>.button{font-size:1.05rem;padding:1rem 1.5rem;text-decoration:none}
@media(max-width:760px){.entry-final-actions{align-items:stretch}.entry-pdf>.button{width:100%}}

/* Darker full-rules button base. */
.contest-page .entry-pdf>.button{background:#05253a}
.contest-page .entry-pdf>.button:hover{background:#08334c}


/* Translated entry copy: fit longer labels without shrinking the primary action. */
.entry-checklist li,.entry-pdf{min-width:0;overflow-wrap:anywhere}
.entry-pdf{max-width:36rem}
.entry-final-actions>.button{flex-shrink:0;max-width:100%}
.entry-compact h2{text-wrap:balance;overflow-wrap:break-word}
.entry-checklist h3{line-height:1.3}
html:is(:lang(zh),:lang(ja),:lang(ko),:lang(ru)) .entry-checklist h3{font-family:Manrope,Arial,sans-serif;font-size:1.4rem}
html:not(:lang(en)) .entry-date-strip b{font-size:.88rem}
html:not(:lang(en)) .entry-pdf>.button{font-size:1rem}
@media(max-width:900px){.entry-final-actions{gap:1.5rem}.entry-final-actions>.button{min-width:13rem}}
@media(max-width:760px){.entry-pdf{max-width:none}.entry-final-actions>.button{min-width:0}.entry-compact .section-label{gap:.6rem;flex-wrap:wrap}.contest-page .entry-compact h2{font-size:clamp(1.8rem,7vw,3rem)}}
