*,: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:Inter,system-ui,sans-serif;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:JetBrains Mono,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}:root{--zuryon-primary: #6172f3;--zuryon-secondary: #444ce7;--zuryon-accent: #8098f9;--color-bg: #020617;--color-bg-card: #0f172a;--color-bg-card2: #1e293b;--color-bg-input: #1e293b;--color-border: rgba(51, 65, 85, .5);--color-border-full: #334155;--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-text-faint: #475569;--color-text-heading:#ffffff;--color-scrollbar-track: #0f172a;--color-scrollbar-thumb: #475569}html.light{--color-bg: #f1f5f9;--color-bg-card: #ffffff;--color-bg-card2: #f8fafc;--color-bg-input: #f8fafc;--color-border: rgba(203, 213, 225, .7);--color-border-full: #cbd5e1;--color-text: #0f172a;--color-text-muted: #475569;--color-text-faint: #94a3b8;--color-text-heading:#000000;--color-scrollbar-track: #e2e8f0;--color-scrollbar-thumb: #94a3b8}html.dark{--color-bg: #020617;--color-bg-card: #0f172a;--color-bg-card2: #1e293b;--color-bg-input: #1e293b;--color-border: rgba(51, 65, 85, .5);--color-border-full: #334155;--color-text: #f8fafc;--color-text-muted: #94a3b8;--color-text-faint: #475569;--color-text-heading:#ffffff;--color-scrollbar-track: #0f172a;--color-scrollbar-thumb: #475569}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans, ui-sans-serif, system-ui, sans-serif);min-height:100vh;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{color:var(--color-text-heading)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:9999px}::-webkit-scrollbar-thumb:hover{opacity:.8}::-moz-selection{background:#6172f34d;color:#a5bbfc}::selection{background:#6172f34d;color:#a5bbfc}input,textarea,select{background-color:var(--color-bg-input);color:var(--color-text);border-color:var(--color-border-full)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-faint)}input::placeholder,textarea::placeholder{color:var(--color-text-faint)}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:1rem;color:var(--color-text)}html.light .card-glass{background:#ffffffb3;border:1px solid rgba(203,213,225,.5)}.input{width:100%;background-color:var(--color-bg-input);border:1px solid var(--color-border-full);color:var(--color-text);border-radius:.75rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.input:focus{--tw-border-opacity: 1;border-color:rgb(97 114 243 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px;--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);--tw-ring-color: rgb(97 114 243 / .5)}.input::-moz-placeholder{color:var(--color-text-faint)}.input::placeholder{color:var(--color-text-faint)}.label{color:var(--color-text-muted);margin-bottom:.375rem;display:block;font-size:.75rem;line-height:1rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em}.badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500}.\!table,.table{width:100%;font-size:.875rem;line-height:1.25rem}.\!table{color:var(--color-text)!important}.table{color:var(--color-text)}.\!table thead tr{background-color:var(--color-bg-card2)!important;border-bottom:1px solid var(--color-border)!important}.table thead tr{background-color:var(--color-bg-card2);border-bottom:1px solid var(--color-border)}.\!table thead th{color:var(--color-text-muted)!important}.table thead th{color:var(--color-text-muted)}.\!table thead th,.table thead th{padding:.75rem 1rem;text-align:left;font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.\!table tbody tr{border-bottom:1px solid var(--color-border)!important;transition:background-color .15s!important}.table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .15s}.\!table tbody tr:hover{background-color:var(--color-bg-card2)!important}.table tbody tr:hover{background-color:var(--color-bg-card2)}.\!table tbody td{color:var(--color-text)!important}.table tbody td{color:var(--color-text)}.\!table tbody td,.table tbody td{padding:.75rem 1rem}.sidebar{background-color:var(--color-bg-card);border-right:1px solid var(--color-border);position:fixed;left:0;top:0;z-index:40;display:flex;height:100%;width:16rem;flex-direction:column}.sidebar-item.\!active,.sidebar-item.active{border-width:1px;border-color:#444ce733;background-color:#444ce726;--tw-text-opacity: 1;color:rgb(128 152 249 / var(--tw-text-opacity, 1))}.divider{border-top:1px solid var(--color-border);margin-top:1rem;margin-bottom:1rem}.text-theme{color:var(--color-text)}.text-theme-muted{color:var(--color-text-muted)}.text-theme-faint{color:var(--color-text-faint)}.text-theme-heading{color:var(--color-text-heading)}.bg-theme{background-color:var(--color-bg)}.bg-theme-card{background-color:var(--color-bg-card)}.bg-theme-card2{background-color:var(--color-bg-card2)}.border-theme{border-color:var(--color-border)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-20{bottom:-5rem}.-left-4{left:-1rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-2{right:-.5rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-20{top:-5rem}.-top-3{top:-.75rem}.-top-4{top:-1rem}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1\/3{bottom:33.333333%}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-24{bottom:6rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\[12\.5\%\]{left:12.5%}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-1\/4{right:25%}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-5{right:1.25rem}.right-6{right:1.5rem}.right-\[12\.5\%\]{right:12.5%}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-1\/3{top:33.333333%}.top-14{top:3.5rem}.top-16{top:4rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-4{top:1rem}.top-6{top:1.5rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[1000\]{z-index:1000}.z-\[60\]{z-index:60}.z-\[9999\]{z-index:9999}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-4{grid-column:span 4 / span 4}.col-span-full{grid-column:1 / -1}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-7{margin-bottom:1.75rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-40{height:10rem}.h-44{height:11rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-52{height:13rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[400px\]{height:400px}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-\[calc\(100vh-200px\)\]{height:calc(100vh - 200px)}.h-\[calc\(100vh-57px\)\]{height:calc(100vh - 57px)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-\[480px\]{max-height:480px}.max-h-\[500px\]{max-height:500px}.max-h-\[600px\]{max-height:600px}.max-h-\[700px\]{max-height:700px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[92vh\]{max-height:92vh}.max-h-full{max-height:100%}.min-h-\[500px\]{min-height:500px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[500px\]{width:500px}.w-\[800px\]{width:800px}.w-\[900px\]{width:900px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-48{min-width:12rem}.min-w-\[60px\]{min-width:60px}.min-w-\[70px\]{min-width:70px}.min-w-\[80px\]{min-width:80px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[100px\]{max-width:100px}.max-w-\[180px\]{max-width:180px}.max-w-\[70\%\]{max-width:70%}.max-w-\[75\%\]{max-width:75%}.max-w-\[80\%\]{max-width:80%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;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))}.-translate-x-full{--tw-translate-x: -100%;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))}.-translate-y-1\/2{--tw-translate-y: -50%;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))}.translate-x-0{--tw-translate-x: 0px;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))}.translate-x-0\.5{--tw-translate-x: .125rem;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))}.translate-x-1{--tw-translate-x: .25rem;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))}.translate-x-4{--tw-translate-x: 1rem;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))}.translate-x-5{--tw-translate-x: 1.25rem;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))}.translate-x-6{--tw-translate-x: 1.5rem;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))}.translate-x-7{--tw-translate-x: 1.75rem;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))}.translate-x-8{--tw-translate-x: 2rem;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))}.translate-x-\[-100\%\]{--tw-translate-x: -100%;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))}.translate-y-0{--tw-translate-y: 0px;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))}.translate-y-6{--tw-translate-y: 1.5rem;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))}.translate-y-8{--tw-translate-y: 2rem;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))}.rotate-180{--tw-rotate: 180deg;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))}.rotate-90{--tw-rotate: 90deg;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))}.animate-\[progress_2s_ease-in-out_forwards\]{animation:progress 2s ease-in-out forwards}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .2s ease-in-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-dark-700\/30>:not([hidden])~:not([hidden]){border-color:#3341554d}.divide-dark-700\/40>:not([hidden])~:not([hidden]){border-color:#33415566}.divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity, 1))}.divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(31 41 55 / var(--tw-divide-opacity, 1))}.divide-gray-800\/50>:not([hidden])~:not([hidden]){border-color:#1f293780}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[20px\]{border-radius:20px}.rounded-\[3rem\]{border-radius:3rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-dashed{border-style:dashed}.border-amber-300\/50{border-color:#fcd34d80}.border-amber-500\/20{border-color:#f59e0b33}.border-amber-500\/30{border-color:#f59e0b4d}.border-amber-500\/40{border-color:#f59e0b66}.border-amber-500\/50{border-color:#f59e0b80}.border-amber-500\/60{border-color:#f59e0b99}.border-amber-700\/30{border-color:#b453094d}.border-black\/30{border-color:#0000004d}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-400{--tw-border-opacity: 1;border-color:rgb(96 165 250 / var(--tw-border-opacity, 1))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.border-blue-500\/20{border-color:#3b82f633}.border-blue-500\/30{border-color:#3b82f64d}.border-blue-500\/40{border-color:#3b82f666}.border-blue-500\/50{border-color:#3b82f680}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-blue-600\/40{border-color:#2563eb66}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity, 1))}.border-blue-700\/30{border-color:#1d4ed84d}.border-blue-700\/40{border-color:#1d4ed866}.border-blue-700\/50{border-color:#1d4ed880}.border-blue-800{--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.border-blue-800\/40{border-color:#1e40af66}.border-blue-800\/50{border-color:#1e40af80}.border-current{border-color:currentColor}.border-cyan-500\/20{border-color:#06b6d433}.border-danger-500\/30{border-color:#ef44444d}.border-dark-500{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.border-dark-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-dark-600\/30{border-color:#4755694d}.border-dark-600\/50{border-color:#47556980}.border-dark-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-dark-700\/30{border-color:#3341554d}.border-dark-700\/50{border-color:#33415580}.border-dark-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity, 1))}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-emerald-500\/30{border-color:#10b9814d}.border-emerald-500\/40{border-color:#10b98166}.border-emerald-500\/50{border-color:#10b98180}.border-emerald-500\/60{border-color:#10b98199}.border-emerald-700\/30{border-color:#0478574d}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-gray-500\/30{border-color:#6b72804d}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-700\/50{border-color:#37415180}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.border-gray-800\/50{border-color:#1f293780}.border-gray-900{--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity, 1))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity, 1))}.border-green-400\/20{border-color:#4ade8033}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-green-500\/20{border-color:#22c55e33}.border-green-500\/25{border-color:#22c55e40}.border-green-500\/30{border-color:#22c55e4d}.border-green-500\/50{border-color:#22c55e80}.border-green-600{--tw-border-opacity: 1;border-color:rgb(22 163 74 / var(--tw-border-opacity, 1))}.border-green-600\/30{border-color:#16a34a4d}.border-green-600\/40{border-color:#16a34a66}.border-green-700{--tw-border-opacity: 1;border-color:rgb(21 128 61 / var(--tw-border-opacity, 1))}.border-green-700\/30{border-color:#15803d4d}.border-green-700\/40{border-color:#15803d66}.border-green-700\/50{border-color:#15803d80}.border-green-800{--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity, 1))}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.border-indigo-500\/20{border-color:#6366f133}.border-indigo-500\/25{border-color:#6366f140}.border-indigo-500\/30{border-color:#6366f14d}.border-indigo-500\/50{border-color:#6366f180}.border-indigo-500\/60{border-color:#6366f199}.border-indigo-700\/50{border-color:#4338ca80}.border-indigo-800\/50{border-color:#3730a380}.border-info-500\/30{border-color:#3b82f64d}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity, 1))}.border-orange-500\/20{border-color:#f9731633}.border-orange-500\/30{border-color:#f973164d}.border-orange-500\/40{border-color:#f9731666}.border-orange-700\/30{border-color:#c2410c4d}.border-orange-700\/40{border-color:#c2410c66}.border-orange-800{--tw-border-opacity: 1;border-color:rgb(154 52 18 / var(--tw-border-opacity, 1))}.border-pink-500\/20{border-color:#ec489933}.border-pink-500\/30{border-color:#ec48994d}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-purple-500{--tw-border-opacity: 1;border-color:rgb(168 85 247 / var(--tw-border-opacity, 1))}.border-purple-500\/20{border-color:#a855f733}.border-purple-500\/30{border-color:#a855f74d}.border-purple-500\/40{border-color:#a855f766}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(147 51 234 / var(--tw-border-opacity, 1))}.border-purple-700\/30{border-color:#7e22ce4d}.border-purple-700\/50{border-color:#7e22ce80}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity, 1))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.border-red-500\/20{border-color:#ef444433}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/40{border-color:#ef444466}.border-red-500\/50{border-color:#ef444480}.border-red-600{--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.border-red-600\/30{border-color:#dc26264d}.border-red-700{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity, 1))}.border-red-700\/40{border-color:#b91c1c66}.border-red-700\/50{border-color:#b91c1c80}.border-red-800{--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.border-red-800\/50{border-color:#991b1b80}.border-rose-500\/20{border-color:#f43f5e33}.border-rose-500\/30{border-color:#f43f5e4d}.border-rose-500\/60{border-color:#f43f5e99}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-slate-600\/50{border-color:#47556980}.border-success-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-success-500\/30{border-color:#22c55e4d}.border-teal-500\/20{border-color:#14b8a633}.border-teal-600{--tw-border-opacity: 1;border-color:rgb(13 148 136 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-violet-400{--tw-border-opacity: 1;border-color:rgb(167 139 250 / var(--tw-border-opacity, 1))}.border-violet-400\/20{border-color:#a78bfa33}.border-violet-500{--tw-border-opacity: 1;border-color:rgb(139 92 246 / var(--tw-border-opacity, 1))}.border-violet-500\/40{border-color:#8b5cf666}.border-violet-500\/60{border-color:#8b5cf699}.border-violet-600\/50{border-color:#7c3aed80}.border-violet-700\/50{border-color:#6d28d980}.border-warning-500\/30{border-color:#f59e0b4d}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/30{border-color:#ffffff4d}.border-white\/5{border-color:#ffffff0d}.border-yellow-200{--tw-border-opacity: 1;border-color:rgb(254 240 138 / var(--tw-border-opacity, 1))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(250 204 21 / var(--tw-border-opacity, 1))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.border-yellow-500\/20{border-color:#eab30833}.border-yellow-500\/30{border-color:#eab3084d}.border-yellow-500\/40{border-color:#eab30866}.border-yellow-500\/50{border-color:#eab30880}.border-yellow-600{--tw-border-opacity: 1;border-color:rgb(202 138 4 / var(--tw-border-opacity, 1))}.border-yellow-700{--tw-border-opacity: 1;border-color:rgb(161 98 7 / var(--tw-border-opacity, 1))}.border-yellow-700\/30{border-color:#a162074d}.border-yellow-700\/40{border-color:#a1620766}.border-yellow-700\/50{border-color:#a1620780}.border-yellow-800{--tw-border-opacity: 1;border-color:rgb(133 77 14 / var(--tw-border-opacity, 1))}.border-yellow-800\/30{border-color:#854d0e4d}.border-yellow-800\/40{border-color:#854d0e66}.border-yellow-800\/50{border-color:#854d0e80}.border-zuryon-500{--tw-border-opacity: 1;border-color:rgb(97 114 243 / var(--tw-border-opacity, 1))}.border-zuryon-500\/20{border-color:#6172f333}.border-zuryon-500\/30{border-color:#6172f34d}.border-zuryon-500\/40{border-color:#6172f366}.border-zuryon-500\/60{border-color:#6172f399}.border-zuryon-600\/30{border-color:#444ce74d}.border-l-zuryon-500{--tw-border-opacity: 1;border-left-color:rgb(97 114 243 / var(--tw-border-opacity, 1))}.border-t-black{--tw-border-opacity: 1;border-top-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.border-t-white{--tw-border-opacity: 1;border-top-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-t-yellow-500{--tw-border-opacity: 1;border-top-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.border-t-zuryon-500{--tw-border-opacity: 1;border-top-color:rgb(97 114 243 / var(--tw-border-opacity, 1))}.bg-\[\#050508\]{--tw-bg-opacity: 1;background-color:rgb(5 5 8 / var(--tw-bg-opacity, 1))}.bg-\[\#0a0a0f\]{--tw-bg-opacity: 1;background-color:rgb(10 10 15 / var(--tw-bg-opacity, 1))}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/15{background-color:#f59e0b26}.bg-amber-500\/20{background-color:#f59e0b33}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-amber-900\/20{background-color:#78350f33}.bg-amber-950\/30{background-color:#451a034d}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/20{background-color:#0003}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-black\/90{background-color:#000000e6}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-400\/10{background-color:#60a5fa1a}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/15{background-color:#3b82f626}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/10{background-color:#2563eb1a}.bg-blue-600\/20{background-color:#2563eb33}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.bg-blue-900\/10{background-color:#1e3a8a1a}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-blue-900\/40{background-color:#1e3a8a66}.bg-blue-900\/50{background-color:#1e3a8a80}.bg-blue-900\/60{background-color:#1e3a8a99}.bg-blue-950\/30{background-color:#1725544d}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-cyan-500\/15{background-color:#06b6d426}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-cyan-900\/40{background-color:#164e6366}.bg-danger-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-danger-500\/10{background-color:#ef44441a}.bg-danger-500\/20{background-color:#ef444433}.bg-danger-500\/90{background-color:#ef4444e6}.bg-dark-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity, 1))}.bg-dark-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.bg-dark-600\/50{background-color:#47556980}.bg-dark-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.bg-dark-700\/30{background-color:#3341554d}.bg-dark-700\/50{background-color:#33415580}.bg-dark-700\/60{background-color:#33415599}.bg-dark-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-dark-800\/30{background-color:#1e293b4d}.bg-dark-800\/40{background-color:#1e293b66}.bg-dark-800\/50{background-color:#1e293b80}.bg-dark-800\/60{background-color:#1e293b99}.bg-dark-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-dark-900\/30{background-color:#0f172a4d}.bg-dark-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity, 1))}.bg-emerald-500\/10{background-color:#10b9811a}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-emerald-900\/20{background-color:#064e3b33}.bg-emerald-950\/30{background-color:#022c224d}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-500\/10{background-color:#6b72801a}.bg-gray-500\/30{background-color:#6b72804d}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-700\/30{background-color:#3741514d}.bg-gray-700\/40{background-color:#37415166}.bg-gray-700\/50{background-color:#37415180}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-800\/30{background-color:#1f29374d}.bg-gray-800\/40{background-color:#1f293766}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-800\/60{background-color:#1f293799}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-gray-900\/30{background-color:#1118274d}.bg-gray-900\/40{background-color:#11182766}.bg-gray-900\/50{background-color:#11182780}.bg-gray-900\/60{background-color:#11182799}.bg-gray-900\/80{background-color:#111827cc}.bg-gray-900\/90{background-color:#111827e6}.bg-gray-900\/95{background-color:#111827f2}.bg-gray-950{--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.bg-gray-950\/95{background-color:#030712f2}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-green-400\/10{background-color:#4ade801a}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-green-500\/20{background-color:#22c55e33}.bg-green-500\/60{background-color:#22c55e99}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-600\/20{background-color:#16a34a33}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.bg-green-900\/20{background-color:#14532d33}.bg-green-900\/30{background-color:#14532d4d}.bg-green-900\/40{background-color:#14532d66}.bg-green-900\/50{background-color:#14532d80}.bg-green-900\/60{background-color:#14532d99}.bg-green-950\/30{background-color:#052e164d}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-indigo-500\/10{background-color:#6366f11a}.bg-indigo-500\/20{background-color:#6366f133}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-indigo-600\/15{background-color:#4f46e526}.bg-indigo-600\/80{background-color:#4f46e5cc}.bg-indigo-900\/30{background-color:#312e814d}.bg-indigo-900\/80{background-color:#312e81cc}.bg-info-500\/10{background-color:#3b82f61a}.bg-info-500\/20{background-color:#3b82f633}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.bg-orange-50{--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-500\/15{background-color:#f9731626}.bg-orange-500\/20{background-color:#f9731633}.bg-orange-500\/30{background-color:#f973164d}.bg-orange-500\/5{background-color:#f973160d}.bg-orange-600{--tw-bg-opacity: 1;background-color:rgb(234 88 12 / var(--tw-bg-opacity, 1))}.bg-orange-600\/20{background-color:#ea580c33}.bg-orange-900\/10{background-color:#7c2d121a}.bg-orange-900\/20{background-color:#7c2d1233}.bg-orange-900\/30{background-color:#7c2d124d}.bg-orange-900\/40{background-color:#7c2d1266}.bg-orange-900\/50{background-color:#7c2d1280}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 231 243 / var(--tw-bg-opacity, 1))}.bg-pink-50{--tw-bg-opacity: 1;background-color:rgb(253 242 248 / var(--tw-bg-opacity, 1))}.bg-pink-500\/10{background-color:#ec48991a}.bg-pink-600{--tw-bg-opacity: 1;background-color:rgb(219 39 119 / var(--tw-bg-opacity, 1))}.bg-pink-900\/50{background-color:#83184380}.bg-purple-400{--tw-bg-opacity: 1;background-color:rgb(192 132 252 / var(--tw-bg-opacity, 1))}.bg-purple-50{--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/15{background-color:#a855f726}.bg-purple-500\/20{background-color:#a855f733}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.bg-purple-600\/10{background-color:#9333ea1a}.bg-purple-900\/10{background-color:#581c871a}.bg-purple-900\/20{background-color:#581c8733}.bg-purple-900\/30{background-color:#581c874d}.bg-purple-900\/40{background-color:#581c8766}.bg-purple-900\/50{background-color:#581c8780}.bg-purple-900\/80{background-color:#581c87cc}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-400\/10{background-color:#f871711a}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/20{background-color:#ef444433}.bg-red-500\/30{background-color:#ef44444d}.bg-red-500\/60{background-color:#ef444499}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-600\/20{background-color:#dc262633}.bg-red-900{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.bg-red-900\/10{background-color:#7f1d1d1a}.bg-red-900\/20{background-color:#7f1d1d33}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/50{background-color:#7f1d1d80}.bg-red-900\/60{background-color:#7f1d1d99}.bg-red-950\/30{background-color:#450a0a4d}.bg-red-950\/40{background-color:#450a0a66}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-success-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-success-500\/10{background-color:#22c55e1a}.bg-success-500\/15{background-color:#22c55e26}.bg-success-500\/20{background-color:#22c55e33}.bg-success-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-teal-500\/15{background-color:#14b8a626}.bg-teal-900\/50{background-color:#134e4a80}.bg-transparent{background-color:transparent}.bg-violet-400\/10{background-color:#a78bfa1a}.bg-violet-600{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.bg-violet-700{--tw-bg-opacity: 1;background-color:rgb(109 40 217 / var(--tw-bg-opacity, 1))}.bg-violet-800{--tw-bg-opacity: 1;background-color:rgb(91 33 182 / var(--tw-bg-opacity, 1))}.bg-violet-800\/50{background-color:#5b21b680}.bg-violet-800\/60{background-color:#5b21b699}.bg-violet-900\/20{background-color:#4c1d9533}.bg-violet-900\/30{background-color:#4c1d954d}.bg-violet-900\/40{background-color:#4c1d9566}.bg-warning-500\/10{background-color:#f59e0b1a}.bg-warning-500\/15{background-color:#f59e0b26}.bg-warning-500\/20{background-color:#f59e0b33}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/20{background-color:#fff3}.bg-white\/30{background-color:#ffffff4d}.bg-white\/40{background-color:#fff6}.bg-white\/5{background-color:#ffffff0d}.bg-white\/60{background-color:#fff9}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-yellow-400\/10{background-color:#facc151a}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-500\/15{background-color:#eab30826}.bg-yellow-500\/20{background-color:#eab30833}.bg-yellow-500\/30{background-color:#eab3084d}.bg-yellow-500\/5{background-color:#eab3080d}.bg-yellow-500\/60{background-color:#eab30899}.bg-yellow-600{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.bg-yellow-600\/30{background-color:#ca8a044d}.bg-yellow-700{--tw-bg-opacity: 1;background-color:rgb(161 98 7 / var(--tw-bg-opacity, 1))}.bg-yellow-900\/20{background-color:#713f1233}.bg-yellow-900\/30{background-color:#713f124d}.bg-yellow-900\/40{background-color:#713f1266}.bg-yellow-900\/50{background-color:#713f1280}.bg-yellow-900\/60{background-color:#713f1299}.bg-yellow-950\/40{background-color:#42200666}.bg-zuryon-50{--tw-bg-opacity: 1;background-color:rgb(240 244 255 / var(--tw-bg-opacity, 1))}.bg-zuryon-500{--tw-bg-opacity: 1;background-color:rgb(97 114 243 / var(--tw-bg-opacity, 1))}.bg-zuryon-500\/10{background-color:#6172f31a}.bg-zuryon-500\/20{background-color:#6172f333}.bg-zuryon-500\/5{background-color:#6172f30d}.bg-zuryon-600{--tw-bg-opacity: 1;background-color:rgb(68 76 231 / var(--tw-bg-opacity, 1))}.bg-zuryon-600\/10{background-color:#444ce71a}.bg-zuryon-600\/15{background-color:#444ce726}.bg-zuryon-600\/20{background-color:#444ce733}.bg-zuryon-600\/30{background-color:#444ce74d}.bg-zuryon-700{--tw-bg-opacity: 1;background-color:rgb(53 56 205 / var(--tw-bg-opacity, 1))}.bg-zuryon-900\/20{background-color:#2d328233}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#050508\]{--tw-gradient-from: #050508 var(--tw-gradient-from-position);--tw-gradient-to: rgb(5 5 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#0a0a0f\]{--tw-gradient-from: #0a0a0f var(--tw-gradient-from-position);--tw-gradient-to: rgb(10 10 15 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-300{--tw-gradient-from: #fcd34d var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-400{--tw-gradient-from: #fbbf24 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 191 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500{--tw-gradient-from: #f59e0b var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500\/15{--tw-gradient-from: rgb(245 158 11 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500\/20{--tw-gradient-from: rgb(245 158 11 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-600{--tw-gradient-from: #d97706 var(--tw-gradient-from-position);--tw-gradient-to: rgb(217 119 6 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-900{--tw-gradient-from: #78350f var(--tw-gradient-from-position);--tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-900\/70{--tw-gradient-from: rgb(120 53 15 / .7) var(--tw-gradient-from-position);--tw-gradient-to: rgb(120 53 15 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/60{--tw-gradient-from: rgb(0 0 0 / .6) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/80{--tw-gradient-from: rgb(0 0 0 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/15{--tw-gradient-from: rgb(59 130 246 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500\/20{--tw-gradient-from: rgb(59 130 246 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(59 130 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500\/15{--tw-gradient-from: rgb(6 182 212 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-900{--tw-gradient-from: #064e3b var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-emerald-900\/70{--tw-gradient-from: rgb(6 78 59 / .7) var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 78 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from: #111827 var(--tw-gradient-from-position);--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-950{--tw-gradient-from: #030712 var(--tw-gradient-from-position);--tw-gradient-to: rgb(3 7 18 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500\/15{--tw-gradient-from: rgb(34 197 94 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500\/20{--tw-gradient-from: rgb(34 197 94 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(34 197 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-400{--tw-gradient-from: #818cf8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(129 140 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500\/10{--tw-gradient-from: rgb(99 102 241 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500\/20{--tw-gradient-from: rgb(99 102 241 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-500\/40{--tw-gradient-from: rgb(99 102 241 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-900{--tw-gradient-from: #312e81 var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 46 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from: #f97316 var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-500\/15{--tw-gradient-from: rgb(249 115 22 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(249 115 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #ec4899 var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 72 153 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/15{--tw-gradient-from: rgb(168 85 247 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/20{--tw-gradient-from: rgb(168 85 247 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500\/15{--tw-gradient-from: rgb(239 68 68 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500\/20{--tw-gradient-from: rgb(239 68 68 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 68 68 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-500\/20{--tw-gradient-from: rgb(244 63 94 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 63 94 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-900{--tw-gradient-from: #881337 var(--tw-gradient-from-position);--tw-gradient-to: rgb(136 19 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-rose-900\/70{--tw-gradient-from: rgb(136 19 55 / .7) var(--tw-gradient-from-position);--tw-gradient-to: rgb(136 19 55 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-200{--tw-gradient-from: #e2e8f0 var(--tw-gradient-from-position);--tw-gradient-to: rgb(226 232 240 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-800{--tw-gradient-from: #1e293b var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 41 59 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-success-700{--tw-gradient-from: #15803d var(--tw-gradient-from-position);--tw-gradient-to: rgb(21 128 61 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500\/15{--tw-gradient-from: rgb(20 184 166 / .15) var(--tw-gradient-from-position);--tw-gradient-to: rgb(20 184 166 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-900{--tw-gradient-from: #134e4a var(--tw-gradient-from-position);--tw-gradient-to: rgb(19 78 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-600{--tw-gradient-from: #7c3aed var(--tw-gradient-from-position);--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-900{--tw-gradient-from: #4c1d95 var(--tw-gradient-from-position);--tw-gradient-to: rgb(76 29 149 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-900\/40{--tw-gradient-from: rgb(76 29 149 / .4) var(--tw-gradient-from-position);--tw-gradient-to: rgb(76 29 149 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-900\/70{--tw-gradient-from: rgb(76 29 149 / .7) var(--tw-gradient-from-position);--tw-gradient-to: rgb(76 29 149 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-violet-950{--tw-gradient-from: #2e1065 var(--tw-gradient-from-position);--tw-gradient-to: rgb(46 16 101 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-warning-600{--tw-gradient-from: #d97706 var(--tw-gradient-from-position);--tw-gradient-to: rgb(217 119 6 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/0{--tw-gradient-from: rgb(255 255 255 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from: #eab308 var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500\/10{--tw-gradient-from: rgb(234 179 8 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-500\/20{--tw-gradient-from: rgb(234 179 8 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 179 8 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-zuryon-600{--tw-gradient-from: #444ce7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(68 76 231 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-zuryon-700{--tw-gradient-from: #3538cd var(--tw-gradient-from-position);--tw-gradient-to: rgb(53 56 205 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/30{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-black\/40{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-gray-900{--tw-gradient-to: rgb(17 24 39 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #111827 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-indigo-500\/30{--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(99 102 241 / .3) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-400{--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #c084fc var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-500\/20{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(168 85 247 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-500\/40{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(168 85 247 / .4) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-violet-400{--tw-gradient-to: rgb(167 139 250 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a78bfa var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/10{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .1) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-amber-500\/40{--tw-gradient-to: rgb(245 158 11 / .4) var(--tw-gradient-to-position)}.to-amber-600\/10{--tw-gradient-to: rgb(217 119 6 / .1) var(--tw-gradient-to-position)}.to-amber-600\/5{--tw-gradient-to: rgb(217 119 6 / .05) var(--tw-gradient-to-position)}.to-black\/80{--tw-gradient-to: rgb(0 0 0 / .8) var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-blue-600\/10{--tw-gradient-to: rgb(37 99 235 / .1) var(--tw-gradient-to-position)}.to-blue-600\/20{--tw-gradient-to: rgb(37 99 235 / .2) var(--tw-gradient-to-position)}.to-blue-600\/5{--tw-gradient-to: rgb(37 99 235 / .05) var(--tw-gradient-to-position)}.to-blue-900{--tw-gradient-to: #1e3a8a var(--tw-gradient-to-position)}.to-blue-900\/40{--tw-gradient-to: rgb(30 58 138 / .4) var(--tw-gradient-to-position)}.to-cyan-600\/5{--tw-gradient-to: rgb(8 145 178 / .05) var(--tw-gradient-to-position)}.to-cyan-900{--tw-gradient-to: #164e63 var(--tw-gradient-to-position)}.to-gray-950{--tw-gradient-to: #030712 var(--tw-gradient-to-position)}.to-green-500\/10{--tw-gradient-to: rgb(34 197 94 / .1) var(--tw-gradient-to-position)}.to-green-600\/10{--tw-gradient-to: rgb(22 163 74 / .1) var(--tw-gradient-to-position)}.to-green-600\/5{--tw-gradient-to: rgb(22 163 74 / .05) var(--tw-gradient-to-position)}.to-indigo-600\/5{--tw-gradient-to: rgb(79 70 229 / .05) var(--tw-gradient-to-position)}.to-indigo-700{--tw-gradient-to: #4338ca var(--tw-gradient-to-position)}.to-info-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #fb923c var(--tw-gradient-to-position)}.to-orange-500\/20{--tw-gradient-to: rgb(249 115 22 / .2) var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-orange-600\/5{--tw-gradient-to: rgb(234 88 12 / .05) var(--tw-gradient-to-position)}.to-orange-700{--tw-gradient-to: #c2410c var(--tw-gradient-to-position)}.to-orange-900{--tw-gradient-to: #7c2d12 var(--tw-gradient-to-position)}.to-orange-900\/70{--tw-gradient-to: rgb(124 45 18 / .7) var(--tw-gradient-to-position)}.to-pink-400{--tw-gradient-to: #f472b6 var(--tw-gradient-to-position)}.to-pink-900{--tw-gradient-to: #831843 var(--tw-gradient-to-position)}.to-pink-900\/70{--tw-gradient-to: rgb(131 24 67 / .7) var(--tw-gradient-to-position)}.to-purple-400{--tw-gradient-to: #c084fc var(--tw-gradient-to-position)}.to-purple-500\/10{--tw-gradient-to: rgb(168 85 247 / .1) var(--tw-gradient-to-position)}.to-purple-500\/20{--tw-gradient-to: rgb(168 85 247 / .2) var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to: #9333ea var(--tw-gradient-to-position)}.to-purple-600\/10{--tw-gradient-to: rgb(147 51 234 / .1) var(--tw-gradient-to-position)}.to-purple-600\/5{--tw-gradient-to: rgb(147 51 234 / .05) var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #7e22ce var(--tw-gradient-to-position)}.to-purple-900{--tw-gradient-to: #581c87 var(--tw-gradient-to-position)}.to-purple-900\/70{--tw-gradient-to: rgb(88 28 135 / .7) var(--tw-gradient-to-position)}.to-red-600\/10{--tw-gradient-to: rgb(220 38 38 / .1) var(--tw-gradient-to-position)}.to-red-600\/5{--tw-gradient-to: rgb(220 38 38 / .05) var(--tw-gradient-to-position)}.to-rose-600{--tw-gradient-to: #e11d48 var(--tw-gradient-to-position)}.to-rose-600\/5{--tw-gradient-to: rgb(225 29 72 / .05) var(--tw-gradient-to-position)}.to-slate-400{--tw-gradient-to: #94a3b8 var(--tw-gradient-to-position)}.to-slate-900{--tw-gradient-to: #0f172a var(--tw-gradient-to-position)}.to-success-500{--tw-gradient-to: #22c55e var(--tw-gradient-to-position)}.to-teal-600\/5{--tw-gradient-to: rgb(13 148 136 / .05) var(--tw-gradient-to-position)}.to-teal-900{--tw-gradient-to: #134e4a var(--tw-gradient-to-position)}.to-teal-900\/70{--tw-gradient-to: rgb(19 78 74 / .7) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-warning-500{--tw-gradient-to: #f59e0b var(--tw-gradient-to-position)}.to-white\/0{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position)}.to-yellow-600\/5{--tw-gradient-to: rgb(202 138 4 / .05) var(--tw-gradient-to-position)}.to-zuryon-500{--tw-gradient-to: #6172f3 var(--tw-gradient-to-position)}.to-zuryon-800{--tw-gradient-to: #2d31a6 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-center{background-position:center}.fill-current{fill:currentColor}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-12{padding:3rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-16{padding-left:4rem;padding-right:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-12{padding-top:3rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:JetBrains Mono,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-6xl{font-size:3.75rem;line-height:1}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[5px\]{font-size:5px}.text-\[6px\]{font-size:6px}.text-\[7px\]{font-size:7px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.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-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[1\.05\]{line-height:1.05}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.5em\]{letter-spacing:.5em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-400\/80{color:#60a5facc}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-danger-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-dark-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-dark-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-dark-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-dark-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-dark-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.text-dark-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-dark-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-300{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-indigo-400\/80{color:#818cf8cc}.text-info-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-orange-100{--tw-text-opacity: 1;color:rgb(255 237 213 / var(--tw-text-opacity, 1))}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity, 1))}.text-pink-300{--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity, 1))}.text-pink-400{--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.text-pink-500{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-pink-700{--tw-text-opacity: 1;color:rgb(190 24 93 / var(--tw-text-opacity, 1))}.text-purple-200{--tw-text-opacity: 1;color:rgb(233 213 255 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-800{--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-rose-300{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-success-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-success-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-teal-300{--tw-text-opacity: 1;color:rgb(94 234 212 / var(--tw-text-opacity, 1))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-violet-200{--tw-text-opacity: 1;color:rgb(221 214 254 / var(--tw-text-opacity, 1))}.text-violet-300{--tw-text-opacity: 1;color:rgb(196 181 253 / var(--tw-text-opacity, 1))}.text-violet-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.text-warning-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/15{color:#ffffff26}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-yellow-200\/70{color:#fef08ab3}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-500\/60{color:#eab30899}.text-yellow-500\/70{color:#eab308b3}.text-yellow-500\/80{color:#eab308cc}.text-yellow-600\/60{color:#ca8a0499}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.text-yellow-950{--tw-text-opacity: 1;color:rgb(66 32 6 / var(--tw-text-opacity, 1))}.text-zuryon-200{--tw-text-opacity: 1;color:rgb(199 215 254 / var(--tw-text-opacity, 1))}.text-zuryon-300{--tw-text-opacity: 1;color:rgb(165 187 252 / var(--tw-text-opacity, 1))}.text-zuryon-400{--tw-text-opacity: 1;color:rgb(128 152 249 / var(--tw-text-opacity, 1))}.text-zuryon-400\/60{color:#8098f999}.text-zuryon-500{--tw-text-opacity: 1;color:rgb(97 114 243 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.placeholder-dark-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}.placeholder-dark-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(148 163 184 / var(--tw-placeholder-opacity, 1))}.placeholder-dark-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.placeholder-dark-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-600::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(75 85 99 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-600::placeholder{--tw-placeholder-opacity: 1;color:rgb(75 85 99 / var(--tw-placeholder-opacity, 1))}.placeholder-white\/30::-moz-placeholder{color:#ffffff4d}.placeholder-white\/30::placeholder{color:#ffffff4d}.accent-amber-600{accent-color:#d97706}.accent-blue-500{accent-color:#3b82f6}.accent-danger-500{accent-color:#ef4444}.accent-green-500{accent-color:#22c55e}.accent-violet-500{accent-color:#8b5cf6}.accent-zuryon-500{accent-color:#6172f3}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-\[0\.015\]{opacity:.015}.opacity-\[0\.025\]{opacity:.025}.opacity-\[0\.02\]{opacity:.02}.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)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-amber-200{--tw-shadow-color: #fde68a;--tw-shadow: var(--tw-shadow-colored)}.shadow-amber-500\/20{--tw-shadow-color: rgb(245 158 11 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-amber-500\/30{--tw-shadow-color: rgb(245 158 11 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-amber-500\/50{--tw-shadow-color: rgb(245 158 11 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-black\/50{--tw-shadow-color: rgb(0 0 0 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/10{--tw-shadow-color: rgb(59 130 246 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/20{--tw-shadow-color: rgb(59 130 246 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-emerald-500\/20{--tw-shadow-color: rgb(16 185 129 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-gray-500\/10{--tw-shadow-color: rgb(107 114 128 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/10{--tw-shadow-color: rgb(34 197 94 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/20{--tw-shadow-color: rgb(34 197 94 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-500\/25{--tw-shadow-color: rgb(99 102 241 / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-500\/30{--tw-shadow-color: rgb(99 102 241 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-900{--tw-shadow-color: #312e81;--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/20{--tw-shadow-color: rgb(249 115 22 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/30{--tw-shadow-color: rgb(236 72 153 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/20{--tw-shadow-color: rgb(168 85 247 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/30{--tw-shadow-color: rgb(168 85 247 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/10{--tw-shadow-color: rgb(239 68 68 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/20{--tw-shadow-color: rgb(239 68 68 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-500\/10{--tw-shadow-color: rgb(100 116 139 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-slate-900{--tw-shadow-color: #0f172a;--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/20{--tw-shadow-color: rgb(20 184 166 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-violet-500\/25{--tw-shadow-color: rgb(139 92 246 / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-violet-900\/30{--tw-shadow-color: rgb(76 29 149 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-violet-900\/50{--tw-shadow-color: rgb(76 29 149 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/10{--tw-shadow-color: rgb(234 179 8 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/20{--tw-shadow-color: rgb(234 179 8 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/40{--tw-shadow-color: rgb(234 179 8 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-zuryon-500\/10{--tw-shadow-color: rgb(97 114 243 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-zuryon-500\/20{--tw-shadow-color: rgb(97 114 243 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-zuryon-500\/30{--tw-shadow-color: rgb(97 114 243 / .3);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--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(3px + 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)}.ring-1{--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(1px + 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)}.ring-2{--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)}.ring-blue-500\/30{--tw-ring-color: rgb(59 130 246 / .3)}.ring-green-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 222 128 / var(--tw-ring-opacity, 1))}.ring-indigo-500\/60{--tw-ring-color: rgb(99 102 241 / .6)}.ring-violet-500\/50{--tw-ring-color: rgb(139 92 246 / .5)}.ring-zuryon-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(128 152 249 / var(--tw-ring-opacity, 1))}.ring-zuryon-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(97 114 243 / var(--tw-ring-opacity, 1))}.ring-zuryon-500\/30{--tw-ring-color: rgb(97 114 243 / .3)}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-gray-950{--tw-ring-offset-color: #030712}.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)}.blur-2xl{--tw-blur: blur(40px);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)}.blur-3xl{--tw-blur: blur(64px);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)}.blur-\[100px\]{--tw-blur: blur(100px);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)}.blur-\[120px\]{--tw-blur: blur(120px);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)}.blur-xl{--tw-blur: blur(24px);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)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));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)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));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-blur{--tw-backdrop-blur: blur(8px);-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)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-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)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-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,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.text-gradient{background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #8098f9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(128 152 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #444ce7 var(--tw-gradient-to-position);-webkit-background-clip:text;background-clip:text;color:transparent}.glow{box-shadow:0 0 20px #6172f34d}.theme-transition{transition:background-color .3s ease,color .3s ease,border-color .3s ease}.placeholder\:text-theme-muted::-moz-placeholder{color:var(--color-text-muted)}.placeholder\:text-theme-muted::placeholder{color:var(--color-text-muted)}.hover\:text-theme-heading:hover{color:var(--color-text-heading)}.hover\:bg-theme:hover{background-color:var(--color-bg)}.hover\:bg-theme-card:hover{background-color:var(--color-bg-card)}.hover\:bg-theme-card2:hover{background-color:var(--color-bg-card2)}.placeholder\:text-dark-500::-moz-placeholder{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.placeholder\:text-dark-500::placeholder{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.last\:border-0:last-child{border-width:0px}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;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))}.hover\:-translate-y-1\.5:hover{--tw-translate-y: -.375rem;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))}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;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))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.hover\:scale-\[1\.01\]:hover{--tw-scale-x: 1.01;--tw-scale-y: 1.01;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))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;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))}.hover\:border-amber-400\/50:hover{border-color:#fbbf2480}.hover\:border-blue-400\/50:hover{border-color:#60a5fa80}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:border-blue-500\/50:hover{border-color:#3b82f680}.hover\:border-cyan-400\/50:hover{border-color:#22d3ee80}.hover\:border-dark-500:hover{--tw-border-opacity: 1;border-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.hover\:border-dark-600:hover{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.hover\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.hover\:border-gray-700:hover{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.hover\:border-green-400\/50:hover{border-color:#4ade8080}.hover\:border-green-500:hover{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.hover\:border-green-500\/50:hover{border-color:#22c55e80}.hover\:border-indigo-500\/25:hover{border-color:#6366f140}.hover\:border-indigo-500\/30:hover{border-color:#6366f14d}.hover\:border-indigo-500\/50:hover{border-color:#6366f180}.hover\:border-indigo-500\/60:hover{border-color:#6366f199}.hover\:border-orange-400\/50:hover{border-color:#fb923c80}.hover\:border-purple-400\/50:hover{border-color:#c084fc80}.hover\:border-red-400\/50:hover{border-color:#f8717180}.hover\:border-red-500:hover{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.hover\:border-teal-400\/50:hover{border-color:#2dd4bf80}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:border-white\/30:hover{border-color:#ffffff4d}.hover\:border-white\/40:hover{border-color:#fff6}.hover\:border-zuryon-500:hover{--tw-border-opacity: 1;border-color:rgb(97 114 243 / var(--tw-border-opacity, 1))}.hover\:border-zuryon-500\/30:hover{border-color:#6172f34d}.hover\:border-zuryon-500\/40:hover{border-color:#6172f366}.hover\:border-zuryon-500\/50:hover{border-color:#6172f380}.hover\:bg-amber-900\/30:hover{background-color:#78350f4d}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-500\/30:hover{background-color:#3b82f64d}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-800\/60:hover{background-color:#1e40af99}.hover\:bg-blue-900\/30:hover{background-color:#1e3a8a4d}.hover\:bg-danger-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\:bg-danger-500\/10:hover{background-color:#ef44441a}.hover\:bg-danger-500\/20:hover{background-color:#ef444433}.hover\:bg-danger-500\/30:hover{background-color:#ef44444d}.hover\:bg-dark-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.hover\:bg-dark-700:hover{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.hover\:bg-dark-700\/20:hover{background-color:#33415533}.hover\:bg-dark-700\/30:hover{background-color:#3341554d}.hover\:bg-dark-700\/50:hover{background-color:#33415580}.hover\:bg-dark-900\/50:hover{background-color:#0f172a80}.hover\:bg-emerald-500\/30:hover{background-color:#10b9814d}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity, 1))}.hover\:bg-emerald-900\/30:hover{background-color:#064e3b4d}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-700\/20:hover{background-color:#37415133}.hover\:bg-gray-700\/50:hover{background-color:#37415180}.hover\:bg-gray-700\/60:hover{background-color:#37415199}.hover\:bg-gray-700\/80:hover{background-color:#374151cc}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800\/20:hover{background-color:#1f293733}.hover\:bg-gray-800\/30:hover{background-color:#1f29374d}.hover\:bg-gray-800\/40:hover{background-color:#1f293766}.hover\:bg-gray-800\/50:hover{background-color:#1f293780}.hover\:bg-green-400:hover{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600\/30:hover{background-color:#16a34a4d}.hover\:bg-green-800\/60:hover{background-color:#16653499}.hover\:bg-green-800\/70:hover{background-color:#166534b3}.hover\:bg-green-900\/30:hover{background-color:#14532d4d}.hover\:bg-green-900\/50:hover{background-color:#14532d80}.hover\:bg-green-900\/60:hover{background-color:#14532d99}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.hover\:bg-info-500\/30:hover{background-color:#3b82f64d}.hover\:bg-orange-500:hover{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.hover\:bg-orange-700:hover{--tw-bg-opacity: 1;background-color:rgb(194 65 12 / var(--tw-bg-opacity, 1))}.hover\:bg-purple-500:hover{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500:hover{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-red-500\/30:hover{background-color:#ef44444d}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600\/30:hover{background-color:#dc26264d}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\:bg-red-800\/50:hover{background-color:#991b1b80}.hover\:bg-red-800\/60:hover{background-color:#991b1b99}.hover\:bg-red-900:hover{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.hover\:bg-red-900\/20:hover{background-color:#7f1d1d33}.hover\:bg-red-900\/30:hover{background-color:#7f1d1d4d}.hover\:bg-red-900\/40:hover{background-color:#7f1d1d66}.hover\:bg-red-900\/50:hover{background-color:#7f1d1d80}.hover\:bg-red-900\/60:hover{background-color:#7f1d1d99}.hover\:bg-success-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-success-500\/20:hover{background-color:#22c55e33}.hover\:bg-success-500\/30:hover{background-color:#22c55e4d}.hover\:bg-violet-500:hover{--tw-bg-opacity: 1;background-color:rgb(139 92 246 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/70:hover{background-color:#ffffffb3}.hover\:bg-yellow-400:hover{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.hover\:bg-yellow-600\/50:hover{background-color:#ca8a0480}.hover\:bg-yellow-800\/60:hover{background-color:#854d0e99}.hover\:bg-yellow-900\/30:hover{background-color:#713f124d}.hover\:bg-zuryon-500:hover{--tw-bg-opacity: 1;background-color:rgb(97 114 243 / var(--tw-bg-opacity, 1))}.hover\:bg-zuryon-500\/10:hover{background-color:#6172f31a}.hover\:bg-zuryon-500\/30:hover{background-color:#6172f34d}.hover\:bg-zuryon-500\/40:hover{background-color:#6172f366}.hover\:bg-zuryon-500\/5:hover{background-color:#6172f30d}.hover\:bg-zuryon-600:hover{--tw-bg-opacity: 1;background-color:rgb(68 76 231 / var(--tw-bg-opacity, 1))}.hover\:bg-zuryon-600\/10:hover{background-color:#444ce71a}.hover\:bg-zuryon-600\/30:hover{background-color:#444ce74d}.hover\:bg-zuryon-600\/40:hover{background-color:#444ce766}.hover\:bg-zuryon-700:hover{--tw-bg-opacity: 1;background-color:rgb(53 56 205 / var(--tw-bg-opacity, 1))}.hover\:from-amber-500:hover{--tw-gradient-from: #f59e0b var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-indigo-500:hover{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:from-violet-500:hover{--tw-gradient-from: #8b5cf6 var(--tw-gradient-from-position);--tw-gradient-to: rgb(139 92 246 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-orange-500:hover{--tw-gradient-to: #f97316 var(--tw-gradient-to-position)}.hover\:to-purple-500:hover{--tw-gradient-to: #a855f7 var(--tw-gradient-to-position)}.hover\:text-blue-300:hover{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.hover\:text-danger-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.hover\:text-danger-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\:text-dark-100:hover{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.hover\:text-dark-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-gray-300:hover{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.hover\:text-gray-400:hover{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.hover\:text-purple-300:hover{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.hover\:text-red-200:hover{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-violet-300:hover{--tw-text-opacity: 1;color:rgb(196 181 253 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-yellow-300:hover{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.hover\:text-zuryon-400:hover{--tw-text-opacity: 1;color:rgb(128 152 249 / var(--tw-text-opacity, 1))}.hover\:text-zuryon-600:hover{--tw-text-opacity: 1;color:rgb(68 76 231 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-2xl:hover{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-amber-500\/15:hover{--tw-shadow-color: rgb(245 158 11 / .15);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-black\/30:hover{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-emerald-500\/20:hover{--tw-shadow-color: rgb(16 185 129 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/15:hover{--tw-shadow-color: rgb(99 102 241 / .15);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/25:hover{--tw-shadow-color: rgb(99 102 241 / .25);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/30:hover{--tw-shadow-color: rgb(99 102 241 / .3);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/40:hover{--tw-shadow-color: rgb(99 102 241 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/50:hover{--tw-shadow-color: rgb(99 102 241 / .5);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-rose-500\/15:hover{--tw-shadow-color: rgb(244 63 94 / .15);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-slate-500\/20:hover{--tw-shadow-color: rgb(100 116 139 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-teal-500\/20:hover{--tw-shadow-color: rgb(20 184 166 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-violet-500\/20:hover{--tw-shadow-color: rgb(139 92 246 / .2);--tw-shadow: var(--tw-shadow-colored)}.focus\:border-amber-500:focus{--tw-border-opacity: 1;border-color:rgb(245 158 11 / var(--tw-border-opacity, 1))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-green-500:focus{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.focus\:border-indigo-500:focus{--tw-border-opacity: 1;border-color:rgb(99 102 241 / var(--tw-border-opacity, 1))}.focus\:border-purple-500:focus{--tw-border-opacity: 1;border-color:rgb(168 85 247 / var(--tw-border-opacity, 1))}.focus\:border-red-500:focus{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.focus\:border-white\/30:focus{border-color:#ffffff4d}.focus\:border-yellow-500:focus{--tw-border-opacity: 1;border-color:rgb(234 179 8 / var(--tw-border-opacity, 1))}.focus\:border-zuryon-500:focus{--tw-border-opacity: 1;border-color:rgb(97 114 243 / var(--tw-border-opacity, 1))}.focus\:bg-gray-800:focus{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / 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-orange-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1))}.focus\:ring-orange-500\/30:focus{--tw-ring-color: rgb(249 115 22 / .3)}.focus\:ring-zuryon-500\/40:focus{--tw-ring-color: rgb(97 114 243 / .4)}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;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))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;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))}.active\:bg-zuryon-800:active{--tw-bg-opacity: 1;background-color:rgb(45 49 166 / var(--tw-bg-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;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))}.group:hover .group-hover\:translate-x-\[100\%\]{--tw-translate-x: 100%;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))}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;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))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;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))}.group:hover .group-hover\:bg-zuryon-600{--tw-bg-opacity: 1;background-color:rgb(68 76 231 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-indigo-300{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-violet-300{--tw-text-opacity: 1;color:rgb(196 181 253 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-violet-400{--tw-text-opacity: 1;color:rgb(167 139 250 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-zuryon-400{--tw-text-opacity: 1;color:rgb(128 152 249 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-blue-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(30 64 175 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:border-green-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(22 101 52 / var(--tw-border-opacity, 1))}.dark\:border-purple-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 33 168 / var(--tw-border-opacity, 1))}.dark\:border-red-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(220 38 38 / var(--tw-border-opacity, 1))}.dark\:border-red-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(153 27 27 / var(--tw-border-opacity, 1))}.dark\:border-yellow-800:is(.dark *){--tw-border-opacity: 1;border-color:rgb(133 77 14 / var(--tw-border-opacity, 1))}.dark\:bg-blue-900\/10:is(.dark *){background-color:#1e3a8a1a}.dark\:bg-blue-900\/30:is(.dark *){background-color:#1e3a8a4d}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-900\/30:is(.dark *){background-color:#14532d4d}.dark\:bg-orange-900\/10:is(.dark *){background-color:#7c2d121a}.dark\:bg-orange-900\/20:is(.dark *){background-color:#7c2d1233}.dark\:bg-orange-900\/30:is(.dark *){background-color:#7c2d124d}.dark\:bg-pink-900\/10:is(.dark *){background-color:#8318431a}.dark\:bg-pink-900\/30:is(.dark *){background-color:#8318434d}.dark\:bg-purple-900\/10:is(.dark *){background-color:#581c871a}.dark\:bg-red-900\/20:is(.dark *){background-color:#7f1d1d33}.dark\:bg-yellow-900\/10:is(.dark *){background-color:#713f121a}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:text-gray-600:is(.dark *){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.dark\:text-orange-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.dark\:text-orange-400:is(.dark *){--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.dark\:text-pink-300:is(.dark *){--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity, 1))}.dark\:text-pink-400:is(.dark *){--tw-text-opacity: 1;color:rgb(244 114 182 / var(--tw-text-opacity, 1))}.dark\:text-purple-300:is(.dark *){--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.dark\:text-purple-400:is(.dark *){--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.dark\:text-white:is(.dark *){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.dark\:text-yellow-300:is(.dark *){--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-gray-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:mb-12{margin-bottom:3rem}.sm\:mb-16{margin-bottom:4rem}.sm\:mb-6{margin-bottom:1.5rem}.sm\:mt-10{margin-top:2.5rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:h-24{height:6rem}.sm\:h-28{height:7rem}.sm\:h-64{height:16rem}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-wrap{flex-wrap:wrap}.sm\:items-center{align-items:center}.sm\:justify-center{justify-content:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:gap-6{gap:1.5rem}.sm\:rounded-2xl{border-radius:1rem}.sm\:rounded-3xl{border-radius:1.5rem}.sm\:p-3{padding:.75rem}.sm\:p-4{padding:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-32{padding-top:8rem;padding-bottom:8rem}.sm\:pb-0{padding-bottom:0}.sm\:pb-20{padding-bottom:5rem}.sm\:pb-6{padding-bottom:1.5rem}.sm\:pt-28{padding-top:7rem}.sm\:text-left{text-align:left}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:p-16{padding:4rem}.md\:p-6{padding:1.5rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 1024px){.lg\:static{position:static}.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:w-56{width:14rem}.lg\:w-80{width:20rem}.lg\:max-w-sm{max-width:24rem}.lg\:translate-x-0{--tw-translate-x: 0px;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))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:p-6{padding:1.5rem}.lg\:text-8xl{font-size:6rem;line-height:1}}@media (min-width: 1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width: 1536px){.\32xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\32xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* ZJ-MOBILE-V5 — PDV no celular (01/08/2026)
   ESTRUTURA IGUAL AO BLOCO ORIGINAL APROVADO PELO DONO:
     - carrinho FIXO NA LATERAL (nunca no rodape)
     - header/nav/carrinho fixos, so a grade rola
     - desktop (>=1024px) intocado
   Unica diferenca em relacao ao original: nome do produto e preco legiveis
   (o original usava 5-6 colunas com fonte .58rem e o preco virava "R$..."). */
.zj-pdv-root{height:100vh;height:100dvh;min-height:0!important;overflow:hidden}

@media (max-width:1023px){
  /* carrinho LATERAL — mesma abordagem do original (vw com limites) */
  .zj-pdv-cart{width:34vw!important;min-width:150px;max-width:260px;flex-shrink:0}
  .zj-pdv-grid{gap:.3rem!important}
  .zj-pdv-grid>button{border-radius:.4rem;padding:.3rem!important}
  .zj-pdv-grid .aspect-square,.zj-pdv-grid img{border-radius:.3rem}
  /* nome: 2 linhas com reticencias */
  .zj-pdv-grid button p{
    margin:0;overflow:hidden;text-overflow:ellipsis;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  }
  /* preco: uma linha, sem encolher, sem quebrar */
  .zj-pdv-grid button>div.flex.items-center.justify-between>p{
    -webkit-line-clamp:1;white-space:nowrap;flex:1 1 auto;min-width:0;
    font-weight:800;letter-spacing:-.02em;
  }
  .zj-pdv-grid button>div.flex.items-center.justify-between>div{flex-shrink:0}
}

/* celular retrato: 4 colunas (o original tinha 5 e cortava tudo) */
@media (max-width:479px){
  .zj-pdv-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .zj-pdv-cart{width:35vw!important}
  .zj-pdv-grid p,.zj-pdv-grid span{font-size:.62rem!important;line-height:1.12!important}
}

/* celular grande / paisagem: 5 colunas */
@media (min-width:480px) and (max-width:767px){
  .zj-pdv-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .zj-pdv-grid p,.zj-pdv-grid span{font-size:.64rem!important;line-height:1.12!important}
}

/* tablet: 6 colunas */
@media (min-width:768px) and (max-width:1023px){
  .zj-pdv-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  .zj-pdv-grid p,.zj-pdv-grid span{font-size:.66rem!important;line-height:1.12!important}
}
/* ============================================================
   ZJ-PREMIUM v1 — Design System unificado Zuryon Hub
   Padrão ouro: Portal do Lojista (slate-950/900, acento índigo)
   Escopo: Kitchen/Bar (zj-kds-root), Garçom (zj-garcom-root),
   Driver (zj-driver-root), Core (zj-core-root), Super (zj-super-root)
   + refinos globais de responsividade. Desktop preservado.
   ============================================================ */

/* ---- 1. Paleta premium: gray -> slate nos painéis escopados ---- */
.zj-kds-root, .zj-garcom-root, .zj-driver-root, .zj-core-root, .zj-super-root{
  background-color:#020617 !important;
}
.zj-kds-root .bg-gray-950, .zj-garcom-root .bg-gray-950, .zj-driver-root .bg-gray-950,
.zj-core-root .bg-gray-950, .zj-super-root .bg-gray-950{background-color:#020617 !important}
.zj-kds-root .bg-gray-900, .zj-garcom-root .bg-gray-900, .zj-driver-root .bg-gray-900,
.zj-core-root .bg-gray-900, .zj-super-root .bg-gray-900{background-color:#0f172a !important}
.zj-kds-root .bg-gray-800, .zj-garcom-root .bg-gray-800, .zj-driver-root .bg-gray-800,
.zj-core-root .bg-gray-800, .zj-super-root .bg-gray-800{background-color:#1e293b !important}
.zj-kds-root .border-gray-800, .zj-garcom-root .border-gray-800, .zj-driver-root .border-gray-800,
.zj-core-root .border-gray-800, .zj-super-root .border-gray-800{border-color:#1e293b !important}
.zj-kds-root .border-gray-700, .zj-garcom-root .border-gray-700, .zj-driver-root .border-gray-700,
.zj-core-root .border-gray-700, .zj-super-root .border-gray-700{border-color:#334155 !important}
.zj-kds-root .bg-gray-900\/95, .zj-garcom-root .bg-gray-900\/95, .zj-driver-root .bg-gray-900\/95,
.zj-core-root .bg-gray-900\/95, .zj-super-root .bg-gray-900\/95{background-color:rgba(15,23,42,.95) !important}
.zj-kds-root .bg-gray-900\/50, .zj-garcom-root .bg-gray-900\/50, .zj-driver-root .bg-gray-900\/50,
.zj-core-root .bg-gray-900\/50, .zj-super-root .bg-gray-900\/50{background-color:rgba(15,23,42,.5) !important}
.zj-kds-root .bg-gray-800\/50, .zj-garcom-root .bg-gray-800\/50, .zj-driver-root .bg-gray-800\/50,
.zj-core-root .bg-gray-800\/50, .zj-super-root .bg-gray-800\/50{background-color:rgba(30,41,59,.5) !important}

/* ---- 2. Acabamento premium: cards, radius e sombras suaves ---- */
.zj-kds-root .rounded-xl, .zj-garcom-root .rounded-xl, .zj-driver-root .rounded-xl,
.zj-core-root .rounded-xl, .zj-super-root .rounded-xl{border-radius:.75rem}
.zj-core-root aside, .zj-super-root aside{
  background-color:#0f172a !important; border-color:#1e293b !important;
}
.zj-kds-root header, .zj-garcom-root header, .zj-driver-root header{
  background-color:#0f172a !important; border-bottom:1px solid #1e293b !important;
  box-shadow:0 1px 0 rgba(68,76,231,.15) !important;
}

/* ---- 3. Estrutura: tela travada, só o conteúdo rola (padrão Portal) ---- */
.zj-kds-root, .zj-garcom-root, .zj-driver-root{
  height:100vh; height:100dvh; min-height:0 !important;
  display:flex; flex-direction:column; overflow:hidden;
}
.zj-kds-root>main, .zj-kds-root>div.flex-1,
.zj-garcom-root>main, .zj-garcom-root>div.flex-1,
.zj-driver-root>main, .zj-driver-root>div.flex-1{
  flex:1 1 0%; min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.zj-core-root, .zj-super-root{height:100vh; height:100dvh; overflow:hidden}
.zj-core-root>main, .zj-super-root>main,
.zj-core-root>div.flex-1, .zj-super-root>div.flex-1{
  min-height:0; overflow-y:auto; -webkit-overflow-scrolling:touch; height:100%;
}
.zj-core-root aside, .zj-super-root aside{overflow-y:auto}

/* ---- 4. Responsividade mobile/tablet: densidade e grades ---- */
@media (max-width:1023px){
  /* headers mais compactos */
  .zj-kds-root header, .zj-garcom-root header, .zj-driver-root header{
    padding-top:.5rem !important; padding-bottom:.5rem !important;
  }
  .zj-kds-root header .w-10, .zj-garcom-root header .w-10, .zj-driver-root header .w-10{
    width:2rem !important; height:2rem !important;
  }
  /* tipografia compacta em cards */
  .zj-kds-root .text-2xl, .zj-garcom-root .text-2xl, .zj-driver-root .text-2xl{font-size:1.25rem !important}
  .zj-kds-root .text-xl, .zj-garcom-root .text-xl, .zj-driver-root .text-xl{font-size:1.05rem !important}
  /* tabelas administrativas roláveis no mobile */
  .zj-core-root table, .zj-super-root table{min-width:640px}
  .zj-core-root .overflow-x-auto, .zj-super-root .overflow-x-auto{-webkit-overflow-scrolling:touch}
}

/* KDS (Cozinha/Bar): grade de tickets densa */
@media (max-width:479px){
  .zj-kds-root .grid.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr)) !important; gap:.5rem !important}
}
@media (min-width:480px) and (max-width:767px){
  .zj-kds-root .grid.grid-cols-1{grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:.5rem !important}
}
@media (min-width:768px) and (max-width:1023px){
  .zj-kds-root .grid.grid-cols-1{grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:.625rem !important}
}

/* Garçom: grades de mesas e produtos mais densas no mobile */
@media (max-width:767px){
  .zj-garcom-root .grid.grid-cols-2.sm\:grid-cols-3{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:.5rem !important;
  }
  .zj-garcom-root .grid.grid-cols-3.sm\:grid-cols-4{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:.375rem !important;
  }
  .zj-garcom-root .grid.grid-cols-3.sm\:grid-cols-4 p,
  .zj-garcom-root .grid.grid-cols-3.sm\:grid-cols-4 span{font-size:.62rem !important; line-height:1.15 !important}
}

/* Driver: cards e listas compactos no mobile */
@media (max-width:767px){
  .zj-driver-root .p-6{padding:1rem !important}
  .zj-driver-root .gap-4{gap:.625rem !important}
}

/* Core/Super: sidebar drawer comportada + densidade mobile */
@media (max-width:639px){
  .zj-core-root .p-6, .zj-super-root .p-6{padding:1rem !important}
  .zj-core-root .p-8, .zj-super-root .p-8{padding:1rem !important}
  .zj-core-root .gap-6, .zj-super-root .gap-6{gap:.75rem !important}
  .zj-core-root .text-3xl, .zj-super-root .text-3xl{font-size:1.375rem !important}
  .zj-core-root .text-2xl, .zj-super-root .text-2xl{font-size:1.2rem !important}
}

/* ---- 5. Toques futuristas sutis (glow índigo em elementos ativos) ---- */
.zj-kds-root button:active, .zj-garcom-root button:active, .zj-driver-root button:active{
  transform:scale(.98);
}
.zj-core-root aside button.bg-gray-800, .zj-super-root aside button.bg-gray-800{
  background-color:rgba(68,76,231,.18) !important;
  border:1px solid rgba(68,76,231,.3) !important;
  color:#8098f9 !important;
}
.zj-kds-root ::-webkit-scrollbar, .zj-garcom-root ::-webkit-scrollbar,
.zj-driver-root ::-webkit-scrollbar, .zj-core-root ::-webkit-scrollbar,
.zj-super-root ::-webkit-scrollbar{width:6px;height:6px}
.zj-kds-root ::-webkit-scrollbar-thumb, .zj-garcom-root ::-webkit-scrollbar-thumb,
.zj-driver-root ::-webkit-scrollbar-thumb, .zj-core-root ::-webkit-scrollbar-thumb,
.zj-super-root ::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}
/* ZJ-PREMIUM: headers KDS por estacao (identidade sutil, base slate) */
.zj-kds-header{background:#0f172a !important;border-bottom:1px solid #1e293b}
.zj-kds-header-kitchen{box-shadow:inset 0 -2px 0 rgba(249,115,22,.6),0 1px 8px rgba(0,0,0,.4) !important}
.zj-kds-header-bar{box-shadow:inset 0 -2px 0 rgba(245,158,11,.6),0 1px 8px rgba(0,0,0,.4) !important}

/* ============================================================
   ZJ-MESA-V1 — painel lateral da tela de MESAS no celular (01/08/2026)

   PROBLEMA: o painel "Pedido" da tela de Mesas (PDV) e o painel lateral do
   Garcom usam a utilitaria Tailwind `w-72` = 288px FIXOS, sem breakpoint.
   Na janela do dono (384px) sobravam ~96px para a lista de produtos: nomes
   cortados ("P...", "To...") e produtos em tirinhas verticais ilegiveis.
   O bloco mobile do PDV (ver topo do arquivo) nao cobria: a tela de Mesas
   nao usa nenhuma classe zj-.

   SOLUCAO: mesma abordagem ja aprovada para .zj-pdv-cart (vw com limites).
   ESCOPO: `:not(.zj-pdv-cart)` exclui o carrinho do Balcao, que ja esta correto.
   Atinge exatamente 2 elementos: painel Pedido da Mesa + lateral do Garcom.
   Desktop (>=768px) TOTALMENTE intocado.
   ============================================================ */
@media (max-width:767px){
  .w-72.border-l:not(.zj-pdv-cart){
    width:38vw !important;
    min-width:130px !important;
    max-width:210px !important;
    flex-shrink:0 !important;
  }
  /* densidade interna: painel mais estreito, conteudo acompanha */
  .w-72.border-l:not(.zj-pdv-cart) .p-4{padding:.6rem !important}
  .w-72.border-l:not(.zj-pdv-cart) .p-3{padding:.5rem !important}
  .w-72.border-l:not(.zj-pdv-cart) .text-lg{font-size:.95rem !important}
  .w-72.border-l:not(.zj-pdv-cart) .text-sm{font-size:.78rem !important}
  .w-72.border-l:not(.zj-pdv-cart) .text-xs{font-size:.68rem !important}
  /* valores nao quebram linha */
  .w-72.border-l:not(.zj-pdv-cart) .justify-between>*{white-space:nowrap}
}
@media (max-width:479px){
  .w-72.border-l:not(.zj-pdv-cart){width:40vw !important}
}

/* ============================================================
   ZJ-MESA-V2 — "painel solto" e densidade da tela de MESAS no celular
   (01/08/2026)

   MEDIDO na janela do dono (384x693), tela de Mesas do PDV:
     .zj-pdv-root   clientWidth=384  scrollWidth=418  -> 34px de EXCESSO
                    com overflow-x:hidden. Escondido e nao rolavel, o navegador
                    do aparelho arrasta a pagina inteira: e o "painel solto",
                    "puxa para um lado, puxa para o outro".
     div.flex.min-w-max (barra de abas) w=708 dentro de pai overflow-x:auto
                    -> essa JA rola corretamente, nao e o problema.
     grade          166px em 3 colunas = cartoes de 50px -> "File ao...",
                    "Mami Grelh" cortados.

   CORRECOES
     1. min-width:0 nos filhos flex -> deixam de impor largura minima propria,
        o excesso de 34px desaparece e nada mais empurra a pagina.
     2. barras horizontais sem scrollbar visivel (nao rouba espaco).
     3. grade da tela de Mesas: 3 -> 2 colunas abaixo de 480px (cartoes ~78px).

   ESCOPO: apenas <=767px. Desktop TOTALMENTE intocado.
   A regra da grade usa `.w-72.border-l ~ *` / irmao anterior para atingir SO a
   tela de Mesas. A grade do Balcao (.zj-pdv-grid, bloco ZJ-MOBILE-V5) NAO e
   tocada — continua como esta, aprovada pelo dono ("uma bala").
   ============================================================ */
@media (max-width:767px){
  /* 1) nada pode impor largura minima e empurrar a pagina */
  .zj-pdv-root{max-width:100vw !important;overflow-x:hidden !important}
  .zj-pdv-root > *{min-width:0 !important;max-width:100% !important}
  .zj-pdv-root .flex > *{min-width:0}
  /* o container da area de conteudo da Mesa precisa poder encolher */
  .zj-pdv-root .flex-1{min-width:0 !important}

  /* 2) barras horizontais: rolam sem mostrar barra de rolagem */
  .zj-pdv-root .overflow-x-auto{
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }
  .zj-pdv-root .overflow-x-auto::-webkit-scrollbar{height:0 !important;display:none}
}

/* 3) grade de produtos DA TELA DE MESAS: 2 colunas no celular estreito.
      Escopo: a grade e irma do painel lateral .w-72.border-l (o "Pedido").
      Nao atinge .zj-pdv-grid (Balcao). */
@media (max-width:479px){
  .grid.grid-cols-3:not(.zj-pdv-grid):has(~ .w-72.border-l),
  .w-72.border-l ~ * .grid.grid-cols-3:not(.zj-pdv-grid),
  .zj-pdv-root .flex-1 .grid.grid-cols-3:not(.zj-pdv-grid){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  /* nome do produto legivel em 2 colunas */
  .zj-pdv-root .flex-1 .grid.grid-cols-3:not(.zj-pdv-grid) .text-xs{
    font-size:.72rem !important;line-height:1.15 !important;
  }
}

/* ============================================================
   ZJ-MESA-V3 — barras de acao da MESA + cartoes (01/08/2026)
   MEDIDO na tela do dono (384x693), Mesa 1 com painel "Pedido" aberto:
     pai  div.flex.gap-2.mb-4   overflowX=VISIBLE  clientW=166  scrollW=179
     Pedidos     rect 35x50  clientW 33  scrollW 64  shrink 1  ws normal
     Por pessoa  rect 35x50  clientW 33  scrollW 53  shrink 1  ws normal
     Novo Pedido rect 37x50  clientW 37  scrollW 58  shrink 1  ws normal
     QR Code     rect 36x50  clientW 34  scrollW 47  shrink 1  ws normal
   3 defeitos somados:
     a) flex-shrink:1  -> o flexbox esmaga cada botao de ~64px para ~35px
     b) white-space:normal -> o texto quebra em 2 linhas e VAZA da caixa de
        35px: e isso que aparece como "botoes sobrepostos" nas fotos
     c) overflow-x:visible no pai -> os 13px de excesso escapam sem rolar
   Largura natural somada = 64+53+58+47 + 3 gaps de 8 = 246px. Espaco = 166px.
   SOLUCAO (pedido literal do dono: "bota ele rolando pro lado"): o pai rola
   horizontalmente e os filhos recuperam a largura natural em 1 linha.
   MODELO JA COMPROVADO na mesma tela: os chips de categoria
   (.flex.gap-2.overflow-x-auto) tem o MESMO pai de 166px com 466px de
   conteudo e rolam sem esmagar nada.
   ESCOPO: <=767px, dentro de .zj-pdv-root. Desktop intocado (lá cabe: 4
   botoes de ~380px em 1088px, sem excesso, e overflow-x:auto so age quando
   ha excesso).
   ============================================================ */
@media (max-width:767px){

  /* --- 1) barra de acoes da Mesa: rola em vez de esmagar --- */
  .zj-pdv-root .flex.gap-2.mb-4{
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    padding-bottom:2px;
    min-width:0 !important;
  }
  .zj-pdv-root .flex.gap-2.mb-4::-webkit-scrollbar{height:0;display:none}
  /* filhos: largura natural, 1 linha, nunca encolhem */
  .zj-pdv-root .flex.gap-2.mb-4 > button,
  .zj-pdv-root .flex.gap-2.mb-4 > a,
  .zj-pdv-root .flex.gap-2.mb-4 > div{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    min-width:max-content !important;
    max-width:none !important;
    padding-left:.6rem !important;
    padding-right:.6rem !important;
  }
  /* o texto interno tambem nao pode quebrar */
  .zj-pdv-root .flex.gap-2.mb-4 > button *,
  .zj-pdv-root .flex.gap-2.mb-4 > a *{
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  /* icone do botao nao encolhe */
  .zj-pdv-root .flex.gap-2.mb-4 svg{flex:0 0 auto !important}

  /* --- 2) mesma cura para qualquer barra de botoes que transborde --- */
  .zj-pdv-root .flex.gap-2:not(.flex-col):not(.flex-wrap){
    min-width:0;
  }

  /* --- 3) cartao de produto: selo "Esgotado" cabe dentro --- */
  .zj-pdv-root .flex-1 .grid > button{overflow:hidden}
  .zj-pdv-root .flex-1 .grid .absolute{max-width:100% !important}
  .zj-pdv-root .flex-1 .grid .absolute span,
  .zj-pdv-root .flex-1 .grid .rounded-full{
    font-size:.58rem !important;
    padding:.08rem .3rem !important;
    white-space:nowrap;
    max-width:100%;
  }

  /* --- 4) nome do produto: 5 casos cortados por 5-14px --- */
  .zj-pdv-root .flex-1 .grid .line-clamp-2{
    letter-spacing:-.012em !important;
    word-break:break-word;
    hyphens:auto;
  }

  /* --- 5) affordance: sombra a direita indica que rola pro lado --- */
  .zj-pdv-root .flex.gap-2.mb-4,
  .zj-pdv-root .overflow-x-auto{
    background-image:linear-gradient(to left,rgba(99,102,241,.16),transparent 26px);
    background-repeat:no-repeat;
    background-position:right center;
    background-size:26px 100%;
    background-attachment:local;
  }
}

/* ============================================================
   ZJ-HEAD-V1 — cabecalho do PDV completo no celular (01/08/2026)
   MEDIDO (sonda_alvos.py) na tela do dono:
     'Acerto'       <button> 35x26  + <span class="hidden sm:block">
                    display:none  -> aparece so como icone laranja
     'Fechar Caixa' <button> 35x26  + <span class="hidden sm:block">
                    display:none  -> aparece so como X vermelho
       (o dono dizia "nao tem Fechar Caixa" — tem, mas irreconhecivel)
     bloco de identidade div.flex.items-center.gap-3:
       desktop 456px (tenant + operador + ID #36 + Aberto + Vendas R$ 491,50)
       celular 106px (so "● Aberto" visivel; o resto com display:none)
     bloco de acoes div.flex.items-center.gap-1.5:
       desktop 453px  /  celular 246px
   O Tailwind usa `sm` = 640px; a tela do dono tem 384px, entao TODO rotulo
   `hidden sm:block` desaparece.
   Desktop precisa de 456+453 = 909px. O celular tem 384px.
   -> Pedido literal do dono: "tudo que tiver na tela de computador, bota na
      tela do mobile; mesmo nao tendo espaco, bota rolando pro lado".
   ESCOPO: <=767px, escopado ao cabecalho do PDV (irmao anterior das abas
   .flex.min-w-max). Desktop intocado.
   ============================================================ */
@media (max-width:767px){

  /* --- 1) revelar os rotulos dos botoes do caixa --- */
  .zj-pdv-root button > span.hidden.sm\:block,
  .zj-pdv-root a > span.hidden.sm\:block{
    display:inline !important;
    white-space:nowrap !important;
    font-size:.66rem !important;
    line-height:1 !important;
  }
  /* botoes do caixa: largura natural, nunca encolhem, 1 linha */
  .zj-pdv-root .flex.items-center.gap-1\.5 > button{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    min-width:max-content !important;
    padding:.3rem .5rem !important;
    gap:.25rem !important;
  }
  .zj-pdv-root .flex.items-center.gap-1\.5 > button svg{flex:0 0 auto}

  /* --- 2) revelar identidade: tenant, operador, ID, Vendas, Online --- */
  .zj-pdv-root .flex.items-center.gap-3 .hidden,
  .zj-pdv-root .flex.items-center.gap-1\.5 .hidden{
    display:inline !important;
  }
  .zj-pdv-root .flex.items-center.gap-3{
    flex:0 0 auto !important;
    min-width:max-content !important;
  }
  .zj-pdv-root .flex.items-center.gap-3 *{
    white-space:nowrap !important;
    font-size:.66rem !important;
  }
  /* a logo nao encolhe nem estica */
  .zj-pdv-root .flex.items-center.gap-3 img{
    width:28px !important;height:28px !important;flex:0 0 auto !important;
  }

  /* --- 3) o cabecalho vira barra rolavel horizontal --- */
  .zj-pdv-root .flex.min-w-max{min-width:max-content !important}
  .zj-pdv-header,
  .zj-pdv-root > header,
  .zj-pdv-root .flex.items-center.gap-3:first-child{
    -webkit-overflow-scrolling:touch;
  }

  /* --- 4) relogio compacto (era 11:48 gigante em 2 linhas) --- */
  .zj-pdv-root .flex.items-center.gap-1\.5 .text-lg,
  .zj-pdv-root .flex.items-center.gap-1\.5 .text-xl,
  .zj-pdv-root .flex.items-center.gap-1\.5 .text-2xl{
    font-size:.82rem !important;
    line-height:1.05 !important;
    white-space:nowrap !important;
  }
  .zj-pdv-root .flex.items-center.gap-1\.5 .text-\[10px\],
  .zj-pdv-root .flex.items-center.gap-1\.5 .text-xs{
    font-size:.6rem !important;line-height:1.05 !important;white-space:nowrap;
  }

  /* --- 5) abas: indicar que ha mais para o lado --- */
  .zj-pdv-root .flex.min-w-max > button{flex:0 0 auto !important}
}

/* ============================================================
   ZJ-HEAD-V2 — o cabecalho rola DENTRO DE SI (01/08/2026)
   MEDIDO apos ZJ-HEAD-V1:
     .zj-pdv-root  w=384 excesso=466 overflow-x=hidden   (era 0)
     <header class="bg-theme-card border-b border-theme px-4 py-...">
                   w=384 excesso=466 overflow-x=VISIBLE  <- a origem
   Ao revelar identidade (456px) + acoes (453px) = 909px num header de 384px
   sem rolagem, o transbordo empurrou o painel inteiro.
   REGRA DO DONO: "o painel precisa ficar fixo lá e ele fica rolando".
   -> o header ganha overflow-x:auto; o conteudo interno nao encolhe; o
      .zj-pdv-root volta a excesso 0.
   ESCOPO: <=767px. Desktop intocado (lá cabe em 1440px, sem excesso, e
   overflow-x:auto so age quando existe excesso).
   ============================================================ */
@media (max-width:767px){

  /* --- 1) o header rola pro lado, dentro de si --- */
  .zj-pdv-root > header,
  .zj-pdv-root header.bg-theme-card{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    flex-shrink:0 !important;
    max-width:100vw !important;
  }
  .zj-pdv-root > header::-webkit-scrollbar,
  .zj-pdv-root header.bg-theme-card::-webkit-scrollbar{height:0;display:none}

  /* o conteudo do header forma uma faixa continua que nao encolhe */
  .zj-pdv-root > header > *,
  .zj-pdv-root header.bg-theme-card > *{
    flex-shrink:0 !important;
    min-width:max-content !important;
  }
  .zj-pdv-root > header > .flex,
  .zj-pdv-root header.bg-theme-card > .flex{
    flex-wrap:nowrap !important;
    width:max-content !important;
  }

  /* --- 2) o painel volta a ser fixo: nada empurra --- */
  .zj-pdv-root{
    overflow-x:hidden !important;
    max-width:100vw !important;
  }
  /* o header e a excecao: pode ter conteudo maior, porque rola sozinho */
  .zj-pdv-root > *:not(header){max-width:100% !important}

  /* --- 3) selo "Esgotado": o excesso de 13px esta no BUTTON do cartao --- */
  .zj-pdv-root .grid > button{
    overflow:hidden !important;
    min-width:0 !important;
  }
  .zj-pdv-root .grid > button > *{max-width:100% !important}
  /* o selo em si */
  .zj-pdv-root .grid > button .absolute{
    max-width:calc(100% - 6px) !important;
    left:auto !important;
    right:3px !important;
  }
  .zj-pdv-root .grid > button .absolute *{
    font-size:.55rem !important;
    padding:.05rem .25rem !important;
    white-space:nowrap !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  /* o bloco de texto do cartao nao pode impor largura */
  .zj-pdv-root .grid > button .p-2,
  .zj-pdv-root .grid > button .p-1\.5,
  .zj-pdv-root .grid > button .px-2{min-width:0 !important}

  /* --- 4) affordance discreta no header (indica que rola) --- */
  .zj-pdv-root > header,
  .zj-pdv-root header.bg-theme-card{
    background-image:linear-gradient(to left,rgba(99,102,241,.14),transparent 22px);
    background-repeat:no-repeat;
    background-position:right center;
    background-size:22px 100%;
    background-attachment:local;
  }
}

/* ============================================================
   ZJ-MESA-V4 — painel "Pedido" recolhe quando vazio (01/08/2026)
   VISTO na tela do dono apos ZJ-MESA-V3:
     a barra de acoes ficou perfeita (Pedidos 87x34, Por pessoa 85x34,
     Novo Pedido 113x34, QR Code 90x34, sem cortes) e rola pro lado,
     MAS so 2 dos 4 botoes aparecem: o dono nao descobre os outros 2.
     A causa e o painel "Pedido" VAZIO ocupando 154px de 384px (40%) para
     exibir apenas um icone de carrinho e "Selecione os itens".
   SOLUCAO: enquanto o painel esta vazio ele recolhe para uma faixa fina;
   quando entra o primeiro item ele volta a largura normal (ZJ-MESA-V1).
   Ganho: ~110px devolvidos a coluna esquerda -> os 246px da barra de acoes
   passam a caber em ~276px, os 4 botoes ficam visiveis SEM rolar.
   Deteccao: :has(.text-center) / :has(svg + p) do estado vazio.
   Chrome 105+ suporta :has(); o aparelho do dono tem Chrome 150.
   Se :has() nao aplicar, nada muda (degrada para o comportamento do V3).
   ESCOPO: <=767px, exclui .zj-pdv-cart (carrinho do Balcao, aprovado).
   ============================================================ */
@media (max-width:767px){

  /* --- 1) painel Pedido VAZIO: faixa fina --- */
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center){
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:hidden !important;
  }
  /* dentro da faixa fina: some o texto, fica so o icone centralizado */
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) p,
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) h2,
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) h3,
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) span{
    display:none !important;
  }
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) svg{
    width:20px !important;height:20px !important;
    margin-left:auto !important;margin-right:auto !important;
    opacity:.5;
  }
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) .p-4,
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) .p-3{
    padding:.4rem .25rem !important;
  }

  /* --- 2) selo "Esgotado": a classe real e .zy-badge (lib zy_esgotado) --- */
  .zy-badge{
    max-width:calc(100% - 4px) !important;
    box-sizing:border-box !important;
    font-size:.54rem !important;
    padding:.05rem .22rem !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .zj-pdv-root .grid > button{overflow:hidden !important}

  /* --- 3) affordance forte: chevron indicando rolagem --- */
  .zj-pdv-root .flex.gap-2.mb-4{
    position:relative;
    background-image:
      linear-gradient(to left,rgba(99,102,241,.30),rgba(99,102,241,0) 34px) !important;
    background-size:34px 100% !important;
  }
  /* sombra interna a direita reforcando "tem mais" */
  .zj-pdv-root > header,
  .zj-pdv-root header.bg-theme-card{
    background-image:
      linear-gradient(to left,rgba(99,102,241,.26),rgba(99,102,241,0) 30px) !important;
    background-size:30px 100% !important;
  }

  /* --- 4) barra de acoes ganha o espaco devolvido --- */
  .zj-pdv-root .flex.gap-2.mb-4{gap:.4rem !important}
  .zj-pdv-root .flex.gap-2.mb-4 > button{
    padding-left:.5rem !important;
    padding-right:.5rem !important;
    font-size:.68rem !important;
  }
  .zj-pdv-root .flex.gap-2.mb-4 > button svg{width:13px;height:13px}
}

