:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.game{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;gap:1.5rem}.header{text-align:center}.header h1{font-size:2rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.header .subtitle{font-size:.85rem;color:#ffffff73;margin-top:.15rem}.score-bar{display:flex;gap:2rem;font-size:.9rem}.score-bar .label{color:#ffffff73;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.score-bar .value{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.score-bar .value.good{color:#4ade80}.score-bar .value.bad{color:#f87171}.score-bar .value.streak{color:#facc15}.queue-area{width:100%;max-width:600px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem;min-height:160px}.queue-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#ffffff59;margin-bottom:.75rem}.queue-list{display:flex;gap:.6rem;overflow-x:auto;padding-bottom:.5rem}.queue-list::-webkit-scrollbar{height:4px}.queue-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.customer{flex-shrink:0;width:100px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:.6rem;padding:.6rem;text-align:center;cursor:pointer;transition:transform .12s,border-color .2s,box-shadow .2s;position:relative;-webkit-user-select:none;user-select:none}.customer:hover{transform:translateY(-3px);border-color:#6366f199;box-shadow:0 4px 20px #6366f126}.customer.is-first{border-color:#4ade8080}.customer.is-first:hover{border-color:#4ade80;box-shadow:0 4px 20px #4ade8033}.customer .avatar{font-size:1.8rem;margin-bottom:.25rem}.customer .name{font-size:.7rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer .patience-bar{margin-top:.4rem;height:4px;background:#ffffff14;border-radius:2px;overflow:hidden}.customer .patience-fill{height:100%;border-radius:2px;transition:width .3s linear,background .3s}.customer .arrival-tag{margin-top:.3rem;font-size:.6rem;color:#ffffff59;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.counter-area{width:100%;max-width:600px;display:flex;align-items:center;gap:1rem}.counter-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#ffffff59;white-space:nowrap}.counter-slot{flex:1;min-height:60px;border:2px dashed rgba(255,255,255,.1);border-radius:.6rem;display:flex;align-items:center;justify-content:center;color:#fff3;font-size:.8rem}.counter-slot.active{border-color:#4ade8066;color:#4ade8099;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #4ade8026}50%{box-shadow:0 0 0 6px #4ade8000}}.feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.6rem;font-weight:800;pointer-events:none;animation:feedbackPop .6s ease-out forwards;z-index:100;text-shadow:0 2px 12px rgba(0,0,0,.6)}@keyframes feedbackPop{0%{opacity:1;transform:translate(-50%,-50%) scale(.6)}40%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-70%) scale(1)}}.feedback.good{color:#4ade80}.feedback.bad,.feedback.lost{color:#f87171}.feedback.streak{color:#facc15}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:50;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overlay h2{font-size:2.2rem;font-weight:800;margin-bottom:.5rem}.overlay .final-score{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.25rem}.overlay .stats{color:#ffffff80;font-size:.85rem;margin-bottom:1.5rem;text-align:center;line-height:1.8}.overlay button{background:linear-gradient(135deg,#6366f1,#818cf8);border:none;color:#fff;font-size:1rem;font-weight:600;padding:.75rem 2rem;border-radius:.5rem;cursor:pointer;transition:transform .1s}.overlay button:hover{transform:scale(1.04)}.overlay button:active{transform:scale(.97)}.start-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;gap:1rem;padding:2rem}.start-screen h1{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#38bdf8,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.start-screen .tagline{color:#ffffff80;font-size:1rem;max-width:360px}.start-screen .instructions{margin-top:.5rem;color:#fff6;font-size:.8rem;line-height:1.8;max-width:340px}.start-screen .instructions strong{color:#ffffffb3}.start-screen button{margin-top:.5rem;background:linear-gradient(135deg,#6366f1,#818cf8);border:none;color:#fff;font-size:1.1rem;font-weight:700;padding:.85rem 2.5rem;border-radius:.5rem;cursor:pointer;transition:transform .1s}.start-screen button:hover{transform:scale(1.04)}.start-screen button:active{transform:scale(.97)}.level-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffff59;border:1px solid rgba(255,255,255,.1);padding:.2rem .6rem;border-radius:.3rem}.level-badge span{color:#a78bfa;font-weight:700}
