:root{--bg:#fbfcfd;--bg-elev:#ffffff;--bg-card:#ffffff;--bg-paper:#f5f7fa;--text:#0f172a;--text-muted:#475569;--text-faint:#94a3b8;--border:#e2e8f0;--border-strong:#cbd5e1;--accent:#0c4a6e;--accent-hover:#082f49;--accent-light:#e0f2fe;--lab-cyan:#0891b2;--lab-cyan-light:#ecfeff;--warn:#92400e;--warn-bg:#fef3c7;--cta:#ea580c;--cta-hover:#c2410c;--cta-light:#fff7ed;--font-sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI",sans-serif;--font-serif:"Noto Serif JP","Times New Roman",serif;--font-mono:"SF Mono",Menlo,Monaco,Consolas,monospace;--max-width:760px;--max-width-wide:1140px;--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:5rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--shadow-sm:0 1px 3px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.06);--shadow-lg:0 12px 32px rgba(0,0,0,0.08)}[data-theme=dark]{--bg:#0a0f1a;--bg-elev:#131a2a;--bg-card:#1a2235;--bg-paper:#0f1421;--text:#e2e8f0;--text-muted:#94a3b8;--text-faint:#64748b;--border:#1e293b;--border-strong:#334155;--accent:#38bdf8;--accent-hover:#7dd3fc;--accent-light:#0c4a6e;--lab-cyan:#22d3ee;--lab-cyan-light:#155e75;--warn:#fbbf24;--warn-bg:#422006;--cta:#fb923c;--cta-hover:#fdba74;--cta-light:#431407;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 12px 32px rgba(0,0,0,0.5)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background:var(--bg);background-image:linear-gradient(to right,var(--border) 1px,transparent 1px),linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;background-blend-mode:normal;color:var(--text);line-height:1.7;font-size:16px;transition:background .2s ease,color .2s ease}body:before{content:"";position:fixed;inset:0;background:var(--bg);opacity:.85;z-index:-1;pointer-events:none}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-hover);text-decoration:underline}.container{max-width:var(--max-width)}.container,.container-wide{margin:0 auto;padding:0 var(--space-3)}.container-wide{max-width:var(--max-width-wide)}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;margin-top:var(--space-5);margin-bottom:var(--space-3);letter-spacing:-.01em}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}ol,p,ul{margin-bottom:var(--space-3)}ol,ul{padding-left:var(--space-4)}li{margin-bottom:var(--space-1)}article header h1,article>header>h1{font-size:2rem;line-height:1.3;letter-spacing:-.02em;font-weight:800;margin-top:var(--space-3);margin-bottom:var(--space-3)}@media (min-width:768px){article header h1,article>header>h1{font-size:2.25rem}}.article-body{font-size:1.0625rem;line-height:1.85}.article-body h2{margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:1.375rem;font-weight:700;letter-spacing:-.01em}.article-body h3{margin-top:var(--space-5);font-size:1.125rem;font-weight:700}.article-body h4{margin-top:var(--space-4);font-size:1rem;font-weight:700}.article-body img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-4) 0}.article-body blockquote{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--accent);background:var(--bg-elev);color:var(--text-muted);font-style:italic;border-radius:0 var(--radius-md) var(--radius-md) 0}.article-body code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-elev);padding:.125rem .375rem;border-radius:var(--radius-sm)}.article-body pre{background:var(--bg-elev);padding:var(--space-3);border-radius:var(--radius-md);overflow-x:auto;margin:var(--space-4) 0}.article-body pre code{background:none;padding:0}.article-body table{width:100%;border-collapse:separate;border-spacing:0;margin:var(--space-5) 0;font-size:.9375rem;line-height:1.6;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.article-body thead{background:var(--bg-elev)}.article-body th{text-align:left;font-weight:700;font-size:.875rem;letter-spacing:.02em;border-bottom:2px solid var(--border);vertical-align:middle;white-space:nowrap}.article-body td,.article-body th{padding:var(--space-3) var(--space-4);color:var(--text)}.article-body td{border-bottom:1px solid var(--border);vertical-align:top}.article-body tbody tr:nth-child(2n){background:var(--bg-elev)}.article-body tbody tr:hover{background:var(--accent-light);transition:background-color .15s ease}.article-body tbody tr:last-child td{border-bottom:none}.article-body td:first-child{font-weight:600;color:var(--text);white-space:nowrap}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.button{display:inline-block;padding:var(--space-2) var(--space-4);background:var(--accent);border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:background .15s ease}.button,.button:hover{color:white;text-decoration:none}.button:hover{background:var(--accent-hover)}.button-outline{background:transparent;color:var(--accent);border:1px solid var(--accent)}.button-outline:hover{background:var(--accent-light)}.button-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--cta);border:none;border-radius:var(--radius-md);font-weight:700;font-size:1rem;cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease;box-shadow:0 2px 4px rgba(247,103,7,.2)}.button-cta,.button-cta:hover{color:white;text-decoration:none}.button-cta:hover{background:var(--cta-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(247,103,7,.35)}.button-cta:active{transform:translateY(0)}.button-secondary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);background:transparent;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease;text-decoration:none}.button-secondary:hover{background:var(--bg-elev);border-color:var(--text-muted);text-decoration:none}.muted{color:var(--text-muted)}.faint{color:var(--text-faint)}.small{font-size:.875rem}.text-center{text-align:center}.product-card{display:grid;grid-template-columns:400px 1fr;grid-gap:var(--space-4);gap:var(--space-4);margin:var(--space-5) 0}.product-card-image{background:var(--bg-elev);border-radius:var(--radius-md);overflow:hidden;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;width:100%;max-width:400px}.product-card-image img{max-width:100%;max-height:100%;object-fit:contain}.product-card-body{display:flex;flex-direction:column;justify-content:center}.product-card-image-link{display:block;text-decoration:none;transition:opacity .15s ease,transform .15s ease}.product-card-image-link:hover{opacity:.92;transform:scale(1.02)}.product-card-title-link{color:var(--text);text-decoration:none;transition:color .15s ease}.product-card-title-link:hover{color:var(--cta);text-decoration:none}@media (max-width:900px){.product-card{grid-template-columns:5fr 4fr}}@media (max-width:640px){h1{font-size:1.875rem}h2{font-size:1.5rem}h3{font-size:1.25rem}body{font-size:15px}.product-card{grid-template-columns:1fr}.product-card-image{aspect-ratio:1/1;max-width:none;max-height:380px}header nav{gap:var(--space-2)!important;font-size:.875rem}.article-body{font-size:1rem;line-height:1.75}.article-body table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.article-body td,.article-body th{white-space:nowrap;padding:var(--space-2) var(--space-3);font-size:.875rem}.article-body tbody tr:hover{background:inherit}.container,.container-wide{padding:0 var(--space-3)}.home-layout{grid-template-columns:1fr!important}.home-sidebar{position:static!important;max-height:none!important;margin-top:var(--space-4)}.header-meta a,.header-subtitle{display:none}.header-categories>div{justify-content:flex-start!important}}.sidebar-article-link:hover{background:var(--bg-elev)}.share-btn:hover{opacity:.85;transform:translateY(-1px)}.share-btn:active{transform:translateY(0)}.header-cat-link:hover{color:var(--accent);border-bottom-color:var(--accent)!important;text-decoration:none}@media (max-width:380px){header nav{font-size:.8125rem}}