@import"https://fonts.googleapis.com/css2?family=Rubik:wght@400;500;600;700&display=swap";:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--app-gradient-end: #8a73c7}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}input,textarea,[contenteditable],[contenteditable=true]{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}html{touch-action:pan-x pan-y;font-size:100%;overscroll-behavior-y:contain;background-color:var(--app-gradient-end)}@media(min-width:1500px){html{font-size:115%}}@media(min-width:2000px){html{font-size:125%}}button{border:none;outline:none}a{text-decoration:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;position:relative;touch-action:pan-x pan-y;z-index:0;overscroll-behavior-y:contain;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}html.pwa-standalone{height:100vh;min-height:100vh}html.pwa-standalone body{height:100%;box-sizing:border-box}html.pwa-standalone #root{height:100%;min-height:0}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;height:100vh;height:100dvh;top:calc(0px - env(safe-area-inset-top,0px));left:calc(0px - env(safe-area-inset-left,0px));right:calc(0px - env(safe-area-inset-right,0px));bottom:calc(0px - env(safe-area-inset-bottom,0px));width:calc(100% + env(safe-area-inset-left,0px) + env(safe-area-inset-right,0px));height:calc(100% + env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px));background:linear-gradient(135deg,#667eea 0%,var(--app-gradient-end) 100%);z-index:-1;pointer-events:none;transform:translateZ(0);-webkit-transform:translateZ(0)}@media(max-width:48rem){body:before{background:var(--app-gradient-end)}html.pwa-standalone body:before{background:linear-gradient(135deg,#667eea 0%,var(--app-gradient-end) 100%)}}#root{min-height:100vh;min-height:100dvh;overscroll-behavior-y:contain}html.pwa-standalone body{overscroll-behavior-y:none}.custom-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.custom-scrollbar::-webkit-scrollbar{display:none}html.pwa-standalone body:before{inset:0;width:100%;height:100%}html.pwa-standalone body{padding-left:0;padding-right:0}@media(max-width:48rem){body{padding-top:env(safe-area-inset-top,0px)}html.pwa-standalone body{padding-top:0}}*{scroll-behavior:smooth}@media(max-width:48rem){body,html,#root{overscroll-behavior-y:contain}.scrollable{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}}.scrollable{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}html:has(body:has(.page-fullscreen)),html:has(body:has(.schedule-page)){overflow:hidden;overscroll-behavior:none}body:has(.page-fullscreen),body:has(.schedule-page){overflow:hidden;overscroll-behavior:none}body:has(.page-fullscreen){padding-top:0}body:has(.page-fullscreen) #root,body:has(.schedule-page) #root{overscroll-behavior:none}body:has(.page-fullscreen) #root{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;min-height:0;overflow:visible}html.pwa-standalone body:has(.page-fullscreen),html.pwa-standalone body:has(.schedule-page){overflow:hidden;height:100%;min-height:100%}html.pwa-standalone body:has(.page-fullscreen) #root{overflow:visible;overscroll-behavior:none;height:100%;min-height:100%}html.pwa-standalone body:has(.schedule-page) #root{overflow:hidden;overscroll-behavior:none;height:100%;min-height:100%}html:has(body.modal-open){overflow:hidden;overscroll-behavior:none;touch-action:none}body.modal-open{overflow:hidden!important;overscroll-behavior:none;touch-action:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}:root{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #dbeafe;--color-success: #10b981;--color-success-hover: #059669;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-hover: #d97706;--color-warning-light: #fef3c7;--color-error: #ef4444;--color-error-hover: #dc2626;--color-error-light: #fee2e2;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-white: #ffffff;--color-black: #000000;--bg-primary: var(--color-gray-50);--bg-secondary: var(--color-white);--bg-tertiary: var(--color-gray-100);--text-primary: var(--color-gray-900);--text-secondary: var(--color-gray-600);--text-muted: var(--color-gray-400);--text-inverse: var(--color-white);--border-color: var(--color-gray-200);--border-radius-sm: .5rem;--border-radius-md: .75rem;--border-radius-lg: 1rem;--border-radius-xl: 1.25rem;--border-radius-round: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: .75rem;--spacing-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem;--spacing-3xl: 3rem;--font-family: "Bounded", sans-serif;--font-size-xxs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .06);--shadow-glass-xs: 0 1px 8px rgba(0, 0, 0, .03), 0 0 15px rgba(255, 255, 255, .05);--shadow-glass-sm: 0 2px 15px rgba(0, 0, 0, .05), 0 0 30px rgba(255, 255, 255, .1);--shadow-glass-md: 0 4px 20px rgba(0, 0, 0, .08), 0 0 40px rgba(255, 255, 255, .15);--shadow-glass-lg: 0 8px 30px rgba(0, 0, 0, .12), 0 0 50px rgba(255, 255, 255, .2);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .4s cubic-bezier(.68, -.55, .265, 1.55);--motion-duration-xs: .16s;--motion-duration-sm: .24s;--motion-duration-md: .34s;--motion-duration-lg: .48s;--motion-ease-standard: cubic-bezier(.4, 0, .2, 1);--motion-ease-out-expo: cubic-bezier(.16, 1, .3, 1);--motion-ease-spring: cubic-bezier(.34, 1.08, .64, 1);--motion-ease-accelerate: cubic-bezier(.4, 0, 1, 1);--blur-sm: 4px;--blur-md: 8px;--blur-lg: 12px;--blur-xl: 16px;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 999;--z-splash: 5000;--z-modal: 1000;--z-tooltip: 1010;--z-notification: 1020;--z-header: 50;--z-sticky-header: 60;--z-sticky-time: 55;--z-sticky-corner: 70;--btn-height-s: 2rem;--btn-height-m: 2.5rem;--btn-height-l: 3rem;--btn-padding-s: 0 .875rem;--btn-padding-m: 0 1.125rem;--btn-padding-l: 0 1.5rem;--modal-min-width: 20rem;--modal-max-width: 37.5rem;--modal-padding: var(--spacing-xl);--popover-min-width: 12.5rem;--popover-max-width: 25rem;--popover-padding: var(--spacing-md);--schedule-slot-width: 12.5rem;--schedule-slot-height: 2.8125rem;--schedule-day-header-height: 4.375rem;--schedule-block-inset: .3125rem;--schedule-block-gutter: .625rem;--schedule-book-btn-lift: 3.125rem}.glass{background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:var(--border-radius-md);box-shadow:var(--shadow-glass-md)}.glass-light{background:#ffffff26;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:var(--shadow-glass-sm)}.glass-medium{background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:var(--shadow-glass-md)}.glass-strong{background:#ffffff40;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:var(--shadow-glass-lg)}.glass-solid{background:#ffffff59;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:var(--shadow-glass-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-family);font-weight:var(--font-weight-bold);text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;border-radius:var(--border-radius-md);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;box-sizing:border-box;background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);box-shadow:var(--shadow-glass-sm)}.btn:hover{background:#ffffff26;transform:scale(1.02);box-shadow:var(--shadow-glass-md)}.btn:active{transform:scale(.95);box-shadow:var(--shadow-glass-xs)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-s{height:var(--btn-height-s);padding:var(--btn-padding-s);font-size:var(--font-size-sm)}.btn-m{height:var(--btn-height-m);padding:var(--btn-padding-m);font-size:var(--font-size-md)}.btn-l{height:var(--btn-height-l);padding:var(--btn-padding-l);font-size:var(--font-size-lg)}.btn-primary{background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);box-shadow:var(--shadow-glass-md)}.btn-primary:hover{background:#ffffff26;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.btn-primary:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.btn-secondary{background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-secondary);box-shadow:var(--shadow-glass-md)}.btn-secondary:hover{background:#ffffff26;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.btn-secondary:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.btn-success{background:#10b98133;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--color-success);box-shadow:var(--shadow-glass-md)}.btn-success:hover{background:#10b98126;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.btn-success:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.btn-warning{background:#f59e0b33;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--color-warning);box-shadow:var(--shadow-glass-md)}.btn-warning:hover{background:#f59e0b26;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.btn-warning:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.btn-error{background:#ef444433;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--color-error);box-shadow:var(--shadow-glass-md)}.btn-error:hover{background:#ef444426;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.btn-error:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.btn-ghost{background:transparent;box-shadow:var(--shadow-glass-sm)}.btn-ghost:hover{background:#ffffff1a;transform:scale(1.02);box-shadow:var(--shadow-glass-md)}.btn-ghost:active{transform:scale(.95);box-shadow:var(--shadow-glass-xs)}.modal-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:modalOverlayIn .2s ease forwards}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes modalOverlayOut{0%{opacity:1}to{opacity:0}}.modal{position:relative;width:90%;max-width:var(--modal-max-width);min-width:var(--modal-min-width);max-height:90vh;overflow:hidden;border-radius:var(--border-radius-xl);animation:modalIn .3s cubic-bezier(.34,1.56,.64,1) forwards;box-shadow:var(--shadow-2xl)}@keyframes modalIn{0%{transform:translateY(1.25rem) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes modalOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(-1.25rem) scale(.95);opacity:0}}.modal-glass{background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.modal-solid{background:var(--bg-secondary);border:1px solid var(--border-color)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-md) var(--spacing-xl);border-bottom:1px solid rgba(0,0,0,.08)}.modal-glass .modal-header{border-bottom:1px solid rgba(0,0,0,.08)}.modal-title{margin:0;font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.modal-close{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:var(--border-radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary);box-shadow:var(--shadow-glass-sm)}.modal-close:hover{background:#ef444426;color:var(--color-error);transform:scale(1.02);box-shadow:var(--shadow-glass-md)}.modal-close:active{transform:scale(.9);box-shadow:var(--shadow-glass-xs)}.modal-close svg{width:1.25rem;height:1.25rem}.modal-body{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-xl) var(--spacing-xl);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl);border-top:1px solid rgba(0,0,0,.08);background:#ffffff80;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.popover{position:absolute;z-index:var(--z-dropdown);min-width:var(--popover-min-width);max-width:var(--popover-max-width);border-radius:var(--border-radius-lg);padding:var(--popover-padding);box-shadow:var(--shadow-xl);animation:popoverIn .2s ease forwards;background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes popoverIn{0%{transform:translateY(-.5rem);opacity:0}to{transform:translateY(0);opacity:1}}.popover-arrow{position:absolute;width:.75rem;height:.75rem;background:#ffffffe6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transform:rotate(45deg)}.popover-arrow-top{bottom:-.4375rem;left:50%;transform:translate(-50%) rotate(45deg)}.popover-arrow-bottom{top:-.4375rem;left:50%;transform:translate(-50%) rotate(45deg)}.popover-arrow-left{right:-.4375rem;top:50%;transform:translateY(-50%) rotate(45deg)}.popover-arrow-right{left:-.4375rem;top:50%;transform:translateY(-50%) rotate(45deg)}.card{background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-glass-md);padding:var(--spacing-lg);transition:all var(--transition-fast)}.card:hover{box-shadow:var(--shadow-glass-lg)}.card-header{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.2)}.card-title{margin:0;font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.card-body{color:var(--text-secondary)}.input{width:100%;height:var(--btn-height-l);padding:var(--btn-padding-l);font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-primary);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:none;border-radius:var(--border-radius-md);transition:all var(--transition-fast);box-sizing:border-box;box-shadow:var(--shadow-glass-sm)}.input:hover{background:#ffffff40;box-shadow:var(--shadow-glass-md)}.input:focus{outline:none;border:none;background:#ffffff4d;box-shadow:0 0 0 3px #3b82f633}.input::placeholder{color:var(--text-muted)}.input:disabled{opacity:.6;cursor:not-allowed}.input-sm{height:var(--btn-height-s);padding:var(--btn-padding-s);font-size:var(--font-size-sm)}.input-lg{height:var(--btn-height-l);padding:var(--btn-padding-l);font-size:var(--font-size-lg)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-round);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:var(--shadow-glass-xs)}.badge-primary{background:#3b82f633;color:var(--color-primary)}.badge-success{background:#10b98133;color:var(--color-success)}.badge-warning{background:#f59e0b33;color:var(--color-warning)}.badge-error{background:#ef444433;color:var(--color-error)}.overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:var(--z-overlay);animation:overlayIn .2s ease forwards}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes overlayOut{0%{opacity:1}to{opacity:0}}@keyframes motion-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes motion-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes motion-panel-in{0%{opacity:0;transform:translateY(.5rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(.375rem) scale(.96)}}@keyframes motion-page-in{0%{opacity:0;transform:translateY(1.125rem) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes motion-shell-in{0%{opacity:0;transform:translateY(.625rem)}to{opacity:1;transform:translateY(0)}}@keyframes motion-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes motion-shell-in-down{0%{opacity:0;transform:translateY(-.625rem)}to{opacity:1;transform:translateY(0)}}@keyframes nav-strip-enter-forward{0%{opacity:.35;transform:translate(38%)}to{opacity:1;transform:translate(0)}}@keyframes nav-strip-enter-backward{0%{opacity:.35;transform:translate(-38%)}to{opacity:1;transform:translate(0)}}@keyframes nav-strip-enter-jump{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes schedule-day-header-strip-forward{0%{opacity:.45;transform:translate(18%) translateY(.2rem)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes schedule-day-header-strip-backward{0%{opacity:.45;transform:translate(-18%) translateY(.2rem)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes schedule-day-header-strip-jump{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@keyframes booking-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes booking-modal-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes booking-modal-panel-in{0%{opacity:0;transform:translateY(1rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes booking-modal-panel-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(1rem) scale(.96)}}@font-face{font-family:Bounded;src:url(/fonts/bounded/Bounded-Variable.ttf) format("truetype-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Bounded;src:url(/fonts/bounded/Bounded-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Bounded;src:url(/fonts/bounded/Bounded-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bounded;src:url(/fonts/bounded/Bounded-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:MTSWide;src:url(/fonts/mts_wide/MTSWide-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:MTSWide;src:url(/fonts/mts_wide/MTSWide-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}:root{--font-bounded: "Bounded", sans-serif;--font-mts-wide: "MTSWide", sans-serif;--font-rubik: "Rubik", sans-serif}.context-menu{position:fixed;z-index:120;width:fit-content;min-width:15rem;display:flex;flex-direction:column;border-radius:var(--border-radius-lg);overflow:hidden;background:#ffffffa6;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:var(--shadow-glass-md);animation:context-menu-fade-in .15s ease-out;transition:opacity .2s ease-out,transform .2s ease-out}.context-menu-closing{opacity:0;transform:scale(.95);pointer-events:none}@keyframes context-menu-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:inline-flex;align-items:center;justify-content:flex-start;width:100%;padding:.625rem .875rem;min-height:2.75rem;cursor:pointer;transition:all var(--transition-fast);background:transparent;border:none;outline:none;text-align:left;color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;gap:.625rem}.context-menu-item:first-child{padding-top:.75rem}.context-menu-item:last-child{padding-bottom:.75rem}.context-menu-item i{width:1.0625rem;text-align:center;font-size:.9375rem}.context-menu-item span{flex:1;text-align:left}.context-menu-item:hover{background:#fff6}.context-menu-item:active{background:#ffffff4d;transform:scale(.98)}.context-menu-item--danger{color:#ef4444}.context-menu-item--danger:hover{background:#ef444426}.context-menu-item--danger:active{background:#ef44441a}.page-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);margin:0;overflow:hidden;box-sizing:border-box}.page-container--app{animation:motion-backdrop-in var(--motion-duration-md) var(--motion-ease-out-expo) both}html.pwa-standalone .page-container{min-height:100vh;height:100vh;min-height:100dvh;height:100dvh}.schedule-page{display:flex;flex-direction:column;width:fit-content;max-width:100%;max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.25rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.25rem);border-radius:var(--border-radius-xl);overflow:hidden;box-shadow:var(--shadow-2xl);background:#fff;margin:auto;animation:motion-page-in var(--motion-duration-lg) var(--motion-ease-out-expo) .05s both}.schedule-page .schedule-header{animation:motion-shell-in var(--motion-duration-md) var(--motion-ease-out-expo) .12s both}.schedule-page .schedule-content-shell{animation:motion-shell-in var(--motion-duration-md) var(--motion-ease-out-expo) .18s both}html.pwa-standalone .schedule-page{max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.25rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1.25rem)}@media(max-width:1100px){.schedule-page,html.pwa-standalone .schedule-page{max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1rem)}.week-date-text{width:15rem}}@media(max-width:768px){.page-container{padding:.5rem;padding-top:max(.5rem,env(safe-area-inset-top,0px));padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px));padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px))}html.pwa-standalone .page-container{padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px))}.schedule-page{max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1rem);border-radius:var(--border-radius-lg)}html.pwa-standalone .schedule-page{max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1rem);max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 1rem)}}.schedule-header{flex-shrink:0;background:#fff;padding:var(--spacing-lg);box-shadow:var(--shadow-sm);z-index:var(--z-header);width:100%}.schedule-title-wrapper{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.schedule-title{display:flex;align-items:center;gap:var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;flex:1;min-width:0}.schedule-title-icon{width:2rem;height:2rem;object-fit:contain;flex-shrink:0}.logout-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;flex-shrink:0;background:#ef444426;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:none;border-radius:var(--border-radius-md);padding:var(--spacing-sm) var(--spacing-md);height:var(--btn-height-m);color:var(--color-error);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-glass-sm)}.logout-btn:hover{background:#ef444440;transform:scale(1.02);box-shadow:var(--shadow-glass-md)}.logout-btn:active{transform:scale(.98);box-shadow:var(--shadow-glass-xs)}.logout-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.logout-email{font-size:var(--font-size-sm);color:var(--color-error);white-space:nowrap}.navigation-wrapper{padding:var(--spacing-md);width:100%;flex-shrink:0;box-sizing:border-box;position:sticky;left:0;z-index:5;background:#fff}.date-navigation-table{display:flex;align-items:center;justify-content:center;min-height:3.125rem;padding:var(--spacing-sm) var(--spacing-md);flex-shrink:0;border-radius:var(--border-radius-lg);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:none;box-shadow:var(--shadow-glass-sm)}.room-navigation-table{margin-top:var(--spacing-md);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:none;box-shadow:var(--shadow-glass-sm)}.nav-btn-reset-icon{position:absolute;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);width:var(--btn-height-m);height:var(--btn-height-m);padding:0;flex-shrink:0;border-radius:var(--border-radius-lg);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);box-shadow:var(--shadow-glass-md);z-index:10}.nav-btn-reset-icon:hover{background:#ffffff26;transform:scale(1.05);box-shadow:var(--shadow-glass-lg)}.nav-btn-reset-icon:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.nav-btn-reset-icon svg{width:1.25rem;height:1.25rem}.week-navigation{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);height:var(--btn-height-m);flex-shrink:0;width:100%;position:relative}.week-navigation-right{display:flex;align-items:center;flex-shrink:0;position:relative}.nav-btn-reset-icon{position:absolute;right:calc(100% + var(--spacing-sm))}.week-date-text{flex:1;font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);text-align:center;line-height:1;height:var(--btn-height-m);display:flex;align-items:center;justify-content:center;min-width:0}.nav-slide-clip{flex:1;min-width:0;height:var(--btn-height-m);overflow:hidden;display:flex;align-items:center;justify-content:center}.nav-slide-strip{width:100%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.25}.nav-slide-strip--forward{animation:nav-strip-enter-forward var(--motion-duration-md) var(--motion-ease-out-expo) both}.nav-slide-strip--backward{animation:nav-strip-enter-backward var(--motion-duration-md) var(--motion-ease-out-expo) both}.nav-slide-strip--jump{animation:nav-strip-enter-jump .34s var(--motion-ease-spring) both}.room-name-text.nav-slide-clip .nav-slide-strip{gap:var(--spacing-sm)}.week-date-text .date-divider{color:var(--color-primary);padding:0 var(--spacing-xs)}.nav-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);font-weight:var(--font-weight-bold);text-transform:uppercase;width:var(--btn-height-m);height:var(--btn-height-m);padding:0;flex-shrink:0;border-radius:var(--border-radius-lg);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);box-shadow:var(--shadow-glass-md)}.nav-btn:hover{background:#ffffff26;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.nav-btn:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.nav-btn-icon{display:flex;align-items:center;justify-content:center}.nav-btn-icon svg{width:1.5rem;height:1.5rem}.nav-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.room-name-text{display:flex;align-items:center;gap:var(--spacing-sm)}.room-name-icon{width:1.25rem;height:1.25rem;color:var(--color-primary);flex-shrink:0}.schedule-content-shell{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.schedule-main{flex:1;overflow-y:auto;overflow-x:auto;display:flex;flex-direction:column;min-height:0}@media(max-width:1024px){.schedule-main::-webkit-scrollbar{width:.375rem;height:.375rem}.schedule-main::-webkit-scrollbar-track{background:transparent}.schedule-main::-webkit-scrollbar-thumb{background:#00000026;border-radius:.1875rem;opacity:0;transition:opacity .2s ease}.schedule-main:hover::-webkit-scrollbar-thumb{opacity:1}.schedule-main::-webkit-scrollbar-thumb:hover{background:#00000040}.schedule-main{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}}@media(min-width:1025px){.schedule-main{-ms-overflow-style:none;scrollbar-width:none}.schedule-main::-webkit-scrollbar{display:none}}.schedule-grid-wrapper{display:flex;flex-direction:column;min-width:max-content;width:max-content}.schedule-header-row{display:flex;position:sticky;top:0;z-index:var(--z-sticky-header);background:#fff;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);border-left:1px solid var(--border-color);box-sizing:border-box;flex-shrink:0;min-width:100%;box-shadow:var(--shadow-sm)}.schedule-header-row[data-strip-dir=forward] .schedule-day-header{animation:schedule-day-header-strip-forward .42s var(--motion-ease-out-expo) backwards;animation-delay:calc(var(--nav-stagger, 0) * 48ms)}.schedule-header-row[data-strip-dir=backward] .schedule-day-header{animation:schedule-day-header-strip-backward .42s var(--motion-ease-out-expo) backwards;animation-delay:calc(var(--nav-stagger, 0) * 48ms)}.schedule-header-row[data-strip-dir=jump] .schedule-day-header{animation:schedule-day-header-strip-jump .36s var(--motion-ease-out-expo) backwards;animation-delay:calc(var(--nav-stagger, 0) * 42ms)}.schedule-day-header{width:var(--schedule-slot-width);height:var(--schedule-day-header-height);flex-shrink:0;padding:var(--spacing-md);border-right:1px solid var(--border-color);box-sizing:border-box;background:#fff}.schedule-day-header .day-name{display:block;font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-primary)}.schedule-day-header .day-date{display:block;font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-top:var(--spacing-xs)}.schedule-day-header{cursor:pointer;transition:background-color var(--transition-fast)}.schedule-day-header:hover{background-color:var(--bg-primary-hover)}.day-header-past{background-color:#d5dadf!important;color:#8a9299}.day-header-past .day-name,.day-header-past .day-date{color:#8a9299}.time-slot-past{background-color:#eef0f2!important;color:#a0aab0!important;cursor:not-allowed!important}.booking-block-past{pointer-events:none;box-shadow:none!important;background-color:#e1e5e8!important;cursor:not-allowed!important}.booking-block-past:hover{transform:none!important;box-shadow:none!important;background-color:#e1e5e8!important}.booking-block-past .booking-block-time-badge,.booking-block-past .booking-block-title{font-weight:var(--font-weight-medium)!important;color:#8a9299!important;text-shadow:none!important}.booking-block-past .booking-block-time-badge{background:#a0aab04d!important;color:#7a848a!important}.schedule-grid-container{position:relative;box-sizing:border-box}.schedule-grid-cells{position:absolute;top:0;left:0;z-index:1;border-left:1px solid var(--border-color);box-sizing:border-box}.schedule-grid-cell{border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);box-sizing:border-box}.schedule-blocks-overlay{position:absolute;top:0;left:0;z-index:2;pointer-events:none}.schedule-booking-block{position:absolute;border-radius:var(--border-radius-md);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.375rem .25rem;box-sizing:border-box;pointer-events:auto;box-shadow:0 4px 12px #00000026;transition:all var(--transition-fast);cursor:pointer}.schedule-booking-block:not(.schedule-booking-block-optimistic):not(.schedule-booking-block-deleting):not(.schedule-booking-block-skip-appear){animation:schedule-booking-block-appear var(--motion-duration-md) var(--motion-ease-out-expo) both}@keyframes schedule-booking-block-appear{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.schedule-booking-block-skip-appear:not(.schedule-booking-block-deleting){animation:none!important}.schedule-booking-block:hover,.schedule-booking-block--touch-focus{box-shadow:0 6px 16px #0003;transform:scale(1.02);z-index:10}.schedule-booking-block-optimistic{animation:optimistic-block-fade .3s ease-out}@keyframes optimistic-block-fade{0%{transform:scale(.9)}to{transform:scale(1)}}.schedule-booking-block-deleting{animation:deleting-block-shrink .3s ease-out}@keyframes deleting-block-shrink{0%{transform:scale(1)}to{transform:scale(.98)}}.booking-block-pending-indicator{position:absolute;top:auto;bottom:.25rem;right:.25rem;width:.75rem;height:.75rem;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffffe6;border-radius:50%;animation:spin .8s linear infinite}.booking-block-deleting-indicator{position:absolute;top:.25rem;right:.25rem;width:.875rem;height:.875rem;border:2px solid rgba(255,255,255,.3);border-top-color:#ffffffe6;border-radius:50%;animation:spin .6s linear infinite}.booking-owner-star{position:absolute;top:.25rem;left:.25rem;z-index:2;display:flex;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;flex-shrink:0}.booking-owner-icon{font-size:.5625rem!important;line-height:1!important;color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.5);transition:all var(--transition-fast);flex-shrink:0;opacity:1!important}.booking-block-time-badge{position:absolute;top:.25rem;left:.25rem;height:1.125rem;background:#00000026;border-radius:var(--border-radius-sm);overflow:hidden;white-space:nowrap;width:0;opacity:0;transform-origin:left center;transition:width .3s cubic-bezier(.25,.46,.45,.94),opacity .2s ease-out .05s,background-color .2s ease-out;display:flex;align-items:center;padding:0}.booking-block-time-badge-content{color:#fffc;font-family:var(--font-rubik);font-size:var(--font-size-xxs);font-weight:var(--font-weight-medium);padding:.125rem .5rem .125rem 1.375rem;line-height:1.2;white-space:nowrap;opacity:0;transform:translate(-.625rem);transition:opacity .2s ease-out .15s,transform .25s ease-out .1s}.booking-block-time-badge--no-star .booking-block-time-badge-content{padding:.125rem .5rem}.schedule-booking-block:hover .booking-block-time-badge,.schedule-booking-block:active .booking-block-time-badge,.schedule-booking-block--touch-focus .booking-block-time-badge{width:auto;opacity:1;background:#0000004d}.schedule-booking-block:hover .booking-block-time-badge-content,.schedule-booking-block:active .booking-block-time-badge-content,.schedule-booking-block--touch-focus .booking-block-time-badge-content{opacity:1;transform:translate(0)}.booking-block-menu-trigger{position:absolute;top:.25rem;right:.25rem;z-index:4;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:1.375rem;height:1.125rem;min-height:1.125rem;max-height:1.125rem;padding:0;margin:0;border:none;border-radius:var(--border-radius-sm);cursor:pointer;background:#00000047;color:#fffffff2;box-shadow:0 1px 5px #00000038;opacity:0;pointer-events:none;transition:opacity .2s ease,background var(--transition-fast),transform var(--transition-fast)}.booking-block-menu-trigger i{font-size:.8125rem;line-height:1;pointer-events:none}.schedule-booking-block:hover .booking-block-menu-trigger,.schedule-booking-block:focus-within .booking-block-menu-trigger,.schedule-booking-block--touch-focus .booking-block-menu-trigger{opacity:1;pointer-events:auto}.booking-block-menu-trigger:hover{background:#0006}.booking-block-menu-trigger:active{transform:scale(.94)}.schedule-booking-block:has(.booking-block-menu-trigger) .booking-block-pending-indicator,.schedule-booking-block:has(.booking-block-menu-trigger) .booking-block-deleting-indicator{right:1.45rem}.booking-block-title{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);text-align:center;padding:.125rem .25rem;line-height:1;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.time-slot{font-family:var(--font-rubik);font-size:var(--font-size-xs);color:#aaa!important;cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.time-slot-default{background:var(--bg-secondary)}.time-slot-booked{background:var(--bg-secondary);pointer-events:none}.time-slot-optimistic{animation:optimistic-fade .3s ease-out}@keyframes optimistic-fade{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.schedule-selected-overlay{position:absolute;top:0;left:0;z-index:3;pointer-events:none}.schedule-selected-block{position:absolute;background:#fffc;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:3px dashed rgba(59,130,246,.8);border-radius:var(--border-radius-md);box-sizing:border-box;display:flex;align-items:center;justify-content:center;transition:height .12s cubic-bezier(.175,.885,.32,1.275),top .12s cubic-bezier(.175,.885,.32,1.275);transform-origin:top;box-shadow:var(--shadow-glass-md)}.selected-block-time{color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-align:center;white-space:nowrap}.schedule-selection-clear-btn{position:absolute;z-index:4;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;margin:0;border:none;border-radius:var(--border-radius-sm);cursor:pointer;pointer-events:auto;background:#ef444440;color:#ef4444;box-shadow:var(--shadow-glass-xs);transition:background var(--transition-fast),transform var(--transition-fast)}.schedule-selection-clear-btn:hover{background:#ef444473;transform:scale(1.05)}.schedule-selection-clear-btn:active{background:#ef444459;transform:scale(.96)}.schedule-selection-clear-icon{width:.75rem;height:.75rem}.schedule-blocking-overlay{position:absolute;inset:0;z-index:100;cursor:pointer;background:transparent}.schedule-book-btn-wrapper{position:absolute;z-index:110;cursor:pointer;transform:translate(-50%);-webkit-user-select:none;user-select:none;background:#ffffff8c;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:var(--border-radius-md);padding:var(--spacing-xs);display:inline-flex;align-items:center;gap:0;box-shadow:var(--shadow-glass-lg),0 6px 22px #00000024;transition:all var(--transition-fast)}.schedule-book-btn-wrapper:hover{background:#ffffff80;transform:translate(-50%) scale(1.02);box-shadow:0 10px 36px #00000029,0 0 55px #ffffff38}.schedule-book-btn-wrapper:active{transform:translate(-50%) scale(.98);box-shadow:var(--shadow-glass-md),0 3px 14px #0000001f}.schedule-book-btn-main-zone{display:flex;align-items:center;justify-content:center;padding:.125rem .5rem;height:calc(var(--btn-height-s) + var(--spacing-xs));cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;color:var(--text-primary)}.schedule-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);background:#ffffffc7;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));pointer-events:auto;animation:motion-overlay-in var(--motion-duration-md) var(--motion-ease-out-expo) forwards}.schedule-loading-overlay--exit{animation:motion-overlay-out var(--motion-duration-sm) var(--motion-ease-accelerate) forwards;pointer-events:none}.schedule-loading-overlay--exit .schedule-loading-panel{animation:motion-panel-out var(--motion-duration-sm) var(--motion-ease-accelerate) forwards}.schedule-loading-panel{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-2xl);background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);animation:motion-panel-in var(--motion-duration-md) var(--motion-ease-spring) .07s both}.schedule-loading-text{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0;text-align:center}@media(prefers-reduced-motion:reduce){.page-container--app,.schedule-page,.schedule-page .schedule-header,.schedule-page .schedule-content-shell,.schedule-loading-overlay,.schedule-loading-panel,.schedule-loading-overlay--exit,.schedule-loading-overlay--exit .schedule-loading-panel{animation:none}.schedule-booking-block:not(.schedule-booking-block-optimistic):not(.schedule-booking-block-deleting){animation:none}.nav-slide-strip--forward,.nav-slide-strip--backward,.nav-slide-strip--jump,.schedule-header-row[data-strip-dir] .schedule-day-header{animation:none}}@media(max-width:768px){.schedule-title{font-size:var(--font-size-lg)}.schedule-header{padding:var(--spacing-md)}.logout-btn{padding:0;width:var(--btn-height-m);justify-content:center}.logout-email{display:none}.date-navigation-table{gap:var(--spacing-sm);min-height:4rem;padding:var(--spacing-md) var(--spacing-md)}.week-navigation{gap:var(--spacing-sm);height:var(--btn-height-s)}.week-date-text{font-size:var(--font-size-md);height:auto;min-height:var(--btn-height-s);line-height:1.4;white-space:normal}.nav-btn-reset-icon,.nav-btn{width:var(--btn-height-m);height:var(--btn-height-m)}}.booking-modal-overlay{position:fixed;inset:0;background:#0000006b;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-md);padding-top:max(var(--spacing-md),env(safe-area-inset-top,0px));padding-bottom:max(var(--spacing-md),env(safe-area-inset-bottom,0px));box-sizing:border-box;animation:booking-modal-backdrop-in var(--motion-duration-md) var(--motion-ease-out-expo) forwards}.booking-modal-overlay--exit{animation:booking-modal-backdrop-out var(--motion-duration-sm) var(--motion-ease-accelerate) forwards;pointer-events:none}.booking-modal{position:relative;width:90%;max-width:var(--modal-max-width);min-width:var(--modal-min-width);max-height:90vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;border-radius:var(--border-radius-xl);animation:booking-modal-panel-in var(--motion-duration-md) var(--motion-ease-out-expo) forwards;box-shadow:var(--shadow-2xl),0 0 0 1px #ffffff0f inset;background:#fff;border:1px solid var(--border-color)}.booking-modal::-webkit-scrollbar{display:none;width:0;height:0}.booking-modal-overlay--exit .booking-modal{animation:booking-modal-panel-out var(--motion-duration-sm) var(--motion-ease-accelerate) forwards}.booking-modal-header{display:flex;align-items:center;justify-content:flex-start;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg) var(--spacing-xl)}.booking-modal-title{display:flex;align-items:center;gap:var(--spacing-md);margin:0;font-family:var(--font-family);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.booking-modal-icon{width:32px;height:32px;object-fit:contain;flex-shrink:0}.booking-modal-body{padding:var(--spacing-md) var(--spacing-xl) var(--spacing-xl) var(--spacing-xl)}.levitating-card{margin-bottom:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-lg);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:none;box-shadow:var(--shadow-glass-sm)}.levitating-card.booking-summary{margin-bottom:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);border-radius:var(--border-radius-xl);border:1px solid var(--border-color);background:linear-gradient(168deg,#ffffffd1,#f9fafbb8 48%,#f3f4f6ad);backdrop-filter:blur(var(--blur-md)) saturate(1.05);-webkit-backdrop-filter:blur(var(--blur-md)) saturate(1.05);box-shadow:var(--shadow-xs),0 10px 28px -8px #0f172a17,0 2px 6px -2px #0f172a0a,inset 0 1px #ffffffe0;position:relative;contain:layout}.booking-summary-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid rgba(0,0,0,.06)}.booking-summary-title{font-family:var(--font-family);font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-md);letter-spacing:-.01em;margin:0;line-height:var(--line-height-tight)}.booking-copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);height:var(--btn-height-s);padding:var(--btn-padding-s);font-family:var(--font-family);font-weight:var(--font-weight-bold);text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;border-radius:var(--border-radius-md);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;box-sizing:border-box;background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-secondary);font-size:var(--font-size-sm);box-shadow:var(--shadow-glass-sm)}.booking-copy-btn:hover{background:#ffffff26;color:var(--text-primary);transform:scale(1.02);box-shadow:var(--shadow-glass-md)}.booking-copy-btn:active{transform:scale(.95);box-shadow:var(--shadow-glass-xs)}.booking-copy-btn--success{background:#10b98133;color:var(--color-success);box-shadow:var(--shadow-glass-md)}.booking-copy-btn--success:hover{background:#10b98133;color:var(--color-success);box-shadow:var(--shadow-glass-md);transform:none}.booking-copy-feedback{font-size:var(--font-size-xs);letter-spacing:.5px;animation:copyFeedbackIn .3s ease forwards}@media(max-width:48rem){.booking-copy-btn{flex-shrink:0;width:var(--btn-height-s);min-width:var(--btn-height-s);padding:0;gap:0}.booking-copy-feedback-label{display:none}}@keyframes copyFeedbackIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.booking-copy-btn i{font-size:var(--font-size-md)}.booking-summary-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.booking-summary-single-line{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.booking-summary-bold{font-family:var(--font-family);font-weight:var(--font-weight-semibold);color:var(--color-primary)}.booking-summary-item{display:flex;flex-direction:column;gap:.125rem}@media(min-width:48rem){.booking-summary-item{flex-direction:row;align-items:baseline;gap:var(--spacing-md)}.booking-summary-label{flex:0 0 auto}.booking-summary-value{flex:1 1 auto;min-width:0;text-align:right}}.booking-summary-label{font-family:var(--font-family);font-size:var(--font-size-xxs);font-weight:var(--font-weight-medium);color:var(--text-muted);text-transform:uppercase;letter-spacing:.035em;line-height:1.3}.booking-summary-value{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:var(--line-height-tight);word-break:break-word}.booking-summary-live{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.booking-summary-placeholder{color:var(--text-muted);font-style:italic}.booking-form-group{margin-bottom:var(--spacing-lg)}.booking-color-picker{display:flex;flex-wrap:nowrap;gap:var(--spacing-sm)}.booking-color-option{flex:1;height:calc(var(--btn-height-l) / 2);border-radius:var(--border-radius-lg);cursor:pointer;border:2px solid transparent;transition:all var(--transition-fast);box-shadow:0 1px 3px #0000001f}.booking-color-option:hover{transform:scale(1.02);box-shadow:0 2px 6px #0000002e}.booking-color-option.selected{border-color:#00000040;transform:scale(1.02);box-shadow:0 2px 8px #00000040}.booking-form-buttons{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.booking-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-family);font-weight:var(--font-weight-bold);text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;border-radius:var(--border-radius-lg);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;box-sizing:border-box;height:var(--btn-height-l);padding:var(--btn-padding-l);font-size:var(--font-size-md);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);box-shadow:var(--shadow-glass-md)}.booking-btn-cancel{flex:1;text-transform:uppercase;font-weight:var(--font-weight-bold);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);box-shadow:var(--shadow-glass-md)}.booking-btn-cancel:hover{background:#ffffff26;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.booking-btn-cancel:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.booking-btn-confirm{flex:1;text-transform:uppercase;font-weight:var(--font-weight-bold);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);box-shadow:var(--shadow-glass-md)}.booking-btn-confirm:hover{background:#ffffff26;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.booking-btn-confirm:active{transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.booking-btn-confirm:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;background:#6464644d}@media(max-width:768px){.booking-modal-overlay{padding-left:max(var(--spacing-md),env(safe-area-inset-left,0px));padding-right:max(var(--spacing-md),env(safe-area-inset-right,0px))}.booking-modal{width:100%;min-width:0}.booking-form-buttons{flex-direction:column-reverse;width:100%;gap:var(--spacing-sm)}.booking-btn-cancel,.booking-btn-confirm{width:100%;height:var(--btn-height-l);flex:none}}.booking-input-with-counter{display:flex;align-items:center;gap:var(--spacing-md);width:100%}.booking-input-with-counter>:first-child{flex:1}.booking-char-counter{display:flex;align-items:center;justify-content:center;flex-shrink:0;height:var(--btn-height-l);min-width:3.5rem;padding:0 var(--spacing-md);border-radius:var(--border-radius-lg);background:#ffffff40;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-glass-md);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1}.booking-char-counter--low{background:#ff9f9f4d;color:#dc2626}@media(prefers-reduced-motion:reduce){.booking-modal-overlay,.booking-modal,.booking-modal-overlay--exit,.booking-modal-overlay--exit .booking-modal{animation:none}}.confirm-modal__title{font-size:var(--font-size-xl)}.confirm-modal__message{margin:0 0 var(--spacing-xl);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-secondary);line-height:var(--line-height-relaxed)}.confirm-modal .booking-form-buttons{margin-top:0}.confirm-modal--no-message .booking-modal-body{padding-top:0}.booking-btn--danger{background:#ef44442e;color:var(--color-error);box-shadow:var(--shadow-glass-md)}.booking-btn--danger:hover{background:#ef444442;color:var(--color-error-hover);box-shadow:var(--shadow-glass-lg)}.booking-btn--danger:active{box-shadow:var(--shadow-glass-sm)}.app-header-menu{position:relative;flex-shrink:0}.app-header-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:var(--btn-height-m);height:var(--btn-height-m);padding:0;border:none;border-radius:var(--border-radius-lg);cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-primary);background:#ffffff8c;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:var(--shadow-glass-md);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.app-header-menu__trigger:hover{background:#ffffffb8;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.app-header-menu__trigger:active{background:#ffffff7a;transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.app-header-menu__trigger i{font-size:1.125rem}.feedback-modal__error{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ef44441a;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:var(--border-radius-lg);color:var(--color-error);font-size:var(--font-size-sm);font-family:var(--font-family);line-height:var(--line-height-normal);box-shadow:var(--shadow-glass-sm);margin-bottom:var(--spacing-lg)}.feedback-modal__error-icon{font-size:var(--font-size-md);flex-shrink:0}.feedback-modal__label-required{color:var(--color-error);font-weight:var(--font-weight-semibold);white-space:nowrap}.feedback-modal__textarea-shell{position:relative;width:100%;border-radius:var(--border-radius-md);box-shadow:var(--shadow-glass-sm)}.feedback-modal__textarea{display:block;width:100%;margin:0;box-sizing:border-box;resize:none;overflow-x:hidden;overflow-y:auto;font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--text-primary);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:none;border-radius:var(--border-radius-md);transition:background var(--transition-fast),box-shadow var(--transition-fast);box-shadow:none;min-height:0;--feedback-textarea-counter-h: 1.125em;padding:var(--spacing-md) var(--spacing-lg) calc(var(--spacing-sm) + var(--feedback-textarea-counter-h)) var(--spacing-lg);height:calc(var(--spacing-md) + 4 * (1em * var(--line-height-normal)) + var(--spacing-sm) + var(--feedback-textarea-counter-h))}.feedback-modal__textarea:hover{background:#ffffff40}.feedback-modal__textarea-shell:focus-within{box-shadow:0 0 0 3px #3b82f633}.feedback-modal__textarea:focus{outline:none;background:#ffffff4d}.feedback-modal__textarea::placeholder{color:var(--text-muted)}.feedback-modal__textarea:disabled{opacity:.6;cursor:not-allowed}.feedback-modal__textarea-counter{position:absolute;right:var(--spacing-md);bottom:var(--spacing-sm);font-size:var(--font-size-xs);line-height:1.2;color:var(--text-muted);font-variant-numeric:tabular-nums;pointer-events:none;user-select:none;-webkit-user-select:none}.about-modal__body{display:flex;flex-direction:column;align-items:center;text-align:center}.about-modal__body .booking-form-buttons{align-self:stretch;width:100%}.about-modal__logo{object-fit:contain;width:min(11.25rem,72vw);height:auto;max-height:10rem;margin-bottom:var(--spacing-lg)}.about-modal__studio{margin:0 0 var(--spacing-xl);font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--text-primary);letter-spacing:.04em}.about-modal__version-card{width:100%;max-width:20rem;margin-bottom:var(--spacing-md)}@keyframes auth-page-card-in{0%{opacity:0}to{opacity:1}}.auth-page{box-sizing:border-box;height:100%;max-height:100%;min-height:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--spacing-2xl);padding-top:max(2.5rem,env(safe-area-inset-top,0px));padding-bottom:max(2.5rem,env(safe-area-inset-bottom,0px));padding-left:max(1.25rem,env(safe-area-inset-left,0px));padding-right:max(1.25rem,env(safe-area-inset-right,0px));background:transparent;overflow:visible}.auth-page__container{position:relative;flex:0 0 auto;box-sizing:border-box;width:var(--modal-max-width);max-width:100%;min-width:0;max-height:min(90dvh,calc(100dvh - max(2.5rem,env(safe-area-inset-top,0px)) - max(2.5rem,env(safe-area-inset-bottom,0px)) - 6rem));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;border-radius:var(--border-radius-xl);animation:auth-page-card-in var(--motion-duration-lg) var(--motion-ease-out-expo) forwards;box-shadow:var(--shadow-2xl);background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.auth-page__container::-webkit-scrollbar{display:none;width:0;height:0}.auth-page__brand{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:stretch;gap:var(--spacing-lg);max-width:min(25rem,100%);min-width:0;padding-bottom:.5rem;animation:motion-shell-in var(--motion-duration-md) var(--motion-ease-out-expo) .1s both}.auth-page__brand-logo{display:block;flex:0 0 auto;width:auto;max-width:100%;height:auto;max-height:min(20rem,45dvh);object-fit:contain;align-self:center;filter:drop-shadow(0 12px 32px rgba(0,0,0,.35));transform:translateZ(0);-webkit-transform:translateZ(0)}.auth-page__brand-tagline{font-family:Bounded,sans-serif;font-weight:700;font-size:var(--font-size-xl);color:#fffffff2;text-align:center;text-shadow:0 2px 2px rgba(0,0,0,.3);margin:0;max-width:100%;width:100%;box-sizing:border-box;white-space:normal;letter-spacing:.02em}.auth-page__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-xl) var(--spacing-lg) var(--spacing-xl)}.auth-page__title{display:flex;align-items:center;gap:var(--spacing-md);margin:0;flex:1;min-width:0;font-family:var(--font-family);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.auth-page__icon{width:2rem;height:2rem;color:var(--color-primary);flex-shrink:0}.auth-page__icon--logo{width:1.75rem;height:1.75rem;object-fit:contain}.auth-form{padding:0 var(--spacing-xl) var(--spacing-xl) var(--spacing-xl)}.auth-form__error{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ef44441a;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:var(--border-radius-lg);color:var(--color-error);font-size:var(--font-size-sm);font-family:var(--font-family);line-height:var(--line-height-normal);animation:shake .3s ease-in-out;box-shadow:var(--shadow-glass-sm);margin-bottom:var(--spacing-lg)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-.5rem)}50%{transform:translate(.5rem)}75%{transform:translate(-.25rem)}to{transform:translate(0)}}.auth-form__error-icon{font-size:var(--font-size-md);flex-shrink:0}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.form-label{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.form-hint{font-family:var(--font-family);font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--spacing-xs)}.form-input--code{text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);letter-spacing:.25rem;text-transform:uppercase}.auth-page .input{line-height:var(--btn-height-l);-webkit-appearance:none;appearance:none;backdrop-filter:none;-webkit-backdrop-filter:none;background:#ffffffc2}.auth-page .input:hover:not(:focus){background:#ffffffd6}.auth-page .input:focus{background:#fffffff0}.btn-submit-wrapper{margin-top:var(--spacing-lg)}.btn-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-family:var(--font-family);font-weight:var(--font-weight-bold);text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;border-radius:var(--border-radius-lg);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;box-sizing:border-box;height:var(--btn-height-l);padding:var(--btn-padding-l);font-size:var(--font-size-lg);background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);color:var(--text-primary);box-shadow:var(--shadow-glass-md)}.btn-submit:hover:not(:disabled){background:#ffffff26;transform:scale(1.02);box-shadow:var(--shadow-glass-lg)}.btn-submit:active:not(:disabled){transform:scale(.95);box-shadow:var(--shadow-glass-sm)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-page .btn-submit{backdrop-filter:none;-webkit-backdrop-filter:none;background:#ffffff80}.auth-page .btn-submit:hover:not(:disabled){background:#ffffff9e}.auth-page .btn-submit:active:not(:disabled){background:#ffffff70}.btn-submit.loading{position:relative;color:transparent!important}.btn-submit.loading:after{content:"";position:absolute;width:1.5rem;height:1.5rem;border:3px solid rgba(255,255,255,.3);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-page__footer{padding:var(--spacing-lg) var(--spacing-xl);text-align:center;border-top:1px solid rgba(0,0,0,.08);background:#ffffff80;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-radius:0 0 var(--border-radius-xl) var(--border-radius-xl)}.auth-page__footer p{font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:var(--line-height-normal)}.auth-page__info{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-left:var(--spacing-xs);background:#3b82f61a;border-radius:var(--border-radius-round);color:var(--color-primary);font-size:var(--font-size-sm);cursor:help;transition:all var(--transition-fast)}.auth-page__info:hover{background:#3b82f626;transform:scale(1.1)}@media(max-width:768px){.auth-page{padding-top:max(var(--spacing-md),env(safe-area-inset-top,0px));padding-bottom:max(var(--spacing-md),env(safe-area-inset-bottom,0px));padding-left:max(var(--spacing-md),env(safe-area-inset-left,0px));padding-right:max(var(--spacing-md),env(safe-area-inset-right,0px));flex-direction:column;justify-content:center;align-items:stretch;gap:var(--spacing-2xl)}.auth-page__container{flex:0 0 auto;flex-basis:auto;width:100%;max-width:var(--modal-max-width);align-self:stretch;max-height:min(85dvh,calc(100dvh - max(var(--spacing-md),env(safe-area-inset-top,0px)) - max(var(--spacing-md),env(safe-area-inset-bottom,0px)) - 12rem));border-radius:var(--border-radius-lg);backdrop-filter:none;-webkit-backdrop-filter:none;background:#ffffffd9}.auth-page__brand{margin-bottom:0;margin-top:var(--spacing-md);align-self:center;max-width:min(21.875rem,100%);animation:motion-shell-in-down var(--motion-duration-md) var(--motion-ease-out-expo) .08s both}.auth-page__brand-logo{max-height:min(13.75rem,28dvh)}.auth-page__brand-tagline{display:none}.auth-page__header{padding:var(--spacing-md) var(--spacing-md) var(--spacing-lg) var(--spacing-md)}.auth-page__title{font-size:var(--font-size-xl)}.auth-page__icon{width:2rem;height:2rem}.auth-page__icon--logo{width:1.5rem;height:1.5rem}.auth-form{padding:0 var(--spacing-md) var(--spacing-lg) var(--spacing-md)}.form-input--code{font-size:var(--font-size-lg);letter-spacing:.125rem}.auth-page__footer{padding:var(--spacing-md) var(--spacing-md);border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg)}.auth-page .form-input--code{line-height:var(--btn-height-l)}}@media(min-width:1500px){.auth-page{gap:var(--spacing-3xl)}.auth-page__brand{max-width:min(31.25rem,100%)}.auth-page__brand-logo{max-height:min(30rem,50dvh)}.auth-page__brand-tagline{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){.auth-page__container,.auth-page__brand{animation:none}}.counter{font-size:16px;padding:5px 10px;border-radius:5px;color:var(--accent);background:var(--accent-bg);border:2px solid transparent;transition:border-color .3s;margin-bottom:24px}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{inset-inline:0;margin:0 auto}.hero .base{width:170px;position:relative;z-index:0}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;top:34px;height:28px;transform:perspective(2000px) rotate(300deg) rotateX(44deg) rotateY(39deg) scale(1.4)}.hero .vite{z-index:0;top:107px;height:26px;width:auto;transform:perspective(2000px) rotate(300deg) rotateX(40deg) rotateY(39deg) scale(.8)}#center{display:flex;flex-direction:column;gap:25px;place-content:center;place-items:center;flex-grow:1}@media(max-width:1024px){#center{padding:32px 20px 24px;gap:18px}}#next-steps{display:flex;border-top:1px solid var(--border);text-align:left}#next-steps>div{flex:1 1 0;padding:32px}@media(max-width:1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{margin-bottom:16px;width:22px;height:22px}@media(max-width:1024px){#next-steps{flex-direction:column;text-align:center}}#docs{border-right:1px solid var(--border)}@media(max-width:1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{list-style:none;padding:0;display:flex;gap:8px;margin:32px 0 0}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);font-size:16px;border-radius:6px;background:var(--social-bg);display:flex;padding:6px 12px;align-items:center;gap:8px;text-decoration:none;transition:box-shadow .3s}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{height:18px;width:18px}@media(max-width:1024px){#next-steps ul{margin-top:20px;flex-wrap:wrap;justify-content:center}#next-steps ul li{flex:1 1 calc(50% - 8px)}#next-steps ul a{width:100%;justify-content:center;box-sizing:border-box}}#spacer{height:88px;border-top:1px solid var(--border)}@media(max-width:1024px){#spacer{height:48px}}.ticks{position:relative;width:100%}.ticks:before,.ticks:after{content:"";position:absolute;top:-4.5px;border:5px solid transparent}.ticks:before{left:0;border-left-color:var(--border)}.ticks:after{right:0;border-right-color:var(--border)}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-spinner{width:2.5rem;height:2.5rem;border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:loading-spin .8s linear infinite;flex-shrink:0}.app-loading{position:fixed;inset:0;z-index:var(--z-splash);min-height:100vh;min-height:100dvh;width:100%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);padding-top:max(var(--spacing-lg),env(safe-area-inset-top,0px));padding-bottom:max(var(--spacing-lg),env(safe-area-inset-bottom,0px));padding-left:max(var(--spacing-lg),env(safe-area-inset-left,0px));padding-right:max(var(--spacing-lg),env(safe-area-inset-right,0px));box-sizing:border-box;animation:motion-overlay-in var(--motion-duration-md) var(--motion-ease-out-expo) forwards}.app-loading--exit{animation:motion-overlay-out var(--motion-duration-sm) var(--motion-ease-accelerate) forwards;pointer-events:none}.app-loading--exit .app-loading-panel{animation:motion-panel-out var(--motion-duration-sm) var(--motion-ease-accelerate) forwards}.app-loading-panel{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl) var(--spacing-3xl);background:var(--color-white);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-2xl);max-width:20rem;width:100%;animation:motion-panel-in var(--motion-duration-md) var(--motion-ease-spring) .08s both}.app-loading-text{font-family:var(--font-family);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin:0;text-align:center}@media(prefers-reduced-motion:reduce){.app-loading,.app-loading-panel,.app-loading--exit,.app-loading--exit .app-loading-panel{animation:none}}