/* ============================================================
   ZJ-MESA-V5 — CORRIGE O FALSO POSITIVO DO :has() DO V4 (01/08/2026)
   O dono fotografou a Mesa com 2 itens e viu:
     painel Pedido 52x704 TRAVADO (width/minW/maxW = 52px) mesmo COM itens
     fotos dos itens 27x40 · botoes de quantidade 2x24 (IMPOSSIVEIS de tocar)
     'Enviar Pedido' 43x60 empilhado em 2 linhas
     grade 2 colunas de 134,5px -> cartao 135x192 (produto GIGANTE)
   CAUSA: a regra do V4 usava :has(.items-center.justify-center) para detectar
   "painel vazio", mas o botao de quantidade de CADA item e um
   <div class="w-6 h-6 ... items-center justify-center"> -> quanto mais itens,
   mais o seletor casa. A regra nunca desligava.
   DECISAO (pedido do dono: "o produto nao precisa ser muito grande, precisa
   diminuir ele"): sem :has(); painel com largura fixa confortavel e a grade
   em 3 colunas menores.
   Espaco: 393 - 132 (painel) - 24 (padding) = 237px -> 3 col de ~75px.
   ============================================================ */
@media (max-width:767px){

  /* --- 1) DESFAZ o recolhimento por :has() do ZJ-MESA-V4 --- */
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center){
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:visible !important;
  }
  /* devolve o texto que o V4 escondeu */
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) p,
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) h2,
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) h3,
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) span{
    display:initial !important;
  }
  .w-72.border-l:not(.zj-pdv-cart):has(.items-center.justify-center) svg{
    width:auto !important;height:auto !important;
    margin-left:0 !important;margin-right:0 !important;opacity:1;
  }

  /* --- 2) painel Pedido: largura fixa, previsivel --- */
  .w-72.border-l:not(.zj-pdv-cart){
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    flex:0 0 132px !important;
  }
  /* itens do pedido: foto e botoes de quantidade tocaveis */
  .w-72.border-l:not(.zj-pdv-cart) img{
    width:34px !important;height:34px !important;
    flex:0 0 34px !important;object-fit:cover;
  }
  .w-72.border-l:not(.zj-pdv-cart) button{
    min-width:22px !important;min-height:22px !important;
    flex:0 0 auto !important;
  }
  /* 'Enviar Pedido' em 1 linha, largura toda */
  .w-72.border-l:not(.zj-pdv-cart) > *:last-child button,
  .w-72.border-l:not(.zj-pdv-cart) .w-full{
    width:100% !important;
    min-width:0 !important;
    white-space:nowrap !important;
    font-size:.7rem !important;
    padding:.45rem .3rem !important;
  }
  .w-72.border-l:not(.zj-pdv-cart) .text-xs{font-size:.63rem !important}
  .w-72.border-l:not(.zj-pdv-cart) .text-sm{font-size:.68rem !important}

  /* --- 3) grade da MESA: 3 colunas, produto MENOR (pedido do dono) --- */
  .zj-pdv-root .flex-1 .grid:not(.zj-pdv-grid){
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.3rem !important;
  }
  /* a foto do produto deixa de dominar o cartao */
  .zj-pdv-root .flex-1 .grid:not(.zj-pdv-grid) > button{
    min-width:0 !important;
  }
  .zj-pdv-root .flex-1 .grid:not(.zj-pdv-grid) > button img,
  .zj-pdv-root .flex-1 .grid:not(.zj-pdv-grid) > button .aspect-square{
    height:52px !important;
    max-height:52px !important;
    object-fit:cover;
  }
  .zj-pdv-root .flex-1 .grid:not(.zj-pdv-grid) .line-clamp-2{
    font-size:.6rem !important;line-height:1.12 !important;
  }
}
@media (max-width:479px){
  /* aparelho estreito: 3 colunas continuam, so a fonte aperta um pouco */
  .zj-pdv-root .flex-1 .grid:not(.zj-pdv-grid){gap:.25rem !important}
}

