:root{--navy: #1c2b4a;--navy-soft: #2c3e63;--gold: #c9a227;--ink: #1a1a1a;--muted: #6b7280;--bg: #fbfaf8;--line: #e5e2dc;--max: 720px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}header.site{border-bottom:1px solid var(--line);padding:20px 0}header.site .wrap{display:flex;justify-content:space-between;align-items:center}.brand{font-weight:700;letter-spacing:.04em;color:var(--navy);text-decoration:none}nav a{color:var(--muted);text-decoration:none;margin-left:20px;font-size:.9rem}nav a:hover{color:var(--navy)}main{padding:64px 0 96px}h1{font-size:1.9rem;line-height:1.5;margin:0 0 8px;color:var(--navy)}h2{font-size:1.15rem;margin:48px 0 12px;color:var(--navy)}h2:after{content:"";display:block;width:32px;height:2px;background:var(--gold);margin-top:8px}p{margin:0 0 16px}.lead{color:var(--muted)}.links{list-style:none;padding:0;margin:0}.links li{border-bottom:1px solid var(--line)}.links a{display:flex;justify-content:space-between;align-items:center;padding:14px 4px;color:var(--ink);text-decoration:none}.links a:hover{color:var(--navy);background:#00000004}.links .note{color:var(--muted);font-size:.85rem}.badge{display:inline-block;font-size:.75rem;letter-spacing:.08em;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:2px 10px;margin-bottom:20px}footer.site{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:.85rem}.app{border-top:1px solid var(--line);padding:40px 0 8px}.app:first-of-type{border-top:none;padding-top:16px}.app-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.app-head h2{margin:0;font-size:1.35rem}.app-head h2:after{display:none}.status{font-size:.72rem;letter-spacing:.06em;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:1px 9px;white-space:nowrap}.platform{font-size:.78rem;color:var(--muted)}.tagline{margin:10px 0 0;color:var(--navy-soft);font-weight:500}.media{margin:20px 0 0;display:flex;justify-content:center}.media img,.media video{display:block;max-width:100%;max-height:560px;width:auto;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff}.app .body{margin-top:16px}.app .body p{margin:0 0 16px}.app .body strong{font-weight:600;color:var(--navy)}.store{margin:0 0 8px}.store a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold)}.date{color:var(--muted);font-size:.85rem;margin:0 0 4px}.video{position:relative;width:100%;aspect-ratio:16 / 9;margin:24px 0 40px;background:#000;border-radius:8px;overflow:hidden}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.post h2{font-size:1.25rem}.post h3{font-size:1rem;margin:32px 0 8px;color:var(--navy)}.post ul{padding-left:1.2em}.post li{margin:4px 0}.post pre{background:var(--navy);color:#e8eaf0;border-radius:8px;padding:16px 18px;overflow-x:auto;font-size:.82rem;line-height:1.7;margin:0 0 20px}.post pre code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.post :not(pre)>code{background:#efece6;border-radius:4px;padding:1px 5px;font-size:.88em}button.copy{display:block;margin:0 0 8px auto;background:none;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:.75rem;padding:4px 12px;cursor:pointer}button.copy:hover{border-color:var(--gold);color:var(--navy)}.post a[href$=".zip"],.post a[href^="/downloads/"]{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;border-radius:8px;padding:12px 22px;font-size:.92rem;margin:4px 0 20px}.post a[href$=".zip"]:hover,.post a[href^="/downloads/"]:hover{background:var(--navy-soft)}.back{margin-top:56px}.back a{color:var(--muted);text-decoration:none;font-size:.9rem}.back a:hover{color:var(--navy)}.post h4{font-size:.95rem;margin:28px 0 8px;color:var(--navy-soft)}.post img{max-width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:8px;margin:8px 0 20px}.perks{list-style:none;padding:0;margin:0 0 24px}.perks li{border-bottom:1px solid var(--line);padding:12px 4px}.join{margin:0 0 8px}.join a{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;border-radius:8px;padding:12px 22px;font-size:.92rem}.join a:hover{background:var(--navy-soft)}.cal{margin:20px 0 0;max-width:420px}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-label{font-weight:600;color:var(--navy)}.cal-nav{background:none;border:1px solid var(--line);border-radius:6px;color:var(--muted);cursor:pointer;padding:4px 12px;line-height:1.4}.cal-nav:hover{border-color:var(--gold);color:var(--navy)}.cal-dow,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow span{text-align:center;font-size:.72rem;color:var(--muted);padding-bottom:4px}.cal-cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--muted);border-radius:6px}.cal-cell.empty{visibility:hidden}.cal-cell.on{background:var(--gold);color:#fff;font-weight:600}.cal-empty{font-size:.82rem;color:var(--muted);margin:12px 0 0;display:none}.cal-latest{font-size:.85rem;color:var(--muted);margin-top:20px}
