:root{--bg:#05060a;--fg:#eef2f8;--muted:#8b94a7;--accent:#5cc8ff;--fix:#62e6c3;--border:rgba(255,255,255,.08)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{min-height:100%}body{background:var(--bg);color:var(--fg);font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;padding:0 18px 70px;position:relative;overflow-x:hidden}.stars{position:fixed;inset:0;z-index:-1;background:radial-gradient(1px 1px at 20% 30%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 70% 60%,rgba(92,200,255,.5),transparent),radial-gradient(1px 1px at 40% 80%,rgba(255,255,255,.35),transparent),radial-gradient(1.5px 1.5px at 85% 20%,rgba(98,230,195,.4),transparent),radial-gradient(1px 1px at 55% 15%,rgba(255,255,255,.4),transparent);background-repeat:no-repeat;opacity:.5;animation:drift 24s ease-in-out infinite alternate}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-16px)}}@media(prefers-reduced-motion:reduce){.stars{animation:none}html{scroll-behavior:auto}}.brand{display:inline-block;margin:16px 0 0;color:var(--fg);text-decoration:none;font-size:.82rem;letter-spacing:.34em;text-transform:uppercase}.wrap{max-width:820px;margin:0 auto}.crumb{color:#5a6478;font-size:.72rem;margin:14px 0 6px}.crumb a{color:var(--muted);text-decoration:none}.kicker{color:var(--fix);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;margin:10px 0 6px}article h1{font-size:1.9rem;letter-spacing:.02em;line-height:1.35;margin:0 0 4px}.lead{color:#cdd6e3;font-size:1rem;line-height:1.95;margin:18px 0 8px}.lead b{color:#fff}article h2{font-size:1.15rem;margin:34px 0 10px;padding-left:12px;border-left:3px solid var(--accent)}article p{color:#b9c3d1;font-size:.92rem;line-height:2;margin:10px 0}article p b{color:#eaf2fb}article a{color:var(--accent)}figure{margin:20px 0 6px}figure img{width:100%;height:auto;display:block;border:1px solid var(--border);border-radius:14px;background:#ffffff05}figcaption{color:var(--muted);font-size:.78rem;line-height:1.8;margin-top:8px}.tw{overflow-x:auto;margin:16px 0 6px;border:1px solid var(--border);border-radius:14px}table{border-collapse:collapse;width:100%;min-width:520px;font-size:.82rem}th,td{text-align:left;padding:10px 13px;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.7}th{color:var(--muted);font-weight:500;white-space:nowrap;background:#ffffff08}td{color:#b9c3d1}tbody tr:last-child td{border-bottom:none}.steps{margin:14px 0 6px;padding-left:0;list-style:none;counter-reset:s}.steps li{counter-increment:s;position:relative;padding-left:34px;margin:11px 0;color:#b9c3d1;font-size:.9rem;line-height:1.95}.steps li:before{content:counter(s);position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;border:1px solid rgba(92,200,255,.45);color:var(--accent);font-size:.72rem;display:grid;place-items:center}.note{border-left:3px solid rgba(98,230,195,.45);background:#62e6c30d;border-radius:0 10px 10px 0;padding:12px 15px;font-size:.85rem;color:#a9b7c6}.files{display:flex;flex-direction:column;gap:8px;margin:14px 0 6px}.files a{display:flex;justify-content:space-between;gap:14px;align-items:baseline;color:var(--fg);text-decoration:none;border:1px solid var(--border);border-radius:10px;padding:11px 14px;font-size:.85rem;background:#ffffff05}.files a:hover{border-color:#5cc8ff66;background:#5cc8ff0f}.files span{color:var(--muted);font-size:.75rem}.cta-box{margin:36px 0 0;padding:20px;border:1px solid rgba(98,230,195,.3);border-radius:16px;background:#62e6c30d}.cta-box h3{font-size:1.05rem;margin-bottom:12px}.cta-box .links{display:flex;flex-direction:column;gap:9px}.cta-box .links a{color:var(--fg);text-decoration:none;border:1px solid var(--border);border-radius:10px;padding:11px 14px;font-size:.86rem;background:#ffffff05;transition:border-color .18s,background .18s}.cta-box .links a:hover{border-color:#5cc8ff66;background:#5cc8ff0f}.cta-box .more{color:var(--muted);font-size:.82rem;margin-top:12px}.cta-box .more a{color:var(--accent)}.video{position:relative;width:100%;aspect-ratio:16/9;margin:14px 0 18px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