/* ============================================================
   ZJ-BALCAO-V6 — preco legivel no Balcao (01/08/2026)
   O dono fotografou o Balcao e TODOS os 16 precos apareciam como "R$...".
   MEDIDO em 393px:
     .zj-pdv-grid = 4 colunas de 54,27px (grade total 231px)
     'R$ 68,90'  clientW=23 scrollW=39  FALTA 16px -> ellipsis -> "R$..."
     'R$ 119,90' clientW=23 scrollW=45  FALTA 22px
     .zj-pdv-cart w=137,5px = 35% da tela, mesmo VAZIO
     'TotalR$ 0,00': valor precisa 72px, tem 48px -> grudado
     'Subtotal (0 itens)' 78px de 113px -> valor quebra em 2 linhas
   O AGENTS.md registra que o V5 baixou de 5 para 4 colunas "porque 5 era
   ilegivel". 4 tambem e: 54px de cartao nao cabe preco nenhum.
   -> 3 colunas. E o carrinho cede um pouco de largura.
   ============================================================ */
@media (max-width:767px){
  /* 3 colunas em vez de 4 */
  .zj-pdv-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.3rem !important;
  }
  /* carrinho um pouco mais estreito devolve espaco aos produtos */
  .zj-pdv-cart{
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    flex:0 0 118px !important;
  }
  /* preco NUNCA vira "R$..." */
  .zj-pdv-grid .text-zuryon-400,
  .zj-pdv-root .grid .text-zuryon-400{
    font-size:.6rem !important;
    letter-spacing:-.02em !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    -webkit-line-clamp:unset !important;
    min-width:0 !important;
    flex:1 1 auto !important;
  }
  /* foto menor deixa o texto respirar */
  .zj-pdv-grid > button img,
  .zj-pdv-grid > button .aspect-square{
    height:46px !important;max-height:46px !important;object-fit:cover;
  }
  .zj-pdv-grid > button{min-width:0 !important}
  .zj-pdv-grid .line-clamp-2{
    font-size:.58rem !important;line-height:1.1 !important;
  }

  /* --- bloco de totais do carrinho: 'Total' separado do valor --- */
  .zj-pdv-cart .flex.justify-between{
    gap:.35rem !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
  }
  .zj-pdv-cart .flex.justify-between > *{
    white-space:nowrap !important;
    min-width:0 !important;
  }
  /* o valor nao encolhe e nao quebra */
  .zj-pdv-cart .flex.justify-between > *:last-child{
    flex:0 0 auto !important;
    font-size:.72rem !important;
    text-align:right !important;
  }
  /* 'Subtotal (0 itens)' cabe em 1 linha */
  .zj-pdv-cart .flex.justify-between > *:first-child{
    flex:1 1 auto !important;
    font-size:.62rem !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  /* o Total grande do rodape */
  .zj-pdv-cart .text-xl,
  .zj-pdv-cart .font-black.text-xl{
    font-size:.92rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
    flex:0 0 auto !important;
  }
  /* campo de desconto nao vaza */
  .zj-pdv-cart input{
    min-width:0 !important;
    max-width:100% !important;
    font-size:.66rem !important;
  }
}

