:root{color:#fef5dd;background:#000;font-family:Roboto,system-ui,-apple-system,sans-serif}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:#000}.page{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(circle at center,#281405,#140a0f 40%,#05050a,#000);overflow:hidden}.demo-link{position:absolute;top:32px;right:40px;font-size:16px;font-weight:400;color:#fef5dd99;text-decoration:none;letter-spacing:.03em;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:100;background:transparent;padding:8px 16px;border-radius:24px;text-shadow:0 0 20px rgba(254,198,0,.1)}.demo-link:hover{color:#fef5ddf2;text-shadow:0 0 30px rgba(254,198,0,.3);background:#fec6000d;transform:translate(-2px)}.restaurant-layout{width:100%;max-width:1600px;display:flex;flex-direction:row;gap:40px;padding:40px;min-height:100vh}.restaurant-left{flex:1;display:flex;flex-direction:column;gap:32px;align-items:center}.restaurant-visual{width:100%;max-width:320px;display:flex;justify-content:center}.restaurant-visual .shader-canvas{width:280px;height:280px}.restaurant-chat{width:100%;max-width:520px}.chat-container{width:100%;display:flex;flex-direction:column;gap:20px}.chat-messages{min-height:300px;max-height:400px;overflow-y:auto;padding:16px 8px;display:flex;flex-direction:column;gap:16px}.chat-message{display:flex;animation:messageSlideIn .3s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.user-message{justify-content:flex-end}.assistant-message{justify-content:flex-start}.message-content{max-width:80%;padding:12px 16px;border-radius:16px;font-size:15px;font-weight:300;line-height:1.5;word-wrap:break-word}.user-message .message-content{background:#fec6001f;color:#fef5ddf2;border-bottom-right-radius:4px;text-align:right}.assistant-message .message-content{background:#fec6000a;color:#fef5ddd9;border-bottom-left-radius:4px;border:.5px solid rgba(254,198,0,.08);transition:all .15s ease-out}.assistant-message.streaming .message-content{animation:smoothGlow 1.5s ease-in-out infinite;background:#fec6000f;border-color:#fec6001f}@keyframes smoothGlow{0%,to{box-shadow:0 0 15px #fec60014,inset 0 0 10px #fec60008}50%{box-shadow:0 0 25px #fec60026,inset 0 0 15px #fec6000d}}.chat-input-wrapper{position:relative}.chat-input{width:100%;padding:16px 24px;font-size:16px;font-family:Roboto,system-ui,sans-serif;font-weight:300;color:#fef5ddf2;background:#fec60002;border:.5px solid rgba(254,198,0,.08);border-radius:48px;outline:none;transition:all .5s cubic-bezier(.4,0,.2,1);letter-spacing:.03em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 30px #fec6000a,inset 0 0 40px #fec60004}.chat-input::placeholder{color:#fef5dd40;font-weight:300}.chat-input:focus{border-color:#fec60026;background:#fec60004;box-shadow:0 0 50px #fec60014,inset 0 0 60px #fec60006,0 0 0 2px #fec6000a;transform:scale(1.01)}.restaurant-right{flex:1;display:flex;flex-direction:column;gap:40px}.booking-controls{display:flex;flex-direction:column;gap:16px}.service-selector{display:flex;gap:8px;padding:4px;background:#fec60001;border:.5px solid rgba(254,198,0,.08);border-radius:48px;width:fit-content}.service-tab{padding:12px 24px;font-size:16px;font-weight:300;font-family:Roboto,system-ui,sans-serif;color:#fef5dd99;background:transparent;border:none;border-radius:48px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);letter-spacing:.02em}.service-tab:hover{color:#fef5ddd9;background:#fec60005}.service-tab.active{color:#fef5ddf2;background:#fec60014;box-shadow:0 0 20px #fec6001a}.day-selector{display:flex;gap:8px;flex-wrap:wrap}.day-tab{padding:10px 16px;font-size:14px;font-weight:300;font-family:Roboto,system-ui,sans-serif;color:#fef5dd99;background:#fec60001;border:.5px solid rgba(254,198,0,.08);border-radius:24px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);letter-spacing:.02em}.day-tab:hover{color:#fef5ddd9;background:#fec60005;border-color:#fec6001f}.day-tab.active{color:#fef5ddf2;background:#fec6000f;border-color:#fec60026;box-shadow:0 0 20px #fec60014}.bookings-section{width:100%;display:flex;flex-direction:column;gap:20px}.section-title{font-size:20px;font-weight:300;color:#fef5ddd9;margin:0;letter-spacing:-.01em;text-shadow:0 0 30px rgba(254,198,0,.15);background:linear-gradient(135deg,#fef5ddeb,#fec600a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.available-times{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.time-slot{padding:16px;text-align:center;font-size:16px;font-weight:300;color:#fef5ddd9;background:#fec60003;border:.5px solid rgba(254,198,0,.12);border-radius:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1)}.time-slot:hover{background:#fec6000d;border-color:#fec60033;transform:scale(1.02);box-shadow:0 0 30px #fec6001a}.bookings-list{display:flex;flex-direction:column;gap:12px}.booking-card{padding:20px;background:#fec60003;border:.5px solid rgba(254,198,0,.1);border-radius:16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:12px;transition:all .4s cubic-bezier(.4,0,.2,1)}.booking-card:hover{background:#fec60005;border-color:#fec60026;transform:translateY(-2px);box-shadow:0 4px 20px #fec60014;cursor:pointer}.booking-card.expanded{background:#fec60006;border-color:#fec6002e;box-shadow:0 6px 30px #fec6001f}.booking-header{display:flex;justify-content:space-between;align-items:center}.booking-name{font-size:18px;font-weight:400;color:#fef5dde6}.booking-time{font-size:16px;font-weight:300;color:#fec600cc}.booking-details{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#fef5dd99}.booking-guests{font-weight:300}.booking-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:400;background:#fec6001a;color:#fec600e6}.booking-expanded{margin-top:16px;padding-top:16px;border-top:.5px solid rgba(254,198,0,.1);display:flex;flex-direction:column;gap:10px;animation:expandIn .3s ease-out}@keyframes expandIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.booking-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;font-size:14px}.info-label{color:#fef5dd80;font-weight:400;min-width:80px;flex-shrink:0}.info-value{color:#fef5ddd9;font-weight:300;text-align:right;word-break:break-word}.no-data{color:#fef5dd4d;font-size:14px;font-weight:300;text-align:center;margin:20px 0;font-style:italic}@media(max-width:968px){.restaurant-layout{flex-direction:column;gap:60px;padding:32px}.restaurant-left,.restaurant-right{width:100%}.available-times{grid-template-columns:repeat(2,1fr)}}.shader-canvas{width:min(420px,80vw);height:min(420px,80vw);display:block;border-radius:50%;background:transparent}@media(max-width:640px){.shader-canvas{width:280px;height:280px}}.screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:opacity .8s ease-in-out,transform .8s ease-in-out}.screen.hidden{opacity:0;pointer-events:none;transform:scale(.95)}.screen.active{opacity:1;pointer-events:auto;transform:scale(1)}.screen.transitioning{opacity:0;transform:scale(1.05)}.screen.entering{animation:enterScreen .8s ease-out forwards}@keyframes enterScreen{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.landing-layout{width:100%;max-width:1400px;display:flex;flex-direction:row;align-items:center;gap:80px;padding:40px}.landing-left{flex:1;display:flex;align-items:flex-start;justify-content:center}.landing-right{flex:1;display:flex;align-items:center;justify-content:center}.phone-input-container{width:100%;max-width:520px;display:flex;flex-direction:column;gap:40px}.phone-input-error{font-size:14px;font-weight:400;color:#ff6464e6;margin:-24px 0 0;text-align:center;animation:errorFadeIn .4s ease-out;text-shadow:0 0 20px rgba(255,100,100,.3)}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.phone-input-message{font-size:36px;font-weight:300;line-height:1.5;color:#fef5ddd9;margin:0;letter-spacing:-.01em;text-shadow:0 0 40px rgba(254,198,0,.15);background:linear-gradient(135deg,#fef5ddeb,#fec600a6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1);opacity:1;transform:translateY(0);max-width:100%}.phone-input-message.transitioning{opacity:0;transform:translateY(-5px)}.phone-input-wrapper{width:100%;position:relative;animation:fadeIn .6s ease-in-out;opacity:1;transform:translateY(0);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.phone-input-wrapper:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50px;background:radial-gradient(circle at center,rgba(254,198,0,.08) 0%,rgba(254,198,0,.03) 50%,transparent 100%);opacity:.6;animation:ambientPulse 4s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes ambientPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}.phone-input-wrapper.fade-out{opacity:0;transform:translateY(-5px);pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.phone-input-wrapper:after{content:"→";position:absolute;right:24px;top:50%;transform:translateY(-50%) translate(-6px);font-size:24px;font-weight:200;color:#fec60040;pointer-events:none;transition:all .5s cubic-bezier(.4,0,.2,1);text-shadow:0 0 20px rgba(254,198,0,.2);opacity:0;animation:slideInArrow .6s ease-out .3s forwards}@keyframes slideInArrow{0%{opacity:0;transform:translateY(-50%) translate(-10px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@keyframes arrowPulse{0%,to{color:#fec60080;text-shadow:0 0 30px rgba(254,198,0,.3)}50%{color:#fec600b3;text-shadow:0 0 40px rgba(254,198,0,.5)}}.phone-input-wrapper:has(.phone-input-field:focus):after{color:#fec60080;transform:translateY(-50%) translate(4px);text-shadow:0 0 30px rgba(254,198,0,.3)}.phone-input-wrapper:has(.phone-input-field:not(:placeholder-shown)):after{animation:arrowPulse 2s ease-in-out infinite}.phone-input-wrapper:hover:after{color:#fec60073;text-shadow:0 0 35px rgba(254,198,0,.35)}.phone-input-field{width:100%;padding:20px 60px 20px 24px;font-size:18px;font-family:Roboto,system-ui,sans-serif;font-weight:300;color:#fef5ddf2;background:#fec60002;border:.5px solid rgba(254,198,0,.08);border-radius:48px;outline:none;transition:all .5s cubic-bezier(.4,0,.2,1);text-align:center;letter-spacing:.06em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 40px #fec6000a,inset 0 0 60px #fec60004,inset 0 1px 1px #ffffff08;filter:drop-shadow(0 0 20px rgba(254,198,0,.15));position:relative}.phone-input-field:not(:placeholder-shown){background:#fec60003;border-color:#fec6001f;box-shadow:0 0 50px #fec60014,inset 0 0 70px #fec60005,inset 0 1px 1px #ffffff0a}.phone-input-field::placeholder{color:#fef5dd40;font-weight:300;letter-spacing:.06em;font-family:Roboto,system-ui,sans-serif}.phone-input-field:focus{border-color:#fec6002e;background:#fec60005;box-shadow:0 0 70px #fec6001f,inset 0 0 90px #fec60008,inset 0 1px 2px #ffffff0f,0 0 0 3px #fec6000d;transform:scale(1.015)}.phone-input-field:hover:not(:focus):not(:disabled){border-color:#fec60021;background:#fec60003;box-shadow:0 0 55px #fec60012,inset 0 0 65px #fec60006,inset 0 1px 1px #ffffff0b;transform:scale(1.005)}.phone-input-field:disabled{cursor:not-allowed;opacity:.7}.phone-input-wrapper:has(.phone-input-field:disabled):before{animation:loadingPulse 1.5s ease-in-out infinite}@keyframes loadingPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}@media(max-width:968px){.landing-layout{flex-direction:column;gap:60px;padding:32px}.landing-left,.landing-right{width:100%}.phone-input-message{font-size:32px}}@media(max-width:640px){.landing-layout{gap:40px;padding:24px}.phone-input-container{max-width:340px;gap:32px}.phone-input-message{font-size:24px}.phone-input-field{font-size:16px;padding:16px 50px 16px 20px}.phone-input-wrapper:after{right:20px;font-size:20px}.demo-link{top:20px;right:20px;font-size:14px;padding:6px 12px}}.cancel-booking-btn{width:100%;margin-top:12px;padding:12px 24px;font-size:14px;font-weight:400;font-family:Roboto,system-ui,sans-serif;color:#ff6464e6;background:#ff64640d;border:.5px solid rgba(255,100,100,.2);border-radius:12px;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);letter-spacing:.02em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.cancel-booking-btn:hover:not(:disabled){background:#ff64641a;border-color:#ff64644d;color:#ff6464;box-shadow:0 0 20px #ff646426;transform:translateY(-1px)}.cancel-booking-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 0 10px #ff64641a}.cancel-booking-btn:disabled{opacity:.5;cursor:not-allowed;animation:cancellingPulse 1.5s ease-in-out infinite}@keyframes cancellingPulse{0%,to{opacity:.4}50%{opacity:.6}}
