:root{--primary-color:#ffc107;--secondary-color:#222;--bg-color:#f4f7f6;--white:#fff;--danger:#ff4d4f;--success:#52c41a}body{background-color:var(--bg-color);margin:0;padding:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,sans-serif;overflow:hidden}.kiosk-wrapper{grid-template-columns:140px 1fr 320px;height:100vh;display:grid}.sidebar{background-color:var(--secondary-color);flex-direction:column;gap:5px;padding-top:20px;display:flex}.sidebar button{color:#888;cursor:pointer;text-transform:uppercase;background:0 0;border:none;padding:30px 10px;font-size:1.1rem;font-weight:700;transition:all .3s}.sidebar button.active{background-color:var(--primary-color);color:var(--secondary-color);border-radius:15px 0 0 15px;margin-left:10px}.content{flex-direction:column;padding:20px;display:flex;overflow-y:auto}.kiosk-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.kiosk-header h1{color:var(--secondary-color);margin:0;font-size:2.2rem}.status{border-radius:20px;padding:5px 15px;font-size:.9rem;font-weight:700}.status.connected{color:#1890ff;background:#e6f7ff}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;padding-bottom:120px;display:grid}.menu-card{background:var(--white);cursor:pointer;border-radius:20px;transition:transform .2s;overflow:hidden;box-shadow:0 8px 16px #0000000d}.menu-card:active{transform:scale(.95)}.menu-card img{object-fit:cover;width:100%;height:180px}.menu-card h3{margin:15px;font-size:1.3rem}.menu-card p{color:var(--danger);margin:0 15px 15px;font-size:1.2rem;font-weight:700}.footer{background:var(--white);border-radius:50px;align-items:center;height:90px;padding:0 10px;display:flex;position:fixed;bottom:20px;left:160px;right:340px;box-shadow:0 -5px 25px #0000001a}.voice-bar{color:#555;white-space:nowrap;text-overflow:ellipsis;flex:1;padding:0 30px;font-size:1.4rem;overflow:hidden}.eye-btn{cursor:pointer;background:#fff;border:2px solid #ccc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:70px;height:70px;font-size:1.5rem;transition:all .3s;display:flex}.eye-btn.active{background:#1890ff;border-color:#1890ff;animation:1.5s infinite pulse-blue}@keyframes pulse-blue{0%{transform:scale(1);box-shadow:0 0 #1890ffb3}70%{transform:scale(1.05);box-shadow:0 0 0 15px #1890ff00}to{transform:scale(1);box-shadow:0 0 #1890ff00}}.mic-btn{background:var(--success);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;font-size:1.5rem;transition:all .3s;display:flex}.mic-btn.recording{background:var(--danger);animation:1.5s infinite pulse}.cart-sidebar{background:var(--white);border-left:1px solid #eee;flex-direction:column;padding:20px;display:flex}.cart-sidebar h3{border-bottom:2px solid var(--secondary-color);padding-bottom:10px;font-size:1.5rem}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{text-align:center;background:#fff;border-radius:30px;width:400px;padding:40px}.qty-selector{justify-content:center;align-items:center;gap:30px;margin:30px 0;display:flex}.qty-selector button{background:#fff;border:2px solid #ddd;border-radius:50%;width:60px;height:60px;font-size:2rem}.qty-selector span{font-size:2.5rem;font-weight:700}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #ff4d4fb3}70%{transform:scale(1.1);box-shadow:0 0 0 20px #ff4d4f00}to{transform:scale(1);box-shadow:0 0 #ff4d4f00}}.menu-controls{justify-content:center;align-items:center;gap:15px;padding:10px 0 20px;display:flex}.qty-btn{border:2px solid var(--primary-color);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;font-size:1.2rem;font-weight:700;transition:all .2s;display:flex}.qty-btn:active{background:var(--primary-color);color:#fff}.current-qty{text-align:center;min-width:20px;font-size:1.1rem;font-weight:700}.cart-item{border-bottom:1px solid #f0f0f0;align-items:center;gap:12px;padding:12px 0;display:flex}.cart-item-img{object-fit:cover;background:#eee;border-radius:8px;width:50px;height:50px}.cart-item-info{flex:1}.cart-item-info h4{margin:0;font-size:1rem}.cart-item-info p{color:#888;margin:2px 0 0;font-size:.85rem}.cart-item-price{color:var(--secondary-color);font-weight:700}.fallback-modal{width:600px!important}.recommend-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0;display:grid}.recommend-card{cursor:pointer;border:2px solid #eee;border-radius:15px;padding:10px;transition:all .2s}.recommend-card:hover{border-color:var(--primary-color);background-color:#fffdf5}.recommend-card img{object-fit:cover;border-radius:10px;width:100%;height:100px}.btn-primary{color:#222;cursor:pointer;background:linear-gradient(135deg,#ffc107 0%,#ff9800 100%);border:none;border-radius:15px;justify-content:center;align-items:center;min-width:160px;padding:18px 35px;font-size:1.4rem;font-weight:800;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;box-shadow:0 8px 20px #ffc1074d}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-3px);box-shadow:0 12px 25px #ffc10766}.btn-primary:active{transform:translateY(2px)scale(.96);box-shadow:0 4px 10px #ffc10733}.btn-secondary{color:#495057;cursor:pointer;background:#f1f3f5;border:none;border-radius:15px;padding:18px 35px;font-size:1.3rem;font-weight:600;transition:all .2s}.btn-secondary:hover{background:#e9ecef}.order-confirm-btn{cursor:pointer;width:100%;margin-top:20px;transition:all .3s;display:block;box-shadow:0 8px 15px #0003;color:#fff!important;background:linear-gradient(135deg,#333 0%,#000 100%)!important;border:none!important;border-radius:15px!important;padding:20px!important;font-size:1.4rem!important;font-weight:800!important}.order-confirm-btn:hover{transform:translateY(-3px);box-shadow:0 12px 20px #0000004d;background:linear-gradient(135deg,#444 0%,#111 100%)!important}.order-confirm-btn:active{transform:translateY(2px)scale(.98)}.cart-footer{background:#fff;border-top:2px solid #eee;padding:25px 20px}.total-price-row{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:1.5rem;font-weight:900;display:flex}.total-price-row span:last-child{color:#e63946}.cart-sidebar{background-color:#f8f9fa!important;padding:20px!important}.cart-item{background-color:#fff;border-bottom:1px solid #e9ecef;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding:10px 15px;display:flex;box-shadow:0 2px 5px #00000008}.cart-item-img-box{border:1px solid #eee;border-radius:8px;flex-shrink:0;width:60px;height:60px;overflow:hidden}.cart-item-img{object-fit:cover;width:100%;height:100%}.cart-item-main{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.cart-item-main h4{color:#333;white-space:nowrap;text-overflow:ellipsis;max-width:120px;margin:0;font-size:1.1rem;font-weight:700;overflow:hidden}.cart-item-qty-row{background:#f1f3f5;border-radius:20px;align-items:center;gap:10px;width:fit-content;padding:3px 10px;display:flex}.cart-qty-btn.tiny-btn{background-color:#fff;border:1px solid #dee2e6;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.9rem;display:flex;width:22px!important;height:22px!important}.cart-qty-btn.tiny-btn:hover{color:#fff;background-color:#333;border-color:#333}.cart-item-quantity{text-align:center;min-width:20px;font-size:.9rem;font-weight:600}.cart-item-price-box{color:#333;text-align:right;flex-shrink:0;justify-content:flex-end;align-items:center;min-width:85px;margin-left:auto;font-weight:800;display:flex}.cart-footer{border-top:2px solid #ddd;margin-top:20px;padding-top:15px}.total-price-row{margin-bottom:15px;font-size:1.3rem!important}.modal-footer{justify-content:center;width:100%;margin-top:30px;display:flex}.modal-close-btn{color:#fff;cursor:pointer;background:#333;border:none;border-radius:12px;padding:12px 40px;font-size:1.1rem;font-weight:700;transition:all .2s ease-in-out;box-shadow:0 4px 10px #0003}.modal-close-btn:hover{background:#000;transform:translateY(-2px);box-shadow:0 6px 15px #0000004d}.modal-close-btn:active{transform:translateY(1px)}.lipreading-toast{color:#fff;z-index:2000;background-color:#1890ffe6;border-radius:25px;align-items:center;gap:10px;height:50px;padding:5px 25px;font-size:1rem;font-weight:700;animation:.3s ease-out slideUp;display:flex;position:fixed;top:20px;left:160px;box-shadow:0 6px 20px #1890ff4d}.lipreading-toast.failed{background-color:#ff6b35e6;box-shadow:0 6px 20px #ff6b354d}.lipreading-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.speaking-toast{color:#ffc107;z-index:2000;background-color:#222222e6;border-radius:25px;align-items:center;gap:15px;height:50px;padding:15px 40px;font-size:1rem;font-weight:800;animation:.3s ease-out slideUp;display:flex;position:fixed;top:20px;left:auto;right:340px;transform:none;box-shadow:0 10px 30px #0000004d}@keyframes slideUp{0%{opacity:0;bottom:80px}to{opacity:1;bottom:120px}}.speaking-dot{background-color:#ffc107;border-radius:50%;width:12px;height:12px;animation:1s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.modal-title{color:var(--secondary-color);margin-bottom:10px;font-size:2rem;font-weight:800}.modal-subtitle{color:#666;margin-bottom:30px;font-size:1.2rem;line-height:1.5}.recommend-grid:has(.recommend-card:only-child){justify-content:center;display:flex}.recommend-grid:has(.recommend-card:only-child) .recommend-card{width:240px;transform:scale(1.1)}.confirm-actions{justify-content:center;gap:20px;width:100%;margin-top:10px;display:flex}.confirm-actions .modal-btn{cursor:pointer;border-radius:15px;flex:1;max-width:200px;padding:18px 0;font-size:1.3rem;font-weight:700;transition:all .2s}.confirm-actions .btn-primary{background:var(--primary-color);color:var(--secondary-color);border:none;box-shadow:0 4px 15px #ffc1074d}.confirm-actions .btn-secondary{color:#666;background:#eee;border:none}.confirm-actions .modal-btn:active{transform:translateY(2px)scale(.98)}