/* ============================================================
   ZJ-HEAD-V3 — cabecalho em 2 fileiras, tudo visivel sem rolar (01/08/2026)
   MEDIDO: <header> clientW=393  scrollW=941  excesso=548px
           'Online' em x=866 -> 482px FORA da tela
   O dono: "la em cima nao esta mostrando estoque, perda ainda. Nao esta
   mostrando as coisas."  Esta tudo no DOM, mas longe demais para achar.
   -> em vez de uma fila unica de 941px que rola, DUAS fileiras que cabem:
      fileira 1: logo + tenant + operador + ID + Aberto + Vendas
      fileira 2: botoes de operacao (Estoque, Perda, Acerto, Fechar Caixa,
                 relogio, tema, Online)
   ============================================================ */
@media (max-width:767px){
  .zj-pdv-root > header,
  .zj-pdv-root header.bg-theme-card{
    display:flex !important;
    flex-wrap:wrap !important;
    row-gap:.3rem !important;
    column-gap:.3rem !important;
    overflow-x:hidden !important;   /* nao precisa mais rolar */
    padding:.35rem .5rem !important;
    align-items:center !important;
  }
  /* fileira 1: identidade ocupa a linha toda */
  .zj-pdv-root > header > .flex.items-center.gap-3,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3{
    flex:1 1 100% !important;
    min-width:0 !important;
    width:100% !important;
    flex-wrap:wrap !important;
    row-gap:.15rem !important;
  }
  /* fileira 2: botoes de operacao, distribuidos e rolando se faltar */
  .zj-pdv-root > header > .flex.items-center.gap-1\.5,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-1\.5{
    flex:1 1 100% !important;
    width:100% !important;
    min-width:0 !important;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:1px;
  }
  .zj-pdv-root > header .flex.items-center.gap-1\.5::-webkit-scrollbar{
    height:0;display:none;
  }
  /* tudo compacto para caber o maximo na fileira 2 */
  .zj-pdv-root > header .flex.items-center.gap-1\.5 > *{
    flex:0 0 auto !important;
  }
  .zj-pdv-root > header button{
    padding:.22rem .4rem !important;
    font-size:.6rem !important;
    gap:.18rem !important;
  }
  .zj-pdv-root > header button svg{width:12px !important;height:12px !important}
  /* identidade em fonte pequena para caber numa linha */
  .zj-pdv-root > header .flex.items-center.gap-3 *{font-size:.6rem !important}
  .zj-pdv-root > header .flex.items-center.gap-3 img{
    width:24px !important;height:24px !important;
  }
  /* revelar QUALQUER rotulo oculto do header, inclusive com class="" */
  .zj-pdv-root > header button > span[class=""],
  .zj-pdv-root > header button > span:not([class]){
    display:inline !important;
    white-space:nowrap !important;
  }
  /* o painel nao rola por causa do header */
  .zj-pdv-root{overflow-x:hidden !important}
}

