@import"https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100..900&display=swap";@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}.garden-stage{position:sticky;bottom:0;background:var(--bg);font-size:16px;letter-spacing:-.02em}.footer-note{padding:0 24px 64px;color:var(--text-tertiary);font-weight:500;line-height:1.5;text-align:center}.footer-title{color:var(--text)}.footer-note a{color:var(--text);text-decoration-color:var(--underline);text-underline-offset:3px;transition:text-decoration-color .16s ease}.garden{position:relative;height:clamp(300px,33.75vw,600px);overflow:hidden}.garden-paint{position:absolute;inset:0}.garden-paint canvas,.garden-leaving canvas{position:absolute;inset:0;display:block;width:100%;height:100%;-webkit-mask-size:320px;mask-size:320px}.garden-leaving{position:absolute;inset:0;pointer-events:none}.garden-leaving[data-cover]{z-index:1}.garden-glitter{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.garden-sprite,.garden [data-idle]{transform-box:fill-box;transform-origin:center}.garden-butterfly{filter:drop-shadow(0 1px 1.5px rgb(20 50 30 / 25%))}.garden-arrive{opacity:0;transform-box:fill-box;transform-origin:center}.garden-arrive[data-entered]{opacity:1}.garden-arrive[data-entered][data-kind=bokeh]{animation:garden-glow-in 2.4s ease-out both}.garden-arrive[data-entered][data-kind=sparkle]{animation:garden-sparkle-in .9s cubic-bezier(.2,.7,.3,1) both}.garden-arrive[data-entered][data-kind=butterfly]{animation:garden-fly-in 2.6s cubic-bezier(.25,.6,.3,1) both}.garden-arrive[data-entered][data-kind=butterfly] [data-idle]{animation-play-state:running}@keyframes garden-glow-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}@keyframes garden-sparkle-in{0%{opacity:0;transform:scale(.15) rotate(-35deg)}35%{opacity:1;transform:scale(.3,1.15) rotate(-10deg)}70%{transform:scale(1.1,.95) rotate(4deg)}to{opacity:1;transform:none}}@keyframes garden-fly-in{0%{opacity:0;transform:translate(var(--from-x),var(--from-y))}12%{opacity:1}55%{transform:translate(calc(var(--from-x) * .3),calc(var(--from-y) * .15 - 16px))}to{opacity:1;transform:none}}.garden [data-idle]{animation-play-state:paused}.garden[data-bloomed=true][data-ambient=true] [data-idle]{animation-play-state:running}.garden-twinkle{animation:garden-twinkle 3.2s steps(8) calc(var(--delay) + var(--wake, 0s)) infinite}.garden-breathe{animation:garden-breathe 5s steps(12) calc(var(--delay) + var(--wake, 0s)) infinite}.garden-flutter{animation:garden-flutter 2.6s ease-in-out calc(var(--delay) + var(--wake, 0s)) infinite}.garden-bask{animation:garden-bask 6s ease-in-out calc(var(--delay) + var(--wake, 0s)) infinite}.garden-bob{animation:garden-bob .52s ease-in-out calc(var(--delay) + var(--wake, 0s)) infinite alternate}.garden-flight{animation:garden-flight 18s ease-in-out calc(var(--delay) + var(--wake, 0s)) infinite}@keyframes garden-twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.45) rotate(20deg);opacity:.5}}@keyframes garden-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.45}}@keyframes garden-flutter{0%,to{transform:scaleX(1)}7%,21%,35%,49%{transform:scaleX(.16)}14%,28%,42%{transform:scaleX(.95)}56%,92%{transform:scaleX(.82)}}.garden-flee[data-startled] .garden-flutter,.garden-flee[data-startled] .garden-bask{animation:garden-flurry .2s ease-in-out infinite alternate}@keyframes garden-flurry{0%{transform:scaleX(1)}to{transform:scaleX(.16)}}@keyframes garden-bask{0%,45%,to{transform:scaleX(1)}58%,74%{transform:scaleX(.1)}}@keyframes garden-bob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes garden-flight{0%,to{transform:translate(0) rotate(0)}14%{transform:translate(24px,-12px) rotate(9deg)}29%{transform:translate(50px,-3px) rotate(-6deg)}43%{transform:translate(68px,-20px) rotate(11deg)}57%{transform:translate(44px,-30px) rotate(-12deg)}72%{transform:translate(16px,-14px) rotate(7deg)}86%{transform:translate(-10px,-20px) rotate(-8deg)}}@media(hover:hover)and (pointer:fine){.footer-note a:hover{text-decoration-color:currentColor}}@media(prefers-reduced-motion:reduce){.garden [data-idle],.garden-arrive[data-entered]{animation:none!important}}.portrait-button{display:block;padding:0;border:0;border-radius:50%;background:transparent;isolation:isolate}.portrait-button img{-webkit-user-select:none;user-select:none;transition:transform .16s cubic-bezier(.22,1,.36,1)}.portrait-button:active img{transform:scale(.96)}.portrait-doodle{position:absolute;inset:-32%;display:block;width:164%;height:164%;overflow:hidden;pointer-events:none}.portrait-announcement{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){.portrait-button img{transition:none}.portrait-button:active img{transform:none}}.portrait-canvas{touch-action:none}.portrait-canvas:active img{transform:none}.portrait-draw{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M3 21l1.5-5L16 4.5a2.1 2.1 0 0 1 3 3L7.5 19z' fill='%23fff'/%3E%3Cpath d='M14 6.5l3 3'/%3E%3C/svg%3E") 2 22,crosshair}.portrait-ink{position:absolute;inset:-32%;width:164%;height:164%;overflow:visible;pointer-events:none;mix-blend-mode:multiply}:root[data-theme=dark] .portrait-ink{mix-blend-mode:normal}.portrait-ink .is-fading{animation:portrait-ink-fade ease-in forwards}@keyframes portrait-ink-fade{to{opacity:0}}.portrait-peel{cursor:grab}.portrait-peel:active{cursor:grabbing}.portrait-sticker{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.portrait-note{fill:#8a70be;font:italic 600 20px Inter,sans-serif;letter-spacing:-.03em}.portrait-pond{position:absolute;inset:-32%;width:164%;height:164%;pointer-events:none}.portrait-pond-button:active img{transform:none}.portrait-wreath{position:absolute;inset:-32%;pointer-events:none;transition:opacity .6s ease}.portrait-wreath-back{z-index:-1}.portrait-wreath[data-leaving]{opacity:0}.portrait-wreath canvas{position:absolute;inset:0;display:block;width:100%;height:100%;-webkit-mask-size:320px;mask-size:320px}.portrait-wreath svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.portrait-wreath [data-idle]{transform-box:fill-box;transform-origin:center;animation-play-state:paused}.portrait-wreath[data-bloomed=true] [data-idle]{animation-play-state:running}.portrait-wreath-button:active img{transform:none}.portrait-wreath-arrive{opacity:0;transform-box:fill-box;transform-origin:center}.portrait-wreath-arrive[data-entered]{opacity:1}.portrait-wreath-arrive[data-entered][data-kind=bokeh]{animation:garden-glow-in 2.4s ease-out both}.portrait-wreath-arrive[data-entered][data-kind=sparkle]{animation:garden-sparkle-in .9s cubic-bezier(.2,.7,.3,1) both}.portrait-wreath-arrive[data-entered][data-kind=butterfly]{animation:garden-fly-in 2.6s cubic-bezier(.25,.6,.3,1) both}.portrait-butterflies-button{z-index:3}.portrait-butterflies{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.portrait-fly .garden-butterfly{transition:filter .3s ease}.portrait-fly[data-flying] .garden-butterfly{filter:drop-shadow(0 6px 2.5px rgb(20 50 30 / 16%))}.portrait-fly-bask{transform-box:fill-box;transform-origin:center}[data-basking]>.portrait-fly-bask{animation:garden-bask 6s ease-in-out var(--delay) infinite}.follow-overlay{position:fixed;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:4}.follow-petal{filter:drop-shadow(0 5px 2px rgb(20 50 30 / 14%))}.follow-garden{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}@media(prefers-reduced-motion:reduce){.portrait-wreath{transition:none}.portrait-wreath [data-idle],.portrait-wreath-arrive[data-entered],[data-basking]>.portrait-fly-bask{animation:none!important}}.video-player{position:relative;width:100%;height:100%;isolation:isolate;color:#fff;container-type:inline-size;outline:none}.player-video{display:block;width:100%;height:100%;object-fit:contain;cursor:pointer}.video-player:focus-visible{outline:2px solid #fff;outline-offset:-4px}.player-controls{position:absolute;z-index:2;inset-inline:20px;bottom:20px;display:flex;align-items:center;gap:4px;width:calc(100% - 40px);max-width:580px;margin-inline:auto;padding:5px;border:1px solid rgb(255 255 255 / 16%);border-radius:18px;background:#18181bcc;box-shadow:0 8px 28px #00000029,inset 0 1px #ffffff0d;backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);opacity:1;transform:translateY(0);transition:opacity .18s ease-out,transform .18s ease-out,visibility .18s}.video-player[data-controls-visible=false] .player-controls{opacity:0;transform:translateY(6px);visibility:hidden;pointer-events:none}.video-player:focus-within .player-controls,.video-player:focus-visible .player-controls{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto}.player-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:transparent;color:#ffffffd1;transition:background-color .15s ease,color .15s ease,transform .15s ease}.player-toggle{background:#ffffff1c;color:#fff;margin-right:5px}.player-button:active{transform:scale(.94)}.player-button:disabled{opacity:.4;cursor:default}.player-button:focus-visible,.player-center-play:focus-visible,.player-message button:focus-visible{outline:2px solid #fff;outline-offset:-3px}.player-time{flex-shrink:0;min-width:4ch;color:#fff;text-align:center;font-size:11px;font-weight:450;font-variant-numeric:tabular-nums;letter-spacing:.015em;-webkit-user-select:none;user-select:none}.player-duration{color:#ffffff94}.player-divider{flex:0 0 1px;height:16px;margin-inline:5px;background:#ffffff21}.player-seek{position:relative;display:flex;align-items:center;flex:1;height:44px;min-width:44px;margin-inline:10px}.player-seek-track{position:absolute;inset-inline:0;height:3px;overflow:hidden;border-radius:3px;background:#ffffff2e;pointer-events:none}.player-seek-buffer,.player-seek-progress{position:absolute;inset:0 auto 0 0;height:100%;border-radius:inherit}.player-seek-buffer{width:var(--buffered);background:#fff3}.player-seek-progress{width:var(--played);background:#fff}.player-seek input{appearance:none;-webkit-appearance:none;position:relative;width:100%;height:44px;margin:0;border:0;padding:0;background:transparent;cursor:pointer;touch-action:none}.player-seek input:disabled{cursor:default}.player-seek input::-webkit-slider-runnable-track{height:3px;background:transparent}.player-seek input::-moz-range-track{height:3px;background:transparent}.player-seek input::-webkit-slider-thumb{appearance:none;width:9px;height:9px;margin-top:-3px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 5px #0003}.player-seek input::-moz-range-thumb{width:9px;height:9px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 5px #0003}.player-seek input:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:4px}.player-seek-preview{display:none;position:absolute;bottom:45px;transform:translate(-50%);padding:6px 8px;border:1px solid rgb(255 255 255 / 12%);border-radius:7px;background:#27272a;color:#fff;font-size:11px;font-variant-numeric:tabular-nums;pointer-events:none}.player-center-play{position:absolute;z-index:1;inset:0;display:grid;place-items:center;width:64px;height:64px;margin:auto;padding:0;border:1px solid rgb(255 255 255 / 30%);border-radius:50%;background:#18181b8c;color:#fff;box-shadow:0 4px 20px #0000001f;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background-color .18s ease,transform .18s ease}.player-center-play svg{width:24px;height:24px}.player-center-play:active{transform:scale(.95)}.player-loading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.player-spinner{width:30px;height:30px;border:2px solid rgb(255 255 255 / 30%);border-top-color:#fff;border-radius:50%;opacity:0;filter:drop-shadow(0 1px 3px rgb(0 0 0 / 40%));animation:player-show 0s .6s forwards,player-spin .8s linear infinite}.player-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0f0f12bf;font-size:13px}.player-message button{min-height:44px;padding:0 16px;border:1px solid rgb(255 255 255 / 20%);border-radius:10px;background:#ffffff1f;color:#fff}.player-message button span{margin-left:10px}.player-notice{position:absolute;inset-inline:16px;bottom:88px;width:fit-content;margin-inline:auto;border-radius:8px;padding:10px 14px;background:#18181be5;font-size:12px;text-align:center}.player-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.video-player:fullscreen{width:100vw;height:100dvh;background:#0b0b0c}.video-player:fullscreen .player-controls{bottom:max(28px,env(safe-area-inset-bottom))}@keyframes player-spin{to{transform:rotate(360deg)}}@keyframes player-show{to{opacity:1}}@media(hover:hover)and (pointer:fine){.video-player .player-controls:hover{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto}.player-button:not(:disabled):hover{background:#ffffff26;color:#fff}.player-center-play:hover{background:#18181bb8;transform:scale(1.05)}.player-seek:hover .player-seek-preview{display:block}.video-player[data-controls-visible=false]:not(:has(:focus-visible)):not(:focus-visible) .player-video{cursor:none}}@media(hover:none),(pointer:coarse){.video-player[data-controls-visible=false] .player-controls{opacity:1;transform:none;visibility:visible;pointer-events:auto}}@container (max-width: 480px){.player-controls{inset-inline:10px;bottom:10px;width:calc(100% - 20px);padding:3px;gap:0;border-radius:15px}.player-toggle{margin-right:4px}.player-seek{margin-inline:8px}.player-divider{margin-inline:4px}.player-center-play{bottom:40px;width:52px;height:52px}}@container (max-width: 340px){.player-duration,.player-divider{display:none}.player-time{font-size:10px}}@media(prefers-reduced-motion:reduce){.player-controls,.player-button,.player-center-play{transition:none}.player-spinner{animation:none;opacity:1}}:root{--xray: #ff2d6f;--xray-soft: #ff2d6f14;--xray-mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, monospace;--xray-paper: #fff;--xray-dim: #f6f6f6;--xray-axis: #e5e5e5}:root[data-theme=dark]{--xray-soft: #ff2d6f24;--xray-paper: #1a1a1a;--xray-dim: #161616;--xray-axis: #333}.media-card-surface>*{transition:opacity .3s ease,filter .3s ease}html.xray-on .media-card-surface>*{opacity:.3;filter:grayscale(1)}.media-card{transition:background-color .3s ease}html.xray-on .media-card{background-color:var(--xray-dim)!important}.xray-layer{position:fixed;inset:0;z-index:15;pointer-events:none}.xray{position:absolute;inset:0;overflow:hidden;font:500 10px/1 var(--xray-mono);letter-spacing:0;color:var(--xray)}.xray-grid{position:absolute;inset:0;background-image:linear-gradient(var(--xray-soft) 1px,transparent 1px),linear-gradient(90deg,var(--xray-soft) 1px,transparent 1px);background-size:8px 8px;opacity:.45;animation:xray-fade .3s both}.xray-label{position:absolute;padding:3px 4px;border-radius:3px;background:var(--xray);color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums;animation:xray-fade .18s .26s both}.xray-strip{position:absolute;top:0;bottom:0;background:#ff2d6f0a;border-inline:1px dashed #ff2d6f40;animation:xray-fade .24s calc(var(--i) * 30ms) both}.xray-strip>.xray-label{top:16px;left:50%;translate:-50% 0;background:var(--xray-paper);color:var(--xray);box-shadow:inset 0 0 0 1px #ff2d6f55}.xray-box{position:absolute;outline:1px solid var(--xray);animation:xray-fade .2s 80ms both}.xray-box.is-text{outline-style:dashed;outline-color:#ff2d6f99;outline-offset:2px}.xray-box.is-round{border-radius:50%;outline-offset:2px}.xray-box>.xray-label{top:6px;left:6px}.xray-box.is-round>.xray-label{top:auto;bottom:-22px;left:50%;translate:-50% 0}.xray-measure{position:absolute;background:var(--xray);animation:xray-draw-v .26s .16s cubic-bezier(.22,1,.36,1) both}.xray-measure.is-v{width:1px}.xray-measure.is-h{height:1px;animation-name:xray-draw-h}.xray-measure:before,.xray-measure:after{content:"";position:absolute;background:var(--xray)}.xray-measure.is-v:before,.xray-measure.is-v:after{left:-3px;width:7px;height:1px}.xray-measure.is-v:before{top:0}.xray-measure.is-v:after{bottom:0}.xray-measure.is-h:before,.xray-measure.is-h:after{top:-3px;width:1px;height:7px}.xray-measure.is-h:before{left:0}.xray-measure.is-h:after{right:0}.xray-measure.is-v>.xray-label{top:50%;left:6px;translate:0 -50%}.xray-measure.is-h>.xray-label{left:50%;top:6px;translate:-50% 0}.xray-tag{position:absolute;display:flex;align-items:center;gap:5px;padding:3px 6px 3px 4px;border-radius:4px;background:var(--xray-paper);box-shadow:inset 0 0 0 1px #ff2d6f55;white-space:nowrap;translate:0 -50%;animation:xray-fade .18s .26s both}.xray-tag.is-below{translate:0 0}.xray-tag i,.xray-swatches i{display:block;width:8px;height:8px;border-radius:2px;box-shadow:inset 0 0 0 1px #0000001a}.xray-inspect{position:absolute;width:232px;padding:12px;border-radius:10px;background:var(--xray-paper);box-shadow:0 0 0 1px #ff2d6f55,0 8px 24px #0000001a;animation:xray-fade .16s both}.xray-inspect.is-flipped{translate:-100% 0}.xray-inspect strong{display:block;margin-bottom:8px;color:var(--text);font:600 12px/1.3 Inter,sans-serif;letter-spacing:-.01em}.xray-inspect dl{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:0 0 10px}.xray-inspect dt{color:var(--text-tertiary)}.xray-inspect dd{margin:0;color:var(--text)}.xray-inspect svg{display:block;width:100%;height:auto;overflow:visible}.xray-plot{fill:none;stroke:var(--xray);stroke-width:1.5;stroke-dasharray:1;animation:xray-plot .7s 80ms cubic-bezier(.22,1,.36,1) both}.xray-plot-target{stroke:#ff2d6f40;stroke-dasharray:2 3}.xray-plot-axis{stroke:var(--xray-axis)}.xray-legend{position:absolute;bottom:calc(max(22px,env(safe-area-inset-bottom)) + 66px);left:50%;translate:-50% 0;display:flex;align-items:center;gap:10px;padding:7px 8px 7px 10px;border-radius:8px;background:var(--xray);color:#fff;white-space:nowrap;box-shadow:0 4px 16px #ff2d6f40;animation:xray-drop .26s cubic-bezier(.22,1,.36,1) both}.xray-legend b{font-weight:700;text-transform:uppercase;letter-spacing:.08em}.xray-swatches{display:flex;gap:3px}.xray-swatches i{box-shadow:0 0 0 1px #ffffff80}.xray-legend kbd{padding:2px 5px;border-radius:3px;background:#fff3;font:inherit}@keyframes xray-fade{0%{opacity:0}}@keyframes xray-draw-v{0%{transform:scaleY(0)}}@keyframes xray-draw-h{0%{transform:scaleX(0)}}@keyframes xray-drop{0%{opacity:0;transform:translateY(8px)}}@keyframes xray-plot{0%{stroke-dashoffset:1}}.xray.is-still *,.xray.is-still{animation:none!important}.xray-toggle[aria-pressed=true]{color:var(--xray)}@media(max-width:640px){.xray-legend>span:not(.xray-swatches){display:none}.xray-tag{display:none}}@media(prefers-reduced-motion:reduce){.media-card-surface>*,.media-card{transition:none}}.dialkit-root{position:relative;--dial-surface: rgba(255, 255, 255, .05);--dial-surface-hover: rgba(255, 255, 255, .1);--dial-surface-active: rgba(255, 255, 255, .11);--dial-surface-subtle: rgba(255, 255, 255, .06);--dial-text-root: #FFFFFF;--dial-text-section: rgba(255, 255, 255, .7);--dial-text-label: rgba(255, 255, 255, .7);--dial-text-focus: #ffffff;--dial-text-primary: rgba(255, 255, 255, .95);--dial-text-secondary: rgba(255, 255, 255, .6);--dial-text-tertiary: rgba(255, 255, 255, .4);--dial-border: rgba(255, 255, 255, .1);--dial-border-hover: rgba(255, 255, 255, .15);--dial-focus-ring: rgba(255, 255, 255, .6);--dial-timeline-clip-overlay: transparent;--dial-glass-bg: #212121;--dial-dropdown-bg: #2a2a2a;--dial-backdrop-blur: 20px;--dial-radius: 8px;--dial-row-height: 36px;--dial-row-gap: 6px;--dial-shadow: 0 8px 32px rgba(0, 0, 0, .5);--dial-shadow-collapsed: 0 4px 16px rgba(0, 0, 0, .25);--dial-shadow-dropdown: 0 8px 24px rgba(0, 0, 0, .4);font-family:system-ui,-apple-system,SF Pro Display,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dialkit-panel{position:fixed;z-index:9999;max-height:calc(100vh - 32px);overflow:visible}.dialkit-root[data-mode=inline]{max-height:100%}.dialkit-panel[data-mode=inline]{position:static;z-index:auto;max-height:inherit;height:auto;overflow:visible}.dialkit-panel-inner{box-sizing:border-box;background:var(--dial-glass-bg);border:1px solid var(--dial-border);border-radius:14px;backdrop-filter:blur(var(--dial-backdrop-blur));-webkit-backdrop-filter:blur(var(--dial-backdrop-blur));padding:10px 12px;transform:translateZ(0);transform-origin:var(--dial-origin-y, top) var(--dial-origin-x, right)}.dialkit-panel[data-origin-x=left]{--dial-origin-x: left}.dialkit-panel[data-origin-x=right]{--dial-origin-x: right}.dialkit-panel[data-origin-y=top]{--dial-origin-y: top}.dialkit-panel[data-origin-y=bottom]{--dial-origin-y: bottom}.dialkit-panel[data-position=top-left] .dialkit-panel-inner{max-height:calc(100vh - 80px);overflow-y:auto}.dialkit-panel-inner[data-collapsed=true]{transform-origin:center;border-radius:50%;padding:12px;box-sizing:border-box}.dialkit-panel-inner[data-collapsed=true] .dialkit-panel-header{padding-bottom:0;margin-bottom:0;border-bottom:none}.dialkit-panel-inner[data-collapsed=true] .dialkit-folder-title-row{display:none}.dialkit-panel-inner[data-collapsed=true] .dialkit-folder-header-top{justify-content:center;padding:0}.dialkit-panel-inner::-webkit-scrollbar{display:none}.dialkit-panel-inner{-ms-overflow-style:none;scrollbar-width:none;overflow-anchor:none}.dialkit-panel-inner[data-folding=true]:not(.dialkit-panel-inline){height:var(--dial-panel-fold-height)!important}.dialkit-panel-inner:not([data-collapsed=true]){padding-top:0}.dialkit-panel-inner:not([data-collapsed=true])>.dialkit-folder-root>.dialkit-panel-header{position:sticky;top:0;z-index:3;padding-top:10px;background:var(--dial-glass-bg)}.dialkit-panel-inner:not([data-collapsed=true])>.dialkit-folder-root>.dialkit-panel-header:before,.dialkit-folder-section>.dialkit-folder-header:before{content:"";position:absolute;inset:0 -12px;z-index:-1;background:var(--dial-glass-bg);pointer-events:none}.dialkit-panel-inner:not([data-collapsed=true])>.dialkit-folder-root>.dialkit-panel-header .dialkit-panel-icon{right:0}.dialkit-panel-inline{width:100%;height:auto;max-height:inherit;overflow:visible;box-shadow:none;border-radius:0;border:none;box-sizing:border-box}.dialkit-panel[data-mode=inline] .dialkit-panel-wrapper{display:flex;flex-direction:column;width:100%;max-height:inherit;height:auto}.dialkit-panel[data-position=top-right]{top:16px;right:16px}.dialkit-panel[data-position=top-left]{top:16px;left:16px}.dialkit-panel[data-position=bottom-right]{bottom:16px;right:16px}.dialkit-panel[data-position=bottom-left]{bottom:16px;left:16px}.dialkit-folder{padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--dial-surface-subtle)}.dialkit-folder:last-child:not(.dialkit-folder-root){padding-bottom:0;margin-bottom:0}.dialkit-folder-root{padding-bottom:0;margin-bottom:0;border-bottom:none}.dialkit-panel-header{padding-bottom:6px;margin-bottom:12px;border-bottom:1px solid var(--dial-surface-subtle)}.dialkit-panel:not([data-mode=inline]) .dialkit-panel-inner:not([data-collapsed=true])>.dialkit-folder-root>.dialkit-panel-header{cursor:grab}.dialkit-panel:not([data-mode=inline]) .dialkit-panel-inner:not([data-collapsed=true])>.dialkit-folder-root>.dialkit-panel-header:active{cursor:grabbing}.dialkit-panel:not([data-mode=inline]) .dialkit-panel-inner:not([data-collapsed=true]) .dialkit-panel-icon{color:var(--dial-text-label);opacity:.6}.dialkit-panel:not([data-mode=inline]) .dialkit-panel-icon{cursor:pointer}.dialkit-folder-header{cursor:pointer;-webkit-user-select:none;user-select:none}.dialkit-folder-header-top{display:flex;align-items:center;justify-content:space-between;padding:0 0 8px}.dialkit-folder-title{font-size:13px;font-weight:600;color:var(--dial-text-section);letter-spacing:-.01em;transform:translateY(-.5px);transition:color .15s}.dialkit-folder-title-root{font-size:15px;font-weight:600;color:var(--dial-text-root);transform:translateZ(0)}.dialkit-folder-title-row{display:flex;align-items:center;gap:6px;flex:1;white-space:nowrap;overflow:hidden}.dialkit-folder-copy{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;cursor:pointer}.dialkit-folder-copy svg{width:14px;height:14px;color:var(--dial-text-section)}.dialkit-folder-icon{width:20px;height:20px;padding:2px;box-sizing:border-box;flex-shrink:0;color:var(--dial-text-label);opacity:.6}.dialkit-panel-icon{position:absolute;top:12px;right:12px;width:16px;height:16px;color:var(--dial-text-focus);z-index:1}.dialkit-folder-content{will-change:transform}.dialkit-folder:not(.dialkit-folder-root)>.dialkit-folder-content{overflow-y:clip}.dialkit-folder-inner{display:flex;flex-direction:column;gap:var(--dial-row-gap);padding-bottom:10px}.dialkit-folder:not(.dialkit-folder-root){border-top:1px solid var(--dial-surface-subtle);border-bottom:1px solid var(--dial-surface-subtle);margin-top:4px;margin-bottom:4px;padding-bottom:0}.dialkit-folder:not(.dialkit-folder-root):last-child{border-bottom:none;margin-bottom:0}.dialkit-folder:not(.dialkit-folder-root)+.dialkit-folder:not(.dialkit-folder-root){margin-top:-10px;border-top:none}.dialkit-folder:not(.dialkit-folder-root)>.dialkit-folder-header{height:var(--dial-row-height);padding:0}.dialkit-folder:not(.dialkit-folder-root)>.dialkit-folder-header>.dialkit-folder-header-top{padding:0;height:100%}.dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner{padding-bottom:0}.dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner>.dialkit-folder:first-child:not(:has(~.dialkit-folder)){border-top:none;margin-top:0}.dialkit-panel[data-multiple=true] .dialkit-panel-inner:not([data-collapsed=true]){padding:0 12px}.dialkit-panel[data-multiple=true] .dialkit-panel-inner:not([data-collapsed=true]) .dialkit-panel-icon{top:14px}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-panel-header{padding-top:0;padding-bottom:0;margin-bottom:0}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-panel-header>.dialkit-folder-header-top,.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner>.dialkit-folder>.dialkit-folder-header>.dialkit-folder-header-top{height:44px;padding:0}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner>.dialkit-folder>.dialkit-folder-header{height:auto}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner{gap:0}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner>.dialkit-folder{margin:0;padding-bottom:0;border-top:1px solid var(--dial-surface-subtle);border-bottom:none}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner>.dialkit-folder>.dialkit-folder-header .dialkit-folder-title{font-size:15px;font-weight:600;line-height:20px;color:var(--dial-text-root);transform:translateZ(0)}.dialkit-panel[data-multiple=true] .dialkit-folder-title-root{line-height:20px}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner>.dialkit-folder:first-child{border-top:none;margin-top:0}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner>.dialkit-folder+.dialkit-folder{margin-top:0}.dialkit-panel[data-multiple=true] .dialkit-folder-root>.dialkit-folder-content>.dialkit-folder-inner>.dialkit-folder>.dialkit-folder-content>.dialkit-folder-inner{padding-top:0;padding-bottom:12px}.dialkit-panel .dialkit-folder.dialkit-folder-section>.dialkit-folder-header{position:sticky;top:var(--dial-panel-header-height, 0px);z-index:2;height:auto;background:var(--dial-glass-bg)}.dialkit-folder-section{--dial-section-header-height: calc(44px + var(--dial-row-height) + 10px)}.dialkit-folder-inner :is(button,input,textarea,[tabindex]){scroll-margin-top:calc(var(--dial-panel-header-height, 0px) + var(--dial-section-header-height, 0px) + var(--dial-row-gap))}.dialkit-folder.dialkit-folder-section>.dialkit-folder-header>.dialkit-folder-header-top{height:var(--dial-row-height)}.dialkit-panel-section-toolbar-clip{overflow-y:clip}.dialkit-folder-section>.dialkit-folder-header>.dialkit-panel-section-toolbar-clip>.dialkit-panel-section-toolbar{padding-top:4px;padding-bottom:var(--dial-row-gap);box-sizing:content-box}.dialkit-panel-toolbar:empty,.dialkit-panel-section-toolbar:empty{display:none}.dialkit-slider-wrapper{position:relative;height:var(--dial-row-height)}.dialkit-slider{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;background:var(--dial-surface);border-radius:var(--dial-radius);touch-action:none}.dialkit-slider-hashmarks{position:absolute;inset:0;pointer-events:none}.dialkit-slider-hashmark{position:absolute;top:50%;width:1px;height:8px;border-radius:999px;transform:translate(-50%) translateY(-50%);background:#fff0;transition:background .2s}.dialkit-slider-active .dialkit-slider-hashmark{background:var(--dial-border-hover)}.dialkit-slider-active .dialkit-slider-value{color:var(--dial-text-focus)}.dialkit-slider-fill{position:absolute;top:0;bottom:0;left:0;background:var(--dial-surface-active);transition:background .15s;pointer-events:none}.dialkit-slider-active .dialkit-slider-fill{background:var(--dial-border-hover)}.dialkit-slider-handle{position:absolute;top:50%;width:3px;height:20px;border-radius:999px;background:var(--dial-text-primary);pointer-events:none}.dialkit-slider-label{position:absolute;left:10px;top:50%;transform:translateY(calc(-50% - .5px));font-size:13px;font-weight:500;color:var(--dial-text-label);pointer-events:none;transition:color .15s;display:inline-flex;align-items:center}.dialkit-slider-value{position:absolute;right:12px;top:50%;transform:translateY(calc(-50% + .5px));font-size:13px;font-weight:500;font-family:Geist Mono,monospace;color:var(--dial-text-label);pointer-events:auto;transition:color .15s,border-color .15s;border-bottom:1px solid transparent;padding-bottom:1px}.dialkit-slider-value-editable{border-bottom-color:var(--dial-text-label)}.dialkit-slider-input{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:4ch;min-width:3ch;max-width:6ch;font-size:13px;font-weight:500;font-family:Geist Mono,monospace;color:var(--dial-text-label);background:transparent;border:none;border-bottom:1px solid var(--dial-text-label);padding:0 0 1px;outline:none;text-align:right}.dialkit-slider-input:focus{color:var(--dial-text-focus)}.dialkit-segmented{position:relative;display:flex;padding:2px;background:transparent;border-radius:var(--dial-radius)}.dialkit-segmented-pill{position:absolute;top:2px;bottom:2px;background:var(--dial-surface-active);border-radius:6px;z-index:0;pointer-events:none}.dialkit-segmented-button{position:relative;z-index:1;flex:0 0 auto;padding:6px 8px;font-family:inherit;font-size:13px;font-weight:500;background:transparent;border:none;cursor:pointer;transition:color .15s}.dialkit-segmented-button[data-active=true]{color:var(--dial-text-primary)}.dialkit-segmented-button[data-active=false]{color:var(--dial-text-label)}.dialkit-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--dial-surface);border-radius:var(--dial-radius);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.dialkit-toggle:hover{background:var(--dial-surface-hover)}.dialkit-toggle-label{font-size:13px;font-weight:500;color:var(--dial-text-label);transition:color .15s}.dialkit-toggle[data-checked=true] .dialkit-toggle-label{color:var(--dial-text-primary)}.dialkit-toggle-track{width:36px;height:20px;border-radius:10px;background:var(--dial-surface-active);transition:background .2s;position:relative}.dialkit-toggle[data-checked=true] .dialkit-toggle-track{background:var(--dial-border-hover)}.dialkit-toggle-thumb{position:absolute;top:2px;width:16px;height:16px;border-radius:8px;background:var(--dial-text-primary)}.dialkit-button-group{display:flex;flex-direction:column;gap:6px}.dialkit-button{flex:1;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-secondary);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s,color .15s}.dialkit-button:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-button:active{background:var(--dial-surface-active)}.dialkit-labeled-control{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--dial-row-height);padding:2px 10px 2px 12px;background:var(--dial-surface);border-radius:var(--dial-radius)}.dialkit-labeled-control-label{display:flex;align-items:center;font-size:13px;font-weight:500;color:var(--dial-text-label);flex-shrink:0;line-height:17px}.dialkit-labeled-control .dialkit-segmented{flex-shrink:0;margin-right:-6px}.dialkit-action-button{width:160px;flex-shrink:0;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-secondary);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s,color .15s}.dialkit-action-button:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-action-button:active{background:var(--dial-surface-active)}.dialkit-actions-group{align-items:flex-start}.dialkit-actions-stack{display:flex;flex-direction:column;gap:6px;width:160px}.dialkit-spring-viz{width:100%;border-radius:var(--dial-radius);background:var(--dial-surface);overflow:visible}.dialkit-easing-viz{position:relative;width:100%;aspect-ratio:256 / 180;border-radius:var(--dial-radius);background:var(--dial-surface);overflow:hidden;isolation:isolate}.dialkit-easing-viz svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.dialkit-easing-reference{stroke:var(--dial-text-tertiary);stroke-width:1;stroke-dasharray:3 4;opacity:.4}.dialkit-easing-tangent{stroke:var(--dial-text-tertiary);stroke-width:1}.dialkit-easing-curve{fill:none;stroke:var(--dial-text-primary);stroke-width:2;stroke-linecap:round}.dialkit-easing-endpoint{fill:var(--dial-text-secondary)}.dialkit-easing-handle{position:absolute;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.dialkit-easing-handle:after{content:"";width:10px;height:10px;box-sizing:border-box;border:1.5px solid var(--dial-text-secondary);border-radius:50%;background:var(--dial-surface)}.dialkit-easing-handle:hover:after,.dialkit-easing-handle:focus-visible:after,.dialkit-easing-handle[data-dragging]:after{border-color:var(--dial-text-primary);background:var(--dial-text-primary)}.dialkit-easing-handle[data-dragging]{cursor:grabbing;z-index:1}.dialkit-easing-handle:disabled{pointer-events:none}.dialkit-easing-instructions{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dialkit-panel-wrapper{display:inline-flex;flex-direction:column}.dialkit-panel-toolbar{display:flex;align-items:center;gap:6px;height:var(--dial-row-height);margin-bottom:6px;min-width:0;overflow:hidden}.dialkit-panel-section-toolbar{display:flex;align-items:center;gap:6px;width:100%;height:var(--dial-row-height);min-width:0;overflow:hidden}.dialkit-toolbar-add{display:flex;align-items:center;justify-content:center;width:var(--dial-row-height);height:var(--dial-row-height);padding:0;flex-shrink:0;background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-toolbar-add:hover{background:var(--dial-surface-hover)}.dialkit-timeline-toolbar-toggle[data-active]{background:var(--dial-surface-active);color:var(--dial-text-root)}.dialkit-toolbar-add svg{width:16px;height:16px;color:var(--dial-text-label)}.dialkit-timeline-toolkit-only{height:var(--dial-row-height);display:flex;align-items:center;padding:0 12px;border-radius:var(--dial-radius);background:var(--dial-surface-subtle);color:var(--dial-text-secondary);font-size:12px}.dialkit-toolbar-copy{position:relative;display:flex;align-items:center;gap:6px;height:var(--dial-row-height);padding:0 12px;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-toolbar-copy:hover{background:var(--dial-surface-hover)}.dialkit-toolbar-copy-icon-wrap{position:relative;width:16px;height:16px;flex-shrink:0}.dialkit-toolbar-copy-icon{position:absolute;inset:0;width:16px;height:16px}.dialkit-text-control{position:relative;box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;height:var(--dial-row-height);min-height:var(--dial-row-height);overflow:clip;padding:calc((var(--dial-row-height) - 18px) / 2) 12px;background:var(--dial-surface);border-radius:var(--dial-radius)}.dialkit-text-label{line-height:18px;font-size:13px;font-weight:500;color:var(--dial-text-label);flex-shrink:0}.dialkit-text-input{display:block;box-sizing:border-box;margin:0;margin-right:calc(-1 * var(--dial-text-gutter, 0px));flex:1;width:0;min-width:0;height:18px;line-height:18px;resize:none;overflow:hidden;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:var(--dial-text-tertiary) transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:transparent;border:none;padding:0;outline:none;text-align:right;cursor:text}.dialkit-text-control[data-autosized]{transition:height .18s cubic-bezier(.2,0,0,1)}.dialkit-text-input::-webkit-scrollbar{width:6px}.dialkit-text-input::-webkit-scrollbar-track{background:transparent}.dialkit-text-input::-webkit-scrollbar-thumb{background:var(--dial-text-tertiary);border-radius:3px}@media(prefers-reduced-motion:reduce){.dialkit-text-control[data-autosized]{transition:none}}.dialkit-text-input:focus{color:var(--dial-text-focus)}.dialkit-text-input:focus-visible{background-image:linear-gradient(var(--dial-focus-ring),var(--dial-focus-ring));background-repeat:no-repeat;background-position:4px bottom;background-size:calc(100% - var(--dial-text-gutter, 0px) - 4px) 1px}.dialkit-text-input::placeholder{color:var(--dial-text-tertiary)}.dialkit-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--dial-row-height);padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-select-trigger:hover{background:var(--dial-surface-hover)}.dialkit-select-trigger[data-open=true]{background:var(--dial-surface-active)}.dialkit-select-label{font-size:13px;font-weight:500;color:var(--dial-text-label);flex-shrink:0;transform:translateY(-.5px)}.dialkit-select-right{display:flex;align-items:center;gap:8px}.dialkit-select-value{font-size:13px;font-weight:500;color:var(--dial-text-label);transform:translateY(-.5px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialkit-select-chevron{width:20px;height:20px;padding:2px;box-sizing:border-box;flex-shrink:0;opacity:.6}.dialkit-select-dropdown{margin:0;inset:auto;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dial-border-hover) transparent;background:var(--dial-glass-bg);border:1px solid var(--dial-border);border-radius:var(--dial-radius);padding:4px;z-index:10000;box-shadow:var(--dial-shadow-dropdown)}.dialkit-select-option{min-height:36px;display:block;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:transparent;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.dialkit-select-option:hover{background:var(--dial-surface-hover)}.dialkit-select-option[data-selected=true]{color:var(--dial-text-primary);background:var(--dial-surface-active)}.dialkit-image-control{display:flex;align-items:center;gap:8px;width:100%;height:var(--dial-row-height);padding:0 6px 0 12px;border:0;border-radius:var(--dial-radius);background:var(--dial-surface);color:var(--dial-text-label);font:500 13px system-ui,-apple-system,sans-serif;text-align:left;cursor:pointer;transition:background .15s,box-shadow .15s}.dialkit-image-control:hover{background:var(--dial-surface-hover)}.dialkit-image-control[data-open=true]{background:var(--dial-surface-active);box-shadow:inset 0 0 0 1px var(--dial-border-hover);color:var(--dial-text-primary)}.dialkit-image-label{flex-shrink:0}.dialkit-image-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--dial-text-secondary);font-size:12px}.dialkit-image-frame{position:relative;display:block;overflow:hidden;border-radius:var(--dial-radius);background:repeating-conic-gradient(var(--dial-surface) 0% 25%,transparent 0% 50%) 0 / 12px 12px,var(--dial-surface)}.dialkit-image-img{display:block;width:100%;height:100%;object-fit:cover}.dialkit-image-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--dial-text-tertiary)}.dialkit-image-fallback svg{width:24px;height:24px}.dialkit-image-thumbnail{flex:0 0 38px;height:26px;border-radius:5px;box-shadow:inset 0 0 0 1px var(--dial-border)}.dialkit-image-thumbnail svg{width:16px;height:16px}.dialkit-image-popover{display:flex;flex-direction:column;gap:10px;position:fixed;margin:0;inset:auto;z-index:10002;box-sizing:border-box;padding:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dial-border-hover) transparent;border:1px solid var(--dial-border);border-radius:14px;background:var(--dial-glass-bg);box-shadow:var(--dial-shadow);color:var(--dial-text-label);font:500 13px system-ui,-apple-system,sans-serif;animation:dialkit-color-enter .16s ease-out}.dialkit-image-popover *,.dialkit-image-popover *:before,.dialkit-image-popover *:after{box-sizing:border-box}.dialkit-image-popover>*{flex-shrink:0}.dialkit-image-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.dialkit-image-title{color:var(--dial-text-primary)}.dialkit-image-clear{margin:-4px -4px -4px 0;padding:4px;border:0;border-radius:4px;background:none;color:var(--dial-text-tertiary);font:inherit;font-size:11px;cursor:pointer}.dialkit-image-clear:hover{color:var(--dial-text-primary)}.dialkit-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--dial-row-gap)}.dialkit-image-option{position:relative;display:block;width:100%;padding:3px;border:1px solid transparent;border-radius:calc(var(--dial-radius) + 3px);background:transparent;cursor:pointer;transition:border-color .15s,background .15s}.dialkit-image-option-preview{width:100%;aspect-ratio:4 / 3;border-radius:calc(var(--dial-radius) - 1px)}.dialkit-image-option:hover{background:var(--dial-surface-hover);border-color:var(--dial-border-hover)}.dialkit-image-option[aria-pressed=true]{border-color:var(--dial-text-label);background:var(--dial-surface-active)}.dialkit-image-upload{display:flex;flex:none;align-items:center;justify-content:center;gap:8px;width:100%}.dialkit-image-upload svg{width:15px;height:15px}.dialkit-image-popover[data-dragging=true] .dialkit-image-upload{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-image-upload[aria-disabled=true]{opacity:.6;cursor:progress}.dialkit-image-empty{padding:28px 12px;border-radius:var(--dial-radius);background:var(--dial-surface);color:var(--dial-text-tertiary);font-weight:400;text-align:center}.dialkit-image-status{font-size:11px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.dialkit-image-popover [hidden],.dialkit-image-frame [hidden],.dialkit-image-file{display:none}@media(prefers-reduced-motion:reduce){.dialkit-image-popover{animation:none}}.dialkit-pad{display:grid;gap:var(--dial-row-gap);min-width:0}.dialkit-pad-caption{display:flex;align-items:center;min-width:0;height:var(--dial-row-height);padding:0 12px;border-radius:var(--dial-radius);background:var(--dial-surface)}.dialkit-pad-label{flex:1;min-width:0;color:var(--dial-text-label);font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialkit-pad-surface{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:var(--dial-radius);background:var(--dial-surface);cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none}.dialkit-pad-plane{position:absolute;inset:12px;pointer-events:none}.dialkit-pad-grid{position:absolute;inset:0;pointer-events:none}.dialkit-pad-grid-line{position:absolute;background:var(--dial-border);opacity:.65}.dialkit-pad-grid-vertical{top:0;bottom:0;width:1px;transform:translate(-50%)}.dialkit-pad-grid-horizontal{left:0;right:0;height:1px;transform:translateY(-50%)}.dialkit-pad-center{position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:var(--dial-text-tertiary);transform:translate(-50%,-50%)}.dialkit-pad-point{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--dial-text-primary);box-shadow:0 0 0 0 transparent,0 2px 4px #0003;transform:translate(-50%,-50%);transition:box-shadow .15s;pointer-events:auto;cursor:grab}.dialkit-pad-surface[data-dragging=true],.dialkit-pad-surface[data-dragging=true] .dialkit-pad-point{cursor:grabbing}.dialkit-pad-surface[data-dragging=true] .dialkit-pad-point{box-shadow:0 0 0 6px var(--dial-border-hover),0 2px 6px #0003}.dialkit-pad-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--dial-row-gap)}.dialkit-pad-field{display:flex;align-items:center;gap:4px;min-width:0;height:var(--dial-row-height);padding:0 12px 0 10px;border-radius:var(--dial-radius);background:var(--dial-surface)}.dialkit-pad-axis{min-width:0;max-width:35%;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;color:var(--dial-text-label)}.dialkit-pad-value{min-width:0;width:100%;border:0;padding:0 0 1px;background:transparent;color:var(--dial-text-label);text-align:right;font:500 13px Geist Mono,monospace}.dialkit-pad-field:focus-within{background:var(--dial-surface-hover)}.dialkit-pad-value:focus-visible{box-shadow:inset 0 -1px var(--dial-focus-ring)}.dialkit-pad-value:focus{color:var(--dial-text-focus)}.dialkit-pad-instructions{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.dialkit-pad-point{transition:none}}.dialkit-color-control{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--dial-row-height);padding:0 12px;background:var(--dial-surface);border-radius:var(--dial-radius);transition:background .15s,box-shadow .15s}.dialkit-color-control[data-open=true]{background:var(--dial-surface-active);box-shadow:inset 0 0 0 1px var(--dial-border-hover)}.dialkit-color-control[data-open=true] .dialkit-color-label,.dialkit-color-control[data-open=true] .dialkit-color-value{color:var(--dial-text-primary)}.dialkit-color-label{font-size:13px;font-weight:500;color:var(--dial-text-label);flex-shrink:0;transform:translateY(-.5px)}.dialkit-color-inputs{display:flex;align-items:center;gap:8px}.dialkit-color-inputs{min-width:0;flex:1;justify-content:flex-end}.dialkit-color-value{min-width:0;width:100%;padding:4px 0;border:0;outline:none;background:transparent;color:var(--dial-text-label);font:500 13px Geist Mono,monospace;text-align:right;text-overflow:ellipsis}.dialkit-color-value:focus{color:var(--dial-text-focus)}.dialkit-color-swatch{flex:0 0 20px;width:20px;height:20px;padding:0;border-radius:5px;border:1px solid var(--dial-border-hover);background:linear-gradient(var(--dial-color),var(--dial-color)),repeating-conic-gradient(#aaa 0% 25%,#eee 0% 50%) 0 / 8px 8px;box-shadow:inset 0 0 0 1px #ffffff14;cursor:pointer;transition:transform .15s}.dialkit-color-swatch:hover{transform:scale(1.08)}.dialkit-color-popover{display:grid;gap:var(--dial-row-gap);position:fixed;margin:0;inset:auto;z-index:10002;box-sizing:border-box;padding:10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--dial-border);border-radius:14px;background:var(--dial-glass-bg);box-shadow:var(--dial-shadow);color:var(--dial-text-label);animation:dialkit-color-enter .16s ease-out}.dialkit-color-popover *,.dialkit-color-popover *:before,.dialkit-color-popover *:after{box-sizing:border-box}.dialkit-color-plane{position:relative;height:160px;border-radius:var(--dial-radius);touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.dialkit-color-canvas{display:block;width:100%;height:100%;border-radius:inherit}.dialkit-color-plane:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #0000001a;pointer-events:none}.dialkit-color-marker{position:absolute;z-index:1;width:12px;height:12px;margin:-6px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px #0000004d;pointer-events:none}.dialkit-color-tracks{display:grid;gap:var(--dial-row-gap)}.dialkit-color-track-row{display:flex;align-items:center;gap:12px;height:var(--dial-row-height);padding:0 12px;border-radius:var(--dial-radius);background:var(--dial-surface);font-size:13px;font-weight:500}.dialkit-color-track-row>span{flex:0 0 52px;color:var(--dial-text-label)}.dialkit-color-track{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:100%;padding:0;margin:0;border:0;background:transparent;cursor:pointer;touch-action:none}.dialkit-color-hue{--dial-color-thumb-bg: var(--dial-color-thumb)}.dialkit-color-opacity{--dial-color-track-bg: linear-gradient(to right, transparent, var(--dial-color-opaque)), repeating-conic-gradient(#aaa 0% 25%, #eee 0% 50%) 0 / 8px 8px;--dial-color-thumb-bg: linear-gradient(var(--dial-color-thumb), var(--dial-color-thumb)), repeating-conic-gradient(#aaa 0% 25%, #eee 0% 50%) 0 / 8px 8px}.dialkit-color-track::-webkit-slider-runnable-track{height:16px;border-radius:4px;background:var(--dial-color-track-bg)}.dialkit-color-track::-moz-range-track{height:16px;border:0;border-radius:4px;background:var(--dial-color-track-bg)}.dialkit-color-track::-webkit-slider-thumb{-webkit-appearance:none;box-sizing:border-box;width:16px;height:24px;margin-top:-4px;border-radius:5px;background:var(--dial-color-thumb-bg);background-clip:padding-box;border:2px solid white;box-shadow:0 2px 4px #0000004d}.dialkit-color-track::-moz-range-thumb{box-sizing:border-box;width:16px;height:24px;border-radius:5px;background:var(--dial-color-thumb-bg);background-clip:padding-box;border:2px solid white;box-shadow:0 2px 4px #0000004d}.dialkit-color-format-row{padding:2px}.dialkit-color-format-row .dialkit-color-formats{flex:1;min-width:0;margin-right:0}.dialkit-color-formats .dialkit-segmented-pill{left:2px;width:calc((100% - 4px) / 3);transition:transform .2s cubic-bezier(.25,1,.5,1)}.dialkit-color-format{flex:1 1 0;min-width:0;white-space:nowrap}.dialkit-color-format:hover{color:var(--dial-text-primary)}.dialkit-color-css-input{display:block;width:100%;height:var(--dial-row-height);padding:0 12px;border:0;border-radius:var(--dial-radius);background:var(--dial-surface);outline:none;color:var(--dial-text-label);font:500 13px Geist Mono,monospace}.dialkit-color-css-input:focus{color:var(--dial-text-focus)}.dialkit-color-popover input[aria-invalid=true],.dialkit-color-value[aria-invalid=true]{color:#ef7777}@keyframes dialkit-color-enter{0%{opacity:0;transform:translateY(3px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dialkit-color-popover{animation:none}.dialkit-color-formats .dialkit-segmented-pill{transition:none}}.dialkit-preset-manager{position:relative;flex:1}.dialkit-preset-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--dial-row-height);padding:0 12px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-preset-trigger:hover{background:var(--dial-surface-hover)}.dialkit-preset-trigger[data-disabled=true]{cursor:default}.dialkit-preset-trigger[data-disabled=true]:hover{background:var(--dial-surface)}.dialkit-preset-trigger[data-open=true]{background:var(--dial-surface-active)}.dialkit-preset-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialkit-preset-dropdown{margin:0;inset:auto;overflow-y:auto;overscroll-behavior:contain;width:max-content;background:var(--dial-dropdown-bg);border:1px solid var(--dial-border);border-radius:12px;padding:4px;z-index:10000;box-shadow:var(--dial-shadow-dropdown)}.dialkit-preset-list{display:flex;flex-direction:column;gap:2px;margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--dial-border)}.dialkit-preset-item{box-sizing:border-box;height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;gap:8px;border-radius:8px;cursor:pointer;transition:background .15s}.dialkit-preset-item+.dialkit-preset-item{margin-top:2px}.dialkit-preset-item:hover{background:var(--dial-surface-hover)}.dialkit-preset-item[data-active=true]{background:var(--dial-surface-active)}.dialkit-preset-name{flex:1;min-width:0;padding:0;border:0;border-radius:4px;background:transparent;font-family:inherit;text-align:left;cursor:pointer;font-size:13px;font-weight:500;color:var(--dial-text-label);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialkit-preset-item[data-active=true] .dialkit-preset-name{color:var(--dial-text-primary)}.dialkit-preset-delete{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:transparent;border:none;cursor:pointer;opacity:0;transition:opacity .15s;flex-shrink:0}.dialkit-preset-item:hover .dialkit-preset-delete{opacity:.6}.dialkit-preset-item:focus-within .dialkit-preset-delete{opacity:.6}.dialkit-preset-item:focus-within{background:var(--dial-surface-hover)}.dialkit-preset-delete:hover{opacity:1!important}.dialkit-preset-delete svg{transition:color .15s ease;width:14px;height:14px;color:var(--dial-text-focus);pointer-events:none}.dialkit-preset-delete:hover svg{color:#ff3b30}.dialkit-preset-save-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:500;color:var(--dial-text-label);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .15s,color .15s}.dialkit-preset-save-btn:hover{background:var(--dial-surface-hover);color:var(--dial-text-primary)}.dialkit-preset-save-btn svg{width:12px;height:12px}.dialkit-preset-save-row{display:flex;align-items:center;gap:6px;padding:4px}.dialkit-preset-input{flex:1;min-width:0;padding:6px 8px;font-family:inherit;font-size:13px;color:var(--dial-text-primary);background:var(--dial-surface);border:1px solid var(--dial-border);border-radius:6px;outline:none}.dialkit-preset-input:focus{border-color:var(--dial-text-label)}.dialkit-preset-input::placeholder{color:var(--dial-text-tertiary)}.dialkit-preset-confirm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--dial-surface);border:none;border-radius:6px;cursor:pointer;transition:background .15s}.dialkit-preset-confirm:hover:not(:disabled){background:var(--dial-surface-hover)}.dialkit-preset-confirm:disabled{opacity:.4;cursor:not-allowed}.dialkit-preset-confirm svg{width:14px;height:14px;color:var(--dial-text-label)}.dialkit-shortcut-pill{display:inline-block;font-size:10px;font-weight:600;font-family:system-ui,-apple-system,sans-serif;color:var(--dial-text-tertiary);background:var(--dial-surface-subtle);padding:1px 5px;border-radius:4px;margin-left:6px;letter-spacing:.02em;line-height:16px;white-space:nowrap;vertical-align:middle;transition:color .15s,background .15s}.dialkit-shortcut-pill-active{color:var(--dial-text-primary);background:var(--dial-border-hover)}.dialkit-shortcuts-trigger{display:flex;align-items:center;justify-content:center;width:var(--dial-row-height);height:var(--dial-row-height);padding:0;flex-shrink:0;background:var(--dial-surface);border:none;border-radius:var(--dial-radius);cursor:pointer;transition:background .15s}.dialkit-shortcuts-trigger:hover{background:var(--dial-surface-hover)}.dialkit-shortcuts-trigger svg{width:16px;height:16px;color:var(--dial-text-label)}.dialkit-shortcuts-dropdown{background:var(--dial-dropdown-bg);border:1px solid var(--dial-border);border-radius:12px;padding:8px;z-index:10000;box-shadow:var(--dial-shadow-dropdown);min-width:200px}.dialkit-shortcuts-title{font-size:11px;font-weight:600;color:var(--dial-text-tertiary);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px 8px}.dialkit-shortcuts-list{display:flex;flex-direction:column;gap:2px}.dialkit-shortcuts-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px}.dialkit-shortcuts-row-key{font-size:11px;font-weight:600;font-family:ui-monospace,SF Mono,Courier New,monospace;color:var(--dial-text-secondary);background:var(--dial-surface-subtle);padding:2px 6px;border-radius:4px;min-width:28px;text-align:center}.dialkit-shortcuts-row-label{flex:1;font-size:13px;font-weight:500;color:var(--dial-text-label)}.dialkit-shortcuts-row-mode{font-size:11px;font-weight:500;color:var(--dial-text-tertiary);font-style:italic}.dialkit-shortcuts-hint{font-size:11px;color:var(--dial-text-tertiary);padding:6px 8px 2px;border-top:1px solid var(--dial-border);margin-top:4px}.dialkit-root[data-theme=light]{--dial-surface: rgba(0, 0, 0, .04);--dial-surface-hover: rgba(0, 0, 0, .08);--dial-surface-active: rgba(0, 0, 0, .1);--dial-surface-subtle: rgba(0, 0, 0, .06);--dial-text-root: #000000;--dial-text-section: rgba(0, 0, 0, .65);--dial-text-label: rgba(0, 0, 0, .6);--dial-text-focus: #000000;--dial-text-primary: rgba(0, 0, 0, .9);--dial-text-secondary: rgba(0, 0, 0, .55);--dial-text-tertiary: rgba(0, 0, 0, .35);--dial-border: rgba(0, 0, 0, .1);--dial-border-hover: rgba(0, 0, 0, .15);--dial-focus-ring: rgba(0, 0, 0, .55);--dial-timeline-clip-overlay: rgba(0, 0, 0, .28);--dial-glass-bg: #fafafa;--dial-dropdown-bg: #ffffff;--dial-shadow: 0 4px 20px rgba(0, 0, 0, .08);--dial-shadow-collapsed: 0 2px 10px rgba(0, 0, 0, .06);--dial-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, .08)}.dialkit-root[data-theme=light] .dialkit-spring-viz line{stroke:#00000014}.dialkit-root[data-theme=light] .dialkit-spring-viz line[stroke-dasharray]{stroke:#00000026}.dialkit-root[data-theme=light] .dialkit-spring-viz path{stroke:#00000080}.dialkit-root[data-theme=light] .dialkit-toggle-thumb{box-shadow:0 0 0 1px #0000000f,0 1px 2px #00000014}@media(prefers-color-scheme:light){.dialkit-root[data-theme=system]{--dial-surface: rgba(0, 0, 0, .04);--dial-surface-hover: rgba(0, 0, 0, .08);--dial-surface-active: rgba(0, 0, 0, .1);--dial-surface-subtle: rgba(0, 0, 0, .06);--dial-text-root: #000000;--dial-text-section: rgba(0, 0, 0, .65);--dial-text-label: rgba(0, 0, 0, .6);--dial-text-focus: #000000;--dial-text-primary: rgba(0, 0, 0, .9);--dial-text-secondary: rgba(0, 0, 0, .55);--dial-text-tertiary: rgba(0, 0, 0, .35);--dial-border: rgba(0, 0, 0, .1);--dial-border-hover: rgba(0, 0, 0, .15);--dial-focus-ring: rgba(0, 0, 0, .55);--dial-timeline-clip-overlay: rgba(0, 0, 0, .28);--dial-glass-bg: #fafafa;--dial-dropdown-bg: #ffffff;--dial-shadow: 0 4px 20px rgba(0, 0, 0, .08);--dial-shadow-collapsed: 0 2px 10px rgba(0, 0, 0, .06);--dial-shadow-dropdown: 0 4px 16px rgba(0, 0, 0, .08)}.dialkit-root[data-theme=system] .dialkit-spring-viz line{stroke:#00000014}.dialkit-root[data-theme=system] .dialkit-spring-viz line[stroke-dasharray]{stroke:#00000026}.dialkit-root[data-theme=system] .dialkit-spring-viz path{stroke:#00000080}.dialkit-root[data-theme=system] .dialkit-toggle-thumb{box-shadow:0 0 0 1px #0000000f,0 1px 2px #00000014}}.dialkit-timeline{position:fixed;left:12px;right:12px;bottom:12px;z-index:9998}.dialkit-timeline[hidden]{display:none}.dialkit-timeline-dock{position:relative;box-sizing:border-box;background:var(--dial-glass-bg);border:1px solid var(--dial-border);border-radius:14px;backdrop-filter:blur(var(--dial-backdrop-blur));-webkit-backdrop-filter:blur(var(--dial-backdrop-blur));padding:0 12px 10px;display:flex;flex-direction:column;gap:10px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--dial-text-tertiary) transparent}.dialkit-timeline-resize-handle{position:absolute;top:-4px;left:0;right:0;z-index:9;height:10px;cursor:ns-resize;touch-action:none}.dialkit-timeline-dock::-webkit-scrollbar{width:8px}.dialkit-timeline-dock::-webkit-scrollbar-track{background:transparent}.dialkit-timeline-dock::-webkit-scrollbar-thumb{border-radius:999px;background:var(--dial-text-tertiary)}.dialkit-timeline-section{--dial-timeline-label-w: 96px;--dial-timeline-actions-w: 284px;--dial-timeline-header-h: calc(var(--dial-row-height) + 4px)}.dialkit-timeline-section+.dialkit-timeline-section{border-top:1px solid var(--dial-border);padding-top:10px}.dialkit-timeline-header{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;align-items:center;gap:12px;position:sticky;top:0;z-index:7;box-sizing:border-box;height:var(--dial-timeline-header-h);padding:4px 0 0;margin:0;background:var(--dial-glass-bg);backdrop-filter:blur(var(--dial-backdrop-blur));-webkit-backdrop-filter:blur(var(--dial-backdrop-blur))}.dialkit-timeline-header[data-open]{grid-template-columns:minmax(0,1fr) auto;gap:12px}.dialkit-timeline-header:not([data-open]){grid-template-columns:var(--dial-timeline-label-w) minmax(0,1fr) auto;gap:0}.dialkit-timeline-header:not([data-open]) .dialkit-timeline-identity{width:var(--dial-timeline-label-w);box-sizing:border-box;padding-right:10px;overflow:hidden}.dialkit-timeline-header:not([data-open]) .dialkit-timeline-title{overflow:hidden;text-overflow:ellipsis}.dialkit-timeline-header:not([data-open]) .dialkit-timeline-overview{margin-right:12px}.dialkit-timeline-identity{min-width:0;display:flex;align-items:center;gap:10px}.dialkit-timeline-title{display:block;min-width:0;font-size:15px;font-weight:600;color:var(--dial-text-root);letter-spacing:-.01em;white-space:nowrap}.dialkit-timeline-header[data-open] .dialkit-timeline-identity{width:100%;overflow:hidden}.dialkit-timeline-header[data-open] .dialkit-timeline-title{display:inline-block;flex:0 1 auto;width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dialkit-timeline-time{font-family:Geist Mono,ui-monospace,monospace;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--dial-text-label);white-space:nowrap}.dialkit-timeline-overview{position:relative;min-width:60px;height:12px;border-radius:999px;background:var(--dial-surface-subtle);overflow:hidden;cursor:col-resize;touch-action:none;user-select:none;-webkit-user-select:none}.dialkit-timeline-overview-viewport{position:absolute;inset-block:0;border-radius:inherit;pointer-events:none}.dialkit-timeline-overview-viewport[data-zoomed]{background:color-mix(in srgb,var(--dial-text-tertiary) 18%,transparent);box-shadow:inset 0 0 0 1px var(--dial-border)}.dialkit-timeline-overview-progress{position:absolute;inset:0 auto 0 0;border-radius:999px 0 0 999px;background:var(--dial-text-tertiary);opacity:.35;pointer-events:none}.dialkit-timeline-overview-playhead{position:absolute;top:0;bottom:0;width:2px;border-radius:2px;background:var(--dial-text-root);transform:translate(-1px);pointer-events:none}.dialkit-timeline-actions{display:flex;align-items:center;gap:6px}.dialkit-timeline-header[data-open] .dialkit-timeline-actions{width:auto;box-sizing:border-box;justify-content:flex-end;padding-left:0}.dialkit-timeline-actions .dialkit-preset-manager{flex:0 0 120px;width:120px}.dialkit-timeline-chevron{background:none;border:none;width:20px;height:var(--dial-row-height);padding:2px;cursor:pointer;color:var(--dial-text-label);opacity:.6;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.dialkit-timeline-chevron:hover{opacity:1}.dialkit-timeline-chevron svg{width:16px;height:16px;transition:transform .18s ease}.dialkit-timeline-chevron[data-open=true] svg{transform:rotate(180deg)}.dialkit-timeline-body{margin-top:0;overflow:visible}.dialkit-timeline-scroll-row{position:sticky;bottom:-10px;z-index:6;display:grid;grid-template-columns:var(--dial-timeline-label-w) minmax(0,1fr);margin-top:6px;margin-bottom:-10px;padding:4px 0 10px;background:var(--dial-glass-bg);backdrop-filter:blur(var(--dial-backdrop-blur));-webkit-backdrop-filter:blur(var(--dial-backdrop-blur))}.dialkit-timeline-horizontal-scroll{min-width:0;height:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--dial-text-tertiary) transparent;overscroll-behavior-x:contain}.dialkit-timeline-horizontal-scroll>div{height:1px}.dialkit-timeline-horizontal-scroll::-webkit-scrollbar{height:8px}.dialkit-timeline-horizontal-scroll::-webkit-scrollbar-track{background:transparent}.dialkit-timeline-horizontal-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:var(--dial-text-tertiary)}.dialkit-timeline-grid{position:relative;display:flex;flex-direction:column;gap:6px}.dialkit-timeline-row{display:grid;grid-template-columns:var(--dial-timeline-label-w) minmax(0,1fr);align-items:stretch}.dialkit-timeline-label{flex:0 0 var(--dial-timeline-label-w);box-sizing:border-box;display:flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--dial-text-label);padding-right:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:none;-webkit-user-select:none}.dialkit-timeline-ruler{position:relative;min-width:0;height:28px;cursor:col-resize;touch-action:none;overflow:visible;user-select:none;-webkit-user-select:none;z-index:5}.dialkit-timeline-ruler-row{position:sticky;top:var(--dial-timeline-header-h);z-index:6;height:28px;background:var(--dial-glass-bg);backdrop-filter:blur(var(--dial-backdrop-blur));-webkit-backdrop-filter:blur(var(--dial-backdrop-blur))}.dialkit-timeline-tick{position:absolute;top:50%;width:1px;height:100%;background:var(--dial-text-tertiary);transform:translateY(-50%);pointer-events:none}.dialkit-timeline-tick-medium{height:16px;background:var(--dial-border-hover)}.dialkit-timeline-tick-fine{height:8px;background:var(--dial-border)}.dialkit-timeline-tick-label{position:absolute;top:50%;left:4px;display:flex;align-items:center;height:18px;transform:translateY(-50%);font-family:Geist Mono,ui-monospace,monospace;font-size:9.5px;line-height:18px;font-variant-numeric:tabular-nums;color:var(--dial-text-tertiary);white-space:nowrap}.dialkit-timeline-row{height:28px}.dialkit-timeline-group-row{height:22px}.dialkit-timeline-group-row .dialkit-timeline-label{gap:4px;font-weight:600;color:var(--dial-text-root)}.dialkit-timeline-group-row .dialkit-timeline-lane{background:none}.dialkit-timeline-group-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;margin-left:-2px;cursor:pointer;color:var(--dial-text-tertiary)}.dialkit-timeline-group-toggle svg{width:10px;height:10px;transform:rotate(-90deg);transition:transform .15s ease}.dialkit-timeline-group-toggle[data-open=true] svg{transform:rotate(0)}.dialkit-timeline-row[data-grouped] .dialkit-timeline-label{padding-left:14px}.dialkit-timeline-lane{position:relative;flex:1;background:var(--dial-surface-subtle);border-radius:8px;overflow:hidden}.dialkit-timeline-clip{position:absolute;top:3px;bottom:3px;border-radius:6px;display:flex;align-items:center;justify-content:flex-end;padding:0 9px;cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none;box-sizing:border-box;overflow:hidden;z-index:1;box-shadow:inset 0 0 0 999px var(--dial-timeline-clip-overlay)}.dialkit-timeline-clip-ghost{position:absolute;top:4px;bottom:4px;display:flex;border-radius:5px;box-sizing:border-box;overflow:hidden;opacity:.18;pointer-events:none;user-select:none;-webkit-user-select:none}.dialkit-timeline-clip-ghost-segment{height:100%;flex-shrink:0;box-sizing:border-box}.dialkit-timeline-clip-ghost-segment+.dialkit-timeline-clip-ghost-segment{box-shadow:inset 1px 0 #00000080}.dialkit-timeline-loop-infinity{position:absolute;top:50%;right:7px;z-index:2;color:var(--dial-text-tertiary);font-family:Geist Mono,ui-monospace,monospace;font-size:13px;font-weight:600;line-height:1;transform:translateY(-50%);pointer-events:none;user-select:none;-webkit-user-select:none}.dialkit-timeline-clip[data-dragging]{cursor:grabbing}.dialkit-timeline-clip[data-selected]{box-shadow:0 0 0 2px var(--dial-text-root),inset 0 0 0 999px var(--dial-timeline-clip-overlay)}.dialkit-timeline-clip-duration{font-family:Geist Mono,ui-monospace,monospace;font-size:9.5px;font-variant-numeric:tabular-nums;color:#0000008c;white-space:nowrap;pointer-events:none}.dialkit-timeline-clip[data-steps]{padding:0;justify-content:flex-start}.dialkit-timeline-clip-segment{position:relative;height:100%;flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:0 8px;box-sizing:border-box;overflow:hidden}.dialkit-timeline-clip-segment+.dialkit-timeline-clip-segment{box-shadow:inset 1.5px 0 #00000040}.dialkit-timeline-clip-segment:hover{background:#0000000f}.dialkit-timeline-clip-segment[data-selected]{background:#0000001f}.dialkit-timeline-clip[data-composite]{cursor:pointer}.dialkit-timeline-track-row .dialkit-timeline-label{font-size:13px;color:var(--dial-text-tertiary);padding-left:26px}.dialkit-timeline-track-row[data-grouped] .dialkit-timeline-label{padding-left:32px}.dialkit-timeline-clip-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize}.dialkit-timeline-clip-handle[data-edge=start]{left:0}.dialkit-timeline-clip-handle[data-edge=end]{right:0}.dialkit-timeline-playhead-control{position:absolute;top:0;bottom:0;width:12px;margin-left:-6px;cursor:ew-resize;touch-action:none}.dialkit-timeline-playhead-anchor{position:sticky;top:calc(var(--dial-timeline-header-h) + 14px);z-index:8;width:0;height:0;margin-left:6px}.dialkit-timeline-playhead-anchor:before{content:"";position:absolute;top:0;left:-1px;width:2px;height:15px;background:var(--dial-text-root);pointer-events:none}.dialkit-timeline-playhead-flag{position:absolute;top:0;left:calc(var(--dial-timeline-playhead-flag-offset, 0px) - 26px);z-index:1;width:52px;height:18px;padding:0 7px;box-sizing:border-box;border:1px solid rgba(255,255,255,.75);border-radius:6px;background:#f3f3f3;color:#414141;font-family:Geist Mono,ui-monospace,monospace;font-size:9.5px;font-weight:600;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;line-height:16px;text-align:center;white-space:nowrap;transform:translateY(-50%);box-shadow:0 1px 4px #00000047;transition:top .12s ease}.dialkit-timeline-playhead-stem{position:absolute;top:27px;bottom:0;left:5px;z-index:5;width:2px;background:var(--dial-text-root);pointer-events:none}.dialkit-timeline-popover{position:fixed;z-index:10000;background:var(--dial-glass-bg);border:1px solid var(--dial-border);border-radius:14px;backdrop-filter:blur(var(--dial-backdrop-blur));-webkit-backdrop-filter:blur(var(--dial-backdrop-blur));box-shadow:var(--dial-shadow);padding:10px 12px;box-sizing:border-box;max-height:60vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.dialkit-timeline-popover::-webkit-scrollbar{display:none}.dialkit-timeline-popover-header{display:flex;align-items:center;gap:8px;padding:2px 2px 8px;margin-bottom:6px;border-bottom:1px solid var(--dial-border)}.dialkit-timeline-popover-title{font-size:15px;font-weight:600;color:var(--dial-text-root);letter-spacing:-.01em}.dialkit-timeline-popover-close{width:24px;height:24px;margin-left:auto;padding:5px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:none;color:var(--dial-text-tertiary);cursor:pointer}.dialkit-timeline-popover-close:hover{color:var(--dial-text-root);background:var(--dial-surface-hover)}.dialkit-timeline-popover-close svg{width:14px;height:14px}.dialkit-timeline-popover-body{display:flex;flex-direction:column;gap:6px}.dialkit-timeline-popover-body>.dialkit-folder:first-child{margin-top:0;border-top:none}@media(max-width:720px){.dialkit-timeline-dock{padding:0 10px 10px}.dialkit-timeline-header{grid-template-columns:auto minmax(40px,1fr) auto;gap:8px}.dialkit-timeline-section{--dial-timeline-label-w: 76px;--dial-timeline-actions-w: 270px}.dialkit-timeline-identity{overflow:hidden;gap:7px}.dialkit-timeline-title{font-size:13px;overflow:hidden;text-overflow:ellipsis}.dialkit-timeline-time{font-size:11px}.dialkit-timeline-overview{height:12px}.dialkit-timeline-actions{min-width:0}.dialkit-timeline-actions .dialkit-preset-manager{flex-basis:100px;width:100px}.dialkit-timeline-chevron{width:26px;height:28px;justify-content:center;padding:0}.dialkit-timeline-grid{min-width:0}}.dialkit-root :where(button,input,textarea,[tabindex]):focus{outline:none}.dialkit-root :where(button,[role=slider],[role=button],.dialkit-color-plane,.dialkit-pad-surface):focus-visible{outline:2px solid var(--dial-focus-ring);outline-offset:-2px}.dialkit-folder-header-top[role=button]{border-radius:5px}.dialkit-panel-inner[data-collapsed=true] .dialkit-folder-header-top{border-radius:50%}.dialkit-slider:focus-visible .dialkit-slider-value,.dialkit-slider:focus-within .dialkit-slider-value{color:var(--dial-text-focus)}.dialkit-slider:focus-visible .dialkit-slider-fill{background:var(--dial-border-hover)}.dialkit-select-option:focus-visible{background:var(--dial-surface-hover);color:var(--dial-text-focus)}.dialkit-root :where(.dialkit-slider-input,.dialkit-color-value,.dialkit-preset-input):focus-visible{box-shadow:inset 0 -1px var(--dial-focus-ring)}.dialkit-color-css-input:focus-visible{outline:none}.dialkit-shortcuts-dropdown{margin:0;inset:auto;overflow-y:auto}@media(forced-colors:active){.dialkit-root{--dial-focus-ring: Highlight}}.dialkit-toolbar-primary{background:var(--dial-text-root);color:var(--dial-glass-bg)}.dialkit-toolbar-primary:hover{background:color-mix(in srgb,var(--dial-text-root) 88%,var(--dial-glass-bg))}.dialkit-toolbar-primary svg{color:inherit}.dialkit-preset-check{width:14px;height:14px;flex-shrink:0;color:var(--dial-text-focus)}.dialkit-preset-divider{height:1px;margin:4px 0;background:var(--dial-surface-subtle)}.dialkit-preset-create{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--dial-text-label);font:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s}.dialkit-preset-create:hover,.dialkit-preset-create:focus-visible{background:var(--dial-surface-hover)}:root{color-scheme:light;--bg: #fff;--text: #111;--text-secondary: #5a5a5a;--text-tertiary: #959595;--text-quiet: #b3b3b3;--underline: #d4d4d4;--surface: #f3f3f3;--switch-track: #e6e6e6;--switch-track-hover: #dcdcdc;--switch-knob: #fff;--switch-knob-shadow: 0 1px 2px rgb(0 0 0 / 16%), 0 0 0 .5px rgb(0 0 0 / 6%);--switch-icon: #737373;--focus: #2672cc;--iconcraft: #24aeea;--tileai: #5d7af1;--glow-strength: 38%;--flow-neutral: #6f6f6f, #a8a8a8, #4a4a4a, #6f6f6f;--flow-iconcraft: var(--iconcraft), #26cef4, #7fdffa, #2d69ac, var(--iconcraft);--flow-tileai: var(--tileai), #79aff9, #c3b9f2, #8e85e3, var(--tileai);--chrome-bg: rgb(255 255 255 / 95%);--chrome-border: #e9e9e9;--chrome-hover: #f5f5f5;--chrome-active: #f0f0f0;--chrome-text: #737373;--chrome-quiet: #999;--chrome-shadow: 0 4px 24px #0000000d;--panel-bg: #fff;--panel-border: #e5e5e5;--panel-text: #222;--panel-shadow: 0 8px 32px #0002;font-family:Inter,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:root[data-theme=dark]{color-scheme:dark;--bg: #111;--text: #f2f2f2;--text-secondary: #c4c4c4;--text-tertiary: #a1a1a1;--text-quiet: #7c7c7c;--underline: #555;--surface: #1c1c1c;--switch-track: #303030;--switch-track-hover: #3a3a3a;--switch-knob: #e8e8e8;--switch-knob-shadow: 0 1px 2px rgb(0 0 0 / 50%);--switch-icon: #2b2b2b;--focus: #5a9df2;--glow-strength: 50%;--flow-neutral: #b5b5b5, #f0f0f0, #909090, #b5b5b5;--flow-iconcraft: var(--iconcraft), #26cef4, #7fdffa, #4295dd, var(--iconcraft);--chrome-bg: rgb(30 30 30 / 92%);--chrome-border: #2c2c2c;--chrome-hover: #2a2a2a;--chrome-active: #383838;--chrome-text: #c4c4c4;--chrome-quiet: #8a8a8a;--chrome-shadow: 0 4px 24px #00000066;--panel-bg: #1a1a1a;--panel-border: #2c2c2c;--panel-text: #f0f0f0;--panel-shadow: 0 8px 32px #0008}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}*{box-sizing:border-box}html{scrollbar-gutter:stable;scroll-padding-block:24px calc(110px + env(safe-area-inset-bottom));-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:5px}.media-card{scroll-margin-block:24px 110px}.media-card:focus,.gallery:focus{outline:none}p,h1{margin:0}.portfolio{--u: min(1px, 100vw / 1728);--space-group: clamp(8px, calc(12 * var(--u)), 12px);--space-related: 16px;--space-section: clamp(40px, calc(64 * var(--u)), 64px);--tap-inset: 6px;max-width:1728px;margin-inline:auto;padding-bottom:calc(120px + env(safe-area-inset-bottom))}.intro{font-size:16px;letter-spacing:-.02em}.portrait{position:relative}.portrait img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover}.portrait-overlay{position:absolute;inset:0}.identity h1{font:inherit;font-weight:500;line-height:1.2}.identity>p{margin-top:var(--space-group);color:var(--text-tertiary);font-weight:500;line-height:1.2}.bio{color:var(--text-secondary);line-height:1.5;text-wrap:pretty}.work-filters{--flow-nudge: 4px 0;display:flex;flex-direction:column;align-items:flex-start;margin-top:calc(var(--space-section) - var(--tap-inset))}.work-filters button{--flow: var(--flow-neutral);--flow-glow: transparent;--flow-dot: var(--text);--flow-duration: 2.4s;--flow-pop: filter .24s ease, translate .42s cubic-bezier(.34, 1.56, .64, 1);--flow-lit: filter-whoosh .65s cubic-bezier(.2, .8, .6, .88), filter-flow var(--flow-duration) linear .65s infinite;position:relative;min-height:44px;margin-block:calc(-1 * var(--tap-inset));padding:0;border:0;font-weight:400;letter-spacing:inherit;line-height:1.2;text-align:left;background:linear-gradient(90deg,var(--flow)) 0 0 / 200% 100%;-webkit-background-clip:text;background-clip:text;color:var(--text-quiet);-webkit-text-fill-color:var(--text-quiet);filter:drop-shadow(0 0 0 transparent);transition:-webkit-text-fill-color .18s ease,var(--flow-pop)}.work-filters button[data-category=Iconcraft]{--flow: var(--flow-iconcraft);--flow-dot: var(--iconcraft);--flow-glow: color-mix(in srgb, var(--iconcraft) var(--glow-strength), transparent);--flow-duration: 2s}.work-filters button[data-category=TileAI]{--flow: var(--flow-tileai);--flow-dot: var(--tileai);--flow-glow: color-mix(in srgb, var(--tileai) var(--glow-strength), transparent);--flow-duration: 2.4s}.work-filters button[aria-pressed=true]{color:var(--text);-webkit-text-fill-color:var(--text)}.work-filters button:before{content:"";position:absolute;top:50%;left:-14px;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--flow-dot);scale:0;transition:scale 90ms ease-out}.work-filters button[aria-pressed=true]:before{scale:1;transition:scale .18s cubic-bezier(.3,1.6,.5,1)}.work-filters button:focus-visible{-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px var(--flow-glow));translate:var(--flow-nudge);animation:var(--flow-lit)}@keyframes filter-whoosh{0%{background-position:200% 0}to{background-position:0 0}}@keyframes filter-flow{0%{background-position:0 0}to{background-position:-200% 0}}:root[data-theme=dark] .work-filters button{background-size:0 0;transition:-webkit-text-fill-color .18s ease,background-size 0s .18s,var(--flow-pop)}:root[data-theme=dark] .work-filters button:focus-visible{background-size:200% 100%;transition:-webkit-text-fill-color .18s ease,var(--flow-pop)}.social-link{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding-right:28px;color:var(--text);text-decoration:none;vertical-align:top}:root[data-theme=dark] .social-link img{filter:invert(.93)}.social-row{display:flex;align-items:center}.theme-switch{display:flex;align-items:center;justify-content:flex-end;min-width:44px;min-height:44px;margin-left:auto;padding:0;border:0;background:none}.theme-switch:focus-visible{outline:none}.theme-switch:focus-visible .switch-track{outline:2px solid var(--focus);outline-offset:3px}.switch-track{display:flex;width:36px;height:20px;padding:2px;border-radius:10px;background:var(--switch-track);transition:background-color .15s ease}.switch-knob{display:grid;width:16px;height:16px;overflow:hidden;border-radius:50%;background:var(--switch-knob);box-shadow:var(--switch-knob-shadow);color:var(--switch-icon)}.switch-icon{display:grid;place-items:center}.switch-icon>*{grid-area:1 / 1;border-radius:50%}.switch-core{width:10px;height:10px;background:currentColor}.switch-bite{width:9px;height:9px;background:var(--switch-knob)}.switch-rays>svg{display:block}.layout-1{display:grid;grid-template-columns:minmax(0,25%) minmax(0,1fr);column-gap:calc(140 * var(--u));padding:calc(64 * var(--u)) calc(116 * var(--u)) 120px calc(80 * var(--u));align-items:start}.layout-1 .intro{position:sticky;top:calc(64 * var(--u));margin-left:calc(32px - max(0px,(100vw - 1728px) / 2) - 80 * var(--u));width:100%;height:calc(100dvh - 128 * var(--u) + 14px);min-height:360px;display:flex;flex-direction:column;align-items:flex-start}.layout-1 .portrait{width:65px;height:65px;flex-shrink:0}.identity{margin-top:var(--space-section)}.layout-1 .bio{margin-top:auto;max-width:387px}@media(not (max-width:1000px))and (not (max-height:500px)){.layout-1 .bio :is(a,button){scroll-margin-bottom:calc(-110px - env(safe-area-inset-bottom))}}.layout-1 .gallery{column-gap:calc(57 * var(--u));row-gap:calc(56 * var(--u))}.gallery-stage{position:relative;overflow:clip;overflow-clip-margin:16px}.media-card{display:block;position:absolute;top:0;left:0;padding:0;overflow:hidden;border:0;border-radius:12px;background:var(--surface);isolation:isolate}.media-card-surface{position:relative;width:100%;height:100%;overflow:hidden}.media-card img,.media-card video{display:block;width:100%;height:100%;object-fit:contain}.media-card .preview-video{position:absolute;inset:0;height:100%}.layout-2 .intro{padding-top:calc(171 * var(--u));margin-left:26.1574%;width:50.5787%}.layout-2 .portrait{width:97px;height:97px}.layout-2 .bio{margin-top:calc(var(--space-section) - 8px);line-height:1.25}.layout-2 .work-filters{--flow-nudge: 0 -2px;flex-direction:row;gap:28px}.layout-2 .social-link{margin-top:1px}.bio p+p{margin-top:var(--space-related)}.bio p+div{margin-top:calc(var(--space-related) + 2px)}.layout-2 .gallery{margin:calc(247 * var(--u)) calc(18 * var(--u)) 0;gap:20px}.layout-switcher{position:fixed;z-index:10;bottom:max(22px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:6px;border:1px solid var(--chrome-border);border-radius:15px;background:var(--chrome-bg);box-shadow:var(--chrome-shadow);font-size:12px;white-space:nowrap}.layout-options{display:flex;gap:4px}.layout-options a,.playback-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 15px;border-radius:9px;text-decoration:none;border:0;background:transparent}.option-number{color:var(--chrome-quiet);font-size:10px;font-variant-numeric:tabular-nums}.layout-options a[aria-current]{background:var(--chrome-active)}.playback-button{border-left:1px solid var(--chrome-border);border-radius:0 9px 9px 0;color:var(--chrome-text)}.playback-button:disabled{cursor:default;opacity:.6}.skip-link{position:fixed;top:12px;left:12px;z-index:20;background:var(--bg);padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.lightbox{--lightbox-padding: 32px;--lightbox-top: max(var(--lightbox-padding), env(safe-area-inset-top));--lightbox-bottom: max(var(--lightbox-padding), env(safe-area-inset-bottom));position:fixed;inset:0;z-index:20;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;overflow:hidden;overscroll-behavior:contain;background:transparent}.lightbox[data-closing=true]{pointer-events:none}.lightbox-stage[data-exiting=true],.lightbox-stage[data-exiting=true] *{pointer-events:none!important}.lightbox::backdrop{background:transparent}.lightbox-stage{display:grid;place-items:center;width:100%;height:100%;padding:var(--lightbox-top) max(var(--lightbox-padding),env(safe-area-inset-right)) var(--lightbox-bottom) max(var(--lightbox-padding),env(safe-area-inset-left));isolation:isolate}.lightbox-backdrop{position:absolute;inset:0;z-index:-1;background:#0c0c0cd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;will-change:opacity}.lightbox-content{--heading-space: 60px;--controls-space: 0px;--available-media-height: max(1px, 100dvh - var(--lightbox-top) - var(--lightbox-bottom) - var(--heading-space) - var(--controls-space));width:min(var(--media-width),100%,var(--available-media-height) * var(--media-ratio));min-width:0}.lightbox-heading{display:flex;align-items:center;justify-content:flex-end;margin-bottom:16px}.lightbox-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:1px solid rgb(255 255 255 / 16%);border-radius:50%;background:#ffffff1a;color:#fff;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.lightbox-close:focus:not(:focus-visible){outline:none}.lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:4px}.lightbox-close:active{transform:scale(.94)}.lightbox-media{position:relative;width:100%;aspect-ratio:var(--media-ratio)}.lightbox-content[data-docked-controls=true]{--controls-space: 72px;width:100%}.lightbox-content[data-docked-controls=true] .lightbox-media{width:min(var(--media-width),100%,var(--available-media-height) * var(--media-ratio));margin-inline:auto}.lightbox-player-controls{container-type:inline-size;width:100%;max-width:580px;height:56px;margin:16px auto 0}.lightbox-player-controls .player-controls{position:relative;inset:auto;width:100%;opacity:1;transform:none;visibility:visible;pointer-events:auto}.lightbox-card{position:absolute;inset:0;container-type:inline-size;touch-action:pinch-zoom;-webkit-user-select:none;user-select:none}.lightbox-shadow{position:absolute;inset:0;box-shadow:0 3cqw 8cqw -1cqw #000;opacity:0;pointer-events:none}.lightbox-surface{position:absolute;inset:0;overflow:hidden;background:var(--surface)}.lightbox-surface>img,.lightbox-surface>video{display:block;width:100%;height:100%;object-fit:contain}.video-preview-frame{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.video-preview-frame>canvas{display:block;width:100%;height:100%;object-fit:contain}.animation-controls{position:fixed;top:16px;right:16px;z-index:30;width:min(300px,calc(100vw - 32px));border:1px solid var(--panel-border);border-radius:14px;background:var(--panel-bg);color:var(--panel-text);box-shadow:var(--panel-shadow);font-size:13px;pointer-events:auto}.animation-controls>summary{min-height:44px;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.animation-controls>summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:14px}.animation-controls-body{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;border-radius:0 0 14px 14px}@media(hover:hover)and (pointer:fine){.lightbox-close:hover{background:#fff3;border-color:#ffffff47}.layout-options a:hover,.playback-button:not(:disabled):hover{background:var(--chrome-hover)}.theme-switch:hover .switch-track{background:var(--switch-track-hover)}.work-filters button:hover{-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px var(--flow-glow));translate:var(--flow-nudge);animation:var(--flow-lit)}:root[data-theme=dark] .work-filters button:hover{background-size:200% 100%;transition:-webkit-text-fill-color .18s ease,var(--flow-pop)}}@media(min-width:1728px){.layout-2 .gallery{margin-top:247px}}@media(max-width:1000px){.portfolio{--space-section: 40px}.layout-1{display:block;padding:max(48px,env(safe-area-inset-top)) max(32px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(32px,env(safe-area-inset-left))}.layout-1 .intro{position:static;margin-left:0;padding-top:0;height:auto;min-height:0;max-width:520px}.layout-1 .bio{margin-top:calc(var(--space-section) - 10px);max-width:440px}.layout-1 .work-filters{--flow-nudge: 0 -2px;flex-direction:row;gap:28px}.layout-1 .gallery{margin-top:64px;column-gap:20px;row-gap:24px}.layout-2 .intro{padding-top:max(80px,env(safe-area-inset-top));width:min(65%,560px);margin-inline:auto}.layout-2 .gallery{margin:96px max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left))}.animation-controls{top:auto;bottom:calc(88px + env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}.animation-controls:not([open]){width:auto}.animation-controls-body{max-height:calc(100dvh - 180px - env(safe-area-inset-bottom) - env(safe-area-inset-top))}}@media(max-width:640px){.portfolio{--space-section: 32px}.layout-1{padding:max(40px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.layout-1 .intro{position:static;height:auto;min-height:0;padding:0 4px}.layout-1 .bio{max-width:420px}.layout-1 .gallery{margin-top:44px;gap:20px}.media-card{border-radius:9px}.layout-2 .intro{padding-top:max(56px,env(safe-area-inset-top));margin:0 max(28px,env(safe-area-inset-right)) 0 max(28px,env(safe-area-inset-left));width:auto}.layout-2 .portrait{width:80px;height:80px}.layout-2 .bio{margin-top:calc(var(--space-section) - 10px);max-width:420px;line-height:1.5}.layout-2 .gallery{margin:52px max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.layout-switcher{bottom:max(14px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));transform:none;margin-inline:auto;gap:4px;max-width:380px}.layout-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1;min-width:0}.layout-options a,.playback-button{padding-inline:8px;gap:5px}.playback-button{flex-shrink:0}.lightbox{--lightbox-padding: 16px}}@media(max-width:380px){.layout-switcher{font-size:11px}.option-number{display:none}}@media(max-height:500px){.lightbox{--lightbox-padding: 12px}.lightbox-content{--heading-space: 0px;width:100%}.lightbox-heading{position:absolute;top:var(--lightbox-top);right:max(var(--lightbox-padding),env(safe-area-inset-right));margin:0}.lightbox-content .lightbox-media{width:min(var(--media-width),100%,var(--available-media-height) * var(--media-ratio));max-width:calc(100% - 112px);margin-inline:auto}.layout-1 .intro{position:static;height:auto;min-height:0}.layout-1 .bio{margin-top:calc(var(--space-section) - 10px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}.work-filters button{animation:none!important;translate:none!important}}
