.puzzle-select{background:0 0;border:0;min-width:0;padding:0;display:grid}.puzzle-select--canvas-stage{top:var(--visual-viewport-offset-top,0px);box-sizing:border-box;width:100%;height:var(--visual-viewport-height,100dvh);overscroll-behavior:contain;padding:calc(max(8px, env(safe-area-inset-top,0px)) + 60px) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));background:#0b0f14;align-content:start;position:fixed;left:0;overflow:hidden auto}.puzzle-select-content{gap:24px;width:100%;min-width:0;max-width:960px;margin-inline:auto;display:grid}.puzzle-select-header{gap:8px;min-width:0;display:grid}.puzzle-select-header h2{color:#f4f7fa;overflow-wrap:anywhere;font-size:28px;font-weight:600;line-height:1.2}.puzzle-select-intro{color:#a9b4c0;overflow-wrap:anywhere;font-size:16px;font-weight:400;line-height:1.5}.puzzle-select-progress{color:#a9b4c0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:14px;font-weight:400;line-height:1.4}.puzzle-progress-note{color:#a9b4c0;overflow-wrap:anywhere;background:#151d28;border:1px solid #2a3441;border-radius:8px;margin:0;padding:8px 16px;font-size:14px;font-weight:400;line-height:1.4;box-shadow:inset 3px 0 #a9b4c0}.puzzle-level-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.puzzle-level-grid>li{min-width:0}.puzzle-level-card{box-sizing:border-box;color:#f4f7fa;background:#151d28;border:1px solid #2a3441;border-radius:12px;grid-template-rows:auto auto 1fr auto auto;gap:8px;min-width:0;height:100%;min-height:44px;padding:16px;text-decoration:none;display:grid}a.puzzle-level-card:hover{background:#1c2734}.puzzle-level-card[data-next-up=true]{border-color:#4da3ff;box-shadow:inset 3px 0 #4da3ff}.puzzle-level-card--locked{cursor:default;background:#0b0f14;border:1px dashed #2a3441}.puzzle-level-card-header{justify-content:space-between;align-items:center;gap:8px;min-width:0;line-height:20px;display:flex}.puzzle-level-eyebrow,.puzzle-level-tag{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:20px}.puzzle-level-eyebrow{color:#a9b4c0;font-variant-numeric:tabular-nums}.puzzle-level-tag--next{color:#4da3ff}.puzzle-level-tag--locked{color:#a9b4c0;align-items:center;gap:4px;display:inline-flex}.puzzle-level-title{color:#f4f7fa;overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:600;line-height:1.2}.puzzle-level-card--locked .puzzle-level-title{color:#a9b4c0}.puzzle-level-caption{color:#a9b4c0;overflow-wrap:anywhere;font-size:16px;font-weight:400;line-height:1.5}.puzzle-level-stars{flex-wrap:wrap;gap:16px;min-width:0;display:flex}.puzzle-level-star{color:#a9b4c0;overflow-wrap:anywhere;align-items:center;gap:4px;font-size:14px;font-weight:400;line-height:20px;display:inline-flex}.puzzle-level-card .puzzle-star-glyph,.puzzle-level-card .puzzle-lock-glyph{width:16px;height:16px;color:inherit;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.puzzle-level-card .puzzle-lock-glyph{fill:none}.puzzle-level-star[data-earned=true] .puzzle-star-glyph{color:#e6c35c}.puzzle-level-star[data-earned=true] .puzzle-level-star-label{color:#f4f7fa}.puzzle-level-footer{color:#a9b4c0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:14px;font-weight:400;line-height:20px}.puzzle-select--canvas-stage .site-footer{box-sizing:border-box;background:0 0;border:0;border-radius:0;width:100%;max-width:960px;margin:48px auto 0;padding:0}.puzzle-level-links{gap:8px;min-width:0;display:grid}.puzzle-level-links>a{justify-self:start;min-block-size:44px}.puzzle-panel{--puzzle-inset-top:max(8px, env(safe-area-inset-top,0px));--puzzle-inset-right:max(8px, env(safe-area-inset-right,0px));--puzzle-inset-bottom:max(8px, env(safe-area-inset-bottom,0px));--puzzle-inset-left:max(8px, env(safe-area-inset-left,0px))}.puzzle-panel canvas.scene-canvas{cursor:default}.puzzle-chip{box-sizing:border-box;color:#f4f7fa;font-variant-numeric:tabular-nums;background:#151d28db;border:1px solid #2a3441;border-radius:8px;padding:8px;overflow:hidden}.puzzle-meter{grid-template-rows:24px 16px;align-content:center;gap:4px;display:grid}.puzzle-meter-readout{white-space:nowrap;line-height:24px;overflow:hidden}.puzzle-meter-percent{font-size:20px;font-weight:600}.puzzle-meter-target{color:#a9b4c0;white-space:pre;font-size:14px;font-weight:400}.puzzle-meter-track{box-sizing:border-box;background:#0b0f14;border:1px solid #2a3441;border-radius:4px;align-self:center;height:8px;position:relative}.puzzle-meter-fill{background:#4da3ff;border-radius:3px;max-width:100%;height:100%}.puzzle-meter-tick{background:#a9b4c0;width:2px;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%)}.puzzle-meter-tick[data-star=true]{background:#e6c35c}.puzzle-timer{white-space:nowrap;justify-content:center;align-items:center;font-size:20px;font-weight:600;line-height:1.2;display:flex}.puzzle-result{border-radius:12px;align-content:start;gap:8px;display:grid}.puzzle-result-message{color:#a9b4c0;margin:0;font-weight:400;overflow:hidden}.puzzle-result[data-outcome] .puzzle-result-message{white-space:nowrap;font-size:20px;font-weight:600;line-height:22px}.puzzle-result-outcome,.puzzle-result-score{text-overflow:ellipsis;overflow:hidden}.puzzle-result-score{color:#f4f7fa}.puzzle-result[data-outcome=won]{box-shadow:inset 3px 0 #3ddc97}.puzzle-result[data-outcome=won] .puzzle-result-outcome{color:#3ddc97}.puzzle-result[data-outcome=lost]{box-shadow:inset 3px 0 #f07178}.puzzle-result[data-outcome=lost] .puzzle-result-outcome{color:#f07178}.puzzle-result-actions{gap:8px;display:grid}.puzzle-result-actions .product-control{box-sizing:border-box;width:100%;min-width:0;height:44px;justify-self:stretch;min-block-size:44px;padding:0 8px}.puzzle-caption{align-items:center;gap:8px;padding:0 8px;display:flex;overflow:hidden}.puzzle-caption-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:auto;min-width:0;margin:0;font-size:14px;line-height:18px;display:-webkit-box;overflow:hidden}.puzzle-caption .puzzle-caption-dismiss{box-sizing:border-box;flex:none;width:auto;min-width:64px;height:44px;min-height:44px;padding:0 12px}.puzzle-legend-slot{box-sizing:border-box;pointer-events:none;justify-content:flex-end;align-items:flex-end;width:100px;height:28px;display:flex}.puzzle-failure .puzzle-failure-heading{color:#f87171}.puzzle-failure button,.puzzle-failure details{pointer-events:auto;justify-self:center}.puzzle-hud{z-index:3;pointer-events:none;position:absolute;inset:0}.puzzle-hud>*{box-sizing:border-box;margin:0;position:absolute}.puzzle-hud .puzzle-caption button,.puzzle-hud .puzzle-result a,.puzzle-hud .puzzle-result button,.puzzle-hud .puzzle-options-slot button{pointer-events:auto}.puzzle-hud .puzzle-title{color:#f4f7fa;white-space:nowrap;text-overflow:ellipsis;text-shadow:0 1px 2px #000c;font-size:16px;font-weight:600;line-height:44px;overflow:hidden}.puzzle-hud .puzzle-transport,.puzzle-hud .puzzle-options-slot{gap:8px;display:flex}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-title{top:calc(var(--puzzle-inset-top) + 52px);left:var(--puzzle-inset-left);width:136px;height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-meter{top:calc(var(--puzzle-inset-top) + 104px);left:var(--puzzle-inset-left);width:136px;height:64px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-timer{top:calc(var(--puzzle-inset-top) + 176px);left:var(--puzzle-inset-left);width:136px;height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-caption{top:var(--puzzle-inset-top);right:calc(var(--puzzle-inset-right) + 104px);left:calc(var(--puzzle-inset-left) + 52px);height:48px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-caption-text{font-size:13px;line-height:16px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-transport{bottom:var(--puzzle-inset-bottom);left:var(--puzzle-inset-left);width:136px;height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-options-slot{top:var(--puzzle-inset-top);right:var(--puzzle-inset-right);width:96px;height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result{top:calc(var(--puzzle-inset-top) + 52px);right:var(--puzzle-inset-right);width:136px;height:220px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result:not([data-outcome]) .puzzle-result-message{font-size:14px;line-height:1.4}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result-outcome,.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result-score{display:block}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result-actions>:first-child{grid-column:1/-1}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result-actions .product-control{white-space:nowrap;font-size:14px;font-weight:600}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-legend-slot{right:var(--puzzle-inset-right);bottom:var(--puzzle-inset-bottom)}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-title{top:var(--puzzle-inset-top);left:calc(var(--puzzle-inset-left) + 52px);width:calc(100% - var(--puzzle-inset-left) - var(--puzzle-inset-right) - 156px);text-align:center;height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-options-slot{top:var(--puzzle-inset-top);right:var(--puzzle-inset-right);width:96px;height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-meter{top:calc(var(--puzzle-inset-top) + 52px);left:var(--puzzle-inset-left);width:232px;height:64px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-timer{top:calc(var(--puzzle-inset-top) + 52px);right:var(--puzzle-inset-right);width:104px;height:64px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-caption{top:calc(var(--puzzle-inset-top) + 124px);right:var(--puzzle-inset-right);left:var(--puzzle-inset-left);height:52px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-result{right:var(--puzzle-inset-right);bottom:calc(var(--puzzle-inset-bottom) + 156px);left:var(--puzzle-inset-left);height:160px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-result:not([data-outcome]) .puzzle-result-message{font-size:16px;line-height:1.5}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-result-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-transport{bottom:var(--puzzle-inset-bottom);left:var(--puzzle-inset-left);width:236px;height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-legend-slot{right:var(--puzzle-inset-right);bottom:var(--puzzle-inset-bottom)}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-meter,.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-timer,.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-caption,.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-result{flex:none;position:static}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-meter{width:232px;height:64px}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-timer{width:104px;height:64px}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-caption{width:min(100%,480px);height:52px}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-result{width:min(100%,480px);height:160px}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-result:not([data-outcome]) .puzzle-result-message{font-size:16px;line-height:1.5}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-result-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.puzzle-panel:not(.puzzle-panel--canvas-stage) .viewport-frame>.puzzle-legend-slot{z-index:2;position:absolute;bottom:8px;right:8px}.puzzle-panel canvas.scene-canvas{touch-action:none}.puzzle-panel canvas.scene-canvas:focus-visible{outline-offset:-4px;outline:2px solid #4da3ff}.puzzle-panel canvas.scene-canvas.puzzle-canvas--over-tool{cursor:grab}.puzzle-panel canvas.scene-canvas.puzzle-canvas--armed{cursor:copy}.puzzle-panel canvas.scene-canvas.puzzle-canvas--dragging{cursor:grabbing}.puzzle-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.puzzle-tray,.puzzle-selection-bar,.puzzle-transport{box-sizing:border-box;flex:none;gap:8px;display:flex}.puzzle-hud .puzzle-tray button,.puzzle-hud .puzzle-selection-bar button,.puzzle-hud .puzzle-transport button{pointer-events:auto}.puzzle-tray .product-control,.puzzle-selection-bar .product-control,.puzzle-transport .product-control{box-sizing:border-box;width:44px;min-width:0;height:44px;font-variant-numeric:tabular-nums;flex:none;min-block-size:44px;padding:0}.puzzle-valve-stepper{box-sizing:border-box;flex:none;height:44px;display:flex}.puzzle-valve-stepper .product-control:first-child{border-radius:12px 0 0 12px}.puzzle-valve-stepper .product-control:last-child{border-radius:0 12px 12px 0}.puzzle-valve-time{box-sizing:border-box;color:#f4f7fa;font-variant-numeric:tabular-nums;text-align:center;background:#151d28;border:1px solid #2a3441;border-width:1px 0;flex:1 0 56px;min-width:56px;height:44px;font-size:13px;font-weight:600;line-height:42px}.puzzle-valve-time[data-enabled=false]{color:#a9b4c0}.puzzle-panel .product-control[aria-disabled=true],.puzzle-panel .product-control[aria-disabled=true]:hover{color:#a9b4c0;cursor:default;background:#151d28;border-color:#2a3441}.puzzle-tray .puzzle-tray-item{flex:1 1 0;gap:4px;width:auto;padding:0 8px}.puzzle-tray-item[aria-pressed=true],.puzzle-tray-item[aria-pressed=true]:hover{background:#1c2734;box-shadow:inset 0 0 0 2px #f4f7fa}.puzzle-tray-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;display:none;overflow:hidden}.puzzle-tray[data-kind-count="1"] .puzzle-tray-name,.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-tray[data-kind-count="2"] .puzzle-tray-name,.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-tray[data-kind-count="2"] .puzzle-tray-name{display:block}.puzzle-tray-count{color:#f4f7fa;flex:none}.puzzle-tray-count[data-empty=true],.puzzle-tray-item[aria-disabled=true] .puzzle-tray-count{color:#a9b4c0}.puzzle-transport .product-control{gap:8px;padding:0 8px}.puzzle-transport .puzzle-play{width:96px}.puzzle-transport .puzzle-speed{width:52px}.puzzle-transport .puzzle-clear{width:72px}.puzzle-clear .puzzle-icon{display:none}.puzzle-stars{margin:0;padding:0;list-style:none;display:grid}.puzzle-star-row{color:#f4f7fa;white-space:nowrap;align-items:center;gap:4px;height:20px;font-size:14px;font-weight:400;line-height:20px;display:flex;position:relative;overflow:hidden}.puzzle-star-glyph{color:#a9b4c0;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;flex:none;width:14px;height:14px}.puzzle-star-row[data-glyph=earned] .puzzle-star-glyph,.puzzle-star-row[data-glyph=best] .puzzle-star-glyph{color:#e6c35c}.puzzle-result .puzzle-result-message--status{color:#f07178}.puzzle-result[data-deciding=true] .puzzle-result-outcome{color:#3ddc97;font-size:20px;font-weight:600;line-height:22px}.puzzle-result[data-deciding=true] .puzzle-result-pending{color:#a9b4c0;font-weight:400}.puzzle-meter-tick[data-reached=true]{box-shadow:0 0 0 2px #e6c35c66}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-tray{top:calc(var(--puzzle-inset-top) + 228px);left:var(--puzzle-inset-left);width:136px;height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-selection-bar{bottom:var(--puzzle-inset-bottom);justify-content:center;width:280px;height:44px;left:50%;transform:translate(-50%)}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-tray-item{font-size:14px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-transport,.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-selection-bar{gap:0}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-transport .product-control,.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-selection-bar .product-control{border-radius:0;width:44px;padding:0}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-transport .product-control:first-child,.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-selection-bar .product-control:first-child{border-radius:12px 0 0 12px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-transport .product-control:last-child,.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-selection-bar .product-control:last-child{border-radius:0 12px 12px 0}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-transport .product-control+.product-control,.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-selection-bar .product-control+.product-control{border-left-width:0}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-valve-stepper .product-control:last-child{border-radius:0}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-valve-stepper+.product-control{border-left-width:0}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-transport-text{display:none}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-clear .puzzle-icon{display:block}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-star-row{height:16px;font-size:12px;font-weight:600;line-height:16px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-star-glyph{width:12px;height:12px}.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result-outcome,.puzzle-panel--canvas-stage[data-puzzle-layout=landscape] .puzzle-result-pending{display:block}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-tray{bottom:calc(var(--puzzle-inset-bottom) + 52px);left:var(--puzzle-inset-left);width:calc(100% - var(--puzzle-inset-left) - var(--puzzle-inset-right) - 156px);height:44px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-tray[data-kind-count="2"] .puzzle-tray-item{grid-template-rows:20px 16px;grid-template-columns:22px minmax(0,max-content);place-content:center;place-items:center start;gap:0 4px;display:grid}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-tray[data-kind-count="2"] .puzzle-tray-item .puzzle-icon{grid-area:1/1/3}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-tray[data-kind-count="2"] .puzzle-tray-name{grid-area:1/2;font-size:14px;line-height:20px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-tray[data-kind-count="2"] .puzzle-tray-count{grid-area:2/2;font-size:12px;line-height:16px}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-selection-bar{right:var(--puzzle-inset-right);bottom:calc(var(--puzzle-inset-bottom) + 52px);grid-template-rows:44px 44px;grid-template-columns:repeat(3,44px);gap:8px;width:148px;height:96px;display:grid}.puzzle-panel--canvas-stage[data-puzzle-layout=portrait] .puzzle-valve-stepper{grid-column:1/-1}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-transport{width:236px;height:44px}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-tray{width:320px;height:44px}.puzzle-panel:not(.puzzle-panel--canvas-stage) .puzzle-selection-bar{width:300px;height:44px}.puzzle-sound-toggle[aria-pressed=true],.puzzle-sound-toggle[aria-pressed=true]:hover:not(:disabled){background:#1c2734;box-shadow:inset 0 0 0 2px #f4f7fa}.puzzle-sound-toggle[aria-disabled=true],.puzzle-sound-toggle[aria-disabled=true]:hover{color:#a9b4c0;cursor:default;background:#151d28;border-color:#2a3441}.puzzle-sound-section{gap:8px;min-width:0;display:grid}.puzzle-sound-section h3{margin:0;font-size:16px;font-weight:600;line-height:1.4}.puzzle-sound-hint,.puzzle-sound-note{color:#a9b4c0;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:400;line-height:1.4}.control-row>.puzzle-sound-section{flex:100%}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-y-0{inset-block:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-24{margin-top:calc(var(--spacing) * 24)}.mt-auto{margin-top:auto}.mb-24{margin-bottom:calc(var(--spacing) * 24)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-1{height:var(--spacing)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-auto{height:auto}.h-full{height:100%}.h-svh{height:100svh}.max-h-\[80vh\]{max-height:80vh}.min-h-0{min-height:0}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.self-center{align-self:center}.overflow-auto{overflow:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius-md)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-b-lg{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-destructive{background-color:var(--destructive)}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.\[bench\:tesla\]{bench:tesla}.paused{animation-play-state:paused}.running{animation-play-state:running}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:0}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:0}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius-lg)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:top-\[calc\(100\%-1px\)\]:after{content:var(--tw-content);top:calc(100% - 1px)}.after\:right-\[calc\(100\%-1px\)\]:after{content:var(--tw-content);right:calc(100% - 1px)}.after\:bottom-\[calc\(100\%-1px\)\]:after{content:var(--tw-content);bottom:calc(100% - 1px)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:left-\[calc\(100\%-1px\)\]:after{content:var(--tw-content);left:calc(100% - 1px)}.after\:h-1\/2:after{content:var(--tw-content);height:50%}.after\:w-1\/2:after{content:var(--tw-content);width:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:bg-inherit:after{content:var(--tw-content);background-color:inherit}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-\[invalid\]\:border-destructive[aria-invalid]{border-color:var(--destructive)}.aria-\[invalid\]\:ring-destructive\/20[aria-invalid]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-\[invalid\]\:ring-destructive\/20[aria-invalid]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[transitioning\]\:transition-colors[data-transitioning]{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[transitioning\]\:transition-transform[data-transitioning]{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.data-\[transitioning\]\:duration-500[data-transitioning]{--tw-duration:.5s;transition-duration:.5s}.data-\[transitioning\]\:ease-\[cubic-bezier\(0\.32\,0\.72\,0\,1\)\][data-transitioning]{--tw-ease:cubic-bezier(.32,.72,0,1);transition-timing-function:cubic-bezier(.32,.72,0,1)}@media (width>=40rem){.sm\:flex{display:flex}.sm\:max-w-sm{max-width:var(--container-sm)}}@media (width>=48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:0}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:var(--radius-xl)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}}@media (prefers-color-scheme:dark){.dark\:border-input{border-color:var(--input)}.dark\:bg-destructive\/60{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-destructive\/60{background-color:color-mix(in oklab, var(--destructive) 60%, transparent)}}.dark\:bg-input\/30{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\:bg-input\/30{background-color:color-mix(in oklab, var(--input) 30%, transparent)}}}@media (hover:hover){@media (prefers-color-scheme:dark){.hover\:dark\:bg-accent\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:dark\:bg-accent\/50:hover{background-color:color-mix(in oklab, var(--accent) 50%, transparent)}}.hover\:dark\:bg-input\/50:hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.hover\:dark\:bg-input\/50:hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}}}@media (prefers-color-scheme:dark){.focus-visible\:dark\:ring-destructive\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:dark\:ring-destructive\/40:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.aria-\[invalid\]\:dark\:ring-destructive\/40[aria-invalid]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-\[invalid\]\:dark\:ring-destructive\/40[aria-invalid]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>button\]\:hidden>button{display:none}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:#0b0f14;--foreground:#f4f7fa;--primary:#4da3ff;--primary-foreground:#0b0f14;--secondary:#151d28;--secondary-foreground:#f4f7fa;--muted:#1c2734;--muted-foreground:#a9b4c0;--accent:#1c2734;--accent-foreground:#f4f7fa;--destructive:#e5484d;--border:#2a3441;--input:#2a3441;--ring:#4da3ff;--sidebar:#151d28;--sidebar-foreground:#f4f7fa;--sidebar-primary:#4da3ff;--sidebar-primary-foreground:#0b0f14;--sidebar-accent:#132844;--sidebar-accent-foreground:#f4f7fa;--sidebar-border:#2a3441;--sidebar-ring:#4da3ff}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4f7fa;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;background:#0b0f14;font-family:ui-sans-serif,system-ui,sans-serif;font-size:16px;font-weight:400}*{box-sizing:border-box}html,body,#root{min-width:0;min-height:100%;margin:0}body{background:#0b0f14;min-height:100vh}.app-shell{gap:var(--space-lg);width:auto;min-width:0;max-width:none;padding:var(--space-lg);flex:auto;margin:0;display:grid}button,a,output{font:inherit}.site-header{top:var(--space-md);z-index:10;align-items:center;gap:var(--space-lg);min-width:0;padding:var(--space-md) var(--space-lg);background:#151d28;border:1px solid #2a3441;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;display:grid;position:sticky;box-shadow:0 12px 28px #0000003d}html[data-demo-media-capture=true] .site-header,html[data-demo-media-capture=true] .demo-sidebar,html[data-demo-media-capture=true] [data-slot=sidebar-gap],html[data-demo-media-capture=true] [data-slot=sidebar-trigger],html[data-demo-media-capture=true] .site-footer,html[data-demo-media-capture=true] [data-slot=drawer-overlay],html[data-demo-media-capture=true] .canvas-hud-stats,html[data-demo-media-capture=true] .canvas-hud-title,html[data-demo-media-capture=true] .canvas-hud-bottom,html[data-demo-media-capture=true] .canvas-hud-corner,html[data-demo-media-capture=true] .scale-legend{visibility:hidden}.site-header h1{min-width:0}.site-header-actions{justify-content:flex-end;align-items:center;gap:var(--space-md);flex-wrap:nowrap;display:flex}.site-header-source{color:#f4f7fa;background:#151d28;border:1px solid #2a3441;border-radius:12px;justify-content:center;align-items:center;block-size:44px;inline-size:44px;text-decoration:none;display:inline-flex}.site-header-source:hover{background:#1c2734}.site-header-source:focus-visible{outline-offset:2px;outline:2px solid #4da3ff}.site-header-source svg{width:22px;height:22px;display:block}.app-body{min-width:0;display:block}.demo-sidebar-content{padding:var(--space-md)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-corvu-drawer-content],[data-slot=drawer-overlay]{transition:none}.demo-nav-list{gap:var(--space-xs);padding:0;list-style:none;display:grid}.demo-nav-link{gap:var(--space-xs);min-width:0;padding:var(--space-sm) var(--space-md);color:#f4f7fa;border:1px solid #0000;border-radius:8px;text-decoration:none;display:grid}.demo-nav-link:hover{background:#1c2734;border-color:#2a3441}.demo-nav-link[aria-current=page]{background:#132844;border-color:#4da3ff;box-shadow:inset 3px 0 #4da3ff}.puzzles-navigation{padding-bottom:var(--space-md);margin-bottom:var(--space-md);border-bottom:1px solid #2a3441}.puzzles-nav-link{box-sizing:border-box;min-block-size:44px;padding:var(--space-sm) var(--space-md);color:#f4f7fa;border:1px solid #0000;border-radius:8px;align-items:center;font-size:16px;font-weight:600;line-height:1.4;text-decoration:none;display:flex}.puzzles-nav-link:hover{background:#1c2734;border-color:#2a3441}.puzzles-nav-link[aria-current]{background:#132844;border-color:#4da3ff;box-shadow:inset 3px 0 #4da3ff}.demo-nav-title{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.4}.demo-nav-description{overflow-wrap:anywhere;color:#a9b4c0;font-size:13px;line-height:1.4}.demo-nav-preview{width:100%;aspect-ratio:16/9;background:#071018;border:1px solid #2a3441;border-radius:8px;max-block-size:72px;display:block;overflow:hidden}.demo-nav-preview svg{width:100%;height:100%;display:block}.demo-nav-preview-caption{color:#a9b4c0;font-size:14px;font-weight:400;line-height:1.4}.playground-main{gap:var(--space-xl);width:100%;min-width:0;display:grid}h1,h2,p,ul,dl,dd,figure{margin:0}h1{overflow-wrap:anywhere;font-size:28px;font-weight:600;line-height:1.2}h2{font-size:20px;font-weight:600;line-height:1.3}.fallback-copy{color:#a9b4c0;font-size:16px;font-weight:400;line-height:1.5}.player-panel,.fallback-panel,.site-footer{gap:var(--space-lg);min-width:0;padding:var(--space-lg);background:#151d28;border:1px solid #2a3441;border-radius:12px;display:grid}.status-row{align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;display:flex}.session-status{align-items:center;gap:var(--space-xs);color:#f4f7fa;min-width:0;font-size:16px;font-weight:600;line-height:1.5;display:inline-flex}.status-dot{width:var(--space-sm);height:var(--space-sm);background:#a9b4c0;border-radius:50%;flex:none}.session-status--playing .status-dot{background:#4da3ff}.session-status--paused,.session-status--loading{color:#a9b4c0}.session-status--failed{color:#f87171}.session-status--failed .status-dot{background:#f87171}.player-identity{gap:var(--space-xs);min-width:0;display:grid}.site-footer-provenance>div{min-width:0}.player-identity dt,.site-footer-provenance dt{margin-bottom:var(--space-xs);color:#a9b4c0;font-size:14px;font-weight:600;line-height:1.4}.player-identity dd,.site-footer-provenance dd{overflow-wrap:anywhere;color:#f4f7fa;font-variant-numeric:tabular-nums;font-size:14px;font-weight:400;line-height:1.4}.error-message{gap:var(--space-sm);color:#f87171;font-size:16px;line-height:1.5;display:grid}.failure-debug{color:#a9b4c0;font-size:14px;line-height:1.4}.failure-debug summary{cursor:pointer;color:#e7ecf1;min-height:44px}.failure-debug pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.45;overflow:auto}figure{gap:var(--space-sm);min-width:0;display:grid}.player-panel figure{gap:var(--space-lg)}.viewport-frame{isolation:isolate;background:#071018;border:1px solid #2a3441;border-radius:12px;min-width:0;position:relative;overflow:hidden}:-webkit-any(.viewport-frame:fullscreen,.viewport-frame:-webkit-full-screen){border:0;border-radius:0;width:100%;height:100%;display:grid}:is(.viewport-frame:fullscreen,.viewport-frame:fullscreen){border:0;border-radius:0;width:100%;height:100%;display:grid}:-webkit-any(.viewport-frame:fullscreen canvas,.viewport-frame:-webkit-full-screen canvas){aspect-ratio:auto;width:100%;max-width:none;height:100%}:is(.viewport-frame:fullscreen canvas,.viewport-frame:fullscreen canvas){aspect-ratio:auto;width:100%;max-width:none;height:100%}canvas{aspect-ratio:16/9;touch-action:none;background:#071018;width:100%;max-width:100%;display:block}canvas.scene-canvas{z-index:1;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:relative}canvas.scene-canvas[data-particle-surface=webgl],canvas.scene-canvas[data-particle-surface=webgl-water]{background:0 0}canvas.particle-surface{z-index:0;aspect-ratio:auto;pointer-events:none;background:0 0;width:100%;max-width:none;height:100%;position:absolute;inset:0}canvas.particle-surface[data-active=false]{visibility:hidden}canvas.canvas-interactive{cursor:crosshair}canvas.canvas-panning{cursor:grab}canvas.canvas-panning:active{cursor:grabbing}.viewport-frame>.scale-legend{z-index:2;position:absolute;bottom:60px;right:8px}.scale-legend{pointer-events:none;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:2px;display:flex}.scale-legend-label{color:#f4f7fa;font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:0 0 2px #0b0f14,0 1px 1px #0b0f14,1px 0 1px #0b0f14,-1px 0 1px #0b0f14;font-size:12px;font-weight:600;line-height:1.2}.scale-legend-bar{box-sizing:border-box;filter:drop-shadow(0 0 1px #0b0f14)drop-shadow(0 0 1px #0b0f14);border-bottom:2px solid #f4f7fa;border-left:2px solid #f4f7fa;border-right:2px solid #f4f7fa;height:8px}.viewport-tools{z-index:2;gap:4px;display:flex;position:absolute;bottom:8px;right:8px}.viewport-tools button{width:44px;min-width:44px;padding:0}.viewport-tools button[aria-pressed=true]{color:#0b0f14;background:#4da3ff;border-color:#4da3ff}.viewport-tools svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.empty-state{z-index:2;align-content:center;gap:var(--space-sm);padding:var(--space-md);color:#a9b4c0;text-align:center;pointer-events:none;display:grid;position:absolute;inset:0}.empty-state strong{color:#f4f7fa;font-size:20px;font-weight:600;line-height:1.3}.empty-state span{font-size:16px;line-height:1.5}figcaption,.scene-interaction-hint{color:#a9b4c0;font-size:14px;font-weight:400;line-height:1.4}.rendered-particle-control{align-items:center;gap:var(--space-sm);color:#f4f7fa;min-block-size:44px;font-size:16px;font-weight:600;display:inline-flex}.rendered-particle-control input{width:6.5rem;min-block-size:44px;padding:0 var(--space-sm);color:#f4f7fa;font:inherit;background:#0b0f14;border:1px solid #2a3441;border-radius:8px;font-weight:400}.playback-stack{gap:var(--space-sm);justify-items:start;display:grid}.control-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.render-mode-control,.stroke-width-control,.rendered-particle-control,.debug-toggle,.player-check{align-items:center;gap:var(--space-sm);color:#f4f7fa;min-block-size:44px;font-size:16px;font-weight:600;line-height:1.5;display:inline-flex}.stroke-width-control input[type=range]{accent-color:#39d3c7;width:8rem}.stroke-width-control output{font-variant-numeric:tabular-nums;min-width:3.5ch;font-weight:400}.particle-cap-note{color:#a9b4c0;margin:0;font-size:14px;font-weight:400;line-height:1.4}.debug-toggle input,.player-check input{accent-color:#4da3ff;width:1.1rem;height:1.1rem}.tilt-pane,.svg-export-pane{gap:var(--space-sm);min-width:0;padding:var(--space-md);background:#101820;border:1px solid #2a3441;border-radius:12px;display:grid}.tilt-pane h3,.svg-export-pane h3{margin:0;font-size:16px;font-weight:600;line-height:1.4}.tilt-debug{color:#c5d0da;font-variant-numeric:tabular-nums;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:400;line-height:1.4}.tilt-debug-problem{color:#f07178}.svg-export-controls{align-items:end;gap:var(--space-sm);flex-wrap:wrap;display:flex}.svg-export-seconds{gap:var(--space-sm);color:#f4f7fa;font-size:16px;font-weight:600;line-height:1.5;display:grid}.svg-export-seconds input{width:5.5rem;min-block-size:44px;padding:0 var(--space-sm);color:#f4f7fa;font:inherit;background:#0b0f14;border:1px solid #2a3441;border-radius:8px;font-weight:400}.svg-export-progress{accent-color:#4da3ff;width:100%;height:.75rem}.svg-export-hint,.svg-export-status{color:#c5d0da;margin:0;font-size:14px;font-weight:400;line-height:1.4}.svg-export-problem{color:#f07178;margin:0;font-size:14px;font-weight:400;line-height:1.4}.gravity-arrow{z-index:1;pointer-events:none;color:#f4f7fa;background:#071018e0;border:1px solid #2a3441;border-radius:8px;width:48px;height:48px;position:absolute;top:8px;right:8px}.gravity-arrow svg{width:100%;height:100%;display:block}.gravity-arrow line{stroke:currentColor;stroke-linecap:round}.gravity-arrow polygon{fill:currentColor}.debug-readout{top:var(--space-sm);left:var(--space-sm);z-index:1;width:min(220px, calc(100% - 2 * var(--space-sm)));padding:var(--space-sm);color:#f4f7fa;font-variant-numeric:tabular-nums;pointer-events:none;background:#071018e0;border:1px solid #2a3441;border-radius:8px;flex-direction:column;gap:8px;margin:0;font-size:14px;line-height:1.3;display:flex;position:absolute}.debug-readout dl{gap:2px var(--space-sm);grid-template-columns:auto auto;margin:0;display:grid}.debug-readout dt{color:#a9b4c0}.debug-readout dd{text-align:right;margin:0}.fps-meter{gap:2px;display:grid}.fps-meter-label{justify-content:space-between;gap:var(--space-sm);color:#a9b4c0;display:flex}.fps-meter-value--good{color:#3ddc97}.fps-meter-value--fair{color:#e6c35c}.fps-meter-value--poor{color:#f07178}.fps-graph-frame{height:36px;position:relative}.fps-graph{width:calc(100% - 18px);height:100%;display:block}.fps-baseline{color:#8aa0b4;font-size:10px;line-height:1;position:absolute;right:0}.product-control,button{min-block-size:44px;padding:var(--space-sm) var(--space-md);color:#f4f7fa;cursor:pointer;touch-action:manipulation;background:#151d28;border:1px solid #2a3441;border-radius:12px;justify-content:center;justify-self:start;align-items:center;font-size:16px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.product-control:hover:not(:disabled),button:hover:not(:disabled){background:#1c2734}.product-control--accent{color:#0b0f14;background:#4da3ff;border-color:#4da3ff}.product-control--accent:hover:not(:disabled){background:#2f8cff;border-color:#2f8cff}.product-control:focus-visible,button:focus-visible,select:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #4da3ff}.product-control:disabled,button:disabled{color:#a9b4c0;cursor:default;background:#151d28;border-color:#2a3441}select{min-block-size:44px;padding:var(--space-sm) var(--space-md);color:#f4f7fa;background:#151d28;border:1px solid #2a3441;border-radius:12px;font-size:16px;font-weight:400;line-height:1.5}select:hover:not(:disabled){background:#1c2734}.scene-credits{gap:var(--space-sm);display:grid}.scene-credits-heading{color:#f4f7fa;margin:0;font-size:14px;font-weight:600;line-height:1.4}.scene-credits-list{gap:var(--space-md);display:grid}.scene-credits-list a{color:#f4f7fa}.site-footer-summary{color:#a9b4c0;font-size:14px;font-weight:400;line-height:1.4}.site-footer-identity{gap:var(--space-sm);color:#a9b4c0;flex-wrap:wrap;font-size:14px;font-weight:400;line-height:1.4;display:flex}.site-footer-identity a{color:#f4f7fa}.site-footer-provenance{gap:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.site-footer-provenance a{color:#f4f7fa}.mobile-demos-trigger{flex:none;block-size:44px;min-block-size:44px;inline-size:44px;min-inline-size:44px;padding:0;display:inline-flex}.drawer-dismiss{min-block-size:44px;margin:var(--space-md);padding-inline:var(--space-md);color:#f4f7fa;font:inherit;background:#151d28;border:1px solid #2a3441;border-radius:8px;justify-content:center;align-self:flex-start;align-items:center;margin-block-end:0;font-size:16px;font-weight:600;display:inline-flex}.scene-controls{gap:var(--space-md);flex-wrap:wrap;display:flex}.scene-control{gap:var(--space-sm);justify-items:start;display:grid}.scene-control-label{gap:var(--space-sm);color:#f4f7fa;font-size:16px;font-weight:600;line-height:1.5;display:grid}.scene-control-readout{justify-content:space-between;gap:var(--space-sm);width:16rem;max-width:100%;display:flex}.scene-control-readout output{font-variant-numeric:tabular-nums;font-weight:400}.scene-control-slider{--range-thumb:16px;width:16rem;max-width:100%}.scene-control-range{width:100%;accent-color:#4da3ff;background:0 0;min-block-size:44px;margin:0}.scene-control-range:focus-visible{outline-offset:4px;outline:2px solid #4da3ff}.scene-control-range:disabled{opacity:.55}.scene-control-ticks{height:1.75rem;margin-top:-.35rem;position:relative}.scene-control-tick{color:#a9b4c0;font-variant-numeric:tabular-nums;justify-items:center;gap:2px;font-size:12px;font-weight:400;line-height:1.2;display:grid;position:absolute;top:0;transform:translate(-50%)}.scene-control-tick-mark{background:currentColor;width:1px;height:6px}.scene-control-spinner{align-items:center;gap:var(--space-sm);width:16rem;max-width:100%;display:flex}.scene-control-spinner .scene-control-range{flex:1;width:auto;min-width:0}.scene-control-step{width:44px;padding:0}.construction-reset-hint{color:#a9b4c0;font-size:14px;font-weight:400;line-height:1.4}@media (width<=768px){.app-shell{padding:var(--space-md)}.site-header{top:var(--space-sm)}.app-body{display:block}}@media (width<=480px){.site-header{gap:var(--space-sm);padding:var(--space-sm) var(--space-md)}.site-header h1{font-size:22px}.site-header-actions button{width:auto}.scene-control,.scene-control-label{width:100%}figcaption{overflow-wrap:break-word}.playground-main{gap:var(--space-md)}.player-panel,.fallback-panel,.site-footer{gap:var(--space-md);padding:var(--space-md)}.status-row,.scene-controls,.scene-credits-list,.site-footer-identity,.site-footer-provenance{flex-direction:column;grid-template-columns:minmax(0,1fr)}.product-control,button,select,.scene-control-range,.scene-control-readout,.scene-control-slider{justify-self:stretch;width:100%}.viewport-tools button,.mobile-demos-trigger{width:44px}}html[data-canvas-stage=true],html[data-canvas-stage=true] body,html[data-canvas-stage=true] #root{height:var(--visual-viewport-height,100dvh);max-height:var(--visual-viewport-height,100dvh);overscroll-behavior:none;overflow:hidden}html[data-canvas-stage=true] body{min-height:0}html[data-canvas-stage=true] [data-slot=sidebar-wrapper],html[data-canvas-stage=true] .app-shell,html[data-canvas-stage=true] .app-body,html[data-canvas-stage=true] .playground-main{height:100%;min-height:0;overflow:hidden}html[data-canvas-stage=true] .app-shell,html[data-canvas-stage=true] .playground-main,html[data-canvas-stage=true] .player-panel--canvas-stage{background:0 0;border:0;border-radius:0;gap:0;padding:0}html[data-canvas-stage=true] .site-header--canvas-stage{z-index:30;top:max(8px, env(safe-area-inset-top,0px));left:max(8px, env(safe-area-inset-left,0px));width:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:0 0;border:0;border-radius:0;margin:0;padding:0;position:fixed}html[data-canvas-stage=true] .site-header--canvas-stage .site-header-actions,html[data-canvas-stage=true] .site-header--canvas-stage .mobile-demos-trigger{pointer-events:auto}html[data-canvas-stage=true] .viewport-frame{top:var(--visual-viewport-offset-top,0px);width:100%;height:var(--visual-viewport-height,100dvh);border:0;border-radius:0;display:block;position:fixed;left:0}html[data-canvas-stage=true] .viewport-frame canvas{aspect-ratio:auto;width:100%;max-width:none;height:100%}html[data-canvas-stage=true] .canvas-hud-stats .debug-readout{z-index:auto;width:min(220px, calc(100vw - max(16px, env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px))));min-height:0;max-height:calc(var(--visual-viewport-height,100dvh) - max(8px, env(safe-area-inset-top,0px)) - 52px - 88px - 88px - max(8px, env(safe-area-inset-bottom,0px)));overscroll-behavior:contain;pointer-events:auto;position:static;top:auto;left:auto;overflow:auto}html[data-canvas-stage=true] .canvas-hud-stats--with-slider .debug-readout{max-height:calc(var(--visual-viewport-height,100dvh) - max(8px, env(safe-area-inset-top,0px)) - 52px - 88px - 208px - max(8px, env(safe-area-inset-bottom,0px)))}.canvas-hud-corner{z-index:3;top:max(8px, env(safe-area-inset-top,0px));right:max(8px, env(safe-area-inset-right,0px));pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute}.canvas-hud-corner .canvas-controls-trigger,.canvas-hud-corner .canvas-accelerometer-toggle{pointer-events:auto;position:static}.canvas-hud-corner .gravity-arrow{position:static}.canvas-accelerometer-toggle[aria-pressed=true],.canvas-debug-toggle[aria-pressed=true]{color:#0b0f14;background:#4da3ff;border-color:#4da3ff}.canvas-accelerometer-toggle[aria-pressed=true]:hover:not(:disabled),.canvas-debug-toggle[aria-pressed=true]:hover:not(:disabled){color:#0b0f14;background:#2f8cff;border-color:#2f8cff}.canvas-hud-title{z-index:2;top:max(8px, env(safe-area-inset-top,0px));right:calc(max(8px, env(safe-area-inset-right,0px)) + 52px);left:calc(max(8px, env(safe-area-inset-left,0px)) + 52px);color:#f4f7fa;text-shadow:0 1px 2px #000c;pointer-events:none;align-items:baseline;gap:8px;min-width:0;display:flex;position:absolute}.canvas-hud-title h2{text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.canvas-hud-title .session-status{flex:none;min-width:5.5rem;font-size:14px}.canvas-hud-stats{z-index:3;top:calc(max(8px, env(safe-area-inset-top,0px)) + 52px);left:max(8px, env(safe-area-inset-left,0px));pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute}.canvas-hud-stats .canvas-debug-toggle{pointer-events:auto}.canvas-hud-stats .canvas-fps{min-width:4.75rem}.canvas-fps{z-index:auto;color:#0b0f14;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:8px;align-items:center;min-height:28px;margin:0;padding:4px 10px;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex;position:static}.canvas-fps[data-fps-tone=good]{background:#3ddc97}.canvas-fps[data-fps-tone=fair]{background:#e6c35c}.canvas-fps[data-fps-tone=poor]{background:#f07178}.canvas-hud-bottom{z-index:2;right:max(8px, env(safe-area-inset-right,0px));bottom:max(8px, env(safe-area-inset-bottom,0px));left:max(8px, env(safe-area-inset-left,0px));pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:4px;display:flex;position:absolute}.canvas-hud-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px;display:flex}.canvas-hud-slider{pointer-events:auto;width:min(22rem,100%)}.canvas-hud-bottom .canvas-hud-slider{background:#151d28db;border-radius:8px;width:min(22rem,100% - 8px);margin:4px 4px 0;padding:4px}.canvas-hud-slider .scene-controls{flex-direction:column;gap:0}.canvas-hud-slider .scene-control,.canvas-hud-slider .scene-control-readout,.canvas-hud-slider .scene-control-slider{width:100%}.canvas-hud-slider .scene-control,.canvas-hud-slider .scene-control-label{gap:0}.canvas-hud-slider .scene-control-label{font-size:13px;line-height:1.15}.canvas-hud-slider .scene-control-range{min-block-size:24px}.canvas-hud-slider .scene-control-spinner{width:100%}.canvas-hud-slider .scene-control-spinner .scene-control-range{min-block-size:44px}.canvas-hud-slider .scene-control-ticks{height:.85rem;margin-top:-.15rem}.canvas-hud-slider .scene-control-tick{gap:0;font-size:10px;line-height:1}.canvas-hud-slider .scene-control-tick-mark{height:3px}.canvas-hud-leading{pointer-events:none;align-items:flex-end;gap:4px;display:flex}.canvas-sliders-toggle{pointer-events:auto}.canvas-hud-trailing .scale-legend{width:100px}.canvas-hud-trailing{pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto;display:flex}.canvas-transport,.canvas-hud-bottom .viewport-tools{pointer-events:auto;position:static}.hud-button,.canvas-controls-trigger,.canvas-hud-bottom .viewport-tools button{width:44px;min-width:44px;height:44px;padding:0}.hud-button svg,.canvas-controls-trigger svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.canvas-accelerometer-toggle svg{stroke-width:1px;width:28.4167px}.canvas-debug-toggle svg{stroke-width:1.5px}.canvas-controls-sheet{max-height:min(80dvh, calc(var(--visual-viewport-height,80dvh) - 16px));color:#f4f7fa;padding:var(--space-md);padding-bottom:max(var(--space-md), env(safe-area-inset-bottom,0px));background:#151d28;border-color:#2a3441;overflow:visible}.canvas-controls-scroll{overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.canvas-controls-body{gap:var(--space-md);min-width:0;padding-top:var(--space-md);display:grid}.canvas-controls-sheet .site-footer{background:0 0;border:0;border-radius:0;padding:0}.fallback-panel--canvas-stage{top:var(--visual-viewport-offset-top,0px);width:100%;height:var(--visual-viewport-height,100dvh);padding:calc(max(8px, env(safe-area-inset-top,0px)) + 60px) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));border:0;border-radius:0;align-content:center;justify-items:center;position:fixed;left:0}
