*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Inter,system-ui,Arial;background:#0b0c10;color:#e6edf3;-webkit-font-smoothing:antialiased}
#app{max-width:680px;margin:0 auto;padding:16px 16px 40px;display:flex;flex-direction:column;gap:16px}
header{padding:8px 0 0;text-align:center}
h1{font-size:28px;margin:0;font-weight:800}
.sub{opacity:.75;margin-top:4px}
.card{background:#111318;border:1px solid #20242d;border-radius:16px;padding:16px}
.card.small{padding:12px}
h2{font-size:18px;margin:0 0 12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{display:flex;flex-direction:column;gap:6px;font-size:14px}
input,select,textarea{background:#0b0e14;border:1px solid #282c34;border-radius:12px;padding:12px;color:#e6edf3;font-size:16px}
textarea{resize:vertical}
button{font-size:18px;padding:14px 16px;border-radius:16px;border:1px solid #2a2f39;background:#161a22;color:#e6edf3;cursor:pointer}
button.primary{background:#2563eb;border-color:#1f4fc4}
button.ghost{background:transparent;border-color:#303846}
button.danger{background:#7a1d1d;border-color:#8a2b2b}
.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.controls.v1 .drink-btn{display:flex;align-items:center;justify-content:center;gap:10px}
.controls.v1 .drink-btn .icon{display:inline-block;transform-origin:center;transition:transform .2s ease}
.controls.v1 .drink-btn.spin .icon{animation:spin .45s ease}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.row{display:flex;gap:12px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.stat{background:#0c0f15;border:1px dashed #263042;border-radius:14px;padding:12px}
.label{font-size:12px;opacity:.8}
.value{font-size:22px;font-weight:700;margin-top:6px}
#log{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;display:flex;flex-direction:column;gap:6px}
details summary{cursor:pointer}
footer{opacity:.6;text-align:center}
.muted{opacity:.8;margin-top:-4px;margin-bottom:8px;font-size:13px}
.hidden{display:none !important}
.mood-top{font-size:150px;line-height:1;text-align:center;margin:20px 0}