/* ============================================================
   ZJ-BALCAO-V7 — largura minima honesta do carrinho (01/08/2026)
   O V6 baixou o carrinho para 118px para dar espaco aos produtos. Funcionou
   para os precos (todos legiveis agora), mas quebrou o proprio carrinho:
     'Carrinho'           precisa 60px, tinha 42px -> engrenagem SOBREPOE
     'Subtotal (0 itens)' precisa 78px, tinha 48px -> "Subtotal…"
     'Total'              virou "Tot"
   Largura minima real: 'Total' 38 + 'R$ 0,00' 72 + gap 6 + padding 26 = 142px
   Grade fica com 393 - 142 - 24 = 227px / 3 = 75,7px por cartao.
   'R$ 119,90' precisa 45px -> cabe (texto util ~73px).
   ============================================================ */
@media (max-width:767px){
  .zj-pdv-cart{
    width:142px !important;
    min-width:142px !important;
    max-width:142px !important;
    flex:0 0 142px !important;
  }
  /* cabecalho do carrinho: titulo e engrenagem sem sobrepor */
  .zj-pdv-cart > *:first-child{
    display:flex !important;
    align-items:center !important;
    gap:.2rem !important;
    min-width:0 !important;
  }
  .zj-pdv-cart > *:first-child > *{min-width:0 !important}
  .zj-pdv-cart .font-semibold.text-sm{
    font-size:.72rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
    flex:0 1 auto !important;
  }
  /* engrenagem nunca encolhe nem monta no texto */
  .zj-pdv-cart button.ml-1,
  .zj-pdv-cart .ml-1{
    flex:0 0 auto !important;
    margin-left:.2rem !important;
  }
  /* 'Subtotal (N itens)' cabe */
  .zj-pdv-cart .flex.justify-between > *:first-child{
    font-size:.58rem !important;
    letter-spacing:-.02em !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  /* 'Total' escrito por inteiro */
  .zj-pdv-cart .text-theme-heading.font-bold{
    font-size:.7rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
    text-overflow:clip !important;
    flex:0 0 auto !important;
  }
  /* grade acompanha a nova largura */
  .zj-pdv-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.28rem !important;
  }
  .zj-pdv-grid .text-zuryon-400{
    font-size:.58rem !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
  }
  .zj-pdv-grid .line-clamp-2{font-size:.56rem !important}
  .zj-pdv-grid > button img,
  .zj-pdv-grid > button .aspect-square{
    height:42px !important;max-height:42px !important;
  }
}

