@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#151a1b;--panel:#1c2324;--line:#ffffff14;--text:#e9edeb;--muted:#a2aaa7;--ivory:#f1eee4;--accent:#b5c6aa;font-family:Manrope,'Noto Sans JP',sans-serif;color:var(--text);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 50% 0%,#26313266,transparent 60%) var(--bg);line-height:1.8}
a{color:var(--accent)}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:880px;margin:0 auto;padding:0 20px}
header{border-bottom:1px solid var(--line)}
header .wrap{height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{color:var(--ivory);text-decoration:none;font-weight:700;letter-spacing:4px;font-size:19px;display:flex;align-items:center;gap:10px}
.brand i{font-style:normal;color:var(--accent);letter-spacing:-4px;transform:rotate(180deg);font-size:24px}
nav a{color:var(--muted);text-decoration:none;font-size:13px;margin-left:20px}
nav a:hover{color:var(--ivory)}
main{padding:56px 0 80px}
.eyebrow{font-size:11px;letter-spacing:3px;color:var(--accent);text-transform:uppercase}
h1{font-size:clamp(28px,5vw,40px);font-weight:600;letter-spacing:2px;margin:10px 0 12px;color:var(--ivory);line-height:1.3}
h2{font-size:19px;font-weight:600;color:var(--ivory);margin:44px 0 8px;letter-spacing:1px}
p,li{font-size:15px;color:#d3d9d6}
.lead{color:var(--muted);font-size:15px;margin:0}
.apps{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:40px}
.app{display:block;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.app:hover{border-color:#b5c6aa66;transform:translateY(-2px)}
.app-icon{width:48px;height:48px;border-radius:12px;display:block;margin-bottom:14px}
.app h3{margin:0;color:var(--ivory);font-size:18px;letter-spacing:1px}
.app p{margin:6px 0 12px;font-size:14px;color:var(--muted)}
.app .url{font-size:12px;color:var(--accent)}
.app.soon{border-style:dashed;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;min-height:160px}
dl{display:grid;grid-template-columns:9em 1fr;gap:10px 16px;margin:20px 0}
dt{color:var(--muted);font-size:14px}dd{margin:0;font-size:15px}
.meta{color:var(--muted);font-size:13px;margin-top:40px}
footer{border-top:1px solid var(--line);padding:28px 0 40px;font-size:12px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
footer a{color:var(--muted);text-decoration:none;margin-right:16px}
footer a:hover{color:var(--ivory)}
@media (max-width:560px){nav a{margin-left:14px;font-size:12px}dl{grid-template-columns:1fr;gap:2px}dd{margin-bottom:12px}.brand{font-size:16px;letter-spacing:3px}}
