.pg{position:relative;z-index:1;display:block;padding-top:var(--nav-h)}:where(.pg) :where(h1,h2,h3,p,ul,ol,dl,dd,figure,blockquote){margin:0}:where(.pg) :where(ul.plain,ol.plain){padding:0;list-style:none}:where(.pg) :where(img){display:block;max-width:100%;height:auto}.pg .idx{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.4rem;font:.78rem/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.pg .idx>span:first-child{color:var(--accent-text)}.pg .idx>span:first-child:after{content:"";display:inline-block;vertical-align:middle;width:2rem;height:1px;margin-left:.75rem;background:currentColor;opacity:.6}.pg .idx a{color:inherit;text-decoration:none}.pg .idx a:hover{color:var(--text)}.pg .pt{color:var(--accent)}.pg .mono{font-family:var(--font-mono)}.pg .lede{max-width:40rem;margin-top:1.6rem;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.55;letter-spacing:-.01em;color:var(--text-muted);text-wrap:pretty}.pg .sub{max-width:34rem;margin-top:1rem;color:var(--text-muted)}.pg .meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;font:.75rem/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim)}.pg .meta .on{color:var(--accent-text)}.pg .go{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;text-decoration:none;color:var(--accent-text)}.pg .go:after{content:"→";content:"→" / ""}.pg .go-back:after{content:none}.pg .go-back:before{content:"←";content:"←" / ""}.pg .back{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;font:.78rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-decoration:none}.pg .back:before{content:"←";content:"←" / "";color:var(--accent-text)}.pg .back:hover{color:var(--text)}@media (prefers-reduced-motion: no-preference){.pg .go:after,.pg .back:before{transition:transform .3s var(--ease)}.pg .go:hover:after{transform:translate(5px)}.pg .go-back:hover:before,.pg .back:hover:before{transform:translate(-5px)}}.pg .chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:0;list-style:none}.pg .chip{display:inline-flex;align-items:center;gap:.4rem;padding:.16rem .6rem;border:1px solid var(--border);border-radius:999px;font:.72rem/1.45 var(--font-mono);letter-spacing:.02em;color:var(--text-muted);white-space:nowrap}.pg .chip-on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--text)}.pg .chip-fill{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.pg .chip svg{width:.85rem;height:.85rem;flex:none}.pg-head{position:relative;padding-block:clamp(3rem,7vw,6rem) clamp(2.5rem,5vw,4.5rem)}.pg-head:before{content:"";position:absolute;inset:0 0 auto;height:120%;pointer-events:none;z-index:-1;background:radial-gradient(50% 60% at 80% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 70%)}.pg-head .hl{padding-top:1.4rem;border-top:1px solid var(--line)}.pg h1.mega,.pg .h-page{font-size:clamp(2.8rem,7vw,6.5rem);line-height:.95;letter-spacing:-.055em;font-weight:650;text-wrap:balance;max-width:13em}.pg .h-sec{font-size:clamp(2rem,4.4vw,3.75rem);line-height:1;letter-spacing:-.045em;font-weight:650;text-wrap:balance;max-width:18em}.pg-head .cta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:2.2rem}.pg .facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1.25rem 2rem;max-width:46rem;margin-top:2.6rem;padding-top:1.1rem;border-top:1px solid var(--line)}.pg .facts div{display:grid;gap:.2rem;align-content:start}.pg .facts dt{font:.72rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.pg .facts dd{font-size:1.5rem;font-weight:620;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.pg .facts dd.small{font-size:1rem;padding-top:.35rem}.pg-sec{padding-block:clamp(3.5rem,7vw,6.5rem) 0}.pg-sec:last-child{padding-bottom:clamp(4rem,8vw,7rem)}.pg .head{margin-bottom:clamp(2rem,4vw,3.5rem);padding-top:1.4rem;border-top:1px solid var(--line)}.pg .head-split{display:grid;gap:1rem}.pg .head-split .sub{margin-top:0}@media (min-width: 62rem){.pg .head-split{grid-template-columns:1fr auto;align-items:end;-moz-column-gap:4rem;column-gap:4rem}.pg .head-split .sub{max-width:27rem;text-align:right;justify-self:end}}.pg .glass{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);box-shadow:inset 0 1px 0 var(--glass-edge),0 30px 60px -44px var(--shadow)}.pg .card{position:relative;display:flex;flex-direction:column;min-width:0;padding:.5rem;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--glass);box-shadow:inset 0 1px 0 var(--glass-edge)}.pg .card:hover,.pg .card:focus-within{border-color:color-mix(in srgb,var(--accent) 70%,transparent)}.pg .card .stretch{color:inherit;text-decoration:none}.pg .card .stretch:after{content:"";position:absolute;inset:0;border-radius:inherit}.pg .card .stretch:focus-visible{outline:none}.pg .card:has(.stretch:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.pg .card:hover .stretch{color:var(--accent-text)}@media (prefers-reduced-motion: no-preference){.pg .card{transition:transform .4s var(--ease),border-color .2s,box-shadow .4s}.pg .card:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 var(--glass-edge),0 34px 60px -34px var(--shadow)}}.pg .pic{position:relative;aspect-ratio:40 / 21;overflow:hidden;border-radius:calc(var(--r-lg) - .5rem);background:var(--bg-raised)}.pg .pic img,.pg .pic .art{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:var(--pos, center);object-position:var(--pos, center)}@media (prefers-reduced-motion: no-preference){.pg .pic img,.pg .pic .art{transition:transform .9s var(--ease)}.pg .card:hover .pic img,.pg .card:hover .pic .art{transform:scale(1.04)}}.pg .art{background:radial-gradient(90% 120% at 85% 0%,color-mix(in srgb,var(--accent) 34%,transparent),transparent 62%),repeating-linear-gradient(135deg,color-mix(in srgb,var(--text) 6%,transparent) 0 1px,transparent 1px 12px),var(--bg-subtle)}.pg .art svg{display:block;width:100%;height:100%}.pg .art .a-win{fill:color-mix(in srgb,var(--bg) 70%,transparent);stroke:var(--accent);stroke-width:1.5}.pg .art .a-bar{stroke:var(--border);stroke-width:1.5;fill:none}.pg .art .a-dot{fill:var(--accent)}.pg .art .a-side{fill:color-mix(in srgb,var(--accent) 16%,transparent);stroke:none}.pg .art .a-line{stroke:var(--text-dim);stroke-width:3;stroke-linecap:round;fill:none}.pg .art .a-hex{fill:var(--accent);fill-opacity:.22;stroke:var(--accent);stroke-width:1.5}.pg .ico{display:inline-grid;place-items:center;flex:none;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent)}.pg .ico svg{width:1rem;height:1rem}.pg .aside{display:flex;gap:.85rem;max-width:48rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-left:2px solid var(--accent);border-radius:var(--r-md);background:var(--bg-subtle);font-size:.92rem;line-height:1.6;color:var(--text-muted)}.pg .aside svg{flex:none;width:1rem;height:1rem;margin-top:.2rem;color:var(--accent-text)}.pg .aside strong{color:var(--text);font-weight:620}.pg .banner{position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--border);background:var(--bg-raised)}.pg .banner img{width:100%;height:100%;aspect-ratio:var(--ratio, 16 / 9);-o-object-fit:cover;object-fit:cover}.pg .banner:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:radial-gradient(rgb(0 0 0 / .1) .55px,transparent .9px) 0 0 / 3px 3px,radial-gradient(120% 90% at 50% 45%,transparent 55%,rgb(0 0 0 / .3))}.pg .badge{position:absolute;z-index:2;left:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);display:flex;align-items:baseline;gap:.7rem;padding:.7rem 1.2rem;border-radius:20px;background:var(--accent);color:var(--accent-ink)}.pg .badge strong{font-size:clamp(2.6rem,6vw,4.5rem);line-height:.9;letter-spacing:-.05em}.pg .badge span{font-weight:600;max-width:6.5rem;line-height:1.2}.pg .banner-cap{margin-top:.8rem;font:.72rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}@media (max-width: 40rem){.pg .banner{border-radius:22px}.pg .badge{padding:.55rem .95rem;border-radius:16px}.pg .badge strong{font-size:2.4rem}.pg .badge span{font-size:.9rem}}.pg .strip{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem 1.4rem;text-decoration:none;color:inherit}.pg .strip strong{display:block;font-size:1.1rem;letter-spacing:-.02em;font-weight:620}.pg .strip span span{display:block;margin-top:.2rem;color:var(--text-muted);font-size:.95rem}.pg .strip:after{content:"→";content:"→" / "";flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--border);border-radius:50%;color:var(--accent-text)}.pg .strip:hover{border-color:color-mix(in srgb,var(--accent) 70%,transparent)}.pg .feature{display:grid;gap:.25rem}.pg .feature .pic{aspect-ratio:16 / 9}.pg .feature .body{display:grid;align-content:center;gap:1rem;padding:1.25rem 1rem 1.1rem}.pg .feature h2{font-size:clamp(1.7rem,3vw,2.75rem);line-height:1.06;letter-spacing:-.04em;font-weight:640;text-wrap:balance}.pg .feature .desc{color:var(--text-muted);font-size:1.02rem;line-height:1.6;max-width:38rem}@media (min-width: 62rem){.pg .feature{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:1rem}.pg .feature .pic{aspect-ratio:auto;min-height:24rem;height:100%}.pg .feature .body{padding:2rem 2rem 2rem 1rem}}.pg .year{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line)}.pg .year h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1;letter-spacing:-.05em;font-weight:650;font-variant-numeric:tabular-nums}.pg .year p{font:.75rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.pg .year+.cardgrid{margin-bottom:clamp(3rem,6vw,5rem)}.pg .cardgrid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);padding:0;list-style:none}@media (min-width: 40rem){.pg .cardgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 62rem){.pg .cardgrid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.pg .cardgrid>li{display:flex;min-width:0}.pg .cardgrid>li>.card{flex:1}.pg .post .body{display:flex;flex:1;flex-direction:column;gap:.6rem;padding:1rem .75rem .85rem}.pg .post h3{font-size:clamp(1.1rem,1.4vw,1.25rem);line-height:1.28;letter-spacing:-.02em;font-weight:610;text-wrap:balance}.pg .post .desc{color:var(--text-muted);font-size:.94rem;line-height:1.55}.pg .post .chips{margin-top:auto;padding-top:.5rem}.pg .post .chips .chip:first-child{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));color:var(--text)}.pg .ext-mark{color:var(--accent-text)}.pg .ext .pic:after{content:"iO Tech Hub ↗";content:"iO Tech Hub ↗" / "";position:absolute;top:.75rem;left:.75rem;padding:.25rem .65rem;border-radius:999px;background:var(--accent);color:var(--accent-ink);font:600 .72rem var(--font-mono);letter-spacing:.04em}.pg .article-head{padding-block:clamp(2rem,5vw,4rem) clamp(2rem,4vw,3rem)}.pg .narrow{max-width:52rem}.pg .article-head h1{margin-top:1.4rem;font-size:clamp(2.3rem,5.4vw,4.6rem);line-height:1;letter-spacing:-.05em;font-weight:650;text-wrap:balance}.pg .article-head .lede{margin-top:1.4rem}.pg .byline{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem;margin-top:2rem;padding-top:1.1rem;border-top:1px solid var(--line)}.pg .byline .who{display:inline-flex;align-items:center;gap:.7rem;font-weight:600;letter-spacing:-.01em}.pg .byline .who img{width:2.25rem;height:2.25rem;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px var(--accent)}.pg .byline .chips{flex-basis:100%}.pg .cover{max-width:64rem;margin-inline:auto;padding:.5rem}.pg .cover .pic{aspect-ratio:2 / 1;border-radius:calc(var(--r-lg) - .5rem)}.pg .article-body{padding-block:clamp(2.5rem,5vw,4rem) clamp(3rem,6vw,5rem)}.pg .article-body .prose-jo{margin-inline:auto}.pg .more-posts{padding-block:clamp(3rem,6vw,5rem);border-top:1px solid var(--line);background:var(--bg-subtle)}.pg .pager{display:grid;gap:1rem;margin-bottom:clamp(2.5rem,5vw,4rem)}@media (min-width: 48rem){.pg .pager{grid-template-columns:1fr 1fr}}.pg .pager .card{padding:1.25rem 1.4rem;gap:.6rem}.pg .pager .next{text-align:right;align-items:flex-end}.pg .pager strong{font-size:1.15rem;line-height:1.3;letter-spacing:-.02em;font-weight:620;text-wrap:balance}.pg .topics{display:grid;gap:.8rem;grid-template-columns:minmax(0,1fr);padding:0;list-style:none}@media (min-width: 40rem){.pg .topics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 62rem){.pg .topics{grid-template-columns:repeat(5,minmax(0,1fr))}}.pg .topic{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;height:100%;padding:1rem 1.1rem;text-decoration:none;color:inherit}.pg .topic .n{font-size:2rem;line-height:1;letter-spacing:-.05em;font-weight:650;font-variant-numeric:tabular-nums}.pg .topic .label{display:block;font-weight:600;line-height:1.3;letter-spacing:-.01em}.pg .topic .unit{display:block;margin-top:.2rem;font:.7rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.pg .topic:hover{border-color:color-mix(in srgb,var(--accent) 70%,transparent)}.pg .topic:hover .label{color:var(--accent-text)}@media (min-width: 62rem){.pg .topic{grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:start;gap:1.6rem .75rem;padding:1.25rem;min-height:11rem}.pg .topic .ico{grid-column:1}.pg .topic .n{grid-column:2;grid-row:1;font-size:2.75rem}.pg .topic>span:last-child{grid-column:1 / -1;align-self:end}}@media (prefers-reduced-motion: no-preference){.pg .topic{transition:border-color .2s,transform .3s var(--ease)}.pg .topic:hover{transform:translateY(-3px)}}.pg .guide-card .body{display:flex;flex:1;flex-direction:column;gap:.55rem;padding:.9rem .85rem .85rem}.pg .guide-card h3{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.25;letter-spacing:-.025em;font-weight:620;text-wrap:balance}.pg .guide-card .desc{color:var(--text-muted);font-size:.94rem;line-height:1.55}.pg .guide-card .foot{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin-top:auto;padding-top:.8rem;border-top:1px solid var(--line)}.pg .guide-card .meta svg{width:.85rem;height:.85rem}.pg .portrait{display:flex;align-items:center;gap:1rem}.pg .portrait img{width:76px;height:76px;border-radius:22px;-o-object-fit:cover;object-fit:cover;transform:rotate(-4deg);box-shadow:0 0 0 1px var(--line),0 18px 40px -16px var(--shadow)}.pg .portrait figcaption{display:grid;font-weight:620;letter-spacing:-.01em}.pg .portrait figcaption span{margin-top:.2rem;font:400 .72rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.pg .about{display:grid;gap:2rem;padding:clamp(1.25rem,3vw,2.25rem)}.pg .about .copy{display:grid;gap:1rem;max-width:42rem;color:var(--text-muted);font-size:1.05rem}.pg .about .copy a{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}@media (min-width: 62rem){.pg .about{grid-template-columns:16rem 1fr;-moz-column-gap:3rem;column-gap:3rem}}.pg .jump{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem;padding:0;list-style:none}.pg .jump a{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1rem;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--bg) 50%,transparent);color:var(--text);text-decoration:none;font-size:.92rem;font-weight:550}.pg .jump a svg{width:.95rem;height:.95rem;color:var(--accent-text)}.pg .jump a .n{font:.75rem var(--font-mono);color:var(--text-muted)}.pg .jump a:hover{border-color:var(--accent)}.pg .rgroup{scroll-margin-top:calc(var(--nav-h) + 1rem);padding-top:clamp(3rem,6vw,5rem)}.pg .group-head{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem;padding-top:1.1rem;border-top:1px solid var(--line)}.pg .group-head h2{font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05;letter-spacing:-.04em;font-weight:650}.pg .group-head p{margin-left:auto;font:.75rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap}.pg .guide-layout{display:grid;gap:3rem;padding-block:clamp(2.5rem,5vw,4rem) clamp(3rem,6vw,5rem)}@media (min-width: 64rem){.pg .guide-layout{grid-template-columns:minmax(0,48rem) minmax(0,1fr);gap:4rem}}.pg .toc{position:sticky;top:calc(var(--nav-h) + 2rem);padding:1.25rem}.pg .toc-label{font:.72rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim)}.pg .toc ol{display:grid;gap:.1rem;margin-top:.8rem;padding:0;list-style:none;counter-reset:t}.pg .toc a{display:grid;grid-template-columns:1.6rem 1fr;gap:.5rem;padding:.45rem .5rem;border-radius:10px;color:var(--text-muted);text-decoration:none;font-size:.9rem;line-height:1.35;counter-increment:t}.pg .toc a:before{content:counter(t,decimal-leading-zero);font:.72rem/1.9 var(--font-mono);color:var(--accent-text)}.pg .toc a:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.pg .toc dl{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--line)}.pg .toc dl div{display:grid;gap:.1rem}.pg .toc dt{font:.68rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.pg .toc dd{font-size:1.9rem;line-height:1;letter-spacing:-.05em;font-weight:650;font-variant-numeric:tabular-nums}.pg .related{padding-block:clamp(3rem,6vw,5rem);border-top:1px solid var(--line);background:var(--bg-subtle)}.pg .related .cardgrid .card{padding:1.1rem 1.2rem;gap:.6rem}.pg .related .cardgrid strong{font-size:1.08rem;line-height:1.3;letter-spacing:-.02em;font-weight:610}.pg .links-row{display:flex;flex-wrap:wrap;gap:.6rem 2rem;margin-top:2.5rem}.pg .routes{display:grid;gap:.6rem;max-width:48rem;margin-top:2.6rem;padding:0;list-style:none}.pg .routes a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.2rem 1rem;padding:1rem 1.25rem;text-decoration:none;color:inherit}.pg .routes strong{font-size:1.15rem;letter-spacing:-.02em;font-weight:620}.pg .routes span{grid-column:1;color:var(--text-muted);font-size:.93rem}.pg .routes a:after{content:"→";content:"→" / "";grid-column:2;grid-row:1 / span 2;color:var(--accent-text);font-size:1.2rem}.pg .routes a:hover{border-color:color-mix(in srgb,var(--accent) 70%,transparent)}.pg .routes a:hover strong{color:var(--accent-text)}@media print{.pg{padding-top:0}.pg .glass,.pg .card{background:#fff!important;backdrop-filter:none!important;box-shadow:none!important}.pg-head:before,.pg .banner:after{display:none}}.pg .article-head .narrow,.pg .article-body .prose-jo{max-width:46rem;margin-inline:auto}.pg .article-head h1{font-size:clamp(2.2rem,5vw,3.9rem)}.pg .post .h4card{font-size:clamp(1.05rem,1.3vw,1.15rem);line-height:1.3;letter-spacing:-.02em;font-weight:610;text-wrap:balance}.pg .guide-head .h-page{font-size:clamp(2.5rem,5.6vw,5rem)}@media (max-width: 40rem){.pg .banner img{aspect-ratio:var(--ratio-m, var(--ratio, 16 / 9))}}