/* ============================================================
   ZJ-HEAD-V4 — o cabecalho para de comer a tela (01/08/2026)
   O dono: "organiza la em cima, esta comendo muito espaco".
   MEDIDO em 393x873:
     faixa Cover      y=0    h=37
     header           y=37   h=116  (fileira1 h=64 + fileira2 h=35)
     nav              y=153  h=43   scrollW=708 -> 315px escondidos
     conteudo comeca  y=315  = 36% da tela
     fileira2 scrollW=663 em 377 -> 286px escondidos
     'Fechar Caixa' termina em x=432 -> 39px FORA da tela
     botoes com 22px de altura (abaixo do minimo de toque)
   ALVO: devolver ~90px de tela ao conteudo, 'Fechar Caixa' visivel,
         botoes com altura de dedo.
   ============================================================ */
@media (max-width:767px){
  /* --- faixa do Cover: informativa, nao precisa de 37px --- */
  .zj-pdv-root > div:first-child:has(> div > svg) ,
  .zj-pdv-root > div[class*="bg-purple"],
  .zj-pdv-root > div[class*="from-purple"]{
    padding-top:.18rem !important;
    padding-bottom:.18rem !important;
    min-height:0 !important;
    font-size:.66rem !important;
    line-height:1.05 !important;
  }

  /* --- header mais justo no vertical --- */
  .zj-pdv-root > header,
  .zj-pdv-root header.bg-theme-card{
    padding-top:.2rem !important;
    padding-bottom:.2rem !important;
    row-gap:.18rem !important;
  }

  /* fileira 1 (identidade): 64px -> ~36px.
     Sao 3 filhos: logo, textos, status/vendas. Compactar linha e fonte. */
  .zj-pdv-root > header > .flex.items-center.gap-3{
    row-gap:0 !important;
    column-gap:.28rem !important;
    line-height:1.02 !important;
  }
  .zj-pdv-root > header > .flex.items-center.gap-3 > *{
    line-height:1.02 !important;
  }
  .zj-pdv-root > header > .flex.items-center.gap-3 p,
  .zj-pdv-root > header > .flex.items-center.gap-3 span,
  .zj-pdv-root > header > .flex.items-center.gap-3 div{
    margin-top:0 !important;
    margin-bottom:0 !important;
    line-height:1.02 !important;
  }
  .zj-pdv-root > header > .flex.items-center.gap-3 img{
    width:22px !important;height:22px !important;
  }

  /* fileira 2 (operacao): caber 'Fechar Caixa' dentro dos 393px.
     Precisava cortar 39px de 9 filhos -> gaps e paddings menores. */
  .zj-pdv-root > header > .flex.items-center.gap-1\.5{
    column-gap:.14rem !important;
    row-gap:.14rem !important;
  }
  .zj-pdv-root > header > .flex.items-center.gap-1\.5 > button,
  .zj-pdv-root > header > .flex.items-center.gap-1\.5 > div > button{
    padding-left:.3rem !important;
    padding-right:.3rem !important;
    /* ALTURA DE TOQUE: 22px -> 32px, sem crescer o header
       (a fileira tinha 35px; 32px de botao cabe) */
    min-height:32px !important;
    height:32px !important;
    font-size:.615rem !important;
    letter-spacing:-.01em !important;
  }
  .zj-pdv-root > header > .flex.items-center.gap-1\.5 svg{
    width:13px !important;height:13px !important;
  }
  /* o relogio nao e botao e ocupa muito: encolher sem esconder */
  .zj-pdv-root > header > .flex.items-center.gap-1\.5 > div:not(:has(button)){
    font-size:.56rem !important;
    line-height:1.02 !important;
  }

  /* --- nav (7 abas, 708px): continua rolando, mas com dica visual
         de que ha mais conteudo a direita, para o dono descobrir
         Entregador / Historico / Relatorio --- */
  .zj-pdv-root nav,
  .zj-pdv-root > div.bg-theme-card.overflow-x-auto{
    position:relative !important;
    padding-top:.1rem !important;
    padding-bottom:.1rem !important;
    background-image:linear-gradient(to left,
      rgba(99,102,241,.22) 0, rgba(99,102,241,0) 26px) !important;
    background-repeat:no-repeat !important;
    background-position:right center !important;
    background-size:26px 100% !important;
  }
  .zj-pdv-root nav button,
  .zj-pdv-root > div.bg-theme-card.overflow-x-auto button{
    padding-top:.34rem !important;
    padding-bottom:.34rem !important;
    min-height:34px !important;
  }

  /* --- matar o vao morto entre o nav e o conteudo (~119px medidos) --- */
  .zj-pdv-root > main,
  .zj-pdv-root > div:not(:has(> header)):not(nav) > div:first-child{
    padding-top:.25rem !important;
  }
  .zj-pdv-root main > div:first-child,
  .zj-pdv-root main > section:first-child{
    margin-top:0 !important;
    padding-top:.25rem !important;
  }
}

/* ============================================================
   ZJ-MESA-V6 — os valores da conta param de ser cortados
   MEDIDO:
     aba Pedidos   -> `R$ 292,30` tem 73px, precisa 76 (falta 3)
                      `R$ 284,90` tem 72px, precisa 76 (falta 4)
                      pai: div.text-right travado em 72-73px
     Por pessoa    -> `TOTAL DA PESSOA` tem 56-65, precisa 85 (falta 20-29)
                      `R$ 192,40`       tem 56,    precisa 80 (falta 24)
                      elementos com class="" (vindos de lib injetada)
   -> a coluna da direita do cartao precisa de ~88px e nunca quebrar linha.
   ============================================================ */
@media (max-width:767px){
  /* aba Pedidos: a coluna de valor do cartao de comanda */
  .zj-pdv-root .text-right:has(> .text-zuryon-400),
  .zj-pdv-root .text-right:has(> .font-black){
    min-width:82px !important;
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }
  .zj-pdv-root .text-zuryon-400.font-black{
    white-space:nowrap !important;
    overflow:visible !important;
    letter-spacing:-.015em !important;
  }

  /* Por pessoa: o cartao de cada pessoa e a coluna TOTAL DA PESSOA.
     Os elementos tem class vazia, entao mira-se pelo contexto:
     qualquer bloco alinhado a direita dentro de um cartao de comanda. */
  .zj-pdv-root [class=""],
  .zj-pdv-root [class=""] *{
    white-space:nowrap !important;
  }
  /* a coluna da direita ganha espaco: 56-65px -> 90px */
  .zj-pdv-root div:has(> [class=""]) > [class=""]:last-child{
    min-width:90px !important;
    flex:0 0 auto !important;
    text-align:right !important;
  }
  /* o total grande do cartao da mesa nao deve quebrar em 2 linhas
     (medido h=60 quando cabe em 28) */
  .zj-pdv-root [class=""]:has(+ *) ,
  .zj-pdv-root [class=""]{
    overflow:visible !important;
  }

  /* botao 'Receber desta pessoa · R$ 284,90' mostrava o valor truncado:
     largura total disponivel, texto sem quebra e fonte que caiba */
  .zj-pdv-root button:has(> span),
  .zj-pdv-root button{
    letter-spacing:-.005em;
  }
  .zj-pdv-root button[class*="w-full"]{
    white-space:nowrap !important;
    font-size:.72rem !important;
    padding-left:.4rem !important;
    padding-right:.4rem !important;
  }

  /* 'Fechar Mesa' aparecia como 'Fech…' na borda: a barra de acoes
     da mesa rola (ZJ-MESA-V3), mas o ultimo botao precisa de folga
     a direita para nao nascer cortado */
  .zj-pdv-root .flex.items-center.gap-2.overflow-x-auto,
  .zj-pdv-root .flex.gap-2.overflow-x-auto{
    padding-right:.6rem !important;
    scroll-padding-right:.6rem !important;
  }
}

/* ============================================================
   ZJ-MESA-V7 — a coluna do total nao encolhe mais (01/08/2026)
   ARVORE MEDIDA na aba Por pessoa (393px):
     div.bg-theme-card2                       (cartao da pessoa)
       div.flex.items-start.justify-between.gap-3.mb-3   w=292 scrollW=312
         div[esquerda]  nome + telefone + comanda        (longa, disputa espaco)
         div[direita]   w=65 scrollW=85 ws=nowrap        <== CORTADO aqui
           div "TOTAL DA PESSOA"   65 / precisa 85
           div "R$ 284,90"         65 / precisa 80
     div.bg-theme-card2                       (cabecalho da mesa)
       div.flex.items-center.justify-between            w=295 scrollW=295
         div[direita]   w=67   "TOTAL EM ABERTO / R$ 769,60"
           div fs=20px h=60    <== QUEBRA EM 2 LINHAS (cabe em 28)
   POR QUE o V6 nao bastou: o `white-space:nowrap` foi aplicado (confirmado no
   computed style), mas quem define a largura e a CELULA FLEX, que tem
   `flex:0 1 auto` + `min-width:0` e por isso encolhe abaixo do conteudo quando
   a coluna da esquerda e longa. `min-width` no texto nao resolve.
   CORRECAO: a celula da direita ganha base fixa e nao encolhe; a da esquerda
   passa a ceder espaco (ela ja quebra linha sem prejuizo).
   ============================================================ */
@media (max-width:767px){
  /* --- coluna do TOTAL DA PESSOA: 65px -> 88px, sem encolher --- */
  .zj-pdv-root .bg-theme-card2 > .flex.items-start.justify-between > div:last-child,
  .zj-pdv-root .bg-theme-card2 .flex.items-start.justify-between > div:last-child{
    flex:0 0 88px !important;
    min-width:88px !important;
    white-space:nowrap !important;
    text-align:right !important;
  }
  .zj-pdv-root .bg-theme-card2 .flex.items-start.justify-between > div:last-child *{
    white-space:nowrap !important;
    text-align:right !important;
  }

  /* --- coluna TOTAL EM ABERTO do cabecalho da mesa: 1 linha --- */
  .zj-pdv-root .bg-theme-card2 > .flex.items-center.justify-between > div:last-child,
  .zj-pdv-root .bg-theme-card2 .flex.items-center.justify-between > div:last-child{
    flex:0 0 88px !important;
    min-width:88px !important;
    white-space:nowrap !important;
    text-align:right !important;
  }
  .zj-pdv-root .bg-theme-card2 .flex.items-center.justify-between > div:last-child *{
    white-space:nowrap !important;
  }

  /* --- a coluna da esquerda cede o espaco (ela quebra linha sem prejuizo) --- */
  .zj-pdv-root .bg-theme-card2 > .flex.justify-between > div:first-child,
  .zj-pdv-root .bg-theme-card2 .flex.justify-between > div:first-child{
    min-width:0 !important;
    flex:1 1 auto !important;
    overflow-wrap:anywhere !important;
  }

  /* --- o cartao nao deve estourar horizontalmente --- */
  .zj-pdv-root .bg-theme-card2 > .flex.justify-between{
    max-width:100% !important;
    column-gap:.4rem !important;
  }

  /* --- o valor grande em fonte que caiba em 88px (20px -> 17px) --- */
  .zj-pdv-root .bg-theme-card2 .flex.items-center.justify-between
    > div:last-child > div{
    font-size:1.05rem !important;
    line-height:1.15 !important;
    letter-spacing:-.02em !important;
  }
}

/* ============================================================
   ZJ-MESA-V8 — o rotulo TOTAL EM ABERTO cabe (01/08/2026)
   MEDIDO depois do V7: `TOTAL EM ABERTO` w=88 precisa=141 -> cortado.
   O V7 travou a coluna em `flex:0 0 88px`. O valor `R$ 769,60` cabe em 88,
   mas o rotulo em maiusculas precisa de 141px.
   `TOTAL DA PESSOA` precisa de 85 e cabe nos 88 — esse esta correto.
   CORRECAO: a coluna do cabecalho da mesa passa a `flex:0 0 auto` com
   `min-width:88px`, entao cresce conforme o conteudo; e o rotulo ganha
   fonte menor (e rotulo, nao valor).
   ============================================================ */
@media (max-width:767px){
  /* a coluna do cabecalho da mesa cresce conforme o rotulo */
  .zj-pdv-root .bg-theme-card2 > .flex.items-center.justify-between > div:last-child,
  .zj-pdv-root .bg-theme-card2 .flex.items-center.justify-between > div:last-child{
    flex:0 0 auto !important;
    min-width:88px !important;
    max-width:56% !important;   /* nunca engolir a coluna da esquerda */
  }
  /* o rotulo em maiusculas fica menor para caber sem empurrar o cartao */
  .zj-pdv-root .bg-theme-card2 .flex.items-center.justify-between
    > div:last-child > div:first-child{
    font-size:.56rem !important;
    letter-spacing:-.01em !important;
    line-height:1.1 !important;
    opacity:.85;
  }
  /* o valor continua destacado e em 1 linha */
  .zj-pdv-root .bg-theme-card2 .flex.items-center.justify-between
    > div:last-child > div:last-child{
    font-size:1.05rem !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
  }
  /* o mesmo cuidado no rotulo TOTAL DA PESSOA (cabe, mas fica mais limpo) */
  .zj-pdv-root .bg-theme-card2 .flex.items-start.justify-between
    > div:last-child > div:first-child{
    font-size:.56rem !important;
    letter-spacing:-.01em !important;
    opacity:.85;
  }
}

