/* Photographic device artwork; only the key faces, text and glow layers move. */
.dm-root{display:none}
.dm-dock-slot{display:block;min-width:0;margin-top:var(--dm-space-above,0px);margin-bottom:var(--dm-space-below,0px)}
.dm-scope,.dm-scope *{box-sizing:border-box}
.dm-dock{position:relative;width:var(--dm-width,100%);aspect-ratio:1648/2048;margin-inline:auto}
.dm-layer{position:fixed;inset:0;pointer-events:none;z-index:35;padding-left:calc(14px + env(safe-area-inset-left,0px));padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
.dm-dock-slot[hidden],.dm-layer[hidden],.dm-float[hidden]{display:none!important}
.dm-float{width:100%;transform-origin:0 0;pointer-events:auto;isolation:isolate}
.dm-layer>.dm-float,.dm-dialog>.dm-float{position:fixed}
.dm-drag{position:relative;filter:var(--dm-object-shadow,none);transform:translate3d(var(--dm-drag-x,0px),var(--dm-drag-y,0px),0)}
html[data-dm-mobile=true] .dm-drag{filter:var(--dm-mobile-object-shadow,var(--dm-object-shadow,none))}
.dm-device{display:block;position:relative;width:100%;aspect-ratio:1648/2048;container-type:inline-size;touch-action:pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;outline:none}
/* The outer device takes programmatic focus; it must not inherit the theme ring. */
.dm-device:focus,.dm-device:focus-visible{outline:none;box-shadow:none}
.dm-device.is-dragging{cursor:grabbing}
.dm-device img{display:block;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.dm-art{width:100%;height:100%;object-fit:contain}
.dm-screen,.dm-lcd-glow{position:absolute;left:23.2%;top:27.6%;width:54.6%;height:12.7%;border-radius:3%}
.dm-lcd-glow{pointer-events:none;box-shadow:0 0 2.4cqw .7cqw var(--dm-lcd-color,#7fff00);background:var(--dm-lcd-color,#7fff00);opacity:calc(var(--dm-lcd-glow,.35) * .22);mix-blend-mode:screen}
.dm-screen{color:var(--dm-text,#173900);font-family:var(--dm-font),monospace;letter-spacing:var(--dm-letter-spacing,0);font-weight:600;line-height:1;text-shadow:0 .08cqw .07cqw #4b790944;overflow:hidden;display:flex;align-items:center;pointer-events:none;isolation:isolate}
.dm-idle-window{position:absolute;inset:0;display:flex;align-items:center;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.dm-idle-track{display:block;flex:none;white-space:nowrap;font-size:var(--dm-idle-size,6cqw);line-height:1.1}
.dm-screen-title{position:absolute;inset:8% 3%;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-size:var(--dm-title-size,6cqw);line-height:1.1;opacity:0;visibility:hidden}
.dm-device[data-lcd=title] .dm-screen-title{opacity:1;visibility:visible}
.dm-device[data-lcd=title] .dm-idle-window{opacity:0;visibility:hidden}
.dm-device[data-lcd=search] .dm-idle-window,.dm-device[data-lcd=search] .dm-screen-title{opacity:0;visibility:hidden}
.dm-search{position:absolute;inset:8% 3%;pointer-events:auto;display:flex;align-items:center;}
.dm-search[hidden],.dm-mini-restore[hidden]{display:none!important}
.dm-search input,.dm-search input:focus,.dm-search input:focus-visible{appearance:none;-webkit-appearance:none;min-width:0;width:100%;height:100%;padding:0;margin:0;border:0;outline:none;box-shadow:none;border-radius:0;background:transparent;color:inherit;caret-color:currentColor;font:inherit;font-size:max(16px,5cqw);line-height:1.1;letter-spacing:inherit;user-select:text;-webkit-user-select:text;touch-action:manipulation}
.dm-search input::placeholder{color:inherit;opacity:.65}
.dm-search input::-webkit-search-cancel-button{appearance:none}
.dm-mini-restore,.dm-mini-restore:focus,.dm-mini-restore:focus-visible{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;outline:none;box-shadow:none;cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent}
.dm-device.is-mini .dm-key{pointer-events:none}
.dm-device.is-mini:has(.dm-mini-restore:focus-visible) .dm-art{filter:brightness(1.1)}
.dm-led{position:absolute;left:70.35%;top:18.75%;width:3.7%;aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ffd0a077 0%,var(--dm-led-color,#ff1408) 35%,transparent 72%);box-shadow:0 0 1.5cqw .5cqw var(--dm-led-color,#ff1408);opacity:var(--dm-led-glow,.65)}
.dm-device[data-led-pulse=true] .dm-led{animation:dm-led-flash var(--dm-led-period,1400ms) linear infinite}
.dm-device[data-effects-paused=true] .dm-led{animation-play-state:paused}
@keyframes dm-led-flash{0%,42%,100%{opacity:0}8%,34%{opacity:var(--dm-led-glow,.65)}}
.dm-key{--dm-key-x:22.39%;--dm-key-y:44.73%;position:absolute;left:var(--dm-key-x);top:var(--dm-key-y);width:17.96%;height:14.45%;padding:0;margin:0;border:0;border-radius:17%;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:inherit;outline:none;text-decoration:none}
.dm-key[data-slot="2"],.dm-key[data-slot="5"],.dm-key[data-slot="8"]{--dm-key-x:41.32%}
.dm-key[data-slot="3"],.dm-key[data-slot="6"],.dm-key[data-slot="9"]{--dm-key-x:60.07%}
.dm-key[data-slot="4"],.dm-key[data-slot="5"],.dm-key[data-slot="6"]{--dm-key-y:60.05%}
.dm-key[data-slot="7"],.dm-key[data-slot="8"],.dm-key[data-slot="9"]{--dm-key-y:75.49%}
.dm-key::before{content:"";position:absolute;inset:calc(-1 * min(2%,var(--dm-hit-pad,2%)));border-radius:18%;cursor:pointer}
.dm-key-socket{position:absolute;inset:1%;border-radius:17%;background:#080a08;box-shadow:inset 0 .3cqw .6cqw #000;pointer-events:none}
.dm-key-cap{position:absolute;inset:0;overflow:hidden;border-radius:17%;transform-origin:center;transform:translateY(0) scale(1);transition:transform 95ms cubic-bezier(.2,.8,.2,1);pointer-events:none}
.dm-key-art{position:absolute;width:556.79%;height:692.04%;left:calc(var(--dm-key-x) * -5.5679);top:calc(var(--dm-key-y) * -6.9204)}
.dm-custom-key{width:100%;height:100%;object-fit:contain}
.dm-key.is-preview .dm-key-cap{transform:translateY(var(--dm-hover-depth,1.5%)) scale(.987)}
.dm-key.is-pressed .dm-key-cap{transform:translateY(var(--dm-press-depth,5%)) scale(.958);transition-duration:var(--dm-press-ms,75ms)}
.dm-key:focus,.dm-key:focus-visible{outline:none;box-shadow:none}
html[data-dm-mobile=true] .dm-key.is-preview .dm-key-cap{filter:brightness(1.15) drop-shadow(0 0 .7cqw #a8ff5066)}
.dm-key[aria-disabled=true]{cursor:default}
.dm-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dm-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:transparent;color:inherit;overflow:hidden;isolation:isolate}
.dm-dialog:not([open]){display:none!important}
.dm-dialog::backdrop{background:transparent}
.dm-backdrop{position:fixed;inset:0;background:rgb(0 0 0 / var(--dm-dim,.7));backdrop-filter:blur(var(--dm-blur,8px));-webkit-backdrop-filter:blur(var(--dm-blur,8px));opacity:0}
.dm-opener{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--dm-opener-width,124px);min-height:44px;padding:0;margin:0;border:0;border-radius:0;background:transparent;cursor:pointer;vertical-align:middle;-webkit-tap-highlight-color:transparent;line-height:1;isolation:isolate;touch-action:manipulation}
.dm-opener-art{display:block;width:100%;height:auto;max-height:80px;object-fit:contain;filter:drop-shadow(0 0 2px #7fff0033);pointer-events:none}
.dm-opener-title{position:absolute;left:var(--dm-opener-text-x,50%);top:var(--dm-opener-text-y,49%);width:var(--dm-opener-text-width,82%);transform:translate(-50%,-50%);font-family:var(--dm-font),monospace;font-size:var(--dm-opener-font,19px);font-weight:600;color:var(--dm-text,#173900);white-space:nowrap;text-align:center;overflow:hidden;pointer-events:none}
.dm-opener:active{transform:translateY(1px) scale(.98)}
.dm-opener:focus,.dm-opener:focus-visible{outline:none;box-shadow:none}
.dm-opener:focus-visible .dm-opener-art{filter:brightness(1.12)}
html[data-dm-ready=true] .gt-sidebar-brand .gt-sidebar-navigation{display:none!important}
html[data-dm-ready=true][data-dm-header=true] .gt-main-column [data-gt-header-action]{display:none!important}
html[data-dm-header=false] .dm-opener{display:none!important}
@media(prefers-reduced-motion:reduce){.dm-key-cap{transition:none!important}.dm-led{animation:none!important}.dm-drag{transform:none!important}}
