@font-face{font-family:Nunito;src:url('assets/nunito_regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Nunito;src:url('assets/nunito_bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Lilita;src:url('assets/lilita_one.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#101c29;--panel:#142333;--text:#cbd5e1;--cream:#f5e7ca;--gold:#e1b86b}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(#101c29ed,#101c29ed),url('assets/barracks_wall.png') repeat;color:var(--text);font:17px/1.75 Nunito,"Noto Sans",system-ui,sans-serif}
.page{max-width:850px;margin:auto;padding:28px 32px 24px}
header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.brand{display:flex;align-items:center;gap:12px;color:var(--cream);font:30px/1 Lilita,system-ui,sans-serif}
.brand img{border-radius:12px}
.language{display:flex;align-items:center;gap:10px;font-size:14px}
[hidden]{display:none!important}
select{min-height:44px;max-width:100%;padding:8px 28px 8px 12px;border:1px solid #697583;border-radius:6px;background:var(--panel);color:var(--cream);font:inherit;cursor:pointer}
main{background:var(--panel);border:1px solid #53606b;border-top:4px solid var(--gold);border-radius:8px;padding:32px 40px}
.intro{padding-bottom:20px;border-bottom:1px solid #41505e}
h1{font:clamp(30px,5vw,40px)/1.2 Lilita,system-ui,sans-serif;color:var(--cream);margin:0 0 12px}
html:lang(ja) h1,html:lang(ko) h1,html:lang(zh-Hans) h1{font-family:system-ui,sans-serif;font-weight:700}
.date{font-size:14px;color:var(--gold);margin-bottom:16px}
h2{font-size:20px;line-height:1.4;color:var(--cream);margin:0 0 8px;font-weight:700}
p{margin:0 0 12px}p:last-child{margin-bottom:0}
section{margin-top:26px}
a{color:var(--gold);text-decoration-thickness:1px;text-underline-offset:4px;overflow-wrap:anywhere}
a:hover{color:var(--cream)}
a:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.contact{border-top:1px solid #41505e;padding-top:24px}
footer{padding:22px 0 0;color:var(--text);font-size:13px;text-align:center}footer span{margin:0 8px;color:var(--gold)}
@media(max-width:540px){.page{padding:20px 16px}header{align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px}.brand{font-size:28px}.brand img{width:48px;height:48px}.language{margin-left:auto}main{padding:24px 20px}body{font-size:16px}h2{font-size:19px}section{margin-top:24px}}
@media(max-width:360px){.language{width:100%;margin:0;justify-content:space-between}}
@media print{body,main{background:white;color:#222}h1,h2,.brand,.date,a{color:#222}.language{display:none}main{border:0;padding:0}.page{max-width:none;padding:0}header{margin-bottom:20px}}
