@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");

/*
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-inter),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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,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;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{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}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}body,html{height:100%;background-color:#0a0a0a;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:after,:before{--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:rgba(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: }::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:rgba(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: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-\[-20\%\]{bottom:-20%}.left-0{left:0}.left-\[-20\%\]{left:-20%}.right-0{right:0}.right-3{right:.75rem}.right-4{right:1rem}.right-\[-20\%\]{right:-20%}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.top-\[-20\%\]{top:-20%}.z-10{z-index:10}.z-30{z-index:30}.z-50{z-index:50}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-24{margin-bottom:6rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-32{margin-top:8rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[90\%\]{height:90%}.h-full{height:100%}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-16{width:4rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[90\%\]{width:90%}.max-w-2xl{max-width:42rem}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.scale-110,.scale-\[1\.02\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[1\.02\]{--tw-scale-x:1.02;--tw-scale-y:1.02}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@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}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.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-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))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-blue-500\/20{border-color:rgba(59,130,246,.2)}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity))}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.border-white\/5{border-color:hsla(0,0%,100%,.05)}.bg-\[\#1C1C1E\]\/80{background-color:rgba(28,28,30,.8)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-black\/10{background-color:rgba(0,0,0,.1)}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-blue-50\/50{background-color:rgba(239,246,255,.5)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-blue-500\/5{background-color:rgba(59,130,246,.05)}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-blue-600\/5{background-color:rgba(37,99,235,.05)}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.bg-neutral-800\/30{background-color:rgba(38,38,38,.3)}.bg-neutral-800\/50{background-color:rgba(38,38,38,.5)}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-white\/10{background-color:hsla(0,0%,100%,.1)}.bg-white\/5{background-color:hsla(0,0%,100%,.05)}.bg-opacity-20{--tw-bg-opacity:0.2}.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-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,246,255,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-neutral-950\/80{--tw-gradient-from:hsla(0,0%,4%,.8) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,4%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-indigo-100{--tw-gradient-to:#e0e7ff var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-16{padding:4rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-12{padding-bottom:3rem}.pb-20{padding-bottom:5rem}.pb-32{padding-bottom:8rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pr-10{padding-right:2.5rem}.pt-14{padding-top:3.5rem}.pt-28{padding-top:7rem}.pt-8{padding-top:2rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:var(--font-inter),sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.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-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.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-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-black\/60{color:rgba(0,0,0,.6)}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-white\/20{color:hsla(0,0%,100%,.2)}.text-white\/60{color:hsla(0,0%,100%,.6)}.text-white\/80{color:hsla(0,0%,100%,.8)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-90{opacity:.9}.opacity-\[0\.03\]{opacity:.03}.shadow-\[0_0_10px_rgba\(59\2c 130\2c 246\2c 0\.5\)\]{--tw-shadow:0 0 10px rgba(59,130,246,.5);--tw-shadow-colored:0 0 10px 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-\[0_4px_20px_rgba\(255\2c 255\2c 255\2c 0\.1\)\]{--tw-shadow:0 4px 20px hsla(0,0%,100%,.1);--tw-shadow-colored:0 4px 20px 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-\[0_4px_20px_rgba\(59\2c 130\2c 246\2c 0\.3\)\]{--tw-shadow:0 4px 20px rgba(59,130,246,.3);--tw-shadow-colored:0 4px 20px var(--tw-shadow-color)}.shadow-\[0_4px_20px_rgba\(59\2c 130\2c 246\2c 0\.3\)\],.shadow-lg{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 rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.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)}.blur{--tw-blur:blur(8px)}.blur,.blur-\[150px\]{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-\[150px\]{--tw-blur:blur(150px)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px rgba(0,0,0,.1)) drop-shadow(0 1px 1px rgba(0,0,0,.06))}.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-md{--tw-backdrop-blur:blur(12px)}.backdrop-blur-md,.backdrop-filter{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}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.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)}:root{--bg:#f2f2f7;--surface:#fff;--surface-glass:hsla(0,0%,100%,.72);--surface-glass-heavy:hsla(0,0%,100%,.88);--surface-dark-glass:rgba(28,28,30,.68);--surface-elevated:hsla(0,0%,100%,.92);--text-primary:#000;--text-secondary:rgba(60,60,67,.85);--text-tertiary:rgba(60,60,67,.5);--text-quaternary:rgba(60,60,67,.3);--sep:rgba(60,60,67,.1);--sep-opaque:#e5e5ea;--fill:hsla(240,3%,49%,.08);--fill-2:hsla(240,3%,49%,.05);--fill-3:hsla(240,3%,49%,.12);--blue:#007aff;--green:#34c759;--orange:#ff9500;--red:#ff3b30;--purple:#af52de;--teal:#5ac8fa;--pink:#ff2d55;--indigo:#5856d6;--grad-blue:linear-gradient(135deg,#007aff,#5ac8fa);--grad-green:linear-gradient(135deg,#34c759,#30d158);--grad-purple:linear-gradient(135deg,#af52de,#5856d6);--grad-orange:linear-gradient(135deg,#ff9500,#ff6b00);--grad-dark:linear-gradient(165deg,#000,#1a1a2e 50%,#16213e);--r-sm:12px;--r-md:16px;--r-lg:24px;--r-xl:32px;--r-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.04),0 1px 3px rgba(0,0,0,.02);--shadow-md:0 4px 12px rgba(0,0,0,.06),0 1px 4px rgba(0,0,0,.03);--shadow-lg:0 8px 28px rgba(0,0,0,.08),0 2px 8px rgba(0,0,0,.04);--shadow-glow-blue:0 4px 20px rgba(0,122,255,.25);--shadow-glow-green:0 4px 20px rgba(52,199,89,.25);--shadow-glow-purple:0 4px 20px rgba(175,82,222,.25);--shadow-glow-orange:0 4px 20px rgba(255,149,0,.25);--font:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;--font-display:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Display",sans-serif;--ease-smooth:cubic-bezier(0.25,0.46,0.45,0.94);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--duration-fast:0.15s;--duration-med:0.3s;--duration-slow:0.5s}.dark{--bg:#000;--surface:#1c1c1e;--surface-glass:rgba(28,28,30,.72);--surface-glass-heavy:rgba(28,28,30,.88);--surface-dark-glass:rgba(0,0,0,.8);--surface-elevated:#2c2c2e;--text-primary:#fff;--text-secondary:rgba(235,235,245,.6);--text-tertiary:rgba(235,235,245,.3);--text-quaternary:rgba(235,235,245,.18);--sep:rgba(84,84,88,.5);--sep-opaque:#38383a;--fill:hsla(240,3%,49%,.32);--fill-2:hsla(240,3%,49%,.24);--fill-3:hsla(240,3%,49%,.48);--shadow-sm:0 1px 2px rgba(0,0,0,.8);--shadow-md:0 4px 12px rgba(0,0,0,.6);--shadow-lg:0 8px 28px rgba(0,0,0,.8)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes springPop{0%{transform:scale(0)}50%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes popFav{0%{transform:scale(1)}30%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes dotPulse{0%,to{transform:scale(1)}50%{transform:scale(1.5)}}@keyframes floatUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes splashLogo{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes splashFade{0%{opacity:1}80%{opacity:1}to{opacity:0}}@keyframes glassReveal{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(24px)}}@keyframes checkDraw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes stagger1{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text-primary);min-height:100dvh;font-size:16px;line-height:1.5;letter-spacing:-.01em;overscroll-behavior:none}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer}.glass{background:var(--surface-glass);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border:.5px solid hsla(0,0%,100%,.5)}.glass-heavy{background:var(--surface-glass-heavy);backdrop-filter:saturate(200%) blur(40px);-webkit-backdrop-filter:saturate(200%) blur(40px);border:.5px solid hsla(0,0%,100%,.6)}.glass-dark{background:var(--surface-dark-glass);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border:.5px solid hsla(0,0%,100%,.08)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:var(--r-sm)}.skeleton,.skeleton-line{animation:shimmer 1.5s ease infinite}.skeleton-line{height:14px;width:100%;border-radius:7px;background:linear-gradient(90deg,#ebebeb 25%,#ddd 50%,#ebebeb 75%);background-size:200% 100%}.skeleton-line-sm{height:10px;width:60%}.skeleton-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,#ebebeb 25%,#ddd 50%,#ebebeb 75%);background-size:200% 100%;animation:shimmer 1.5s ease infinite}.skeleton-card{background:var(--surface);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:12px}.glass-card{background:var(--surface-glass);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border:.5px solid hsla(0,0%,100%,.4);border-radius:20px;padding:16px;box-shadow:0 4px 20px rgba(0,0,0,.03);transition:transform .2s var(--ease-spring),box-shadow .2s}.glass-card:active{transform:scale(.98)}.glass-card div,.glass-card h1,.glass-card h2,.glass-card h3,.glass-card p{word-break:break-word;overflow-wrap:anywhere}.glass-card.dark{background:var(--surface-dark-glass);border:.5px solid hsla(0,0%,100%,.05)}.status-pulse{position:relative;display:flex;align-items:center;justify-content:center}.status-pulse:after{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:inherit;opacity:.5;animation:pulse-ring 2s cubic-bezier(.215,.61,.355,1) infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:.5}to{transform:scale(2.4);opacity:0}}.timeline-connector{position:absolute;left:24px;top:40px;bottom:-24px;width:2px;background:linear-gradient(to bottom,var(--sep-opaque) 60%,transparent);z-index:0}.skeleton-card .skeleton-line:nth-child(2){width:75%;animation-delay:.1s}.skeleton-card .skeleton-line:nth-child(3){width:50%;animation-delay:.2s}.splash{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--grad-dark);animation:splashFade 2.4s ease-in forwards;pointer-events:none}.splash-logo{margin-bottom:0;animation:splashLogo .8s var(--ease-spring) both}.splash-logo svg{filter:drop-shadow(0 0 80px rgba(0,122,255,.5))}.splash-title{font-family:var(--font-display);font-size:40px;font-weight:800;color:#fff;letter-spacing:-1.5px;animation:floatUp .6s var(--ease-smooth) .3s both}.splash-subtitle{font-size:14px;font-weight:500;color:hsla(0,0%,100%,.4);letter-spacing:2px;text-transform:uppercase;animation:floatUp .6s var(--ease-smooth) .5s both}.splash-dots{display:flex;gap:8px;margin-top:48px;animation:fadeIn .6s ease .7s both}.splash-dot{width:6px;height:6px;border-radius:50%;background:hsla(0,0%,100%,.3)}.splash-dot:first-child{animation:dotPulse 1.2s ease 0s infinite}.splash-dot:nth-child(2){animation:dotPulse 1.2s ease .2s infinite}.splash-dot:nth-child(3){animation:dotPulse 1.2s ease .4s infinite}.onboarding{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column}.onboarding,.onboarding-slides{overflow:hidden;position:relative}.onboarding-slides{flex:1}.onboarding-slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 32px;text-align:center;transition:transform .6s var(--ease-smooth),opacity .5s var(--ease-smooth)}.onboarding-slide.active{transform:translateX(0);opacity:1}.onboarding-slide.left{transform:translateX(-100%);opacity:0}.onboarding-slide.right{transform:translateX(100%);opacity:0}.onboarding-illustration{width:220px;height:220px;margin-bottom:48px;animation:scaleIn .7s var(--ease-spring) both}.onboarding-illustration svg{width:100%;height:100%}.onboarding-title{font-family:var(--font-display);font-size:32px;font-weight:800;letter-spacing:-.8px;margin-bottom:16px;line-height:1.15}.onboarding-desc{font-size:17px;color:var(--text-tertiary);line-height:1.6;max-width:300px;font-weight:400}.onboarding-footer{padding:16px 24px max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between}.onboarding-dots{display:flex;gap:8px;align-items:center}.onboarding-dot{width:8px;height:8px;border-radius:var(--r-full);background:var(--sep-opaque);transition:all .4s var(--ease-smooth)}.onboarding-dot.active{width:32px;background:var(--blue)}.onboarding-next{width:64px;height:64px;border-radius:50%;background:var(--grad-blue);border:none;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-glow-blue);transition:transform .2s var(--ease-spring),box-shadow .2s}.onboarding-next:active{transform:scale(.88)}.onboarding-skip{position:absolute;top:max(16px,env(safe-area-inset-top));right:24px;z-index:10;background:none;border:none;font-size:16px;font-weight:500;color:var(--text-tertiary);padding:8px 16px;font-family:var(--font)}.onboarding-skip:active{opacity:.4}.onboarding-cta{padding:0 24px max(32px,env(safe-area-inset-bottom))}.spinner{width:24px;height:24px;border:2.5px solid var(--sep-opaque);border-top-color:var(--blue);border-radius:50%;animation:spin .7s linear infinite}.spinner-page{min-height:100dvh;justify-content:center;background:var(--bg)}.spinner-page,.tab-bar{display:flex;align-items:center}.tab-bar{position:fixed;bottom:20px;left:20px;right:20px;height:72px;background:var(--surface-glass-heavy);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:.5px solid var(--sep-opaque);border-radius:40px;justify-content:space-around;padding:0 12px;z-index:100;box-shadow:0 10px 30px -4px rgba(0,0,0,.15),0 4px 10px -2px rgba(0,0,0,.05);max-width:500px;margin:0 auto}.page .inner{padding-bottom:100px!important}body,html{-webkit-overflow-scrolling:touch}.tab-item{display:flex;flex-direction:column;align-items:center;gap:4px;width:60px;position:relative;transition:transform .1s}.tab-item:active{transform:scale(.92)}.tab-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-spring)}.tab-label{font-size:10px;font-weight:500;color:#8e8e93;transition:color .2s}.tab-label.active{color:#007aff;font-weight:600}.toast-container{z-index:9999}.logout-overlay{z-index:10000}.page{min-height:100dvh;min-height:calc(100dvh + 1px);padding:0 16px calc(72px + env(safe-area-inset-bottom, 16px))}.page,.page-center{background:var(--bg)}.page-center{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px}.inner{max-width:600px;margin:0 auto;padding-top:max(32px,env(safe-area-inset-top));animation:slideUp .5s var(--ease-smooth) both}.inner-sm{max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px;animation:slideUp .55s var(--ease-smooth) both}.large-title{font-size:36px;letter-spacing:-.8px;line-height:1.12}.large-title,.page-title{font-family:var(--font-display);font-weight:800}.page-title{font-size:34px;letter-spacing:-.6px;line-height:1.15;padding:0 0 4px}.page-title-md{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.4px;line-height:1.2}.back{gap:6px;padding:8px 16px 8px 12px;border-radius:var(--r-full);background:var(--fill-2);border:.5px solid var(--sep);color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:20px;transition:transform var(--duration-fast),background var(--duration-fast);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.back:active{transform:scale(.96);background:var(--fill-3)}.page-sub{font-size:16px;color:var(--text-tertiary);margin-top:4px;font-weight:400}.nav-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 0;margin-bottom:8px;min-height:48px}.nav-title{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.3px}.nav-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 20px;background:var(--fill-3);font-size:15px;font-weight:500;border:none;border-radius:var(--r-full);font-family:var(--font);transition:transform var(--duration-fast) var(--ease-spring),opacity var(--duration-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--text-primary)}.nav-btn:active{transform:scale(.92);opacity:.7}.nav-btn-danger{color:var(--red)}.nav-btn-primary{background:var(--blue);color:#fff;font-weight:600}.section-label{font-size:13px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.8px;padding:0 4px;margin:24px 0 12px;display:block}.section-header{display:flex;justify-content:space-between;align-items:center;margin:24px 0 12px}.section-link{font-size:16px;color:var(--blue);font-weight:500;text-decoration:none}.card{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-glass{background:var(--surface-glass);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border:.5px solid hsla(0,0%,100%,.5);box-shadow:var(--shadow-md)}.card-glass,.group{border-radius:var(--r-lg)}.group{background:var(--surface);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:16px}.group>*+*{border-top:.5px solid var(--sep)}.row{display:flex;align-items:center;gap:16px;padding:16px;min-height:56px;text-decoration:none;color:var(--text-primary);transition:background var(--duration-fast) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:none;border:none;width:100%;font-family:var(--font);font-size:16px}.row:active{background:var(--fill)}.row-icon{width:40px;height:40px;border-radius:var(--r-sm)}.row-icon,.row-icon-sm{display:flex;align-items:center;justify-content:center;flex-shrink:0}.row-icon-sm{width:32px;height:32px;border-radius:8px}.row-info{flex:1;min-width:0;text-align:left}.row-title{font-size:17px;font-weight:500;line-height:1.3}.row-sub{font-size:14px;margin-top:2px}.row-sub,.row-value{color:var(--text-tertiary)}.row-value{margin-left:auto;font-size:17px;white-space:nowrap}.row-chevron{color:var(--text-quaternary);flex-shrink:0}.row-price{font-size:17px;font-weight:700;color:var(--text-primary);flex-shrink:0}.badge{padding:4px 10px;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap;letter-spacing:.02em}.badge-lg{padding:6px 16px;border-radius:var(--r-full);font-size:14px;font-weight:600}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.cta-card{display:flex;flex-direction:column;padding:20px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--text-primary);transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-med);-webkit-user-select:none;-moz-user-select:none;user-select:none}.cta-card:active{transform:scale(.95)}.cta-card:hover{box-shadow:var(--shadow-md)}.cta-card-row{flex-direction:row;align-items:center;gap:16px}.cta-icon{width:48px;height:48px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex-shrink:0}.cta-icon-inline{margin-bottom:0}.cta-label{font-size:16px;font-weight:700;letter-spacing:-.01em}.cta-sub{font-size:14px;color:var(--text-tertiary);margin-top:4px}.btn{display:flex;align-items:center;justify-content:center;width:100%;height:56px;background:var(--blue);color:#fff;font-size:17px;font-weight:700;font-family:var(--font);border:none;border-radius:var(--r-md);text-decoration:none;transition:transform var(--duration-fast) var(--ease-spring),opacity var(--duration-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;letter-spacing:-.01em}.btn:active:not(:disabled){transform:scale(.96);opacity:.85}.btn:disabled{opacity:.35;cursor:default}.btn-gradient{background:var(--grad-blue);box-shadow:var(--shadow-glow-blue)}.btn-secondary{background:var(--fill-3);color:var(--blue)}.btn-orange{background:var(--orange)}.btn-green{background:var(--green)}.btn-gap{gap:10px}.btn-sm{height:48px;font-size:15px;border-radius:var(--r-sm)}.btn-text{height:auto;padding:8px 0;font-weight:600}.btn-outline,.btn-text{background:none;color:var(--blue)}.btn-outline{border:1.5px solid var(--blue)}.btn-glass{background:var(--surface-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--blue);border:.5px solid hsla(0,0%,100%,.4);font-weight:600}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 16px}.stat{background:var(--surface);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm)}.stat-value{font-size:32px;font-weight:800;font-family:var(--font-display);letter-spacing:-.5px}.stat-label{font-size:13px;color:var(--text-tertiary);margin-top:4px;font-weight:500}.chips{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.chip{padding:8px 16px;border-radius:var(--r-full);font-size:14px;font-weight:500;transition:transform var(--duration-fast) var(--ease-spring)}.chip:active{transform:scale(.93)}.empty{text-align:center;padding:56px 24px;color:var(--text-tertiary);font-size:16px;font-weight:400}.empty-icon{font-size:56px;margin-bottom:16px;display:block}.empty-title{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.empty-desc{font-size:15px;color:var(--text-tertiary);max-width:280px;margin:0 auto;line-height:1.5}.field{display:flex;align-items:center;padding:14px 16px;min-height:48px;flex-wrap:wrap;gap:8px}.field+.field{border-top:.5px solid var(--sep)}.field label{flex-shrink:0;max-width:100%;font-weight:500}.field input,.field label,.field select{font-size:16px;color:var(--text-primary)}.field input,.field select{flex:1;text-align:right;font-family:var(--font);border:none;background:none;outline:none;min-width:120px}@media (max-width:400px){.field{flex-direction:column;align-items:flex-start}.field input,.field select{width:100%;text-align:left;margin-top:4px}}.field select option{background:var(--surface);color:var(--text-primary)}.field input::-moz-placeholder{color:var(--text-quaternary)}.field input::placeholder{color:var(--text-quaternary)}.search-wrap{position:relative;margin-bottom:16px}.search{width:100%;height:40px;padding:0 16px 0 40px;background:hsla(240,4%,48%,.08);border:none;border-radius:var(--r-sm);font-size:16px;font-family:var(--font);color:var(--text-primary);outline:none;transition:background var(--duration-fast)}.date-input{height:48px;padding:0 16px;border:1px solid var(--sep);transition:border-color var(--duration-fast),background var(--duration-fast);-moz-appearance:none;appearance:none;-webkit-appearance:none;margin-top:8px}.date-input::-webkit-calendar-picker-indicator{filter:invert(.8);cursor:pointer}.search:focus{background:hsla(240,4%,48%,.14)}.search::-moz-placeholder{color:var(--text-tertiary)}.search::placeholder{color:var(--text-tertiary)}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary)}.radio{width:24px;height:24px;border-radius:50%;border:2px solid var(--sep-opaque);display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-spring);flex-shrink:0}.radio.checked{border-color:var(--blue);background:var(--blue);animation:springPop .3s var(--ease-spring)}.date-input{width:100%;padding:14px 16px;background:var(--surface);border-radius:var(--r-md);border:none;font-size:16px;font-family:var(--font);margin-bottom:16px;outline:none;color:var(--text-primary);box-shadow:var(--shadow-sm)}.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.slot{padding:14px 8px;background:var(--surface);border:2px solid transparent;border-radius:var(--r-md);font-size:15px;font-weight:600;text-align:center;transition:all var(--duration-fast) var(--ease-spring);font-family:var(--font);color:var(--text-primary);box-shadow:var(--shadow-sm)}.slot:active{transform:scale(.93)}.slot.selected{border-color:var(--blue);background:rgba(0,122,255,.06);color:var(--blue);box-shadow:0 0 0 2px rgba(0,122,255,.15)}.step-indicator{display:flex;gap:8px;margin-bottom:24px}.step-dot{height:4px;flex:1;border-radius:2px;background:var(--sep-opaque);transition:background var(--duration-med) ease,box-shadow var(--duration-med)}.step-dot.active{background:var(--blue);box-shadow:0 0 8px rgba(0,122,255,.3)}.summary{background:var(--surface);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:16px}.summary-row{display:flex;justify-content:space-between;padding:10px 0;font-size:16px}.summary-row span:last-child{font-weight:600;color:var(--text-secondary)}.hero{background:var(--surface);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm)}.hero,.hero-icon{margin-bottom:16px}.hero-icon{width:56px;height:56px;border-radius:var(--r-md);display:flex;justify-content:center}.back,.hero-icon{align-items:center}.back{font-size:17px;color:var(--blue);font-weight:500;display:inline-flex;gap:4px;margin-bottom:8px;text-decoration:none;transition:opacity var(--duration-fast)}.back:active{opacity:.4}.greeting{margin:8px 0 24px}.greeting h1{font-family:var(--font-display);font-size:32px;font-weight:800;letter-spacing:-.5px}.greeting p{font-size:16px;color:var(--text-tertiary);margin-top:4px}.profile-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:16px}.avatar{-o-object-fit:cover;object-fit:cover}.avatar,.avatar-placeholder{width:56px;height:56px;border-radius:50%;flex-shrink:0}.avatar-placeholder{background:rgba(0,122,255,.06);align-items:center;font-size:22px;font-weight:700;color:var(--blue)}.avatar-placeholder,.modal-overlay{display:flex;justify-content:center}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;align-items:flex-end;animation:fadeIn .2s ease both}.modal{width:100%;max-width:500px;background:var(--surface-glass-heavy);backdrop-filter:saturate(200%) blur(40px);-webkit-backdrop-filter:saturate(200%) blur(40px);border-radius:var(--r-xl) var(--r-xl) 0 0;border-top:.5px solid hsla(0,0%,100%,.5);padding:12px 20px max(32px,env(safe-area-inset-bottom));animation:slideUp .4s var(--ease-smooth) both}.modal-handle{width:40px;height:5px;background:var(--sep-opaque);border-radius:var(--r-full);margin:0 auto 16px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;min-height:48px}.modal-header h2{font-family:var(--font-display);font-size:20px;font-weight:700}.modal-cancel{color:var(--blue)}.delete-btn,.modal-cancel{background:none;border:none;font-size:17px;font-weight:500;font-family:var(--font)}.delete-btn{width:100%;height:48px;color:var(--red);margin-top:8px}.camera-wrap{margin-bottom:16px}.camera-wrap video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scaleX(-1)}.camera-wrap canvas{display:none}.camera-placeholder{width:100%;height:100%;color:hsla(0,0%,100%,.4);font-size:15px}.camera-placeholder-icon{font-size:48px}.scan-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.scan-ring{width:200px;height:200px;border:3px solid rgba(0,122,255,.2);border-top:3px solid var(--blue);border-radius:50%;animation:spin 1.5s linear infinite}.result-card{background:var(--surface);border-radius:var(--r-xl);padding:40px 32px;text-align:center;box-shadow:var(--shadow-lg);margin-bottom:16px;animation:scaleIn .5s var(--ease-spring) both}.result-emoji{font-size:64px;margin-bottom:16px}.result-shape{font-family:var(--font-display);font-size:28px;font-weight:800;text-transform:capitalize}.result-desc{font-size:16px;color:var(--text-tertiary);margin-top:12px;line-height:1.6}.error-box{background:rgba(255,59,48,.06);color:var(--red);padding:16px;border-radius:var(--r-md);font-size:15px;text-align:center;margin-bottom:12px}.login-screen{height:100dvh;justify-content:center;gap:32px;padding:24px;background:var(--bg);overflow:hidden}.login-brand,.login-screen{display:flex;flex-direction:column;align-items:center}.login-brand{flex-shrink:0;animation:floatUp .6s var(--ease-smooth) both}.login-logo-wrap{width:160px;height:160px;margin-bottom:0;animation:scaleIn .5s var(--ease-spring) .1s both}.login-logo-wrap img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:36px}.login-title{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:-.6px;color:var(--text-primary);margin-bottom:4px}.login-sub{font-size:14px;color:var(--text-tertiary);text-align:center;line-height:1.4}.login-form-section{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0;animation:floatUp .5s var(--ease-smooth) .2s both}.login-alert{width:100%;padding:10px 14px;border-radius:12px;text-align:center;font-size:13px;font-weight:500;margin-bottom:12px}.login-alert--error{background:rgba(255,59,48,.08);color:#ff3b30;border:1px solid rgba(255,59,48,.2)}.login-alert--success{background:rgba(52,199,89,.08);color:#34c759;border:1px solid rgba(52,199,89,.2)}.login-form{width:100%;display:flex;flex-direction:column;gap:10px}.login-input-wrap{position:relative;width:100%}.login-input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-quaternary);pointer-events:none}.login-input{width:100%;height:48px;padding:0 14px 0 40px;border-radius:14px;border:1px solid var(--sep-opaque);background:var(--surface);color:var(--text-primary);font-size:16px;font-family:var(--font);outline:none;transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.login-input::-moz-placeholder{color:var(--text-quaternary)}.login-input::placeholder{color:var(--text-quaternary)}.login-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,122,255,.1)}.login-submit-btn{width:100%;height:50px;border-radius:14px;background:var(--text-primary);color:var(--bg);font-family:var(--font);font-weight:600;font-size:16px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;transition:transform var(--duration-fast) var(--ease-spring),opacity var(--duration-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none}.login-submit-btn:active:not(:disabled){transform:scale(.97)}.login-submit-btn:disabled{opacity:.5;cursor:default}.login-links{display:flex;justify-content:space-between;width:100%;padding:0 2px;margin-top:12px}.login-link{background:none;border:none;font-family:var(--font);font-size:14px;color:var(--text-tertiary);cursor:pointer;padding:4px 0;transition:color var(--duration-fast)}.login-link:active{color:var(--blue)}.login-divider{display:flex;align-items:center;gap:14px;width:100%;margin:16px 0;color:var(--text-quaternary);font-size:13px;font-weight:500}.login-divider:after,.login-divider:before{content:"";flex:1;height:.5px;background:var(--sep)}.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;background:var(--surface);color:var(--text-primary);border:1px solid var(--sep-opaque);font-family:var(--font);font-size:16px;font-weight:600;border-radius:14px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-med),opacity var(--duration-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.google-btn:active:not(:disabled){transform:scale(.97);opacity:.7}.google-btn:hover:not(:disabled){box-shadow:var(--shadow-md)}.google-btn:disabled{opacity:.45;cursor:default}.google-spinner{width:20px;height:20px;border:2.5px solid var(--sep-opaque);border-top-color:var(--blue);border-radius:50%;animation:spin .6s linear infinite}.login-footer{font-size:12px;color:var(--text-quaternary);text-align:center;flex-shrink:0;padding-bottom:4px;animation:floatUp .5s var(--ease-smooth) .5s both}.wizard{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg);overflow-x:hidden}.wizard-header{padding:16px 20px 0;flex-shrink:0;background:var(--surface);border-bottom:.5px solid var(--sep);animation:slideDown .4s var(--ease-smooth) both}.wizard-header-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}.wizard-brand{font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:-.5px}.wizard-meter{margin-bottom:14px}.wizard-meter-bar{height:6px;border-radius:3px;background:var(--fill);overflow:hidden}.wizard-meter-fill{height:100%;border-radius:3px;background:var(--grad-green);transition:width .5s var(--ease-spring)}.wizard-meter-label{display:block;font-size:11px;font-weight:600;color:var(--green);margin-top:4px;text-align:right}.wizard-steps{display:flex;justify-content:space-between;padding-bottom:14px}.wizard-step{flex-direction:column;gap:4px;flex:1}.wizard-step,.wizard-step-dot{display:flex;align-items:center}.wizard-step-dot{width:28px;height:28px;border-radius:50%;justify-content:center;font-size:12px;font-weight:700;background:var(--fill);color:var(--text-tertiary);transition:all .3s var(--ease-smooth)}.wizard-step.active .wizard-step-dot{background:var(--grad-purple);color:#fff;box-shadow:var(--shadow-glow-purple);transform:scale(1.1)}.wizard-step.done .wizard-step-dot{background:var(--green);color:#fff}.wizard-step-label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.wizard-step.active .wizard-step-label{color:var(--purple)}.wizard-step.done .wizard-step-label{color:var(--green)}.wizard-body{flex:1;position:relative;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.wizard-slide{position:absolute;top:0;left:0;right:0;padding:24px 20px 120px;transition:transform .35s var(--ease-smooth),opacity .35s var(--ease-smooth);will-change:transform,opacity}.wizard-slide.active{position:relative;transform:translateX(0);opacity:1}.wizard-slide.left{transform:translateX(-100%);opacity:0;pointer-events:none}.wizard-slide.right{transform:translateX(100%);opacity:0;pointer-events:none}.wizard-title{font-size:22px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:8px;margin-bottom:4px}.wizard-title-icon{color:var(--purple)}.wizard-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:20px}.wizard-fields{gap:14px}.wizard-field,.wizard-fields{display:flex;flex-direction:column}.wizard-field{gap:4px}.wizard-field label,.wizard-field-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.wizard-add-form input,.wizard-field input,.wizard-field textarea{width:100%;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--sep);background:var(--surface);color:var(--text-primary);font-size:16px;font-family:var(--font);transition:border-color .2s ease,box-shadow .2s ease;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.wizard-add-form input:focus,.wizard-field input:focus,.wizard-field textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(175,82,222,.12)}.wizard-field textarea{resize:none;line-height:1.5}.wizard-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wizard-error{font-size:12px;color:var(--red)}.wizard-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.wizard-type-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:var(--r-md);border:1.5px solid var(--sep);background:var(--surface);color:var(--text-secondary);font-size:14px;font-weight:600;font-family:var(--font);transition:all .2s var(--ease-smooth)}.wizard-type-btn.active{border-color:var(--blue);background:rgba(0,122,255,.06);color:var(--blue);box-shadow:0 0 0 3px rgba(0,122,255,.08)}.wizard-type-btn.premium.active{border-color:var(--purple);background:rgba(175,82,222,.06);color:var(--purple);box-shadow:0 0 0 3px rgba(175,82,222,.08)}.wizard-geo-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:var(--r-sm);border:1.5px dashed var(--sep);background:var(--fill-2);color:var(--blue);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .2s ease}.wizard-geo-btn:hover{border-color:var(--blue);background:rgba(0,122,255,.06)}.wizard-geo-btn:disabled{opacity:.6;cursor:wait}.wizard-service-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.wizard-service-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:var(--r-sm);background:var(--surface);border:.5px solid var(--sep);animation:fadeIn .2s ease both}.wizard-service-info{display:flex;flex-direction:column;gap:2px}.wizard-service-name{font-size:15px;font-weight:600}.wizard-service-meta{font-size:12px;color:var(--text-tertiary)}.wizard-barber-list{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.wizard-barber-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-md);background:var(--surface);border:.5px solid var(--sep);animation:scaleIn .3s var(--ease-spring) both}.wizard-barber-avatar{width:48px;height:48px;border-radius:50%;background:var(--fill);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;color:var(--text-tertiary)}.wizard-barber-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.wizard-barber-info{flex:1;min-width:0}.wizard-barber-name{font-size:15px;font-weight:600;display:block}.wizard-barber-skills{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.wizard-skill-tag{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--r-full);background:rgba(175,82,222,.08);color:var(--purple);text-transform:uppercase;letter-spacing:.3px}.wizard-skill-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.wizard-skill-chip{padding:6px 14px;border-radius:var(--r-full);border:1px solid var(--sep);background:var(--surface);color:var(--text-secondary);font-size:12px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .15s ease}.wizard-skill-chip.active{border-color:var(--purple);background:rgba(175,82,222,.1);color:var(--purple)}.wizard-photo-upload{width:80px;height:80px;border-radius:50%;border:2px dashed var(--sep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;color:var(--text-tertiary);overflow:hidden;margin:0 auto 12px;transition:border-color .2s ease}.wizard-photo-upload:hover{border-color:var(--purple)}.wizard-photo-upload img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.wizard-photo-upload span{font-size:10px;font-weight:600}.wizard-add-form{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--sep);animation:scaleIn .25s var(--ease-spring) both}.wizard-portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wizard-portfolio-item{position:relative;aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;animation:scaleIn .3s var(--ease-spring) both}.wizard-portfolio-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.wizard-portfolio-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;border:none;backdrop-filter:blur(8px)}.wizard-portfolio-add,.wizard-portfolio-remove{display:flex;align-items:center;justify-content:center;cursor:pointer}.wizard-portfolio-add{aspect-ratio:1;border-radius:var(--r-sm);border:2px dashed var(--sep);background:var(--fill-2);flex-direction:column;gap:4px;color:var(--text-tertiary);font-family:var(--font);transition:border-color .2s ease}.wizard-portfolio-add:hover{border-color:var(--purple)}.wizard-portfolio-add span{font-size:11px;font-weight:600}.wizard-btn-outline{padding:10px 20px;border-radius:var(--r-sm);border:1.5px solid var(--sep);background:transparent;color:var(--text-primary);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .15s ease}.wizard-btn-outline:hover{background:var(--fill)}.wizard-btn-outline.full{width:100%;color:var(--purple);border-color:var(--purple);border-style:dashed}.wizard-btn-fill,.wizard-btn-outline.full{display:flex;align-items:center;justify-content:center;gap:6px}.wizard-btn-fill{padding:10px 20px;border-radius:var(--r-sm);border:none;background:var(--grad-purple);color:#fff;font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:opacity .15s ease}.wizard-btn-fill:disabled{opacity:.5;cursor:not-allowed}.wizard-icon-btn{background:none;border:none;padding:8px;border-radius:50%;color:var(--text-tertiary);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.wizard-icon-btn.danger{color:var(--red)}.wizard-icon-btn.danger:hover{background:rgba(255,59,48,.1)}.wizard-nav{position:sticky;bottom:0;justify-content:space-between;padding:16px 20px max(16px,env(safe-area-inset-bottom));background:var(--surface);border-top:.5px solid var(--sep);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}.wizard-nav,.wizard-nav-back{display:flex;align-items:center}.wizard-nav-back{gap:6px;padding:10px 18px;border-radius:var(--r-full);border:1.5px solid var(--sep);background:transparent;color:var(--text-primary);font-size:14px;font-weight:600;font-family:var(--font);cursor:pointer;transition:all .15s ease}.wizard-nav-back:hover{background:var(--fill)}.wizard-nav-next{display:flex;align-items:center;gap:6px;padding:12px 24px;border-radius:var(--r-full);border:none;background:var(--grad-purple);color:#fff;font-size:15px;font-weight:700;font-family:var(--font);cursor:pointer;box-shadow:var(--shadow-glow-purple);transition:all .2s var(--ease-smooth)}.wizard-nav-next:hover{transform:scale(1.02)}.wizard-nav-next:disabled{opacity:.5;cursor:not-allowed;transform:none}.wizard-nav-next.complete{background:var(--grad-green);box-shadow:var(--shadow-glow-green)}.role-emoji{font-size:48px;display:block;margin-bottom:16px;animation:springPop .5s var(--ease-spring) both;animation-delay:.1s}.role-card{display:flex;align-items:center;gap:16px;width:100%;padding:20px;background:var(--surface);border:2.5px solid transparent;border-radius:var(--r-lg);box-shadow:var(--shadow-sm);font-family:var(--font);color:var(--text-primary);text-align:left;transition:transform var(--duration-fast) var(--ease-spring),border-color var(--duration-med),box-shadow var(--duration-med),opacity var(--duration-med);-webkit-user-select:none;-moz-user-select:none;user-select:none}.role-card:active:not(:disabled){transform:scale(.96)}.role-card.selected{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,122,255,.12),var(--shadow-md)}.role-card.dimmed{opacity:.3;transform:scale(.97)}.role-card:disabled{cursor:default}.role-icon{width:52px;height:52px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.role-info h3{font-size:18px;font-weight:700;margin-bottom:4px}.role-info p{font-size:15px;color:var(--text-tertiary);line-height:1.5}.role-check{margin-left:auto;flex-shrink:0;animation:springPop .3s var(--ease-spring) both}.setup-avatar{width:88px;height:88px;border-radius:50%;border:3px solid var(--sep-opaque);animation:scaleIn .4s var(--ease-spring) both;animation-delay:.1s}.setup-option{display:flex;align-items:center;gap:16px;width:100%;padding:16px;background:none;border:none;font-family:var(--font);font-size:17px;color:var(--text-primary);transition:background var(--duration-fast) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-align:left}.setup-option:active{background:var(--fill)}.setup-face{width:100%;padding:24px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);text-align:center}.setup-face h3{font-size:13px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.setup-face-cta{display:flex;align-items:center;justify-content:center;margin:16px auto 0;width:-moz-fit-content;width:fit-content;padding:10px 24px;background:rgba(0,122,255,.06);color:var(--blue);font-size:15px;font-weight:600;border-radius:var(--r-full);text-decoration:none}.style-header{text-align:center;margin-bottom:32px}.style-emoji{font-size:48px;display:block;margin-bottom:12px}.style-item{display:flex;gap:16px;padding:16px;align-items:flex-start}.style-item-name{font-size:17px;font-weight:700}.style-item-desc{font-size:15px;color:var(--text-tertiary);margin-top:4px;line-height:1.5}.press{transition:transform var(--duration-fast) var(--ease-spring)}.press:active{transform:scale(.95)}.fav-pop{animation:popFav .3s var(--ease-spring)}.stagger>:first-child{animation:stagger1 .4s var(--ease-smooth) 0s both}.stagger>:nth-child(2){animation:stagger1 .4s var(--ease-smooth) .06s both}.stagger>:nth-child(3){animation:stagger1 .4s var(--ease-smooth) .12s both}.stagger>:nth-child(4){animation:stagger1 .4s var(--ease-smooth) .18s both}.stagger>:nth-child(5){animation:stagger1 .4s var(--ease-smooth) .24s both}.stagger>:nth-child(6){animation:stagger1 .4s var(--ease-smooth) .3s both}.stagger>:nth-child(7){animation:stagger1 .4s var(--ease-smooth) .36s both}.stagger>:nth-child(8){animation:stagger1 .4s var(--ease-smooth) .42s both}.mt-0{margin-top:0}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-40{margin-top:40px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}.p-16{padding:16px}.p-24{padding:24px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between;align-items:center}.text-center{text-align:center}.text-blue{color:var(--blue)}.text-green{color:var(--green)}.text-orange{color:var(--orange)}.text-red{color:var(--red)}.text-purple{color:var(--purple)}.text-muted{color:var(--text-tertiary)}.text-faint{color:var(--text-quaternary)}.text-sm{font-size:14px}.text-xs{font-size:12px}.text-lg{font-size:20px}.font-display{font-family:var(--font-display)}.font-bold{font-weight:700}.font-heavy{font-weight:800}.w-full{width:100%}.capitalize{text-transform:capitalize}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.spin-wheel-container{display:flex;flex-direction:column;align-items:center;position:relative;padding:16px 0}.spin-pointer{position:relative;z-index:2;margin-bottom:-12px;filter:drop-shadow(0 2px 4px rgba(255,59,48,.3))}.spin-wheel{position:relative;z-index:1;filter:drop-shadow(0 4px 20px rgba(0,0,0,.1))}.spin-btn{margin:0 auto}.spin-result{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:20px;animation:scaleIn .4s var(--ease-spring) both}.spin-result-label{font-size:13px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.8px}.spin-result-value{font-family:var(--font-display);font-size:48px;font-weight:800;color:var(--orange);letter-spacing:-1px;text-shadow:0 2px 12px rgba(255,149,0,.2)}.bid-header{text-align:center;margin-bottom:16px}.bid-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:linear-gradient(135deg,#ff9500,#ff6b00);color:#fff;font-size:12px;font-weight:800;letter-spacing:1px;border-radius:var(--r-full);margin-bottom:12px;box-shadow:var(--shadow-glow-orange)}.bid-confirm-card{background:var(--surface);border-radius:var(--r-lg);padding:32px 24px;box-shadow:var(--shadow-md);text-align:center}.bid-confirm-icon{width:64px;height:64px;border-radius:50%;background:rgba(255,149,0,.08);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.bid-live-badge{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:rgba(255,149,0,.06);border-radius:var(--r-full);font-size:14px;font-weight:600;color:var(--orange);animation:breathe 2s ease infinite}.flash-deal{width:100%;max-width:400px;background:var(--surface-glass-heavy);backdrop-filter:saturate(200%) blur(40px);-webkit-backdrop-filter:saturate(200%) blur(40px);border-radius:var(--r-xl) var(--r-xl) 0 0;border-top:.5px solid hsla(0,0%,100%,.5);padding:20px 20px max(32px,env(safe-area-inset-bottom));animation:slideUp .4s var(--ease-smooth) both}.flash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.flash-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:linear-gradient(135deg,#ff3b30,#ff6b00);color:#fff;font-size:11px;font-weight:800;letter-spacing:1.2px;border-radius:var(--r-full);animation:breathe 1.5s ease infinite}.flash-close{background:none;border:none;color:var(--text-tertiary);padding:8px}.flash-timer{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:rgba(255,59,48,.06);color:var(--red);font-size:20px;font-weight:700;font-family:var(--font-display);border-radius:var(--r-md);margin-bottom:20px}.flash-info{text-align:center;margin-bottom:20px}.flash-service{font-size:22px;font-weight:700}.flash-price,.flash-service{font-family:var(--font-display)}.flash-price{font-size:40px;font-weight:800;color:var(--orange);margin:8px 0;letter-spacing:-1px}.flash-distance{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;color:var(--text-tertiary)}.flash-actions{display:flex;flex-direction:column}.flash-accept{box-shadow:var(--shadow-glow-blue)}.bid-cta-card{display:flex;align-items:center;gap:16px;padding:20px;background:linear-gradient(135deg,rgba(255,149,0,.06),rgba(255,107,0,.04));border:1.5px solid rgba(255,149,0,.15);border-radius:var(--r-lg);margin-bottom:24px;text-decoration:none;color:var(--text-primary);transition:transform var(--duration-fast) var(--ease-spring);animation:slideUp .5s var(--ease-smooth) .2s both}.bid-cta-card:active{transform:scale(.97)}.bid-cta-icon{width:48px;height:48px;border-radius:var(--r-md);background:rgba(255,149,0,.1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.bid-cta-info{flex:1}.bid-cta-info h3{font-size:17px;font-weight:700}.bid-cta-info p{font-size:14px;color:var(--text-tertiary);margin-top:2px}.toast-container{position:fixed;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:380px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--surface-glass-heavy);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-radius:var(--r-md);border:.5px solid hsla(0,0%,100%,.3);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastIn .35s var(--ease-spring) both}.toast-message{flex:1;font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.3}.toast-dismiss{background:none;border:none;color:var(--text-quaternary);padding:4px;margin:-4px;flex-shrink:0}@keyframes toastIn{0%{opacity:0;transform:translateY(-16px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.btn-logout{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;margin:32px auto 0;padding:14px 24px;background:rgba(255,59,48,.06);border:1.5px solid rgba(255,59,48,.12);border-radius:var(--r-md);color:var(--red);font-family:var(--font);font-size:16px;font-weight:600;transition:all var(--duration-fast) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-logout:active{background:rgba(255,59,48,.12);transform:scale(.97)}.btn-logout:disabled{opacity:.5}.logout-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease both}.logout-overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;font-size:16px;font-weight:600}.scroll-optimized{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;will-change:scroll-position}.scroll-optimized>*{content-visibility:auto;contain-intrinsic-size:0 72px}.camera-wrap{position:relative;width:100%;aspect-ratio:3/4;background:#000;border-radius:var(--r-xl);overflow:hidden;margin-bottom:24px;box-shadow:var(--shadow-lg)}.camera-wrap canvas,.camera-wrap video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:scaleX(-1)}.camera-placeholder{flex-direction:column;gap:16px;color:hsla(0,0%,100%,.6);background:var(--surface-grouped)}.camera-placeholder,.scan-guide-container{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.scan-guide-container{pointer-events:none}.scan-guide-oval{width:170px;height:230px;border:2px dashed hsla(0,0%,100%,.5);border-radius:50%/40%;box-shadow:0 0 0 9999px rgba(0,0,0,.6);transition:all .3s ease;overflow:hidden;position:relative}.scan-guide-oval.detected{border:3px solid #007aff;box-shadow:0 0 0 9999px rgba(0,0,0,.8),0 0 24px rgba(0,122,255,.5)}.scan-guide-oval.success{border-color:#34c759;box-shadow:0 0 0 9999px rgba(0,0,0,.8),0 0 24px rgba(52,199,89,.5)}.scan-light-bar{position:absolute;top:0;left:0;right:0;height:4px;background:#007aff;box-shadow:0 0 16px #007aff;animation:scanMove 2s ease-in-out infinite;opacity:.8}@keyframes scanMove{0%{transform:translateY(-10px)}50%{transform:translateY(240px)}to{transform:translateY(-10px)}}.scan-progress-ring{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.scan-progress-ring circle,.scan-progress-ring ellipse{transform:rotate(-90deg);transform-origin:center}.scan-status{position:absolute;bottom:32px;left:0;right:0;text-align:center;color:#fff;font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.5);font-size:15px}.scan-success-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .3s ease-out}.scan-success-circle{animation:scaleIn .4s var(--ease-spring) both}.scan-check-path{stroke-dasharray:100;stroke-dashoffset:100;animation:drawCheck .6s .2s var(--ease-smooth) forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.scan-result-card{text-align:center;padding:32px 24px;background:var(--surface);border-radius:var(--r-xl);border:1px solid var(--sep);margin-bottom:24px;animation:slideUp .5s var(--ease-spring) both}.scan-result-check{margin-bottom:16px}.scan-result-emoji{font-size:64px;margin-bottom:12px;animation:float 3s ease-in-out infinite}.scan-result-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);margin-bottom:4px}.scan-result-shape{font-size:32px;font-weight:800;margin-bottom:8px;background:linear-gradient(135deg,var(--text-primary) 0,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-transform:capitalize}.scan-result-desc{color:var(--text-secondary);line-height:1.5;margin-bottom:24px}.scan-result-stats{display:flex;justify-content:center;gap:24px;padding-top:16px;border-top:1px solid var(--sep)}.scan-stat{display:flex;flex-direction:column;gap:4px}.scan-stat-value{font-size:18px;font-weight:700;color:var(--text-primary)}.scan-stat-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase}.scan-denied{text-align:center;padding:40px 24px;background:var(--surface-grouped);border-radius:var(--r-lg);flex-direction:column;gap:16px}.scan-denied,.scan-denied-icon{display:flex;align-items:center}.scan-denied-icon{width:80px;height:80px;border-radius:50%;background:rgba(255,149,0,.1);justify-content:center;margin-bottom:8px}.scan-denied p{color:var(--text-secondary);margin-bottom:16px;max-width:280px}.profile-hero{text-align:center;padding:32px 16px 24px;margin-bottom:8px}.profile-hero-avatar{width:80px;height:80px;border-radius:50%;background:var(--grad-purple);color:#fff;font-family:var(--font-display);font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 4px 24px rgba(175,82,222,.3)}.profile-hero-name{font-family:var(--font-display);font-size:26px;font-weight:800;letter-spacing:-.5px;margin-bottom:8px}.profile-hero-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:4px 12px;border-radius:var(--r-full);background:rgba(175,82,222,.1);color:#af52de;margin-bottom:12px}.profile-hero-desc{font-size:14px;color:var(--text-secondary);max-width:320px;margin:0 auto;line-height:1.5}.profile-completion{background:var(--surface);border-radius:var(--r-md);padding:14px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.profile-completion-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.profile-completion-bar{height:6px;border-radius:3px;background:var(--sep-opaque);overflow:hidden}.profile-completion-fill{height:100%;border-radius:3px;background:var(--grad-purple);transition:width .6s var(--ease-smooth)}.profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-top:16px;margin-bottom:8px;padding:0 4px}.profile-section-link{font-size:13px;font-weight:600;color:var(--blue);display:flex;align-items:center;gap:2px}.profile-staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-bottom:8px}.profile-staff-card{background:var(--surface);border-radius:var(--r-md);padding:16px 8px;text-align:center;box-shadow:var(--shadow-sm)}.profile-staff-avatar{width:52px;height:52px;border-radius:50%;background:rgba(0,122,255,.06);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;overflow:hidden}.profile-staff-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.profile-staff-name{font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-staff-skills{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.profile-skill-tag{font-size:10px;font-weight:500;padding:2px 6px;border-radius:var(--r-full);background:rgba(175,82,222,.08);color:#af52de}.profile-portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:var(--r-md);overflow:hidden;margin-bottom:8px}.profile-portfolio-item{aspect-ratio:1;overflow:hidden;background:var(--sep-opaque)}.profile-portfolio-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s var(--ease-smooth)}.profile-portfolio-item:hover img{transform:scale(1.05)}.btn-outline{background:transparent;border:1.5px solid var(--sep-opaque);color:var(--text-primary);font-weight:600;font-size:15px;padding:14px 24px;border-radius:var(--r-md);cursor:pointer;transition:all .2s;width:100%}.btn-outline:hover{background:var(--surface);border-color:var(--blue);color:var(--blue)}.text-purple{color:#af52de}.salon-cover-upload{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--r-lg);background:var(--surface);border:2px dashed var(--sep-opaque);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;overflow:hidden;color:var(--text-tertiary);font-size:14px;font-weight:600;transition:border-color .2s,background .2s;margin-bottom:20px}.salon-cover-upload:hover{border-color:var(--blue);background:rgba(0,122,255,.03)}.salon-cover-upload-img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.salon-cover-upload-overlay{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:13px;font-weight:600;opacity:0;transition:opacity .25s ease}.salon-cover-upload:hover .salon-cover-upload-overlay{opacity:1}.salon-cover-hero{position:relative;width:calc(100% + 32px);margin:-16px -16px 0;aspect-ratio:16/9;overflow:hidden;background:var(--surface)}.salon-cover-hero img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.salon-cover-hero-gradient{position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to top,var(--bg-primary,#000) 0,transparent 100%);pointer-events:none}.salon-cover-hero-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(175,82,222,.15),rgba(0,122,255,.15))}.salon-thumb{width:48px;height:48px;border-radius:12px;overflow:hidden;flex-shrink:0;background:var(--surface)}.salon-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.salon-thumb-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:rgba(0,122,255,.06)}.salon-portfolio-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.salon-portfolio-strip::-webkit-scrollbar{display:none}.salon-portfolio-strip-item{min-width:140px;height:140px;border-radius:var(--r-md);overflow:hidden;scroll-snap-align:start;flex-shrink:0;background:var(--sep-opaque)}.salon-portfolio-strip-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s var(--ease-smooth)}.salon-portfolio-strip-item:hover img{transform:scale(1.05)}.profile-hero-cover{width:calc(100% + 32px);aspect-ratio:16/9;border-radius:0 0 var(--r-lg) var(--r-lg);overflow:hidden;margin:-16px -16px 16px;position:relative}.profile-hero-cover img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-hero-cover-gradient{position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,var(--bg-primary,#000) 0,transparent 100%)}.selection\:bg-blue-500 ::-moz-selection{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.selection\:bg-blue-500 ::selection{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.selection\:text-white ::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.selection\:text-white ::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.selection\:bg-blue-500::-moz-selection{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.selection\:bg-blue-500::selection{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.selection\:text-white::-moz-selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.selection\:text-white::selection{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.placeholder\:text-neutral-600::-moz-placeholder{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.placeholder\:text-neutral-600::placeholder{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.last\:mb-0:last-child{margin-bottom:0}.hover\:border-blue-500\/40:hover{border-color:rgba(59,130,246,.4)}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.hover\:bg-neutral-800\/60:hover{background-color:rgba(38,38,38,.6)}.hover\:bg-white\/10:hover{background-color:hsla(0,0%,100%,.1)}.hover\:bg-opacity-30:hover{--tw-bg-opacity:0.3}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.focus\:border-blue-500\/50:focus{border-color:rgba(59,130,246,.5)}.focus\:bg-neutral-800:focus{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}:is(.dark .dark\:border-blue-800){--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}:is(.dark .dark\:bg-blue-900\/10){background-color:rgba(30,58,138,.1)}