@import"https://fonts.googleapis.com/css2?family=Great+Vibes&family=Silkscreen:wght@400;700&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:Courier New,Lucida Console,Monaco,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.z-10{z-index:10}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-3{margin-bottom:.75rem}.flex{display:flex}.grid{display:grid}.h-full{height:100%}.w-full{width:100%}.translate-y-px{--tw-translate-y: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.grid-cols-\[46px_1fr\]{grid-template-columns:46px 1fr}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.overflow-hidden{overflow:hidden}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-\[\#b8b8b8\]{--tw-border-opacity: 1;border-color:rgb(184 184 184 / var(--tw-border-opacity, 1))}.border-\[\#d1d1d1\]{--tw-border-opacity: 1;border-color:rgb(209 209 209 / var(--tw-border-opacity, 1))}.border-black\/20{border-color:#0003}.border-black\/25{border-color:#00000040}.border-black\/35{border-color:#00000059}.bg-\[\#dcdee0\]{--tw-bg-opacity: 1;background-color:rgb(220 222 224 / var(--tw-bg-opacity, 1))}.bg-\[\#dedede\]{--tw-bg-opacity: 1;background-color:rgb(222 222 222 / var(--tw-bg-opacity, 1))}.bg-\[\#e8e8e8\]{--tw-bg-opacity: 1;background-color:rgb(232 232 232 / var(--tw-bg-opacity, 1))}.bg-\[\#ececec\]{--tw-bg-opacity: 1;background-color:rgb(236 236 236 / var(--tw-bg-opacity, 1))}.bg-\[\#ededed\]{--tw-bg-opacity: 1;background-color:rgb(237 237 237 / var(--tw-bg-opacity, 1))}.bg-\[\#eeeeee\]{--tw-bg-opacity: 1;background-color:rgb(238 238 238 / var(--tw-bg-opacity, 1))}.bg-\[\#f4f4f4\]{--tw-bg-opacity: 1;background-color:rgb(244 244 244 / var(--tw-bg-opacity, 1))}.bg-\[\#fbfbfb\]{--tw-bg-opacity: 1;background-color:rgb(251 251 251 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:Courier New,Lucida Console,Monaco,monospace}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-relaxed{line-height:1.625}.tracking-\[0\.04em\]{letter-spacing:.04em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-\[0\.5em\]{letter-spacing:.5em}.text-\[\#173fff\]{--tw-text-opacity: 1;color:rgb(23 63 255 / var(--tw-text-opacity, 1))}.text-\[\#1c1c1c\]{--tw-text-opacity: 1;color:rgb(28 28 28 / var(--tw-text-opacity, 1))}.text-\[\#222\]{--tw-text-opacity: 1;color:rgb(34 34 34 / var(--tw-text-opacity, 1))}.text-\[\#2b2b2b\]{--tw-text-opacity: 1;color:rgb(43 43 43 / var(--tw-text-opacity, 1))}.text-\[\#8c2cff\]{--tw-text-opacity: 1;color:rgb(140 44 255 / var(--tw-text-opacity, 1))}.text-\[\#ff7a00\]{--tw-text-opacity: 1;color:rgb(255 122 0 / var(--tw-text-opacity, 1))}.text-cobalt{--tw-text-opacity: 1;color:rgb(6 71 216 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-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)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}*{box-sizing:border-box}:root{--retro-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%23ffe3f5' stroke='%23000' stroke-width='1.45' d='M4 2l17 14-8.1 1.5 3.7 7-3.2 1.7-3.7-7.2L4 24z'/%3E%3Cpath fill='%23ff149a' d='M6.3 5.3v13.4l3.6-3.4 1.3 2.6 1.7-.9-1.5-2.8 5.6-1z'/%3E%3Cpath fill='%23fff' d='M8 7.2l3.8 3.2-2.7.5zM18.8 4.2l.8 1.7 1.8.7-1.8.8-.8 1.7-.8-1.7-1.8-.8 1.8-.7zM22 11.3l.5 1.1 1.1.5-1.1.5-.5 1.1-.5-1.1-1.1-.5 1.1-.5z'/%3E%3C/svg%3E") 4 2, auto;--retro-pointer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%23ffe3f5' stroke='%23000' stroke-width='1.35' d='M10 2.5c1.1 0 1.9.8 1.9 2v7.4l.9-.9c.8-.8 2-.8 2.7.1l.4.5.8-.6c.8-.6 2-.3 2.5.6l.5.9.7-.3c.9-.3 2 .2 2.3 1.2.4 1.7.1 4.1-.6 5.8-.8 2-2.5 4.7-6.1 4.7h-4.7c-2.4 0-4.2-1-5.5-3L2.9 16c-.6-1-.3-2.3.6-2.9.8-.6 1.9-.5 2.7.2l2 2V4.5c0-1.2.8-2 1.8-2z'/%3E%3Cpath fill='%23ff149a' d='M9.4 4.8v13.6l-3.7-3.6c-.5-.4-1.1-.1-.8.5l2.8 4.7c.9 1.5 2.1 2.1 3.7 2.1H16c2.4 0 3.7-1.8 4.4-3.4.6-1.4.8-3.2.5-4.2l-2 .7-1-2.2-1.9 1.3-1.6-1.8-2.4 2.3v-10c0-1.3-2.6-1.3-2.6 0z'/%3E%3Cpath fill='%23fff' d='M20.7 3.7l.8 1.8 1.9.8-1.9.8-.8 1.8-.8-1.8-1.9-.8 1.9-.8zM23 10.8l.5 1.1 1.2.5-1.2.5-.5 1.1-.5-1.1-1.2-.5 1.2-.5z'/%3E%3C/svg%3E") 10 2, pointer}html,body{margin:0;height:100%;min-width:320px;overflow:hidden;background:#f5f5f4;cursor:var(--retro-cursor);image-rendering:auto}button,[role=button],a,input,select,textarea,.layout-positioned{cursor:var(--retro-pointer)}#root{height:100%}.sparkle-cursor-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;overflow:hidden;pointer-events:none}.cursor-sparkle{position:absolute;display:block;border-radius:999px;background:linear-gradient(90deg,transparent 42%,#ffffff 42%,#ffffff 58%,transparent 58%),linear-gradient(0deg,transparent 42%,#ffffff 42%,#ffffff 58%,transparent 58%),#ff149a;box-shadow:0 0 0 1px #ff149a7a,0 0 8px #ff149ab3;transform:translate(-50%,-50%);animation:cursorSparkle .62s ease-out forwards}@keyframes cursorSparkle{0%{opacity:.95;transform:translate(-50%,-50%) scale(.6) rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--sparkle-x)),calc(-50% + var(--sparkle-y))) scale(1.35) rotate(90deg)}}.retro-bevel,.retro-window,.webcam-frame{box-shadow:inset 2px 2px #fff,inset 3px 3px #f7f7f7,inset -2px -2px #8c8c8c,inset -3px -3px #c4c4c4,2px 2px #00000047,4px 4px 4px #00000014}.retro-pressed,.mode-card.is-active{box-shadow:inset 2px 2px #858585,inset 3px 3px #bfbfbf,inset -2px -2px #fff,1px 1px #0000002e}.rainbow-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:clamp(8px,.9vw,16px);font-family:Silkscreen,Courier New,Lucida Console,monospace;font-weight:700;margin:0;line-height:1.05;letter-spacing:.16em;image-rendering:pixelated;transform:translateZ(0)}.logo-frame{position:relative;max-width:1480px;margin:0 auto;padding:clamp(8px,1.15vh,14px) clamp(28px,5vw,70px) clamp(7px,1vh,12px);overflow:hidden;border:1px solid rgba(27,55,255,.52);background:linear-gradient(90deg,#ffffff14,#ffffff7a,#ffffff14),#f2f2f0;box-shadow:inset 1px 1px #fffffff5,inset -1px -1px #2239ff61,0 1px #ffffffe6,2px 2px #252aff73}.logo-frame:before,.logo-frame:after{position:absolute;top:50%;width:18px;height:18px;content:"";border:2px solid #2947ff;transform:translateY(-50%) rotate(45deg);opacity:.78;box-shadow:inset 0 0 0 3px #f2f2f0,0 0 0 1px #2947ff3d}.logo-frame:before{left:clamp(12px,2vw,30px)}.logo-frame:after{right:clamp(12px,2vw,30px)}.logo-subtitle{position:relative;z-index:1;margin-top:clamp(4px,.7vh,8px);color:#123fff;text-shadow:1px 1px 0 rgba(255,255,255,.95),0 0 3px rgba(48,66,255,.26)}.title-letter{position:relative;display:inline-block;min-width:.72em;color:transparent;background:linear-gradient(115deg,#fffffff5,hsl(var(--title-hue),96%,58%) 18%,#f1f9fffa 34%,#a1b3cdf0 45%,hsl(calc(var(--title-hue) + 42),96%,64%) 62%,#fffffff5 78%,hsl(calc(var(--title-hue) - 22),96%,56%));background-size:260% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:.6px rgba(19,46,204,.42);font-size:clamp(32px,4vw,58px);line-height:.95;text-shadow:1px 0 0 rgba(255,255,255,.84),0 1px 0 rgba(255,255,255,.72),2px 2px 0 rgba(20,37,153,.32),3px 3px 0 rgba(255,17,184,.12);filter:saturate(2.4) contrast(1.34);animation:rainbowFlash 1.15s steps(7,end) infinite}.title-space{display:inline-block;width:clamp(20px,3vw,54px)}.rainbow-title:after{position:absolute;top:-8px;right:-6%;bottom:-8px;left:-6%;z-index:2;content:"";pointer-events:none;background:linear-gradient(105deg,transparent 0%,transparent 38%,rgba(255,255,255,.68) 48%,rgba(147,239,255,.28) 51%,transparent 62%,transparent 100%);mix-blend-mode:screen;transform:translate(-120%);animation:logoShimmer 4.6s ease-in-out infinite}@keyframes rainbowFlash{0%{background-position:0% 50%;filter:hue-rotate(0deg) saturate(2.6) contrast(1.42) brightness(1.06)}14%{background-position:42% 50%;filter:hue-rotate(52deg) saturate(2.8) contrast(1.48) brightness(1.12)}28%{background-position:84% 50%;filter:hue-rotate(104deg) saturate(3) contrast(1.5) brightness(1.08)}42%{background-position:126% 50%;filter:hue-rotate(156deg) saturate(2.8) contrast(1.48) brightness(1.14)}56%{background-position:168% 50%;filter:hue-rotate(208deg) saturate(3.1) contrast(1.52) brightness(1.08)}70%{background-position:210% 50%;filter:hue-rotate(260deg) saturate(2.9) contrast(1.5) brightness(1.13)}84%{background-position:252% 50%;filter:hue-rotate(312deg) saturate(3.1) contrast(1.54) brightness(1.1)}to{background-position:300% 50%;filter:hue-rotate(360deg) saturate(2.6) contrast(1.42) brightness(1.06)}}@keyframes logoShimmer{0%,42%{transform:translate(-120%)}70%{transform:translate(120%)}to{transform:translate(120%)}}.app-shell{height:100vh;min-height:100vh;overflow:hidden;padding-top:clamp(8px,1vh,18px);padding-bottom:clamp(6px,1vh,12px)}.layout-positioned{position:relative;pointer-events:auto}.app-shell>div{height:100%;min-height:0}.app-header{flex:0 0 auto;margin-bottom:clamp(6px,1vh,14px);display:flex;justify-content:center;text-align:center}.app-header p{margin-top:clamp(6px,1vh,12px)}.app-grid{flex:1 1 auto;min-height:0}.app-grid>aside{height:100%;min-height:0}.left-rail,.right-rail{display:flex;min-height:0;align-items:center}.mode-stack{display:grid;width:100%;gap:clamp(18px,2vh,28px)}.right-control-stack{display:grid;width:100%;gap:clamp(22px,2.4vh,34px)}.lower-left-stack{display:grid;align-self:end;gap:10px}.app-footer,.lower-grid{flex:0 0 auto}.app-footer{margin-top:clamp(6px,.8vh,10px);padding-top:clamp(6px,.8vh,10px)}.footer-grid{align-items:center}.footer-controls{justify-self:center}.lower-grid{align-items:end;margin-top:clamp(6px,.8vh,10px)}.panel-title{background:linear-gradient(90deg,#0647d81f,#ffffff4d),#e6e6e6;box-shadow:inset 1px 1px #fff,inset -1px -1px #a6a6a6}.webcam-surface{height:100%;min-height:0;background-color:#dde0e1}.webcam-video{z-index:1;-o-object-fit:cover;object-fit:cover;transform:scaleX(-1);transition:opacity .18s ease}.scanner-canvas,.portal-canvas,.transmission-canvas{z-index:2;pointer-events:none}.corner{position:absolute;z-index:3;width:24px;height:24px;border-color:#123fbe}.corner-tl{top:22px;left:22px;border-top:2px solid;border-left:2px solid}.corner-tr{top:22px;right:22px;border-top:2px solid;border-right:2px solid}.corner-bl{bottom:22px;left:22px;border-bottom:2px solid;border-left:2px solid}.corner-br{right:22px;bottom:22px;border-right:2px solid;border-bottom:2px solid}.scanner-box{position:absolute;z-index:4;border:1px solid #ffffff;box-shadow:inset 0 0 0 1px #ffffff42,0 0 0 1px #0000002e;pointer-events:none;animation:scannerJitter .62s steps(2,end) infinite}.scanner-box:before,.scanner-box:after{position:absolute;width:16px;height:16px;content:"";border-color:#fff}.scanner-box:before{top:-4px;left:-4px;border-top:2px solid;border-left:2px solid}.scanner-box:after{right:-4px;bottom:-4px;border-right:2px solid;border-bottom:2px solid}.scanner-compliment{position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%);white-space:nowrap;font-family:Courier New,Lucida Console,Monaco,monospace;font-size:13px;font-weight:700;letter-spacing:.12em;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.65)}.scanner-compliment:after{display:inline-block;width:3ch;overflow:hidden;vertical-align:bottom;content:".";animation:loadingDots 1.2s steps(3,end) infinite}.scanner-object-label{position:absolute;z-index:4;pointer-events:none;border:1px solid rgba(255,255,255,.82);transition:opacity .7s ease,left .7s ease,top .7s ease,width .7s ease,height .7s ease}.scanner-object-label:before,.scanner-object-label:after{position:absolute;width:10px;height:10px;content:"";border-color:#fff}.scanner-object-label:before{top:-3px;left:-3px;border-top:1px solid;border-left:1px solid}.scanner-object-label:after{right:-3px;bottom:-3px;border-right:1px solid;border-bottom:1px solid}.scanner-object-label span{position:absolute;left:var(--label-x);top:var(--label-y);font-family:Courier New,Lucida Console,Monaco,monospace;font-size:10px;font-weight:700;letter-spacing:.14em;color:#fff;text-shadow:1px 1px 0 rgba(0,0,0,.65);white-space:nowrap}@keyframes scannerJitter{0%{opacity:.95;transform:translate(0)}33%{opacity:.78;transform:translate(1px,-1px)}66%{opacity:.9;transform:translate(-1px,1px)}to{opacity:.95;transform:translate(0)}}@keyframes loadingDots{0%{content:"."}33%{content:".."}66%,to{content:"..."}}.mode-card{min-height:clamp(88px,12.5vh,116px)}.mode-transmission{border-color:#00962dd1}.mode-transmission span{color:#138326}.mode-scanner{border-color:#ff1cacd1}.mode-scanner span{color:#ff149a}.mode-portal{border-color:#123fffdb}.mode-portal span{color:#172fff}.mode-card:hover,.option-row:hover{background:#fff}.option-row{min-height:46px;border-right:1px solid rgba(0,0,0,.2);border-bottom:1px solid rgba(0,0,0,.28);box-shadow:inset 2px 2px #fff,inset -2px -2px #c9c9c9}.option-row.is-selected{outline:1px solid rgba(6,71,216,.55);outline-offset:-3px}.icon-art{display:inline-flex;align-items:center;justify-content:center;flex:none}.icon-art img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.icon-large{width:clamp(72px,7vw,90px);height:clamp(58px,6.2vw,76px)}.icon-small{width:36px;height:36px}.utility-button{display:inline-flex;min-width:142px;min-height:46px;align-items:center;justify-content:center;gap:14px;padding:8px 20px;font-size:15px;letter-spacing:.1em;box-shadow:inset 2px 2px #fff,inset 4px 4px #fff6,inset -2px -2px #777,inset -4px -4px #c5c5c5,2px 2px #0000004d}.utility-button:nth-child(1){border-color:#ff0000c7;color:#f20f0f}.utility-button:nth-child(2){border-color:#1665ffc7;color:#173fff}.status-panel{color:#111;padding:8px;font-size:10px;line-height:1.38}.status-panel p{margin-top:0;margin-bottom:0}.made-by-badge{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:9px 12px;text-align:center;color:#ff7a00;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.instructions-panel h3,.internet-time h3{margin:0 0 8px;font-size:14px;font-weight:700;letter-spacing:.08em}.instruction-block p{margin:2px 0;color:#111;font-size:12px;line-height:1.36}.instruction-block h3{color:currentColor}.instruction-icon{position:relative;display:inline-flex;min-width:76px;height:30px;align-items:center;justify-content:center;margin-top:7px;filter:drop-shadow(1px 1px 0 rgba(0,0,0,.2))}.transmission-instruction{gap:8px}.mini-hand{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border:1px solid #18a233;border-radius:44% 44% 38% 38%;color:#18a233;font-size:17px;line-height:1;transform:rotate(-8deg);box-shadow:inset 1px 1px #ffffffe6}.mini-rain{color:#0f8f28;font-size:9px;font-weight:700;line-height:.95;text-align:left;opacity:.9}.scanner-instruction{width:92px}.mini-finger{position:absolute;top:3px;left:17px;width:8px;height:24px;border:1px solid #ff149a;border-radius:6px;background:linear-gradient(90deg,#fff,#ffd8f2 48%,#ff9ad8);transform:rotate(27deg);box-shadow:1px 1px #00000029}.mini-squiggle{position:absolute;right:10px;bottom:6px;width:56px;height:15px;border-bottom:3px solid #ff149a;border-radius:55% 45% 60% 40%;transform:rotate(-8deg)}.mini-squiggle:after{position:absolute;right:7px;bottom:-5px;width:20px;height:10px;content:"";border-bottom:3px solid #ff149a;border-radius:50%}.portal-instruction{gap:6px}.portal-instruction span{display:inline-block;width:17px;height:17px;border:2px solid #173fff;border-radius:999px;background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.95),rgba(255,255,255,.08) 36%,transparent 54%),radial-gradient(circle,#7766ff3d,#fff0 70%);box-shadow:inset 1px 1px #ffffffd9,1px 1px #00000029}.portal-instruction span:nth-child(2){width:20px;height:20px}.portal-instruction span:nth-child(3){width:23px;height:23px}.portal-instruction span:nth-child(4){width:19px;height:19px}.internet-time{align-self:end;min-height:78px;padding:14px}.internet-time .icon-small{width:42px;height:42px}.utility-cutout{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;flex:none}.utility-cutout img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.utility-cutout.is-recording{filter:drop-shadow(0 0 5px rgba(225,24,18,.45))}@media(max-width:1279px){.rainbow-title{letter-spacing:.12em}.webcam-surface{height:100%}}@media(max-width:1023px){.logo-frame{padding-right:14px;padding-left:14px}.logo-frame:before,.logo-frame:after{width:12px;height:12px}.rainbow-title{gap:4px;letter-spacing:.04em}.title-letter{min-width:.58em;font-size:clamp(22px,8vw,34px)}.title-space{width:clamp(8px,2vw,16px)}.logo-subtitle{font-size:12px;letter-spacing:.17em}.mode-card{min-height:128px}.webcam-surface{height:100%}}@media(max-height:760px)and (min-width:1024px){.app-shell{padding-top:8px;padding-bottom:6px}.app-header{margin-bottom:8px}.rainbow-title{letter-spacing:.22em}.logo-frame{padding-top:7px;padding-bottom:6px}.title-letter{font-size:38px}.app-header p{margin-top:8px;font-size:12px}.app-grid,.mode-stack{gap:16px}.right-control-stack{gap:18px}.webcam-surface{height:100%}.mode-card{min-height:116px;padding-top:10px;padding-bottom:10px}.icon-large{width:82px;height:66px}.option-row{min-height:36px}.icon-small{width:30px;height:30px}.panel-title{padding-top:4px;padding-bottom:4px;font-size:13px}.app-footer{margin-top:6px;padding-top:6px}.utility-button{min-height:40px;min-width:132px;padding:6px 18px}.utility-cutout{width:28px;height:28px}.lower-grid{margin-top:6px;gap:16px}.lower-left-stack{gap:7px}.instructions-panel{padding-top:9px;padding-bottom:9px}.instructions-panel h3,.internet-time h3{margin-bottom:5px;font-size:12px}.instruction-block p{font-size:11px;line-height:1.22}.instruction-icon{height:22px;margin-top:4px;transform:scale(.86)}.status-panel{font-size:10px;line-height:1.35}.status-panel p{margin-top:0;margin-bottom:0}.made-by-badge{min-height:42px;font-size:11px}.internet-time{min-height:70px;padding:10px}}.pt-shell{position:relative;width:100vw;height:100vh;overflow:hidden;background:linear-gradient(180deg,#ffbedb2e,#f56fa529),#ef7db0;font-family:Courier New,Lucida Console,monospace}.pt-header{--pt-header-height: clamp(92px, 11.5vh, 138px);position:relative;z-index:20;display:flex;height:var(--pt-header-height);align-items:center;justify-content:center;border-bottom:3px solid #d33f86;background:linear-gradient(180deg,#f7a6cc,#ec72a8 58%,#e7569a);box-shadow:inset 0 2px #ffe6f4d1,inset 0 -2px #b9236873,0 2px #81144733}.pt-toolbar{position:absolute;top:clamp(12px,1.75vh,22px);left:clamp(14px,1.8vw,26px);display:flex;gap:clamp(12px,1.5vw,22px);align-items:center}.pt-icon-button{display:inline-flex;width:clamp(58px,6.15vw,106px);height:clamp(52px,5.85vw,88px);align-items:center;justify-content:center;border:2px solid #df5a9d;border-radius:7px;background:linear-gradient(180deg,#fff6fbf0,#ffd6ebf5),#ffd5ec;box-shadow:inset 2px 2px #fffffffa,inset -2px -2px #ba3d7c94,2px 3px #79184a33,0 0 14px #ffffff38;transition:transform .12s ease,filter .12s ease}.pt-icon-button:hover,.pt-icon-button.is-active{filter:brightness(1.08) saturate(1.12)}.pt-icon-button:active,.pt-icon-button.is-active{transform:translate(1px,1px);box-shadow:inset 2px 2px #9b1f5d7a,inset -2px -2px #ffffffdb,1px 1px #79184a33}.pt-icon-button .icon-small{width:clamp(34px,3.7vw,58px);height:clamp(34px,3.7vw,58px)}.pt-header-png-icon{display:block;width:clamp(38px,4vw,62px);height:clamp(38px,4vw,62px);-o-object-fit:contain;object-fit:contain;filter:drop-shadow(1px 1px 0 rgba(255,255,255,.65)) drop-shadow(1px 2px 1px rgba(105,20,67,.3))}.pt-crown-icon{display:inline-flex;width:clamp(42px,4vw,66px);color:#fff;filter:drop-shadow(1px 1px 0 #f03f9d) drop-shadow(0 0 4px rgba(255,255,255,.65))}.pt-crown-icon svg{display:block;width:100%;height:auto;fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:4}.pt-digit-icon{display:grid;gap:0;color:#0cae36;font-family:Silkscreen,Courier New,monospace;font-size:clamp(10px,1vw,17px);font-weight:700;line-height:.92;text-align:center;text-shadow:1px 1px 0 #dfffe7,0 0 2px rgba(13,180,56,.42)}.pt-title-block{position:absolute;right:clamp(24px,3vw,44px);display:flex;width:min(55vw,790px);justify-content:flex-end;pointer-events:none}.pt-header .rainbow-title{display:block;color:transparent;background:linear-gradient(105deg,#fff,#ff65bf 12%,#fff4a8 23%,#83fff1 36%,#bda3ff 48%,#fff 58%,#ff8ed1,#ffef7a 82%,#95eaff);background-size:360% 100%;-webkit-background-clip:text;background-clip:text;font-family:Great Vibes,Brush Script MT,Snell Roundhand,cursive;font-size:clamp(45px,4.45vw,78px);font-weight:400;letter-spacing:.02em;line-height:.82;text-shadow:0 1px 0 rgba(255,255,255,.88),2px 2px 0 rgba(225,66,145,.36),0 0 10px rgba(255,245,255,.72),0 0 20px rgba(255,96,184,.34);filter:saturate(1.75) drop-shadow(0 0 8px rgba(255,255,255,.58)) drop-shadow(2px 2px 0 rgba(177,48,133,.34));animation:cursiveRainbowFlash 1.45s steps(8,end) infinite}.pt-header .rainbow-title:after{display:none}@keyframes cursiveRainbowFlash{0%{background-position:0% 50%;filter:hue-rotate(0deg) saturate(1.75) brightness(1.08)}25%{background-position:95% 50%;filter:hue-rotate(72deg) saturate(1.95) brightness(1.14)}50%{background-position:190% 50%;filter:hue-rotate(158deg) saturate(1.88) brightness(1.1)}75%{background-position:285% 50%;filter:hue-rotate(252deg) saturate(2.05) brightness(1.16)}to{background-position:360% 50%;filter:hue-rotate(360deg) saturate(1.75) brightness(1.08)}}.pt-webcam-layer{position:absolute;inset:clamp(92px,11.5vh,138px) 0 0;z-index:1}.pt-webcam-stage{width:100%;height:100%;border:3px solid #d9448d;border-top:0;border-radius:0;box-shadow:inset 1px 1px #ffdbed73,inset -1px -1px #97184f59}.pt-webcam-stage .webcam-video{-o-object-fit:cover;object-fit:cover}.pt-webcam-stage .camera-start-panel{max-width:420px;border:2px solid #e5589b;border-radius:8px;background:#ffe7f4e0;padding:24px;box-shadow:inset 2px 2px #fffffff0,inset -2px -2px #ba3d7c70,3px 4px #7e1a4b24}.pt-popup-window{position:fixed;z-index:35;display:flex;flex-direction:column;overflow:hidden;border:2px solid #e8569b;border-radius:9px;background:linear-gradient(180deg,#fff4fafa,#ffecf7f2),#fff0f8;box-shadow:inset 1px 1px #fffffffa,inset -1px -1px #cd3b8270,3px 4px #881a4c38,0 9px 24px #5c13381f;color:#202020;transform-origin:top left}.pt-popup-titlebar{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid rgba(229,92,157,.44);background:linear-gradient(180deg,#ffd3e9,#f7a8cd 58%,#f48abb);padding:7px 14px 7px 20px;color:#cc347e;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pt-popup-titlebar h2{margin:0;font-family:Courier New,Lucida Console,monospace;font-size:clamp(20px,1.55vw,30px);font-weight:700;letter-spacing:.02em;line-height:1;text-transform:lowercase}.pt-popup-controls{display:inline-flex;align-items:center}.pt-popup-controls button{display:inline-flex;width:31px;height:31px;align-items:center;justify-content:center;border:2px solid #e64894;border-radius:4px;background:linear-gradient(180deg,#ffe9f4,#ffaad1),#ffc5df;box-shadow:inset 1px 1px #ffffffeb,inset -1px -1px #af26626b;color:#cf347d;font-family:Courier New,monospace;font-size:23px;font-weight:700;line-height:1}.pt-popup-body{flex:1 1 auto;min-height:0;max-height:none;overflow:auto;padding:clamp(22px,2.4vw,34px);background:radial-gradient(circle at 35% 10%,#ffffffb8,#fff0 44%),linear-gradient(180deg,#fffcfffa,#fff0f9f0)}.pt-help-window{width:clamp(260px,17vw,330px);height:min(64vh,505px)}.pt-help-window p,.pt-copy-block p,.pt-portal-copy p,.pt-tool-instructions p{margin:0 0 13px;font-family:Courier New,Lucida Console,monospace;font-size:clamp(17px,1.22vw,25px);line-height:1.45}.pt-help-welcome{display:grid;grid-template-columns:38px 1fr 38px;gap:8px;align-items:center;margin:3px 0 34px;color:#c9317d;text-align:center}.pt-help-welcome .pt-crown-icon{width:34px;color:#ff69ac;filter:drop-shadow(1px 1px 0 #ffffff) drop-shadow(0 0 4px rgba(255,105,172,.55))}.pt-help-welcome p{margin:0;font-size:clamp(18px,1.26vw,25px);font-weight:700;line-height:1.28}.pt-help-copy{margin-top:28px;text-align:center}.pt-help-copy p{margin-bottom:8px;font-size:clamp(13px,.95vw,18px);line-height:1.3}.pt-resize-handle{position:absolute;right:5px;bottom:5px;width:17px;height:17px;cursor:nwse-resize}.pt-resize-handle:before{position:absolute;right:0;bottom:0;width:13px;height:13px;content:"";background:linear-gradient(135deg,transparent 0 45%,#df4f96 46% 54%,transparent 55%),linear-gradient(135deg,transparent 0 64%,#df4f96 65% 73%,transparent 74%),linear-gradient(135deg,transparent 0 82%,#df4f96 83% 91%,transparent 92%);opacity:.7}.pt-waterfall-window{width:clamp(320px,28vw,470px);height:min(68vh,575px)}.pt-copy-block{margin-bottom:36px}.pt-slider-row{display:grid;gap:18px;margin-top:34px;color:#111;font-size:clamp(17px,1.25vw,25px)}.pt-slider-row span{display:block}.pt-slider-row input[type=range]{width:100%;accent-color:#f468a8}.pt-slider-row input[type=range]::-webkit-slider-runnable-track{height:8px;border:1px solid #dd6aa4;border-radius:999px;background:linear-gradient(180deg,#ffb5d4,#f278ae);box-shadow:inset 1px 1px #ffffffdb}.pt-slider-row input[type=range]::-webkit-slider-thumb{width:27px;height:27px;margin-top:-10px;border:2px solid #dd5798;border-radius:999px;background:linear-gradient(180deg,#ffd8ea,#f887ba);box-shadow:inset 1px 1px #fff,1px 2px #87194a38;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pt-stream-status{display:flex;gap:14px;align-items:center;margin-top:54px;color:#168d28;font-family:Courier New,monospace;font-size:clamp(15px,1.2vw,22px)}.pt-stream-status span{width:21px;height:21px;border:2px solid #15872a;border-radius:999px;background:radial-gradient(circle at 30% 25%,#d8ffd9,#47cf58 45%,#179a2e);box-shadow:inset 1px 1px #ffffffc7,0 1px 1px #00000042}.pt-scanner-window{width:clamp(350px,27.5vw,505px);height:min(70vh,590px)}.pt-portals-window{width:clamp(330px,24.5vw,455px);height:min(72vh,670px)}.pt-tool-heading{margin:0 0 14px;color:#d33384;font-family:Courier New,Lucida Console,monospace;font-size:clamp(17px,1.22vw,24px);font-weight:700;letter-spacing:.04em;text-transform:lowercase}.pt-tool-options,.pt-portal-options{display:grid;gap:8px}.pt-tool-option{display:grid;min-height:69px;grid-template-columns:62px 1fr;align-items:center;gap:16px;border:2px solid rgba(224,94,157,.55);border-radius:7px;background:linear-gradient(180deg,#fffffff5,#fff5fbf0),#fff7fb;padding:8px 20px;text-align:left;box-shadow:inset 1px 1px #fffffff5,inset -1px -1px #c75d913d}.pt-portal-options .pt-tool-option{min-height:58px;border-radius:0;border-color:#5858583d}.pt-tool-option.is-selected{border-color:#ed3e98;background:linear-gradient(180deg,#ffdaedf5,#faa8d3eb),#ffc3e1;color:#ce2d7b}.pt-tool-option span:last-child{font-family:Courier New,Lucida Console,monospace;font-size:clamp(17px,1.25vw,24px);font-weight:700;letter-spacing:.02em;text-transform:lowercase}.pt-tool-option .icon-small{width:45px;height:45px}.pt-clear-button{display:flex;width:100%;min-height:63px;align-items:center;justify-content:center;gap:18px;margin-top:28px;border:2px solid rgba(224,94,157,.55);border-radius:7px;background:linear-gradient(180deg,#fff,#fff1f8);color:#222;box-shadow:inset 1px 1px #fffffff5,inset -1px -1px #c75d913d;font-family:Courier New,monospace;font-size:clamp(16px,1.2vw,22px)}.pt-clear-button span{color:#cc2b7a;font-size:26px}.pt-tool-instructions{display:grid;gap:12px;margin-top:26px}.pt-tool-instructions p{display:flex;gap:13px;align-items:center;margin:0;font-size:clamp(13px,.95vw,18px);line-height:1.2}.pt-tool-instructions span{display:inline-flex;width:28px;justify-content:center;color:#ef4ca0;font-size:24px}.pt-tool-instructions .pt-mini-icon{position:relative;width:28px;height:24px;flex:0 0 28px}.pt-mini-draw:before{position:absolute;top:3px;left:8px;width:8px;height:22px;content:"";border:2px solid #ef4ca0;border-radius:6px;background:linear-gradient(90deg,#fff7fb,#ffaed2);transform:rotate(32deg)}.pt-mini-draw:after{position:absolute;right:0;bottom:3px;width:15px;height:7px;content:"";border-bottom:2px solid #ef4ca0;border-radius:50%}.pt-mini-fist:before{position:absolute;top:5px;left:4px;width:20px;height:15px;content:"";border:2px solid #333333;border-radius:8px 8px 7px 7px;background:linear-gradient(180deg,#fff,#f7cfe2);box-shadow:inset 4px 0 #ef4ca047,inset 9px 0 #ffffffb3,inset 14px 0 #ef4ca038}.pt-mini-click:before{position:absolute;top:1px;left:10px;width:7px;height:21px;content:"";border:2px solid #333333;border-radius:6px;background:linear-gradient(90deg,#fff,#ffd6ea)}.pt-mini-click:after{position:absolute;right:3px;bottom:1px;width:12px;height:9px;content:"";border-right:2px solid #ef4ca0;border-bottom:2px solid #ef4ca0;transform:rotate(-18deg)}.pt-portal-copy{margin-top:30px;text-align:center}.pt-portal-copy p{margin-bottom:8px;font-size:clamp(14px,1.05vw,21px);line-height:1.42}@media(max-width:1050px){.pt-header{--pt-header-height: 100px}.pt-title-block{width:50vw}.pt-header .rainbow-title{font-size:clamp(34px,4.2vw,54px)}.pt-popup-window{max-width:calc(100vw - 28px)}}@media(max-width:760px){.pt-header{--pt-header-height: 92px;align-items:flex-end;padding-bottom:10px}.pt-toolbar{top:8px;left:8px;gap:8px}.pt-icon-button{width:46px;height:44px}.pt-title-block{bottom:10px;right:10px;width:58vw}.pt-header .rainbow-title{font-size:clamp(30px,8.5vw,44px)}.pt-popup-window{left:12px!important;top:110px!important;width:calc(100vw - 24px)}.pt-popup-body{max-height:calc(100vh - 190px);padding:20px}}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-cobalt:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(6 71 216 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-shell:focus{--tw-ring-offset-color: #ededed}@media(min-width:640px){.sm\:text-2xl{font-size:1.5rem;line-height:2rem}}@media(min-width:768px){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
