/* Silo's V16 · Member app ("the cellar in your pocket")
   Deep wine, candlelit gold, cream type. Italiana carries the brand; Playfair italic names the bottles. */
:root{--ink:#0e0709;--night:#150a0c;--wine:#761f2b;--wine2:#9b2c3a;--claret:#3a1117;--gold:#d5a84f;--gold2:#f0cf86;--brass:linear-gradient(135deg,#b88934 0%,#e8c779 45%,#b8893a 100%);--cream:#f6eddf;--muted:#b7a794;--dim:#8a7a6a;--line:rgba(213,168,79,.2);--glass:rgba(255,245,230,.045);--glass2:rgba(255,245,230,.08);--olive:#7b8450;--ok:#8fbf7a;--warn:#e0a458;--rose:#e38b8b;--r:18px;--dock:74px;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.silosApp{margin:0;min-height:100vh;background:#120708;color:var(--cream);font-family:'DM Sans',system-ui,sans-serif;font-size:15px;line-height:1.5;padding-bottom:calc(var(--dock) + 30px + var(--safe));-webkit-font-smoothing:antialiased;overflow-x:hidden}
.appGlow{position:fixed;inset:0;z-index:-1;background:radial-gradient(120% 55% at 50% -5%,#6b1f28 0%,#3a1117 38%,#170a0c 70%,#0e0709 100%)}
.appGlow:after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.6;mix-blend-mode:overlay}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
em{font-family:'Italiana',serif;font-style:normal;color:var(--gold)}
/* header */
.appTop{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top,0px)) 18px 10px;background:linear-gradient(#170a0cf2,#170a0c00);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.appBrand img{height:46px;width:auto;display:block;filter:drop-shadow(0 2px 10px #0008)}
.appTopRight{display:flex;gap:10px;align-items:center}
.statusChip{padding:6px 11px;border:1px solid var(--line);border-radius:999px;font-size:10px;letter-spacing:.14em;font-weight:600;color:var(--gold2);background:#ffffff08}
.statusChip.gold{background:var(--brass);color:#2a1a05;border-color:transparent;box-shadow:0 2px 12px #d5a84f40}
.cartChip{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f6eddf;color:#1a0c0e}
.cartChip svg{width:20px;height:20px}.cartChip b{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--wine2);color:#fff;font-size:10px;display:grid;place-items:center}.cartChip b:empty,.cartChip b[data-zero]{display:none}
/* layout */
.appPage{width:min(1120px,100%);margin:0 auto;padding:6px 18px 30px}
.screenHead{padding:8px 2px 18px}.screenHead .kick{font-size:10px;letter-spacing:.24em;color:var(--gold);text-transform:uppercase;font-weight:600}
.screenHead h1{font-family:'Italiana',serif;font-weight:400;font-size:clamp(46px,9vw,78px);line-height:.95;margin:6px 0 6px;letter-spacing:-.01em}
.screenHead p{margin:0;color:var(--muted);font-family:'Playfair Display',serif;font-style:italic;font-size:16px}
.rule{width:64px;height:1px;background:var(--gold);opacity:.7;margin:16px 0 4px}
.sectionHead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:34px 2px 12px}
.sectionHead h2{font-family:'Italiana',serif;font-weight:400;font-size:clamp(30px,5vw,40px);margin:0;line-height:1}
.sectionHead .kick,.kick{font-size:10px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase;font-weight:600}
.sectionHead a{font-size:11px;letter-spacing:.14em;color:var(--gold2)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(min-width:900px){.desk2{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}.desk3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}}
/* surfaces */
.card{background:var(--glass);border:1px solid var(--line);border-radius:var(--r);padding:18px;position:relative;box-shadow:inset 0 1px 0 #ffffff0d,0 12px 40px -18px #000c}
.card.tight{padding:14px}.card h3{font-family:'Playfair Display',serif;font-weight:600;font-size:20px;margin:4px 0 8px}
.card small,.muted{color:var(--muted)}.fine{font-size:12px;color:var(--dim);line-height:1.45}
.divider{height:1px;background:var(--line);margin:14px 0}
/* buttons + chips */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 18px;border-radius:12px;border:1px solid var(--line);background:#ffffff0a;font-size:12px;letter-spacing:.12em;font-weight:600;text-transform:uppercase;transition:transform .2s ease,background .2s ease,border-color .2s}
.btn:hover{border-color:var(--gold);background:#ffffff12}.btn:active{transform:scale(.98)}
.btn.gold{background:var(--brass);color:#24160a;border-color:transparent;box-shadow:0 8px 24px -10px #d5a84fa0}
.btn.wine{background:var(--wine);border-color:var(--wine2);color:#fff}.btn.block{width:100%}.btn.sm{min-height:36px;padding:8px 12px;font-size:10px;border-radius:10px}
.btn[disabled]{opacity:.5;pointer-events:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin:0 -18px;padding-left:18px;padding-right:18px}.chips.scroll::-webkit-scrollbar{display:none}
.chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:999px;border:1px solid #ffffff22;background:#ffffff08;font-size:13px;color:#eadfcd;white-space:nowrap;transition:.2s}
.chip:hover{border-color:var(--gold)}.chip.on{border-color:var(--gold);background:#d5a84f22;color:var(--gold2)}.chip.wineChip{background:var(--wine);border-color:var(--wine2);color:#fff}.chip.goldChip{border-color:var(--gold);color:var(--gold2)}
.tag{display:inline-block;padding:4px 9px;border-radius:7px;border:1px solid #ffffff1f;background:#ffffff0a;font-size:11px;color:#dccfbb}
/* stat trio */
.trio{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding:14px 0}.trio b{display:block;font-family:'Playfair Display',serif;font-size:34px;line-height:1;color:#e5575f;font-weight:500}.trio span{font-size:10px;letter-spacing:.2em;color:var(--muted)}
.trio>div+div{border-left:1px solid var(--line)}
/* forms */
.field{display:grid;gap:6px}.field label,.lbl{font-size:10px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase;font-weight:600}
.input,.field input,.field select,.field textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid #ffffff24;background:#0b0506a8;color:var(--cream);font-size:15px}
.field textarea{min-height:96px;resize:vertical}.input::placeholder,.field input::placeholder,.field textarea::placeholder{color:#8f8171}
select option{background:#1a0c0e}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#dccfbb}.check input{margin-top:3px;accent-color:var(--gold)}
/* bottle cards */
.bottleRow{display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:center}
.bottleImg{width:78px;height:104px;border-radius:12px;background:radial-gradient(90% 70% at 50% 30%,#3b161b,#140a0b);display:grid;place-items:center;overflow:hidden;border:1px solid #ffffff12}
.bottleImg img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}.bottleImg img.logo{width:62%;height:62%;opacity:.75}
.bName{font-family:'Playfair Display',serif;font-style:italic;font-size:19px;line-height:1.2;margin:2px 0 4px}
.bMeta{font-size:11px;letter-spacing:.14em;color:var(--gold);text-transform:uppercase}
.priceBox{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:6px}.priceBox b{font-size:17px}.priceBox .vip{color:var(--gold2);font-size:13px}.priceBox .lock{font-size:11px;color:var(--dim);letter-spacing:.08em}
.why{margin:12px 0 0;padding:12px 14px;border-radius:12px;background:#d5a84f10;border-left:2px solid var(--gold);list-style:none}
.why li{font-size:13.5px;color:#eadfcd;margin:3px 0;padding-left:16px;position:relative}.why li:before{content:'✦';position:absolute;left:0;color:var(--gold);font-size:10px;top:3px}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
/* dock */
.appDock16{position:fixed;z-index:70;left:50%;transform:translateX(-50%);bottom:calc(10px + var(--safe));width:min(560px,calc(100% - 20px));height:var(--dock);display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:0 6px;border-radius:24px;background:#140a0ce6;border:1px solid #ffffff14;box-shadow:0 18px 50px -12px #000,inset 0 1px 0 #ffffff10;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.appDock16 a{display:grid;justify-items:center;gap:4px;color:#9d8f80;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:8px 0;border-radius:16px}
.appDock16 svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.appDock16 a.on{color:var(--cream)}.appDock16 a.on svg{background:#ffffff14;border-radius:50%;padding:6px;width:36px;height:36px;margin:-6px 0 -6px;stroke:var(--gold2)}
.fab{position:fixed;z-index:71;right:max(18px,calc(50% - 290px));bottom:calc(var(--dock) + 24px + var(--safe));width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#c23a4a,#8e1f2d);box-shadow:0 10px 30px -6px #9b2c3acc,0 0 0 6px #9b2c3a22;color:#fff;transition:transform .2s}
.fab:hover{transform:scale(1.06)}.fab svg{width:24px;height:24px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round}
/* sheet */
.sheet{position:fixed;inset:0;z-index:90;display:none;align-items:flex-end;justify-content:center;background:#0009;backdrop-filter:blur(4px)}
.sheet.open{display:flex;animation:fade .25s ease}
.sheet>article{position:relative;width:min(620px,100%);max-height:92vh;overflow:auto;border-radius:26px 26px 0 0;background:linear-gradient(#2a0f14,#140a0b);border:1px solid var(--line);border-bottom:0;padding:18px 20px calc(26px + var(--safe));animation:rise .35s cubic-bezier(.2,.8,.2,1)}
.sheet .grab{width:44px;height:4px;border-radius:2px;background:#ffffff30;margin:0 auto 10px}
.sheetClose{position:absolute;right:16px;top:14px;width:36px;height:36px;border-radius:50%;border:1px solid #ffffff22;background:#ffffff0c;font-size:20px;line-height:1}
@media(min-width:760px){.sheet{align-items:center}.sheet>article{border-radius:26px;border-bottom:1px solid var(--line)}}
@keyframes rise{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@keyframes fade{from{opacity:0}to{opacity:1}}
.detailHero{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;margin:8px 0 6px}
.detailHero .bottleImg{width:130px;height:176px}
/* toast */
.toast{position:fixed;left:50%;bottom:calc(var(--dock) + 30px + var(--safe));transform:translate(-50%,20px);z-index:120;padding:12px 18px;border-radius:14px;background:#f6eddf;color:#1a0c0e;font-size:13px;font-weight:600;box-shadow:0 12px 30px #0008;opacity:0;pointer-events:none;transition:.3s;max-width:calc(100% - 40px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
/* reveal on scroll */
.rise{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.rise.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rise{opacity:1;transform:none}}
/* skeleton */
.skel{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 37%,#ffffff08 63%);background-size:400% 100%;animation:sh 1.4s ease infinite;border-radius:12px}@keyframes sh{0%{background-position:100% 0}100%{background-position:0 0}}
.empty{padding:26px;text-align:center;color:var(--muted);border:1px dashed #ffffff22;border-radius:var(--r)}
.empty b{display:block;font-family:'Italiana';font-size:26px;color:var(--cream);font-weight:400;margin-bottom:4px}

/* ===== HOST ===== */
.hostBar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.hostBar a{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:14px;border:1px solid #ffffff1c;background:#0b050699;font-size:13px}
.hostBar svg{width:18px;height:18px;stroke:var(--rose);fill:none;stroke-width:1.6}
.hostStage{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);min-height:300px;background:#120708}
.hostStage:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#120708cc,#120708f2 60%),url('host.jpg') center 30%/cover;opacity:.95}
.hostStage>*{position:relative}
.thread{padding:18px;display:grid;gap:14px;max-height:none}
.bubble{max-width:92%;padding:16px 18px;border-radius:18px;background:#140a0cd9;border:1px solid #ffffff1a;backdrop-filter:blur(6px)}
.bubble.host h3{font-family:'Playfair Display',serif;font-size:21px;margin:0 0 8px}
.bubble.host p{margin:4px 0;color:#e7dccb}.bubble.host .hl{color:#ef8f98}
.bubble.me{justify-self:end;background:var(--wine);border-color:var(--wine2);border-bottom-right-radius:6px}
.heard{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 2px}.heard span{font-size:11px;padding:4px 9px;border-radius:999px;background:#d5a84f1f;color:var(--gold2);border:1px solid #d5a84f55}
.pick{margin-top:12px}
.pickNo{font-family:'Italiana';font-size:34px;color:var(--gold);line-height:1;margin-right:6px}
.composer{position:relative;z-index:30;margin-top:14px}
.composer form{display:flex;gap:8px;align-items:center;padding:6px 6px 6px 16px;border-radius:999px;background:#0b0506f0;border:1px solid #ffffff26;box-shadow:0 10px 30px -10px #000}
.composer input{flex:1;background:none;border:0;outline:none;padding:10px 0;color:var(--cream);font-size:15px;min-width:0}
.composer button{width:44px;height:44px;border-radius:50%;border:0;background:#ffffff14;display:grid;place-items:center}.composer button svg{width:18px;height:18px;stroke:var(--gold2);fill:none;stroke-width:1.8}
.typing{display:inline-flex;gap:5px;padding:14px 18px}.typing i{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:dot 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-3px)}}

/* ===== TABLE ===== */
.tableStage{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:#0f0708}
.tableStage:before{content:'';position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 50%,#12070800,#120708ee 75%),url('the-table.jpg') center/cover;opacity:.55}
.tableStage>*{position:relative}
.roundTable{width:min(420px,100%);aspect-ratio:1;margin:0 auto;position:relative}
.roundTable .board{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#5a2a1c,#2d130d 70%);border:2px solid #d5a84f66;box-shadow:inset 0 0 40px #000a,0 20px 60px -20px #000;display:grid;place-items:center;text-align:center}
.roundTable .board svg{width:38%;opacity:.9}
.roundTable .board small{position:absolute;bottom:18%;font-size:10px;letter-spacing:.2em;color:var(--gold2)}
.seat{position:absolute;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);background:#1a0c0ef0;font-family:'Playfair Display';font-size:20px;color:var(--gold2);transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 6px 20px #0009}
.seat:hover{transform:scale(1.08)}.seat.add{border-style:dashed;color:var(--muted);font-family:'DM Sans';font-size:26px}
.seat .nm{position:absolute;top:100%;margin-top:4px;font-family:'DM Sans';font-size:10px;letter-spacing:.1em;color:var(--cream);white-space:nowrap;text-transform:uppercase}
.seat .pour{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--wine);border:1px solid var(--wine2);font-family:'DM Sans';font-size:10px;display:grid;place-items:center;color:#fff}
.fitRow{display:grid;grid-template-columns:90px 1fr 42px;gap:10px;align-items:center;margin:7px 0;font-size:12px}
.fitRow .bar{height:6px;border-radius:3px;background:#ffffff14;overflow:hidden}.fitRow .bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#9b2c3a,#d5a84f);transform-origin:left;animation:grow .9s cubic-bezier(.2,.8,.2,1) both}
.fitRow b{text-align:right;color:var(--gold2)}.fitRow span{color:#dccfbb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fitWhy{font-size:12px;color:var(--muted);margin:-2px 0 6px 100px}
@keyframes grow{from{transform:scaleX(0)}}
.everyone{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.14em;color:#1f1406;background:var(--brass);padding:5px 10px;border-radius:999px;font-weight:700}
input[type=range]{width:100%;accent-color:var(--gold)}

/* ===== CELLAR ===== */
.signature{position:relative;border-radius:24px;overflow:hidden;min-height:420px;border:1px solid var(--line);background:#0f0708}
.signature:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0f070866,#0f0708 92%),url('cellar-room.jpg') center 40%/cover}
.signature>*{position:relative}
.sigTrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.sigTrack::-webkit-scrollbar{display:none}
.sigSlide{flex:0 0 100%;scroll-snap-align:center;display:grid;justify-items:center;text-align:center;padding:26px 20px 18px}
.sigSlide .bottleImg{width:150px;height:220px;background:transparent;border:0;filter:drop-shadow(0 20px 30px #000)}
.sigSlide .bottleImg img{object-fit:contain}
.sigSlide .maker{font-size:10px;letter-spacing:.24em;color:var(--gold);margin-top:14px;text-transform:uppercase}
.sigSlide h3{font-family:'Playfair Display';font-style:italic;font-size:26px;margin:4px 0 2px;font-weight:500;max-width:520px}
.sigSlide .sub{font-size:11px;letter-spacing:.2em;color:var(--muted);text-transform:uppercase}
.sigDots{display:flex;justify-content:center;gap:6px;padding-bottom:14px}.sigDots i{width:6px;height:6px;border-radius:50%;background:#ffffff33}.sigDots i.on{background:var(--gold);width:18px;border-radius:3px}
.ringWrap{display:grid;justify-items:center;padding:6px 0}.ring{width:190px;height:190px}.ring text{font-family:'Playfair Display'}
.kindChips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}.kindChips span{font-size:11px;padding:4px 10px;border-radius:999px;border:1px solid #ffffff1f;color:#dccfbb}.kindChips i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:1px}
.bigValue{font-family:'Playfair Display';font-size:48px;line-height:1;color:#9ed28a;margin:6px 0}
.valueBar{display:flex;height:8px;border-radius:4px;overflow:hidden;margin:12px 0 8px;background:#ffffff10}.valueBar i{display:block;height:100%}
.windowRow{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:9px 0;border-bottom:1px solid #ffffff10}.windowRow:last-child{border:0}
.windowRow b{font-size:13.5px;font-weight:500}.windowRow em{font-family:'DM Sans';font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--gold2)}
.windowRow .wbar{grid-column:1/-1;height:4px;border-radius:2px;background:#ffffff12;position:relative}.windowRow .wbar i{position:absolute;top:-3px;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}
.windowRow small{grid-column:1/-1;font-size:11px;color:var(--dim)}
.st-ready em,.st-peak em{color:var(--ok)!important}.st-soon em{color:var(--warn)!important}.st-past em{color:var(--rose)!important}.st-hold em{color:#9fb7e0!important}
.radar{width:100%;max-width:260px;display:block;margin:0 auto}
.worldMap{width:100%;aspect-ratio:2/1;border-radius:14px;overflow:hidden;background:radial-gradient(80% 90% at 50% 40%,#23100f,#0d0607)}
.worldMap svg{width:100%;height:100%;display:block}.worldMap .land{fill:#3a2118;stroke:#5a3322;stroke-width:.4}.worldMap .pin{fill:var(--gold2)}.worldMap .halo{fill:var(--gold);opacity:.25;animation:pulse 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes pulse{0%,100%{transform:scale(.7);opacity:.35}50%{transform:scale(1.5);opacity:.05}}
.worldMap text{font-size:11px;fill:#f0dfc2;font-family:'DM Sans'}
.rackList .rackItem{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #ffffff10}
.rackItem .bottleImg{width:52px;height:70px;border-radius:10px}.rackItem b{font-family:'Playfair Display';font-style:italic;font-weight:500;font-size:15.5px;line-height:1.25;display:block}.rackItem small{font-size:11px;color:var(--muted)}
.qtyPill{font-size:12px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--gold2);white-space:nowrap}
.searchResults{display:grid;gap:6px;margin-top:8px}.searchResults button{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;text-align:left;padding:8px;border-radius:12px;border:1px solid #ffffff14;background:#ffffff06}
.searchResults img{width:40px;height:52px;object-fit:contain;border-radius:8px;background:#1a0c0e}
.searchResults span{font-size:13.5px}.searchResults small{display:block;font-size:11px;color:var(--muted)}
/* 3D room */
.room3d{position:fixed;inset:0;z-index:100;background:#050303;display:none}.room3d.open{display:block}
.room3d canvas{display:block;width:100%;height:100%;touch-action:none}
.room3d .roomUi{position:absolute;left:0;right:0;top:0;padding:calc(14px + env(safe-area-inset-top,0px)) 18px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}
.room3d .roomUi>*{pointer-events:auto}.room3d .roomUi h2{font-family:'Playfair Display';margin:2px 0 0;font-size:26px}
.room3d .hint{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(96px + var(--safe));font-size:12px;color:#e8dccb;background:#000a;padding:8px 14px;border-radius:999px;border:1px solid #ffffff1a;width:max-content;max-width:calc(100% - 36px);text-align:center}
.room3d .roomBar{position:absolute;left:18px;right:18px;bottom:calc(22px + var(--safe));display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:560px;margin:0 auto}
.room3d .label3d{position:absolute;pointer-events:none;padding:8px 12px;border-radius:12px;background:#140a0cf0;border:1px solid var(--line);font-size:12px;max-width:220px;transform:translate(-50%,-120%);display:none}
.room3d .label3d b{display:block;font-family:'Playfair Display';font-style:italic;font-size:14px}

/* ===== PASSPORT ===== */
.passCover{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--line);padding:26px 22px;background:#140a0b}
.passCover:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#140a0bf2,#140a0b99),url('passport.jpg') center/cover}
.passCover>*{position:relative}
.countryChips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.countryChips span{display:inline-flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:12px;background:#5a1a22cc;border:1px solid #9b2c3a;font-size:13px}
.countryChips i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#ffffff14;font-size:10px;font-weight:700;letter-spacing:.04em}
.countryChips small{display:block;font-size:10px;color:#e6c9c9}
.stamps{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.stamp{position:relative;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;padding:18%;border:1.5px dashed #ffffff2e;color:var(--muted)}
.stamp b{font-family:'Italiana';font-size:18px;font-weight:400;line-height:1.05;color:#cdbfad}.stamp small{font-size:10.5px;line-height:1.3;display:block;margin-top:6px}
.stamp.earned{border:0;color:#2a1a07;background:radial-gradient(circle at 35% 30%,#f3d58f,#c4923c 60%,#8b6122);box-shadow:0 10px 30px -8px #d5a84f80,inset 0 0 0 6px #ffffff22,inset 0 0 0 7px #8b612255;transform:rotate(var(--tilt,-6deg))}
.stamp.earned b{color:#2a1a07}.stamp.earned small{color:#4a2f0c}
.stamp.earned:after{content:'SILO’S · MMXXI';position:absolute;bottom:13%;font-size:8px;letter-spacing:.24em;color:#4a2f0caa}
.stamp.earned.fresh{animation:stampIn .7s cubic-bezier(.3,1.6,.5,1) both}@keyframes stampIn{from{transform:scale(1.6) rotate(-20deg);opacity:0}}
.progress{height:8px;border-radius:4px;background:#ffffff10;overflow:hidden}.progress i{display:block;height:100%;background:var(--brass);border-radius:4px}

/* ===== JOURNAL ===== */
.jEntry{display:grid;gap:10px}
.jHead{display:flex;align-items:center;gap:10px}.jHead .av{width:34px;height:34px;border-radius:50%;background:var(--wine);display:grid;place-items:center;font-size:12px;font-weight:700;border:1px solid var(--wine2)}
.jHead small{margin-left:auto;color:var(--dim);font-size:11px}
.score{display:inline-grid;place-items:center;min-width:44px;height:44px;border-radius:10px;background:var(--brass);color:#24160a;font-family:'Playfair Display';font-size:18px;font-weight:600}
.quote{font-family:'Playfair Display';font-style:italic;font-size:16px;color:#eadfcd;margin:0;line-height:1.5}
.stars{display:flex;gap:4px}.stars button{background:none;border:0;font-size:30px;line-height:1;color:#ffffff30;padding:2px}.stars button.on{color:var(--gold2)}
.aromaGrid{display:flex;flex-wrap:wrap;gap:7px}

/* ===== SCAN ===== */
.modeTabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:14px;background:#0b0506b3;border:1px solid #ffffff1a;margin-bottom:14px}
.modeTabs button{padding:11px;border:0;border-radius:10px;background:none;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.modeTabs button.on{background:var(--wine);color:#fff}
.viewfinder{position:relative;aspect-ratio:3/4;max-height:62vh;width:100%;border-radius:22px;overflow:hidden;background:#0b0506;border:1px solid #ffffff1a;display:grid;place-items:center}
.viewfinder img{width:100%;height:100%;object-fit:cover}.viewfinder .corner{position:absolute;width:34px;height:34px;border:2px solid var(--rose)}
.viewfinder .c1{top:16px;left:16px;border-right:0;border-bottom:0;border-radius:10px 0 0 0}.viewfinder .c2{top:16px;right:16px;border-left:0;border-bottom:0;border-radius:0 10px 0 0}.viewfinder .c3{bottom:16px;left:16px;border-right:0;border-top:0;border-radius:0 0 0 10px}.viewfinder .c4{bottom:16px;right:16px;border-left:0;border-top:0;border-radius:0 0 10px 0}
.viewfinder .laser{position:absolute;left:8%;right:8%;height:2px;background:linear-gradient(90deg,transparent,#ef8f98,transparent);box-shadow:0 0 14px #ef8f98;top:20%;display:none}
.viewfinder.scanning .laser{display:block;animation:laser 1.8s ease-in-out infinite alternate}@keyframes laser{to{top:80%}}
.viewfinder .vfHint{position:absolute;bottom:22px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.14em;color:#f0dfd0;text-transform:uppercase}
.viewfinder .placeholder{text-align:center;color:var(--muted);padding:30px}
.viewfinder .placeholder svg{width:54px;height:54px;stroke:var(--gold);fill:none;stroke-width:1.2;margin-bottom:10px}
.listRow{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px 0;border-bottom:1px solid #ffffff12}.listRow b{font-weight:500}.listRow .fit{font-family:'Playfair Display';font-size:22px;color:var(--gold2)}
.listRow ul{grid-column:1/-1;margin:0;padding:0;list-style:none}.listRow li{font-size:12.5px;color:var(--muted)}.listRow li:before{content:'— ';color:var(--gold)}

/* ===== HOME / TODAY ===== */
.greet h1{font-family:'Italiana';font-weight:400;font-size:clamp(44px,9vw,74px);line-height:.95;margin:4px 0}
.memberCard{position:relative;border-radius:22px;padding:20px;overflow:hidden;background:linear-gradient(135deg,#5a1a22,#2a0d12 55%,#1a0a0c);border:1px solid #d5a84f55;box-shadow:0 20px 50px -20px #000}
.memberCard:after{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#d5a84f30,transparent 70%)}
.memberCard .row{display:flex;justify-content:space-between;align-items:center;gap:16px;position:relative;z-index:1}
.memberCard .code{font-family:'DM Sans';letter-spacing:.24em;font-size:12px;color:var(--gold2)}
.memberCard .qr{width:118px;height:118px;border-radius:14px;background:#fff;padding:7px;flex:none}.memberCard .qr img{width:100%;height:100%;display:block}
.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:760px){.tiles{grid-template-columns:repeat(3,1fr)}}
.tile{position:relative;min-height:178px;border-radius:20px;overflow:hidden;padding:16px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid #ffffff14;background:#1a0c0e;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s}
.tile:hover{transform:translateY(-3px);border-color:var(--gold)}
.tile:before{content:'';position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55;transition:opacity .3s,transform .6s}.tile:hover:before{opacity:.75;transform:scale(1.04)}
.tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,#0e0709ee)}
.tile>*{position:relative;z-index:1}.tile .kick{font-size:9.5px}.tile b{font-family:'Playfair Display';font-size:22px;font-weight:500;line-height:1.1}.tile small{color:#d7c8b4;font-size:12.5px}
.tile.host:before{background-image:url('host.jpg')}.tile.table:before{background-image:url('the-table.jpg')}.tile.cellar:before{background-image:url('cellar-room.jpg')}.tile.pass:before{background-image:url('passport.jpg')}
.tile.scan{background:radial-gradient(circle at 70% 20%,#9b2c3a66,#1a0c0e 70%)}.tile.journal{background:radial-gradient(circle at 30% 20%,#d5a84f33,#1a0c0e 70%)}
.tile .ico{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:50%;background:#0006;border:1px solid #ffffff22;display:grid;place-items:center}.tile .ico svg{width:17px;height:17px;stroke:var(--gold2);fill:none;stroke-width:1.6}
.recGrid{display:grid;gap:14px}@media(min-width:760px){.recGrid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1100px){.recGrid{grid-template-columns:repeat(3,1fr)}}
.feedbackForm{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.feedbackForm select,.feedbackForm input[name=note]{padding:10px;border-radius:10px;border:1px solid #ffffff22;background:#0b0506a8;color:var(--cream);font-size:13px}
.feedbackForm input[name=note]{grid-column:1/-1}.feedbackForm label{display:flex;align-items:center;gap:6px;font-size:12px;color:#dccfbb}
.libRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff10}.libRow b{font-weight:500}.libRow span{display:block;font-size:12px;color:var(--muted)}
.statusGrid16{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(min-width:760px){.statusGrid16{grid-template-columns:repeat(4,1fr)}}
.statusGrid16>div{padding:14px;border-radius:14px;background:#ffffff08;border:1px solid var(--line)}.statusGrid16 span{font-size:9.5px;letter-spacing:.2em;color:var(--gold)}.statusGrid16 b{display:block;font-family:'Playfair Display';font-size:22px;font-weight:500;margin-top:4px}
.tierCards16{display:grid;gap:12px}@media(min-width:760px){.tierCards16{grid-template-columns:repeat(3,1fr)}}
.tierCards16 article{padding:20px;border-radius:18px;border:1px solid var(--line);background:#ffffff06;position:relative}.tierCards16 article.feature{border-color:var(--gold);background:#d5a84f12}
.tierCards16 h3{font-family:'Italiana';font-weight:400;font-size:28px;margin:6px 0}.tierCards16 h3 b{font-family:'Playfair Display';font-size:30px;color:var(--gold2)}
.tierCards16 ul{padding-left:18px;margin:10px 0;color:#dccfbb;font-size:13.5px}.tierCards16 article.sel{box-shadow:0 0 0 2px var(--gold)}
.profileGrid{display:grid;gap:12px}@media(min-width:760px){.profileGrid{grid-template-columns:1fr 1fr}}
.pillSet{display:flex;flex-wrap:wrap;gap:8px}.pillSet label{position:relative}.pillSet input{position:absolute;opacity:0;pointer-events:none}.pillSet span{display:inline-block;padding:8px 13px;border-radius:999px;border:1px solid #ffffff22;font-size:13px;cursor:pointer}.pillSet input:checked+span{border-color:var(--gold);background:#d5a84f22;color:var(--gold2)}.pillSet input:focus-visible+span{outline:2px solid var(--gold2)}
.notice16{padding:12px 16px;border-radius:14px;background:#8fbf7a1f;border:1px solid #8fbf7a55;color:#cfe6c4;margin:6px 0 14px}.notice16:empty{display:none}
.installBar{display:none;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#ffffff0a;border:1px solid var(--line);margin:12px 0}.installBar.show{display:flex}.installBar p{margin:0;flex:1;font-size:13px}

/* age gate (mirrors the public site gate and its legal copy) */
.gate16{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 70% 25%,#4b1a13 0,#120e0b 40%,#070706 80%)}
.gate16 article{max-width:520px}.gate16 img{width:110px}.gate16 p.k{font-size:10px;letter-spacing:.28em;color:var(--gold)}.gate16 h2{font-family:'Italiana';font-weight:400;font-size:52px;margin:10px 0}
.gate16 form{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:10px;margin:18px 0}.gate16 input{padding:15px;text-align:center;border-radius:12px;border:1px solid var(--gold);background:#f8f2e5;color:#171512;font-family:'Italiana';font-size:20px}
.gate16 button{grid-column:1/-1;padding:16px;border:0;border-radius:12px;background:var(--brass);color:#1b1206;font-weight:700;letter-spacing:.14em}
.gate16 small{color:#cdbfad}.gate16 .err{color:#e5af9b;min-height:1.2em}
body.gated{overflow:hidden}
@media(max-width:420px){.appPage{padding:4px 14px 30px}.chips.scroll{margin:0 -14px;padding-left:14px;padding-right:14px}.bName{font-size:17px}.detailHero{grid-template-columns:104px 1fr}.detailHero .bottleImg{width:104px;height:144px}.trio b{font-size:28px}}
.pickNo{position:absolute;top:10px;right:14px;margin:0;font-size:28px;opacity:.9}
.pick .bottleRow{padding-right:26px}
[data-answer]{max-width:100%;scroll-margin-top:84px}
#tableResult,#scanOut{scroll-margin-top:84px}
@media(max-width:520px){.thread{padding:10px}.bubble{padding:14px}.bubble.host[data-answer]{padding:12px}.hostStage{border-radius:18px}.card.tight{padding:12px}}
.jEntry .memory{margin-top:12px;padding:10px 12px;border-left:2px solid var(--gold,#d5a84f);background:#ffffff08;border-radius:10px}.jEntry .memory .quote{margin:4px 0 0}.jHalf.private{margin-top:18px;padding-top:4px;border-top:1px dashed #ffffff22}
/* V16.1 alerts, reviews, social proof, releases */
.bellChip{position:relative;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffffff10;border:1px solid #ffffff22;color:#f6eddf;cursor:pointer}
.bellChip svg{width:20px;height:20px}.bellChip b{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--gold);color:#1a0c0e;font-size:10px;font-weight:600;display:grid;place-items:center}.bellChip b:empty,.bellChip b[data-zero]{display:none}
.appTopRight{gap:10px}
.sheetTitle{font-family:'Playfair Display',serif;font-size:26px;margin:6px 0 12px;line-height:1.15}
.noticeList{display:grid;gap:10px;margin-top:10px}
.notice{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:14px;border-radius:16px;background:#ffffff08;border:1px solid #ffffff14}
.notice.unread{border-color:#d5a84f66;background:linear-gradient(135deg,#d5a84f14,#ffffff06)}
.notice b{display:block;font-size:14.5px;line-height:1.3}.notice p{margin:4px 0 0;font-size:13px;line-height:1.5;color:#e8dccbcc}
.nIcon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:17px;background:#ffffff0d;color:var(--gold2)}
.nIcon.t-release{background:#761f2b55}.nIcon.t-review{color:#f0cf86}.nIcon.t-drink{color:#e9b9a0}
.nActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.linkBtn{background:none;border:0;color:var(--gold2);font:inherit;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:4px 0;cursor:pointer}
.alertPrefs{margin-top:18px;padding:14px;border-radius:14px;background:#ffffff06;border:1px solid #ffffff12}.alertPrefs summary{cursor:pointer;font-size:13px;letter-spacing:.06em;color:var(--gold2)}.alertPrefs .check{margin-top:10px}
.stars.big button{font-size:34px}
.proof{margin-top:6px;font-size:12px;color:#e8dccbcc}.proof b{color:#f6eddf}.proofStars{color:var(--gold2);letter-spacing:1px}
.marketAdds{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}.marketAdds .chip{font-size:12px}
.forYou{display:grid;gap:10px}.forYou .notice{background:#ffffff0a}
.release{overflow:hidden;padding:0}.release .relHero{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:16px;align-items:center}
.release .relHero img{width:96px;height:120px;object-fit:contain;background:#ffffff0a;border-radius:12px}
.release .relBody{padding:0 16px 16px}.release .relMeta{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.relStatus{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:#d5a84f22;color:var(--gold2)}
.relStatus.won{background:#59603b;color:#f6eddf}.relStatus.closed{background:#ffffff14;color:#e8dccb}
.rules{font-size:12.5px;line-height:1.6;color:#e8dccbcc;margin:10px 0 0}.chances{font-size:12.5px;margin-top:8px;color:#f6eddf}
.releaseBanner{display:grid;gap:6px;margin:14px 0 4px;padding:18px;background:radial-gradient(120% 140% at 100% 0,#761f2b88,transparent 60%),linear-gradient(135deg,#2a1215,#1a0c0e);border:1px solid #d5a84f55}
.releaseBanner b{font-family:'Playfair Display',serif;font-size:22px;font-weight:500}.releaseBanner small{color:#e8dccbcc;font-size:13px}.releaseBanner .relStatus{justify-self:start}
.marketAdds .chip{white-space:normal;max-width:100%;text-align:left;line-height:1.35;height:auto;padding-top:8px;padding-bottom:8px}
/* V16.2 home-screen app */
.homeSteps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.homeSteps li{display:flex;gap:14px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--glass)}
.homeSteps b{display:block;font-size:15px;color:var(--cream)}.homeSteps p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.45}
.hsIcon{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#0a64d822;color:#6fb1ff}
.hsIcon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hsIcon.gold{background:none}.hsIcon img{width:40px;height:40px;border-radius:11px;box-shadow:0 0 0 1px #d5a84f88,0 0 16px #d5a84f66}
.pushSlot{margin:16px 0 4px}.pushRow{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.pushRow.on{border-color:#d5a84f80;background:linear-gradient(135deg,#d5a84f1a,transparent)}
.pushRow>div{flex:1}.pushRow b{display:block;font-size:14px;color:var(--cream)}.pushRow p{margin:3px 0 0;font-size:12.5px;color:var(--muted);line-height:1.45}
.homeWelcome{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:calc(30px + env(safe-area-inset-top,0px)) 26px calc(30px + var(--safe));background:radial-gradient(90% 70% at 50% 35%,#5a1621,#1a0a0d 55%,#0b0607);opacity:0;transition:opacity .6s ease}
.homeWelcome.in{opacity:1}.homeWelcome.out{opacity:0;transition:opacity .6s ease,transform .7s ease;transform:scale(1.04);pointer-events:none}
.hwGlow{position:absolute;left:50%;top:30%;width:120vw;max-width:700px;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#d5a84f40,transparent 62%);animation:hwBreathe 4s ease-in-out infinite}
@keyframes hwBreathe{50%{opacity:.55;transform:translate(-50%,-50%) scale(1.06)}}
.hwInner{position:relative;width:min(420px,100%);text-align:center}
.hwLogo{width:120px;height:auto;margin:0 auto 22px;display:block;filter:drop-shadow(0 0 22px #d5a84f66);opacity:0;transform:translateY(10px) scale(.92)}
.homeWelcome.in .hwLogo{animation:hwUp .9s cubic-bezier(.2,.7,.2,1) .15s forwards}
.hwInner .kick,.hwInner h2,.hwLine,.hwInner .btn,.hwFine,.hwInner .linkBtn{opacity:0;transform:translateY(14px)}
.homeWelcome.in .kick{animation:hwUp .8s cubic-bezier(.2,.7,.2,1) .45s forwards}
.homeWelcome.in h2{animation:hwUp .9s cubic-bezier(.2,.7,.2,1) .6s forwards}
.homeWelcome.in .hwLine{animation:hwUp .8s cubic-bezier(.2,.7,.2,1) .8s forwards}
.homeWelcome.in .btn,.homeWelcome.in .hwFine,.homeWelcome.in .linkBtn{animation:hwUp .8s cubic-bezier(.2,.7,.2,1) 1s forwards}
@keyframes hwUp{to{opacity:1;transform:none}}
.hwInner h2{font-family:'Italiana',serif;font-weight:400;font-size:clamp(44px,12vw,64px);line-height:1;margin:12px 0 14px;color:var(--cream)}
.hwLine{color:#e4d6c0;font-size:16px;line-height:1.55;margin:0 0 26px}.hwFine{margin:12px 0 6px}
@media (prefers-reduced-motion:reduce){.homeWelcome *{animation:none!important;opacity:1!important;transform:none!important}}