/* ================= ZJ-MESA-V9 — barra de acoes da Mesa em 2 linhas =========
   PROBLEMA MEDIDO NA TELA (393px): a barra tem 329px e precisa de 465px.
   `Fechar Mesa` ficava 16px fora da tela (o dono via "Fecha" cortado) e
   `QR Code` 104px fora. Os botoes NAO estavam com texto truncado
   (white-space:nowrap, min-width:max-content) — estavam POSICIONADOS fora.
   SOLUCAO: permitir a quebra em 2 linhas. Em 329px:
     linha 1 = Pedidos(76) + Por pessoa(75) + Novo Pedido(103) + 2 gaps = 267px
     linha 2 = Fechar Mesa(103) + QR Code(81) + 1 gap = 190px
   Resultado: 5 botoes 100% visiveis, nomes inteiros, sem rolar.
   Custo: +40px de altura — coberto pelos 34px que o V4 do topo devolveu.
   ========================================================================= */
@media (max-width: 640px) {
  /* a barra: unico div com estas 3 classes que contem os botoes da mesa.
     `:has()` garante que so a barra da Mesa e afetada, nunca o Balcao. */
  div.flex.gap-2.mb-4:has(> button):has(> button + button + button) {
    flex-wrap: wrap !important;
    row-gap: 6px !important;
    column-gap: 6px !important;
    overflow-x: visible !important;
  }
  /* os botoes nunca encolhem nem quebram o proprio texto */
  div.flex.gap-2.mb-4:has(> button):has(> button + button + button) > button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-width: max-content !important;
  }
  /* devolve largura util: o p-4 do container da Mesa gastava 32px */
  div.flex.h-full > div.flex-1.overflow-y-auto.p-4 {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}
/* ================= fim ZJ-MESA-V9 ======================================== */

/* ================= ZJ-MESA-V10 — barra da Mesa em 2 linhas (sem :has) ======
   O ZJ-MESA-V9 usou `:has(> button + button + button)` e o parser do CSS
   descartou a regra (medido na tela: flexWrap continuou `nowrap`, enquanto a
   regra de padding do MESMO bloco, sem :has(), aplicou normalmente).
   Aqui uso o seletor simples. Varredura em 5 telas provou que
   `div.flex.gap-2.mb-4` existe SO na barra de acoes da Mesa
   (Balcao 0, Lista de Mesas 0, Mesa 1, Estoque 1 = a mesma barra por baixo).
   Objetivo: `Fechar Mesa` (16px fora) e `QR Code` (104px fora) 100% visiveis.
   ========================================================================= */
@media (max-width: 640px) {
  div.flex.gap-2.mb-4 {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    row-gap: 6px !important;
    column-gap: 6px !important;
  }
  div.flex.gap-2.mb-4 > button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-width: max-content !important;
  }
}
/* ================= fim ZJ-MESA-V10 ======================================= */

/* ================= ZJ-MESA-V11 — barra da Mesa em 2 linhas (definitivo) ====
   Substitui o comportamento "rola pro lado" que eu mesmo criei numa etapa
   anterior para esta barra. Motivo: o dono nao percebia a rolagem e o botao
   mais critico (`Fechar Mesa`) ficava cortado na borda (16px fora), alem do
   `QR Code` (104px fora). Com a quebra em 2 linhas os 5 botoes ficam 100%
   visiveis, com os nomes inteiros e sem depender de rolagem.
   MEDIDO NA TELA (393px, barra 337px):
     linha 1: Pedidos 76 + Por pessoa 75 + Novo Pedido 103 = 267px
     linha 2: Fechar Mesa 103 + QR Code 81 = 190px
     scrollWidth 465 -> 337 (excesso zero) · altura 36 -> 76px
   Usa o MESMO seletor e a MESMA media query da regra anterior, escrito
   depois no arquivo, para ganhar na cascata (a anterior tem (0,4,0)).
   Escopo: so a barra de acoes da Mesa — varredura em 5 telas confirmou que
   `.flex.gap-2.mb-4` nao existe no Balcao nem na lista de mesas.
   ========================================================================= */
@media (max-width: 767px) {
  .zj-pdv-root .flex.gap-2.mb-4 {
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    row-gap: 6px !important;
    column-gap: 6px !important;
    padding-bottom: 0 !important;
  }
  .zj-pdv-root .flex.gap-2.mb-4 > button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-width: max-content !important;
  }
}
/* ================= fim ZJ-MESA-V11 ======================================= */

/* ===== ZJ-HEAD-V5 — cabecalho alinhado numa linha (pedido do dono) ===== */
@media (max-width: 767px) {
  /* fileira 0: uma linha unica, sem quebrar */
  .zj-pdv-root > header > .flex.items-center.gap-3,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 {
    flex-wrap: nowrap !important;
    align-items: center !important;
    column-gap: 0.4rem !important;
    row-gap: 0 !important;
  }
  /* o bloco do meio (loja + operadora) cede espaco */
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:nth-child(2),
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > *:nth-child(2) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* o bloco "Aberto + Vendas" vai para a direita, na MESMA linha */
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:nth-child(3),
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > *:nth-child(3) {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    min-width: max-content !important;
    display: flex !important;
    align-items: center !important;
    gap: 0.3rem !important;
    flex-wrap: nowrap !important;
  }
  /* nada de quebra dentro do bloco Aberto/Vendas */
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:nth-child(3) *,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > *:nth-child(3) * {
    white-space: nowrap !important;
  }
  /* a logo nao encolhe */
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:first-child,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > *:first-child {
    flex: 0 0 auto !important;
  }
}
/* ===== fim ZJ-HEAD-V5 ===== */

/* ===== ZJ-HEAD-V6 — corrige o corte do nome da operadora (defeito do V5) ===== */
@media (max-width: 767px) {
  /* 3) o bloco do meio NAO encolhe mais: nada de texto cortado */
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:nth-child(2),
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > *:nth-child(2) {
    flex: 0 1 auto !important;
    min-width: max-content !important;
    overflow: visible !important;
  }
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:nth-child(2) *,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > *:nth-child(2) * {
    text-overflow: clip !important;
    overflow: visible !important;
  }
  /* 4) fonte um pouco menor no bloco loja/operadora, so no celular */
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:nth-child(2) {
    font-size: 0.72rem !important;
    line-height: 1.15 !important;
  }
  /* 1) esconde o `ID #36` no celular (segue visivel no desktop) */
  .zj-pdv-root > header .text-theme-muted.font-mono,
  .zj-pdv-root header.bg-theme-card .text-theme-muted.font-mono {
    display: none !important;
  }
  /* 2) o rotulo `Vendas:` fica discreto; o VALOR continua igual */
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:nth-child(3) {
    font-size: 0.72rem !important;
    gap: 0.2rem !important;
  }
  .zj-pdv-root > header > .flex.items-center.gap-3 > *:nth-child(3) .text-theme-muted {
    font-size: 0.62rem !important;
    opacity: 0.75 !important;
  }
}
/* ===== fim ZJ-HEAD-V6 ===== */

