@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,400&display=swap");:root{--black:#08080c;--surface:#0e0e14;--warm-white:#e8e4df;--warm-gray:#9e9a94;--warm-gray-dim:#6b6861;--warm-gray-faint:#3a3835;--gold:#c4a87a;--gold-rgb:196,168,122;--teal:#6ba0a8;--teal-rgb:107,160,168;--rose:#c87882;--rose-rgb:200,120,130}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body,html{height:100%;background:var(--black);color:var(--warm-gray);font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}::selection{background:hsla(37,39%,62%,.2);color:var(--warm-white)}.agent-container{width:100%;height:100vh;height:100dvh;background:var(--black);display:flex;flex-direction:column;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation}.agent-top{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;margin-top:-4vh}.agent-header{text-align:center;margin-bottom:44px}.agent-hotel-name{font-size:13px;font-weight:400;letter-spacing:4px;color:var(--warm-gray);text-transform:uppercase;margin-bottom:12px}.agent-concierge-title{font-family:"Instrument Serif",serif;font-size:38px;font-weight:400;color:var(--gold);letter-spacing:-.3px;font-style:italic}.orb-below{flex-direction:column;margin-top:32px;min-height:72px}.orb-below,.tap-hint{display:flex;align-items:center}.tap-hint{font-size:14px;font-weight:300;letter-spacing:.5px;color:var(--warm-gray-dim);animation:fadeIn .6s ease-out;gap:10px}.tap-hint:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);animation:hintPulse 2s ease-in-out infinite}@keyframes hintPulse{0%,to{opacity:.3}50%{opacity:.8}}.orb-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:"Instrument Serif",serif;font-size:18px;font-weight:400;font-style:italic;letter-spacing:.5px;color:var(--warm-white);pointer-events:none;z-index:10;animation:fadeIn .5s ease-out,labelGlow 3s ease-in-out infinite;text-shadow:0 0 20px rgba(var(--gold-rgb),.4)}@keyframes labelGlow{0%,to{opacity:.85}50%{opacity:1;text-shadow:0 0 28px rgba(var(--gold-rgb),.6)}}.orb-label.connecting-label{font-family:DM Sans,sans-serif;font-size:12px;font-style:normal;letter-spacing:2px;text-transform:uppercase;color:var(--warm-gray);text-shadow:none;animation:fadeIn .3s ease-out,connectingPulse 1.8s ease-in-out infinite}.connecting-hint{font-family:"Instrument Serif",serif;font-size:16px;font-style:italic;color:var(--gold);animation:fadeIn .4s ease-out,connectingPulse 1.8s ease-in-out infinite}@keyframes connectingPulse{0%,to{opacity:.5}50%{opacity:1}}.tap-hint-sub{font-size:13px;font-weight:300;letter-spacing:.5px;color:var(--warm-gray-faint);animation:fadeIn .6s ease-out}.end-btn{margin-top:16px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;letter-spacing:1px;text-transform:uppercase;color:var(--warm-gray-dim);background:none;border:1px solid hsla(0,0%,100%,.08);padding:14px 36px;border-radius:100px;cursor:pointer;transition:all .3s;animation:fadeIn .4s ease-out;-webkit-tap-highlight-color:transparent;min-height:48px;touch-action:manipulation}.end-btn:hover{color:var(--warm-gray);border-color:var(--warm-gray-dim)}.end-btn:active{transform:scale(.97);background:hsla(0,0%,100%,.03)}.quick-actions{position:absolute;bottom:80px;left:0;right:0;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;z-index:1;padding:0 24px;animation:fadeIn .8s ease-out .2s both}.quick-action-pill{font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;letter-spacing:.5px;color:var(--warm-gray-dim);background:transparent;border:1px solid hsla(0,0%,100%,.05);padding:10px 24px;border-radius:100px;cursor:pointer;white-space:nowrap;transition:all .3s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;min-height:44px;display:flex;align-items:center}.quick-action-pill:hover{color:var(--warm-white);border-color:hsla(37,39%,62%,.25);background:hsla(37,39%,62%,.06)}.quick-action-pill:active{transform:scale(.97)}.amb-gold{width:600px;height:600px;top:-12%;right:-8%;background:radial-gradient(circle,rgba(var(--gold-rgb),.04) 0,transparent 60%);animation:drift1 20s ease-in-out infinite}.amb-gold,.amb-teal{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;z-index:0}.amb-teal{width:480px;height:480px;bottom:0;left:-6%;background:radial-gradient(circle,rgba(var(--teal-rgb),.03) 0,transparent 60%);animation:drift2 26s ease-in-out infinite}@keyframes drift1{0%,to{transform:translate(0)}50%{transform:translate(-30px,20px)}}@keyframes drift2{0%,to{transform:translate(0)}50%{transform:translate(20px,-25px)}}.orb-wrap{position:relative;width:200px;height:200px;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.orb-glow{position:absolute;inset:-60px;border-radius:50%;background:radial-gradient(circle,rgba(var(--gold-rgb),.12) 0,rgba(var(--gold-rgb),.05) 40%,transparent 65%);transition:all 1s cubic-bezier(.4,0,.2,1)}.orb-wrap.active .orb-glow{inset:-75px;background:radial-gradient(circle,rgba(var(--gold-rgb),.12) 0,rgba(var(--gold-rgb),.04) 40%,transparent 65%)}.orb-wrap.speaking .orb-glow{animation:glowPulse 2.5s ease-in-out infinite}@keyframes glowPulse{0%,to{opacity:1}50%{opacity:.7;transform:scale(1.08)}}.orb-ring{position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(var(--gold-rgb),.06);transition:all .8s cubic-bezier(.4,0,.2,1)}.orb-wrap.active .orb-ring{border-color:rgba(var(--gold-rgb),.1);inset:-22px}.orb-wrap.speaking .orb-ring{animation:ringExpand 2.8s ease-in-out infinite}@keyframes ringExpand{0%,to{inset:-22px;border-color:rgba(var(--gold-rgb),.1)}50%{inset:-30px;border-color:rgba(var(--gold-rgb),.04)}}.orb-ring2{position:absolute;inset:-4px;border-radius:50%;border:1px solid transparent;transition:all .6s cubic-bezier(.4,0,.2,1) .05s}.orb-wrap.active .orb-ring2{border-color:rgba(var(--gold-rgb),.12);inset:-8px}.orb-wrap.speaking .orb-ring2{animation:ring2Expand 2.8s ease-in-out .3s infinite}@keyframes ring2Expand{0%,to{inset:-8px;border-color:rgba(var(--gold-rgb),.12)}50%{inset:-14px;border-color:rgba(var(--gold-rgb),.05)}}.orb-glass{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse 75% 65% at 40% 38%,rgba(var(--gold-rgb),.38) 0,rgba(var(--gold-rgb),.2) 35%,hsla(36,5%,60%,.08) 60%,rgba(var(--teal-rgb),.05) 80%,rgba(14,14,20,.45) 100%);border:1px solid rgba(var(--gold-rgb),.25);box-shadow:inset 0 1px 3px hsla(33,16%,89%,.1),0 0 60px rgba(var(--gold-rgb),.1),0 0 120px rgba(var(--gold-rgb),.04);transition:all .8s cubic-bezier(.4,0,.2,1);animation:breathe 5s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012)}}.orb-wrap.active .orb-glass{background:radial-gradient(ellipse 75% 65% at 40% 38%,rgba(var(--gold-rgb),.38) 0,rgba(var(--gold-rgb),.18) 35%,hsla(36,5%,60%,.08) 60%,rgba(var(--teal-rgb),.05) 80%,rgba(14,14,20,.5) 100%);border-color:rgba(var(--gold-rgb),.25);box-shadow:inset 0 1px 2px hsla(33,16%,89%,.08),0 0 80px rgba(var(--gold-rgb),.09);animation:none}.orb-wrap.listening .orb-glass{animation:listenPulse 1.6s ease-in-out infinite}@keyframes listenPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.orb-wrap.speaking .orb-glass{animation:speakPulse 2.2s ease-in-out infinite}@keyframes speakPulse{0%,to{transform:scale(1)}30%{transform:scale(1.045)}60%{transform:scale(.975)}}.orb-specular{position:absolute;top:12%;left:20%;width:42%;height:34%;border-radius:50%;background:radial-gradient(ellipse at 50% 50%,hsla(33,16%,89%,.18) 0,transparent 70%);pointer-events:none}.orb-wrap.active .orb-specular{background:radial-gradient(ellipse at 50% 50%,hsla(33,16%,89%,.16) 0,transparent 70%)}.orb-shimmer{position:absolute;inset:2px;border-radius:50%;background:conic-gradient(from 0deg at 50% 50%,rgba(var(--gold-rgb),0) 0,rgba(var(--gold-rgb),.06) 15%,rgba(var(--teal-rgb),.03) 30%,rgba(var(--gold-rgb),0) 45%,rgba(var(--rose-rgb),.025) 60%,rgba(var(--gold-rgb),0) 75%,rgba(var(--teal-rgb),.04) 90%,rgba(var(--gold-rgb),0) 100%);animation:shimmerSpin 10s linear infinite;opacity:0;transition:opacity .8s}.orb-wrap.active .orb-shimmer{opacity:1}@keyframes shimmerSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.wave-bars{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:5px;opacity:0;transition:opacity .5s;pointer-events:none}.orb-wrap.active .wave-bars{opacity:1}.wave-bar{width:3px;border-radius:3px;background:rgba(var(--gold-rgb),.5);transition:height .1s ease}.state-label{font-size:13px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--warm-gray);opacity:0;transform:translateY(4px);transition:all .4s ease-out}.state-label.visible{opacity:1;transform:translateY(0)}.toast{position:fixed;top:max(20px,env(safe-area-inset-top));left:50%;transform:translateX(-50%) translateY(-10px);font-family:DM Sans,sans-serif;font-size:13px;color:var(--warm-white);background:rgba(var(--rose-rgb),.15);border:1px solid rgba(var(--rose-rgb),.2);padding:10px 20px;border-radius:100px;opacity:0;transition:all .4s ease-out;pointer-events:none;z-index:100;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.mic-prompt{position:fixed;inset:0;background:rgba(8,8,12,.9);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:200;animation:fadeIn .3s ease-out;padding:32px}.mic-prompt-content{text-align:center;max-width:320px}.mic-prompt h2{font-family:"Instrument Serif",serif;font-size:32px;font-weight:400;color:var(--gold);font-style:italic;margin-bottom:16px}.mic-prompt p{font-size:16px;color:var(--warm-gray);line-height:1.8;margin-bottom:32px;padding:0 8px}.mic-prompt button{font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;color:var(--black);background:var(--gold);border:none;padding:14px 32px;border-radius:100px;cursor:pointer;letter-spacing:.3px;transition:all .3s;-webkit-tap-highlight-color:transparent}.mic-prompt button:hover{background:var(--warm-white);transform:translateY(-1px)}.mic-prompt button:active{transform:scale(.97)}.powered-by{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-family:DM Sans,sans-serif;font-size:11px;font-weight:300;letter-spacing:.5px;color:var(--warm-gray-faint);text-decoration:none;z-index:1;display:flex;align-items:center;gap:6px;transition:color .3s ease;white-space:nowrap}.powered-by-name,.powered-by:hover{color:var(--warm-gray-dim)}.powered-by-name{font-weight:400;transition:color .3s ease}.powered-by:hover .powered-by-name{color:var(--gold)}.powered-by-beta{font-size:9px;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:var(--teal);background:rgba(var(--teal-rgb),.1);border:1px solid rgba(var(--teal-rgb),.15);padding:2px 6px;border-radius:4px;line-height:1}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-height:667px){.agent-header{margin-bottom:28px}.agent-concierge-title{font-size:30px}.orb-wrap{width:160px;height:160px}.orb-below{margin-top:24px}.agent-top{margin-top:-2vh}.quick-action-pill{font-size:13px;padding:8px 18px;min-height:40px}.quick-actions{bottom:64px}.orb-label{font-size:15px}}@media (min-width:768px){.agent-hotel-name{font-size:16px;letter-spacing:5px;margin-bottom:16px}.agent-concierge-title{font-size:52px}.orb-wrap{width:260px;height:260px}.orb-below{margin-top:40px}.tap-hint{font-size:17px;gap:12px}.tap-hint:before{width:6px;height:6px}.state-label{font-size:16px;letter-spacing:3px}.orb-label{font-size:22px}.end-btn,.tap-hint-sub{font-size:15px}.end-btn{padding:14px 40px;margin-top:20px;min-height:52px}.quick-actions{gap:16px;bottom:88px}.quick-action-pill{font-size:16px;padding:12px 28px}.toast{font-size:15px;padding:12px 24px}.mic-prompt-content{max-width:420px}.mic-prompt h2{font-size:42px;margin-bottom:20px}.mic-prompt p{font-size:18px;margin-bottom:40px}.mic-prompt button{font-size:16px;padding:16px 40px}.powered-by{font-size:13px;gap:8px;bottom:20px}.powered-by-beta{font-size:10px;padding:3px 8px}.wave-bar{width:4px}.wave-bars{gap:7px}}