:root{--paper:#f4f1e8;--paper-2:#ece7da;--paper-3:#e2dccb;--ink:#15120c;--ink-mid:#4c463a;--ink-light:#7a7262;--rule:#cfc7b4;--rule-soft:#ded7c6;--accent:#c04828;--accent-ink:#fff7f0;--accent-text:color-mix(in srgb,var(--accent) 82%,#15120c);--accent-2:#8f3318;--wire-g:#4e7b39;--wire-b:#2e6a8e;--zh:"Noto Sans TC",system-ui,-apple-system,"PingFang TC",sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,monospace;--disp:"Fraunces",Georgia,"Noto Serif TC",serif;--nav-h:56px;--fr:10px;--pad:clamp(18px,2.2vw,32px);--ease:cubic-bezier(.2,.8,.2,1);--hov:.32s;--nudge:6px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--zh);-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .08 0 0 0 0 .07 0 0 0 0 .05 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");font-size:16px;line-height:1.7;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}img,video,svg{max-width:100%;display:block}img[hidden],video[hidden],svg[hidden]{display:none}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lab{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mid);font-size:10.5px;font-weight:500;line-height:1.5}.idx{color:var(--ink-light);letter-spacing:.06em;margin-right:.4em}.h-xl{letter-spacing:-.025em;font-size:clamp(40px,6.2vw,104px);font-weight:700;line-height:1.02}.h-l{letter-spacing:-.02em;font-size:clamp(28px,3.6vw,56px);font-weight:700;line-height:1.12}.h-m{letter-spacing:-.01em;font-size:clamp(20px,1.9vw,28px);font-weight:700;line-height:1.25}.cell{position:relative}.plus{pointer-events:none;z-index:3;width:11px;height:11px;position:absolute}.plus:before,.plus:after{content:"";background:var(--ink);position:absolute}.plus:before{width:1px;height:11px;top:0;left:5px}.plus:after{width:11px;height:1px;top:5px;left:0}.plus.tl{top:-6px;left:-6px}.plus.tr{top:-6px;right:-6px}.plus.bl{bottom:-6px;left:-6px}.plus.br{bottom:-6px;right:-6px}.frame{inset:var(--fr);border:1px solid var(--rule);pointer-events:none;z-index:60;position:fixed}.frame .plus.tl{top:-6px;left:-6px}main,.foot,.nav{margin:0 var(--fr)}main>section{border-bottom:1px solid var(--rule);position:relative}.fill{--fill-bg:var(--accent);--fill-ink:var(--accent-ink);isolation:isolate;transition:color var(--hov) var(--ease);position:relative;overflow:hidden}.fill:before{content:"";background:var(--fill-bg);transform-origin:50% 100%;transition:transform var(--hov) var(--ease);z-index:-1;position:absolute;inset:0;transform:scaleY(0)}.fill:hover,.fill:focus-visible,.fill:hover .lab,.fill:focus-visible .lab{color:var(--fill-ink)}.fill:hover:before,.fill:focus-visible:before{transform:scaleY(1)}.fill-soft{--fill-bg:var(--paper-3);--fill-ink:var(--ink)}.hero-cta .arr,.cta-btn .arr,.more i,.pbtn i,.nav-cta i,.intro-more i,.nav-links a i{transition:transform var(--hov) var(--ease),color var(--hov)}.hero-cta:hover .arr,.cta-btn:hover .arr,.more:hover i,.pbtn:hover i{transform:translateX(var(--nudge))}.intro-more:hover i{transform:translateY(calc(var(--nudge) * .5))}.rv{opacity:0;transition:opacity .9s var(--ease),transform .9s var(--ease);transform:translateY(22px)}.rv.in{opacity:1;transform:none}.static .rv{opacity:1;transition:none;transform:none}.nav{top:var(--fr);z-index:50;height:var(--nav-h);background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);margin-top:var(--fr);align-items:stretch;display:flex;position:sticky}.nav .cell{border-left:1px solid var(--rule);align-items:center;padding:0 18px;display:flex}.nav .cell:first-child{border-left:0}.nav-logo{min-width:180px;padding:0 22px!important}.nav-logo svg{width:auto;height:26px;fill:var(--ink)}.nav-tag{color:var(--ink-light);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-links{display:flex}.nav-links a{justify-content:space-between;gap:8px;min-width:128px}.nav-links a i{color:var(--ink-light);font-style:normal}.nav-links a:hover i{color:var(--accent);transform:translate(3px,3px)}.nav-login{justify-content:center;min-width:96px;display:inline-flex}.nav-acct[hidden],.nav-login[hidden]{display:none}.nav-acct{border-left:1px solid var(--rule);align-items:center;padding:0 12px;display:flex}.nav-lang{justify-content:center;min-width:56px}.nav-cta{min-width:168px;color:var(--accent);justify-content:space-between;gap:12px}.nav-cta.lab{color:var(--accent)}.nav-cta i{font-style:normal}.nav-cta.fill:hover,.nav-cta.fill:focus-visible{color:var(--accent-ink)}.nav .langsw{border-left:1px solid var(--rule);align-items:stretch;display:flex;position:relative}.nav .langsw-btn{isolation:isolate;min-width:56px;height:100%;color:var(--ink-mid);cursor:pointer;transition:color var(--hov) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;padding:0 16px;display:inline-flex;position:relative;overflow:hidden}.nav .langsw-btn:before{content:"";z-index:-1;background:var(--paper-3);transform-origin:50% 100%;transition:transform var(--hov) var(--ease);position:absolute;inset:0;transform:scaleY(0)}.nav .langsw-btn:hover,.nav .langsw-btn[aria-expanded=true]{color:var(--ink)}.nav .langsw-btn:hover:before,.nav .langsw-btn[aria-expanded=true]:before{transform:scaleY(1)}.langsw-menu{z-index:90;background:var(--paper);border:1px solid var(--rule);min-width:150px;padding:5px;position:absolute;top:calc(100% + 6px);right:0}.langsw-menu[hidden]{display:none}.langsw-item{width:100%;color:var(--ink);font-family:var(--zh);text-align:left;cursor:pointer;white-space:nowrap;transition:background var(--hov);background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-size:13.5px;display:flex}.langsw-item:hover{background:var(--paper-3)}.langsw-chk{color:var(--accent);line-height:1}.langsw-item:not(.on) .langsw-chk{visibility:hidden}.nav-acct .tbtn{border:1px solid var(--rule);background:var(--paper);color:var(--ink);cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:inline-flex}.nav-acct .ikacct-menu{background:var(--paper);border:1px solid var(--rule)}.nav-menu{display:none!important}.mnav{inset:calc(var(--fr) + var(--nav-h)) var(--fr) var(--fr);z-index:49;background:var(--paper);border:1px solid var(--rule);flex-direction:column;padding:12px 0;display:flex;position:fixed}.mnav[hidden]{display:none}.mnav a{letter-spacing:-.02em;padding:14px var(--pad);border-bottom:1px solid var(--rule-soft);font-size:30px;font-weight:700}.mnav .mnav-cta{background:var(--accent);color:var(--accent-ink);border:0;margin-top:auto;font-size:18px}.hero{height:calc(100svh - var(--nav-h) - var(--fr)*2);flex-direction:column;min-height:640px;display:flex}.hero-stage{padding:clamp(40px,5.5vh,64px) var(--pad) clamp(32px,4.5vh,52px);background-image:linear-gradient(var(--rule-soft) 1px,transparent 1px),linear-gradient(90deg,var(--rule-soft) 1px,transparent 1px);background-position:-1px -1px;background-size:56px 56px;flex:1 1 0;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.hero-stage:after{content:"";background:radial-gradient(ellipse at center,transparent 35%,var(--paper) 80%);pointer-events:none;position:absolute;inset:0}.stage-meta{z-index:2;color:var(--ink-light);font-size:9.5px;position:absolute}.sm-tl{left:var(--pad);top:16px}.sm-tr{right:var(--pad);text-align:right;top:16px}.sm-bl{left:var(--pad);bottom:14px}.sm-br{right:var(--pad);color:var(--accent);bottom:14px}.hero-plate{z-index:1;cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:pan-y;mix-blend-mode:darken;width:100%;height:100%;animation:plate-in 1.2s var(--ease) both .15s;justify-content:center;align-items:center;display:flex;position:relative}.hero-plate img{width:auto;max-width:100%;height:auto;max-height:100%}@keyframes plate-in{0%{opacity:0;filter:blur(4px);transform:translateY(18px)scale(.985)}to{opacity:1;filter:none;transform:none}}.hero-bar{border-top:1px solid var(--rule);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(220px,.62fr);display:grid}.hero-bar .cell{border-left:1px solid var(--rule);padding:var(--pad)}.hero-bar .cell:first-child{border-left:0}.hero-h{letter-spacing:-.03em;font-weight:700;line-height:1.04;container-type:inline-size}.hero-h .mask{white-space:nowrap;font-size:min(96px,12.0482cqi)}html[lang=en] .hero-h .mask{font-size:min(68px,6.66667cqi)}.hero-h em{font-style:normal}.mask{padding-bottom:.04em;display:block;overflow:hidden}.mask>span{animation:rise-in 1s var(--ease) both;display:block}.mask:nth-child(2)>span{color:var(--accent);animation-delay:.12s}@keyframes rise-in{0%{transform:translateY(105%)}to{transform:none}}.hero-lede{color:var(--ink-mid);text-wrap:pretty;align-items:flex-end;font-size:15px;display:flex}.hero-cta{color:var(--ink);flex-direction:column;justify-content:flex-end;gap:14px;display:flex}.hero-cta .lab{order:-1}.hero-cta .t,.hero-cta b,.cta-btn b,.mnav-cta{text-wrap:balance;word-break:keep-all}.hero-cta .t,.hero-cta b{letter-spacing:-.01em;max-width:9em;font-size:clamp(20px,1.8vw,28px);font-weight:700;line-height:1.2}.hero-cta .arr{right:var(--pad);bottom:var(--pad);font-size:28px;font-style:normal;line-height:1;position:absolute}.ticker{border-top:1px solid var(--rule);white-space:nowrap;align-items:center;height:40px;display:flex;overflow:hidden}.ticker-track{animation:48s linear infinite tick;display:inline-flex}.ticker span{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mid);padding:0 26px;font-size:10.5px;position:relative}.ticker span:after{content:"";border:1px solid var(--ink-light);border-radius:50%;width:7px;height:7px;margin-top:-4px;position:absolute;top:50%;right:-4px}.ticker:hover .ticker-track{animation-play-state:paused}@keyframes tick{to{transform:translate(-50%)}}.sel{pointer-events:none;position:absolute;overflow:visible}.sel *{vector-effect:non-scaling-stroke}.sel-m{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:var(--accent);stroke-width:1px}.sel-i.fig{fill:none;stroke:var(--ink-mid);stroke-dasharray:3 3}.sel-w{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:0;transition:opacity .15s}.sel .hit{opacity:1}.pop{z-index:4;background:var(--accent);width:238px;color:var(--accent-ink);cursor:default;animation:pop-in .35s var(--ease);font-size:13px;line-height:1.45;position:absolute;box-shadow:0 18px 40px -18px #15120c80}.pop[hidden]{display:none}@keyframes pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pop-h{border-bottom:1px solid color-mix(in srgb,var(--accent-ink) 30%,transparent);justify-content:space-between;gap:8px;padding:9px 12px;display:flex}.pop .lab{color:var(--accent-ink)}.pop ul{padding:8px 12px 4px;list-style:none}.pop li{justify-content:space-between;gap:10px;padding:1px 0;display:flex}.pop li b{font-family:var(--mono);white-space:nowrap;font-size:11.5px;font-weight:500}.pop li.more{opacity:.75;font-size:12px}.pop-sub{opacity:.8;padding:6px 12px 0}.pop-note{border-top:1px dashed color-mix(in srgb,var(--accent-ink) 40%,transparent);opacity:.85;margin:8px 12px 0;padding:7px 0 10px;font-size:12px}.pop-empty{padding:12px}.intro-grid{grid-template-columns:minmax(200px,.34fr) 1fr;display:grid}.intro-grid .cell{padding:clamp(40px,7vw,110px) var(--pad)}.intro-body{border-left:1px solid var(--rule)}.ink-reveal{letter-spacing:-.02em;max-width:19em;font-size:clamp(26px,3.9vw,62px);font-weight:700;line-height:1.22}.ink-reveal .ch{transition:opacity .25s linear}.intro-more{border:1px solid var(--ink);color:var(--ink);gap:10px;margin-top:40px;padding:10px 14px;display:inline-flex}.intro-more i{font-style:normal}.tags{border-top:1px solid var(--rule);grid-template-columns:minmax(200px,.34fr) 1fr;display:grid}.tags .cell{padding:16px var(--pad)}.tags-rail{border-left:1px solid var(--rule);align-items:stretch;display:flex;overflow:hidden;padding:0!important}.tags-track{animation:34s linear infinite tick;display:inline-flex}.tags-track span{border-right:1px solid var(--rule-soft);color:var(--ink-mid);white-space:nowrap;align-items:center;padding:0 34px;font-size:15px;font-weight:500;display:flex}.sec-head{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);display:grid}.sec-head .cell{padding:clamp(28px,4vw,56px) var(--pad)}.sec-title .lab{margin-bottom:22px}.sec-side{border-left:1px solid var(--rule);color:var(--ink-mid);flex-direction:column;justify-content:flex-end;align-self:stretch;gap:18px;font-size:15px;display:flex}.prob-grid{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.prob{border-left:1px dashed var(--rule);padding:0 0 var(--pad);flex-direction:column;display:flex}.prob:first-child{border-left:0}.prob-top{padding:12px var(--pad);border-bottom:1px dashed var(--rule);justify-content:space-between;display:flex}.prob-ico{border-bottom:1px dashed var(--rule);height:clamp(170px,17vw,240px);margin-bottom:var(--pad);justify-content:center;align-items:center;display:flex}.prob-ico svg{width:72%;height:72%;overflow:visible}.prob h3{letter-spacing:-.015em;padding:0 var(--pad);margin-bottom:12px;font-size:clamp(20px,1.75vw,26px);line-height:1.22}.prob>p:last-child{padding:0 var(--pad);color:var(--ink-mid);font-size:14px}.ico-l{fill:none;stroke:var(--ink-mid);stroke-width:1px;vector-effect:non-scaling-stroke;transition:transform calc(var(--hov) * 2) var(--ease),stroke var(--hov)}.ico-f{fill:var(--paper);stroke:var(--ink-mid);stroke-width:1px;vector-effect:non-scaling-stroke;transition:transform calc(var(--hov) * 2) var(--ease),fill var(--hov),stroke var(--hov)}.ico-b{stroke:var(--ink-mid);stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill var(--hov),stroke var(--hov)}.ico-d{stroke-dasharray:3 3}.ico-a{fill:color-mix(in srgb,var(--accent) 18%,var(--paper));stroke:var(--accent)}.ico-dot{fill:var(--accent);transition:fill var(--hov)}.prob .mv{transition:transform calc(var(--hov) * 2) var(--ease)}.prob:hover .mv1{transform:translate(-10px,-6px)}.prob:hover .mv2{transform:translate(10px,6px)}.prob:hover .mv3{transform:translateY(-14px)}.prob:hover .ico-a{fill:var(--accent)}.prob:hover .ico-dot{fill:var(--accent-ink)}.build{border-bottom:1px solid var(--rule);height:420vh}.build-pin{top:calc(var(--nav-h) + var(--fr));height:calc(100svh - var(--nav-h) - var(--fr)*2);flex-direction:column;display:flex;position:sticky;overflow:hidden}.build-tabs{border-bottom:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.build-tabs .cell{padding:13px var(--pad);border-left:1px solid var(--rule);color:var(--ink-light);transition:color var(--hov),background var(--hov);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.build-tabs .cell:first-child{border-left:0}.build-tabs .cell:after{content:"";height:2px;width:calc(var(--p,0) * 100%);background:var(--accent);position:absolute;bottom:-1px;left:0}.build-tabs .cell.on{color:var(--ink);background:var(--paper-2)}.build-tabs .cell.on .idx{color:var(--accent)}.build-body{flex:1;grid-template-columns:minmax(260px,.62fr) 1fr;min-height:0;display:grid}.build-copy{padding:var(--pad);border-right:1px solid var(--rule);flex-direction:column;display:flex}.build-steps{flex:1;margin-top:28px;position:relative}.bstep{opacity:0;transition:opacity .18s var(--ease),transform .18s var(--ease);pointer-events:none;position:absolute;inset:0 0 auto;transform:translateY(20px)}.bstep.on{opacity:1;pointer-events:auto;transition:opacity .34s var(--ease) .16s,transform .42s var(--ease) .16s;transform:none}.bstep h2{margin-bottom:18px}.bstep p{color:var(--ink-mid);max-width:24em}.build-hint{color:var(--ink-light);animation:1.6s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.35}}.build-stage{padding:var(--pad) calc(232px + var(--pad) * 2) var(--pad) var(--pad);justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.scene{width:100%;height:100%;max-height:100%;overflow:visible}.bom{right:var(--pad);top:var(--pad);background:var(--paper);border:1px solid var(--ink);width:232px;font-size:12.5px;line-height:1.45;position:absolute}.bom-h{border-bottom:1px solid var(--ink);justify-content:space-between;padding:8px 11px;display:flex}.bom-h:after{content:attr(data-count);color:var(--accent)}.bom ul{padding:4px 11px;list-style:none}.bom li{animation:row-in .4s var(--ease);justify-content:space-between;gap:8px;padding:1px 0;display:flex}.bom li b{font-family:var(--mono);font-size:11px;font-weight:500}@keyframes row-in{0%{opacity:0;background:color-mix(in srgb,var(--accent) 20%,transparent);transform:translate(-6px)}to{opacity:1;transform:none}}.bom-sub{border-top:1px dashed var(--rule);color:var(--ink-light);padding:5px 11px 0}.bom-stamp{border:1px solid var(--accent);color:var(--accent);opacity:0;transition:opacity .4s,transform .4s var(--ease);margin:6px 11px 9px;padding:5px 7px;font-size:9.5px;transform:rotate(-2deg)scale(1.15)}.bom.done .bom-stamp{opacity:1;transform:rotate(-2deg)}.bom-cables:empty,.bom-list:empty{min-height:18px}.plate-svg,.stage-svg{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.plate-svg svg,.stage-svg svg{width:100%;height:100%}.hero-plate.live{mix-blend-mode:normal}.sel-layer{pointer-events:none}.sel-layer rect{vector-effect:non-scaling-stroke}.item.lit{color:var(--accent)!important}.item.lit *{stroke:var(--accent)!important}.item.lit text,.item.lit tspan{fill:var(--accent)!important}svg.focusing g.item{transition:opacity .18s var(--ease)}svg.focusing g.item:not(.lit){opacity:.34!important}.sel-i{fill:color-mix(in srgb,var(--accent) 16%,transparent);stroke:var(--accent);stroke-width:1.5px;opacity:1;transition:none}.sel-one{stroke-width:2px}.sel-corner{fill:none;stroke:var(--accent);stroke-width:2.5px;vector-effect:non-scaling-stroke}.plate-svg g.item{cursor:pointer}.chip{z-index:5;background:var(--ink);color:var(--paper);white-space:nowrap;pointer-events:none;padding:5px 9px;position:absolute}.chip[hidden]{display:none}.srow{border-bottom:1px solid var(--rule);grid-template-columns:minmax(200px,.5fr) minmax(0,1.3fr) minmax(220px,.7fr);display:grid}.srow:last-child{border-bottom:0}.srow .cell{border-left:1px solid var(--rule);padding:var(--pad)}.srow .cell:first-child{border-left:0}.srow-name{flex-direction:column;justify-content:space-between;gap:24px;display:flex}.srow-media{background:var(--paper-2);padding:clamp(12px,1.4vw,20px)!important}.srow-media video{aspect-ratio:16/9;object-fit:cover;background:var(--paper-3);border:1px solid var(--rule);width:100%}.srow-desc{color:var(--ink-mid);flex-direction:column;justify-content:space-between;gap:20px;font-size:14.5px;display:flex}.mini{border-top:1px dashed var(--rule);list-style:none}.mini li{border-bottom:1px dashed var(--rule);padding:8px 0;font-size:13.5px}.mini b{color:var(--accent);display:block}.more{border:1px solid var(--ink);color:var(--ink);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.more i{font-style:normal}.showall{border-top:1px solid var(--rule)}.showall>.more{margin:var(--pad);gap:18px;width:fit-content}.allwrap{transition:grid-template-rows calc(var(--hov) * 1.6) var(--ease);grid-template-rows:0fr;display:grid}.allwrap.open{grid-template-rows:1fr}.allgrid{border-top:1px solid var(--rule);grid-template-columns:repeat(4,minmax(0,1fr));min-height:0;display:grid;overflow:hidden}.allgrid[hidden]{display:none}.ag-g{padding:9px var(--pad);background:var(--paper-2);border-bottom:1px solid var(--rule);color:var(--ink-mid);grid-column:1/-1}.ag-item,.ag-g{opacity:0;transition:opacity calc(var(--hov) * 1.3) var(--ease),transform calc(var(--hov) * 1.3) var(--ease);transform:translateY(10px)}.allwrap.open .ag-item,.allwrap.open .ag-g{opacity:1;transition-delay:calc(var(--i,0) * 28ms);transform:none}.ag-item{border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:left;flex-direction:column;gap:10px;padding:clamp(12px,1.3vw,18px);display:flex}.ag-item:nth-child(4n+2){border-left:0}.ag-media{aspect-ratio:16/9;background:var(--paper-3);border:1px solid var(--rule);position:relative;overflow:hidden}.ag-media img,.ag-media video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ag-media video{opacity:0;transition:opacity var(--hov) var(--ease)}.ag-item.play .ag-media video{opacity:1}.ag-still{background:var(--paper);border:1px solid var(--rule);color:var(--ink-light);padding:2px 5px;position:absolute;bottom:5px;right:6px}.ag-t{letter-spacing:-.01em;font-size:14.5px;font-weight:700}.ag-d{color:var(--ink-mid);font-size:12.5px;line-height:1.6}.gal-grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gal-item{border-left:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:left;flex-direction:column;gap:12px;width:100%;padding:clamp(12px,1.4vw,20px);display:flex}.gal-item[hidden]{display:none}.gal-item:nth-child(3n+1){border-left:0}.gal-media{aspect-ratio:3/2;background:var(--paper);border:1px solid var(--rule);display:block;position:relative;overflow:hidden}.gal-media img{object-fit:cover;width:100%;height:100%}.gal-cap{align-items:baseline;gap:12px;min-width:0;display:flex}.gal-cap b{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.gal-cap .lab:last-child{color:var(--ink-light);white-space:nowrap;text-transform:none;margin-left:auto}.gal-item.x{opacity:0;transition:opacity calc(var(--hov) * 1.3) var(--ease),transform calc(var(--hov) * 1.3) var(--ease),color var(--hov) var(--ease);transform:translateY(10px)}.gal-item.x.in{opacity:1;transition-delay:calc(var(--i,0) * 28ms);transform:none}.gal-more{border-top:0;flex-wrap:wrap;align-items:center;display:flex}.gal-all{margin:0 var(--pad) var(--pad) 0;border-bottom:1px solid var(--ink);color:var(--ink);transition:color var(--hov) var(--ease);gap:14px;padding:6px 0;display:inline-flex}.gal-all i{transition:transform var(--hov) var(--ease);font-style:normal}.gal-all:hover{color:var(--accent-text);border-color:currentColor}.gal-all:hover i{transform:translateX(var(--nudge))}.gal-grid{position:relative}.gal-sel{z-index:2;pointer-events:none;border:1.5px solid var(--accent);opacity:0;transition:transform calc(var(--hov) * 1.25) var(--ease),width calc(var(--hov) * 1.25) var(--ease),height calc(var(--hov) * 1.25) var(--ease),opacity var(--hov) var(--ease);position:absolute;top:0;left:0}.gal-sel.on{opacity:1}.gal-sel.jump{transition:none}.gal-sel i{border:0 solid var(--accent);width:16px;height:16px;position:absolute}.gal-sel i:first-child{border-width:2.5px 0 0 2.5px;top:-3px;left:-3px}.gal-sel i:nth-child(2){border-width:2.5px 2.5px 0 0;top:-3px;right:-3px}.gal-sel i:nth-child(3){border-width:0 2.5px 2.5px 0;bottom:-3px;right:-3px}.gal-sel i:nth-child(4){border-width:0 0 2.5px 2.5px;bottom:-3px;left:-3px}.gal-grid.has-sel .gal-item:focus-visible{outline:none}.gal-dlg{border:1px solid var(--ink);background:var(--paper);width:min(1320px,100vw - 40px);max-height:calc(100dvh - 40px);color:var(--ink);margin:auto;padding:0;overflow:hidden}.gal-dlg::backdrop{background:#15120ca8}.gal-dlg[open]{grid-template-columns:minmax(0,1fr) minmax(260px,310px);display:grid}.gal-view{background:var(--paper-2);border-right:1px solid var(--rule);align-items:center;min-height:0;display:flex}.gal-view video,.gal-view img{aspect-ratio:16/10;object-fit:contain;background:var(--paper-2);width:100%;height:auto;max-height:calc(100dvh - 42px);display:block}.gal-side{flex-direction:column;min-height:0;display:flex}.gal-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;display:flex}.gal-head .lab{padding:0 var(--pad)}.gal-x{border-left:1px solid var(--rule);width:48px;height:48px;font-size:20px;line-height:1}.gal-body{padding:var(--pad);flex-direction:column;gap:14px;display:flex;overflow:auto}.gal-body h3{letter-spacing:-.015em;font-size:clamp(22px,2vw,30px);font-weight:700;line-height:1.2}.gal-line{font-size:15px}.gal-foot{border-top:1px dashed var(--rule);color:var(--ink-mid);padding-top:12px;font-size:13px}.gal-note{color:var(--ink-light)}.gal-where{text-transform:none}.gal-use{padding:14px var(--pad);border-top:1px solid var(--rule);color:var(--ink);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.gal-use i{font-style:normal}.gal-info{color:var(--ink-mid);border-bottom:1px solid var(--rule);transition:color var(--hov) var(--ease),border-color var(--hov) var(--ease);align-self:flex-start;font-size:13px}.gal-info i{font-style:normal}.gal-info:hover{color:var(--accent-text);border-color:currentColor}.gal-use+.gal-nav{margin-top:0}.gal-nav{border-top:1px solid var(--rule);grid-template-columns:1fr auto 1fr;align-items:center;margin-top:auto;display:grid}.gal-nav button{padding:14px var(--pad);text-align:left}.gal-nav button:last-child{text-align:right;border-left:1px solid var(--rule)}.gal-nav span{color:var(--ink-light);padding:0 12px}.roles{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.roles-img{background:var(--paper-2);min-height:clamp(420px,46vw,660px);position:relative;overflow:hidden}.roles-img img{object-fit:contain;opacity:0;width:calc(100% - 2*clamp(18px,3vw,48px));height:calc(100% - 2*clamp(18px,3vw,48px) - 34px);transition:opacity .7s var(--ease),transform 1.1s var(--ease);position:absolute;inset:clamp(18px,3vw,48px);transform:scale(1.03)}.roles-img img.on{opacity:1;transform:none}.roles-cap{left:var(--pad);color:var(--ink-light);position:absolute;bottom:14px}.roles-list{border-left:1px solid var(--rule);padding:var(--pad);flex-direction:column;display:flex}.roles-list>.lab{margin-bottom:22px}.roles-list h2{margin-bottom:clamp(28px,4vw,56px)}.acc{border-top:1px solid var(--rule);margin-top:auto}.acc-row{text-align:left;border-bottom:1px dashed var(--rule);grid-template-columns:1fr auto 28px;align-items:center;column-gap:16px;width:100%;padding:18px 0;display:grid}.acc-t{letter-spacing:-.01em;transition:color var(--hov),transform var(--hov) var(--ease);font-size:clamp(19px,1.7vw,26px);font-weight:700}.acc-row:hover .acc-t{transform:translateX(var(--nudge))}.acc-row.on .acc-t{color:var(--accent)}.acc-d{max-height:0;color:var(--ink-mid);transition:max-height .5s var(--ease),padding .5s var(--ease);grid-column:1/-1;font-size:14.5px;font-weight:400;overflow:hidden}.acc-row.on .acc-d{max-height:7em;padding-top:10px}.pm{justify-self:end;width:13px;height:13px;position:relative}.pm:before,.pm:after{content:"";transition:transform var(--hov) var(--ease);background:currentColor;position:absolute}.pm:before{width:13px;height:1px;top:6px;left:0}.pm:after{width:1px;height:13px;top:0;left:6px}.acc-row.on .pm:after,details.show .pm:after{transform:scaleY(0)}.build-lede{color:var(--ink-mid);margin:10px 0 0;font-size:15px}.lux{padding:clamp(28px,3.4vw,52px) var(--pad);border-bottom:1px solid var(--rule);flex-direction:column;gap:14px;display:flex;position:relative}.lux-p{max-width:52em;color:var(--ink-mid);font-size:15.5px}.lux-a{color:var(--ink);border-bottom:1px solid var(--accent);padding:0 2px}.origin{grid-template-columns:minmax(200px,.34fr) 1fr;display:grid}.origin .cell{padding:clamp(40px,6vw,96px) var(--pad)}.origin-body{border-left:1px solid var(--rule)}.origin-q{font-family:var(--disp);font-variation-settings:"opsz" 144,"SOFT" 40,"WONK" 1;letter-spacing:-.01em;max-width:20em;margin-bottom:34px;font-size:clamp(26px,3.2vw,50px);font-weight:600;line-height:1.3}.origin-p{color:var(--ink-mid);max-width:38em;font-size:15px}.origin-sign{align-items:baseline;gap:16px;margin-top:30px;display:flex}.sig{font-family:var(--disp);color:var(--accent);font-size:30px;font-style:italic;font-weight:430}.pcy[hidden]{display:none}.cycle{--cy:0%;isolation:isolate;border:1px solid var(--ink);align-self:flex-start;display:inline-flex;position:relative}.cycle:has(button:nth-child(2):last-child):after{content:"";z-index:-1;background:var(--ink);width:50%;transform:translateX(var(--cy));transition:transform var(--hov) var(--ease);position:absolute;top:0;bottom:0;left:0}.cycle:has(button:nth-child(2):last-child.on){--cy:100%}.cycle button{color:var(--ink);transition:color var(--hov) var(--ease);padding:8px 16px}.cycle button.on{color:var(--paper)}.cycle button.on:hover:before,.cycle button.on:focus-visible:before{transform:scaleY(0)}.ptable{display:block}.prow{border-bottom:1px dashed var(--rule);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);display:grid}.pc{padding:13px var(--pad);border-left:1px solid var(--rule);align-items:center;font-size:14.5px;display:flex}.pc:first-child{color:var(--ink-mid);border-left:0}.phead{border-bottom:1px solid var(--rule)}.phead .pc{padding-top:var(--pad);padding-bottom:var(--pad);flex-direction:column;align-items:stretch;gap:6px}.phead .pc-f{justify-content:flex-end}.pc-pro,.prow:not(.phead) .pc:nth-child(3){background:color-mix(in srgb,var(--accent) 5%,transparent)}.price{letter-spacing:-.03em;font-size:clamp(32px,3.4vw,52px);font-weight:700;line-height:1.05}.price small{color:var(--ink-mid);letter-spacing:0;margin-left:4px;font-size:14px;font-weight:500}.psub{color:var(--ink-mid);min-height:1.5em;font-size:13px}.pbtn{border:1px solid var(--ink);color:var(--ink);justify-content:space-between;margin-top:12px;padding:12px 14px;display:flex}.pbtn i{font-style:normal}.pbtn-solid{background:var(--ink);color:var(--paper)}.pbtn-solid.lab{color:var(--paper)}.pgroup{padding:10px var(--pad);background:var(--paper-2);border-bottom:1px solid var(--rule);color:var(--ink-light)}.ck,.no{border:1px solid var(--ink);width:14px;height:14px;display:inline-block}.ck{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--paper)}.no{border-style:dashed;border-color:var(--rule)}.num{font-family:var(--mono);font-size:13px;font-weight:500}.pfoot{padding:14px var(--pad);color:var(--ink-light)}.faq{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);display:grid}.faq .cell{padding:clamp(28px,4vw,56px) var(--pad)}.faq-title .lab{margin-bottom:22px}.faq-list{border-left:1px solid var(--rule);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,3vw,48px);display:grid}.faq-glab{border-bottom:1px solid var(--rule);padding-bottom:12px}.faq-col:nth-child(2) .faq-glab{color:var(--accent)}.faq-list details{border-bottom:1px dashed var(--rule)}.faq-list summary{cursor:pointer;transition:color var(--hov);justify-content:space-between;align-items:center;gap:20px;padding:18px 0;font-size:17px;font-weight:700;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:hover,.faq-list details.show summary{color:var(--accent)}.faq-list summary .fq{transition:transform var(--hov) var(--ease);display:inline-block}.faq-list summary:hover .fq{transform:translateX(var(--nudge))}.faq-list details p{color:var(--ink-mid);transition:height calc(var(--hov) * 1.4) var(--ease);padding:0 24px 0 0;font-size:14.5px;overflow:hidden}.faq-list details p:after{content:"";height:20px;display:block}.cta{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);min-height:78svh;display:grid;overflow:hidden}.cta-lede{color:var(--ink-mid);max-width:34em;font-size:15.5px}.cta-in{padding:clamp(40px,6vw,96px) var(--pad);flex-direction:column;justify-content:space-between;gap:40px;display:flex;position:relative}.cta-btn{border-left:1px solid var(--rule);padding:var(--pad);background:var(--ink);color:var(--paper);flex-direction:column;justify-content:flex-end;gap:16px;display:flex}.cta-btn .lab{color:color-mix(in srgb,var(--paper) 70%,transparent)}.cta-btn b{letter-spacing:-.02em;font-size:clamp(26px,2.6vw,40px);line-height:1.15}.cta-btn .arr{font-size:44px;font-style:normal;line-height:1}.foot{border-bottom:1px solid var(--rule);margin-bottom:var(--fr)}.foot-grid{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));display:grid}.foot-grid .cell{padding:var(--pad);border-left:1px solid var(--rule);flex-direction:column;gap:8px;font-size:14px;display:flex}.foot-grid .cell:first-child{border-left:0}.foot-grid .lab{margin-bottom:8px}.foot-grid a{color:var(--ink-mid);background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 1px no-repeat;width:fit-content;transition:background-size var(--hov) var(--ease),color var(--hov)}.foot-grid a:hover{color:var(--ink);background-size:100% 1px}.foot-about p:last-child{color:var(--ink-mid);max-width:26em}.foot-mark{padding:clamp(26px,3.2vw,44px) var(--pad)}.foot-mark svg{width:min(100%,300px);height:auto;fill:var(--ink);display:block}.foot-legal{border-top:1px solid var(--rule);padding:14px var(--pad);justify-content:space-between;gap:16px;display:flex}.foot-legal a{color:var(--ink-mid);transition:color var(--hov);margin-left:18px}.foot-legal a:hover{color:var(--accent)}.xh>*{pointer-events:none;opacity:0;transition:opacity .2s;position:fixed;top:0;left:0}.xh.on>*{opacity:1}.xh-h,.xh-v{background:color-mix(in srgb,var(--ink) 20%,transparent);z-index:70}.xh-h{width:100vw;height:1px}.xh-v{width:1px;height:100vh}.xh-t{background:var(--accent);z-index:71}.xh-top,.xh-bot{width:1px;height:18px}.xh-l,.xh-r{width:18px;height:1px}.xh-read{z-index:72;font-family:var(--mono);letter-spacing:.08em;color:var(--ink-mid);white-space:pre;font-size:9.5px;line-height:1.35}.xh-lab{z-index:72;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:var(--ink);color:var(--paper);padding:5px 9px;font-size:10px}.xh-lab:empty{display:none}.xh.quiet .xh-h,.xh.quiet .xh-v{opacity:.35}@media (width<=1280px){.nav .nav-tag{display:none}.nav-links{flex:1}.nav-links a{flex:1;min-width:0}:is(.nav:not(:has(.nav-links)) .nav-login,.nav:not(:has(.nav-links)) .actbar){flex:1}.nav:not(:has(.nav-links)) .nav-login{justify-content:flex-start}}@media (width<=1100px){.nav-links a{min-width:0}.build-tabs .cell{font-size:9.5px}.bom{width:204px}.build-stage{padding-right:calc(204px + var(--pad) * 2)}}@media (width<=900px){:root{--nav-h:52px;--fr:0px}.frame{display:none}.nav{top:0}.nav .nav-links,.nav .nav-login{display:none}.nav-logo{flex:1;min-width:0}.nav-cta{min-width:0}.nav-menu{display:flex!important}.hero{height:auto;min-height:0}.hero-stage{flex:none;padding:48px 16px 36px}.hero-plate{height:auto}.hero-plate img{width:100%;max-height:none}.stage-meta.sm-tr,.stage-meta.sm-br{display:none}.hero-bar{grid-template-columns:1fr}.hero-bar .cell{border-left:0;border-top:1px solid var(--rule)}.hero-bar .cell:first-child{border-top:0}.hero-cta{min-height:132px}.intro-grid,.tags,.origin,.faq,.roles,.sec-head{grid-template-columns:1fr}.intro-body,.tags-rail,.origin-body,.faq-list,.roles-list,.sec-side{border-left:0;border-top:1px solid var(--rule)}.faq-list{grid-template-columns:1fr;row-gap:30px}.intro-grid .cell.intro-lab,.origin .origin-lab{padding-top:28px;padding-bottom:0}.intro-body,.origin-body{border-top:0}.tags-rail{height:52px}.prob-grid{grid-template-columns:1fr 1fr}.prob:nth-child(3){border-left:0}.prob:nth-child(n+3){border-top:1px dashed var(--rule)}.build{height:360vh}.build-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.build-tabs .cell{padding:10px 8px;font-size:0}.build-tabs .cell .idx{margin:0;font-size:10px}.build-body{grid-template-rows:auto 1fr;grid-template-columns:1fr}.build-copy{border-right:0;border-bottom:1px solid var(--rule);padding:16px}.build-copy>.lab,.build-hint{display:none}.build-steps{min-height:128px;margin-top:0}.bstep h2{margin-bottom:8px;font-size:26px}.bstep p{font-size:14px}.build-stage{padding:10px 10px 150px}.bom{grid-template-columns:1fr 1fr;width:auto;display:grid;inset:auto 10px 10px}.bom-h,.bom-stamp{grid-column:1/-1}.bom-h{padding:6px 10px}.bom ul{padding:3px 10px;font-size:11.5px}.bom-sub{border-top:0;grid-area:2/2;display:none}.bom-cables{grid-area:2/2}.bom-stamp{display:none}.srow{grid-template-columns:1fr}.gal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gal-item:nth-child(3n+1){border-left:1px solid var(--rule)}.gal-item:nth-child(odd){border-left:0}.gal-dlg[open]{grid-template-columns:1fr;overflow:auto}.gal-view{border-right:0;border-bottom:1px solid var(--rule)}.allgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-item:nth-child(4n+2){border-left:1px solid var(--rule)}.ag-item:nth-child(odd){border-left:0}.srow .cell{border-left:0;border-top:1px dashed var(--rule)}.srow .cell:first-child{border-top:0}.srow-name{flex-direction:row;align-items:baseline;gap:14px}.roles-img{min-height:62vw}.ptable{overflow-x:auto}.prow{grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr) minmax(0,.85fr)}.pc{padding:11px 12px;font-size:13px}.price{font-size:28px}.pbtn{padding:10px;font-size:9.5px}.cta{grid-template-columns:1fr;min-height:0}.cta-btn{border-left:0;border-top:1px solid var(--rule);min-height:180px}.foot-grid{grid-template-columns:1fr 1fr}.foot-grid .cell:first-child{grid-column:1/-1}.foot-grid .cell:nth-child(2){border-left:0}.foot-grid .cell:nth-child(n+2){border-top:1px solid var(--rule)}.foot-legal{flex-direction:column}.foot-legal a{margin:0 16px 0 0}}@media (width<=560px){.prob-grid{grid-template-columns:1fr}.prob{border-left:0!important}.prob+.prob{border-top:1px dashed var(--rule)}.prob-ico{height:150px}.gal-grid{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;grid-template-columns:none;grid-auto-columns:82%;grid-auto-flow:column;overflow-x:auto}.gal-item{scroll-snap-align:start;border-left:1px solid var(--rule)!important}.gal-item:first-child{border-left:0!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track,.tags-track,.build-hint,.mask>span,.hero-plate{animation:none}.rv{opacity:1;transition:none;transform:none}.bstep,.allwrap,.ag-item,.ag-g,.gal-item.x{transition:none}.gal-sel{transition:opacity var(--hov) var(--ease)}}.skip{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--zh);letter-spacing:.04em;padding:11px 18px;font-size:14px;font-weight:500;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-300%)}.skip:focus{transform:none}[tabindex="-1"]:focus{outline:none}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}@media (width<=720px){.wrap{padding:0 20px}}.nf{flex-direction:column;justify-content:center;align-items:flex-start;gap:0;max-width:660px;min-height:100dvh;padding-block:60px;display:flex}.nf-brand{margin-bottom:clamp(28px,5vw,44px);display:inline-flex}.nf-brand svg{fill:var(--ink)}.nf .cta-row{flex-wrap:wrap;gap:12px;display:flex}.nf .more{gap:22px;width:auto}.nf-brand svg{height:30px}.nf-plate{background:var(--paper);border:1px solid var(--rule);margin-bottom:26px;padding:20px 26px 16px;position:relative}.nf-code{font-family:var(--mono);letter-spacing:.06em;color:var(--accent-text);font-size:clamp(44px,9vw,64px);font-weight:700;line-height:1}.nf-sheet{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-light);margin-top:8px;font-size:9.5px}.nf h1{margin-bottom:14px;font-size:clamp(26px,4vw,36px)}.nf-lede{color:var(--ink-mid);text-wrap:pretty;max-width:34em;margin-bottom:28px}.nf .cta-row{margin-bottom:30px}.nf-fine{color:var(--ink-light);font-size:12.5px;line-height:1.9}.nf-fine a{color:var(--accent-text);text-underline-offset:3px}.legal-hero{padding:60px 0 8px}.legal-hero h1{margin-bottom:12px;font-size:clamp(28px,4vw,40px)}.legal-updated{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-light);font-size:10.5px}.legal-nav{top:calc(var(--fr) + var(--nav-h));z-index:40;background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:26px;position:sticky}.legal-nav-in{max-width:none;padding:0;display:flex}.legal-nav a{isolation:isolate;min-width:120px;padding:13px var(--pad);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mid);border-left:1px solid var(--rule);transition:color var(--hov) var(--ease);flex:1;align-items:center;gap:8px;font-size:10.5px;text-decoration:none;display:flex;position:relative;overflow:hidden}.legal-nav a:first-child{border-left:0}.legal-nav a:before{content:"";z-index:-1;background:var(--paper-3);transform-origin:50% 100%;transition:transform var(--hov) var(--ease);position:absolute;inset:0;transform:scaleY(0)}.legal-nav a:hover{color:var(--ink)}.legal-nav a:hover:before{transform:scaleY(1)}.legal-body{max-width:52rem;padding-block:20px 40px}.legal-sec{scroll-margin-top:calc(var(--fr) + var(--nav-h) + 46px + 16px);border-top:1px solid var(--rule);margin-top:20px;padding:38px 0 4px}.legal-sec:first-child{border-top:0;margin-top:0}.legal-sec>h2{margin-bottom:6px;font-size:clamp(22px,3vw,28px)}.legal-kick{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);margin-bottom:8px;font-size:10.5px}.legal-body h3{letter-spacing:.02em;color:var(--ink);margin:26px 0 8px;font-size:16.5px;font-weight:700}.legal-body p,.legal-body li{color:var(--ink-mid);font-size:15px;line-height:1.85}.legal-body p{margin:0 0 12px}.legal-body ul{margin:0 0 14px;list-style:none}.legal-body li{padding:5px 0 5px 22px;position:relative}.legal-body li:before{content:"–";color:var(--accent);font-family:var(--mono);position:absolute;left:4px}.legal-body a{color:var(--accent-text);border-bottom:1px solid var(--rule);text-decoration:none}.legal-body a:hover{border-color:var(--accent)}.legal-body strong{color:var(--ink);font-weight:700}.legal-note{background:var(--paper);border:1px solid var(--rule);border-left:1px solid var(--accent);color:var(--ink-mid);margin:16px 0;padding:14px 18px;font-size:13.5px;line-height:1.75}.fillme{color:var(--accent-2);background:color-mix(in srgb,var(--accent) 12%,transparent);border-bottom:1px dashed var(--accent);padding:0 4px;font-style:normal}.log-body{max-width:52rem;padding-block:24px 48px}.log-note{background:var(--paper);border:1px solid var(--rule);border-left:1px solid var(--accent);color:var(--ink-mid);margin:8px 0 10px;padding:14px 18px;font-size:13.5px;line-height:1.8}.log-rel{border-top:1px solid var(--rule);grid-template-columns:104px 1fr;gap:0 28px;margin-top:16px;padding:34px 0 6px;scroll-margin-top:80px;display:grid}.log-meta{padding-top:2px}.log-ver{font-family:var(--mono);letter-spacing:.02em;color:var(--accent-text);font-size:16.5px;font-weight:700;line-height:1.4}.log-date{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-light);margin-top:2px;font-size:10.5px}.log-body h2{letter-spacing:.01em;color:var(--ink);margin:0 0 10px;font-size:20px;font-weight:700;line-height:1.5}.log-lead{color:var(--ink-mid);margin:0 0 12px;font-size:15px;line-height:1.85}.log-body ul{margin:0;list-style:none}.log-body li{color:var(--ink-mid);padding:4px 0 4px 22px;font-size:15px;line-height:1.85;position:relative}.log-body li:before{content:"–";color:var(--accent);font-family:var(--mono);position:absolute;left:4px}.log-body li b{color:var(--ink);font-weight:700}@media (width<=720px){.log-rel{grid-template-columns:1fr;gap:0}.log-meta{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.log-date{margin-top:0}}.xlink{margin-top:12px;font-size:14px}.xlink a{color:var(--accent-text);border-bottom:1px solid var(--rule);transition:border-color var(--hov) var(--ease)}.xlink a:hover{border-color:var(--accent)}.xlink i{transition:transform var(--hov) var(--ease);font-style:normal;display:inline-block}.xlink a:hover i{transform:translateX(var(--nudge))}.rm-lede{color:var(--ink-mid);max-width:40em;margin-top:14px;font-size:15px;line-height:1.8}.rm-body{padding-block:28px 56px}.rm-board{border:1px solid var(--rule);background:var(--paper);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.rm-col{border-left:1px solid var(--rule);min-width:0;scroll-margin-top:80px}.rm-col:first-child{border-left:0}.rm-head{padding:14px var(--pad) 13px;border-bottom:1px solid var(--rule);letter-spacing:.01em;align-items:baseline;gap:10px;font-size:16.5px;font-weight:700;line-height:1.5;display:flex}.rm-head .idx{font-family:var(--mono);letter-spacing:.14em;margin-right:0;font-size:10.5px;font-weight:500}.rm-now .rm-head .idx{color:var(--accent-text)}.rm-n{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-light);margin-left:auto;font-size:10.5px;font-weight:500}.rm-item{padding:18px var(--pad) 20px;border-top:1px solid var(--rule-soft);scroll-margin-top:80px}.rm-head+.rm-item{border-top:0}.rm-later .rm-item{border-top-style:dashed;border-top-color:var(--rule)}.rm-tag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-light);margin-bottom:6px;font-size:10px}.rm-item h3{color:var(--ink);margin-bottom:4px;font-size:15.5px;font-weight:700;line-height:1.55}.rm-item p:not(.rm-tag){color:var(--ink-mid);font-size:13.5px;line-height:1.8}.rm-shipped{margin-top:56px;scroll-margin-top:80px}.rm-sec{margin-bottom:14px;font-size:clamp(22px,3vw,28px);font-weight:700}.rm-log{border-top:1px solid var(--rule);list-style:none}.rm-log a{border-bottom:1px solid var(--rule);transition:color var(--hov) var(--ease);grid-template-columns:64px minmax(0,1fr) auto 18px;align-items:baseline;gap:0 20px;padding:12px 4px;display:grid}.rm-ver{font-family:var(--mono);letter-spacing:.02em;color:var(--accent-text);font-size:14px;font-weight:700}.rm-what{font-size:15px;line-height:1.7}.rm-date{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-light);font-size:10.5px}.rm-log i{color:var(--ink-light);transition:transform var(--hov) var(--ease),color var(--hov);font-style:normal}.rm-log a:hover{color:var(--accent-text)}.rm-log a:hover i{transform:translateX(var(--nudge));color:var(--accent)}.rm-shipped .xlink{margin-top:16px}.rm-ask{border-top:1px solid var(--rule);color:var(--ink-mid);margin-top:44px;padding-top:18px;font-size:15px}.rm-ask a{color:var(--accent-text);border-bottom:1px solid var(--rule)}.rm-ask a:hover{border-color:var(--accent)}@media (width<=960px){.rm-board{grid-template-columns:1fr}.rm-col{border-left:0;border-top:1px solid var(--rule)}.rm-col:first-child{border-top:0}}@media (width<=720px){.rm-log a{grid-template-columns:44px minmax(0,1fr);gap:2px 12px}.rm-date{grid-column:2}.rm-log i{display:none}}.projects-page .actbar{align-items:center;gap:8px;padding:0 14px;display:flex}.projects-page .actbar .grp{position:relative}.projects-page .tbtn{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mid);border:1px solid var(--rule);cursor:pointer;transition:border-color var(--hov),color var(--hov);background:0 0;padding:6px 10px;font-size:11px}.projects-page .tbtn:hover{border-color:var(--ink-mid);color:var(--ink)}.projects-page main{margin:0 var(--fr)}.fnd-hero{padding:clamp(48px,6vw,76px) 0 40px;position:relative;overflow:hidden}.fnd-hero h1{letter-spacing:-.02em;font-size:clamp(32px,4.6vw,54px);font-weight:700;line-height:1.12}.fnd-hero h1 em{color:var(--accent);font-style:normal}.hero-en{font-family:var(--disp);color:var(--ink-mid);text-wrap:balance;margin-bottom:14px;font-size:clamp(19px,2.5vw,27px);font-style:italic;font-weight:430;line-height:1.3}.hero-en em{color:var(--accent);font-style:italic}.fnd-head{max-width:46em}.fnd-head .fine{font-family:var(--mono);letter-spacing:.09em;color:var(--ink-light);margin-top:16px;font-size:10px}.lede{color:var(--ink-mid);max-width:34em;margin-bottom:34px;font-size:16.5px}.fnd-cta{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.fnd-cta .pbtn{min-width:min(100%,260px);margin-top:0}.founding-page main>section{border-bottom:0;padding:clamp(34px,4.4vw,60px) 0}.founding-page h2{letter-spacing:-.015em;margin-bottom:10px;font-size:clamp(24px,3vw,34px);font-weight:700}.sec-lede{color:var(--ink-mid);text-wrap:pretty;max-width:38em;margin-bottom:40px}.sec-lede.wide{max-width:52em}.feats{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;display:grid}.feat{background:var(--paper);flex-direction:column;gap:7px;padding:clamp(18px,2vw,26px);display:flex}.feat .ico{font-family:var(--mono);color:var(--accent);font-size:18px;line-height:1}.feat h3{letter-spacing:-.01em;font-size:16.5px;font-weight:700}.feat p:not(.ico){color:var(--ink-mid);font-size:13.5px;line-height:1.75}.fnd-note{background:var(--paper);border:1px solid var(--rule);margin-top:22px;padding:clamp(22px,2.4vw,30px);position:relative}.plan-note-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;font-size:9.5px}.fnd-note h3{margin-bottom:6px;font-size:20px;font-weight:700}.fnd-note>p:not(.plan-note-label):not(.fine){color:var(--ink-mid);max-width:56em;font-size:13.5px;line-height:1.8}.fnd-note .fine{color:var(--ink-light);margin-top:10px;font-size:12.5px}.fnd-note .fnd-cta{margin:18px 0 0}.fnd-faq{border-top:1px solid var(--rule)}.fnd-faq details{border-bottom:1px solid var(--rule)}.fnd-faq summary{cursor:pointer;transition:color var(--hov);padding:18px 46px 18px 0;font-size:16px;font-weight:700;list-style:none;position:relative}.fnd-faq summary::-webkit-details-marker{display:none}.fnd-faq summary:hover,.fnd-faq details[open] summary{color:var(--accent)}.fnd-faq summary:after{content:"＋";font-family:var(--mono);color:var(--accent);font-size:17px;font-weight:400;position:absolute;top:17px;right:6px}.fnd-faq details[open] summary:after{content:"−"}.fnd-faq details p{color:var(--ink-mid);max-width:50em;padding:0 46px 20px 0;font-size:14.5px;line-height:1.8}.fnd-faq details a{color:var(--ink);border-bottom:1px solid var(--accent)}@keyframes fade-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rise{opacity:0;animation:fade-rise .7s var(--ease) forwards}.rise.d1{animation-delay:50ms}.rise.d2{animation-delay:.12s}.rise.d3{animation-delay:.2s}@media (prefers-reduced-motion:reduce){.rise{opacity:1;animation:none;transform:none}}.ikpay-dlg.ikpay-dlg{border-radius:0;box-shadow:0 18px 44px -18px #15120c59}.ikpay-badge.ikpay-badge{font-family:var(--mono);letter-spacing:.14em;border-radius:0;font-size:10px;font-weight:500}.ikpay-title.ikpay-title{letter-spacing:-.01em;font-weight:700}.ikpay-price.ikpay-price b{letter-spacing:-.02em;font-weight:700}.ikpay-cycle.ikpay-cycle,.ikpay-cta.ikpay-cta{isolation:isolate;position:relative;overflow:hidden}.ikpay-cycle.ikpay-cycle button,.ikpay-cta.ikpay-cta{isolation:isolate;transition:color var(--hov) var(--ease);position:relative;overflow:hidden}.ikpay-cycle.ikpay-cycle button:before,.ikpay-cta.ikpay-cta:before{content:"";z-index:-1;transform-origin:50% 100%;transition:transform var(--hov) var(--ease);position:absolute;inset:0;transform:scaleY(0)}@property --cy{syntax:"<percentage>";inherits:true;initial-value:0%}.ikpay-cycle.ikpay-cycle{--cy:0%;background:var(--paper);border:1px solid var(--rule);border-radius:0;gap:0;padding:0;position:relative}.ikpay-cycle.ikpay-cycle:has(button:nth-child(2):last-child):after{content:"";z-index:0;background:var(--ink);width:50%;transform:translateX(var(--cy));transition:transform var(--cyT,var(--hov)) var(--ease);position:absolute;top:0;bottom:0;left:0}.ikpay-cycle.ikpay-cycle:has(button:nth-child(2):last-child.on){--cy:100%}.ikpay-cycle.ikpay-cycle button{z-index:1;background:0 0;border-radius:0;font-weight:500;position:relative}.ikpay-cycle.ikpay-cycle button:before{background:var(--paper-3)}.ikpay-cycle.ikpay-cycle button:not(.on):hover:before{transform:scaleY(1)}.ikpay-cycle.ikpay-cycle button.on{box-shadow:none;color:var(--paper);background:0 0;font-weight:700}.ikpay-cycle.ikpay-cycle button.on i{color:color-mix(in srgb,var(--paper) 78%,transparent)}.ikpay-cycle.ikpay-cycle button:active{transform:none}.ikpay-dlg.ikpay-dlg:not(:has(.ikpay-billed)) .ikpay-price{margin-bottom:38px}.ikpay-cta.ikpay-cta{background:var(--accent);color:var(--accent-ink);letter-spacing:.02em;border-radius:0;font-weight:700}.ikpay-cta.ikpay-cta:before{background:var(--ink)}.ikpay-cta.ikpay-cta:hover{background:var(--accent);color:var(--paper)}.ikpay-cta.ikpay-cta:hover:before{transform:scaleY(1)}.ikpay-close.ikpay-close,.ikpay-refresh.ikpay-refresh{transition:color var(--hov),border-color var(--hov)}.ikpay-close.ikpay-close:hover{color:var(--accent)}.ikpay-refresh.ikpay-refresh:hover{border-color:var(--ink-mid);color:var(--ink)}.ikpay-note.ikpay-off.ikpay-off,.ikpay-refresh.ikpay-refresh{border-radius:0}.tp-hero .legal-kick a{border-bottom:1px solid}.tp{padding-block:28px 72px}.tp h2{letter-spacing:.01em;margin:44px 0 14px;font-size:19px;font-weight:700;line-height:1.5}.tp-top{border:1px solid var(--rule);background:var(--paper);grid-template-columns:minmax(0,1fr) minmax(240px,300px);display:grid}.tp-fig{border-right:1px solid var(--rule);min-width:0}.tp-fig img{width:100%;height:auto}.tp-side{flex-direction:column;min-width:0;display:flex}.tp-facts{grid-template-columns:1fr 1fr;display:grid}.tp-facts div{padding:14px var(--pad) 13px;border-bottom:1px solid var(--rule-soft);min-width:0}.tp-facts div:nth-child(odd){border-right:1px solid var(--rule-soft)}.tp-facts dd{margin-top:4px;font-size:16.5px;font-weight:700;line-height:1.4}.tp-intro{padding:16px var(--pad);color:var(--ink-mid);font-size:14px;line-height:1.85}.tp-use{padding:18px var(--pad);border-top:1px solid var(--rule);color:var(--accent);justify-content:space-between;align-items:center;margin-top:auto;display:flex}.tp-use.lab{color:var(--accent);font-size:12px}.tp-use.fill:hover,.tp-use.fill:focus-visible{color:var(--accent-ink)}.tp-use i,.tp-all i{transition:transform var(--hov) var(--ease);font-style:normal}.tp-use:hover i,.tp-all:hover i{transform:translateX(var(--nudge))}.tp-free{padding:12px var(--pad) 14px;border-top:1px solid var(--rule-soft);color:var(--ink-light);font-size:12.5px;line-height:1.7}.tp-body{max-width:44em}.tp-body p,.tp-body li{color:var(--ink-mid);font-size:15px;line-height:1.9}.tp-body p+p{margin-top:10px}.tp-body ul,.tp-body ol{gap:8px;padding-left:1.4em;display:grid}.tp-body li::marker{color:var(--ink-light);font-family:var(--mono);font-size:12px}.tp-body strong{color:var(--ink);font-weight:700}.tp-out{border:1px solid var(--rule);background:var(--paper);grid-template-columns:1fr 1fr;display:grid}.tp-out div{padding:14px var(--pad) 15px;border-top:1px solid var(--rule-soft);min-width:0}.tp-out div:nth-child(-n+2){border-top:0}.tp-out div:nth-child(odd){border-right:1px solid var(--rule-soft)}.tp-out dt{font-size:15px;font-weight:700;line-height:1.5}.tp-out dd{color:var(--ink-mid);margin-top:4px;font-size:13.5px;line-height:1.75}.tp-use-end{border:1px solid var(--rule);border-top:0;margin-top:0}.tp-body p+.tp-use-end{border-top:1px solid var(--rule);margin-top:26px}@media (width<=520px){.tp-out{grid-template-columns:1fr}.tp-out div:nth-child(odd){border-right:0}.tp-out div:nth-child(2){border-top:1px solid var(--rule-soft)}}.tp-film video{aspect-ratio:16/9;border:1px solid var(--rule);background:var(--paper-2);width:100%;height:auto}.tp-cap{color:var(--ink-light);margin-top:10px;font-size:12.5px}.tp-cards{border:1px solid var(--rule);background:var(--paper);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.tp-card{border-left:1px solid var(--rule);min-width:0;transition:color var(--hov) var(--ease);flex-direction:column;gap:12px;padding:clamp(12px,1.4vw,20px);display:flex}.tp-card:nth-child(3n+1){border-left:0}.tp-card:nth-child(n+4){border-top:1px solid var(--rule)}.tp-card .gal-cap b{transition:transform var(--hov) var(--ease)}.tp-card:hover .gal-cap b,.tp-card:focus-visible .gal-cap b{color:var(--accent-text)}.tp-line{color:var(--ink-mid);font-size:13px;line-height:1.75}.tp-all{border-bottom:1px solid var(--ink);color:var(--ink);gap:14px;margin-top:20px;padding:6px 0;display:inline-flex}.tp-all:hover{color:var(--accent-text);border-color:currentColor}.tp-scenes{border:1px solid var(--rule);background:var(--paper);flex-wrap:wrap;display:flex}.tp-scenes a{border-right:1px solid var(--rule-soft);transition:color var(--hov) var(--ease);align-items:baseline;gap:10px;padding:12px 18px;display:flex}.tp-scenes a:hover{color:var(--accent-text)}.tp-scenes a span{color:var(--ink-light)}.tp-group,.vn-space{scroll-margin-top:calc(var(--fr) + var(--nav-h) + 12px)}.vn-lede{max-width:44em;color:var(--ink-mid);margin:-4px 0 16px;font-size:14px;line-height:1.85}.vn-row{border:1px solid var(--rule);background:var(--paper);grid-template-columns:minmax(220px,1fr) repeat(3,minmax(0,1fr));display:grid}.vn-row+.vn-row{border-top:0}.vn-row-head{min-width:0;transition:color var(--hov) var(--ease);flex-direction:column;gap:8px;padding:clamp(14px,1.6vw,22px);display:flex}.vn-row-head b{font-size:20px;font-weight:700;line-height:1.4}.vn-row-head:hover b,.vn-row-head:focus-visible b{color:var(--accent-text)}.vn-row-n{color:var(--ink-mid);font-size:14px}.vn-row-go{color:var(--accent);margin-top:auto;padding-top:14px}.vn-row-go.lab{color:var(--accent)}.vn-row-go i{transition:transform var(--hov) var(--ease);font-style:normal;display:inline-block}.vn-row-head:hover .vn-row-go i{transform:translateX(var(--nudge))}.vn-row .tp-card,.vn-row .tp-card:nth-child(n){border-left:1px solid var(--rule);border-top:0}.vn-cap{flex-direction:column;gap:4px;min-width:0;display:flex}.vn-cap b{transition:color var(--hov) var(--ease);font-size:15px;font-weight:700;line-height:1.5}.vn-row .tp-card:hover .vn-cap b,.vn-row .tp-card:focus-visible .vn-cap b{color:var(--accent-text)}@media (width<=860px){.vn-row{grid-template-columns:1fr 1fr}.vn-row-head{border-bottom:1px solid var(--rule);grid-column:1/-1}.vn-row .tp-card:nth-child(2){border-left:0}.vn-row .tp-card:nth-child(4){display:none}}@media (width<=520px){.vn-row .tp-card:nth-child(n){border-top:0}}@media (width<=860px){.tp-top{grid-template-columns:1fr}.tp-fig{border-right:0;border-bottom:1px solid var(--rule)}.tp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.tp-card:nth-child(3n+1){border-left:1px solid var(--rule)}.tp-card:nth-child(odd){border-left:0}.tp-card:nth-child(n+3){border-top:1px solid var(--rule)}}@media (width<=520px){.tp-cards{grid-template-columns:1fr}.tp-card,.tp-card:nth-child(3n+1){border-left:0}.tp-card:nth-child(n+2){border-top:1px solid var(--rule)}}
