:root{--bg: #0f1419;--surface: #1a2028;--surface-2: #222a35;--border: #2d3744;--text: #e6edf3;--text-dim: #8b949e;--accent: #58a6ff;--accent-hover: #79b8ff;--success: #3fb950;--warn: #d29922;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.7;font-size:16px}main{max-width:860px;margin:0 auto;padding:48px 20px 80px}header{border-bottom:1px solid var(--border);padding-bottom:32px;margin-bottom:40px}.header-top{display:flex;justify-content:flex-end;margin-bottom:16px}.lang-switcher{display:inline-flex;align-items:center;gap:8px;font-size:.9rem}.lang-switcher__label{color:var(--text-dim)}.lang-switcher__select{font-family:inherit;font-size:.9rem;padding:6px 28px 6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-dim) 50%),linear-gradient(135deg,var(--text-dim) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.lang-switcher__select:hover{border-color:var(--accent)}.lang-switcher__select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{font-size:clamp(1.5rem,5vw,2rem);margin:0 0 12px;letter-spacing:-.01em;line-height:1.3}h2{font-size:1.25rem;margin:0 0 16px;letter-spacing:-.005em}h3{font-size:1rem;margin:24px 0 8px;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.lead{color:var(--text-dim);font-size:1.05rem;margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}code{font-family:var(--mono);background:var(--surface-2);padding:2px 6px;border-radius:4px;font-size:.92em;overflow-wrap:anywhere}section{margin-bottom:40px}.section-box{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px 28px}.steps,.prereq-list,.user-todo,.security-list{margin:0;padding-left:1.3em}.steps li,.prereq-list li,.user-todo li,.security-list li{margin-bottom:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:28px;margin-bottom:24px}.card h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;font-size:1.5rem;margin-bottom:8px}.card-tag{font-size:.75rem;background:var(--surface-2);color:var(--text-dim);padding:2px 8px;border-radius:999px;font-weight:500;letter-spacing:.03em}.card-desc{color:var(--text-dim);margin:0 0 20px}.card-shot{display:block;width:100%;height:auto;border-radius:6px;border:1px solid var(--border);margin:0 0 4px;background:var(--bg)}.hero-shot{display:block;width:100%;height:auto;border-radius:8px;border:1px solid var(--border);margin:28px 0 0;background:var(--bg)}.usage-shot{display:block;width:100%;height:auto;border-radius:6px;border:1px solid var(--border);margin:24px 0 0;background:var(--bg)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 0}button{font-family:inherit;font-size:.95rem;padding:10px 18px;border-radius:6px;border:1px solid var(--border);cursor:pointer;transition:background .15s,border-color .15s}.copy-btn{background:var(--accent);color:#0f1419;border-color:var(--accent);font-weight:600}.copy-btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.copy-btn.copied{background:var(--success);border-color:var(--success);color:#0f1419}.toggle-btn{background:transparent;color:var(--text)}.toggle-btn:hover{background:var(--surface-2)}.prompt-text{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:16px 18px;margin:16px 0 0;font-family:var(--mono);font-size:.85rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-height:480px;overflow-y:auto;color:var(--text)}.prompt-text[hidden]{display:none}.warn-box{background:#d2992214;border:1px solid rgba(210,153,34,.3);border-radius:6px;padding:12px 16px;margin:20px 0 0;font-size:.92rem}.warn-box strong{color:var(--warn)}footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--border);color:var(--text-dim);font-size:.9rem;text-align:center}.prose{color:var(--text)}.prose h1{font-size:clamp(1.5rem,5vw,2rem);margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--border);letter-spacing:-.01em;line-height:1.3}.prose h2{font-size:1.5rem;margin:48px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border);text-transform:none;letter-spacing:-.005em;color:var(--text)}.prose h3{font-size:1.15rem;margin:32px 0 12px;text-transform:none;letter-spacing:0;color:var(--text);font-weight:600}.prose h4{font-size:1rem;margin:24px 0 8px;color:var(--text);font-weight:600}.prose p{margin:0 0 16px}.prose ul,.prose ol{margin:0 0 16px;padding-left:1.6em}.prose li{margin-bottom:6px}.prose li>ul,.prose li>ol{margin:6px 0}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.prose a:hover{color:var(--accent-hover)}.prose strong{color:var(--text);font-weight:700}.prose code{font-family:var(--mono);background:var(--surface-2);padding:2px 6px;border-radius:4px;font-size:.9em;overflow-wrap:anywhere}.prose pre{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px 18px;margin:0 0 20px;overflow-x:auto;font-size:.85rem;line-height:1.6}.prose pre code{background:transparent;padding:0;font-size:inherit;border-radius:0}.prose blockquote{border-left:3px solid var(--border);padding:4px 0 4px 16px;margin:0 0 20px;color:var(--text-dim)}.prose blockquote p:last-child{margin-bottom:0}.prose hr{border:0;border-top:1px solid var(--border);margin:40px 0}.prose table{width:100%;border-collapse:collapse;margin:0 0 20px;font-size:.92rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:8px 12px;text-align:left;vertical-align:top}.prose th{background:var(--surface-2);font-weight:600}.back-link{margin-top:64px;padding-top:24px;border-top:1px solid var(--border);text-align:center;font-size:.95rem}
