:root{--gold:#d6b676;--muted:#aaa59a;--bg:#111411;--line:#ffffff20;--serif:'Noto Serif JP',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:#eeeae0;font:14px/1.9 'Noto Sans JP',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:#111411f5;position:relative;z-index:5}.brand{font-family:var(--serif);font-size:24px;font-weight:900;letter-spacing:.1em}.brand small{font:8px/1.4 sans-serif;letter-spacing:.2em;display:block;color:var(--gold)}nav{display:flex;gap:38px;align-items:center;font-size:12px}.nav-cta{border:1px solid #b99a5b;padding:10px 24px;color:var(--gold)}.hero{position:relative;min-height:850px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,#8c692423,transparent 58%),radial-gradient(ellipse at 50% 20%,#40402b38,transparent 50%),#111411}.hero:before,.hero:after{content:'';position:absolute;inset:35px;border:1px solid #b89b5038;pointer-events:none}.hero:after{inset:43px;border-color:#b89b5019}.hero-lines{position:absolute;inset:-200px;background:repeating-conic-gradient(from 10deg at 50% 62%,transparent 0deg 10deg,#e4bb6210 10.1deg 10.25deg,transparent 10.35deg 18deg);mask-image:radial-gradient(ellipse,#0000 20%,#000 80%)}.hero-content{position:relative;text-align:center;padding:65px 20px 100px}.eyebrow{font:10px/1.6 sans-serif;letter-spacing:.25em;color:var(--gold);margin:0 0 24px}.year{font:64px/1.2 Georgia,serif;color:var(--gold);letter-spacing:.09em}.year span{font-size:18px;vertical-align:middle;margin:0 20px}.hero-kicker{font:17px var(--serif);letter-spacing:.3em;margin:30px 0 23px}h1{font:600 clamp(35px,5vw,66px)/1.65 var(--serif);letter-spacing:.1em;margin:0;text-shadow:0 3px 28px #d4aa4930}h1 span{display:block}.hero-rule{width:70px;height:1px;background:var(--gold);margin:27px auto}.hero-copy{font:15px/2.1 var(--serif);color:#c8c6ba;margin-bottom:30px}.gold-button{background:linear-gradient(110deg,#d4b370,#eddbad 48%,#bea067);border:1px solid #f1d7a3;color:#282517;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 26px;font-weight:600;font-size:13px;text-align:center;transition:filter .2s}.hero .gold-button{width:380px;max-width:100%;margin:auto}.gold-button:hover{filter:brightness(1.13)}.deadline{font-size:11px;color:#b9b7a9;letter-spacing:.08em;margin-top:22px}.deadline b{font:700 24px/1.2 "Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-variant-numeric:lining-nums tabular-nums;color:var(--gold);padding:0 7px}.deadline i{font-style:normal;margin:0 12px;color:#656452}.vertical{position:absolute;right:6%;top:27%;writing-mode:vertical-rl;font:12px var(--serif);letter-spacing:.25em;color:#a39b83}.scroll{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);font:8px sans-serif;letter-spacing:.23em;color:#aaa18b}.scroll span{display:block;text-align:center;font-size:22px;margin-top:12px}.edition{position:absolute;left:6%;bottom:65px;font:8px/1.5 sans-serif;letter-spacing:.2em;color:#a99b7b}.edition b{font:700 30px/1.2 "Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;font-variant-numeric:lining-nums tabular-nums;display:block}.announcement{display:flex;justify-content:center;align-items:center;gap:36px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 5%;background:#1d211b}.announcement span{font:9px sans-serif;letter-spacing:.16em;color:var(--gold)}.announcement p{font-size:12px}.section{max-width:1200px;margin:auto;padding:105px 55px}h2{font:500 clamp(25px,3vw,37px)/1.8 var(--serif);margin:0 0 25px;letter-spacing:.04em}h2 em{font-style:normal;color:var(--gold)}.about{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.about-copy{padding-top:39px;color:#c3c4b9;line-height:2.2}.about-copy p{margin:0 0 24px}.small-note{font-size:11px;color:#92968a;border-top:1px solid var(--line);padding-top:20px}.archive{max-width:none;background:#191d18;padding-left:max(5%,calc((100vw - 1090px)/2));padding-right:max(5%,calc((100vw - 1090px)/2))}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}.section-heading h2{font-size:30px}.text-link{font-size:11px;color:var(--gold);border-bottom:1px solid #d6b67666;padding-bottom:7px}.filters{display:flex;gap:12px;margin:25px 0 35px;flex-wrap:wrap}.filters button,.outline-button{background:transparent;border:1px solid #ffffff30;color:#cbcabe;padding:9px 20px;font-size:12px}.filters button.active{color:#252719;background:var(--gold);border-color:var(--gold)}.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.award-card{border:1px solid #b69b593c;padding:27px;background:linear-gradient(145deg,#32372a66,#171b17);position:relative;min-height:300px}.award-symbol{font:52px/1.2 Georgia;color:#a78a4e;margin-bottom:30px;opacity:.85}.award-symbol small{font:9px sans-serif;letter-spacing:.13em;margin-left:10px;vertical-align:middle}.award-card .tag{font-size:9px;letter-spacing:.09em;color:var(--gold)}.award-card h3{font:500 19px/1.7 var(--serif);margin:10px 0 14px}.award-card p{font-size:12px;color:#adafa3;line-height:1.9}.award-card .award-name{font-size:11px;color:#d2c5a1;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.archive-source{font-size:10px;color:#92978a;margin-top:25px}.invitation{padding:90px 20px;text-align:center;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at center,#8b763d18,transparent 65%)}.invitation h2{font-size:30px}.invitation>p:last-child{font-size:13px;color:#aaa}.nomination{display:grid;grid-template-columns:1fr 1.35fr;gap:80px}.form-intro>p:not(.eyebrow){font-size:12px;color:#aeb2a5}.form-intro dl{font-size:12px;border-top:1px solid var(--line);margin:35px 0}.form-intro dt{color:var(--gold);padding-top:20px}.form-intro dd{margin:4px 0 0}.demo-note{border:1px solid #b69b5945;padding:18px;font:9px/1.8 sans-serif;letter-spacing:.1em;color:var(--gold)}.demo-note span{display:block;font:11px/1.9 'Noto Sans JP';letter-spacing:0;color:#aeb2a5;margin-top:6px}form{background:#1b201a;padding:32px;border:1px solid var(--line)}.form-title{font:20px var(--serif);border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:25px;display:flex;justify-content:space-between;align-items:center}.form-title span{font:10px sans-serif;color:#aaa}label{display:block;font-size:12px;margin-bottom:22px}label b{color:var(--gold)}input,select,textarea{display:block;width:100%;margin-top:9px;border:1px solid #ffffff29;background:#111610;color:#e4e3d9;padding:13px;border-radius:0;outline-offset:2px;color-scheme:dark}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:1px solid var(--gold)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-help{display:block;font-size:10px;color:#a2a799;margin:8px 0}.check{display:flex;gap:10px;align-items:start;margin:22px 0}.check input{width:16px;margin:4px 0;accent-color:var(--gold)}form .gold-button{width:100%}.faq{border-top:1px solid var(--line);max-width:1000px}.faq h2{font-size:29px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:13px}.faq details p{color:#aaa;font-size:12px}footer{border-top:1px solid var(--line);padding:45px 5%;display:flex;align-items:center;gap:25px;flex-wrap:wrap}footer p{font-size:10px;color:#aaa}footer button{margin-left:auto;background:none;border:0;color:var(--gold);font-size:11px}footer small{font-size:9px;color:#777;width:100%}dialog{background:#1b201a;color:#eee;border:1px solid var(--gold);padding:35px;max-width:600px;width:90%;max-height:85vh}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}dialog h2{font-size:25px}.dialog-actions{display:flex;gap:12px;margin-top:25px}.dialog-actions .gold-button{font-size:12px;padding:14px}.confirm-item{border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere;white-space:pre-wrap}.confirm-item small{display:block;color:var(--gold)}[hidden]{display:none!important}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.stats>div{padding:25px;border:1px solid var(--line);font-size:12px;color:#aaa}.stats strong{display:block;font:38px Georgia;color:var(--gold)}.admin-toolbar{display:flex;gap:15px;margin-bottom:25px}.admin-toolbar input{flex:1;margin:0}.admin-toolbar select{width:auto;margin:0}.admin-description{color:#aaa}.entry{border:1px solid var(--line);padding:25px;margin-bottom:18px}.entry summary{cursor:pointer;font-size:16px}.entry .entry-meta{font-size:10px;color:var(--gold)}.entry p{white-space:pre-wrap;overflow-wrap:anywhere}.entry-controls{display:grid;grid-template-columns:1fr 1fr;gap:15px}.entry label{margin-top:15px}.empty{padding:50px;border:1px solid var(--line);text-align:center;color:#aaa}@media(min-width:1600px){.hero{min-height:900px}}@media(max-width:760px){header{height:74px;padding:0 6%}.brand{font-size:19px}nav{gap:16px}nav>a:not(.nav-cta){display:none}.nav-cta{padding:7px 16px}.hero{min-height:780px}.hero:before{inset:15px}.hero:after{inset:21px}.hero-content{padding:70px 28px 110px;width:100%}.year{font-size:50px}.year span{margin:0 12px}.hero-kicker{font-size:14px}h1{font-size:35px;letter-spacing:.07em}.hero-copy{font-size:13px}.vertical{display:none}.edition{bottom:65px;left:9%;font-size:7px}.edition b{font-size:22px}.hero .gold-button{font-size:12px;padding:17px}.announcement{gap:10px;padding:18px 7%;display:block}.announcement p{font-size:11px;margin:7px 0 0}.announcement>span:last-child{display:none}.section{padding:65px 7%}.about,.nomination{grid-template-columns:1fr;gap:25px}.about-copy{padding-top:0}.section-heading{display:block}.section-heading h2{font-size:25px}.award-grid{grid-template-columns:1fr}.award-card{min-height:0;padding:25px}.award-symbol{margin-bottom:20px}.filters{gap:8px}.filters button{font-size:10px;padding:8px 12px}.invitation{padding:65px 7%}.invitation h2{font-size:24px}.nomination{gap:30px}form{padding:23px}.form-row{grid-template-columns:1fr}.form-title{font-size:18px}.stats{gap:10px}.stats>div{padding:15px}.admin-toolbar{flex-wrap:wrap}.admin-toolbar input{flex-basis:100%}.admin-toolbar select{flex:1}.entry-controls{grid-template-columns:1fr}footer{padding:30px 7%;gap:12px}footer button{margin-left:0}footer p{width:100%}.dialog-actions{flex-direction:column}}
.past-year{margin-top:35px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.past-year summary{cursor:pointer;font:20px var(--serif);color:var(--gold);list-style:none}.past-year summary span{float:right}.past-year p{font-size:12px;color:#aaa}.past-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.past-images img{width:100%;height:auto;display:block}@media(max-width:760px){.past-images{grid-template-columns:1fr}}

.admin-toolbar{flex-wrap:wrap}.admin-toolbar input{min-width:220px}.stats{grid-template-columns:minmax(150px,240px)}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.privacy{font-size:12px;color:#b9bdaf;border-top:1px solid var(--line)}.privacy h2{font-size:25px}.login-panel{max-width:580px}#login-error{color:#ffc0a8}.admin-description a{color:var(--gold)}.entry-save-state{color:var(--gold)}

/* Keep the hero centered within narrow mobile viewports. */
.hero{grid-template-columns:minmax(0,1fr)}
.hero-content{min-width:0;max-width:100%;justify-self:center}
.hero .cta-label{flex:1;min-width:0;text-align:center;overflow-wrap:anywhere}
.hero .cta-arrow{flex:0 0 auto}
@media(max-width:760px){
 .hero-content{padding-left:24px;padding-right:24px;text-align:center}
 .hero h1{font-size:clamp(25px,7.5vw,35px);letter-spacing:.06em}
 .hero .gold-button{width:100%;max-width:360px;min-width:0;gap:12px;padding:16px 18px;line-height:1.8}
 .hero .eyebrow{font-size:9px;letter-spacing:.18em;overflow-wrap:anywhere}
 .hero .deadline{letter-spacing:0;font-size:10px}
 .hero .deadline i{margin:0 5px}
}

.invitation-line{display:inline-block;white-space:nowrap}
.invitation-break{display:none}
@media(max-width:760px){.invitation h2{font-size:clamp(20px,6vw,24px)}.invitation-break{display:block}}

.privacy h3{font-family:var(--serif);font-size:20px;font-weight:500;color:#eeeae0;margin:32px 0 16px;line-height:1.7}
