:root{--bg: #f7f2ea;--surface: #fffdf9;--sunk: #efe7db;--ink: #2b1b33;--muted: #6b5e70;--line: #e7ded1;--line-strong: #968676;--header: #2b1b33;--on-header: #faf7f1;--on-header-muted: #d9cfe0;--primary: #2b1b33;--on-primary: #faf7f1;--on-primary-muted: #d9cfe0;--on-primary-gold: #e3cfa8;--gold: #82632f;--gold-fill: #b08a4a;--gold-soft: #f3e8d3;--ok: #2f6b4f;--ok-soft: #e4efe8;--warn: #7a4510;--warn-soft: #fbebd6;--persona: #8e4f6a;--signature: #3a4a6b;--xy: #82632f;--display: "Cormorant Garamond", Georgia, serif;--ui: Inter, system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #1a1220;--surface: #251a2d;--sunk: #1f1626;--ink: #f3ece6;--muted: #b5a7b8;--line: #3a2c43;--line-strong: #85718e;--header: #120c17;--on-header: #f3ece6;--on-header-muted: #b5a7b8;--primary: #e3cfa8;--on-primary: #2b1b33;--on-primary-muted: #4a3553;--on-primary-gold: #6e5226;--gold: #d9b98a;--gold-fill: #d9b98a;--gold-soft: #3a2e1c;--ok: #8fd1ae;--ok-soft: #173026;--warn: #f0c489;--warn-soft: #3b2a14;--persona: #e3a6bf;--signature: #a9b9dd;--xy: #d9b98a}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.4;-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;color:inherit}h1,h2,p{margin:0}.app{height:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;background:var(--bg)}.wide .app{max-width:880px}.head{background:var(--header);color:var(--on-header);padding:calc(14px + env(safe-area-inset-top)) 16px 16px;display:flex;flex-direction:column;gap:12px}.head-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.head img{height:30px;width:auto;display:block}.eyebrow{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--gold)}.head .eyebrow{color:var(--on-header-muted)}.display{font-family:var(--display);font-weight:600;line-height:1.05}.h1{font-family:var(--display);font-weight:600;font-size:32px;line-height:1.1}.main{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}.card.dark{background:var(--primary);color:var(--on-primary);border-color:transparent}.card.dark .eyebrow{color:var(--on-primary-gold)}.card.dark .muted{color:var(--on-primary-muted)}.card.gold{background:var(--gold-soft);border-color:transparent}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:12px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.row.top{align-items:flex-start}.stack{display:flex;flex-direction:column;gap:8px}.grow{flex:1;min-width:0}.pill{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap;background:var(--sunk);color:var(--muted)}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.gold{background:var(--gold-soft);color:var(--gold)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.dot{width:8px;height:8px;border-radius:999px;display:inline-block;margin-right:6px}.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 18px;border-radius:12px;border:1px solid var(--line-strong);background:transparent;font-weight:600;font-size:16px;cursor:pointer;text-decoration:none;color:var(--ink);width:100%}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:transparent;min-height:56px}.btn.gold{background:#e3cfa8;color:#2b1b33;border-color:transparent;min-height:56px}.btn.small{min-height:44px;font-size:14px;width:auto;padding:0 14px}.btn.quiet{border-color:var(--line);font-weight:500}.btn:disabled{opacity:.5;cursor:default}.foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;background:var(--bg)}.nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border-top:1px solid var(--line);background:var(--surface);padding:6px 6px calc(8px + env(safe-area-inset-bottom))}.nav button{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:48px;justify-content:center;border:0;background:none;color:var(--muted);font-size:11px;cursor:pointer}.nav button[aria-current=page]{color:var(--ink);font-weight:600}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600}.input{min-height:50px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);padding:0 14px;font-size:16px;width:100%}textarea.input{padding:12px 14px;min-height:80px}.input.qty{width:84px;text-align:center;min-height:44px}.note{border-radius:12px;padding:10px 12px;font-size:13px;background:var(--warn-soft);color:var(--warn)}.note.ok{background:var(--ok-soft);color:var(--ok)}.note.info{background:var(--gold-soft);color:var(--ink)}.list{display:flex;flex-direction:column}.item{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.item:first-child{border-top:0}.item button.pick{all:unset;display:flex;align-items:center;gap:12px;width:100%;cursor:pointer;min-height:44px}.big{font-family:var(--display);font-weight:600;font-size:44px;line-height:1}.mid{font-family:var(--display);font-weight:600;font-size:32px;line-height:1}.login{flex:1;display:flex;flex-direction:column;justify-content:center;padding:28px 24px;gap:18px;background:var(--header);color:var(--on-header)}.login img{width:200px;height:auto;align-self:center;margin-bottom:8px}.login .input{background:#3a2844;border-color:#5b4666;color:#faf7f1}.login .field label{color:#d9cfe0}.login .btn.primary{background:#e3cfa8;color:#2b1b33}.scan{position:fixed;inset:0;background:#000;color:#fff;display:flex;flex-direction:column;z-index:10}.scan video{flex:1;width:100%;object-fit:cover;min-height:0}.scan .frame{position:absolute;left:10%;right:10%;top:32%;height:22%;border:3px solid #e3cfa8;border-radius:16px;pointer-events:none}.scan .bar{padding:14px 16px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px;background:#2b1b33}.scan .bar .btn{color:#faf7f1;border-color:#85718e}.sheet{position:fixed;inset:0;z-index:20;background:#120c1799;display:flex;align-items:flex-end;justify-content:center}.sheet>div{background:var(--surface);width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:20px 16px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;max-height:88%;overflow-y:auto}.done{flex:1;background:#2b1b33;color:#faf7f1;display:flex;flex-direction:column}.done .main{align-items:center;text-align:center;justify-content:center;gap:20px}.done .tick{width:96px;height:96px;border-radius:999px;background:#3a2e1c;display:flex;align-items:center;justify-content:center}.done .btn.quiet{color:#faf7f1;border-color:#85718e}.done .foot{background:#2b1b33}.tabs{display:flex;gap:8px;overflow-x:auto}.tabs button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font-size:13px;white-space:nowrap;cursor:pointer}.tabs button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);border-color:transparent;font-weight:600}table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:6px 4px}table.t td{padding:8px 4px;border-top:1px solid var(--line);vertical-align:middle}table.t td.n,table.t th.n{text-align:right}.banner{background:var(--warn-soft);color:var(--warn);font-size:13px;padding:8px 16px;text-align:center}a{color:var(--gold)}.big,.mid,.display,.money{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1}.hero,.card.dark,.done{color:#faf7f1;background:radial-gradient(120% 85% at 88% -12%,rgba(227,207,168,.3),transparent 56%),radial-gradient(95% 75% at -5% 112%,rgba(142,79,106,.38),transparent 60%),linear-gradient(160deg,#3b2547,#2b1b33 46%,#1b1023)}.hero{padding:calc(14px + env(safe-area-inset-top)) 18px 22px;display:flex;flex-direction:column;gap:16px;border-radius:0 0 28px 28px;box-shadow:0 18px 40px -24px #1b1023bf}.hero img{height:30px;width:auto;display:block}.hero .eyebrow,.card.dark .eyebrow{color:#d9bd8c}.hero .soft,.card.dark .muted,.done .soft{color:#d9cfe0}.hero .hello{font-family:var(--display);font-weight:500;font-size:24px;line-height:1.15;color:#efe6f2}.gold-text{background:linear-gradient(180deg,#f8ecd0,#e3cfa8 45%,#b9945a);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.hero .figure{font-family:var(--display);font-weight:600;font-size:62px;line-height:.95;letter-spacing:-.01em}.hairline{height:1px;border:0;margin:0;background:linear-gradient(90deg,transparent,rgba(227,207,168,.55),transparent)}.spark{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.35;color:#f6efe2}.spark svg{flex:none;color:#e3cfa8;margin-top:1px}.pill.frost{background:#faf7f11f;color:#efe6f2;border:1px solid rgba(227,207,168,.28)}.pill.frost.on{color:#bfe6cf;border-color:#8fd1ae73}.card{box-shadow:0 1px #fff9 inset,0 10px 24px -20px #2b1b3373}.card.dark{border:1px solid rgba(227,207,168,.22);box-shadow:0 18px 36px -24px #1b1023cc}.card.dark .big{background:linear-gradient(180deg,#f8ecd0,#e3cfa8 45%,#b9945a);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.card.gold{background:linear-gradient(180deg,var(--gold-soft),var(--surface));border:1px solid var(--line)}.btn.primary{background:linear-gradient(160deg,#3b2547,#2b1b33 60%,#1b1023);color:#faf7f1;box-shadow:0 12px 24px -14px #1b1023e6,0 0 0 1px #e3cfa859 inset}.btn.gold{background:linear-gradient(180deg,#f3e3bf,#d9bd8c);box-shadow:0 12px 26px -12px #e3cfa88c}.login .btn.primary{background:linear-gradient(180deg,#f3e3bf,#d9bd8c);color:#2b1b33}.login{background:radial-gradient(110% 70% at 50% -10%,rgba(227,207,168,.22),transparent 60%),linear-gradient(170deg,#3b2547,#2b1b33 50%,#1b1023)}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 10px;display:flex;flex-direction:column;gap:4px;min-width:0;box-shadow:0 10px 24px -20px #2b1b3373}.tile .label{font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--gold)}.tile .value{font-family:var(--display);font-weight:600;font-size:24px;line-height:1;font-variant-numeric:lining-nums;white-space:nowrap}.tile .sub{font-size:12px;color:var(--muted)}.bottle{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;flex:none;position:relative}.bottle:before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:.13}.bottle svg{position:relative}.bottle.persona{color:var(--persona)}.bottle.signature{color:var(--signature)}.bottle.xy{color:var(--xy)}.rate-row{display:flex;align-items:center;gap:12px}.rate-row .amt{font-family:var(--display);font-weight:600;font-size:22px;font-variant-numeric:lining-nums}.trail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:relative;padding-top:4px}.trail:before{content:"";position:absolute;left:16.6%;right:16.6%;top:15px;height:2px;background:var(--line)}.trail .fill{position:absolute;left:16.6%;top:15px;height:2px;background:linear-gradient(90deg,#d9bd8c,#b08a4a);transition:width .8s ease}.trail .step{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;position:relative}.trail .node{width:24px;height:24px;border-radius:999px;background:var(--surface);border:2px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:#2b1b33}.trail .step.on .node{background:linear-gradient(180deg,#f3e3bf,#c9a465);border-color:#b08a4a;box-shadow:0 0 0 5px #e3cfa847}.trail .step .amt{font-family:var(--display);font-weight:600;font-size:22px;line-height:1;font-variant-numeric:lining-nums}.trail .step .lbl{font-size:12px;color:var(--muted)}.done{position:relative;overflow:hidden}.done .main{position:relative}.halo{position:relative;width:132px;height:132px;display:flex;align-items:center;justify-content:center}.halo i{position:absolute;inset:0;border-radius:999px;border:1px solid rgba(227,207,168,.55);animation:ring 2.4s ease-out infinite}.halo i:nth-child(2){animation-delay:.8s}.halo i:nth-child(3){animation-delay:1.6s}.halo .core{width:92px;height:92px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#2b1b33;background:radial-gradient(circle at 35% 30%,#fbf1d8,#e3cfa8 55%,#b08a4a);box-shadow:0 0 44px #e3cfa88c;animation:pop .55s cubic-bezier(.2,1.4,.4,1) both}.done .earned{font-family:var(--display);font-weight:600;font-size:76px;line-height:.95;font-variant-numeric:lining-nums}.glass{width:100%;background:#faf7f114;border:1px solid rgba(227,207,168,.25);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;text-align:left}.done .note.info{background:#e3cfa829;color:#f6efe2}@keyframes ring{0%{transform:scale(.7);opacity:.9}to{transform:scale(1.5);opacity:0}}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes rise{0%{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}.main>*{animation:rise .45s ease both}.main>*:nth-child(2){animation-delay:.05s}.main>*:nth-child(3){animation-delay:.1s}.main>*:nth-child(4){animation-delay:.15s}.main>*:nth-child(n+5){animation-delay:.2s}@media (prefers-reduced-motion: reduce){.main>*,.halo i,.halo .core{animation:none}.halo i{opacity:.35}.halo i:nth-child(2){transform:scale(1.22);opacity:.22}.halo i:nth-child(3){transform:scale(1.45);opacity:.12}.trail .fill{transition:none}}@media (prefers-color-scheme: dark){.card,.tile{box-shadow:none}.btn.primary{color:#faf7f1}}.done .bottle.persona,.hero .bottle.persona,.card.dark .bottle.persona{color:#e3a6bf}.done .bottle.signature,.hero .bottle.signature,.card.dark .bottle.signature{color:#a9b9dd}.done .bottle.xy,.hero .bottle.xy,.card.dark .bottle.xy{color:#e3cfa8}.day-total{font-family:var(--display);font-weight:600;font-size:20px;color:var(--gold);font-variant-numeric:lining-nums}.done .foot{background:transparent;position:relative}