/* ===== ZJ-HEAD-V7 — cabecalho sem excesso, sem cortar nada ===== */
@media (max-width: 767px) {
  /* 3) `ID #36` escondido no celular (classe REAL: text-theme-faint font-mono) */
  .zj-pdv-root > header .text-theme-faint.font-mono,
  .zj-pdv-root header.bg-theme-card .text-theme-faint.font-mono {
    display: none !important;
  }
  /* 2) promove `Aberto` e `Vendas` a filhos diretos do header,
        para que o wrap do header possa acomoda-los sem cortar */
  .zj-pdv-root > header > .flex.items-center.gap-3 > .flex.items-center.gap-2,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > .flex.items-center.gap-2 {
    display: contents !important;
  }
  /* o `● Aberto` vai para a direita da loja, na mesma linha */
  .zj-pdv-root > header > .flex.items-center.gap-3 > .bg-green-500\/15,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > .bg-green-500\/15 {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    white-space: nowrap !important;
  }
  /* o bloco `Vendas: R$ ...` fica visivel e nao encolhe */
  .zj-pdv-root > header .text-theme-faint.text-xs.hidden.md\:block,
  .zj-pdv-root header.bg-theme-card .text-theme-faint.text-xs.hidden.md\:block {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.2rem !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  /* bloco da loja pode ceder, mas o texto NAO e cortado: rola se precisar */
  .zj-pdv-root > header > .flex.items-center.gap-3 > .hidden.sm\:block,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 > .hidden.sm\:block {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  /* 4) rede de seguranca: a fileira 0 rola em vez de esconder */
  .zj-pdv-root > header > .flex.items-center.gap-3,
  .zj-pdv-root header.bg-theme-card > .flex.items-center.gap-3 {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    align-items: center !important;
  }
  .zj-pdv-root > header > .flex.items-center.gap-3::-webkit-scrollbar {
    display: none !important;
  }
}
/* ===== fim ZJ-HEAD-V7 ===== */

/* ============================================================
   ZJ-CART-V1 — carrinho do Balcao PROFISSIONAL (01/08/2026)
   O dono: "olha como esta os pedidos e o caixa vc poderia deixa mais
   profissional e melhor?" — foto 15:46 com 5 itens.
   MEDIDO na linha do item (w util = 121px):
     IMG 36 + DIV nome (flex:1 1 0%) + DIV qtd 76 + P preco 56 + gaps 24
     = 192px pedidos em 121px. Os 3 ultimos sao flex-shrink:0, entao o
     NOME foi esmagado a 0px e o preco terminou em x=465 (72px FORA da
     tela de 393px). Dai o "R.,90" ilegivel e o nome ausente.
   PROVA de que os valores estao certos: a sonda leu R$ 119,90,
   R$ 57,80 (2x28,90 — total da linha) e R$ 12,90. Nao e bug de calculo.
   SOLUCAO: 2 linhas por item.
     linha A: [foto 32] Nome do produto
     linha B:           [- qtd +]   R$ 119,90
   Conta: A = 32+6+83 = 121 OK · B = 64+5+52 = 121 OK
   ESCOPO: <=767px, somente dentro de .zj-pdv-cart (nao afeta grade,
   Mesas, Balcao desktop nem outros paineis).
   ============================================================ */
@media (max-width:767px){

  /* ---- 1. a linha do item passa a ter 2 fileiras ---- */
  .zj-pdv-cart .flex-1.overflow-y-auto > * > .flex.items-center{
    flex-wrap:wrap !important;
    gap:.25rem !important;
    padding:.4rem !important;
    align-items:center !important;
  }

  /* ---- 2. foto menor: devolve espaco ao nome ---- */
  .zj-pdv-cart .flex-1.overflow-y-auto img{
    width:32px !important;
    height:32px !important;
    flex:0 0 32px !important;
  }

  /* ---- 3. o NOME volta a existir (era 0px) ---- */
  .zj-pdv-cart .flex-1.overflow-y-auto .flex-1.min-w-0{
    flex:1 1 auto !important;
    min-width:60px !important;
    order:1 !important;
  }
  .zj-pdv-cart .flex-1.overflow-y-auto .flex-1.min-w-0 > p:first-child{
    font-size:.68rem !important;
    line-height:1.15 !important;
    white-space:normal !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    text-overflow:ellipsis !important;
  }
  /* preco unitario discreto (o que importa e o total da linha) */
  .zj-pdv-cart .flex-1.overflow-y-auto .flex-1.min-w-0 > p:nth-child(2){
    font-size:.58rem !important;
    line-height:1.1 !important;
    white-space:nowrap !important;
    opacity:.75 !important;
  }

  /* ---- 4. bloco '- qtd +' na 2a fileira, compacto ---- */
  .zj-pdv-cart .flex-1.overflow-y-auto .flex.items-center.gap-1{
    flex:0 0 auto !important;
    order:2 !important;
    gap:.1rem !important;
    margin-top:.15rem !important;
  }
  .zj-pdv-cart .flex-1.overflow-y-auto .flex.items-center.gap-1 > button{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    flex:0 0 22px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .zj-pdv-cart .flex-1.overflow-y-auto .flex.items-center.gap-1 > button svg{
    width:11px !important;height:11px !important;
  }
  .zj-pdv-cart .flex-1.overflow-y-auto .flex.items-center.gap-1 > span{
    width:18px !important;
    min-width:18px !important;
    font-size:.7rem !important;
    text-align:center !important;
  }

  /* ---- 5. o PRECO da linha: dentro da tela, alinhado a direita ---- */
  .zj-pdv-cart .flex-1.overflow-y-auto .text-zuryon-400.text-right,
  .zj-pdv-cart .flex-1.overflow-y-auto p.w-14{
    width:auto !important;
    min-width:52px !important;
    max-width:none !important;
    flex:0 0 auto !important;
    order:3 !important;
    margin-left:auto !important;
    margin-top:.15rem !important;
    font-size:.72rem !important;
    white-space:nowrap !important;
    text-align:right !important;
    overflow:visible !important;
  }

  /* ---- 6. cartao do item mais compacto (cabe mais item na tela) ---- */
  .zj-pdv-cart .flex-1.overflow-y-auto > *{
    gap:.3rem !important;
  }
  .zj-pdv-cart .flex-1.overflow-y-auto{
    padding:.4rem !important;
  }

  /* ---- 7. campo de desconto usavel (media 22px) ---- */
  .zj-pdv-cart input{
    min-width:56px !important;
    flex:1 1 56px !important;
  }

  /* ---- 8. selo de quantidade separado da engrenagem ---- */
  .zj-pdv-cart > *:first-child > *{
    margin-right:.1rem !important;
  }
}

/* ============================================================
   ZJ-CART-V2 — acabamento profissional do carrinho + grade (01/08/2026)
   Defeitos que EU VI na foto depois do V1, e a medicao de cada um:
   1) 'Subtotal (4 itens)' colado no valor: label 59 + valor 53 em 117px
      -> gap real de 5px. Parece sobreposto.
   2) Campo de desconto com 22px: o LABEL 'Desconto R$' tem
      flex-shrink:0 e w=87px; 117 - 87 - 8 = 22px para o input.
      (minha regra flex:1 1 56px nao venceu porque min-width:0 permite
      encolher abaixo da base — o que segura e o MIN-WIDTH)
   3) Cartao do item com h=124/137px (era 58px) -> so 2,5 itens na tela.
      Causa: 3 fileiras. Solucao: preco unitario sobe para a linha do nome.
   4) GRADE do Balcao: botao '+' com w=91px (deveria 20px) cobrindo o
      preco, que foi a 0px e vazou ate x=268 (limite do cartao: 240).
      CULPADO: `.zj-pdv-root .text-right:has(> .font-black){min-width:82px}`
      do ZJ-MESA-V6 — seletor global do PDV alcancando a grade.
      Licao: ancorar sempre no container da tela.
   ESCOPO: <=767px. Grade via .zj-pdv-grid/.zj-prod-card, carrinho via
   .zj-pdv-cart. Nao afeta Mesas, desktop nem outros paineis.
   ============================================================ */
@media (max-width:767px){

  /* ---------- 1. GRADE: o '+' volta a 20px e o preco reaparece ---------- */
  .zj-pdv-grid .w-5.h-5,
  .zj-prod-card .w-5.h-5,
  .zj-pdv-grid .flex.items-center.justify-between > div:last-child{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    max-width:20px !important;
    flex:0 0 20px !important;
    overflow:hidden !important;
  }
  .zj-pdv-grid .w-5.h-5 svg,
  .zj-prod-card .w-5.h-5 svg,
  .zj-pdv-grid .flex.items-center.justify-between > div:last-child svg{
    width:12px !important;
    height:12px !important;
    min-width:12px !important;
    max-width:12px !important;
    flex:0 0 12px !important;
  }
  /* o preco do produto tem espaco garantido */
  .zj-pdv-grid .flex.items-center.justify-between > p.text-zuryon-400,
  .zj-prod-card p.text-zuryon-400{
    flex:1 1 auto !important;
    min-width:38px !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
  /* neutraliza o min-width:82px herdado do ZJ-MESA-V6 dentro da grade */
  .zj-pdv-grid .text-right,
  .zj-prod-card .text-right,
  .zj-pdv-grid div:has(> .font-black),
  .zj-prod-card div:has(> .font-black){
    min-width:0 !important;
  }

  /* ---------- 2. item do carrinho em 2 fileiras compactas ---------- */
  /* preco unitario sobe para a linha do nome, a direita */
  .zj-pdv-cart .flex-1.overflow-y-auto .flex-1.min-w-0{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    column-gap:.25rem !important;
    row-gap:0 !important;
  }
  .zj-pdv-cart .flex-1.overflow-y-auto .flex-1.min-w-0 > p:first-child{
    flex:1 1 auto !important;
    min-width:0 !important;
    -webkit-line-clamp:1 !important;
    font-size:.66rem !important;
    line-height:1.25 !important;
  }
  .zj-pdv-cart .flex-1.overflow-y-auto .flex-1.min-w-0 > p:nth-child(2){
    flex:0 0 auto !important;
    font-size:.55rem !important;
    line-height:1.25 !important;
    opacity:.7 !important;
  }
  /* cartao mais baixo: padding e gap menores */
  .zj-pdv-cart .flex-1.overflow-y-auto > * > .flex.items-center{
    padding:.3rem !important;
    gap:.2rem !important;
    row-gap:.1rem !important;
  }
  .zj-pdv-cart .flex-1.overflow-y-auto > *{
    gap:.25rem !important;
  }

  /* ---------- 3. 'Subtotal (N itens)' com respiro do valor ---------- */
  .zj-pdv-cart .flex.justify-between{
    gap:.5rem !important;
    justify-content:space-between !important;
  }
  .zj-pdv-cart .flex.justify-between > *:first-child{
    flex:0 1 auto !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .zj-pdv-cart .flex.justify-between > *:last-child{
    flex:0 0 auto !important;
    margin-left:auto !important;
    padding-left:.2rem !important;
  }

  /* ---------- 4. campo de desconto usavel: encolher o LABEL ---------- */
  .zj-pdv-cart label{
    flex:0 1 auto !important;
    min-width:0 !important;
    max-width:58px !important;
    overflow:hidden !important;
    font-size:.56rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
  }
  .zj-pdv-cart label svg{
    width:10px !important;height:10px !important;flex:0 0 10px !important;
  }
  .zj-pdv-cart input{
    min-width:52px !important;
    flex:1 1 52px !important;
    text-align:right !important;
  }

  /* ---------- 5. selo de quantidade separado da engrenagem ---------- */
  .zj-pdv-cart > *:first-child > *:last-child{
    margin-left:.25rem !important;
  }
}

/* ============================================================
   ZJ-CART-V3 — o '+' da grade e a altura do item (01/08/2026)

   A) RETANGULO AZUL SOBRE O PRECO (o defeito mais visivel da foto)
      Medido: DIV.w-5.h-5.bg-zuryon-600/20 = 88x20, x=62 right=150,
      num cartao que termina em 85. computed min-width:88px.
      CULPADO: ZJ-MESA-V7/V8 —
        .zj-pdv-root .bg-theme-card2 .flex.items-center.justify-between
          > div:last-child { flex:0 0 auto; min-width:88px; max-width:56% }
      Escrita para a coluna TOTAL DA PESSOA da Mesa, mas o cartao de produto
      tambem e `.bg-theme-card2` e o `div:last-child` dele E o botao '+'.
      Meu ZJ-CART-V2 usou `.zj-prod-card .w-5.h-5` = (0,3,0) e PERDEU para
      (0,5,1). Aqui uso o MESMO desenho de seletor ancorado no cartao de
      produto, mesma media query, escrito DEPOIS -> ganha.
      (4a vez hoje que uma regra minha vaza de tela: sempre ancorar no
       container da tela, nunca em classe de tema como .bg-theme-card2)

   B) ITEM DO CARRINHO 115px -> ~72px
      Medido: 4 fileiras empilhadas (foto 32 sozinha / nome 24 / qtd 22 /
      total 16). Area util 372px => so 3,2 itens.
      Novo arranjo em 2 fileiras:
        [foto 32][nome + R$ unit .......][total R$]
        [                    - qtd + ]
      Resultado esperado: ~72px, ~5 itens visiveis.

   C) 'Subtotal (4 itens)' estava truncando por causa do ellipsis do V2:
      troco por fonte menor, sem cortar texto.
   ============================================================ */
@media (max-width:767px){

  /* ---------- A) o '+' do cartao de produto volta a 20x20 ---------- */
  .zj-pdv-root .zj-prod-card .flex.items-center.justify-between > div:last-child,
  .zj-pdv-root .zj-prod-card .flex.items-center.justify-between > *:last-child{
    flex:0 0 20px !important;
    width:20px !important;
    min-width:20px !important;
    max-width:20px !important;
    height:20px !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .zj-pdv-root .zj-prod-card .flex.items-center.justify-between > *:last-child svg{
    width:12px !important;
    height:12px !important;
    min-width:12px !important;
    flex:0 0 12px !important;
  }
  /* o preco do produto usa o espaco que sobrou */
  .zj-pdv-root .zj-prod-card .flex.items-center.justify-between > *:first-child{
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:none !important;
    white-space:nowrap !important;
  }
  /* a fileira preco+botao nunca estoura o cartao */
  .zj-pdv-root .zj-prod-card .flex.items-center.justify-between{
    max-width:100% !important;
    overflow:hidden !important;
    column-gap:.15rem !important;
  }

  /* ---------- B) item do carrinho em 2 fileiras ---------- */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    column-gap:.3rem !important;
    row-gap:.15rem !important;
    padding:.35rem !important;
  }
  /* fileira 1: foto */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > img{
    order:1 !important;
    flex:0 0 30px !important;
    width:30px !important;
    height:30px !important;
  }
  /* fileira 1: nome (com o preco unitario embaixo, dentro do mesmo bloco) */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > .flex-1{
    order:2 !important;
    flex:1 1 44px !important;
    min-width:0 !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > .flex-1 > p:first-child{
    font-size:.64rem !important;
    line-height:1.2 !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > .flex-1 > p:nth-child(2){
    font-size:.52rem !important;
    line-height:1.1 !important;
    opacity:.75 !important;
  }
  /* fileira 1: total da linha, na ponta direita */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > p:last-child{
    order:3 !important;
    flex:0 0 auto !important;
    width:auto !important;
    min-width:46px !important;
    text-align:right !important;
    font-size:.66rem !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
  /* fileira 2: o controle de quantidade, encostado a direita */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > .flex.items-center.gap-1{
    order:4 !important;
    flex:0 0 auto !important;
    margin-left:auto !important;
    gap:.15rem !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > .flex.items-center.gap-1 button{
    width:20px !important;
    height:20px !important;
    min-width:20px !important;
    flex:0 0 20px !important;
  }

  /* ---------- C) Subtotal sem truncar ---------- */
  .zj-pdv-cart .flex.justify-between > *:first-child{
    text-overflow:clip !important;
    font-size:.56rem !important;
    letter-spacing:-.01em !important;
  }
}


/* ============================================================
   ZJ-CART-V5 — item do carrinho em GRID (01/08/2026)
   Substitui o bloco V-quatro do carrinho, que foi REMOVIDO deste arquivo.

   Por que ele saiu: `flex:1 1 0` no bloco do nome, com os irmaos (qtd 63px
   + total 55px) na MESMA fileira, deixou ~10px para o nome — virou 'P...',
   'S...', 'R...'. E o preco unitario ficou por baixo do botao '−'.
   LICAO: `order` reordena mas NAO cria fileira nova num flex-wrap; quem
   quebra a linha e o flex-basis dos irmaos.

   Aqui o item passa a GRID, que posiciona sem depender de wrap:
     colunas: 30px | 1fr
     linha 1: [foto ocupando as 2 linhas] [nome + preco unitario]
     linha 2:                             [- qtd +]  [total a direita]
   Ordem real no DOM: 1=IMG, 2=DIV.flex-1, 3=DIV.qtd, 4=P.total
   Botoes de qtd em 18px para a linha 2 caber em 98px:
     18+16+18 = 52 (qtd) + 46 (total) = 98. Fecha.
   ============================================================ */
@media (max-width:767px){

  .zj-pdv-cart .overflow-y-auto .bg-theme-card2{
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    align-items:center !important;
    column-gap:.3rem !important;
    row-gap:.1rem !important;
    padding:.3rem .35rem !important;
  }
  /* 1) foto: coluna 1, ocupa as 2 linhas */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(1){
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:30px !important;
    height:30px !important;
    min-width:30px !important;
    align-self:center !important;
  }
  /* 2) nome + preco unitario: coluna 2, linha 1 */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(2){
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    column-gap:.25rem !important;
    row-gap:0 !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(2) > p:first-child{
    flex:1 1 auto !important;
    min-width:0 !important;
    font-size:.63rem !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(2) > p:nth-child(2){
    flex:0 0 auto !important;
    font-size:.5rem !important;
    line-height:1.15 !important;
    opacity:.7 !important;
  }
  /* 3) controle de quantidade: coluna 2, linha 2, na esquerda */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(3){
    grid-column:2 !important;
    grid-row:2 !important;
    justify-self:start !important;
    display:flex !important;
    align-items:center !important;
    gap:.1rem !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(3) > button{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    flex:0 0 18px !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(3) > button svg{
    width:10px !important;height:10px !important;flex:0 0 10px !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(3) > span{
    width:16px !important;
    min-width:16px !important;
    font-size:.62rem !important;
    text-align:center !important;
  }
  /* 4) total da linha: coluna 2, linha 2, na direita */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(4){
    grid-column:2 !important;
    grid-row:2 !important;
    justify-self:end !important;
    width:auto !important;
    min-width:0 !important;
    text-align:right !important;
    font-size:.66rem !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
}

/* ============================================================
   ZJ-CART-V6 — conserta a sobreposicao total/quantidade (01/08/2026)
   No bloco anterior eu pus o controle de quantidade e o total da linha na
   MESMA celula do grid (coluna 2, linha 2) mudando apenas `justify-self`.
   No CSS Grid dois itens na mesma celula se EMPILHAM: o `R$ 119,90` saiu
   impresso por cima do `1`.
   LICAO: `justify-self:start/end` alinha DENTRO da celula; para ficarem lado
   a lado precisam de COLUNAS diferentes.

   Agora: 3 colunas, celulas distintas.
     grid-template-columns: 30px auto minmax(0,1fr)
     linha 1: [foto (span 2 linhas)] [nome ocupando col 2 e 3]
     linha 2:                        [- qtd +] | [total, direita]
   ============================================================ */
@media (max-width:767px){

  .zj-pdv-cart .overflow-y-auto .bg-theme-card2{
    grid-template-columns:30px auto minmax(0,1fr) !important;
  }
  /* nome ocupa as duas colunas da direita na linha 1 */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(2){
    grid-column:2 / span 2 !important;
    grid-row:1 !important;
  }
  /* quantidade: coluna 2 da linha 2 */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(3){
    grid-column:2 !important;
    grid-row:2 !important;
    justify-self:start !important;
  }
  /* total: coluna 3 da linha 2, encostado a direita */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(4){
    grid-column:3 !important;
    grid-row:2 !important;
    justify-self:end !important;
    padding-left:.2rem !important;
  }
}

/* ============================================================
   ZJ-CART-V7 — o total da linha sobe para a fileira do nome (01/08/2026)
   No bloco anterior o total ficou na linha 2, ao lado da quantidade, e
   CORTOU na borda: `R$ 11▸`, `R$ 2▸`, `R$▸`.
   Conta em 98px uteis (item 128 - foto 30):
     coluna da quantidade = 63px natural + gap = 68  ->  sobram 30px
     `R$ 119,90` pede 53px  ->  faltavam 23px.
   Agora:
     linha 1: [foto (span 2)] [nome, encolhe com ellipsis] [total]
     linha 2:                 [- qtd +]
   Conta: nome min 30 + total 46 = 76 <= 98. Folga de 22px.
   Ganho extra: o valor fica alinhado com o nome do produto, mais legivel.
   ============================================================ */
@media (max-width:767px){

  /* nome volta a ocupar SO a coluna 2 (o total assume a coluna 3) */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(2){
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0 !important;
  }
  /* quantidade: linha 2, podendo usar as colunas 2 e 3 */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(3){
    grid-column:2 / span 2 !important;
    grid-row:2 !important;
    justify-self:start !important;
  }
  /* total: linha 1, coluna 3, encostado a direita */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(4){
    grid-column:3 !important;
    grid-row:1 !important;
    justify-self:end !important;
    align-self:center !important;
    font-size:.63rem !important;
    letter-spacing:-.01em !important;
    padding-left:.15rem !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
  /* a coluna 3 tem exatamente o tamanho do valor; a 2 cede */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2{
    grid-template-columns:30px minmax(0,1fr) auto !important;
    column-gap:.25rem !important;
  }
  /* o nome nao empurra ninguem */
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(2) > p:first-child{
    max-width:100% !important;
  }
}

/* ============================================================
   ZJ-CART-V8 — o preco unitario para de invadir o total (01/08/2026)
   O bloco do nome (coluna 2) contem o nome e o preco unitario cinza.
   O unitario transbordava para a direita e aparecia POR BAIXO do total azul
   da coluna 3. Aqui ele passa a ser recortado dentro da propria coluna.
   ============================================================ */
@media (max-width:767px){
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(2){
    overflow:hidden !important;
  }
  .zj-pdv-cart .overflow-y-auto .bg-theme-card2 > *:nth-child(2) > p{
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
}

/* ============================================================
   ZJ-MESAORD-V1 — linha do item no painel "Pedido" da tela de MESAS (mobile)
   MEDIDO em 393px: painel 132px, linha do item 123px. Os 5 elementos da linha
   (foto 34 + gap + nome/preco + gap + [-][n][+][lixeira] 57) nao cabem: o
   bloco do nome colapsa para width:0 e os <p> vazam por cima dos botoes,
   virando "M - nfi + elh" na tela do dono, com o preco invisivel.
   SOLUCAO: a linha passa a ter 2 fileiras.
     fileira 1: foto menor + nome em 2 linhas (sem truncate)
     fileira 2: [- qtd + lixeira] a esquerda, preco a direita
   Painel ganha ~18px de largura, ainda lateral (regra do dono: nunca no rodape)
   e sem voltar aos 288px fixos que esmagavam a lista de produtos (ZJ-MESA-V1).
   ESCOPO: so .w-72.border-l:not(.zj-pdv-cart) em <=767px. Desktop intocado.
   ============================================================ */
@media (max-width:767px){
  /* --- 1. painel um pouco mais largo, continua lateral --- */
  .w-72.border-l:not(.zj-pdv-cart){
    width:44vw !important;
    min-width:152px !important;
    max-width:232px !important;
  }
  /* a lista ao lado precisa poder encolher */
  .flex.h-full > .flex-1.overflow-y-auto{ min-width:0 !important; }

  /* --- 2. a linha do item vira 2 fileiras --- */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2{
    flex-wrap:wrap !important;
    align-items:center !important;
    row-gap:.3rem !important;
    column-gap:.4rem !important;
    padding:.45rem .5rem !important;
  }
  /* foto menor, na fileira 1 */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > img{
    width:28px !important; height:28px !important;
    flex:0 0 28px !important;
  }
  /* bloco do nome: nao pode colapsar; nome em 2 linhas */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex-1{
    flex:1 1 auto !important;
    min-width:64px !important;
    overflow:hidden !important;
  }
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex-1 > p:first-child{
    white-space:normal !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    line-height:1.15 !important;
    font-size:.66rem !important;
    word-break:break-word !important;
  }
  /* o preco unitario sai da fileira 1 e vai para a direita da fileira 2 */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex-1 > p:nth-child(2){
    display:none !important;
  }

  /* --- 3. fileira 2: controles a esquerda, preco a direita --- */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex.items-center{
    flex:1 0 100% !important;
    order:9 !important;
    justify-content:flex-start !important;
    gap:.28rem !important;
    position:relative !important;
  }
  /* botoes compactos mas tocaveis */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex.items-center > button{
    width:26px !important; height:26px !important;
    min-width:26px !important; flex:0 0 26px !important;
  }
  /* a quantidade nao pode colapsar */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex.items-center > span{
    width:auto !important; min-width:18px !important;
    font-size:.75rem !important; font-weight:700 !important;
    text-align:center !important;
  }
  /* o total da linha (preco x qtd) entra depois da lixeira, encostado a direita */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex.items-center::after{
    content:attr(data-zj-total);
    margin-left:auto !important;
    color:#818cf8;
    font-size:.72rem;
    font-weight:800;
    white-space:nowrap;
  }

  /* --- 4. rodape (Total + Enviar Pedido) sempre legivel --- */
  .w-72.border-l:not(.zj-pdv-cart) .border-t .justify-between{
    gap:.3rem !important;
  }
  .w-72.border-l:not(.zj-pdv-cart) .border-t .justify-between > *{
    white-space:nowrap !important;
    font-size:.72rem !important;
  }
  .w-72.border-l:not(.zj-pdv-cart) .border-t button{
    font-size:.78rem !important;
    padding:.55rem .4rem !important;
    white-space:nowrap !important;
  }
}

/* ============================================================
   ZJ-MESAORD-V2 — conserta os 3 defeitos medidos no V1 (01/08/2026 17:05)
   1) o preco de cada item havia DESAPARECIDO (o ::after dependia de um
      data-attr que o React nao escreve) -> o <p> do preco volta, na fileira 2
   2) a largura 44vw nao pegava: o ZJ-MESA-V1 tem @media(max-width:479px) com
      width:40vw !important, que vence em 393px -> repetida aqui no mesmo bp
   3) os cartoes da visao "Por pessoa" (#zy-cp-wrap) quebravam letra a letra
      na coluna de 229px -> densidade menor e valores em nowrap
   ============================================================ */
@media (max-width:767px){
  /* --- 1. o preco do item volta, na fileira 2 a direita --- */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex-1 > p:nth-child(2){
    display:block !important;
    order:10 !important;
    margin-left:auto !important;
    font-size:.7rem !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    color:#a5b4fc !important;
    text-align:right !important;
  }
  /* o bloco do nome deixa o preco escapar para a fileira de baixo */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex-1{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:baseline !important;
    column-gap:.35rem !important;
    row-gap:.1rem !important;
  }
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex-1 > p:first-child{
    flex:1 1 100% !important;
  }
  /* o ::after do V1 nao serve mais */
  .w-72.border-l:not(.zj-pdv-cart) .overflow-y-auto
    > .flex.items-center.bg-theme-card2 > .flex.items-center::after{
    content:none !important;
  }

  /* --- 3. cartoes da visao Por pessoa: densidade --- */
  #zy-cp-wrap, #zy-cp-wrap *{ word-break:normal !important; }
  #zy-cp-wrap .zy-cp-cab, #zy-cp-wrap > div{ overflow-wrap:break-word; }
  #zy-cp-wrap{ font-size:.82rem !important; }
}

/* --- 2. largura do painel: vencer o bloco de 479px do ZJ-MESA-V1 --- */
@media (max-width:479px){
  .w-72.border-l:not(.zj-pdv-cart){
    width:46vw !important;
    min-width:158px !important;
    max-width:236px !important;
  }
}

/* ============================================================
   ZJ-MESAORD-V3 — cartoes da visao "Por pessoa" na coluna estreita
   MEDIDO: com o painel "Novo Pedido" aberto a coluna cai para 229px e os
   cartoes quebravam letra a letra: "MESA 1 · 3 / pessoas · 4 / comandas",
   "1. Tonny / Marcio", "1x File ao Molho / Madeira   R$ / 68,90".
   CAUSA: o cabecalho usa flex justify-between (nome | TOTAL) e as linhas de
   item poem "1x Nome" e valor lado a lado, sem min-width:0 nem nowrap.
   ============================================================ */
@media (max-width:767px){
  /* cabecalho da pessoa: empilha nome e TOTAL DA PESSOA */
  #zy-cp-wrap .flex.items-start.justify-between{
    flex-wrap:wrap !important;
    gap:.35rem !important;
  }
  #zy-cp-wrap .flex.items-start.justify-between > div:first-child{
    flex:1 1 100% !important;
    min-width:0 !important;
  }
  #zy-cp-wrap .flex.items-start.justify-between > div:last-child{
    flex:1 1 100% !important;
    text-align:left !important;
    display:flex !important;
    align-items:baseline !important;
    gap:.4rem !important;
  }
  /* linhas "1x Produto ......... R$ 00,00" */
  #zy-cp-wrap .flex.items-center.justify-between{
    gap:.4rem !important;
  }
  #zy-cp-wrap .flex.items-center.justify-between > span:first-child{
    flex:1 1 auto !important;
    min-width:0 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
  #zy-cp-wrap .flex.items-center.justify-between > span:last-child{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }
  /* densidade compativel com 229px */
  #zy-cp-wrap .p-4{ padding:.7rem !important; }
  #zy-cp-wrap{ font-size:.8rem !important; }
}
/* na coluna mais estreita ainda, aliviar mais */
@media (max-width:479px){
  #zy-cp-wrap .flex.items-start.justify-between > div:first-child > div:first-child{
    font-size:13px !important; line-height:1.2 !important;
  }
  #zy-cp-wrap .p-4{ padding:.6rem !important; }
}
