:root{--pm:max(clamp(24px,6vw,96px),calc((100vw - 1440px) / 2 + clamp(24px, 6vw, 96px)));--sec:96px}@media (max-width:699px){:root{--sec:72px}}#s04#s04,#s06#s06,#s07#s07#s07{padding-bottom:var(--sec)!important}#dcr-host footer,#dcr-host footer#dcr-host footer,#s04#s04,#s06#s06,#s07#s07#s07{padding-top:var(--sec)!important}@media (hover:none) and (pointer:coarse){#dcr-host nav,#dcr-host nav *{transition-duration:.25s!important}}#dcr-host nav>div:first-child{max-width:none!important}#dcr-host footer,#dcr-host nav>div:first-child{padding-left:var(--pm)!important;padding-right:var(--pm)!important}#dcr-host footer>div{max-width:none!important}#s04#s04{padding-left:var(--pm)!important;padding-right:var(--pm)!important}#s04>div{max-width:none!important}#s06 [role=region]{touch-action:auto!important;-webkit-user-select:none}#s06>div:first-child{position:relative}#s06 [data-blnav]{position:absolute;right:clamp(24px,6vw,96px);bottom:0;display:flex;gap:12px}#s06 [data-blnav] button{display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:9999px;border:1px solid rgba(255,255,255,.28);background:transparent;color:#FFFFFF;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,opacity .2s ease}#s06 [data-blnav] button:hover:not(:disabled){border-color:#FFFFFF;background:rgba(255,255,255,.08)}#s06 [data-blnav] button:focus-visible{outline:2px solid #EC5512;outline-offset:2px}#s06 [data-blnav] button:disabled{opacity:.32;cursor:default}#s06>div:first-child>h2{padding-right:128px}@media (max-width:699px){#s06 [data-blnav]{display:none}#s06>div:first-child>h2{padding-right:0}}#s06 [data-blmask]{overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}#s06 [data-blmask]::-webkit-scrollbar{display:none}#s06 [data-blfade]{position:absolute;top:0;right:0;bottom:0;width:calc((100% - var(--d-blInset)) * .34);background:linear-gradient(90deg,rgba(8,9,10,0),rgb(8,9,10));pointer-events:none;transition:opacity .25s ease}#s06 [data-blfade][data-off="1"]{opacity:0}#s06 [data-blmask]>div{transform:none!important;will-change:auto!important}#s06 [data-blc]{scroll-snap-align:start}@media (hover:hover) and (pointer:fine){#s06 [data-blmask]{scroll-snap-type:none}}#s06 [data-blmask]>div:after{content:"";flex:0 0 1px}@media (min-width:700px){#s06 [data-blc]{--bl-stage:calc(100vw - var(--pm) - 32px);width:max(calc(var(--bl-stage) / 1.8),min(calc(var(--bl-stage) / 1.5),calc((100svh - 400px) * 16 / 9)))!important}}#s04{box-shadow:0 -28px 72px rgba(0,0,0,.38)}#s04>div>div:nth-child(3){--rs-line:1;box-shadow:none!important;background:linear-gradient(var(--line),var(--line)) 0 0 /calc(var(--rs-line) * 100%) 1px no-repeat}#s04>div>div:nth-child(3)>div{display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 104px;align-items:center!important;-moz-column-gap:clamp(16px,2.4vw,40px)!important;column-gap:clamp(16px,2.4vw,40px)!important;row-gap:12px!important;padding:clamp(22px,3vh,32px) 0!important}#s04 [data-rlogo]{display:flex;align-items:center;justify-content:center;justify-self:end;width:104px;height:56px}#s04 [data-rlogo] img{display:block;width:48px;height:48px;filter:brightness(0);opacity:.5}#s04 [data-rlogo] img[src*=ieee]{width:96px;height:96px}#s04 [data-rlogo] img[src*=github]{width:40px;height:40px}#s04 [data-rbtn]{justify-self:start;display:inline-flex;align-items:center;gap:6px;color:#111111;font-family:var(--font-text);font-weight:500;white-space:nowrap;text-decoration:none}#s04 [data-rbtn] svg{flex:none;display:block}#s04 [data-rbtn]:hover{text-decoration:underline;text-underline-offset:3px}#s04 [data-rbtn]:focus-visible{outline:2px solid #EC5512;outline-offset:2px}#s04 [data-rbtn]{padding-block:14px;margin-block:-14px}#s04>div>p:last-child a{display:inline-block;padding-block:12px;margin-block:-12px}@media (max-width:699px){#s04>div>div:nth-child(3)>div{grid-template-columns:minmax(0,1fr) 72px}#s04 [data-rlogo]{grid-column:2;grid-row:1;width:72px;height:48px}#s04 [data-rlogo] img{width:40px;height:40px}#s04 [data-rlogo] img[src*=ieee]{width:72px;height:72px}#s04 [data-rlogo] img[src*=github]{width:34px;height:34px}#s04 [data-rbtn]{grid-column:1;grid-row:2}#s04>div>div:nth-child(3)>div{position:relative}#s04 [data-rbtn]:after{content:"";position:absolute;inset:0}}@media (min-width:700px){#s07{padding-left:var(--pm)!important;padding-right:var(--pm)!important}#s07>div:first-child{width:calc(100vw - 2 * var(--pm))!important;container-type:inline-size}#s07 [data-cltv]{aspect-ratio:auto!important;height:max(380px,min(calc(100svh - 144px),calc((100vw - 2 * var(--pm)) * .6)))!important}#s07#s07 [data-cltv] .ty-h2{max-width:none!important;white-space:nowrap}}@media (min-width:700px) and (max-width:1099px){#s07#s07 [data-cltv] .ty-h2{white-space:normal;max-width:18em!important}#s07 [data-cltv] .ty-h2 br{display:none}}#s07 [data-clface]{transform-style:flat!important;will-change:transform}#s07 [data-clface]>div[aria-hidden]:nth-child(-n+5){display:none!important}#s07 [data-clface]>div:nth-child(6){box-shadow:none!important}#s07 [data-clface]>div:nth-child(6):after{content:"";position:absolute;left:-50%;top:-50%;width:200%;height:200%;z-index:1;pointer-events:none;background:radial-gradient(closest-side,rgba(255,255,255,.14),rgba(255,255,255,.05) 50%,transparent);transform:translate(calc(var(--clmx, 0) * 44%),calc(var(--clmy, 0) * 44%));will-change:transform}@media (prefers-reduced-motion:reduce){#s07 [data-clface]>div:nth-child(6):after{display:none}}@media (max-width:699px){#s06#s06 [data-blc]>h3{margin-top:20px!important}#s06#s06 [data-blc]>p{margin-top:10px!important}}html:root [data-mode=dark],html:root [data-theme=dark],html:root:root{--t3:#B0B0B2;--t4:#B0B0B2;--ck-t3:#B0B0B2}#s06#s06{--t3:#B0B0B2!important;--t4:#B0B0B2!important}html:root [data-mode=light],html:root [data-theme=light]{--t2:#4E4E51;--t3:#555558;--t4:#555558}#s04{--mute:#555558!important}@media (max-width:699px){#s07#s07{padding-left:var(--pm)!important;padding-right:var(--pm)!important}#s07>div:first-child{width:calc(100vw - 2 * var(--pm))!important}#s07>div:first-child>div[aria-hidden=true]{height:0!important}#s07 [data-cltv]{aspect-ratio:auto!important;min-height:0!important;height:calc((100vw - 2 * var(--pm)) * 2.05)!important;border-radius:46px!important}#s07 [data-cltv] svg rect{rx:46px;ry:46px}#s07 [data-clface]>div:nth-child(6){border-radius:46px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)!important}#s07 [data-clface]>div:nth-child(n+11){display:none!important}#s07 [data-clface]>div:nth-child(6):after{content:"";left:50%;top:14px;width:32%;height:28px;transform:translateX(-50%)!important;border-radius:999px;background:#000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);z-index:3;will-change:auto}#s07 [data-clface]>div:nth-child(6):before{content:"";position:absolute;left:50%;bottom:10px;width:34%;height:4px;transform:translateX(-50%);border-radius:999px;background:rgba(255,255,255,.6);z-index:3;pointer-events:none}#s07 [data-cltv] .ty-h2 br{display:none}#s07 [data-cltv] .ty-h2{text-wrap:balance!important}#s07 [data-clface]>div:nth-child(6)>div:last-child{gap:28px!important;padding:56px 20px!important}#s07 [data-closefoot]>div{flex-direction:row!important;flex-wrap:wrap!important;gap:10px!important}#s07 [data-closefoot] a.ck-btn{width:auto!important;height:46px!important;padding:0 18px!important}#s07 [data-closefoot] a.ck-btn:not(.ck-p){box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)!important;border-radius:6px!important}}#dcr-host footer a.ck-foot[aria-label]{width:44px!important;height:44px!important}#dcr-host footer #cf-email,#dcr-host footer button,#dcr-host footer form button{min-height:44px!important}#dcr-host footer a[aria-label="CAMB.AI home"]{padding:14px 0;margin:-14px 0}@media (orientation:landscape) and (max-height:500px){#s06#s06{padding-bottom:32px!important}#s07#s07{padding:40px var(--pm) 64px!important}#s07>div:first-child{width:calc(100vw - 2 * var(--pm))!important;container-type:inline-size}#s07>div:first-child>div[aria-hidden=true]{height:0!important}#s07 [data-clface]>div:nth-child(n+11){display:none!important}#s07#s07 [data-cltv]{aspect-ratio:auto!important;min-height:0!important;height:calc(100svh - 104px)!important;border-radius:24px!important}#s07 [data-clface]>div:nth-child(6){border-radius:24px}#s07 [data-clface]>div:nth-child(6):after{display:none}#s07 [data-clface]>div:nth-child(6)>div:last-child{gap:16px!important;padding:20px!important}html #s07#s07 [data-cltv] .ty-h2{font-size:min(var(--fs-h2),4.4cqi)!important;white-space:normal;max-width:22em!important}#s07 [data-cltv] .ty-h2 br{display:none}}:root{--fs-h1:clamp(38px,calc(25.4px + 3.24vw),88px);--fs-h2:clamp(30px,calc(23.3px + 1.714vw),48px);--fs-h3:clamp(24px,calc(19.54px + 1.143vw),36px);--fs-h4:clamp(20px,calc(17.4px + 0.667vw),27px);--fs-body-lg:clamp(16px,calc(14.51px + 0.381vw),20px);--fs-body:clamp(16px,calc(15.63px + 0.095vw),17px);--fs-small:clamp(14px,14px,14px);--fs-label:clamp(14px,14px,14px);--fs-button:clamp(16px,16px,16px);--lh-h1:1;--lh-h2:1.08;--lh-h3:1.15;--lh-h4:1.25;--lh-body:1.5;--lh-small:1.45;--lh-label:1.3;--lh-button:1;--ls-h1:-0.03em;--ls-h2:-0.025em;--ls-h3:-0.02em;--ls-h4:-0.015em;--ls-body:0;--ls-label:0.08em;--ls-button:-0.01em}#dcr-host :is(h1,h2,h3,h4),.h3d :is(h1,h2,h3),.rec :is(h2,h3){text-wrap:balance}#dcr-host p,.h3d p,.rec p{text-wrap:pretty}#s04#s04>div>p:first-child{font-size:var(--fs-label)!important;line-height:var(--lh-label)!important;letter-spacing:var(--ls-label)!important}#s04#s04 h2{font-size:var(--fs-h2)!important;line-height:var(--lh-h2)!important;letter-spacing:var(--ls-h2)!important}#s04#s04 h2,#s04#s04 h3{font-weight:400!important}#s04#s04 h3{margin:0;font-size:var(--fs-h4)!important;line-height:var(--lh-h4)!important;letter-spacing:var(--ls-h4)!important}#s04#s04>div>div:nth-child(3) a{font-size:var(--fs-button)!important;line-height:var(--lh-button)!important;letter-spacing:var(--ls-button)!important}#s04#s04>div>p:last-child a{font-size:var(--fs-body)!important;line-height:var(--lh-body)!important}#s06#s06 [data-blc] :is([style*="text-transform:uppercase"],[style*="text-transform: uppercase"]),#s06#s06>div>p:first-child{font-size:var(--fs-label)!important;letter-spacing:var(--ls-label)!important}#s06#s06 h2{font-size:var(--fs-h2)!important;line-height:var(--lh-h2)!important;letter-spacing:var(--ls-h2)!important}#s06#s06 [data-blc]>h3{font-size:var(--fs-h4)!important;line-height:var(--lh-h4)!important;letter-spacing:var(--ls-h4)!important}#s06#s06 [data-blc]>p{font-size:var(--fs-body)!important;line-height:var(--lh-body)!important;letter-spacing:var(--ls-body)!important}#s06#s06 [data-blc] :is([style*="font-size:11px"],[style*="font-size: 11px"]),#s06#s06 [data-blc] :is([style*="font-size:12px"],[style*="font-size: 12px"]),#s06#s06 [data-blc] :is([style*="font-size:13px"],[style*="font-size: 13px"]),#s06#s06 [data-blc] :is([style*="font-size:15px"],[style*="font-size: 15px"]){font-size:var(--fs-small)!important}#s07#s07 [data-cltv] .ty-h2{font-size:min(var(--fs-h2),4.1cqi)!important;line-height:var(--lh-h2)!important;letter-spacing:var(--ls-h2)!important;font-weight:400!important}@media (max-width:1099px){#s07#s07 [data-cltv] .ty-h2{font-size:var(--fs-h2)!important}}#dcr-host#dcr-host .ck-btn,#dcr-host#dcr-host a.ck-l,#dcr-host#dcr-host a.ck-m{font-size:var(--fs-button)!important;letter-spacing:var(--ls-button)!important}#dcr-host nav .ck-dd .ck-dds,#dcr-host nav .ck-dd .ck-dt,#dcr-host nav [data-nm],#dcr-host#dcr-host nav .ck-nav,#dcr-host#dcr-host nav .ck-nav *{font-size:var(--fs-small)!important}#dcr-host nav :is([style*="font-size:17px"],[style*="font-size: 17px"]){font-size:var(--fs-body)!important}#dcr-host nav :is([style*="font-size:14px"],[style*="font-size: 14px"]){font-size:var(--fs-small)!important}#dcr-host nav :is([style*="font-size:15px"],[style*="font-size: 15px"]){font-size:var(--fs-small)!important}#dcr-host nav :is([style*="font-size:16px"],[style*="font-size: 16px"]){font-size:var(--fs-body)!important}#dcr-host nav :is([style*="font-size:24px"],[style*="font-size: 24px"]){font-size:var(--fs-h4)!important;line-height:var(--lh-h4)!important}#dcr-host nav :is([style*="font-size:11px"],[style*="font-size: 11px"]),#dcr-host nav :is([style*="font-size:12px"],[style*="font-size: 12px"]){font-size:var(--fs-label)!important;letter-spacing:var(--ls-label)!important}#dcr-host footer :is([style*="font-size: 11px"],[style*="font-size:  11px"]),#dcr-host footer :is([style*="font-size: 12px"],[style*="font-size:  12px"]),#dcr-host footer :is([style*="font-size:11px"],[style*="font-size: 11px"]),#dcr-host footer :is([style*="font-size:12px"],[style*="font-size: 12px"]){font-size:var(--fs-label)!important;letter-spacing:var(--ls-label)!important}#dcr-host footer .ck-foot,#dcr-host footer :is([style*="font-size:14px"],[style*="font-size: 14px"]),#dcr-host footer :is([style*="font-size:15px"],[style*="font-size: 15px"]){font-size:var(--fs-small)!important}html:root [data-mode=dark],html:root [data-mode=light],html:root [data-theme=dark],html:root [data-theme=light],html:root:root{--font-text:"Geist","Geist Fallback",sans-serif}html body{font-family:var(--font-text)}#s06#s06 [data-blc],#s06#s06 [data-blc] :not([style*=mono]):not(.ck-arr){font-family:var(--font-text)!important}html ::-moz-selection{background:#EC5512!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF;text-shadow:none}html ::selection{background:#EC5512!important;color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF;text-shadow:none}html :is(img,svg,video,canvas,picture)::-moz-selection,html svg ::-moz-selection{background:transparent!important}html :is(img,svg,video,canvas,picture)::selection,html svg ::selection{background:transparent!important}html :is(img,svg,video,canvas,picture){-webkit-user-select:none;-moz-user-select:none;user-select:none}html:lang(ja) :is(h1,h2,h3,.rcs-mini){word-break:keep-all;overflow-wrap:anywhere}.rcs{background:#fff;color:#111;font-family:var(--font-text);padding:var(--sec,96px) var(--pm,clamp(24px,6vw,96px))}.rcs-label{margin:0;font-family:var(--font-mono);font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-label);text-transform:uppercase;color:#4e4e51}.rcs-head{margin:16px 0 0;max-width:16em;font-weight:400;font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);text-wrap:balance}.rcs-rows{margin-top:48px;flex-direction:column}.rcs-row,.rcs-rows{display:flex;gap:16px}.rcs-row{height:440px}.rcs-strip{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:4px;background:#141517;cursor:pointer;outline:none;transition:flex-grow .6s cubic-bezier(.2,.6,.2,1)}.rcs-strip[data-on="1"]{flex-grow:3;cursor:default}.rcs-strip:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #111}.rcs-img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;filter:brightness(.7);transition:filter .6s ease}.rcs-strip[data-on="1"] .rcs-img{filter:none}.rcs-blur{backdrop-filter:blur(14px);-webkit-mask-image:linear-gradient(0deg,#000 0,#000 30%,transparent 55%);mask-image:linear-gradient(0deg,#000 0,#000 30%,transparent 55%)}.rcs-blur,.rcs-shade{position:absolute;inset:0}.rcs-shade{background:linear-gradient(0deg,rgba(8,9,10,.92) 0,rgba(8,9,10,.55) 38%,rgba(8,9,10,0) 62%),linear-gradient(180deg,rgba(8,9,10,.55) 0,transparent 22%)}.rcs-ring{position:absolute;inset:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}.rcs-logo{position:absolute;left:24px;top:24px;z-index:2;display:flex;align-items:center;transform-origin:left top;transition:transform .6s cubic-bezier(.2,.6,.2,1)}.rcs-strip[data-on="1"] .rcs-logo{transform:scale(1.25)}.rcs-logo img{display:block;max-width:none;filter:brightness(0) invert(1) drop-shadow(0 1px 6px rgba(0,0,0,.55))}.rcs-full,.rcs-mini{position:absolute;left:24px;bottom:24px;z-index:2;margin:0;color:#fff}.rcs-mini{right:24px;font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty;transition:opacity .25s ease .3s}.rcs-full,.rcs-strip[data-on="1"] .rcs-mini{opacity:0;transition:opacity .15s ease}.rcs-full{width:var(--ow,552px);max-width:calc(100% - 48px);pointer-events:none}.rcs-strip[data-on="1"] .rcs-full{opacity:1;pointer-events:auto;transition:opacity .45s ease .3s}.rcs-full:before{content:"";position:absolute;z-index:-1;left:-24px;right:-9999px;top:-96px;bottom:-24px;background:linear-gradient(0deg,rgba(8,9,10,.9) 0,rgba(8,9,10,.72) calc(100% - 96px),rgba(8,9,10,0))}.rcs-title{margin:0;max-width:22em;font-weight:400;font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:var(--ls-h4);text-wrap:balance}.rcs-text{margin:12px 0 0;max-width:40em;font-size:var(--fs-body);line-height:var(--lh-body);text-wrap:pretty}.rcs-meta{margin:16px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}.rcs-date{font-family:var(--font-mono);font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:var(--ls-label);color:#e4e4e6}.rcs-meta a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:var(--fs-button);font-weight:500;line-height:var(--lh-button);text-decoration:none;white-space:nowrap}.rcs-meta a:hover{text-decoration:underline;text-underline-offset:3px}.rcs-meta a{padding-block:14px;margin-block:-14px}.rcs-meta a:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (min-width:700px) and (max-width:1099px){.rcs-row{height:380px}.rcs-strip[data-on="0"] .rcs-mini{opacity:0}}@media (max-width:699px){.rcs-row,.rcs-rows{gap:56px}.rcs-row{flex-direction:column;height:auto}.rcs-strip{flex:none;overflow:visible;background:none;border-radius:0;cursor:default}.rcs-img{position:relative;inset:auto;aspect-ratio:16/10;height:auto;border-radius:4px;filter:none}.rcs-blur,.rcs-mini,.rcs-ring{display:none}.rcs-shade{inset:0 0 auto 0;aspect-ratio:16/10;border-radius:4px;background:linear-gradient(180deg,rgba(8,9,10,.72) 0,rgba(8,9,10,.35) 30%,rgba(8,9,10,0) 55%)}.rcs-logo{left:16px;top:16px}.rcs-strip[data-on="1"] .rcs-logo{transform:none}.rcs-full{position:static;width:auto;max-width:none;padding-top:16px;opacity:1;pointer-events:auto;color:#111;transition:none}.rcs-full:before{display:none}.rcs-text{margin-top:10px}.rcs-date,.rcs-text{color:#4e4e51}.rcs-meta a{display:inline;color:#111;white-space:normal;line-height:var(--lh-small)}.rcs-meta a svg{display:inline;margin-left:6px;vertical-align:-1px}.rcs-meta a:focus-visible{outline-color:#111}.rcs-strip:focus-visible{box-shadow:none}}@media (prefers-reduced-motion:reduce){.rcs-full,.rcs-img,.rcs-logo,.rcs-mini,.rcs-strip{transition:none!important}}