@import"https://fonts.googleapis.com/css2?family=Saira:wght@300;400;500;600;700;800&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Saira,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: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;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{--brand-background-light: #ffffff;--brand-background-dark: #000000;--brand-surface: #0f1724;--brand-color1: #1d35d7;--brand-color2: #616161;--brand-color3: #5800ff;--brand-color4: #6bcef0;--brand-primary: #1d35d7;--brand-primary-variant: #6bcef0;--brand-primary-foreground: #ffffff;--brand-muted: #616161;--haiko-bg-light: var(--brand-background-light);--haiko-bg-dark: var(--brand-background-dark);--haiko-primary: var(--brand-primary);--haiko-primary-alt: var(--brand-primary-variant);--haiko-accent-1: var(--brand-color3);--haiko-accent-2: var(--brand-color4);--haiko-muted: var(--brand-muted);--background: 0 0% 100%;--foreground: 230 40% 10%;--card: 0 0% 100%;--card-foreground: 230 40% 10%;--popover: 0 0% 100%;--popover-foreground: 230 40% 10%;--primary: 231 78% 48%;--primary-foreground: 0 0% 100%;--secondary: 230 20% 95%;--secondary-foreground: 230 40% 10%;--muted: 230 20% 95%;--muted-foreground: 0 0% 38%;--accent: 193 80% 68%;--accent-foreground: 230 40% 10%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 230 20% 90%;--input: 230 20% 90%;--ring: 231 78% 48%;--radius: .75rem;--haiko-blue: 231 78% 48%;--haiko-turquoise: 193 80% 68%;--haiko-purple: 261 100% 50%;--bg: var(--brand-background-light);--ink: #000000;--ink-strong: #000000;--surface: rgba(255, 255, 255, .75);--surface-border: rgba(0, 0, 0, .12);--surface1: rgba(255, 255, 255, .85);--header-bg: rgba(255, 255, 255, .9);--pill-bg: rgba(255, 255, 255, .85);--glass-bg: 0 0% 100% / .8;--glass-border: 230 20% 90% / .5;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}.dark{--background: 232 56% 7%;--foreground: 0 0% 100%;--card: 232 45% 10%;--card-foreground: 0 0% 100%;--popover: 232 45% 10%;--popover-foreground: 0 0% 100%;--primary: 231 78% 48%;--primary-foreground: 0 0% 100%;--secondary: 232 40% 15%;--secondary-foreground: 0 0% 100%;--muted: 232 40% 15%;--muted-foreground: 0 0% 60%;--accent: 193 80% 68%;--accent-foreground: 232 56% 7%;--destructive: 0 62% 50%;--destructive-foreground: 0 0% 100%;--border: 232 30% 20%;--input: 232 30% 20%;--ring: 193 80% 68%;--bg: var(--brand-background-dark);--ink: #ffffff;--ink-strong: #ffffff;--surface: rgba(0, 0, 0, .55);--surface-border: rgba(255, 255, 255, .15);--surface1: rgba(15, 23, 42, .85);--header-bg: color-mix(in oklab, rgb(8 12 28), rgb(23 0 66) 18%);--pill-bg: rgba(0, 0, 0, .35);--glass-bg: 232 45% 10% / .8;--glass-border: 0 0% 100% / .1}*{border-color:hsl(var(--border))}html{scroll-behavior:smooth;overflow-x:hidden}body{background-color:hsl(var(--background));font-family:Saira,Inter,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Saira,sans-serif;background:var(--bg);color:var(--ink)}.dark body{background:var(--header-bg)}h1,h2,h3,h4,h5,h6{font-family:Saira,sans-serif;font-weight:600;letter-spacing:-.025em;color:var(--ink-strong, var(--ink))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.glass-card{border-radius:1.5rem;border-width:1px;--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);background:hsl(var(--glass-bg));border-color:hsl(var(--glass-border))}:root:not(.dark) .glass-card{background:linear-gradient(145deg,#fffffff2,color-mix(in oklab,rgba(255,255,255,.92),rgba(107,206,240,.08)));border-color:color-mix(in oklab,rgba(0,0,0,.08),rgba(29,53,215,.12) 30%);box-shadow:0 4px 24px -8px #1d35d71a,0 8px 40px -16px #5800ff14}.gradient-text{-webkit-background-clip:text;background-clip:text;color:transparent;background-image:linear-gradient(90deg,hsl(var(--haiko-turquoise)),hsl(var(--haiko-blue)),hsl(var(--haiko-purple)))}.service-gradient{background-image:linear-gradient(120deg,var(--haiko-primary) 0%,var(--haiko-accent-1) 100%);background-size:220% 220%;background-position:0% 50%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.dark .service-gradient{background-image:linear-gradient(120deg,color-mix(in oklab,var(--haiko-primary) 92%,black 8%),color-mix(in oklab,var(--haiko-accent-1) 88%,black 12%))}.hero-gradient{background:linear-gradient(180deg,hsl(var(--background)),#060814)}:root:not(.dark) .hero-gradient{background:linear-gradient(145deg,#fff,color-mix(in oklab,#ffffff 94%,#6bcef0 6%),color-mix(in oklab,#ffffff 92%,#1d35d7 8%) 70%,color-mix(in oklab,#ffffff 88%,#5800ff 12%))}.dark .hero-gradient{background:linear-gradient(135deg,#080b1c,#140a1f,#060814)}.btn-gradient{position:relative;overflow:hidden;border-radius:1rem;padding:.75rem 1.5rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;animation-duration:.3s;background:linear-gradient(135deg,var(--haiko-accent-1) 0%,var(--haiko-primary) 50%,var(--haiko-primary-alt) 100%);background-size:200% 200%;color:#fff;box-shadow:0 8px 24px -8px #5800ff66}.btn-gradient:hover{transform:translateY(-2px);box-shadow:0 12px 32px -8px #5800ff80;background-position:100% 100%}.btn-secondary{border-radius:1rem;padding:.75rem 1.5rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;border:2px solid color-mix(in oklab,var(--haiko-primary) 40%,transparent);color:var(--haiko-primary);background:transparent}.btn-secondary:hover{background:color-mix(in oklab,var(--haiko-primary) 8%,transparent);border-color:var(--haiko-primary)}.dark .btn-secondary{border-color:color-mix(in oklab,var(--haiko-primary-alt) 50%,transparent);color:var(--haiko-primary-alt)}.dark .btn-secondary:hover{background:color-mix(in oklab,var(--haiko-primary-alt) 12%,transparent);border-color:var(--haiko-primary-alt)}.global-header{position:relative;z-index:40}.main-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;padding:clamp(.75rem,2.2vw,1.15rem) clamp(.9rem,3.2vw,1.75rem);background:var(--bg);border-bottom:none}.main-nav__inner{display:contents}.main-nav__brand{grid-column:1;grid-row:1;display:flex;align-items:center}.main-nav__list{list-style:none;margin:0;padding:0;display:none;align-items:center;justify-content:center;gap:2.2rem}@media (min-width: 1025px){.main-nav__list{display:flex}}.main-nav__item{position:relative}.main-nav__link{position:relative;display:inline-flex;align-items:center;gap:.45rem;font-size:clamp(1.05rem,1.25vw,1.15rem);font-weight:600;letter-spacing:.08em;text-decoration:none;color:color-mix(in oklab,var(--ink),var(--bg) 50%);padding:.35rem .3rem;transition:color .2s ease;background:none;border:none;cursor:pointer}.main-nav__link:hover,.main-nav__link:focus-visible{color:var(--ink-strong, var(--ink));text-decoration:none}.main-nav__link[data-active=true],.main-nav__link.active{color:var(--haiko-primary);font-weight:700;text-decoration:none;background:none;box-shadow:none}.main-nav__link.\!active{color:var(--haiko-primary)!important;font-weight:700!important;text-decoration:none!important;background:none!important;box-shadow:none!important}.dark .main-nav__link{color:color-mix(in oklab,var(--ink),var(--bg) 35%)}.dark .main-nav__link[data-active=true],.dark .main-nav__link.active{color:var(--haiko-primary)}.dark .main-nav__link.\!active{color:var(--haiko-primary)!important}.dark .main-nav__link:not([data-active=true]):not(.active):hover{color:#fff}:root:not(.dark) .main-nav__link{color:color-mix(in oklab,var(--ink),var(--bg) 65%)}:root:not(.dark) .main-nav__link[data-active=true],:root:not(.dark) .main-nav__link.active{color:var(--haiko-primary)}:root:not(.dark) .main-nav__link.\!active{color:var(--haiko-primary)!important}:root:not(.dark) .main-nav__link:not([data-active=true]):not(.active):hover{color:var(--haiko-primary)}.main-nav__link:focus-visible{outline:2px solid color-mix(in oklab,var(--ink-strong, var(--ink)),#ffffff 35%);outline-offset:2px}.main-nav__actions{display:none;align-items:center;gap:.75rem}@media (min-width: 1025px){.main-nav__actions{display:flex}}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;margin-left:auto;border-radius:12px;border:1px solid color-mix(in oklab,var(--surface-border),var(--haiko-primary-alt) 35%);background:var(--pill-bg);color:var(--ink);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:transform .12s ease,filter .2s ease,background .2s ease}.mobile-menu-btn:hover{filter:brightness(1.05)}.mobile-menu-btn:focus-visible{outline:2px solid var(--haiko-primary-alt);outline-offset:2px}@media (min-width: 1025px){.mobile-menu-btn{display:none}}.mobile-menu__actions{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--surface-border)}.mobile-menu{position:fixed;top:60px;right:1rem;left:auto;width:180px;z-index:49;background:var(--pill-bg);border:1px solid var(--surface-border);border-radius:1rem;padding:1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-menu__nav{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.mobile-menu__link{display:block;padding:.75rem 1rem;border-radius:.5rem;text-decoration:none;color:var(--ink);font-weight:500;transition:background .2s ease;background:none;border:none;text-align:left;cursor:pointer}.mobile-menu__link:hover{background:var(--surface)}.mobile-menu__link.active{background:hsl(var(--haiko-blue));color:#fff}.mobile-menu__link.\!active{background:hsl(var(--haiko-blue))!important;color:#fff!important}.portfolio-button{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;border:1px solid color-mix(in oklab,var(--surface-border),var(--haiko-primary-alt) 35%);background:var(--pill-bg);color:var(--ink);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-decoration:none;transition:transform .12s ease,filter .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.portfolio-button:hover{filter:brightness(1.04)}.portfolio-button:focus-visible{outline:2px solid var(--haiko-primary-alt);outline-offset:2px}.portfolio-button.active,.portfolio-button[aria-current=page]{color:#fff;border-color:color-mix(in oklab,var(--haiko-primary-alt) 60%,#ffffff 20%);background-image:linear-gradient(120deg,var(--haiko-primary),var(--haiko-primary-alt) 70%);background-repeat:no-repeat;background-position:0% 50%;background-size:220% 100%;box-shadow:var(--shadow-lg)}.portfolio-button.\!active{color:#fff!important;border-color:color-mix(in oklab,var(--haiko-primary-alt) 60%,#ffffff 20%)!important;background-image:linear-gradient(120deg,var(--haiko-primary),var(--haiko-primary-alt) 70%)!important;background-repeat:no-repeat!important;background-position:0% 50%!important;background-size:220% 100%!important;box-shadow:var(--shadow-lg)!important}.dark .portfolio-button:hover:not(.active):not([aria-current=page]){background-image:linear-gradient(120deg,#5800ff,#6bcef0 55%,#1d35d7);background-size:220% 220%;background-position:0% 50%;color:#fff;border-color:color-mix(in oklab,#6bcef0 60%,#5800ff 40%);box-shadow:0 18px 34px -18px #5800ff8c;filter:none}:root:not(.dark) .portfolio-button:hover:not(.active):not([aria-current=page]){background-image:linear-gradient(120deg,#6bcef0,#1d35d7 55%,#fff);background-size:220% 220%;background-position:0% 50%;color:#fff;border-color:color-mix(in oklab,#1d35d7 55%,#6bcef0 45%);box-shadow:0 18px 34px -18px #1d35d773;filter:none}.portfolio-icon{width:24px;height:24px}.lang-switcher{position:relative;display:flex;align-items:center}.lang-toggle{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid color-mix(in oklab,var(--surface-border),var(--haiko-primary-alt) 35%);background:var(--pill-bg);color:var(--ink);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:transform .12s ease,filter .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.lang-toggle:hover{filter:brightness(1.05)}.lang-toggle:focus-visible{outline:2px solid var(--haiko-primary-alt);outline-offset:2px}.lang-toggle .flag{border-radius:3px;box-shadow:0 2px 6px #00000040;width:24px;height:18px;pointer-events:none;transform:scale(1);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.lang-toggle:hover .flag{transform:scale(1.08)}.lang-menu{position:absolute;top:calc(100% + .5rem);left:0;display:flex;flex-direction:column;gap:.25rem;padding:.5rem;border-radius:12px;background:var(--pill-bg);border:1px solid var(--surface-border);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:100px;z-index:10000}.lang-option{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;letter-spacing:.3px;transition:background .2s ease,color .2s ease;background:none;border:none;cursor:pointer;width:100%}.lang-option:hover,.dark .lang-option:hover{background:#ffffff1a}:root:not(.dark) .lang-option:hover{background:#0000000d}.lang-option:focus-visible{outline:2px solid var(--haiko-primary-alt);outline-offset:2px}.lang-option .flag{width:18px;height:auto;border-radius:3px;box-shadow:0 2px 6px #00000040;display:block}.lang-option .code{font-size:.85rem}.hero-keywords{--keyword-card-border-color: color-mix(in oklab, rgba(255, 255, 255, .28), rgba(107, 206, 240, .62) 38%);width:100%;padding:clamp(1.3rem,4vw,2.2rem) 0;border-radius:0;background:color-mix(in oklab,rgba(9,14,32,.88),rgba(88,0,255,.26) 18%);border-top:1px solid color-mix(in oklab,rgba(255,255,255,.14),rgba(88,0,255,.36) 32%);border-bottom:1px solid color-mix(in oklab,rgba(255,255,255,.14),rgba(88,0,255,.36) 32%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;position:relative;z-index:12}.hero-keywords:before,.hero-keywords:after{content:"";position:absolute;top:0;bottom:0;width:clamp(36px,12vw,96px);pointer-events:none;z-index:2}.hero-keywords:before{left:0;background:linear-gradient(to right,#060a18d1,#060a1800)}.hero-keywords:after{right:0;background:linear-gradient(to left,#060a18d1,#060a1800)}:root:not(.dark) .hero-keywords{--keyword-card-border-color: color-mix(in oklab, rgba(0, 0, 0, .16), rgba(107, 206, 240, .72) 40%);background:var(--bg);border-top:1px solid color-mix(in oklab,rgba(0,0,0,.08),rgba(107,206,240,.32) 36%);border-bottom:1px solid color-mix(in oklab,rgba(0,0,0,.08),rgba(107,206,240,.32) 36%);box-shadow:0 18px 36px -28px #5800ff4d}:root:not(.dark) .hero-keywords:before{background:linear-gradient(to right,var(--bg),transparent)}:root:not(.dark) .hero-keywords:after{background:linear-gradient(to left,var(--bg),transparent)}.dark .hero-keywords{background:var(--header-bg, var(--bg));-webkit-backdrop-filter:none;backdrop-filter:none}.dark .hero-keywords:before{background:linear-gradient(to right,var(--header-bg, var(--bg)),transparent)}.dark .hero-keywords:after{background:linear-gradient(to left,var(--header-bg, var(--bg)),transparent)}.keyword-marquee{--keyword-gap: clamp(18px, 3vw, 30px);display:flex;align-items:center;justify-content:flex-start;gap:0;width:100%;overflow:hidden;position:relative}.keyword-track{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:var(--keyword-gap);transform:translateZ(0);flex-shrink:0;will-change:transform;width:-moz-max-content;width:max-content;animation:marquee-scroll 54s linear infinite}.keyword-card{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.2rem;border-radius:999px;border:1px solid var(--keyword-card-border-color);background:color-mix(in oklab,rgba(12,18,36,.92),rgba(107,206,240,.22) 20%);color:var(--ink);font-size:.82rem;letter-spacing:.04em;font-weight:600;white-space:nowrap;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root:not(.dark) .keyword-card{color:var(--haiko-primary);background:#fff;border-color:color-mix(in oklab,rgba(29,53,215,.2),rgba(107,206,240,.3) 40%);box-shadow:0 4px 12px -8px #5800ff26}.services-section{position:relative}.services-bg{background:linear-gradient(180deg,color-mix(in oklab,#ffffff 96%,#6bcef0 4%),color-mix(in oklab,#ffffff 92%,#1d35d7 8%))}.dark .services-bg{background:transparent}.contact-section{position:relative}.contact-bg{background:linear-gradient(180deg,color-mix(in oklab,#ffffff 94%,#5800ff 6%),color-mix(in oklab,#ffffff 92%,#1d35d7 8%),color-mix(in oklab,#ffffff 96%,#6bcef0 4%))}.dark .contact-bg{background:transparent}.contact-form label{color:var(--ink)}.contact-input{width:100%;padding:.75rem 1rem;border-radius:.75rem;border:1px solid;outline:none;transition:all .2s ease}:root:not(.dark) .contact-input{background:#fff;border-color:color-mix(in oklab,rgba(0,0,0,.12),rgba(29,53,215,.15) 30%);color:var(--ink)}:root:not(.dark) .contact-input:focus{border-color:var(--haiko-primary);box-shadow:0 0 0 3px color-mix(in oklab,rgba(29,53,215,.12),transparent)}.dark .contact-input{background:color-mix(in oklab,var(--bg) 80%,transparent);border-color:var(--surface-border);color:var(--ink)}.dark .contact-input:focus{border-color:var(--haiko-primary-alt);box-shadow:0 0 0 3px color-mix(in oklab,rgba(107,206,240,.15),transparent)}.form-popup{padding:0;border:none;background:transparent;max-width:min(92vw,480px);width:100%}.form-popup::backdrop{background:#00000073;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root:not(.dark) .form-popup::backdrop{background:#0f172a40}.form-popup__panel{position:relative;border-radius:20px;padding:clamp(20px,4vw,32px);text-align:center}:root:not(.dark) .form-popup__panel{background:#fffffff2;border:1px solid color-mix(in oklab,rgba(0,0,0,.08),rgba(107,206,240,.2) 30%);box-shadow:0 18px 44px -24px #0f172a4d,0 4px 20px -8px #1d35d71f;color:#1a1a2e}.dark .form-popup__panel{background:#070b1af2;border:1px solid rgba(255,255,255,.14);box-shadow:0 22px 60px -28px #000c;color:#fff}.form-popup__close-x{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.form-popup__close-x:hover{background:#80808033}.form-popup__animation{width:min(100%,280px);height:min(40vw,180px);margin-inline:auto;margin-bottom:16px}.form-popup__title{margin:0 0 12px;font-size:clamp(1.2rem,3vw,1.5rem);font-weight:700}:root:not(.dark) .form-popup__title{background:linear-gradient(120deg,#1d35d7,#5800ff);-webkit-background-clip:text;background-clip:text;color:transparent}.dark .form-popup__title{background:linear-gradient(90deg,#6cd2ef,#1b38da,#5900ff);-webkit-background-clip:text;background-clip:text;color:transparent}.form-popup__message{margin:0 0 20px;font-size:1rem;line-height:1.6;color:var(--muted-foreground)}:root:not(.dark) .form-popup__message{color:#616161}.form-popup__close-btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;border-radius:999px;font-weight:600;font-size:.95rem;letter-spacing:.03em;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--haiko-accent-1, #5800ff) 0%,var(--haiko-accent-2, #6bcef0) 100%);background-size:220% 220%;border:none;cursor:pointer;box-shadow:0 12px 26px -16px #5800ff80;transition:transform .2s ease,box-shadow .2s ease}.form-popup__close-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 32px -18px #5800ffa6}.product-section{--product-detail-bg: #5800ff;--product-detail-border: color-mix(in oklab, #5800ff 70%, #ffffff 30%);--product-detail-shadow: 0 12px 26px -16px rgba(88, 0, 255, .6);--product-detail-shadow-hover: 0 16px 32px -18px rgba(88, 0, 255, .72);--product-detail-color: #ffffff;--product-gradient: linear-gradient(120deg, #0b1e5c 0%, #5800ff 100%);--product-muted: #616161;padding:clamp(16px,4vw,24px);border-radius:16px;margin:clamp(16px,4vw,32px) auto;max-width:1100px}:root:not(.dark) .product-section{background:#fff;border:1px solid color-mix(in oklab,rgba(0,0,0,.08),rgba(107,206,240,.2) 30%);box-shadow:0 4px 20px -8px #1d35d71f,0 8px 32px -12px #5800ff1a}.dark .product-section{--product-detail-shadow: 0 12px 26px -16px rgba(88, 0, 255, .65);--product-detail-shadow-hover: 0 16px 32px -18px rgba(88, 0, 255, .75);background:var(--bg);border:1px solid var(--surface-border);box-shadow:0 10px 30px -12px #00000059}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,3vw,28px);align-items:stretch}.product-media{margin:0;aspect-ratio:1 / 1;position:relative;border-radius:12px;overflow:hidden;display:flex;isolation:isolate}:root:not(.dark) .product-media{background:linear-gradient(135deg,color-mix(in oklab,#ffffff 96%,#6bcef0 4%),color-mix(in oklab,#ffffff 94%,#1d35d7 6%));border:1px solid color-mix(in oklab,rgba(0,0,0,.06),rgba(107,206,240,.15) 30%)}.dark .product-media{background:var(--bg);border:1px solid var(--surface-border)}.product-content{border-radius:12px;padding:clamp(12px,2.4vw,18px);color:var(--ink);aspect-ratio:1 / 1;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;overflow:hidden}:root:not(.dark) .product-content{background:linear-gradient(145deg,#fff,color-mix(in oklab,#ffffff 97%,#5800ff 3%));border:1px solid color-mix(in oklab,rgba(0,0,0,.06),rgba(88,0,255,.1) 30%)}.dark .product-content{background:var(--bg);border:1px solid var(--surface-border)}.product-title{margin:0 0 .75rem;font-size:clamp(1.1rem,2.4vw,1.55rem);line-height:1.25;letter-spacing:.3px;font-weight:600}.product-description{color:var(--muted-foreground);line-height:1.6;font-size:.95rem}:root:not(.dark) .product-description{color:var(--product-muted)}.detail-trigger{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--product-detail-border);background:var(--product-detail-bg);color:var(--product-detail-color);padding:.55rem .95rem;font-size:.85rem;border-radius:999px;cursor:pointer;letter-spacing:.5px;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .18s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transform:scale(1);box-shadow:var(--product-detail-shadow)}.detail-trigger:hover,.detail-trigger:focus-visible{background:color-mix(in oklab,var(--product-detail-bg) 78%,#ffffff 22%);box-shadow:var(--product-detail-shadow-hover);color:var(--product-detail-color);transform:scale(1.05)}@media (max-width: 840px){.product-grid{grid-template-columns:1fr;gap:0}.product-media{aspect-ratio:auto;height:clamp(140px,42vw,220px);border-radius:12px 12px 0 0;border:none;background:transparent}.product-content{aspect-ratio:auto;overflow:visible;padding:clamp(14px,4vw,20px);border-radius:0 0 12px 12px;border:none;background:transparent}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:.45rem;border-radius:12px;border:1px solid color-mix(in oklab,var(--surface-border),var(--haiko-primary-alt) 35%);background:var(--pill-bg);color:var(--ink);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:transform .12s ease,filter .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;position:relative;overflow:hidden}.theme-toggle:hover{filter:brightness(1.05)}.theme-toggle:focus-visible{outline:2px solid var(--haiko-primary-alt);outline-offset:2px}.theme-toggle__icon{position:relative;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;transform:scale(1);transition:transform .18s cubic-bezier(.2,.8,.2,1)}.theme-toggle:hover .theme-toggle__icon{transform:scale(1.08)}.theme-toggle__moon,.theme-toggle__sun{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;opacity:0;transform:scale(.86) rotate(-10deg);will-change:opacity,transform;transition:opacity .26s ease,transform .34s cubic-bezier(.2,.8,.2,1),filter .34s ease}.theme-toggle__moon{color:color-mix(in oklab,var(--ink),#cbd5e1 35%)}.theme-toggle__sun{color:#fbbf24;filter:drop-shadow(0 0 0 rgba(0,0,0,0))}.dark .theme-toggle__moon{opacity:1;transform:scale(1) rotate(0)}:root:not(.dark) .theme-toggle__sun{opacity:1;transform:scale(1) rotate(0);filter:drop-shadow(0 0 10px color-mix(in oklab,#fbbf24,transparent 55%))}@media (max-width: 880px){.theme-toggle{width:40px;height:40px;padding:.4rem}.theme-toggle__icon{width:24px;height:24px}}.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}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.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-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-1\/4{bottom:25%}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-1\/4{left:25%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-1\/4{right:25%}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.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-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-auto{width:auto}.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-5{min-width:1.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.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-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.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-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-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-\[-50\%\]{--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-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--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))}.rotate-45{--tw-rotate: 45deg;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))}@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-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-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-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-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))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[--color-border\]{border-color:var(--color-border)}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-haiko-blue\/10{background-color:hsl(var(--haiko-blue) / .1)}.bg-haiko-turquoise\/10{background-color:hsl(var(--haiko-turquoise) / .1)}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.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-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-2{padding-top:.5rem;padding-bottom:.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-16{padding-bottom:4rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-12{padding-top:3rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.8rem\]{font-size:.8rem}.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-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.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}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 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-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-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--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(0px + 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-ring{--tw-ring-color: hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;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}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.fade-in-up{animation:fadeInUp .6s ease-out forwards}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.footer-container{--footer-frame: clamp(1rem, 6vw, 1.3cm);--footer-radius: clamp(10px, 1.6vw, 18px);position:relative;margin-block-start:clamp(32px,5vw,50px);margin-block-end:var(--footer-frame);margin-inline:var(--footer-frame);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border-radius:var(--footer-radius);background:#5800ff;color:#fff;box-shadow:0 40px 120px -50px #3a007866;padding:clamp(1.5rem,4vw,2.5rem) clamp(2rem,5vw,3.5rem) clamp(12px,2vw,18px);overflow:hidden}:root:not(.dark) .footer-container{background:linear-gradient(135deg,color-mix(in oklab,#ffffff 94%,#6bcef0 6%),color-mix(in oklab,#ffffff 90%,#1d35d7 10%),color-mix(in oklab,#ffffff 86%,#5800ff 14%));color:#1a1a2e;box-shadow:0 -4px 24px -8px #1d35d714,0 24px 80px -30px #5800ff33,0 8px 26px #00000014}.footer-inner{width:100%;max-width:920px;display:flex;flex-direction:column;align-items:stretch;text-align:center;flex:1;margin-inline:auto}.footer-top-actions{display:inline-flex;align-items:center;justify-content:flex-start;gap:clamp(10px,1.8vw,16px);width:100%}@media (max-width: 640px){.footer-top-actions{justify-content:center}}.footer-social-btn{display:inline-flex;align-items:center;justify-content:center;width:clamp(52px,6vw,72px);height:clamp(52px,6vw,72px);border-radius:50%;background:#ffffff26;color:inherit;transition:background .2s ease,transform .2s ease}.footer-social-btn:hover{background:#ffffff40;transform:scale(1.05)}:root:not(.dark) .footer-social-btn{background:color-mix(in oklab,rgba(29,53,215,.12),rgba(88,0,255,.08) 40%);color:var(--haiko-primary)}:root:not(.dark) .footer-social-btn:hover{background:color-mix(in oklab,rgba(29,53,215,.18),rgba(88,0,255,.12) 40%)}.footer-separator{width:100%;height:1px;background:#ffffffad;margin-block:clamp(10px,2vw,16px)}:root:not(.dark) .footer-separator{background:color-mix(in oklab,rgba(29,53,215,.25),rgba(88,0,255,.2) 40%)}.footer-media{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding-block:clamp(1.5rem,5vw,4rem)}@media (min-width: 1024px){.footer-media{padding-block:clamp(2.5rem,6vw,5rem)}}.footer-logo{width:auto;max-width:min(480px,90%);height:auto;-o-object-fit:contain;object-fit:contain}.footer-bottom-row{display:flex;flex-direction:column;align-items:center;gap:clamp(.6rem,2vw,1rem);text-align:center}.footer-copyright{margin:0;font-size:clamp(.82rem,2vw,1rem);letter-spacing:.32px;line-height:1.5;color:inherit}:root:not(.dark) .footer-copyright{color:color-mix(in oklab,var(--haiko-primary) 70%,#1a1a2e 30%)}.footer-legal-nav{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(.8rem,2.4vw,1.6rem)}.footer-legal-link{color:#ffffffd1;text-decoration:none;font-size:clamp(.74rem,1.8vw,.9rem);opacity:.88;transition:color .2s ease,opacity .2s ease}.footer-legal-link:hover,.footer-legal-link.active{opacity:1;background:linear-gradient(120deg,var(--haiko-primary-alt, #6bcef0) 0%,rgba(255,255,255,.95) 100%);background-clip:text;-webkit-background-clip:text;color:transparent}:root:not(.dark) .footer-legal-link{color:var(--haiko-primary);opacity:.8}:root:not(.dark) .footer-legal-link:hover,:root:not(.dark) .footer-legal-link.active{opacity:1;background:linear-gradient(120deg,var(--haiko-primary) 0%,#5800ff 100%);background-clip:text;-webkit-background-clip:text;color:transparent}@keyframes footer-link-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.portfolio-page{position:relative;padding:clamp(72px,12vw,144px) 0 clamp(40px,8vw,96px);color:var(--ink);background:var(--bg);--pad: clamp(14px, 5.5vw, 24px);--safe-inset: var(--pad);--portfolio-animation-card-w: min(26rem, 38vw);--portfolio-animation-card-gap: 28px;min-height:100vh}:root:not(.dark) .portfolio-page{background:linear-gradient(180deg,#fff,color-mix(in oklab,#ffffff 96%,#6bcef0 4%) 30%,color-mix(in oklab,#ffffff 94%,#1d35d7 6%) 70%,color-mix(in oklab,#ffffff 92%,#5800ff 8%))}.dark .portfolio-page{background:var(--header-bg, var(--bg))}.portfolio-page:before,.portfolio-page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.portfolio-page:before{background:radial-gradient(circle at 20% 20%,color-mix(in oklab,var(--haiko-primary) 45%,transparent) 0%,transparent 58%);opacity:.55;filter:blur(80px)}:root:not(.dark) .portfolio-page:before{opacity:.25}.portfolio-page:after{background:radial-gradient(circle at 80% 80%,color-mix(in oklab,#5800ff 45%,transparent) 0%,transparent 55%);opacity:.38;filter:blur(110px)}:root:not(.dark) .portfolio-page:after{opacity:.18}.portfolio__inner{position:relative;z-index:1;max-width:clamp(980px,84vw,1200px);margin:0 auto;padding:clamp(60px,10vw,120px) var(--pad) 0;display:flex;flex-direction:column;gap:clamp(32px,6vw,60px)}.portfolio__animation-card{display:none}@media (min-width: 1025px){.portfolio__animation-card{display:block;position:absolute;top:clamp(60px,10vw,120px);right:var(--safe-inset);width:var(--portfolio-animation-card-w);text-align:right;pointer-events:auto;z-index:3}}.portfolio__animation-wrap{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:20px;overflow:visible}.portfolio__header{max-width:720px;display:grid;gap:clamp(16px,3vw,28px)}.portfolio__title{margin:0;font-size:clamp(2.5rem,5vw,3.6rem);letter-spacing:-.02em;background:linear-gradient(120deg,var(--haiko-accent-2, #6bcef0) 0%,var(--haiko-primary, #1d35d7) 55%,#ffffff 100%);background-size:220% 220%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:portfolio-title-sheen 12s ease-in-out infinite}:root:not(.dark) .portfolio__title{background:linear-gradient(120deg,#1d35d7,#5800ff 55%,#6bcef0);background-size:220% 220%;-webkit-background-clip:text;background-clip:text;animation:portfolio-title-sheen 12s ease-in-out infinite}@keyframes portfolio-title-sheen{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.portfolio__lead{margin:0;font-size:clamp(1.15rem,2.6vw,1.5rem);line-height:1.55;color:color-mix(in oklab,var(--muted-foreground),var(--ink) 35%)}:root:not(.dark) .portfolio__lead{color:#1a1a2e}.portfolio__intro{margin:0;max-width:60ch;font-size:clamp(1rem,2.1vw,1.2rem);line-height:1.7;color:color-mix(in oklab,var(--muted-foreground),var(--ink) 42%)}:root:not(.dark) .portfolio__intro{color:#616161}.portfolio__content{display:grid;gap:clamp(32px,6vw,72px)}@media (min-width: 1025px){.portfolio__content{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start}}.portfolio__main{display:grid;gap:clamp(24px,5vw,40px)}.portfolio__highlights{display:grid;gap:clamp(24px,5vw,36px)}.portfolio-card{background:color-mix(in oklab,var(--bg) 86%,var(--ink) 14%);border:1px solid color-mix(in oklab,var(--ink) 12%,transparent);border-radius:clamp(18px,3vw,24px);padding:clamp(24px,3vw,32px);box-shadow:0 20px 40px color-mix(in oklab,var(--bg) 55%,transparent 45%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;gap:clamp(16px,3vw,24px);position:relative;overflow:hidden}:root:not(.dark) .portfolio-card{background:#fff;border:1px solid color-mix(in oklab,rgba(0,0,0,.08),rgba(107,206,240,.2) 30%);box-shadow:0 4px 20px -8px #1d35d71f,0 8px 32px -12px #5800ff1a}.portfolio-card__info{display:grid;gap:clamp(12px,2vw,18px)}.portfolio-card__heading{display:flex;align-items:baseline;gap:clamp(12px,2vw,18px)}.portfolio-card__index{font-size:clamp(1.1rem,2.3vw,1.4rem);font-weight:600;color:var(--haiko-primary);letter-spacing:.08em}.portfolio-card__title{margin:0;font-size:clamp(1.25rem,2.6vw,1.6rem);letter-spacing:-.01em}:root:not(.dark) .portfolio-card__title{color:#1a1a2e}.portfolio-card__summary{margin:0;line-height:1.65;color:color-mix(in oklab,var(--muted-foreground),var(--ink) 35%)}:root:not(.dark) .portfolio-card__summary{color:#616161}.portfolio-card__tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}.portfolio-card__tag{font-size:.8rem;letter-spacing:.03em;text-transform:uppercase;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in oklab,var(--haiko-primary) 45%,transparent);color:color-mix(in oklab,var(--haiko-primary) 60%,var(--ink));background:color-mix(in oklab,var(--haiko-primary) 15%,transparent 85%)}:root:not(.dark) .portfolio-card__tag{background:color-mix(in oklab,#1d35d7 8%,#ffffff 92%);border-color:color-mix(in oklab,#1d35d7 25%,transparent);color:#1d35d7}.portfolio__cta{background:color-mix(in oklab,var(--bg) 86%,var(--ink) 14%);border:1px solid color-mix(in oklab,var(--ink) 12%,transparent);border-radius:clamp(18px,3vw,24px);padding:clamp(24px,3vw,32px);box-shadow:0 20px 40px color-mix(in oklab,var(--bg) 55%,transparent 45%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;gap:clamp(16px,3vw,24px);align-self:start;position:sticky;top:100px}:root:not(.dark) .portfolio__cta{background:linear-gradient(145deg,#fff,color-mix(in oklab,#ffffff 96%,#5800ff 4%));border:1px solid color-mix(in oklab,rgba(0,0,0,.08),rgba(88,0,255,.15) 30%);box-shadow:0 4px 20px -8px #1d35d71f,0 8px 32px -12px #5800ff1a}:root:not(.dark) .portfolio__cta-heading{color:#1a1a2e}:root:not(.dark) .portfolio__cta-body{color:#616161}.portfolio__cta-heading{margin:0;font-size:clamp(1.25rem,2.6vw,1.5rem);letter-spacing:-.01em}.portfolio__cta-body{margin:0;line-height:1.65;color:color-mix(in oklab,var(--muted-foreground),var(--ink) 35%)}@media (max-width: 767px){.portfolio__inner{padding-top:clamp(60px,12vw,80px)}.portfolio__animation-card{display:block;position:static;width:min(16rem,72vw);text-align:center;align-self:center;margin-inline:auto}.speech-bubble{top:-40px;left:-40px;max-width:180px;font-size:.85rem}}@media (min-width: 768px) and (max-width: 1024px){.portfolio-page{--portfolio-animation-card-w: min(20rem, 34vw);--portfolio-animation-card-gap: clamp(16px, 2.2vw, 24px)}.portfolio__inner{display:grid;grid-template-columns:minmax(0,1fr) var(--portfolio-animation-card-w);grid-template-areas:"header animation" "content content";-moz-column-gap:var(--portfolio-animation-card-gap);column-gap:var(--portfolio-animation-card-gap);row-gap:clamp(28px,4.2vw,48px);align-items:start}.portfolio__animation-card{display:block;grid-area:animation;position:static;width:100%;justify-self:end;align-self:start}.portfolio__header{grid-area:header;max-width:none}.portfolio__content{grid-area:content}}.speech-bubble{--bubble-border: color-mix(in oklab, var(--ink) 18%, transparent);--bubble-bg: color-mix(in oklab, var(--bg) 92%, var(--ink) 8%);--bubble-shadow: 0 18px 40px color-mix(in oklab, var(--bg) 52%, transparent 48%);--bubble-pad-y: 14px;--bubble-pad-x: 16px;--arrow-size: 14px;position:absolute;top:-60px;left:-60px;z-index:10;padding:var(--bubble-pad-y) var(--bubble-pad-x);border-radius:18px;border:1px solid var(--bubble-border);background:var(--bubble-bg);color:var(--ink);box-shadow:var(--bubble-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-height:calc(var(--bubble-content-height, 0px) + (var(--bubble-pad-y) * 2));opacity:0;text-align:center;will-change:opacity,transform;transition:opacity .36s ease,transform .36s ease;max-width:220px}.speech-bubble[data-state=visible]{opacity:1;transform:translateY(-4px);transition:opacity .22s ease,transform .22s ease}.speech-bubble:before{content:"";position:absolute;bottom:-12px;right:16px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:12px solid var(--bubble-border);z-index:0}.speech-bubble:after{content:"";position:absolute;bottom:-10px;right:17px;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:11px solid var(--bubble-bg);z-index:1}.speech-bubble__text{display:block;font-size:.95rem;line-height:1.45;letter-spacing:-.01em;text-align:center}.portfolio__filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:flex-start;margin-bottom:clamp(24px,4vw,40px)}@media (max-width: 767px){.portfolio__filters{justify-content:center}}.portfolio__filter-btn{--btn-radius: 999px;--btn-pad-y: .5rem;--btn-pad-x: 1rem;--btn-fz: .95rem;--btn-shadow: 0 12px 26px -16px rgba(88, 0, 255, .45);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:var(--btn-pad-y) var(--btn-pad-x);border-radius:var(--btn-radius);font-weight:600;letter-spacing:.03em;line-height:1;font-size:var(--btn-fz);cursor:pointer;border:1px solid color-mix(in oklab,var(--haiko-primary, #1d35d7),#ffffff 35%);background:var(--bg);color:var(--ink);transition:transform .18s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease}.portfolio__filter-btn:hover,.portfolio__filter-btn:focus-visible{transform:translateY(-1px) scale(1.02);outline:none}.portfolio__filter-btn[data-active=true],.portfolio__filter-btn[aria-pressed=true]{background:linear-gradient(135deg,var(--haiko-accent-1, #5800ff) 0%,var(--haiko-accent-2, #6bcef0) 100%);background-size:220% 220%;animation:portfolio-gradient-sweep 8s ease-in-out infinite;color:var(--brand-primary-foreground, #ffffff);box-shadow:var(--btn-shadow);border-color:color-mix(in oklab,var(--haiko-accent-2, #6bcef0) 50%,#fff 20%)}.portfolio__filter-btn[data-active=false]:hover,.portfolio__filter-btn[aria-pressed=false]:hover,.portfolio__filter-btn[data-active=false]:focus-visible,.portfolio__filter-btn[aria-pressed=false]:focus-visible{background:linear-gradient(135deg,var(--haiko-accent-1, #5800ff) 0%,var(--haiko-accent-2, #6bcef0) 100%);background-size:220% 220%;animation:portfolio-gradient-sweep 3s ease-in-out;color:#fff;box-shadow:0 18px 32px -18px #5800ff8c;border-color:color-mix(in oklab,var(--haiko-accent-2, #6bcef0) 45%,#fff 15%)}.portfolio__filter-btn:focus-visible{outline:2px solid color-mix(in oklab,var(--haiko-primary, #1d35d7),#ffffff 35%);outline-offset:2px}.dark .portfolio__filter-btn{background:#00000059;color:var(--ink);border-color:color-mix(in oklab,var(--haiko-primary, #1d35d7),#ffffff 25%)}.dark .portfolio__filter-btn[data-active=true],.dark .portfolio__filter-btn[aria-pressed=true]{background:linear-gradient(135deg,var(--haiko-accent-1, #5800ff) 0%,var(--haiko-accent-2, #6bcef0) 100%);background-size:220% 220%;animation:portfolio-gradient-sweep 8s ease-in-out infinite;color:#fff;box-shadow:var(--btn-shadow);border-color:color-mix(in oklab,var(--haiko-accent-2, #6bcef0) 50%,#fff 20%)}:root:not(.dark) .portfolio__filter-btn:not([data-active=true]):not([aria-pressed=true]){background:var(--bg);color:var(--ink)}.portfolio-card__info{position:relative;overflow:hidden}.portfolio-card__info-inner{display:grid;gap:clamp(12px,2vw,18px);transition:filter .3s ease,opacity .3s ease}.portfolio-card--coming-soon .portfolio-card__info-inner{filter:blur(2px);opacity:.6}.portfolio-card--coming-soon:hover .portfolio-card__info-inner{filter:blur(3px);opacity:.4}.portfolio-card__coming-soon-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}.portfolio-card__coming-soon-badge{font-size:1rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:.75rem 1.5rem;border-radius:12px;background:linear-gradient(135deg,var(--haiko-accent-1, #5800ff) 0%,var(--haiko-primary, #1d35d7) 100%);box-shadow:0 8px 32px -8px #5800ff80,inset 0 1px #fff3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.15)}.portfolio-card__actions{margin-top:auto;padding-top:clamp(12px,2vw,16px)}.portfolio-card__details-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in oklab,#5800ff 70%,#ffffff 30%);background:#5800ff;color:#fff;padding:.55rem .95rem;font-size:.85rem;border-radius:999px;cursor:pointer;letter-spacing:.5px;font-weight:600;text-decoration:none;transition:background .2s ease,box-shadow .2s ease,transform .18s ease;box-shadow:0 12px 26px -16px #5800ff99}.portfolio-card__details-button:hover,.portfolio-card__details-button:focus-visible{background:color-mix(in oklab,#5800ff 78%,#ffffff 22%);box-shadow:0 16px 32px -18px #5800ffb8;transform:scale(1.05)}.portfolio-card__details-button--disabled{background:color-mix(in oklab,var(--ink) 30%,var(--bg) 70%);border-color:color-mix(in oklab,var(--ink) 20%,var(--bg) 80%);cursor:not-allowed;opacity:.7;box-shadow:none}.portfolio-card__details-button--disabled:hover{transform:none;box-shadow:none;background:color-mix(in oklab,var(--ink) 30%,var(--bg) 70%)}.portfolio__cta-link{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:999px;background:linear-gradient(135deg,var(--haiko-accent-1, #5800ff) 0%,var(--haiko-accent-2, #6bcef0) 100%);background-size:220% 220%;animation:portfolio-gradient-sweep 8s ease-in-out infinite;color:#fff;font-weight:600;letter-spacing:.03em;text-decoration:none;box-shadow:0 12px 26px -16px #5800ff80;transition:transform .2s ease,box-shadow .2s ease}.portfolio__cta-link:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 32px -18px #5800ffa6}@keyframes portfolio-gradient-sweep{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.service-detail-page{background:var(--bg)}:root:not(.dark) .service-detail-page{background:linear-gradient(180deg,#fff,color-mix(in oklab,#ffffff 96%,#6bcef0 4%) 30%,color-mix(in oklab,#ffffff 94%,#1d35d7 6%) 70%,color-mix(in oklab,#ffffff 92%,#5800ff 8%))}.dark .service-detail-page{background:var(--header-bg, var(--bg))}.service-cover{width:100%;margin:0;display:grid;place-items:center;position:relative;isolation:isolate;padding:clamp(10px,4vw,22px) 0;padding-top:clamp(80px,12vw,120px);min-height:clamp(280px,36vw,520px);border-bottom:1px solid var(--surface-border);z-index:0}.service-cover--flow{padding-top:clamp(100px,14vw,140px)}.cover-model{width:100%}.cover-model--core{max-width:clamp(220px,28vw,420px);height:clamp(180px,22vw,320px)}.cover-model--flow{max-width:clamp(400px,58vw,900px);height:clamp(280px,36vw,480px)}.cover-model--trust{max-width:clamp(220px,28vw,420px);height:clamp(240px,28vw,400px)}@media (min-width: 768px) and (max-width: 1024px){.cover-model--core{max-width:clamp(320px,40vw,520px);height:clamp(240px,30vw,400px)}.cover-model--flow{max-width:clamp(560px,72vw,1000px);height:clamp(380px,48vw,580px)}.cover-model--trust{max-width:clamp(320px,40vw,520px);height:clamp(340px,40vw,500px)}}.service-content-card{max-width:880px;margin:clamp(20px,6vw,64px) auto;margin-top:calc(-1*clamp(12px,3vw,20px));position:relative;z-index:1;padding:clamp(28px,6vw,48px) clamp(18px,5vw,42px);border-radius:clamp(18px,4vw,26px);border:1px solid color-mix(in oklab,var(--surface-border),#ffffff 30%);box-shadow:0 18px 42px -26px #0f172a59}:root:not(.dark) .service-content-card{background:linear-gradient(135deg,color-mix(in oklab,#ffffff 92%,var(--haiko-accent-1) 8%),color-mix(in oklab,#ffffff 90%,var(--haiko-primary-alt) 10%))}.dark .service-content-card{background:linear-gradient(135deg,color-mix(in oklab,var(--bg, #0b1020) 78%,var(--haiko-accent-2) 22%),color-mix(in oklab,var(--bg, #0b1020) 76%,var(--haiko-accent-2) 24%) 52%,color-mix(in oklab,var(--bg, #0b1020) 74%,var(--haiko-primary) 26%));border:1px solid color-mix(in oklab,var(--surface-border),rgba(255,255,255,.08) 35%);box-shadow:none}@media (min-width: 768px) and (max-width: 1024px){.service-content-card{width:min(880px,86vw)}}.service-content-card .service-title{margin:0 0 1rem;font-size:clamp(1.9rem,1.3rem + 2.2vw,2.6rem);line-height:1.15}:root:not(.dark) .service-content-card .service-title{color:transparent;background-image:linear-gradient(120deg,#0b1e5c,#5800ff);-webkit-background-clip:text;background-clip:text;background-size:220% 220%;background-position:0% 50%;animation:service-title-gradient 9s ease-in-out infinite}.dark .service-content-card .service-title{color:transparent;background-image:linear-gradient(120deg,color-mix(in oklab,var(--haiko-primary) 92%,black 8%),color-mix(in oklab,var(--haiko-accent-1) 88%,black 12%));-webkit-background-clip:text;background-clip:text;background-size:220% 220%;background-position:0% 50%;animation:service-title-gradient 9s ease-in-out infinite}@keyframes service-title-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.service-lead{font-size:1rem;line-height:1.55;margin:0 0 1.1rem}:root:not(.dark) .service-content-card .service-lead{color:#616161}.service-detail{font-size:.95rem;line-height:1.6;margin:0 0 1.4rem;color:var(--ink)}:root:not(.dark) .service-content-card .service-detail{color:#616161}.service-cta-group{display:flex;flex-direction:column;gap:.75rem;align-items:flex-start;margin-top:clamp(1.2rem,3vw,2rem)}.service-primary-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:999px;font-weight:600;font-size:.95rem;letter-spacing:.03em;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--haiko-accent-1, #5800ff) 0%,var(--haiko-accent-2, #6bcef0) 100%);background-size:220% 220%;animation:portfolio-gradient-sweep 8s ease-in-out infinite;box-shadow:0 12px 26px -16px #5800ff80;transition:transform .2s ease,box-shadow .2s ease}.service-primary-cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 18px 32px -18px #5800ffa6}.service-secondary-cta{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;border-radius:999px;font-weight:500;font-size:.9rem;text-decoration:none;color:var(--ink);background:transparent;border:1px solid color-mix(in oklab,var(--ink) 25%,transparent);transition:background .2s ease,border-color .2s ease}:root:not(.dark) .service-secondary-cta{color:var(--haiko-primary);border-color:color-mix(in oklab,var(--haiko-primary) 35%,transparent)}:root:not(.dark) .service-secondary-cta:hover{background:color-mix(in oklab,var(--haiko-primary) 10%,transparent);border-color:var(--haiko-primary)}.service-secondary-cta:hover{background:color-mix(in oklab,var(--ink) 8%,transparent);border-color:color-mix(in oklab,var(--ink) 40%,transparent)}.legal-page{background:var(--bg)}:root:not(.dark) .legal-page{background:linear-gradient(180deg,#fff,color-mix(in oklab,#ffffff 97%,#6bcef0 3%),color-mix(in oklab,#ffffff 95%,#1d35d7 5%))}.dark .legal-page{background:var(--header-bg, var(--bg))}.legal-page__back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted-foreground);text-decoration:none;transition:color .2s ease;margin-bottom:2rem}.legal-page__back-link:hover{color:var(--ink)}:root:not(.dark) .legal-page__back-link{color:#616161}:root:not(.dark) .legal-page__back-link:hover{color:var(--haiko-primary)}.legal-page__title{font-size:clamp(1.875rem,4vw,2.25rem);font-weight:700;margin-bottom:1rem}:root:not(.dark) .legal-page__title{background:linear-gradient(120deg,#1d35d7,#5800ff);-webkit-background-clip:text;background-clip:text;color:transparent}.dark .legal-page__title{background:linear-gradient(90deg,#6cd2ef,#1b38da,#5900ff);-webkit-background-clip:text;background-clip:text;color:transparent}.legal-page__lead{font-size:1.125rem;line-height:1.75;margin-bottom:3rem}:root:not(.dark) .legal-page__lead{color:#616161}.legal-page__section{padding:1.5rem;margin-bottom:2rem}:root:not(.dark) .legal-page__section{background:#fff;border:1px solid color-mix(in oklab,rgba(0,0,0,.08),rgba(107,206,240,.2) 30%);border-radius:1rem;box-shadow:0 4px 20px -8px #1d35d71a,0 8px 32px -12px #5800ff14}.legal-page__section-title{font-size:1.25rem;font-weight:600;margin-bottom:.75rem}:root:not(.dark) .legal-page__section-title{color:#1a1a2e}.legal-page__section-body{line-height:1.75}:root:not(.dark) .legal-page__section-body{color:#616161}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes toggle-pop{0%{transform:scale(.9)}60%{transform:scale(1.08)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.keyword-track{animation:none!important}.theme-toggle,.theme-toggle__moon,.theme-toggle__sun{transition:none!important;animation:none!important}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--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))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 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)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{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-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--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)}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.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\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\: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)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--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))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--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))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--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))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--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))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--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))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--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))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x: var(--radix-toast-swipe-end-x);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))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x: var(--radix-toast-swipe-move-x);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))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active]{--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)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity: 0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity: .8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale: .9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x: 13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x: -13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x: 13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x: -13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-],.data-\[state\=visible\]\:fade-in[data-state=visible]{animation:fadeIn .6s ease-out forwards}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--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))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--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))}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]{left:calc(var(--sidebar-width) * -1)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]{right:calc(var(--sidebar-width) * -1)}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0px}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\: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))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\: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))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\: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)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:h-72{height:18rem}.sm\:w-72{width:18rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\: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))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:h-64{height:16rem}.md\:w-64{width:16rem}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:p-8{padding:2rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:1rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\: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)}}@media (min-width: 1024px){.lg\:mx-0{margin-left:0;margin-right:0}.lg\:mb-10{margin-bottom:2.5rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:justify-start{justify-content:flex-start}.lg\:gap-12{gap:3rem}.lg\:pt-20{padding-top:5rem}.lg\:text-left{text-align:left}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width: 1280px){.xl\:text-7xl{font-size:4.5rem;line-height:1}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y: -3px;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))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--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))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--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))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:transparent}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
