:root{--bg:#0b1420;--fg:#e6f0f0;--muted:#9bb0b6;--teal:#2ed6c4;--amber:#ffb020;--card:#111f2e;--line:#22364a}
@media (prefers-color-scheme:light){:root{--bg:#f6f9f9;--fg:#14212b;--muted:#4d6068;--teal:#0a6f65;--amber:#8a5200;--card:#fff;--line:#cfdcdf}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 -apple-system,"Segoe UI",Roboto,"Noto Sans","PingFang SC","Hiragino Sans","Malgun Gothic",sans-serif}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--card);padding:8px;z-index:9}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.top{border-bottom:1px solid var(--line);background:var(--card)}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding-top:10px;padding-bottom:10px}
.brand{display:flex;align-items:center;gap:10px;color:var(--amber);font-weight:700;text-decoration:none;min-height:44px}
.brand img{border-radius:8px}
nav{display:flex;flex-wrap:wrap;gap:0 4px;flex:1 1 100%;order:3}
@media (min-width:900px){.top nav{flex:1 1 auto;order:0}}
.top .lang{margin-left:auto}
nav a{color:var(--fg);text-decoration:none;padding:10px 10px;min-height:44px;display:inline-flex;align-items:center;border-radius:8px}
nav a:hover,nav a[aria-current]{color:var(--teal)}
nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.lang select{min-height:44px;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit;max-width:100%}
main{padding-top:20px;padding-bottom:40px}
h1{color:var(--amber);font-size:1.8rem;line-height:1.25;margin:.6em 0 .4em}
h2{color:var(--teal);font-size:1.2rem;line-height:1.35;margin:1.8em 0 .5em}
a{color:var(--teal)}
p,li{max-width:70ch}
li{margin:.35em 0}
.note{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--teal);border-radius:10px;padding:14px 18px;margin:12px 0;max-width:70ch}
.banner{background:var(--card);border:1px solid var(--amber);border-radius:10px;padding:10px 14px;margin-bottom:12px;color:var(--amber)}
.muted{color:var(--muted);font-size:.92rem}
.hero{padding:12px 0 4px}
.tag{font-size:1.25rem;color:var(--fg);font-weight:600}
.soon{display:inline-block;background:var(--card);border:1px solid var(--amber);color:var(--amber);border-radius:999px;padding:8px 18px}
.feat{padding-left:1.2em}
.shots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.shots li{margin:0;max-width:none}
.shots img{width:100%;height:auto;border-radius:12px;border:1px solid var(--line);display:block}
@media (min-width:700px){.shots{grid-template-columns:repeat(4,1fr)}}
.links{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:10px;text-decoration:none;border:1px solid var(--teal);color:var(--teal)}
footer{border-top:1px solid var(--line);background:var(--card);padding:16px 0 28px}
footer nav a{font-size:.95rem}
html[lang="ja"] body,html[lang="ko"] body,html[lang^="zh"] body{line-height:1.8}

main a[href^="mailto"]{display:inline-block;padding:10px 0}
.skip{padding:12px 16px}
