:root{color-scheme:light;--color-canvas:#f8fafc;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-text:#0f172a;--color-text-muted:#475569;--color-text-subtle:#64748b;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-link:#1d4ed8;--color-primary-soft:#eff6ff;--color-cyan:#06b6d4;--color-cyan-ink:#0e7490;--color-cyan-soft:#ecfeff;--color-success:#166534;--color-success-soft:#f0fdf4;--color-warning:#92400e;--color-warning-soft:#fffbeb;--color-danger:#b91c1c;--color-danger-soft:#fef2f2;--color-code-bg:#0b1220;--color-code-text:#e2e8f0;--color-focus:#1d4ed8;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-card:0 3px 14px #0f172a0d;--shadow-raised:0 12px 32px #0f172a14;--content-width:740px;--site-width:1200px;--header-height:72px;--gutter:24px;--ease:cubic-bezier(.2, .8, .2, 1)}@media (width<=639px){:root{--gutter:16px;--header-height:64px}}*,:before,:after{box-sizing:border-box}*{margin:0}html{font-family:var(--font-sans);color:var(--color-text);background:var(--color-canvas);-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none;scroll-padding-top:calc(var(--header-height) + 24px)}body{min-height:100dvh;word-break:auto-phrase;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1rem;line-height:1.75}img,picture,svg,video{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}h1,h2,h3,h4{word-break:auto-phrase;letter-spacing:-.015em;text-wrap:balance;font-weight:700;line-height:1.3}p{text-wrap:pretty}a{color:var(--color-link);text-underline-offset:.18em}a:hover{text-decoration-thickness:.12em}code,pre,kbd,samp{font-family:var(--font-mono)}pre,code,kbd,samp{word-break:normal}pre{tab-size:2;overflow-x:auto}::selection{color:var(--color-text);background:#bfdbfe}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px;border-radius:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container{width:min(var(--site-width), 100% - (var(--gutter) * 2));margin-inline:auto}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--color-text);color:#fff;padding:10px 16px;font-size:.875rem;text-decoration:none;position:absolute;top:-80px;left:16px}.skip-link:focus-visible{top:12px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{color:var(--color-primary);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:18px;height:2px}.section{padding-block:clamp(48px,7vw,88px)}.section+.section{padding-top:0}.section-head{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.section-head__title{margin-top:var(--space-2);letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,1.875rem)}.section-head__lead{max-width:56ch;margin-top:var(--space-2);color:var(--color-text-muted);font-size:.9375rem;line-height:1.8}.btn{border-radius:var(--radius-md);min-height:48px;transition:background-color .16s var(--ease), border-color .16s var(--ease), color .16s var(--ease), transform .16s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 22px;font-size:.9375rem;font-weight:600;text-decoration:none;display:inline-flex}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover);color:#fff}.btn--secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.btn--secondary:hover{border-color:var(--color-primary);color:var(--color-primary-hover)}.btn .arrow{transition:transform .16s var(--ease)}.btn:hover .arrow{transform:translate(3px)}.text-link{color:var(--color-link);align-items:center;gap:6px;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.tag{border:1px solid var(--color-border);background:var(--color-surface);min-height:26px;color:var(--color-text-muted);font-family:var(--font-mono);border-radius:999px;align-items:center;padding:2px 10px;font-size:.75rem;text-decoration:none;display:inline-flex}a.tag:hover{border-color:var(--color-primary);color:var(--color-primary-hover)}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:2px 10px;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}.pill--news{background:var(--color-primary-soft);color:var(--color-primary-hover)}.pill--review{background:var(--color-cyan-soft);color:var(--color-cyan-ink)}.pill--guide{color:#4338ca;background:#eef2ff}.pill--note,.pill--category{background:var(--color-surface-muted);color:var(--color-text-muted)}.pill--difficulty{min-height:22px;padding:1px 8px;font-size:.6875rem;font-weight:500}.pill--beginner{background:var(--color-success-soft);color:var(--color-success)}.pill--intermediate{background:var(--color-primary-soft);color:var(--color-primary-hover)}.pill--advanced{background:var(--color-warning-soft);color:var(--color-warning)}.pill:before{content:"";opacity:.75;background:currentColor;border-radius:50%;width:6px;height:6px}@media (width<=639px){.section-head{flex-direction:column;align-items:flex-start;gap:12px}.section-head .text-link{align-self:flex-start}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .4s var(--ease) both}.rise-2{animation-delay:80ms}@media (prefers-reduced-motion:reduce){.rise,.rise-2{animation:none}}
