:root{
  --bg:#171311;
  --panel:#221c19;
  --panel2:#2a221e;
  --text:#f6f0e9;
  --muted:#b9aaa0;
  --line:#3c302a;
  --accent:#b98a59;
  --accent2:#d8b183;
  --danger:#d36b5b;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI","Noto Sans TC",sans-serif}
body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.app-shell{width:min(920px,100%);margin:0 auto;padding:22px 16px 48px}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}
h1,h2,p{margin-top:0}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(28px,5vw,42px);line-height:1.05;margin-bottom:0}
h2{font-family:Georgia,"Times New Roman",serif;font-size:28px;margin-bottom:12px}
.eyebrow,.kicker{font-size:11px;letter-spacing:.2em;color:var(--accent2);font-weight:700}
.card{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 16px 40px rgba(0,0,0,.18)}
#loginView{max-width:520px;margin:10vh auto 0}
.muted{color:var(--muted);line-height:1.6}
label{display:block;font-size:13px;color:var(--muted);margin:18px 0 8px}
input{width:100%;border:1px solid var(--line);background:#15110f;color:var(--text);border-radius:13px;padding:14px 15px;font-size:16px;outline:none}
input:focus{border-color:var(--accent)}
button{font:inherit;border:0;border-radius:13px;cursor:pointer}
.primary{width:100%;margin-top:14px;padding:14px 16px;background:var(--accent);color:#17110d;font-weight:800}
.primary:hover{background:var(--accent2)}
.ghost{padding:10px 12px;background:transparent;border:1px solid var(--line);color:var(--text)}
.status{margin:14px 0 0;color:var(--accent2);min-height:1.2em}
.hidden{display:none!important}
.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.summary span{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}
.summary strong{font-family:Georgia,"Times New Roman",serif;font-size:34px}
.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.search{margin:8px 0 18px}
.wine-list{display:grid;gap:10px}
.wine-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}
.wine-item:last-child{border-bottom:0}
.wine-title{font-weight:750;font-size:16px;line-height:1.35}
.wine-meta{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}
.qty{min-width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#15110f;border:1px solid var(--line);font-weight:800;color:var(--accent2)}
.center{text-align:center;padding:18px 0 4px}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent2)}
@media (max-width:560px){
  .app-shell{padding:18px 12px 36px}
  .topbar{align-items:center}
  .summary-grid{grid-template-columns:1fr 1fr}
  .card{border-radius:17px;padding:16px}
}
