:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f4e5d7;font-synthesis:none;text-rendering:optimizelegibility;font-smooth:never;--ink:#0b0d16;--panel:#141625;--muted:#9d9aaf;--pink:#f16ac0;--cyan:#70e6d5;--gold:#f5c379;background:#0b0d16;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 50% 0,#252039 0,#0b0d16 55%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}.app{max-width:1440px;margin:auto;padding:0 36px}.topbar{border-bottom:1px solid #ffffff13;justify-content:space-between;align-items:center;height:76px;display:flex}.brand{color:#f9f1e8;letter-spacing:.23em;align-items:center;gap:12px;font-size:13px;font-weight:800;text-decoration:none;display:flex}.brand-mark{color:var(--pink);text-shadow:0 0 16px #ec5eae;font-size:23px}.top-actions{align-items:center;gap:22px;display:flex}.open-status{letter-spacing:.15em;color:#aaa7b9;font-size:10px}.open-status i,.person-label i{background:#73e7c2;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 12px #73e7c2}.language{color:#eee;cursor:pointer;letter-spacing:.1em;background:0 0;border:1px solid #ffffff28;border-radius:4px;padding:8px 12px;font-size:11px}.language:hover,.language:focus-visible{border-color:var(--pink);outline:none}.welcome{padding:28px 0 48px}.welcome-scene{background:#121629;border:1px solid #7e4a7a88;height:min(67vh,660px);min-height:480px;position:relative;overflow:hidden;box-shadow:0 28px 80px #0008}.bar-art{width:100%;height:100%;image-rendering:pixelated;display:block}.welcome-scene>.bar-art{position:absolute;inset:0}.welcome-copy{z-index:2;text-shadow:0 2px 20px #101321;max-width:550px;position:absolute;top:30%;left:8%}.eyebrow{letter-spacing:.2em;color:var(--cyan);font-size:10px;font-weight:700}h1{letter-spacing:-.045em;max-width:620px;margin:20px 0 14px;font-size:clamp(36px,5vw,68px);line-height:1.03}.welcome-copy p{color:#cbc4d2;margin:0 0 28px;font-size:16px}.enter{background:var(--pink);color:#1c1020;cursor:pointer;border:0;border-radius:3px;padding:14px 20px;font-weight:800;box-shadow:0 8px 28px #ed5eac55}.enter:hover{background:#ff9bd8;transform:translateY(-1px)}.enter:focus-visible{outline-offset:3px;outline:3px solid #fff}.welcome-silhouette{z-index:1;filter:drop-shadow(0 0 32px #e05cba66);width:200px;height:240px;position:absolute;bottom:4%;right:12%}.welcome-silhouette .bartender{width:100%;height:100%}.scene{background:#141627;border:1px solid #6b457c88;height:min(62vh,620px);min-height:420px;margin-top:22px;position:relative;overflow:hidden;box-shadow:0 26px 90px #0009}.scene>.bar-art{position:absolute;inset:0}.scene-vignette{pointer-events:none;background:linear-gradient(90deg,#0b0d16aa,#0000 55%),linear-gradient(#0000 65%,#0b0d16bb);position:absolute;inset:0}.neon-sign{letter-spacing:.2em;color:#ffa0d9;text-shadow:0 0 4px #fff,0 0 14px #fa4cae,0 0 40px #e52fa8;font-size:clamp(16px,2vw,28px);font-weight:900;line-height:1.05;position:absolute;top:14%;left:6%;transform:rotate(-3deg)}.bartender-wrap{filter:drop-shadow(0 0 24px #f05db144);flex-direction:column;justify-content:flex-end;align-items:center;width:clamp(170px,24vw,300px);height:65%;display:flex;position:absolute;bottom:8%;left:51%}.bartender{width:100%;height:100%;image-rendering:pixelated;transform-origin:50% 85%;overflow:visible}.person-label{z-index:2;letter-spacing:.13em;color:#f8dcef;background:#121522dd;border:1px solid #ef80cb66;align-self:flex-end;margin:0 2% -10px 0;padding:8px 10px;font-size:9px}.person-label i{width:6px;height:6px;margin:0 0 0 8px}.counter-glow{background:#f362bc;height:3px;position:absolute;bottom:12%;left:0;right:0;box-shadow:0 0 18px #f362bc,0 14px 55px #f362bc99}.scene-caption{color:#d4cad8;letter-spacing:.16em;justify-content:space-between;font-size:9px;display:flex;position:absolute;bottom:4%;left:4%;right:4%}.scene-caption b{font-weight:500}.lower-grid{grid-template-columns:1.2fr 1fr .9fr;gap:14px;margin:16px 0;display:grid}.panel{background:linear-gradient(145deg,#191b2c,#121421);border:1px solid #ffffff17;min-height:176px;padding:17px 18px;box-shadow:0 14px 35px #0003}.panel-title{align-items:center;gap:11px;display:flex}.panel-icon{color:var(--pink);font-size:19px}.panel h2{letter-spacing:.015em;margin:0 0 5px;font-size:13px}.panel small{color:var(--muted);font-size:10px}.conversation-empty{margin-top:14px}.bubble{color:#ded3df;border-left:2px solid var(--pink);background:#292438;width:fit-content;max-width:100%;margin-bottom:10px;padding:9px 11px;font-size:11px}.input-row{gap:7px;display:flex}.input-row input{color:#c1bdca;background:#0e101a;border:1px solid #ffffff17;flex:1;min-width:0;padding:9px 10px;font-size:10px}.input-row button,.jukebox-screen button{color:#666;cursor:not-allowed;background:#201d30;border:1px solid #fff2;width:32px}.jukebox-screen{color:#aba5b7;letter-spacing:.08em;background:radial-gradient(at 50% 0,#32253f,#11131e);border:1px solid #343047;justify-content:center;align-items:center;gap:14px;height:96px;margin-top:13px;font-size:10px;display:flex}.jukebox-screen button{border-radius:50%;height:30px;margin-left:5px}.equalizer{align-items:center;gap:3px;height:20px;display:flex}.equalizer i{background:#8b548d;width:3px;height:8px;display:block}.equalizer i:nth-child(2n){background:#59aaac;height:15px}.equalizer i:nth-child(3n){height:5px}.drink-placeholder{color:#9994a8;align-items:center;gap:12px;height:90px;font-size:10px;display:flex}.drink-placeholder>span{color:#e8a4d4;background:#271e32;border:1px solid #d68cb655;place-items:center;width:48px;height:58px;font-size:20px;display:grid}.motion-console{background:#121421;border:1px solid #ffffff16;justify-content:space-between;align-items:center;gap:24px;margin:14px 0;padding:16px 18px;display:flex}.motion-console p{color:var(--muted);margin:6px 0 0;font-size:10px}.state-buttons{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.state-buttons button{color:#c5becd;cursor:pointer;background:#1c1d2b;border:1px solid #fff2;border-radius:2px;padding:7px 9px;font-size:10px}.state-buttons button:hover,.state-buttons button:focus-visible{border-color:var(--cyan);outline:none}.state-buttons button.active{color:#111523;background:var(--cyan);border-color:var(--cyan)}footer{color:#777486;letter-spacing:.12em;justify-content:space-between;align-items:center;height:52px;font-size:9px;display:flex}.rain{animation:1.6s linear infinite rain-drift}.lamp{animation:4s step-end infinite neon-flicker}.bartender.idle{animation:3.3s ease-in-out infinite idle}.eyes{transform-box:fill-box;transform-origin:50%}.bartender.idle .eyes{animation:4s step-end infinite blink}.bartender.greet{animation:.75s ease-in-out 2 greet}.bartender.listen{animation:1.1s ease-in-out infinite listen}.bartender.thinking{animation:1s ease-in-out infinite think}.bartender.happy{animation:.55s ease-in-out 3 happy}.bartender.error{animation:.18s steps(2,end) 6 error}.prop{opacity:0}.bartender.shake .shaker,.bartender.stir .spoon,.bartender.serve .glass,.bartender.pour .bottle{opacity:1}.bartender.shake .shaker{transform-origin:132px 110px;animation:.22s linear infinite prop-shake}.bartender.stir .spoon{transform-origin:115px 130px;animation:.5s linear infinite prop-stir}.bartender.pour .bottle{transform-origin:134px 124px;animation:.65s ease-in-out infinite prop-pour}.bartender.serve .glass{animation:.55s ease-out infinite prop-serve}.spark{opacity:0}.bartender.happy .spark,.bartender.serve .spark{animation:.55s ease-out infinite spark}@keyframes idle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes blink{0%,47%,53%,to{transform:scaleY(1)}50%{transform:scaleY(.08)}}@keyframes greet{0%,to{transform:rotate(0)}35%{transform:rotate(-6deg)translateY(-4px)}70%{transform:rotate(5deg)}}@keyframes listen{0%,to{transform:rotate(0)}50%{transform:rotate(-3deg)translate(-3px)}}@keyframes think{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)rotate(2deg)}}@keyframes happy{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.025)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-7px)rotate(-3deg)}75%{transform:translate(7px)rotate(3deg)}}@keyframes stir{0%,to{transform:rotate(0)}50%{transform:rotate(3deg)}}@keyframes pour{0%,to{transform:rotate(0)}50%{transform:rotate(-5deg)translateY(-4px)}}@keyframes serve{0%,to{transform:translateY(0)}45%{transform:translateY(-6px)translate(4px)}}@keyframes error{0%,to{filter:none}50%{filter:brightness(1.7)hue-rotate(25deg);transform:translate(3px)}}@keyframes prop-shake{50%{transform:rotate(20deg)}}@keyframes prop-stir{50%{transform:rotate(40deg)}}@keyframes prop-pour{50%{transform:rotate(65deg)translate(-7px,3px)}}@keyframes prop-serve{50%{transform:translate(8px,-8px)}}@keyframes spark{0%{opacity:0;transform:scale(.2)}50%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(.2)}}@keyframes rain-drift{to{transform:translateY(12px)}}@keyframes neon-flicker{0%,92%,96%,to{opacity:1}94%{opacity:.68}}@media (width<=800px){.app{padding:0 18px}.lower-grid{grid-template-columns:1fr 1fr}.drink-card{grid-column:1/-1;min-height:120px}.motion-console{flex-direction:column;align-items:flex-start;gap:14px}.state-buttons{justify-content:flex-start}.welcome-copy{max-width:65%;top:25%;left:7%}.welcome-silhouette{width:160px;right:4%}.scene{height:56vh;min-height:380px}.bartender-wrap{width:36vw;left:45%}.neon-sign{top:12%;left:5%}}@media (width<=500px){.app{padding:0 12px;overflow-x:hidden}.open-status{font-size:0}.topbar{height:60px}.open-status{letter-spacing:0;font-size:0}.top-actions{gap:10px}.welcome{padding:16px 0 26px}.welcome-scene{height:70vh;min-height:500px}.welcome-scene .lamp{display:none}.welcome-copy{width:270px;max-width:calc(100% - 36px);top:18%;left:7%;right:auto}.welcome-copy h1{overflow-wrap:break-word;max-width:100%;font-size:34px}.welcome-copy p{font-size:13px}.welcome-silhouette{width:125px;height:160px;bottom:5%;right:2%}.scene{height:54vh;min-height:390px;margin-top:14px}.scene>.bar-art{width:170%;max-width:none;transform:translate(-21%)}.scene-vignette{background:linear-gradient(90deg,#0b0d16aa,#0000),linear-gradient(#0000 50%,#0b0d16cc)}.neon-sign{font-size:16px;top:12%;left:6%}.bartender-wrap{width:48%;height:64%;bottom:9%;left:auto;right:9%}.scene-caption{font-size:8px}.lower-grid{grid-template-columns:1fr;gap:9px;margin-top:10px}.panel{min-height:142px;padding:14px}.drink-card{grid-column:auto;min-height:120px}.motion-console{padding:14px}.state-buttons{gap:5px}.state-buttons button{padding:8px 9px;font-size:10px}footer{letter-spacing:.07em;font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.recipe-browser{background:linear-gradient(145deg,#191b2c,#121421);border:1px solid #ffffff17;margin:22px 0;padding:22px;position:relative}.recipe-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.recipe-heading h2{margin:8px 0;font-size:clamp(22px,3vw,32px)}.recipe-heading p{color:var(--muted);margin:0;font-size:12px}.recipe-count{color:var(--cyan);white-space:nowrap;font-size:11px}.recipe-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0 14px;display:grid}.recipe-filters label{color:#c8c2d0;gap:6px;font-size:10px;display:grid}.recipe-filters input,.recipe-filters select{color:#f4e5d7;background:#0e101a;border:1px solid #fff2;border-radius:2px;width:100%;min-width:0;padding:10px;font-size:12px}.recipe-filters input:focus,.recipe-filters select:focus{outline:1px solid var(--cyan);border-color:var(--cyan)}.recipe-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.recipe-result{text-align:left;color:#aaa6b5;cursor:pointer;background:#10121e;border:1px solid #ffffff18;gap:9px;min-width:0;padding:13px;font-size:10px;display:grid}.recipe-result:hover,.recipe-result:focus-visible{border-color:var(--pink);outline:none}.recipe-result-top,.recipe-result-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.recipe-result-top b{color:#f4e5d7;font-size:14px}.recipe-result-top i{color:var(--cyan);text-align:right;font-size:9px;font-style:normal}.recipe-result-bottom{color:#d5c6d5}.recipe-result-bottom b{color:var(--pink)}.recipe-empty,.recipe-error{color:var(--muted);padding:12px 0;font-size:12px}.recipe-error{color:#ff9eaa}.recipe-detail{z-index:8;color:#ded8e1;background:#171827;border:1px solid #ed70c477;width:min(500px,100vw - 32px);max-height:85vh;padding:22px;position:fixed;top:50%;right:20px;overflow:auto;transform:translateY(-50%);box-shadow:0 20px 90px #000d}.recipe-detail-head{justify-content:space-between;gap:12px;display:flex}.recipe-detail-head h3{margin:8px 0;font-size:25px}.recipe-detail-head button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff3;align-self:start;width:34px;height:34px;font-size:21px}.recipe-detail h4{color:var(--cyan);margin:18px 0 8px;font-size:12px}.recipe-detail p,.recipe-detail li{font-size:12px;line-height:1.6}.recipe-detail ul,.recipe-detail ol{padding-left:20px}.recipe-detail a{color:#ff9bd8;font-size:12px}.recipe-meta{color:#aaa4b5}.recipe-browser+.motion-console{margin-top:20px}@media (width<=800px){.recipe-results,.recipe-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.recipe-browser{margin:14px 0;padding:15px}.recipe-heading{align-items:start}.recipe-heading h2{font-size:23px}.recipe-heading p{font-size:10px}.recipe-filters{grid-template-columns:1fr;gap:9px;margin:15px 0 10px}.recipe-filters input,.recipe-filters select{padding:12px}.recipe-results{grid-template-columns:1fr}.recipe-result{padding:14px}.recipe-detail{width:calc(100vw - 20px);max-height:88vh;padding:17px;right:10px}}.jukebox-player{min-width:0}.music-now{align-items:center;gap:11px;min-width:0;margin:14px 0 10px;display:flex}.music-now img,.music-cover{object-fit:cover;background:#111424;border:1px solid #ffffff25;flex:none;width:54px;height:54px}.music-cover{color:var(--pink);place-items:center;font-size:25px;display:grid}.music-track-info{flex:1;gap:4px;min-width:0;display:grid}.music-track-info b{color:#f6e9df;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.music-track-info span,.music-track-info small{color:var(--muted);font-size:9px}.music-play{color:#ff9bd8;cursor:pointer;background:#311e36;border:1px solid #ef79c277;border-radius:50%;flex:none;width:38px;height:38px}.music-play:hover,.music-controls button:hover{border-color:var(--cyan);color:var(--cyan)}.music-seek{color:var(--muted);align-items:center;gap:8px;font-size:9px;display:flex}.music-seek input,.music-volume input{min-width:0;accent-color:var(--pink);flex:1;height:15px}.music-controls{align-items:center;gap:6px;margin:8px 0 13px;display:flex}.music-controls>button{color:#ddd2df;cursor:pointer;background:#171827;border:1px solid #ffffff20;min-width:30px;height:29px}.music-controls>button.selected{border-color:var(--cyan);color:var(--cyan)}.music-volume{color:var(--cyan);align-items:center;gap:5px;margin-left:auto;font-size:13px;display:flex}.music-volume input{flex:none;width:72px}.music-options{grid-template-columns:1fr 1fr;gap:7px;margin:12px 0;display:grid}.music-options label,.music-library-head>label{color:#a9a4b4;gap:5px;min-width:0;font-size:9px;display:grid}.music-options label:first-child{display:none}.music-options select,.music-library-head input:not([type=file]){color:#e5dce8;background:#0e101a;border:1px solid #ffffff20;width:100%;min-width:0;padding:8px;font-size:10px}.music-library-head{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;display:grid}.local-audio input{color:#b9b0c0;max-width:100%;font-size:9px}.music-queue{border-top:1px solid #ffffff18;max-height:190px;overflow:auto}.queue-row{border-bottom:1px solid #ffffff0c;align-items:center;display:flex}.queue-row.active{background:#272033}.queue-track{color:#ded7e3;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;min-width:0;padding:9px 7px;font-size:10px;display:flex}.queue-track span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.queue-track small{color:var(--muted);text-overflow:ellipsis;margin-top:4px;font-size:8px;display:block;overflow:hidden}.queue-row.active .queue-track{color:var(--cyan)}.queue-download{text-align:center;width:34px;color:var(--pink);flex:none;padding:5px;font-size:16px;text-decoration:none}.local-track{width:100%;color:var(--cyan);display:block}.music-empty,.music-message{color:var(--muted);font-size:10px;line-height:1.5}.music-message{color:#f2c879}.music-rights{color:var(--muted);margin-top:10px;font-size:9px}.music-rights summary{cursor:pointer;color:#d8b4d0}.music-rights p{line-height:1.5}.music-rights a{color:var(--cyan)}.global-audio{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=800px){.music-options,.music-library-head{grid-template-columns:1fr 1fr}}@media (width<=500px){.jukebox-player{min-height:0}.music-now img,.music-cover{width:50px;height:50px}.music-options{grid-template-columns:1fr 1fr}.music-library-head{grid-template-columns:1fr}.music-queue{max-height:220px}.music-controls{gap:9px}.music-controls>button{min-width:36px;height:34px}.music-volume input{width:82px}}.chat-messages{flex-direction:column;gap:7px;max-height:350px;margin:14px 0 10px;display:flex;overflow:auto}.chat-turn{gap:6px;display:grid}.chat-user{color:#aaa4b5;text-transform:uppercase;letter-spacing:.08em;align-self:flex-end;font-size:9px}.chat-suggestion{background:#111421;border:1px solid #ffffff18;gap:5px;padding:10px;display:grid}.chat-suggestion b{font-size:12px}.chat-suggestion small{color:var(--muted);font-size:9px;line-height:1.5}.chat-suggestion button,.mix-action,.chat-clear{color:#ffc5e7;cursor:pointer;background:#2a1d32;border:1px solid #e779c866;justify-self:start;padding:7px 10px;font-size:10px}.chat-clear{margin-left:auto}.conversation .input-row input{color:#eee}.conversation .input-row button{cursor:pointer;color:#ffd3ed;background:#36213a;border-color:#e779c866}.conversation .input-row button:disabled{opacity:.5;cursor:not-allowed}.chat-error{color:#ff9a9a;font-size:10px}.selected-drink{color:#ded3df;max-height:390px;overflow:auto}.selected-drink h3{font-size:17px}.selected-drink p{color:var(--cyan);font-size:10px}.selected-drink li{margin:5px 0;font-size:10px;line-height:1.5}.mix-action{margin-top:16px;display:block}.chat-suggestion a,.selected-drink a{color:var(--cyan);overflow-wrap:anywhere;font-size:9px}.bartender.shake{animation:.24s steps(2,end) infinite shake-motion}.bartender.stir{animation:.8s ease-in-out infinite alternate stir-motion}.bartender.pour{animation:.7s ease-in-out infinite alternate pour-motion}.bartender.serve{animation:.55s steps(2,end) infinite alternate serve-motion}@keyframes shake-motion{to{transform:rotate(9deg)translate(5px)}}@keyframes stir-motion{to{transform:rotate(-5deg)translate(-3px)}}@keyframes pour-motion{to{transform:rotate(7deg)translateY(2px)}}@keyframes serve-motion{to{transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.bartender.shake,.bartender.stir,.bartender.pour,.bartender.serve{animation-duration:.01ms;animation-iteration-count:1}}
