@font-face{font-family:barlow;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/barlow.woff2)format("woff2")}@font-face{font-family:barlow bold;font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/barlow-bold.woff2)format("woff2")}@font-face{font-family:barlow condensed;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/barlow-condensed.woff2)format("woff2")}@font-face{font-family:noto sans jp;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/noto-sans-jp.woff2)format("woff2")}@font-face{font-family:noto sans tc;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/noto-sans-tc.woff2)format("woff2")}:root{--maxw:1100px;--size-base:17px;--font-latin:"Barlow",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-latin-bold:"Barlow Bold",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-title:"Barlow Condensed","Archivo","Barlow",system-ui,sans-serif;--font-brand:var(--font-title);--font-body:var(--font-latin);--font-mono:monospace,ui-monospace,SFMono-Regular,Menlo,Consolas;--lh-body:1.5;--lh-tight:1.15;--tracking-upper:0.03em;--side:320px;--size-h1:clamp(1.8rem, 2.5vw + 1rem, 3rem);--size-h2:clamp(1.4rem, 1.6vw + .9rem, 2.2rem);--size-h3:clamp(1.2rem, 1.2vw + .8rem, 1.6rem);--brand-scale:.80}:root{--bg-deep: ;--panel: ;--text: ;--muted: ;--accent: ;--accent-ink: ;--surface-card: ;--surface-panel: ;--rule: }:root[lang=ja]{--font-brand:"Barlow Condensed","Archivo","Barlow",system-ui,sans-serif;--font-title:"Noto Sans JP", var(--font-latin);--font-body:"Noto Sans JP", var(--font-latin);--size-base:16px;--size-h1:clamp(1.6rem, 2.1vw + 0.9rem, 2.4rem);--size-h2:clamp(1.3rem, 1.2vw + 0.8rem, 1.8rem);--size-h3:clamp(1.1rem, 1.0vw + 0.75rem, 1.35rem)}:root[lang=zh-tw]{--font-brand:"Barlow Condensed","Archivo","Barlow",system-ui,sans-serif;--font-title:"Noto Sans TC", var(--font-latin);--font-body:"Noto Sans TC", var(--font-latin)}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:var(--size-base);background:var(--bg-deep);overflow-x:hidden;-webkit-text-size-adjust:100%}body{margin:0 auto;max-width:var(--maxw);padding:0;background:var(--panel);color:var(--text);font-family:var(--font-body);font-weight:400;line-height:var(--lh-body);width:100%;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-title);font-weight:700;line-height:var(--lh-tight);text-transform:uppercase;letter-spacing:.02em}h1{font-size:var(--size-h1);font-weight:750}h2{font-size:var(--size-h2);font-weight:700}h3{font-size:var(--size-h3);font-weight:700}img{max-width:100%;height:auto;display:block}:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(zh-tw) h1,:lang(zh-tw) h2,:lang(zh-tw) h3{text-transform:none;letter-spacing:.01em}a{color:var(--muted);text-decoration:none}a:hover{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}header{position:static;top:0;z-index:10;backdrop-filter:saturate(160%)blur(6px);border-bottom:1px dashed var(--rule);background:color-mix(in oklab,var(--panel) 92%,transparent)}.bar{display:flex;align-items:center;gap:10px;padding:14px 20px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.wrap{max-width:var(--maxw);margin:0 auto}.logo{display:flex;align-items:center;gap:10px;color:inherit}.logo-icon{width:48px;height:48px;display:block;flex:0 0 48px;color:var(--accent)}.bar>#main-nav{margin-right:auto}.bar>#main-nav a{margin-left:15px;text-transform:uppercase;font-weight:400}.brand{font-family:var(--font-brand);font-weight:700;line-height:var(--lh-tight);text-transform:uppercase;letter-spacing:.02em;font-size:clamp( calc(1.8rem * var(--brand-scale)),calc((2.5vw + 1rem) * var(--brand-scale)),calc(3rem * var(--brand-scale)) );color:inherit;display:inline-flex}.logo:hover .brand{color:var(--text)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid color-mix(in oklab,var(--muted) 55%,transparent);background:linear-gradient(180deg,rgba(255,255,255,3%),rgba(255,255,255,.015));color:inherit}.btn:hover{border-color:color-mix(in oklab,var(--accent) 42%,transparent);box-shadow:0 2px 10px color-mix(in oklab,var(--accent) 22%,transparent);transform:translateY(-1px)}.btn.primary{font-family:var(--font-latin-bold);background:linear-gradient(180deg,color-mix(in oklab,var(--accent) 78%,white 16%),color-mix(in oklab,var(--accent) 60%,white 10%));border-color:color-mix(in oklab,var(--accent) 85%,transparent);color:var(--accent-ink);font-weight:700}.btn.primary:hover{filter:brightness(1.07)}.btn-icon{width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:10px}.btn-icon .icon{display:block;fill:currentColor}.hero{margin:0;position:relative;background:url(../assets/hero.webp)50%/cover no-repeat;color:var(--text)}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,color-mix(in oklab,var(--bg-deep) 86%,transparent),color-mix(in oklab,var(--bg-deep) 55%,transparent))}.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start;padding:60px 20px}.lede{color:var(--muted);margin:10px 0 18px}.hero-cta{display:flex;gap:12px;flex-wrap:wrap}.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.badge{font-size:14px;border:1px dashed var(--rule);padding:6px 8px;border-radius:999px;color:var(--text);opacity:.9;background:var(--surface-card);font-weight:600}.badge:hover{background:color-mix(in oklab,var(--accent) 18%,transparent);color:#fff}aside.panel{border:1px solid color-mix(in oklab,var(--accent) 40%,transparent);border-radius:12px;padding:16px;background:var(--surface-panel);box-shadow:0 2px 8px rgba(0,0,0,.35)}.grid{display:grid;gap:16px}.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}.card{background:var(--surface-card);border:1px solid var(--rule);border-radius:10px;padding:16px;min-width:0}.card h3{margin:0 0 6px}.card p{margin:0;color:var(--muted)}section{padding:28px 20px;border-top:1px dashed var(--rule)}.specs{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.list{list-style:none;margin:0;padding:0}.list li{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed var(--rule)}.list .k{min-width:160px}.list .v{color:var(--muted)}p,li{letter-spacing:.006em}p,li,small,.badge,h1,h2,h3{overflow-wrap:anywhere;word-break:normal}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cta{background:linear-gradient(180deg,color-mix(in oklab,var(--accent) 14%,transparent),rgba(255,255,255,2%));border:1px solid var(--rule);padding:18px;border-radius:12px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}input,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid color-mix(in oklab,var(--muted) 60%,transparent);background:rgba(255,255,255,3%);color:inherit}input:focus,textarea:focus{outline:2px solid var(--accent);border-color:transparent}textarea{resize:vertical}footer{padding:24px 20px;border-top:1px dashed var(--rule);color:var(--muted)}input[type=checkbox]{appearance:none;width:14px;height:14px;border:1.5px solid var(--muted);border-radius:3px;background:rgba(255,255,255,3%);display:inline-block;position:relative;cursor:pointer}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked::after{content:"✔";font-size:11px;color:var(--accent-ink);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.menu-toggle{display:none;z-index:99}@media(max-width:760px){.bar{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:8px 12px;padding:10px 14px}.logo{grid-column:1;grid-row:1}.header-actions{grid-column:2;grid-row:1}#main-nav{grid-column:1/-1;grid-row:2}#main-nav{display:none;margin:0!important;position:static;background:0 0;color:inherit}#main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:6px 0 2px;overflow:hidden;max-height:60vh}#main-nav a{display:block;margin:0;padding:12px 6px;font-size:1rem;line-height:1.35;white-space:normal;text-transform:none;border-radius:8px;border:1px solid transparent;color:var(--text)}#main-nav a:hover{border-color:color-mix(in oklab,var(--text) 20%,transparent)}.menu-toggle{display:grid}.bar>#main-nav{margin-right:0}.bar>#main-nav a{text-transform:none;margin-left:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}#main-nav{transition:none!important}}.muted{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1fr);gap:12px}.form-grid>label{display:flex;flex-direction:column;gap:6px;min-width:0}@media(max-width:760px){html,body{overflow-x:hidden}.wrap{max-width:100%;padding:0 14px}.bar{padding:10px 14px}aside.panel{display:none}.hero{background-position:20% 0;background-size:cover;min-height:360px}.hero .wrap,.specs{grid-template-columns:1fr}.hero .wrap{gap:16px;padding:12px 14px 0}.cols-2,.cols-3,.form-grid{grid-template-columns:1fr}.hero-cta{gap:8px}.hero-cta .btn{flex:1 1 100%;justify-content:center}.badges{gap:6px}section{padding:22px 14px}.list .k{min-width:120px}input,textarea{font-size:16px}:root{--brand-scale:1}footer{padding:20px 14px 40px}}@media(min-width:760px){h1{margin-block-start:0}}.post-row{display:flex;gap:16px;align-items:flex-start;padding:14px 0;border-bottom:1px dashed var(--rule)}.post-row:last-child{border-bottom:0}.post-row .thumb{flex:0 0 240px;max-width:240px}.post-row .thumb img{display:block;width:100%;height:140px;object-fit:cover;border-radius:10px;border:1px solid var(--rule)}.post-row .content{min-width:0}.post-row h3{margin:0 0 6px}.post-row p{margin:.2em 0;color:var(--muted)}@media(max-width:760px){.post-row{flex-direction:column}.post-row .thumb{flex:none;max-width:100%}.post-row .thumb img{height:auto;aspect-ratio:16/9;object-fit:cover}}.blog-article{display:grid;grid-template-columns:auto 350px;align-items:start;gap:10px;overflow-x:hidden}.blog-article>*{grid-column:1}.blog-article .footnote-anchor{text-decoration:none;letter-spacing:1.3px}.blog-article>.footnote{grid-column:2;display:flex;gap:10px}.blog-article>.footnote>.ref{text-align:right;width:20px;color:var(--accent);padding-right:10px;border-right:1px dashed var(--rule)}.blog-article>.footnote>.note{flex:1;font-size:14px;color:var(--muted)}.blog-article>.footnote>.note p{margin:0;line-height:1.1}.blog-article>.footnote>.note p+p{margin-top:10px}.blog-article .caption .ref::after{content:'◄'}.blog-article>.footnote.span2{grid-row:span 2}.blog-article>.footnote.span3{grid-row:span 3}.blog-article>.footnote.span4{grid-row:span 4}.blog-article h1{margin:0}.blog-article h2{margin:0}.blog-article h3{margin:0}.blog-article p{margin-top:0;line-height:1.35;text-align:justify}.blog-article pre,.blog-article ul,.blog-article ol,.blog-article .footnotes p{margin-top:0;line-height:1.35;text-align:left}.blog-article .meta{margin:.1em 0 .6em;color:var(--muted)}.blog-article li::marker{color:var(--muted)}.blog-article blockquote{margin-left:20px;padding-left:15px;border-left:2px dashed var(--rule)}:lang(ja) .blog-article p,:lang(ja) .single p{line-height:1.6;text-align:left}.blog-article table{width:100%;border-collapse:separate;border-spacing:0;margin:.8em 0 1.2em;table-layout:auto}.blog-article thead th{font-weight:600;border-bottom:1px solid var(--rule)}.blog-article th,.blog-article td{text-align:left;padding:.45em .6em;vertical-align:top;border-bottom:1px dashed var(--rule)}.blog-article tbody tr:last-child td{border-bottom:0}.blog-article th:first-child,.blog-article td:first-child{padding-left:.2em}.blog-article th:last-child,.blog-article td:last-child{padding-right:.2em}.blog-article *:not(pre) code{display:inline-block;background:var(--code-bg,var(--overlay,#0003));color:var(--code-fg,#e4e3c7);padding:2px 5px;border-radius:0;font-family:var(--font-mono,monospace);font-size:.88em;line-height:1.1}.blog-article pre{line-height:1.1;padding:10px;background:var(--code-bg,var(--overlay,#0003));white-space:pre-wrap;border:1px solid var(--rule);border-radius:4px;color:var(--code-fg,#e4e3c7)}.blog-article pre .language-asciiart{color:var(--code-fg,#e4e3c7);display:block;white-space:pre;overflow-x:auto;overflow-y:hidden;line-height:1.1}.header-image{display:block;width:100%;max-height:420px;height:min(42vh,420px);object-fit:cover;object-position:center 38%;margin-bottom:20px}@media(max-width:760px){.blog-article{grid-template-columns:100%}.blog-article>.footnote{grid-column:1;margin-bottom:20px}.blog-article p,.blog-article ul,.blog-article ol,.blog-article pre{margin-left:0}.blog-article .caption .ref::after{content:'▲'}}@media(max-width:760px){#theme-toggle{margin-left:auto}}@media(max-width:760px){.header-image{height:min(30vh,260px);max-height:260px}}.blog-container{margin:0 auto;padding:0 20px}@media(max-width:760px){.blog-container{padding:0 14px}}@media(min-width:760px){.hero-main{padding-top:5vh}}:root:not([lang=ja]):not([lang=zh-tw]) .blog-article h1{font-size:clamp(1.65rem,1.85vw + .95rem,2.55rem)}@media(max-width:760px){:root:not([lang=ja]):not([lang=zh-tw]) .blog-article h1{font-size:1.9rem}}