.bottom-info-bar{position:fixed;bottom:calc(var(--margin) + 20px);left:calc(var(--margin) + 30px);right:calc(var(--margin) + 30px);display:flex;justify-content:center;z-index:5;pointer-events:none}:root{--lp-meta-letter-spacing: -.001em;--lp-instr-letter-spacing: -.0025em;--lp-light-letter-spacing: -.0025em;--lp-left: 15vw;--lp-top: calc(var(--margin) + 155px);--lp-bottom: calc(var(--margin) + 160px);--cursor-drag-px: 20;--cursor-click-w-px: 14;--cursor-click-h-px: 20}.left-panel{position:fixed;top:var(--lp-top);bottom:var(--lp-bottom);left:var(--lp-left);width:240px;z-index:5;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;transition:opacity .3s ease}.scramble-hover{pointer-events:auto;display:inline-block}.right-panel{position:fixed;top:var(--lp-top);bottom:var(--lp-bottom);right:var(--lp-left);width:240px;z-index:6;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;transition:opacity .3s ease;text-align:right}.right-panel .lp-meta-line,.right-panel .lp-instr-line,.right-panel .rp-heading,.right-panel .rp-time-line,.right-panel .rp-copyright{pointer-events:auto}.right-panel .lp-upright{font-style:normal}.rp-heading{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:1.5rem;font-style:normal;font-weight:400;color:var(--text-primary);line-height:1.05;letter-spacing:-.01em;text-transform:lowercase;text-align:right}.rp-time-line{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.78rem;font-style:var(--tt-font-style, normal);font-weight:400;color:var(--text-primary);line-height:1.6;letter-spacing:var(--tt-letter-spacing);text-align:right}.rp-copyright{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;color:var(--text-secondary);font-size:.72rem;font-style:var(--tt-font-style, normal);line-height:1.4;letter-spacing:var(--tt-letter-spacing);text-align:right}.flicker-tile{--flicker-width: 150px;--flicker-aspect: 16 / 9;--flicker-gap-bottom: 8px;--flicker-border-width: 0px;--flicker-border-color: color-mix(in srgb, var(--theme-ink) 18%, transparent);--flicker-border-style: solid;--flicker-radius: 0px;--flicker-bg: transparent;--flicker-object-fit: cover;--flicker-filter: none;position:relative;width:var(--flicker-width);aspect-ratio:var(--flicker-aspect);margin-bottom:var(--flicker-gap-bottom);margin-left:auto;overflow:hidden;background:var(--flicker-bg);border:var(--flicker-border-width) var(--flicker-border-style) var(--flicker-border-color);border-radius:var(--flicker-radius)}.flicker-tile__img{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--flicker-object-fit);filter:var(--flicker-filter);opacity:0;pointer-events:none}.flicker-tile__img--active{opacity:1}.rp-justify{text-align:justify;text-align-last:right}.lp-spacer{height:16px}.lp-time-left{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.78rem;font-style:var(--tt-font-style, normal);font-weight:400;color:var(--text-primary);line-height:1.6;letter-spacing:var(--tt-letter-spacing);text-align:left}.lp-copyright-left{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.72rem;font-style:var(--tt-font-style, normal);font-weight:400;color:var(--text-secondary);line-height:1.4;letter-spacing:var(--tt-letter-spacing);text-align:left}.flicker-tile--left{--flicker-width: 120px;margin-left:0;margin-bottom:10px}.flicker-tile--gallery{--flicker-width: 100%;--flicker-aspect: 1 / 1.414;width:65%;max-width:430px;margin-left:auto;margin-top:100px;margin-bottom:0}.lp-top-group{display:flex;flex-direction:column;gap:22px}.lp-name{pointer-events:auto;cursor:pointer;font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:2.2rem;font-style:normal;font-weight:400;color:var(--text-primary);line-height:1.05;letter-spacing:-.07em;text-transform:lowercase;display:inline-block;transform:translateY(var(--lp-name-offset-y, 0em))}.lp-meta-group{display:flex;flex-direction:column;gap:1px}.lp-meta-line{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.78rem;font-style:var(--tt-font-style, normal);font-weight:400;color:var(--text-primary);line-height:1.6;letter-spacing:var(--tt-letter-spacing)}.lp-instr-group,.lp-intr-group{display:flex;flex-direction:column;gap:1px;letter-spacing:var(--tt-letter-spacing)}.lp-instr-line{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.72rem;font-style:var(--tt-font-style, normal);font-weight:400;color:var(--text-secondary);line-height:1.3;letter-spacing:var(--tt-letter-spacing);text-align:justify;text-align-last:left}.rp-instr-line{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.72rem;font-style:var(--tt-font-style, normal);font-weight:400;color:var(--text-secondary);line-height:1.3;letter-spacing:var(--tt-letter-spacing);text-align:right;text-align-last:right}.lp-light{color:var(--text-light);font-size:.65rem;letter-spacing:var(--lp-light-letter-spacing)}.lp-meta-line.lp-upright{font-style:normal}.lp-bottom-group,.lp-index-group{display:flex;flex-direction:column;gap:3px}.lp-page-name{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.88rem;font-style:normal;font-weight:400;color:var(--text-primary);line-height:1.2}.lp-page-email{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.72rem;font-style:var(--tt-font-style, normal);font-weight:400;color:var(--text-secondary);line-height:1.4;letter-spacing:var(--tt-letter-spacing);pointer-events:auto}.of-bot-text,.cv-bot-text,.ab-bot-text,.ct-bot-text{text-align:left;white-space:pre-line}#of-mid-drawing{font-weight:700}.lp-page-name-wrapper{position:relative;display:inline-block;pointer-events:auto;width:fit-content;cursor:pointer}.lp-page-name-wrapper .lp-page-name{text-decoration:underline;text-decoration-style:dashed;text-underline-offset:4px;text-decoration-color:var(--text-secondary);text-decoration-thickness:1px;transition:text-decoration-color .25s ease,color .25s ease}.lp-page-name-wrapper:hover .lp-page-name{text-decoration-style:solid;text-decoration-color:var(--text-primary)}.main-area,.grid-overlay,.lp-top-group,.margin-frame{transition:opacity .3s ease}body.index-mode-active .grid-overlay,body.index-mode-active .lp-top-group,body.index-mode-active .margin-frame,body.index-mode-active .left-panel,body.index-mode-active .right-panel{opacity:var(--palette-dim-intensity);transition:opacity .3s ease}body.index-mode-active .cube-rotate-arrow{opacity:0!important;pointer-events:none!important}body.index-mode-active .cube-cursor{display:none!important}:root{--site-letter-spacing: .01em;--tt-letter-spacing: var(--site-letter-spacing);--cube-label-letter-spacing: .05em;--tt-font-style: normal;--cube-shift-x: 186px;--palette-font-size: .5rem;--palette-letter-spacing: 0em;--palette-font-style: var(--tt-font-style, normal);--palette-text-color: #999999;--palette-hover-color: #000000;--palette-gap: 8px;--palette-row-gap: 4px;--palette-dim-intensity: .3;--palette-offset-x: 0px;--palette-offset-y: 10px;--of-img-ratio: 4 / 3;--of-img-width: 85%;--of-img-border-color: rgba(0, 0, 0, .15);--of-img-border-width: 0px;--of-img-border-style: dotted;--of-img-bg: transparent;--of-img-object-fit: contain;--of-img-padding-top: 0px;--of-img-padding-bottom: 0px;--of-img-align: center;--of-img-mat-bg: transparent;--of-img-mat-padding: 10px;--of-img-mat-padding-top: var(--of-img-mat-padding);--of-img-mat-padding-bottom: var(--of-img-mat-padding);--of-img-mat-padding-left: var(--of-img-mat-padding);--of-img-mat-padding-right: var(--of-img-mat-padding);--of-img-mat-border: var(--of-img-border-width) var(--of-img-border-style) var(--of-img-border-color);--of-img-mat-shadow: none;--of-img-mat-filter: none;--of-img-mat-vignette: none;--theme-base: #ffffff;--theme-ink: #000000;--bg-color: var(--theme-base);--grid-line-color: var(--theme-ink);--grid-line-opacity: 0;--crosshair-color: var(--theme-ink);--crosshair-opacity: 0;--margin-line-color: var(--theme-ink);--margin-line-opacity: 0;--margin-line-width: 1px;--margin-line-style: dashed;--text-primary: var(--theme-ink);--text-secondary: color-mix(in srgb, var(--theme-ink) 55%, var(--theme-base));--text-light: color-mix(in srgb, var(--theme-ink) 35%, var(--theme-base));--label-text-color: var(--theme-ink);--label-font-size: .7rem;--label-font-style: var(--tt-font-style, normal);--label-font-family: "Google Sans Code", "Google Sans Code Variable", monospace, sans-serif;--label-bg: color-mix(in srgb, var(--theme-base) 90%, transparent);--label-bg-opacity: 1;--label-border-color: color-mix(in srgb, var(--theme-ink) 35%, transparent);--label-border-width: 1px;--label-border-style: solid;--label-border-spacing: 4px;--label-padding: 5px 10px;--sublabel-text-color: var(--theme-base);--sublabel-font-size: .62rem;--sublabel-font-style: var(--tt-font-style, normal);--sublabel-font-family: "Google Sans Code", "Google Sans Code Variable", monospace, sans-serif;--sublabel-bg: color-mix(in srgb, var(--theme-ink) 95%, transparent);--sublabel-bg-opacity: 1;--sublabel-border-color: color-mix(in srgb, var(--theme-base) 25%, transparent);--sublabel-border-width: 1px;--sublabel-border-style: solid;--sublabel-border-spacing: 3px;--sublabel-padding: 4px 9px;--vertex-label-text-color: #646464;--vertex-label-font-size: .2rem;--vertex-label-font-size-active: .5rem;--vertex-label-font-style: var(--tt-font-style, normal);--vertex-label-font-family: var(--sublabel-font-family);--vertex-label-font-weight: 500;--vertex-label-bg: #ffffff;--vertex-label-border-color: color-mix(in srgb, var(--theme-base) 22%, transparent);--vertex-label-border-width: 1px;--vertex-label-border-style: solid;--vertex-label-radius: 2px;--vertex-label-padding: 1px 4px;--vertex-label-padding-active: 2px 5px;--vertex-label-opacity: .3;--vertex-label-text-color-active: #ffffff;--vertex-label-bg-active: #4c4c4c;--vertex-label-opacity-active: 1;--vertex-label-letter-spacing: .04em;--vertex-label-transition-duration: .18s;--vertex-label-push: .045;--cube-line-color: #666666;--cube-line-opacity: .85;--cube-line-width: 1px;--cube-selected-opacity: 1;--cube-unselected-opacity: .55;--cube-hidden-line-opacity: .2;--cube-face-color: #0a0a0a;--cube-face-opacity: .05;--cube-face-opacity-solid: 1;--cube-solid-roughness: .15;--cube-solid-metalness: .6;--sublabel-connector-color: rgba(0, 0, 0, .25);--sublabel-connector-width: 1;--sublabel-connector-dash: 2, 3;--index-core-cube-size: .05;--index-core-cube-color: #000000;--index-core-glow-size: .48;--index-core-glow-color: #ffffff;--index-core-glow-opacity: .18;--hypercube-strut-color: #383838;--hypercube-strut-radius: .008;--cube-edge-color: #111111;--cube-face-color: #222222;--tesseract-connection-color: #222222;--tesseract-edge-color: #111111;--tesseract-face-color: #1e1e1e;--hypercube-connection-color: #383838;--central-cube-edge-color: #111111;--central-cube-face-color: #dcdcdc;--cube-power-surge-color: #ffd500;--cube-power-surge-size: .016;--cube-power-surge-glow: .95;--cube-power-surge-speed: 1;--margin: 24px;--grid-v1: 4%;--grid-v2: 40%;--grid-v3: 96%;--grid-h1: 10%;--grid-h2: 50%;--grid-h3: 90%;--cube-tile-width: 40%;--cube-tile-height: 40%;--cube-tile-debug: 0;--cursor-crosshair-length: 40;--cursor-crosshair-thickness: 1;--cursor-crosshair-gap: 8;--cursor-crosshair-color-light: #000000;--cursor-crosshair-color-dark: #ffd500;--cursor-pointer-scale: 1.5;--cursor-pointer-outline-light: #000000;--cursor-pointer-fill-light: #ffffff;--cursor-pointer-outline-dark: #000000;--cursor-pointer-fill-dark: #ffd500;--cursor-text-size: .7rem;--cursor-text-color: #666666;--cursor-text-font: var(--tt-font-style, normal);--cursor-gap: 8px;--cursor-offset-x: 15px;--cursor-offset-y: 15px;--global-cursor-outer-width: 34px;--global-cursor-outer-height: 34px;--global-cursor-outer-radius: 0px;--global-cursor-outer-fill: color-mix(in srgb, var(--theme-ink) 12%, transparent);--global-cursor-outer-border-color: color-mix(in srgb, var(--theme-ink) 95%, transparent);--global-cursor-outer-border-width: 1px;--global-cursor-outer-follow: .16;--global-cursor-inner-width: 5px;--global-cursor-inner-height: 5px;--global-cursor-inner-radius: 0px;--global-cursor-inner-fill: var(--theme-ink);--global-cursor-inner-border-width: 0px;--global-cursor-inner-border-color: transparent;--global-cursor-inner-follow: .36;--global-cursor-inner-gap: 4px;--global-cursor-preview-width: 200px;--global-cursor-preview-height: 200px;--global-cursor-preview-radius: 0px;--global-cursor-preview-border-width: 0px;--global-cursor-preview-border-color: color-mix(in srgb, var(--theme-ink) 88%, transparent);--global-cursor-preview-bg: color-mix(in srgb, var(--theme-base) 88%, transparent);--global-cursor-preview-shadow: 0 14px 34px color-mix(in srgb, var(--theme-ink) 14%, transparent);--global-cursor-preview-offset-x: 28px;--global-cursor-preview-offset-y: -18px;--global-cursor-preview-zoom: 5;--global-cursor-preview-object-fit: cover;--global-cursor-preview-padding: 8px;--global-cursor-preview-backdrop-blur: 4px;--cube-rotation-step-angle: 1.57079632679;--cube-rotation-easing: .18;--cube-rotation-input-kick: .12;--cube-auto-rotate-speed: .002;--cube-auto-rotate-delay: 1400;--cube-sublabel-hover-motion-factor: 2;--cube-sublabel-isolation-padding: 18px;--cube-arrow-size: 26px;--cube-arrow-icon-size: 22px;--cube-arrow-distance-from-center: 46px;--cube-arrow-distance-from-top: calc(100vh - var(--margin) - 13px);--cube-arrow-nudge-x: 0px;--cube-arrow-nudge-y: 0px;--cube-arrow-border-width: 0px;--cube-arrow-border-color: color-mix(in srgb, var(--theme-ink) 22%, transparent);--cube-arrow-bg: transparent;--cube-arrow-color: color-mix(in srgb, var(--theme-ink) 82%, var(--theme-base));--cube-arrow-hover-bg: transparent;--cube-arrow-hover-color: var(--theme-base);--cube-arrow-opacity: .72;--cube-preview-width: 100px;--cube-preview-ratio: 1 / 1;--cube-preview-offset-x: 100px;--cube-preview-offset-y: -50px;--cube-preview-radius: 2px;--cube-preview-border: 1px solid color-mix(in srgb, var(--theme-ink) 14%, transparent);--cube-preview-bg: color-mix(in srgb, var(--theme-base) 84%, transparent);--cube-preview-shadow: 0 18px 38px rgba(0, 0, 0, .12);--cube-preview-opacity: 1;--cube-preview-object-fit: cover;--cube-preview-backdrop-blur: 3px;--cube-preview-brightness: 1;--cube-preview-contrast: 1;--cube-preview-saturate: 1;--cube-preview-grayscale: 0;--cube-preview-sepia: 0;--cube-preview-hue-rotate: 0deg;--cube-preview-overlay: rgba(255, 255, 255, .02);--cube-preview-overlay-blend: normal;--cube-preview-hidden-scale: 1;--landing-gallery-padding-top: clamp(96px, 8vw, 96px);--landing-gallery-padding-right: var(--lp-left);--landing-gallery-padding-bottom: calc(var(--margin) + 80px);--landing-gallery-padding-left: var(--lp-left)}html.dark-mode{--theme-base: #0d0c0a;--theme-ink: #ffd500;--bg-color: var(--theme-base);--grid-line-color: var(--theme-ink);--crosshair-color: var(--theme-ink);--margin-line-color: var(--theme-ink);--text-primary: var(--theme-ink);--text-secondary: color-mix(in srgb, var(--theme-ink) 80%, var(--theme-base));--text-light: color-mix(in srgb, var(--theme-ink) 38%, var(--theme-base));--cube-line-color: var(--theme-ink);--cube-hidden-line-opacity: .22;--cube-edge-color: var(--theme-ink);--cube-face-color: #0a0a0a;--tesseract-connection-color: var(--theme-ink);--tesseract-edge-color: var(--theme-ink);--tesseract-face-color: #ffd500;--hypercube-connection-color: #444444;--central-cube-edge-color: var(--theme-ink);--central-cube-face-color: #222222;--cube-power-surge-color: var(--theme-ink);--cube-power-surge-size: .009;--cube-power-surge-glow: .2;--cube-power-surge-speed: 1;--palette-text-color: #666666;--palette-hover-color: #ffffff;--of-img-mat-bg: #222222;--of-img-mat-padding: 15px;--of-img-mat-padding-top: var(--of-img-mat-padding);--of-img-mat-padding-bottom: var(--of-img-mat-padding);--of-img-mat-padding-left: var(--of-img-mat-padding);--of-img-mat-padding-right: var(--of-img-mat-padding);--of-img-mat-border-width: 1px;--of-img-mat-border-style: solid;--of-img-mat-border-color: rgba(255, 255, 255, .08);--of-img-mat-border: var(--of-img-mat-border-width) var(--of-img-mat-border-style) var(--of-img-mat-border-color);--of-img-mat-shadow: none;--of-img-mat-filter: none;--of-img-mat-vignette: none;color-scheme:dark}html.dark-mode .cube-cursor,html.dark-mode .custom-cursor{filter:invert(1)}.of-img-frame{aspect-ratio:var(--of-img-ratio, 4 / 3)!important}html.dark-mode .of-img-frame{aspect-ratio:var(--of-img-ratio, 4 / 3)!important;background:var(--of-img-mat-bg, #222222);border:var(--of-img-mat-border, 1px solid rgba(255, 255, 255, .08))!important;box-shadow:none;box-sizing:border-box;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}html.dark-mode .of-img-frame img:not(.of-spread-img),html.dark-mode .of-img-frame video{top:var(--of-img-mat-padding-top, var(--of-img-mat-padding, 14px))!important;bottom:var(--of-img-mat-padding-bottom, var(--of-img-mat-padding, 14px))!important;left:var(--of-img-mat-padding-left, var(--of-img-mat-padding, 14px))!important;right:var(--of-img-mat-padding-right, var(--of-img-mat-padding, 14px))!important;width:calc(100% - var(--of-img-mat-padding-left, var(--of-img-mat-padding, 14px)) - var(--of-img-mat-padding-right, var(--of-img-mat-padding, 14px)))!important;height:calc(100% - var(--of-img-mat-padding-top, var(--of-img-mat-padding, 14px)) - var(--of-img-mat-padding-bottom, var(--of-img-mat-padding, 14px)))!important;filter:var(--of-img-mat-filter, none);box-sizing:border-box;transition:opacity .4s ease,filter .3s ease,top .2s ease,bottom .2s ease,left .2s ease,right .2s ease,width .2s ease,height .2s ease}html.dark-mode .of-img-frame .of-img-placeholder,html.dark-mode .of-img-frame canvas{top:var(--of-img-mat-padding-top, var(--of-img-mat-padding, 14px))!important;bottom:var(--of-img-mat-padding-bottom, var(--of-img-mat-padding, 14px))!important;left:var(--of-img-mat-padding-left, var(--of-img-mat-padding, 14px))!important;right:var(--of-img-mat-padding-right, var(--of-img-mat-padding, 14px))!important}body:not(.loader-ready)>*:not(#global-loader-overlay){visibility:hidden!important;opacity:0!important}*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:Google Sans Code;src:url(/fonts/google-sans-code-latin-wght-normal.woff2) format("woff2-variations"),url(/fonts/google-sans-code-latin-full-normal.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}@font-face{font-family:Google Sans Code;src:url(/fonts/google-sans-code-latin-wght-italic.woff2) format("woff2-variations"),url(/fonts/google-sans-code-latin-full-italic.woff2) format("woff2");font-weight:300 800;font-style:italic;font-display:swap}@font-face{font-family:Google Sans Code Variable;src:url(/fonts/google-sans-code-latin-wght-normal.woff2) format("woff2-variations"),url(/fonts/google-sans-code-latin-full-normal.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}@font-face{font-family:Google Sans Code Variable;src:url(/fonts/google-sans-code-latin-wght-italic.woff2) format("woff2-variations"),url(/fonts/google-sans-code-latin-full-italic.woff2) format("woff2");font-weight:300 800;font-style:italic;font-display:swap}@font-face{font-family:"GoogleSans-VariableFont_GRAD,opsz,wght";src:url(/fonts/GoogleSans-VariableFont_GRAD,opsz,wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"GoogleSans-VariableFont_GRAD,opsz,wght";src:url(/fonts/GoogleSans-Italic-VariableFont_GRAD,opsz,wght.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}html{width:100%;height:100%}body{width:100%;margin:0;padding:0;font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;background:var(--bg-color);color:var(--text-primary);transition:background-color .3s ease;text-transform:none;letter-spacing:var(--tt-letter-spacing)}.global-cursor-layer{position:fixed;inset:0;pointer-events:none;z-index:99990;opacity:0;transition:opacity .16s ease}.global-cursor-layer.is-visible{opacity:1}.global-cursor-preview{position:fixed;top:0;left:0;pointer-events:none;will-change:transform,opacity;width:var(--global-cursor-preview-width);height:var(--global-cursor-preview-height);overflow:hidden;opacity:0;border-radius:var(--global-cursor-preview-radius);border:var(--global-cursor-preview-border-width) solid var(--global-cursor-preview-border-color);background:var(--global-cursor-preview-bg);box-shadow:var(--global-cursor-preview-shadow);backdrop-filter:blur(var(--global-cursor-preview-backdrop-blur));-webkit-backdrop-filter:blur(var(--global-cursor-preview-backdrop-blur));transform:translate3d(var(--cursor-preview-x, 0px),var(--cursor-preview-y, 0px),0) scale(.88);transform-origin:center;transition:opacity .16s ease,transform .18s cubic-bezier(.16,1,.3,1)}.global-cursor-preview.is-visible{opacity:1;transform:translate3d(var(--cursor-preview-x, 0px),var(--cursor-preview-y, 0px),0) scale(1)}.global-cursor-preview__image{width:100%;height:100%;display:block;object-fit:var(--global-cursor-preview-object-fit);transform:scale(var(--global-cursor-preview-zoom));transform-origin:calc(var(--global-cursor-preview-origin-x, 50) * 1%) calc(var(--global-cursor-preview-origin-y, 50) * 1%)}.global-cursor-preview:not(.is-visible) .global-cursor-preview__image{transform:scale(1.35)}html.dark-mode{--global-cursor-preview-shadow: none}html.dark-mode .global-cursor-preview{box-shadow:none}body.landing-page{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto}body.art-page{height:auto;min-height:100vh;overflow-y:auto;overflow-x:hidden}.landing-page{position:relative;width:100%;min-height:100vh;--landing-hero-scroll-y: 0px}::-webkit-scrollbar{display:none}*{scrollbar-width:none;-ms-overflow-style:none}.margin-frame{position:fixed;top:var(--margin);left:var(--margin);right:var(--margin);bottom:var(--margin);pointer-events:none;z-index:1}.margin-frame:before{content:"";position:absolute;top:0;left:calc(-1 * var(--margin));right:calc(-1 * var(--margin));height:0;border-top:var(--margin-line-width) var(--margin-line-style) var(--margin-line-color);opacity:var(--margin-line-opacity)}.margin-frame:after{content:"";position:absolute;bottom:0;left:calc(-1 * var(--margin));right:calc(-1 * var(--margin));height:0;border-bottom:var(--margin-line-width) var(--margin-line-style) var(--margin-line-color);opacity:var(--margin-line-opacity)}.margin-left-line{position:absolute;left:0;top:calc(-1 * var(--margin));bottom:calc(-1 * var(--margin));width:0;border-left:var(--margin-line-width) var(--margin-line-style) var(--margin-line-color);opacity:var(--margin-line-opacity)}.margin-right-line{position:absolute;right:0;top:calc(-1 * var(--margin));bottom:calc(-1 * var(--margin));width:0;border-right:var(--margin-line-width) var(--margin-line-style) var(--margin-line-color);opacity:var(--margin-line-opacity)}.grid-overlay{position:fixed;top:var(--margin);left:var(--margin);right:var(--margin);bottom:var(--margin);pointer-events:none;z-index:1}.grid-line{position:absolute;background:var(--grid-line-color);opacity:var(--grid-line-opacity)}.grid-line--v{width:1px;top:calc(-1 * var(--margin));bottom:calc(-1 * var(--margin));left:var(--pos)}.grid-line--h{height:1px;left:calc(-1 * var(--margin));right:calc(-1 * var(--margin));top:var(--pos)}.crosshair{position:absolute;width:8px;height:8px;left:calc(var(--cx) - 4px);top:calc(var(--cy) - 4px);pointer-events:none}.crosshair:before,.crosshair:after{content:"";position:absolute;background:var(--crosshair-color);opacity:var(--crosshair-opacity)}.crosshair:before{width:1px;height:8px;left:3.5px;top:0}.crosshair:after{width:8px;height:1px;top:3.5px;left:0}.crosshair[style*="--cy: var(--grid-h2)"]{display:none}.info-bar{position:fixed;top:calc(var(--margin) + 20px);left:calc(var(--margin) + 30px);right:calc(var(--margin) + 30px);display:flex;justify-content:center;z-index:5;pointer-events:none}.info-block{display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center}.info-title{font-size:.9rem;font-weight:400;color:var(--text-primary);line-height:1.2}.info-title.light{color:var(--text-light);font-weight:300}.info-subtitle{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.75rem;font-style:var(--tt-font-style, normal);color:var(--text-secondary);line-height:1.2;letter-spacing:var(--tt-letter-spacing)}.info-subtitle.light{color:var(--text-light)}.main-area{position:fixed;top:var(--margin);left:var(--margin);right:var(--margin);bottom:var(--margin);z-index:1;cursor:default;transform:translate(var(--cube-shift-x, 0px),var(--landing-hero-scroll-y, 0px))}body.landing-page .left-panel,body.landing-page .right-panel,body.landing-page .margin-frame,body.landing-page .grid-overlay{transform:translateY(var(--landing-hero-scroll-y, 0px))}body,body *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21'%3E%3Cpath d='M10.5 0v21M0 10.5h21' stroke='%23000000' stroke-width='1.5'/%3E%3C/svg%3E") 10 10,crosshair}a,a *,button,button *,[role=button],.sub-label,.cube-rotate-arrow,.reel-item,.reel-strip,.ab-tile-click,.ab-nav-item,.of-click-zone{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='19' viewBox='0 0 12 19' shape-rendering='crispEdges'%3E%3Cpath fill='%23ffffff' d='M1 1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1H7v1H6v1H5v1H4v1H3v1H2V1z'/%3E%3Cpath fill='%23ffffff' d='M7 13h2v4H7z'/%3E%3Cpath fill='%23000000' d='M0 0v17h2v-2h1v-1h1v-1h1v-1h2v-1h1v-1h1v-1h1v-1h1v-1h1V11h-5v1H6v1H5v1H4v1H3v2H0zM6 13h1v4H6zm3 0h1v4H9zm-2 4h2v1H7z'/%3E%3C/svg%3E") 0 0,pointer}html.dark-mode body,html.dark-mode body *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21'%3E%3Cpath d='M10.5 0v21M0 10.5h21' stroke='%23ffd500' stroke-width='1.5'/%3E%3C/svg%3E") 10 10,crosshair}html.dark-mode a,html.dark-mode a *,html.dark-mode button,html.dark-mode button *,html.dark-mode [role=button],html.dark-mode .sub-label,html.dark-mode .cube-rotate-arrow,html.dark-mode .reel-item,html.dark-mode .reel-strip,html.dark-mode .ab-tile-click,html.dark-mode .ab-nav-item,html.dark-mode .of-click-zone{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='19' viewBox='0 0 12 19' shape-rendering='crispEdges'%3E%3Cpath fill='%23ffd500' d='M1 1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1h1v1H7v1H6v1H5v1H4v1H3v1H2V1z'/%3E%3Cpath fill='%23ffd500' d='M7 13h2v4H7z'/%3E%3Cpath fill='%23000000' d='M0 0v17h2v-2h1v-1h1v-1h1v-1h2v-1h1v-1h1v-1h1v-1h1v-1h1V11h-5v1H6v1H5v1H4v1H3v2H0zM6 13h1v4H6zm3 0h1v4H9zm-2 4h2v1H7z'/%3E%3C/svg%3E") 0 0,pointer}.landing-gallery{position:relative;z-index:20;margin-top:100vh;padding:var(--landing-gallery-padding-top) var(--landing-gallery-padding-right) var(--landing-gallery-padding-bottom) var(--landing-gallery-padding-left);background:var(--bg-color);border-top:1px solid color-mix(in srgb,var(--text-primary) 10%,transparent)}.landing-gallery__intro{display:grid;grid-template-columns:minmax(0,1fr) 1fr;gap:clamp(0px,.5vw,1px);align-items:start;margin-bottom:clamp(28px,5vw,48px)}.landing-gallery__intro-left{display:flex;flex-direction:column;gap:clamp(16px,2vw,24px)}.landing-gallery__eyebrow,.landing-gallery__meta{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.82rem;line-height:1.4;letter-spacing:.02em;text-transform:none;color:var(--text-secondary)}.landing-gallery__eyebrow--shelf-header{margin-top:48px;margin-bottom:24px}.landing-gallery__title{margin:20;font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:2rem;font-style:normal;font-weight:400;line-height:1.05;letter-spacing:-.01em;color:var(--text-primary);text-transform:lowercase}.landing-gallery__copy{margin:0;max-width:50rem;font-size:.72rem;line-height:1.7;color:var(--text-secondary)}.landing-gallery__copy a{color:inherit;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.landing-gallery__copy a:hover{color:var(--text-primary)}.landing-gallery__body{margin:0;max-width:40rem;justify-content:start;font-size:.72rem;line-height:1.7;color:var(--text-secondary);text-align:justify;text-align-last:left}.landing-gallery__intro-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end}.landing-gallery__intro-tile{position:relative;width:65%;max-width:430px;aspect-ratio:2 / 3;border:1px solid color-mix(in srgb,var(--text-primary) 12%,transparent);background:color-mix(in srgb,var(--text-primary) 4%,transparent);box-shadow:0 18px 60px #00000014;overflow:hidden;cursor:crosshair;margin-left:auto}.landing-gallery__intro-caption,.flicker-tile__caption--gallery,.model-tile__caption--gallery{margin-top:18px;width:65%;max-width:430px;text-align:center;color:var(--text-secondary);font-size:.6rem;line-height:1.6;margin-left:auto}.model-tile{position:relative;overflow:hidden;background:transparent}.model-tile canvas{display:block;width:100%;height:100%}.model-tile--gallery{width:65%;max-width:430px;aspect-ratio:1 / 1;margin-left:auto;margin-top:60px;margin-bottom:0}.landing-gallery__intro-dither{position:absolute;inset:0;background:none}.landing-gallery__intro-image{width:100%;height:100%;object-fit:cover;display:block}.landing-gallery__intro-canvas{width:100%;height:100%;display:block}@keyframes zoomBoxPopIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes zoomBoxPopOut{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.landing-gallery__intro-normal-window{position:absolute;top:0;left:0;width:120px;height:120px;pointer-events:none;z-index:10;display:none;transition:none!important;will-change:transform}.landing-gallery__intro-normal-window.is-active,.landing-gallery__intro-normal-window.is-leaving{display:block}.landing-gallery__intro-normal-scaler{position:absolute;inset:0;width:100%;height:100%;border:1px solid color-mix(in srgb,var(--text-primary) 65%,transparent);box-shadow:0 12px 40px #00000047;overflow:hidden;background:color-mix(in srgb,var(--bg-color, #ffffff) 20%,transparent);transform-origin:50% 50%;transform:scale(0);opacity:0;will-change:transform,opacity}.landing-gallery__intro-normal-window.is-active .landing-gallery__intro-normal-scaler{animation:zoomBoxPopIn .22s cubic-bezier(.16,1,.3,1) forwards}.landing-gallery__intro-normal-window.is-leaving .landing-gallery__intro-normal-scaler{animation:zoomBoxPopOut .18s cubic-bezier(.16,1,.3,1) forwards}.landing-gallery__intro-normal-preview{position:absolute;inset:0;background-repeat:no-repeat;width:100%;height:100%}.landing-gallery__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(6px,1vw,12px)}.landing-gallery__card{display:grid;gap:10px;align-content:start;color:inherit;text-decoration:none}.landing-gallery__card img{width:80%;aspect-ratio:4 / 3;object-fit:cover;display:block;background:color-mix(in srgb,var(--text-primary) 4%,transparent);border:1px solid color-mix(in srgb,var(--text-primary) 12%,transparent);transition:transform .18s ease}.landing-gallery__name{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.7rem;line-height:1.55;font-weight:400;color:var(--text-primary)}.landing-gallery__card:hover img,.landing-gallery__card:focus-visible img{transform:translateY(-4px)}.landing-gallery__card:focus-visible{outline:none}#three-bg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}#three-bg canvas{display:block;width:100%!important;height:100%!important}#labels{position:absolute;inset:0;pointer-events:none;z-index:5}.cube-interaction-tile{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--cube-tile-width);height:var(--cube-tile-height);background:rgba(255,0,0,var(--cube-tile-debug));pointer-events:auto;z-index:2;cursor:grab}.cube-interaction-tile:active{cursor:grabbing}.cube-rotate-arrow{position:absolute;top:0;left:0;width:var(--cube-arrow-size);height:var(--cube-arrow-size);display:inline-flex;align-items:center;justify-content:center;padding:0;border:var(--cube-arrow-border-width) solid var(--cube-arrow-border-color);border-radius:999px;background:var(--cube-arrow-bg);color:var(--cube-arrow-color);box-shadow:var(--cube-arrow-shadow);opacity:max(var(--cube-arrow-opacity),.9);z-index:12;pointer-events:auto;cursor:pointer;transform:translate(-50%,-50%);transition:opacity .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.cube-rotate-arrow span{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:var(--cube-arrow-icon-size);line-height:1;transform:translateY(-1px)}.cube-rotate-arrow:hover,.cube-rotate-arrow:focus-visible{opacity:1;background:var(--cube-arrow-hover-bg);color:var(--cube-arrow-hover-color);border-color:var(--cube-arrow-hover-bg);transform:translate(-50%,-50%) scale(1.06);outline:none}.cube-rotate-arrow:active{transform:translate(-50%,-50%) scale(.94)}.cube-cursor{position:fixed;pointer-events:none;z-index:100;display:none;flex-direction:column;align-items:center;gap:var(--cursor-gap);transform:translate(calc(-50% + var(--cursor-offset-x)),calc(-50% + var(--cursor-offset-y)));transition:opacity .1s ease}.theme-selector{--ts-slot-w: calc(18px * var(--toggle-scale, 1));--ts-bar-h: calc(36px * var(--toggle-scale, 1));--ts-knob-d: calc(12px * var(--toggle-scale, 1));--ts-border-w: calc(1.5px * var(--toggle-scale, 1));--ts-speed: .22s;--ts-knob-pad: calc((var(--ts-slot-w) - 2 * var(--ts-border-w) - var(--ts-knob-d)) / 2);position:fixed;z-index:60;display:flex;flex-direction:row;width:calc(4 * var(--ts-slot-w));height:var(--ts-bar-h);border:var(--ts-border-w) solid color-mix(in srgb,var(--text-primary) 45%,transparent);border-radius:0;background:color-mix(in srgb,var(--bg-color) 82%,var(--text-primary));-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:background-color var(--ts-speed) ease,border-color var(--ts-speed) ease}.theme-selector__slot{flex:1;position:relative;cursor:pointer;border-right:var(--ts-border-w) solid color-mix(in srgb,var(--text-primary) 25%,transparent)}.theme-selector__slot:last-child{border-right:none}.theme-selector__knob{position:absolute;width:var(--ts-knob-d);height:var(--ts-knob-d);border-radius:0;background:var(--knob-color);border:none;padding:0;margin:0;cursor:pointer;left:50%;transform:translate(-50%);bottom:var(--ts-knob-pad);transition:bottom var(--ts-speed) cubic-bezier(.4,0,.2,1);-webkit-tap-highlight-color:transparent;outline:none}.theme-selector__knob:focus-visible{outline:1px dotted var(--text-primary);outline-offset:2px}.theme-selector__knob:hover{opacity:.82}.theme-selector__knob:active{transform:translate(-50%) scale(.88)}.theme-selector[data-active-theme=green] [data-theme-id=green] .theme-selector__knob,.theme-selector[data-active-theme=yellow] [data-theme-id=yellow] .theme-selector__knob,.theme-selector[data-active-theme=red] [data-theme-id=red] .theme-selector__knob,.theme-selector[data-active-theme=light] [data-theme-id=light] .theme-selector__knob{bottom:calc(var(--ts-bar-h) - var(--ts-knob-d) - var(--ts-knob-pad) - 2 * var(--ts-border-w))}.shadow-toggle{--st-slot-w: calc(18px * var(--toggle-scale, 1));--st-bar-h: calc(36px * var(--toggle-scale, 1));--st-knob-d: calc(12px * var(--toggle-scale, 1));--st-border-w: calc(1.5px * var(--toggle-scale, 1));--st-speed: .22s;--st-knob-pad: calc((var(--st-slot-w) - 2 * var(--st-border-w) - var(--st-knob-d)) / 2);--st-gap: calc(8px * var(--toggle-scale, 1));position:fixed;z-index:60;display:block;left:calc(var(--margin) + 12px + 4 * var(--st-slot-w) + var(--st-gap));bottom:calc(var(--margin) + 12px);width:var(--st-slot-w);height:var(--st-bar-h);border:var(--st-border-w) solid color-mix(in srgb,var(--text-primary) 45%,transparent);border-radius:0;background:color-mix(in srgb,var(--bg-color) 82%,var(--text-primary));-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;cursor:pointer;padding:0;margin:0;outline:none;box-sizing:border-box;transition:background-color var(--st-speed) ease,border-color var(--st-speed) ease}.shadow-toggle__knob{position:absolute;width:var(--st-knob-d);height:var(--st-knob-d);border-radius:0;background:var(--text-primary);border:none;padding:0;margin:0;pointer-events:none;left:50%;transform:translate(-50%);bottom:var(--st-knob-pad);transition:bottom var(--st-speed) cubic-bezier(.4,0,.2,1),background-color var(--st-speed) ease;-webkit-tap-highlight-color:transparent;outline:none}.shadow-toggle:focus-visible{outline:1px dotted var(--text-primary);outline-offset:2px}.shadow-toggle:hover .shadow-toggle__knob{opacity:.82}.shadow-toggle:active .shadow-toggle__knob{transform:translate(-50%) scale(.88)}.shadow-toggle[data-shadow-enabled=true] .shadow-toggle__knob{bottom:calc(var(--st-bar-h) - var(--st-knob-d) - var(--st-knob-pad) - 2 * var(--st-border-w))}.music-control{--mc-h-width: calc(48px * var(--toggle-scale, 1));--mc-h-height: calc(18px * var(--toggle-scale, 1));--mc-v-width: calc(18px * var(--toggle-scale, 1));--mc-v-height: calc(70px * var(--toggle-scale, 1));--mc-knob-size: calc(12px * var(--toggle-scale, 1));--mc-dot-size: calc(12px * var(--toggle-scale, 1));--mc-dot-gap: calc(2px * var(--toggle-scale, 1));--mc-border-w: calc(1.5px * var(--toggle-scale, 1));--mc-radius: 0px;--mc-speed: .22s;--mc-v-pad: calc((var(--mc-v-width) - 2 * var(--mc-border-w) - var(--mc-dot-size)) / 2);position:fixed;z-index:60;width:var(--mc-h-width);height:var(--mc-v-height);pointer-events:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.music-control__h-rail{position:absolute;bottom:0;left:0;width:var(--mc-h-width);height:var(--mc-h-height);border-radius:var(--mc-radius);border:var(--mc-border-w) solid color-mix(in srgb,var(--text-primary) 35%,transparent);background:color-mix(in srgb,var(--bg-color) 82%,var(--text-primary));pointer-events:auto;transition:background-color var(--mc-speed) ease,border-color var(--mc-speed) ease}.music-control__h-knob{position:absolute;top:50%;left:calc(2px * var(--toggle-scale, 1));width:var(--mc-knob-size);height:var(--mc-knob-size);border-radius:0;transform:translateY(-50%);background:var(--text-primary);border:none;padding:0;cursor:pointer;transition:left var(--mc-speed) cubic-bezier(.4,0,.2,1),background-color var(--mc-speed) ease;-webkit-tap-highlight-color:transparent;outline:none}.music-control__h-knob:focus-visible{outline:1px dotted var(--text-primary);outline-offset:3px}.music-control[data-playing=true] .music-control__h-knob{left:calc(var(--mc-h-width) - var(--mc-knob-size) - 2 * var(--mc-border-w) - 2px * var(--toggle-scale, 1))}.music-control__h-knob:active{transform:translateY(-50%) scale(.94)}.music-control__v-rail{position:absolute;bottom:calc(var(--mc-h-height) - var(--mc-border-w));right:0;width:var(--mc-v-width);height:auto;border:var(--mc-border-w) solid color-mix(in srgb,var(--text-primary) 35%,transparent);border-radius:0;background:color-mix(in srgb,var(--bg-color) 82%,var(--text-primary));box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:var(--mc-v-pad);gap:var(--mc-dot-gap);pointer-events:auto;transition:opacity var(--mc-speed) ease,background-color var(--mc-speed) ease,border-color var(--mc-speed) ease}.music-control[data-playing=false] .music-control__v-rail{opacity:.35;pointer-events:none}.music-control__v-dot{width:var(--mc-dot-size);height:var(--mc-dot-size);border-radius:0;background:var(--text-primary);border:none;padding:0;flex-shrink:0;cursor:pointer;opacity:.2;transition:opacity var(--mc-speed) ease,transform .12s ease;-webkit-tap-highlight-color:transparent;outline:none}.music-control__v-dot:hover{transform:scale(1.2)}.music-control__v-dot:focus-visible{outline:1px dotted var(--text-primary);outline-offset:2px}.music-control__h-rail:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 18%,transparent)}.note-bar{--note-bar-h: calc(18px * var(--toggle-scale, 1));--note-bar-w: 240px;--note-bar-border-w: calc(1.5px * var(--toggle-scale, 1));--note-bar-font-size: calc(9.2px * var(--toggle-scale, 1));--note-bar-speed: .22s;--ts-slot-w-val: calc(18px * var(--toggle-scale, 1));--st-slot-w-val: calc(18px * var(--toggle-scale, 1));--st-gap-val: calc(8px * var(--toggle-scale, 1));position:fixed;z-index:60;left:var(--note-bar-left, var(--page-left-col-x, var(--lp-left, 15vw)));bottom:calc(var(--margin) + 12px);width:var(--note-bar-w);height:var(--note-bar-h);border:var(--note-bar-border-w) solid color-mix(in srgb,var(--text-primary) 35%,transparent);border-radius:0;background:color-mix(in srgb,var(--bg-color) 82%,var(--text-primary));box-sizing:border-box;overflow:hidden;display:flex;align-items:center;padding:0 8px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:default;transition:background-color var(--note-bar-speed) ease,border-color var(--note-bar-speed) ease,box-shadow var(--note-bar-speed) ease,opacity var(--note-bar-speed) ease,visibility var(--note-bar-speed) ease,transform var(--note-bar-speed) ease}.note-bar:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 18%,transparent)}.note-bar-text{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:var(--note-bar-font-size);font-style:italic;font-weight:400;text-transform:lowercase;color:var(--text-primary);line-height:1;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.status-ticker-bar{--status-bar-h: calc(18px * var(--toggle-scale, 1));--status-bar-w: min(820px, calc(100vw - 380px) );--status-bar-border-w: calc(1.5px * var(--toggle-scale, 1));--status-bar-font-size: calc(9.2px * var(--toggle-scale, 1));--status-bar-speed: .22s;--status-ticker-duration: 28s;position:fixed;z-index:60;left:var(--status-bar-left, var(--status-bar-center-x, calc(50% + var(--cube-shift-x, 0px))));bottom:calc(var(--margin) + 12px);transform:translate(-50%);width:var(--status-bar-w);height:var(--status-bar-h);border:var(--status-bar-border-w) solid color-mix(in srgb,var(--text-primary) 35%,transparent);border-radius:0;background:color-mix(in srgb,var(--bg-color) 82%,var(--text-primary));box-sizing:border-box;overflow:hidden;display:flex;align-items:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:default;transition:background-color var(--status-bar-speed) ease,border-color var(--status-bar-speed) ease,box-shadow var(--status-bar-speed) ease,opacity var(--status-bar-speed) ease,visibility var(--status-bar-speed) ease,transform var(--status-bar-speed) ease}body:has(#landing-shelf .reel-strip.is-open) .status-ticker-bar,body:has(#landing-shelf .shelf-rack__row.is-open) .status-ticker-bar,body:has(.landing-shelf .reel-strip.is-open) .status-ticker-bar,body:has(.landing-shelf .shelf-rack__row.is-open) .status-ticker-bar,body:has(.landing-shelf .is-open) .status-ticker-bar,body:has(.reel-strip.is-open) .status-ticker-bar,body:has(.shelf-rack__row.is-open) .status-ticker-bar,body.has-shelf-active .status-ticker-bar,body.shelf-active .status-ticker-bar,body:has(#landing-shelf .reel-strip.is-open) .note-bar,body:has(#landing-shelf .shelf-rack__row.is-open) .note-bar,body:has(.landing-shelf .reel-strip.is-open) .note-bar,body:has(.landing-shelf .shelf-rack__row.is-open) .note-bar,body:has(.landing-shelf .is-open) .note-bar,body:has(.reel-strip.is-open) .note-bar,body:has(.shelf-rack__row.is-open) .note-bar,body.has-shelf-active .note-bar,body.shelf-active .note-bar{opacity:0!important;pointer-events:none!important;visibility:hidden!important;transform:translateY(10px)!important}body:not(.landing-page):has(.is-open) .status-ticker-bar,body:not(.landing-page).has-shelf-active .status-ticker-bar,body:not(.landing-page).shelf-active .status-ticker-bar,body:not(.landing-page):has(.is-open) .note-bar,body:not(.landing-page).has-shelf-active .note-bar,body:not(.landing-page).shelf-active .note-bar{transform:translateY(10px)!important}body:not(.landing-page) .status-ticker-bar{--status-bar-subpage-left: calc(var(--margin) + var(--page-left-col-width) + var(--page-col-gap));left:var(--status-bar-left, var(--status-bar-subpage-left));transform:none;max-width:calc(100vw - var(--status-bar-left, var(--status-bar-subpage-left)) - var(--margin) - 90px)}body.cv-page .status-ticker-bar,body.about-page .status-ticker-bar{--status-bar-subpage-left: calc(var(--margin) + var(--page-left-col-width) + var(--cv-about-right-panel-gap, 70px))}body:not(.landing-page):not(.about-page):not(.cv-page):not(.contact-page) .status-ticker-bar{--status-bar-subpage-left: calc(var(--margin) + var(--page-left-col-width) + 10px)}.status-ticker-bar:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--text-primary) 18%,transparent)}.status-ticker-viewport{width:100%;height:100%;display:flex;align-items:center;overflow:hidden;position:relative;mask-image:linear-gradient(to right,transparent 0%,black 12px,black calc(100% - 12px),transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,black 12px,black calc(100% - 12px),transparent 100%)}.status-ticker-track{display:flex;align-items:center;white-space:nowrap;flex-shrink:0;animation:status-ticker-marquee var(--status-ticker-duration, 28s) linear infinite;will-change:transform}.status-ticker-bar:hover .status-ticker-track{animation-play-state:paused}.status-ticker-item{display:inline-flex;align-items:center;font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:var(--status-bar-font-size);font-weight:500;line-height:1;letter-spacing:.04em;color:var(--text-primary);text-transform:uppercase;padding:0 6px}.status-ticker-badge{font-weight:700;margin-right:6px;opacity:.7}.status-ticker-text{font-weight:400}.status-ticker-sep{margin-left:10px;margin-right:4px;opacity:.35;letter-spacing:.08em}@keyframes status-ticker-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@media(max-width:640px){.status-ticker-bar{display:none}}.cube-cursor.active{display:flex}.cursor-hand{width:var(--cursor-drag-image);height:var(--cursor-drag-image);background-image:var(--cursor-drag-image);background-size:contain;background-repeat:no-repeat;background-position:center;-webkit-user-select:none;user-select:none;transition:transform .2s ease;display:block}.cursor-hand:before{content:none}.cursor-text{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:var(--cursor-text-size);font-style:var(--cursor-text-font);color:var(--cursor-text-color);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1}.main-area.grabbing .cursor-hand{transform:scale(.85) rotate(-5deg)}.cube-cursor.pointer-mode .cursor-hand{transform:none!important}.label{font-family:var(--label-font-family);font-style:var(--label-font-style);font-size:var(--label-font-size);color:var(--label-text-color);padding:var(--label-padding);background:var(--label-bg);border:var(--label-border-width) var(--label-border-style) var(--label-border-color);border-radius:3px;white-space:nowrap;pointer-events:auto;cursor:pointer;text-decoration:none;transition:opacity .4s ease,transform .2s ease,background .2s ease;letter-spacing:var(--cube-label-letter-spacing)}.label.faded{opacity:.12}.label:hover{background:#fff;transform:scale(1.05);border-color:var(--text-primary)}.sub-label{font-family:var(--sublabel-font-family);font-style:var(--sublabel-font-style);font-size:var(--sublabel-font-size);color:var(--sublabel-text-color);padding:var(--sublabel-padding);background:var(--sublabel-bg);border:var(--sublabel-border-width) var(--sublabel-border-style) var(--sublabel-border-color);border-radius:2px;white-space:nowrap;cursor:pointer;pointer-events:auto;text-decoration:none;display:none;transition:opacity .3s ease;letter-spacing:var(--cube-label-letter-spacing)}.sub-label:hover{background:#000000d9;color:#fff;border-color:#000c}.sub-label.visible{display:block}.cube-dialog{position:fixed;z-index:999;width:320px;max-width:min(340px,calc(100vw - 32px));padding:15px 18px 17px;background:color-mix(in srgb,var(--theme-base) 88%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--theme-ink) 22%,transparent);border-radius:4px;box-shadow:0 4px 14px color-mix(in srgb,var(--theme-ink) 6%,transparent),0 16px 36px color-mix(in srgb,var(--theme-ink) 12%,transparent);pointer-events:auto;opacity:0;visibility:hidden;transform:translateY(8px) scale(.97);transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1),visibility .28s ease,background-color .3s ease,border-color .3s ease;will-change:opacity,transform,left,top}.cube-dialog.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.cube-dialog__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.cube-dialog__title{font-family:var(--label-font-family);font-size:.88rem;font-weight:600;color:var(--text-primary);letter-spacing:var(--cube-label-letter-spacing);text-transform:lowercase;line-height:1.1}.cube-dialog__badge{font-family:var(--label-font-family);font-size:.65rem;font-weight:500;color:var(--text-secondary);opacity:.75;letter-spacing:.05em}.cube-dialog__sublabels{display:flex;flex-wrap:wrap;align-items:center;gap:5px 6px;margin-bottom:10px}.cube-dialog__sublabel-pill{display:inline-flex;align-items:center;font-family:var(--sublabel-font-family);font-size:.62rem;line-height:1;padding:3px 8px;background:color-mix(in srgb,var(--theme-ink) 95%,transparent);color:var(--theme-base);border:1px solid color-mix(in srgb,var(--theme-base) 20%,transparent);border-radius:2px;text-decoration:none;letter-spacing:var(--cube-label-letter-spacing);transition:opacity .2s ease,transform .15s ease,background-color .2s ease}.cube-dialog__sublabel-pill:hover{transform:scale(1.04);opacity:.9}.cube-dialog__divider{width:100%;height:1px;background:color-mix(in srgb,var(--theme-ink) 12%,transparent);margin-bottom:9px}.cube-dialog__body{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.72rem;line-height:1.55;color:var(--text-secondary);text-align:justify;text-align-last:left;letter-spacing:var(--tt-letter-spacing)}html.dark-mode .cube-dialog{background:color-mix(in srgb,var(--theme-base) 88%,#000000 12%);border-color:color-mix(in srgb,var(--theme-ink) 28%,transparent);box-shadow:0 4px 16px #0006,0 16px 44px #0009}html.dark-mode .cube-dialog__sublabel-pill{background:color-mix(in srgb,var(--theme-ink) 92%,transparent);color:var(--theme-base)}.index-grid-overlay{position:fixed;top:var(--lp-top);bottom:var(--lp-bottom);left:0;right:0;display:flex;align-items:center;justify-content:center;z-index:15;pointer-events:none;padding:0;margin:0;transform:translate(var(--cube-shift-x, 0px))}.index-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-auto-rows:auto;gap:0 var(--index-col-gap, 8vw);width:auto;pointer-events:auto;align-content:center}.index-column{display:flex;flex-direction:column;gap:var(--index-group-gap, 3.5rem);justify-content:center}.index-column--center{align-items:center;text-align:center}.index-column--right{align-items:flex-end;text-align:right}.index-group{display:flex;flex-direction:column;gap:var(--index-header-gap, .35rem)}.index-group--empty{pointer-events:none;visibility:hidden}.index-group-header{font-family:var(--label-font-family);font-size:var(--index-header-size, .55rem);font-style:var(--label-font-style);font-weight:400;color:var(--text-primary);letter-spacing:var(--cube-label-letter-spacing);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;text-transform:lowercase}.index-grid-cell{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sublabel-font-family);font-size:var(--index-cell-size, .6rem);font-style:var(--sublabel-font-style);color:var(--sublabel-text-color);text-decoration:none;padding:5px 12px;background:var(--sublabel-bg);border:var(--sublabel-border-width) var(--sublabel-border-style) var(--sublabel-border-color);border-radius:3px;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease;letter-spacing:var(--cube-label-letter-spacing);min-width:max-content}:root{--index-col-gap: 4vw;--index-group-gap: 3.5rem;--index-header-gap: .35rem;--index-header-size: .55rem;--index-cell-size: .6rem}.index-grid-cell:hover{background:#000000d9;color:#fff;border-color:#000c}.index-grid-cell--empty{visibility:hidden;pointer-events:none}.vertex-label{font-family:var(--vertex-label-font-family);font-style:var(--vertex-label-font-style);font-weight:var(--vertex-label-font-weight);font-size:var(--vertex-label-font-size);color:var(--vertex-label-text-color);padding:var(--vertex-label-padding);background:var(--vertex-label-bg);border:var(--vertex-label-border-width) var(--vertex-label-border-style) var(--vertex-label-border-color);border-radius:var(--vertex-label-radius);white-space:nowrap;pointer-events:none;text-decoration:none;display:none;opacity:0;letter-spacing:var(--vertex-label-letter-spacing);line-height:1;transition:font-size var(--vertex-label-transition-duration) ease,padding var(--vertex-label-transition-duration) ease,opacity .3s ease}.vertex-label.active{font-size:var(--vertex-label-font-size-active);padding:var(--vertex-label-padding-active);display:block;opacity:1;color:var(--vertex-label-text-color-active);background:var(--vertex-label-bg-active)}@media(max-width:768px){:root{--margin: 12px}.info-title{font-size:.8rem}.info-subtitle{font-size:.7rem}.label{font-size:.75rem;padding:4px 8px}.sub-label{font-size:.65rem;padding:3px 6px}.vertex-label{font-size:.4rem;padding:1px 3px}.vertex-label.active{font-size:.45rem;padding:1px 4px}.cube-rotate-arrow{width:24px;height:24px}.landing-gallery{padding-left:var(--landing-gallery-padding-left);padding-right:var(--landing-gallery-padding-right)}.landing-gallery__intro,.landing-gallery__grid{grid-template-columns:1fr}.cube-rotate-arrow span{font-size:15px}}:root{--image-height: 180px;--vertical-gap: 50px;--container-padding: 60px}.art-page{background:#efefef;margin:0}.art-container{padding-top:80px;padding-bottom:100px;padding-left:var(--container-padding);padding-right:var(--container-padding)}.art-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--vertical-gap);width:100%}.art-row:last-child{margin-bottom:0}.art-item{display:block;cursor:pointer;transition:opacity .3s ease}.art-item:hover{opacity:.7}.art-item img{display:block;height:var(--image-height);width:auto;object-fit:contain;margin-bottom:8px}.art-item .caption{font-size:9px;line-height:1.3;color:#999;font-family:Helvetica Neue,Arial,sans-normal;font-weight:300}.art-item .caption div{margin:0;padding:0}:root{--viewer-image-max-width: 60vw;--viewer-image-max-height: 70vh;--viewer-side-opacity: .2;--viewer-side-scale: .7;--viewer-gap: 100px}.viewer{position:fixed;inset:0;background:#000000f2;z-index:20;display:flex;align-items:center;justify-content:center;overflow:hidden}.viewer.hidden{display:none}.viewer-track{display:flex;align-items:center;gap:var(--viewer-gap);transition:transform .6s cubic-bezier(.4,0,.2,1);position:absolute;left:0}.viewer-track img{max-width:var(--viewer-image-max-width);max-height:var(--viewer-image-max-height);width:auto;height:auto;object-fit:contain;opacity:var(--viewer-side-opacity);transform:scale(var(--viewer-side-scale));transition:all .6s cubic-bezier(.4,0,.2,1);flex-shrink:0}.viewer-track img.active{opacity:1;transform:scale(1)}.nav{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:50px;height:50px;font-size:24px;cursor:pointer;color:#fff;z-index:22;transition:background .3s ease;display:flex;align-items:center;justify-content:center}.nav:hover{background:#fff3}.nav.prev{left:40px}.nav.next{right:40px}.viewer .caption{position:fixed;bottom:40px;left:50%;transform:translate(-50%);font-size:.95rem;text-align:center;max-width:80%;color:#fff;z-index:22;background:#00000080;padding:12px 24px;border-radius:4px}.viewer-close{position:fixed;top:20px;right:30px;font-size:40px;background:none;border:none;cursor:pointer;color:#fff;z-index:22;line-height:1;padding:8px;transition:opacity .3s ease}.viewer-close:hover{opacity:.7}:root{--page-left-col-x: var(--lp-left);--page-top-pad: calc(var(--margin) + 60px);--page-bottom-pad: calc(var(--margin) + 60px);--page-right-col-x: var(--grid-v2);--page-left-col-extra-width: 120px;--page-left-col-width: calc(var(--page-right-col-x) - var(--page-left-col-x) + var(--page-left-col-extra-width));--page-col-gap: 30px;--page-right-pad: 20px;--page-left-col-padding-right: 20px;--of-img-shift-x: -40px;--page-back-pos-mode: fixed;--page-back-pos-top: calc(var(--margin) + 40px);--page-back-pos-left: var(--page-left-col-x);--page-back-font: "Google Sans Code", "Google Sans Code Variable", monospace, sans-serif;--page-back-size: .72rem;--page-back-color: var(--text-secondary)}body.cv-page,body.about-page{--cv-about-right-panel-gap: 70px;--page-col-gap: var(--cv-about-right-panel-gap)}.margin-frame,.grid-overlay{z-index:0!important}.page-wrapper{position:fixed;top:var(--margin);left:var(--margin);right:var(--margin);bottom:var(--margin);display:flex;align-items:stretch;overflow:visible;z-index:2}.page-left{width:var(--page-left-col-width);flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between;padding-top:var(--page-top-pad);padding-bottom:var(--page-bottom-pad);padding-left:calc(var(--page-left-col-x) - var(--margin));padding-right:var(--page-left-col-padding-right);overflow:hidden}.page-right{flex:1;overflow-y:scroll;overflow-x:visible;scroll-snap-type:y proximity;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-top:var(--page-top-pad);padding-bottom:var(--page-bottom-pad);padding-left:var(--page-col-gap);padding-right:var(--page-right-pad)}.page-back{position:var(--page-back-pos-mode);top:var(--page-back-pos-top);left:var(--page-back-pos-left);z-index:20;font-family:var(--page-back-font);font-size:var(--page-back-size);font-style:var(--tt-font-style, normal);text-transform:none;color:var(--page-back-color);text-decoration:none;display:block;margin-bottom:20px;transition:color .2s;letter-spacing:var(--tt-letter-spacing)}.page-back:hover{color:var(--text-primary)}:root{--of-counter-pos-mode: absolute;--of-counter-pos-bottom: auto;--of-counter-pos-left: 0;--of-counter-font-size: .6rem;--of-counter-font-style: var(--tt-font-style, normal);--of-counter-font-family: "Google Sans Code", "Google Sans Code Variable", monospace, sans-serif;--of-counter-color: var(--text-secondary);--of-counter-letter-spacing: var(--site-letter-spacing)}.of-left-bot{display:flex;flex-direction:column;gap:0;position:relative;transform:translateY(var(--of-bot-offset-y, 0px));transition:transform .25s cubic-bezier(.2,.8,.4,1)}.of-global-counter{position:static;margin:0;padding:0;z-index:20;font-family:var(--of-counter-font-family);font-size:var(--of-counter-font-size);font-style:var(--of-counter-font-style);color:var(--of-counter-color);letter-spacing:var(--of-counter-letter-spacing);transition:color .2s;white-space:nowrap;line-height:1}.of-image-viewer{display:flex;flex-direction:column;align-items:var(--of-img-align, center);justify-content:center;gap:0;width:100%;transform:translate(var(--of-img-shift-x, 0px))}.of-nav-arrows{display:flex;justify-content:space-between;align-items:center;margin-top:10px;user-select:none;-webkit-user-select:none;width:var(--of-img-width, 85%);flex:0 0 auto}.of-nav-arrow{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:4px 0;font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;color:var(--text-secondary);cursor:pointer;transition:color .2s ease,opacity .2s ease,transform .15s ease;opacity:.75;text-transform:lowercase}.of-nav-arrow .of-nav-arrow-icon{font-size:1.15rem;line-height:1;display:inline-block}.of-nav-arrow .of-nav-arrow-text{font-size:.65rem;line-height:1;letter-spacing:var(--site-letter-spacing);display:inline-block}.of-nav-arrow.of-arrow-prev{text-align:left;justify-content:flex-start}.of-nav-arrow.of-arrow-next{text-align:right;justify-content:flex-end}.of-nav-arrow:hover:not(.disabled){color:var(--text-primary);opacity:1}.of-nav-arrow:active:not(.disabled){transform:scale(.95)}.of-nav-arrow.disabled{opacity:.18;cursor:default;pointer-events:none}.page-section{min-height:100%;scroll-snap-align:start;padding-top:var(--page-top-pad);padding-bottom:var(--page-bottom-pad)}:root{--reel-height: 170px;--reel-gap: 30px;--reel-speed: 38s;--reel-bg: #ffffff;--reel-header-mb: 8px;--reel-strip-py: 30px;--reel-px: var(--lp-left, 10vw);--reel-title-size: .78rem;--reel-subtitle-size: .78rem;--reel-meta-size: .72rem;--viewer-overlay: rgba(0, 0, 0, .94)}.landing-gallery{position:relative;z-index:10;background:var(--bg-color);padding-bottom:80px;isolation:isolate}.reel-row{display:flex;flex-direction:column}.reel-header{display:flex;align-items:last baseline;gap:10px;padding-left:0;padding-right:var(--reel-px);margin-bottom:var(--reel-header-mb)}.reel-row:has(.reel-strip.is-collapsed) .reel-header{margin-bottom:0}.reel-header__title{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:var(--reel-title-size);font-weight:600;letter-spacing:var(--tt-letter-spacing, .02em);text-transform:none;color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:opacity .2s ease;-webkit-user-select:none;user-select:none}.reel-header__title:hover,.reel-header__title:focus-visible{opacity:.8;outline:none}.reel-header__subtitle{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:var(--reel-subtitle-size);font-weight:400;letter-spacing:var(--tt-letter-spacing, .02em);text-transform:none;color:var(--text-primary)}.reel-header__meta{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:var(--reel-meta-size);font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--text-secondary);margin-left:auto;padding-right:var(--reel-px)}.reel-strip{width:95%;background:var(--reel-bg);overflow:hidden;cursor:pointer;transition:max-height .4s cubic-bezier(.25,1,.5,1),opacity .3s ease,transform .4s cubic-bezier(.25,1,.5,1),padding-top .4s ease,padding-bottom .4s ease}.reel-strip.is-open{max-height:250px;opacity:1;transform:translateY(0);padding:var(--reel-strip-py) 0}.reel-strip.is-collapsed{max-height:0!important;opacity:0!important;transform:translateY(-15px)!important;padding-top:0!important;padding-bottom:0!important;pointer-events:none}@keyframes reel-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.reel-track{display:flex;align-items:center;gap:var(--reel-gap);width:max-content;animation:reel-scroll var(--reel-speed) linear infinite;will-change:transform}.reel-strip:hover .reel-track{animation-play-state:paused}.reel-item{flex-shrink:0;height:var(--reel-height);overflow:hidden;cursor:pointer;position:relative}.reel-item img{height:100%;width:auto;object-fit:cover;display:block;pointer-events:none;transition:opacity .2s ease;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.reel-item:hover img{opacity:.75}.reel-viewer{position:fixed;inset:0;background:var(--viewer-overlay);z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer}.reel-viewer.hidden{display:none}.reel-viewer__img{max-width:90vw;max-height:85vh;object-fit:contain;display:block;pointer-events:none;-webkit-user-select:none;user-select:none}.reel-viewer__caption{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.68rem;letter-spacing:.08em;text-transform:none;color:#ffffff73;margin-top:18px;text-align:center;pointer-events:none}.reel-viewer__close{position:absolute;top:24px;right:32px;background:none;border:none;color:#fff9;font-size:2rem;cursor:pointer;padding:8px;line-height:1;transition:color .2s}.reel-viewer__close:hover{color:#fff}.landing-shelf{display:flex;flex-direction:column;gap:var(--shelf-rack-gap, 40px);margin-top:var(--shelf-section-gap, 48px);margin-bottom:var(--shelf-section-gap3, 80px)}#landing-shelf{margin-top:var(--shelf-section-gap2, 2px)}.shelf-rack{display:flex;flex-direction:column;gap:5px}.shelf-rack__header{display:flex;align-items:baseline;gap:50px}.shelf-rack__label{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:var(--shelf-header-size, .73rem);font-weight:500;letter-spacing:var(--tt-letter-spacing, .02em);text-transform:none;color:var(--shelf-header-color, var(--text-secondary));text-decoration:underline;text-underline-offset:3px;cursor:pointer;transition:color .2s ease;-webkit-user-select:none;user-select:none}.shelf-rack__label:hover,.shelf-rack__label:focus-visible{color:var(--text-primary);outline:none}.shelf-rack__meta{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:calc(var(--shelf-header-size, .78rem) * .85);font-weight:400;letter-spacing:.04em;text-transform:none;color:var(--text-light)}.shelf-rack__row{display:flex;flex-direction:row;align-items:flex-end;gap:var(--shelf-item-gap, 16px);overflow-x:auto;overflow-y:visible;padding-bottom:10px;scrollbar-width:none;-ms-overflow-style:none;transition:max-height .4s cubic-bezier(.25,1,.5,1),opacity .3s ease,transform .4s cubic-bezier(.25,1,.5,1),padding-bottom .4s ease,margin-bottom .4s ease}.shelf-rack__row.is-open{max-height:300px;opacity:1;transform:translateY(0);overflow-y:visible}.shelf-rack__row.is-collapsed{max-height:0!important;opacity:0!important;transform:translateY(-15px)!important;padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;overflow:hidden!important;pointer-events:none}.shelf-rack__row::-webkit-scrollbar{display:none}.shelf-item{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;cursor:pointer;position:relative}.shelf-item__img{display:block;height:var(--shelf-image-height, 220px);width:auto;object-fit:var(--shelf-object-fit, cover);border-radius:var(--shelf-border-radius, 2px);border:var(--shelf-border-width, 1px) solid var(--shelf-border-color, rgba(0, 0, 0, .08));background:color-mix(in srgb,var(--text-primary) 5%,transparent);transition:transform var(--shelf-hover-ms, .18s) cubic-bezier(.22,1,.36,1),filter var(--shelf-hover-ms, .18s) ease,opacity var(--shelf-hover-ms, .18s) ease;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.shelf-item:hover .shelf-item__img,.shelf-item:focus-visible .shelf-item__img{transform:scale(var(--shelf-hover-scale, 1.04)) translateY(-3px);filter:brightness(var(--shelf-hover-brightness, 1.06))}.shelf-item:focus-visible{outline:1px dotted var(--text-secondary);outline-offset:4px}.shelf-item__title{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.6rem;letter-spacing:.05em;text-transform:none;color:var(--text-secondary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(var(--shelf-image-height, 220px) * .75);transition:color var(--shelf-hover-ms, .18s) ease}.shelf-item:hover .shelf-item__title,.shelf-item:focus-visible .shelf-item__title{color:var(--text-primary)}html.dark-mode .shelf-item__img{border-color:#ffffff0f}.site-topbar{--site-topbar-edge-gap: 12px;--site-topbar-link-gap: 18px;position:fixed;top:calc(var(--margin) + 12px);left:calc(var(--margin) + var(--site-topbar-edge-gap));right:calc(var(--margin) + var(--site-topbar-edge-gap));z-index:60;display:flex;align-items:baseline;gap:var(--site-topbar-link-gap);pointer-events:auto}.site-topbar__brand{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.95rem;font-weight:400;line-height:1;letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap}.site-topbar__link:first-of-type{margin-left:auto}.site-topbar__link{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.72rem;font-style:normal;font-weight:400;line-height:1;letter-spacing:var(--site-letter-spacing);color:var(--text-secondary);text-decoration:none;white-space:nowrap;transition:color .2s ease}.site-topbar__link:hover,.site-topbar__link:focus-visible{color:var(--text-primary);outline:none}.archive-page{background:var(--bg-color);color:var(--text-primary);overflow:hidden}.archive-wrapper{position:fixed;inset:var(--margin);z-index:2;display:grid;grid-template-columns:minmax(180px,22vw) 1fr;column-gap:44px;padding-top:var(--page-top-pad);padding-right:calc(var(--margin) + 42px);padding-bottom:var(--page-bottom-pad);padding-left:calc(var(--page-left-col-x) - var(--margin))}.archive-intro{display:flex;flex-direction:column;gap:10px}.archive-title{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:2rem;font-weight:400;line-height:1.05;letter-spacing:-.01em;color:var(--text-primary)}.archive-note{max-width:220px;font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.72rem;line-height:1.45;letter-spacing:var(--site-letter-spacing);color:var(--text-secondary)}.archive-list{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));column-gap:38px;overflow-y:auto;padding-right:18px;align-content:start}.archive-col{display:flex;flex-direction:column;gap:32px}.archive-group{display:flex;flex-direction:column;gap:7px}.archive-group__label{margin-bottom:5px;font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.6rem;line-height:1.2;letter-spacing:var(--site-letter-spacing);color:var(--text-light)}.archive-item{width:fit-content;font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.78rem;line-height:1.35;letter-spacing:var(--site-letter-spacing);color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.archive-item:hover,.archive-item:focus-visible{color:var(--text-primary);outline:none}@media(max-width:768px){.site-topbar{--site-topbar-edge-gap: 10px;--site-topbar-link-gap: 12px;overflow-x:auto}.site-topbar__brand{flex-shrink:0}.archive-wrapper{grid-template-columns:1fr;row-gap:26px;padding-left:calc(var(--margin) + 14px);padding-right:calc(var(--margin) + 14px);overflow-y:auto}.archive-list{grid-template-columns:1fr;row-gap:32px;overflow:visible}.landing-shelf{gap:28px;margin-top:32px}:root{--shelf-image-height: 160px}}.mobile-index-nav{display:none}.mobile-warning-overlay{display:none!important}@media(max-width:768px){.main-area,#three-bg,#labels,#sublabel-connectors,.cube-interaction-tile,.cube-rotate-arrow,.cube-cursor,.grid-overlay,.margin-frame,.lp-instr-group,#index-palette-wrapper{display:none!important}html,body{overflow-x:hidden!important}body.landing-page{overflow-y:auto!important;height:auto!important;min-height:100vh!important}body.landing-page .left-panel{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;padding:36px 20px 24px!important;pointer-events:auto!important;transform:none!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;gap:22px!important}body.landing-page .lp-top-group{gap:16px!important}body.landing-page .lp-name{font-size:2.3rem!important;transform:none!important}.mobile-index-nav{display:flex!important;flex-direction:column!important;gap:18px!important;margin-top:10px!important;margin-bottom:6px!important;pointer-events:auto!important}.mobile-index-heading{font-family:var(--label-font-family, "Google Sans Code", monospace);font-size:.92rem;font-weight:600;color:var(--text-primary);text-transform:lowercase;letter-spacing:var(--cube-label-letter-spacing, .05em);padding-bottom:8px;border-bottom:1px dashed color-mix(in srgb,var(--theme-ink) 25%,transparent)}.mobile-index-list{display:flex;flex-direction:column;gap:14px}.mobile-index-section{display:flex;flex-direction:column;gap:7px}.mobile-index-tag{font-family:var(--label-font-family, "Google Sans Code", monospace);font-size:.7rem;color:var(--text-secondary);letter-spacing:.04em;text-transform:lowercase}.mobile-index-pills{display:flex;flex-wrap:wrap;gap:6px 8px}.mobile-index-pill{display:inline-flex;align-items:center;font-family:var(--sublabel-font-family, "Google Sans Code", monospace);font-size:.72rem;color:var(--sublabel-text-color, var(--theme-base));background:var(--sublabel-bg, color-mix(in srgb, var(--theme-ink) 95%, transparent));border:1px solid var(--sublabel-border-color, color-mix(in srgb, var(--theme-base) 25%, transparent));border-radius:3px;padding:7px 14px;text-decoration:none;letter-spacing:.03em;-webkit-tap-highlight-color:transparent;transition:background .15s ease,color .15s ease,transform .12s ease}.mobile-index-pill:hover{background:#000000d9;color:#fff;border-color:#000c}.mobile-index-pill:active{transform:scale(.96)}.mobile-experience-note{font-family:Google Sans Code,Google Sans Code Variable,monospace,sans-serif;font-size:.74rem;line-height:1.5;color:var(--text-secondary);letter-spacing:var(--tt-letter-spacing, .01em);padding-top:14px;padding-bottom:4px;border-top:1px dashed color-mix(in srgb,var(--theme-ink) 20%,transparent);margin-top:8px;font-style:italic}.mobile-note-symbol{color:var(--text-primary);font-weight:700;margin-right:4px;font-style:normal}body.landing-page .landing-gallery{margin-top:20px!important;padding:36px 20px 90px!important}.landing-gallery__intro-tile,.landing-gallery__intro-caption,.flicker-tile--gallery,.flicker-tile__caption--gallery,.model-tile--gallery,.model-tile__caption--gallery{width:100%!important;max-width:100%!important}body:not(.landing-page){overflow-x:hidden!important}body:not(.landing-page) .page-wrapper{position:fixed!important;top:calc(var(--margin) + 28px)!important;left:var(--margin)!important;right:var(--margin)!important;bottom:var(--margin)!important;width:calc(100% - 2 * var(--margin))!important;height:calc(100% - 2 * var(--margin) - 28px)!important;height:calc(100dvh - 2 * var(--margin) - 28px)!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:space-between!important;overflow:hidden!important;box-sizing:border-box!important;padding:0!important;margin:0!important;gap:8px!important;z-index:10!important}body:not(.landing-page) .page-left{display:contents!important;width:100%!important;padding:0!important;margin:0!important;overflow:visible!important}body:not(.landing-page) .lp-top-group{order:1!important;width:100%!important;flex-shrink:0!important;display:flex!important;flex-direction:column!important;gap:6px!important;padding:0!important;box-sizing:border-box!important}body:not(.landing-page) .page-back{font-size:.76rem!important;margin-bottom:4px!important;display:inline-block!important}body:not(.landing-page) .of-left-top,body:not(.landing-page) .ab-left-top,body:not(.landing-page) .cv-left-top,body:not(.landing-page) .ct-left-top,body:not(.landing-page) [class*=-left-top]{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;gap:12px!important;padding:2px 0 4px!important;scrollbar-width:none!important;margin-bottom:2px!important}body:not(.landing-page) .of-left-top::-webkit-scrollbar,body:not(.landing-page) .ab-left-top::-webkit-scrollbar,body:not(.landing-page) .cv-left-top::-webkit-scrollbar,body:not(.landing-page) .ct-left-top::-webkit-scrollbar{display:none!important}body:not(.landing-page) .of-nav-item,body:not(.landing-page) .ab-nav-item,body:not(.landing-page) .cv-nav-item,body:not(.landing-page) .ct-nav-item{flex-shrink:0!important;white-space:nowrap!important;font-size:.72rem!important;line-height:1.3!important;cursor:pointer!important;padding:2px 0!important}body:not(.landing-page) .of-nav-item.active,body:not(.landing-page) .ab-nav-item.active,body:not(.landing-page) .cv-nav-item.active,body:not(.landing-page) .ct-nav-item.active{font-weight:700!important;color:var(--text-primary)!important}body:not(.landing-page) .of-left-mid,body:not(.landing-page) .ab-left-mid,body:not(.landing-page) .cv-left-mid,body:not(.landing-page) .ct-left-mid,body:not(.landing-page) [class*=-left-mid]{display:flex!important;flex-direction:column!important;gap:1px!important;font-size:.68rem!important;line-height:1.35!important;color:var(--text-secondary)!important;max-height:60px!important;overflow-y:auto!important;padding-bottom:4px!important;border-bottom:1px dashed color-mix(in srgb,var(--theme-ink) 15%,transparent)!important}body:not(.landing-page) .of-mid-label,body:not(.landing-page) .ab-mid-text,body:not(.landing-page) .cv-mid-text,body:not(.landing-page) .ct-mid-text{font-size:.68rem!important;line-height:1.35!important;margin:0!important}body:not(.landing-page) .page-right{order:2!important;flex:1 1 0%!important;min-height:0!important;width:100%!important;max-width:100%!important;overflow-y:auto!important;overflow-x:hidden!important;scroll-snap-type:y proximity!important;scroll-behavior:smooth!important;-webkit-overflow-scrolling:touch!important;padding:4px 0!important;margin:0 auto!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;touch-action:pan-y!important}body:not(.landing-page) .of-section{width:100%!important;height:100%!important;min-height:100%!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:0!important;box-sizing:border-box!important;flex-shrink:0!important;scroll-snap-align:start!important}body:not(.landing-page) .of-image-viewer{width:100%!important;height:100%!important;max-height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;position:relative!important}body:not(.landing-page) .of-img-frame{width:var(--of-img-width, 85%)!important;max-width:100%!important;max-height:calc(100% - 36px)!important;aspect-ratio:var(--of-img-ratio, 4 / 3)!important;margin:0 auto!important;position:relative!important;overflow:hidden!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important}body:not(.landing-page) .of-img-frame img:not(.of-spread-img),body:not(.landing-page) .of-img-frame video{width:100%!important;height:100%!important;object-fit:contain!important}body:not(.landing-page) .of-click-zone{width:50%!important;height:100%!important;position:absolute!important;top:0!important;z-index:10!important;cursor:pointer!important;-webkit-tap-highlight-color:transparent!important}body:not(.landing-page) .of-click-prev{left:0!important}body:not(.landing-page) .of-click-next{right:0!important}body:not(.landing-page) .ab-section,body:not(.landing-page) .cv-section,body:not(.landing-page) .ct-section{width:100%!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:12px 0 24px!important;gap:12px!important;min-height:auto!important;flex-shrink:0!important;scroll-snap-align:start!important;grid-template-columns:1fr!important}body:not(.landing-page) .ab-section-heading,body:not(.landing-page) .cv-section-heading,body:not(.landing-page) .ct-section-heading{font-size:1.3rem!important;margin-bottom:4px!important;padding-bottom:4px!important;border-bottom:1px dashed color-mix(in srgb,var(--theme-ink) 20%,transparent)!important;text-align:left!important;width:100%!important;grid-column:1!important}body:not(.landing-page) .ab-section-text,body:not(.landing-page) .cv-section-text,body:not(.landing-page) .ct-section-text{width:100%!important;max-width:100%!important;font-size:.74rem!important;line-height:1.6!important;text-align:left!important;grid-column:1!important}body:not(.landing-page) .ab-img-block{width:100%!important;max-width:100%!important;aspect-ratio:2.35 / 1!important;margin:0 auto!important;position:relative!important;overflow:hidden!important;grid-column:1!important}body:not(.landing-page) .ab-img-block img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}body:not(.landing-page) .ab-img-tile{width:100%!important;max-width:100%!important;aspect-ratio:4 / 3!important;margin:0 auto!important;position:relative!important;grid-column:1!important}body:not(.landing-page) .chat-log{height:200px!important;width:100%!important;grid-column:1!important}body:not(.landing-page) .chat-form{display:flex!important;flex-direction:column!important;gap:8px!important;width:100%!important;grid-column:1!important}body:not(.landing-page) .chat-input-name,body:not(.landing-page) .chat-input-text{width:100%!important;max-width:100%!important;flex:none!important}body:not(.landing-page) .chat-send-btn{width:100%!important;padding:8px!important}body:not(.landing-page) .of-left-bot,body:not(.landing-page) .ab-left-bot,body:not(.landing-page) .cv-left-bot,body:not(.landing-page) .ct-left-bot,body:not(.landing-page) .page-left>[class*=-left-bot],body:not(.landing-page) [class$=-left-bot]{order:3!important;width:100%!important;flex-shrink:0!important;display:flex!important;flex-direction:column!important;gap:3px!important;padding:6px 0 2px!important;box-sizing:border-box!important;border-top:1px dashed color-mix(in srgb,var(--theme-ink) 18%,transparent)!important;max-height:90px!important;overflow-y:auto!important}body:not(.landing-page) .of-bot-text,body:not(.landing-page) .ab-bot-text,body:not(.landing-page) .cv-bot-text,body:not(.landing-page) .ct-bot-text{font-size:.7rem!important;line-height:1.4!important;color:var(--text-secondary)!important;margin:0!important;text-align:left!important}body:not(.landing-page) .of-global-counter{position:static!important;font-size:.65rem!important;margin-top:2px!important;color:var(--text-secondary)!important}}
