.site-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;background:var(--header-bg);color:var(--header-fg);box-shadow:0 1px #ffffff0d}.header-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;height:var(--header-height);gap:var(--space-5)}.header-logo[data-astro-cid-3ef6ksr2]{font-size:var(--font-size-lg);font-weight:700;color:var(--header-fg);text-decoration:none;letter-spacing:-.01em;flex-shrink:0;transition:opacity var(--transition-fast)}.header-logo[data-astro-cid-3ef6ksr2]:hover{opacity:.8}.header-nav[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-1);flex:1}.header-nav-link[data-astro-cid-3ef6ksr2]{padding:var(--space-2) var(--space-3);color:var(--header-fg-muted);font-size:var(--font-size-sm);font-weight:500;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);white-space:nowrap}.header-nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--header-fg);background:#ffffff14}.header-nav-link[data-astro-cid-3ef6ksr2][aria-current=page]{color:var(--header-fg)}.header-controls[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-3);margin-left:auto}.lang-picker[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--space-1)}.lang-link[data-astro-cid-3ef6ksr2]{padding:var(--space-1) var(--space-2);color:var(--header-fg-muted);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.05em;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);text-decoration:none}.lang-link[data-astro-cid-3ef6ksr2]:hover{color:var(--header-fg);background:#ffffff14}.lang-link--active[data-astro-cid-3ef6ksr2]{color:var(--header-fg)}.theme-icon[data-astro-cid-3ef6ksr2]{line-height:1}.theme-icon--sun[data-astro-cid-3ef6ksr2],html.dark-mode .theme-icon--moon[data-astro-cid-3ef6ksr2]{display:none}html.dark-mode .theme-icon--sun[data-astro-cid-3ef6ksr2]{display:block}.hamburger[data-astro-cid-3ef6ksr2]{display:none;color:var(--header-fg)}.mobile-menu[data-astro-cid-3ef6ksr2]{background:var(--header-bg);border-top:1px solid rgba(255,255,255,.08)}.mobile-menu[data-astro-cid-3ef6ksr2][hidden]{display:none}.mobile-menu-inner[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;padding-block:var(--space-4);gap:var(--space-1)}.mobile-nav-link[data-astro-cid-3ef6ksr2]{color:var(--header-fg-muted);font-size:var(--font-size-md);font-weight:500;padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.mobile-nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--header-fg);background:#ffffff14}.mobile-divider[data-astro-cid-3ef6ksr2]{border:none;border-top:1px solid rgba(255,255,255,.1);margin:var(--space-3) 0}.mobile-lang[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-2);padding:var(--space-2)}@media(max-width:768px){.header-nav[data-astro-cid-3ef6ksr2],.lang-picker[data-astro-cid-3ef6ksr2]{display:none}.hamburger[data-astro-cid-3ef6ksr2]{display:flex}}.site-footer[data-astro-cid-sz7xmlte]{background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:auto}.footer-inner[data-astro-cid-sz7xmlte]{padding-block:var(--space-9) var(--space-6)}.footer-top[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-8);align-items:start;margin-bottom:var(--space-8)}.footer-logo[data-astro-cid-sz7xmlte]{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);text-decoration:none;display:block;margin-bottom:var(--space-3)}.footer-tagline[data-astro-cid-sz7xmlte]{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:30ch;line-height:1.6}.footer-nav[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--space-2)}.footer-nav-link[data-astro-cid-sz7xmlte]{color:var(--color-text-muted);font-size:var(--font-size-sm);transition:color var(--transition-fast)}.footer-nav-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-text)}.footer-social-label[data-astro-cid-sz7xmlte]{font-size:var(--font-size-xs);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-3)}.footer-social-links[data-astro-cid-sz7xmlte]{display:flex;gap:var(--space-3)}.footer-social-link[data-astro-cid-sz7xmlte]{color:var(--color-text-muted);transition:color var(--transition-fast),transform var(--transition-fast);display:flex}.footer-social-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-text);transform:translateY(-2px)}.footer-bottom[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border);padding-top:var(--space-5);gap:var(--space-4);flex-wrap:wrap}.footer-copyright[data-astro-cid-sz7xmlte],.footer-policy-link[data-astro-cid-sz7xmlte]{font-size:var(--font-size-sm);color:var(--color-text-muted)}.footer-policy-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-text)}@media(max-width:768px){.footer-top[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:var(--space-6)}}:root{--color-bg: #f5f5f7;--color-surface: #ffffff;--color-surface-2: #f0f0f5;--color-border: #e0e0e8;--color-text: #1a1a2e;--color-text-muted: #5a5a78;--color-primary: #0055cc;--color-primary-hover:#0044aa;--color-accent: #e05c00;--color-accent-hover: #c44e00;--header-bg: #001433;--header-fg: #e8eaf0;--header-fg-muted: #9ba3bf;--header-height: 64px;--hero-bg-from: #001433;--hero-bg-to: #002266;--hero-bg-mid: #002060;--playground-bg: #0c1a32;--playground-text: #e8eaf0;--cta-gradient-to: #003a99;--font-sans: "Inter", "Noto Sans JP", system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.875rem;--font-size-3xl: 2.25rem;--font-size-4xl: 3rem;--font-size-hero: clamp(2rem, 5vw, 3.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--space-10: 8rem;--container: 1200px;--container-pad: clamp(1rem, 5vw, 2rem);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.1);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--shadow-card: 0 2px 8px rgba(0,0,0,.06), 0 0 0 1px rgba(0,0,0,.04)}html.dark-mode{--color-bg: #0d0d1a;--color-surface: #16162a;--color-surface-2: #1e1e35;--color-border: #2a2a42;--color-text: #e8eaf0;--color-text-muted: #7a7a9a;--color-primary: #5599ff;--color-primary-hover: #77aaff;--color-accent: #ff7733;--color-accent-hover: #ff9955;--header-bg: #070710;--shadow-card: 0 2px 8px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.04);--hero-bg-from: #000306;--hero-bg-to: #000b1c;--hero-bg-mid: #000710;--playground-bg: #020408;--cta-gradient-to: #002266}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.7;color:var(--color-text);background-color:var(--color-bg);transition:background-color var(--transition-normal),color var(--transition-normal)}img,video{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.3;font-weight:700;letter-spacing:-.02em}h1{font-size:var(--font-size-hero)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-xl)}p{margin:0 0 var(--space-4)}p:last-child{margin-bottom:0}ul,ol{margin:0;padding:0;list-style:none}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--container-pad)}.section{padding-block:var(--space-9)}.section-label{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3)}.section-title{font-size:var(--font-size-3xl);margin-bottom:var(--space-5)}.skip-link{position:absolute;top:-100%;left:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-weight:600;z-index:9999;transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-2)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:600;font-family:inherit;border:2px solid transparent;cursor:pointer;text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background-color:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn-primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff;box-shadow:0 4px 12px #e05c0059}.btn-secondary{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{border-color:var(--color-text-muted);color:var(--color-text)}.btn-ghost{background-color:transparent;color:var(--color-primary);border-color:transparent;padding-inline:var(--space-3)}.btn-ghost:hover{background-color:var(--color-surface-2);color:var(--color-primary)}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:0;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.hamburger:hover{background:#ffffff1a}.hamburger-line{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform var(--transition-normal),opacity var(--transition-normal);transform-origin:center}.hamburger[aria-expanded=true] .hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger[aria-expanded=true] .hamburger-line:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger[aria-expanded=true] .hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:transparent;border:1.5px solid rgba(255,255,255,.25);color:var(--header-fg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);font-size:16px;line-height:1}.theme-toggle:hover{background:#ffffff1f;border-color:#ffffff80}.prose{max-width:72ch}.prose h2{font-size:var(--font-size-2xl);margin-top:var(--space-8);margin-bottom:var(--space-4)}.prose h3{font-size:var(--font-size-xl);margin-top:var(--space-6);margin-bottom:var(--space-3)}.prose p{margin-bottom:var(--space-4)}.prose ul,.prose ol{padding-left:var(--space-5);margin-bottom:var(--space-4);list-style:revert}.prose li{margin-bottom:var(--space-2)}.prose code{font-family:JetBrains Mono,Fira Code,monospace;font-size:.875em;background:var(--color-surface-2);padding:.1em .4em;border-radius:var(--radius-sm)}.prose pre{background:var(--color-surface-2);border:1px solid var(--color-border);padding:var(--space-5);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--space-5)}.prose pre code{background:none;padding:0}.prose blockquote{border-left:4px solid var(--color-primary);padding-left:var(--space-4);margin:var(--space-5) 0;color:var(--color-text-muted);font-style:italic}.prose a{text-decoration:underline}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.info-table th{width:30%;color:var(--color-text-muted);font-weight:500;font-size:var(--font-size-sm);white-space:nowrap}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}main{animation:page-in .4s ease both}
