    :root{
      --bg:#12090d;--bg2:#1b0b12;--panel:#211318;--panel2:#2a171d;--card:#23161a;--card2:#2d1a20;
      --burg:#4a1424;--burg2:#6e2238;--burg3:#8a3e52;--cream:#2b2222;--gold:#d8b98a;
      --ink:#f4eeee;--muted:#bcaeb2;--subtle:#8f7d82;--line:#442a31;--chip:#3a242b;--shadow:0 10px 30px rgba(0,0,0,.42);
      --radius:16px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--keyboard-offset:0px;
      --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    }
    *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
    html,body{margin:0;min-height:100%;font-family:var(--font);background:radial-gradient(circle at top,#2d111b 0%,var(--bg) 40%,#0d0709 100%);color:var(--ink);-webkit-font-smoothing:antialiased}
    body{padding-bottom:calc(190px + var(--safe-bottom));}
    button,input,select{font:inherit}button{border:0;cursor:pointer;touch-action:manipulation}input,select{width:100%;min-height:40px;border:1px solid #56323b;border-radius:12px;background:#180d11;color:var(--ink);padding:9px 10px;font-size:16px;outline:none}input::placeholder{color:#8f7f83}input:focus,select:focus{border-color:var(--burg3);box-shadow:0 0 0 4px rgba(138,62,82,.18)}
    .app-header{position:sticky;top:0;z-index:50;padding:calc(8px + var(--safe-top)) 14px 9px;background:linear-gradient(180deg,#3b101d 0%,#250711 100%);color:white;box-shadow:0 3px 16px rgba(0,0,0,.35)}
    .header-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;max-width:920px;margin:0 auto}.app-title{margin:0;font-size:1.08rem;font-weight:950;line-height:1.05}.app-subtitle{font-size:.7rem;color:#d8c9ce;font-weight:650;margin-top:1px}.count-pill{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.11);font-weight:900;font-size:.86rem;white-space:nowrap;color:#fff}
    main{max-width:920px;margin:0 auto;padding:9px 10px 0}.result-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px 2px 8px;color:var(--muted);font-size:.86rem;font-weight:800}.sort-note{font-size:.74rem;color:var(--subtle);text-align:right}.empty{padding:22px 16px;border-radius:16px;background:linear-gradient(180deg,#211318,#180d11);box-shadow:var(--shadow);border:1px solid var(--line);text-align:center;color:var(--muted);line-height:1.35;font-weight:650}
    .results{margin-top:1px}.wine-card{background:linear-gradient(180deg,var(--card2),var(--card));border-radius:14px;box-shadow:var(--shadow);border:1px solid #3a2229;overflow:hidden;margin-bottom:8px}.card-top{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:linear-gradient(180deg,#382226,#2c1a1d);border-bottom:1.5px solid #8c6b4b}.mini{min-width:0;padding:6px 5px;text-align:center;border-right:1px solid #4c3034}.mini:last-child{border-right:0}.mini-label{display:block;margin-bottom:2px;color:#c8a778;font-size:.59rem;line-height:1;font-weight:950;letter-spacing:.08em}.mini-value{display:block;color:#fff;font-size:.88rem;line-height:1;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-body{padding:9px 11px 10px}.wine-name{margin:0 0 4px;font-size:1rem;line-height:1.15;font-weight:950;color:#fff}.region-line{margin:0 0 8px;font-size:.88rem;line-height:1.18;font-style:italic;font-weight:720;color:#dacdd0}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{padding:4px 7px;border-radius:999px;background:#332226;color:#eadfe2;font-size:.66rem;font-weight:850;line-height:1.05;letter-spacing:.02em}.tag.grape{background:#4b2630;color:#fff0e2}
    .dock-inner,.filter-window{max-width:920px;margin:0 auto;background:rgba(33,19,24,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid #432630;box-shadow:0 -10px 34px rgba(0,0,0,.36);border-radius:18px;padding:8px}.filter-window{margin-top:7px;max-height:58px;overflow:auto}.filter-window:empty{display:none}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}.search-wrap{position:relative;min-width:0}.apply-btn{min-height:42px;border-radius:13px;padding:0 15px;background:var(--burg2);color:#fff;font-weight:950}.apply-btn:active,.apply-btn.pulse{transform:scale(.96);filter:brightness(1.18)}.dock-btn.reset{background:#180d11;color:#e7cdd4;border-color:#5b3540}.dock-btn:active{transform:translateY(1px);filter:brightness(1.12)}
    .chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 8px;border-radius:999px;background:#3a2029;border:1px solid #5a3440;color:#fff;font-size:.78rem;font-weight:850;margin:2px}.chip button{width:19px;height:19px;min-height:19px;border-radius:999px;background:#57323e;color:#fff;padding:0;font-size:.9rem;line-height:1}
    .backdrop{position:fixed;inset:0;display:none;z-index:140;background:rgba(0,0,0,.56)}.backdrop.open{display:block}.drawer{position:fixed;left:0;right:0;bottom:0;z-index:150;display:none;max-height:min(86vh,770px);padding:9px 12px calc(12px + var(--safe-bottom));background:#180d11;border-radius:24px 24px 0 0;box-shadow:0 -16px 38px rgba(0,0,0,.52);border-top:1px solid #4c2a33}.drawer.open{display:block}.handle{width:52px;height:5px;background:#6e5a60;border-radius:999px;margin:0 auto 9px}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.drawer-title{margin:0;color:#fff;font-size:1.1rem;font-weight:950}.head-actions{display:flex;gap:6px;align-items:center}.small-btn{min-height:36px;padding:0 11px;border-radius:12px;font-size:.84rem;font-weight:900}.cancel{background:#302027;color:#f6e7eb}.reset-small{background:#211318;color:#e4c9d0;border:1px solid #57313c}.done{background:var(--burg2);color:#fff}.x-btn{width:34px;min-height:34px;border-radius:999px;background:#3b3033;color:#c8bfc2;font-size:1.1rem;padding:0}.drawer-body{overflow:auto;max-height:calc(86vh - 76px - var(--safe-bottom));padding:0 0 4px}.compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.field label,.hybrid label,.range-title{display:block;margin:0 0 4px 2px;color:#c8a778;font-size:.68rem;font-weight:950;letter-spacing:.08em}.field select{min-height:40px;font-size:.9rem;border-radius:12px;background:#211318}.hybrid-input{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:5px}.hybrid-input input{min-height:40px;font-size:.9rem}.drop-btn{min-height:40px;border-radius:12px;background:#2c1a20;color:#fff;border:1px solid #4e2c36;font-weight:950}.hybrid-options{display:none;max-height:170px;overflow:auto;margin-top:5px;border-radius:12px;border:1px solid #4e2c36;background:#211318}.hybrid-options.open{display:block}.option-row{padding:10px 11px;border-bottom:1px solid #382129;font-size:.88rem;font-weight:750}.option-row:last-child{border-bottom:0}.option-row:active{background:#3a2029}.quick-grid{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 12px}.bubble{min-height:34px;border-radius:999px;background:#2d1b21;color:#f0e3e6;border:1px solid #4c2d35;padding:0 10px;font-size:.78rem;font-weight:880}.bubble.active{background:var(--burg2);border-color:#a85a70;color:#fff}.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}.check-pill{display:flex;align-items:center;gap:5px;min-height:32px;border-radius:10px;background:#211318;border:1px solid #3d252c;color:#f1e5e8;padding:0 7px;font-size:.76rem;font-weight:800}.check-pill input{width:15px;min-height:auto;height:15px;accent-color:var(--burg3)}.range-card{margin:7px 0 11px;padding:10px;border-radius:16px;background:#211318;border:1px solid #3c252b}.range-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.range-current{color:#e8c78e;font-size:.84rem;font-weight:950}.range-wrap{position:relative;height:42px;margin:0 3px 8px}.range-track{position:absolute;left:0;right:0;top:19px;height:4px;border-radius:999px;background:#4a343a}.range-fill{position:absolute;top:19px;height:4px;border-radius:999px;background:var(--burg3)}.range-wrap input[type=range]{position:absolute;left:0;top:9px;width:100%;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}.range-wrap input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:24px;width:24px;border-radius:50%;background:var(--burg3);border:3px solid #eadfe2;box-shadow:0 2px 10px rgba(0,0,0,.35);pointer-events:auto}.range-wrap input[type=range]::-webkit-slider-runnable-track{height:4px;background:transparent}.range-tip{position:absolute;top:-18px;transform:translateX(-50%) scale(.92);opacity:0;padding:4px 7px;border-radius:8px;background:#e8d7db;color:#250711;font-size:.75rem;font-weight:950;box-shadow:0 4px 12px rgba(0,0,0,.35);transition:opacity .12s, transform .12s;pointer-events:none;white-space:nowrap}.range-tip.show{opacity:1;transform:translateX(-50%) scale(1)}.markers{display:flex;justify-content:space-between;color:#8f7d82;font-size:.58rem;font-weight:800;margin:0 1px 7px}.range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.range-inputs label{font-size:.62rem;color:#bda580;font-weight:950;letter-spacing:.08em}.range-inputs input{min-height:38px;font-size:.88rem}.section-title{margin:12px 0 5px;color:#c8a778;font-size:.72rem;font-weight:950;letter-spacing:.08em}
    @media (max-height:720px){.check-grid{grid-template-columns:repeat(5,1fr)}.drawer-body{max-height:calc(86vh - 70px - var(--safe-bottom))}.wine-card{margin-bottom:7px}.card-body{padding:8px 10px}.mini{padding:5px 4px}}

    /* v6 visual polish: reflective gold accents */
    @keyframes goldSweep{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
    .wine-card,.dock-inner,.filter-window,.drawer,input,select,.apply-btn,.drop-btn,.small-btn,.x-btn{position:relative}
    .wine-card{border:1px solid transparent;background:linear-gradient(180deg,var(--card2),var(--card)) padding-box,linear-gradient(120deg,rgba(151,104,45,.55),rgba(255,226,159,.95),rgba(116,78,28,.55),rgba(255,235,175,.82)) border-box;background-size:auto,240% 240%;animation:goldSweep 7s ease infinite;box-shadow:0 10px 24px rgba(0,0,0,.46),0 0 18px rgba(216,185,138,.10);}
    .mini{background:var(--burg2);border-right:1px solid #f3d98f!important;border-bottom:1px solid #f3d98f;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,226,159,.18)}
    .mini-label{color:#f7dc98}.mini-value{color:#fff}
    .card-top{background:transparent;border-bottom:1.5px solid #f4d889}
    .hybrid-input input,.range-inputs input,input[type=number],select,.apply-btn,.drop-btn{border:1px solid transparent;background:linear-gradient(#180d11,#180d11) padding-box,linear-gradient(120deg,rgba(151,104,45,.50),rgba(255,226,159,.90),rgba(116,78,28,.50)) border-box;background-size:auto,220% 220%;animation:goldSweep 8s ease infinite;}
    .drop-btn{background:linear-gradient(#2d1b21,#2d1b21) padding-box,linear-gradient(120deg,rgba(151,104,45,.55),rgba(255,226,159,.9),rgba(116,78,28,.55)) border-box;background-size:auto,220% 220%;}
    .apply-btn,.done{background:linear-gradient(var(--burg2),var(--burg2)) padding-box,linear-gradient(120deg,rgba(151,104,45,.55),rgba(255,226,159,.9),rgba(116,78,28,.55)) border-box;background-size:auto,220% 220%;animation:goldSweep 8s ease infinite;}
    .filter-window:not(:empty)::before{content:'Applied Filters';display:block;color:#f7dc98;font-size:.66rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase;margin:0 0 4px 4px;}
    .filter-window .chip{background:#6e2238;border-color:#f3d98f;color:#fff;box-shadow:0 0 10px rgba(216,185,138,.12)}
    .filter-window .chip button{background:#8a3e52;color:#fff}
    .subdrawer-btn{width:100%;min-height:42px;margin:8px 0 10px;border-radius:14px;background:linear-gradient(#2d1b21,#2d1b21) padding-box,linear-gradient(120deg,rgba(151,104,45,.55),rgba(255,226,159,.95),rgba(116,78,28,.55)) border-box;border:1px solid transparent;color:#fff;font-weight:950;animation:goldSweep 8s ease infinite;}
    .price-panel{display:block}.price-panel.hidden{display:none}.subdrawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px}.subdrawer-title{color:#fff;font-weight:950;font-size:.96rem}.back-sub{min-height:34px;border-radius:12px;background:#302027;color:#f6e7eb;padding:0 10px;font-size:.82rem;font-weight:900}

  
    /* WineStack v7 polish */
    @keyframes floatDockIn{0%{transform:translateY(-120vh) scale(.98);opacity:0}70%{transform:translateY(8px) scale(1);opacity:1}100%{transform:translateY(0);opacity:1}}
    @keyframes textFadeIn{0%,62%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
    @keyframes brassShine{0%{filter:drop-shadow(0 0 0 rgba(244,203,115,0)); transform:perspective(400px) rotateY(-6deg)}45%{filter:drop-shadow(0 0 14px rgba(255,223,150,.85)); transform:perspective(400px) rotateY(6deg)}100%{filter:drop-shadow(0 0 0 rgba(244,203,115,0)); transform:perspective(400px) rotateY(-6deg)}}
    @keyframes markGlow{0%{box-shadow:0 0 0 rgba(241,190,105,0)}50%{box-shadow:0 0 18px rgba(241,190,105,.28)}100%{box-shadow:0 0 0 rgba(241,190,105,0)}}
    .app-header, main{animation:textFadeIn .65s ease .85s both;}
    .app-header{padding:calc(6px + var(--safe-top)) 10px 7px;}
    .header-grid{display:grid;grid-template-columns:74px minmax(0,1fr) 86px;align-items:center;gap:8px;max-width:920px;}
    .brand-block,.restaurant-block,.search-count-block{text-align:center;min-width:0;}
    .brand-block{justify-self:start;width:74px}
    .brand-name{font-size:.66rem;font-weight:950;letter-spacing:.02em;color:#fff;margin-top:2px}
    .wstack-mark{width:34px;height:34px;margin:0 auto;border-radius:10px;background:linear-gradient(145deg,#6d2035,#2d0b15);border:1px solid rgba(244,203,115,.75);position:relative;animation:markGlow 5s ease-in-out infinite;}
    .wstack-mark:before{content:"";position:absolute;left:15px;top:5px;width:4px;height:24px;border-radius:4px;background:linear-gradient(#f4d486,#b1762e);transform:rotate(22deg)}
    .wstack-mark:after{content:"";position:absolute;left:6px;right:6px;bottom:7px;height:9px;border-radius:100% 100% 40% 40%;background:repeating-linear-gradient(90deg,#c98b3a 0 3px,#f0c46e 3px 5px);opacity:.95}
    .restaurant-block{justify-self:center;}
    .restaurant-logo{display:block;width:min(64px,16vw);height:auto;margin:0 auto -1px;object-fit:contain;animation:brassShine 3.3s ease-in-out infinite;}
    .restaurant-name{font-size:.62rem;font-weight:850;color:#ecdfe3;line-height:1.05;white-space:normal;text-shadow:0 1px 1px rgba(0,0,0,.6)}
    .search-count-block{justify-self:end;width:86px;text-align:right}
    .search-label{font-size:.66rem;font-weight:950;color:#fff;margin-bottom:3px}
    .count-pill{display:inline-block;font-size:.78rem;padding:6px 8px;background:rgba(255,255,255,.10);border:1px solid rgba(241,190,105,.32)}
    .landing-copy{padding:10px 12px;margin:2px 0 9px;border-radius:14px;background:rgba(24,13,17,.72);border:1px solid #4a2731;color:#f3e6ea;font-size:.86rem;line-height:1.28;font-weight:700;box-shadow:var(--shadow)}
    .dock-inner,.filter-window{background:rgba(18,8,12,.98);border-color:rgba(241,190,105,.42);box-shadow:0 -10px 38px rgba(0,0,0,.56), inset 0 0 0 1px rgba(255,255,255,.03)}
    .box-label{position:absolute;left:10px;top:4px;color:var(--gold);font-size:.58rem;font-weight:950;letter-spacing:.08em;z-index:2}
    .search-wrap{position:relative}
    .clear-input{display:none;position:absolute;right:9px;top:50%;transform:translateY(-50%);width:23px;height:23px;min-height:23px;border-radius:999px;background:#4a4246;color:#d0c7ca;font-weight:950;line-height:1;padding:0;z-index:5}
    .clear-input.visible{display:block}
    .hybrid-clear{right:43px!important;top:50%!important}
    input.clearable-input{padding-right:38px}
    .hybrid-input input.clearable-input{padding-right:72px}
    body.focus-mode main, body.drawer-open main, body.drawer-open .bottom-area{filter:blur(4px);transition:filter .18s ease;}
    body.focus-mode .app-header{filter:blur(2px);transition:filter .18s ease;}
    body.focus-mode .bottom-area{z-index:160}
    .filter-window:before{content:"Applied Filters";display:block;color:#f8d58e;font-size:.64rem;font-weight:950;letter-spacing:.08em;margin:0 0 5px 3px;text-transform:uppercase}
    .filter-window:empty:before{display:none}
    .filter-window .chip{background:linear-gradient(180deg,#8a3e52,#5b1b2b);border-color:#ffd67a;color:#fff;box-shadow:0 0 10px rgba(241,190,105,.12)}

  
    /* WineStack v8 — official branded application treatment */
    :root{
      --bg:#120407;
      --bg2:#1d070d;
      --panel:#211015;
      --panel2:#2e111a;
      --card:#241116;
      --card2:#33141e;
      --burg:#521326;
      --burg2:#711d35;
      --burg3:#8e2f49;
      --brass-shadow:#784312;
      --brass-dark:#9a5c1c;
      --brass-mid:#c48635;
      --brass-light:#efcf83;
      --gold:#d6ad60;
      --ink:#f5eeee;
      --muted:#b9afb1;
      --subtle:#8f8185;
      --line:#5b3540;
      --chip:#4d1c2d;
      color-scheme:dark;
    }

    html{
      min-height:100%;
      min-height:-webkit-fill-available;
      background:#120407!important;
      overscroll-behavior-y:none;
    }
    body{
      min-height:100vh;
      min-height:100dvh;
      min-height:-webkit-fill-available;
      background:#120407!important;
      overscroll-behavior-y:none;
      position:relative;
      isolation:isolate;
    }
    body::before{
      content:"";
      position:fixed;
      inset:0;
      z-index:-1;
      pointer-events:none;
      background:
        linear-gradient(rgba(18,4,7,.34),rgba(18,4,7,.44)),
        url("../assets/winestack-backsplash.jpg") center 43% / cover no-repeat;
      opacity:0;
      animation:backsplashFade 2.15s ease 2.65s forwards;
    }

    .app-header{
      animation:none!important;
      background:
        linear-gradient(180deg,rgba(48,8,18,.98),rgba(24,3,8,.98))!important;
      border-bottom:1px solid rgba(214,173,96,.36);
      box-shadow:0 4px 18px rgba(0,0,0,.55),inset 0 -1px rgba(239,207,131,.08);
      padding:calc(5px + var(--safe-top)) 10px 6px!important;
    }
    main{animation:none!important;position:relative;z-index:1;min-height:calc(100dvh - 115px);}
    .header-grid{
      grid-template-columns:92px minmax(0,1fr) 96px!important;
      min-height:61px;
      align-items:center!important;
    }
    .brand-block{width:92px!important;justify-self:start!important;}
    .restaurant-block{justify-self:center!important;}
    .header-logo{
      display:block;
      opacity:0;
      object-fit:contain;
      will-change:filter,opacity;
      animation:
        brandLogoFade 2.15s ease 2.65s forwards,
        logoBrassShimmer 7.6s ease-in-out 4.9s infinite;
    }
    .winestack-header-logo{width:82px;height:58px;margin:0 auto;}
    .restaurant-logo{width:68px!important;height:58px;margin:0 auto!important;}
    .brand-name,.restaurant-name,.wstack-mark{display:none!important;}
    .search-count-block{width:96px!important;}
    .search-label{
      font-size:.82rem!important;
      line-height:1.05;
      letter-spacing:.015em;
      color:#f5edea!important;
      margin-bottom:4px!important;
    }
    .count-pill{
      font-size:.78rem!important;
      color:#fff!important;
      background:linear-gradient(180deg,rgba(113,29,53,.75),rgba(67,13,28,.82))!important;
      border:1px solid rgba(214,173,96,.48)!important;
      box-shadow:inset 0 1px rgba(239,207,131,.12),0 3px 9px rgba(0,0,0,.28);
    }

    .landing-copy{
      max-width:760px;
      margin:11px auto 9px!important;
      padding:4px 14px!important;
      border:0!important;
      background:transparent!important;
      box-shadow:none!important;
      text-align:center;
      color:#bcb5b7!important;
      font-size:.88rem!important;
      line-height:1.38!important;
      font-weight:650!important;
      opacity:0;
      animation:instructionsFade 2.15s ease 6.65s forwards;
      text-shadow:0 2px 8px rgba(0,0,0,.72);
    }
    .landing-copy.hidden{display:none;}
    .result-meta:empty,.results:empty{display:none;}

    /* Slow opening sequence: controls first, logos/background, general text, instructions last. */
    .box-label,.apply-btn,.search-label,.count-pill,.clear-input,.drawer-title,.small-btn,.x-btn,.field label,.hybrid label,.range-title,.section-title{
      opacity:0;
      animation:interfaceTextFade 1.95s ease 4.85s forwards;
    }
    input::placeholder{
      opacity:0;
      animation:placeholderFade 1.95s ease 4.85s forwards;
    }

    /* Cohesive burgundy + reflective brass palette */
    .dock-inner,.filter-window,.drawer{
      background:linear-gradient(180deg,rgba(34,12,19,.985),rgba(18,5,9,.99)) padding-box,
                 linear-gradient(115deg,var(--brass-shadow),var(--brass-light),var(--brass-dark),#e2ae54,var(--brass-shadow)) border-box!important;
      border:1px solid transparent!important;
      background-size:auto,260% 260%!important;
      animation:brassSurfaceShimmer 10s ease-in-out infinite!important;
      box-shadow:0 -10px 38px rgba(0,0,0,.62),inset 0 1px rgba(239,207,131,.08)!important;
    }
    .wine-card{
      background:linear-gradient(180deg,rgba(50,20,29,.97),rgba(29,11,17,.98)) padding-box,
                 linear-gradient(125deg,#6e3a10,#e3b761,#9c5c1c,#f0d58c,#75400f) border-box!important;
      background-size:auto,280% 280%!important;
      border:1px solid transparent!important;
      animation:brassSurfaceShimmer 11.5s ease-in-out infinite!important;
      box-shadow:0 12px 28px rgba(0,0,0,.52),inset 0 1px rgba(239,207,131,.05)!important;
    }
    .mini{
      background:linear-gradient(180deg,#77213a,#4c1024)!important;
      border-color:#d4a85b!important;
      box-shadow:inset 0 1px rgba(245,219,157,.16),inset 0 -6px 16px rgba(40,4,12,.24)!important;
    }
    .mini-label{color:#efd190!important;}
    .hybrid-input input,.range-inputs input,input[type=number],select{
      background:linear-gradient(#18080d,#18080d) padding-box,
                 linear-gradient(110deg,#6f3d12,#e8c574,#9b5d20,#f2d997,#75400f) border-box!important;
      background-size:auto,260% 260%!important;
      border:1px solid transparent!important;
      animation:brassSurfaceShimmer 10.5s ease-in-out infinite!important;
      box-shadow:inset 0 2px 10px rgba(0,0,0,.34),0 3px 10px rgba(0,0,0,.20);
    }
    .apply-btn,.drop-btn,.small-btn,.x-btn,.subdrawer-btn{
      background:linear-gradient(180deg,#351521,#211017) padding-box,
                 linear-gradient(110deg,#704012,#e7c06b,#9c5b1d,#f0d58c,#77410f) border-box!important;
      background-size:auto,260% 260%!important;
      border:1px solid transparent!important;
      animation:brassSurfaceShimmer 10s ease-in-out infinite!important;
      box-shadow:inset 0 1px rgba(244,214,145,.10),0 3px 10px rgba(0,0,0,.23);
    }
    .apply-btn,.done{
      background:linear-gradient(180deg,#8c2948,#5b142c) padding-box,
                 linear-gradient(110deg,#75410f,#f0d087,#a46120,#efc76f,#75410f) border-box!important;
    }
    .dock-btn.reset,.reset-small{
      background:linear-gradient(180deg,#211016,#15080c) padding-box,
                 linear-gradient(110deg,#5c3210,#bd8137,#76420f) border-box!important;
      color:#e7d9dc!important;
    }
    .tag.grape{background:#5b1c31!important;color:#fff0e8!important;}
    .tag{background:#321820!important;color:#eee5e7!important;}
    .bubble.active{background:#7d2441!important;border-color:#d3a054!important;}
    .range-fill{background:linear-gradient(90deg,#925219,#e1b45d,#a86825)!important;}
    .range-wrap input[type=range]::-webkit-slider-thumb{
      background:linear-gradient(145deg,#efcf83,#9b5b1e)!important;
      border-color:#f7e4b8!important;
    }
    .filter-window .chip{
      background:linear-gradient(180deg,#7a2441,#501328)!important;
      border-color:#ddb86f!important;
      color:#fff!important;
    }
    .filter-window .chip button{background:#9b3c59!important;}

    /* Prevent any uncovered white viewport/safe-area region. */

    .apply-btn,.small-btn,.x-btn{
      opacity:0;
      animation:
        interfaceTextFade 1.95s ease 4.85s forwards,
        brassSurfaceShimmer 10s ease-in-out 6.8s infinite!important;
    }

    @keyframes controlsFloatDown{
      0%{transform:translateY(-125vh);opacity:1}
      78%{transform:translateY(10px);opacity:1}
      100%{transform:translateY(0);opacity:1}
    }
    @keyframes backsplashFade{
      from{opacity:0}
      to{opacity:.72}
    }
    @keyframes brandLogoFade{
      from{opacity:0}
      to{opacity:1}
    }
    @keyframes interfaceTextFade{
      from{opacity:0}
      to{opacity:1}
    }
    @keyframes placeholderFade{
      from{opacity:0}
      to{opacity:1}
    }
    @keyframes instructionsFade{
      from{opacity:0;transform:translateY(8px)}
      to{opacity:1;transform:translateY(0)}
    }
    @keyframes brassSurfaceShimmer{
      0%{background-position:0 0,0% 50%;filter:brightness(.96)}
      45%{background-position:0 0,100% 50%;filter:brightness(1.035)}
      100%{background-position:0 0,0% 50%;filter:brightness(.96)}
    }
    @keyframes logoBrassShimmer{
      0%,100%{filter:drop-shadow(0 3px 5px rgba(0,0,0,.52)) brightness(.91) contrast(1.05)}
      48%{filter:drop-shadow(0 4px 9px rgba(183,105,28,.42)) brightness(1.17) contrast(1.09)}
      62%{filter:drop-shadow(0 3px 7px rgba(239,197,107,.30)) brightness(1.02) contrast(1.07)}
    }

    @media (max-width:430px){
      .header-grid{grid-template-columns:84px minmax(0,1fr) 90px!important;}
      .brand-block{width:84px!important;}
      .winestack-header-logo{width:76px;height:54px;}
      .restaurant-logo{width:62px!important;height:54px;}
      .search-count-block{width:90px!important;}
      .search-label{font-size:.76rem!important;}
    }

  
    /* WineStack v9 — launch choreography and interaction repairs */
    body::before{
      animation:backsplashFade 2.15s ease 0s forwards!important;
    }
    .header-logo{
      animation:brandLogoFade 2.15s ease 2.65s forwards,logoBrassShimmer 7.6s ease-in-out 4.8s infinite!important;
    }
    .box-label,.apply-btn,.clear-input,.drawer-title,.small-btn,.x-btn,.field label,.hybrid label,.range-title,.section-title,.venue-name{
      animation:interfaceTextFade 2.15s ease 2.65s forwards!important;
    }
    input::placeholder{
      animation:placeholderFade 2.15s ease 2.65s forwards!important;
    }
    .landing-copy{
      animation:instructionsFade 2.15s ease 2.65s forwards!important;
    }

    .header-grid{
      grid-template-columns:88px minmax(0,1fr) 132px!important;
    }
    .venue-block{
      justify-self:end;
      width:132px;
      text-align:right;
      min-width:0;
    }
    .venue-name{
      color:#ead9d5;
      font-size:.69rem;
      line-height:1.16;
      font-weight:850;
      letter-spacing:.015em;
      text-wrap:balance;
      text-shadow:0 2px 8px rgba(0,0,0,.72);
      opacity:0;
    }
    .search-count-block,.search-label,.count-pill{display:none!important;}

    /* iOS: 16px prevents automatic input zoom. */
    input,select,textarea,.hybrid-input input,.range-inputs input,input[type=number]{
      font-size:16px!important;
      touch-action:manipulation;
    }

    /* Drawers must always sit above the blurred application surface. */
    .backdrop{z-index:980!important;}
    .drawer{
      z-index:1000!important;
      visibility:hidden;
      opacity:0;
      pointer-events:none;
      display:block!important;
      transform:translateY(104%);
      transition:transform .24s ease,opacity .2s ease,visibility 0s linear .24s;
    }
    .drawer.open{
      visibility:visible;
      opacity:1;
      pointer-events:auto;
      transform:translateY(0);
      transition:transform .24s ease,opacity .2s ease,visibility 0s;
    }
    body.drawer-open main,body.drawer-open .app-header,body.drawer-open .bottom-area{
      filter:blur(4px)!important;
      pointer-events:none;
    }
    body.focus-mode .bottom-area{z-index:90!important;}
    body.drawer-open .bottom-area{z-index:90!important;}

    @keyframes controlsFloatUp{
      0%{transform:translateY(calc(100% + 34px));opacity:1}
      78%{transform:translateY(-7px);opacity:1}
      100%{transform:translateY(0);opacity:1}
    }

    @media(max-width:430px){
      .header-grid{grid-template-columns:80px minmax(0,1fr) 124px!important;}
      .venue-block{width:124px;}
      .venue-name{font-size:.65rem;line-height:1.14;}
    }

  

    /* WineStack v10 — contextual active-control brass shimmer */
    .search-wrap,.hybrid-input,.drawer{isolation:isolate;}
    .search-wrap{border-radius:18px;}
    .hybrid-input{border-radius:13px;}

    .search-control-line .labeled-search::after,
    .search-wrap.search-engaged::after,
    .hybrid-input.search-engaged::after,
    .dock-btn.active-filter::after,
    .external-reset.has-active-filters::after,
    .drawer.active-filter::after{
      content:"";
      position:absolute;
      inset:-2px;
      border-radius:inherit;
      padding:2px;
      pointer-events:none;
      z-index:12;
      background:linear-gradient(105deg,
        #6b350c 0%,
        #a9631f 18%,
        #f3d68c 34%,
        #c57a28 47%,
        #7f410f 61%,
        #efbd61 77%,
        #6b350c 100%);
      background-size:320% 100%;
      -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
      -webkit-mask-composite:xor;
      mask-composite:exclude;
      filter:drop-shadow(0 0 5px rgba(222,153,57,.55)) drop-shadow(0 0 10px rgba(114,57,13,.35));
      animation:activeBrassBorderSweep 1.8s linear infinite;
    }

    .dock-btn.active-filter{
      color:#fff8e8!important;
      box-shadow:
        inset 0 1px rgba(255,232,176,.18),
        0 0 0 1px rgba(221,163,73,.24),
        0 0 14px rgba(160,83,22,.30)!important;
    }

    .drawer.active-filter::after{
      inset:0;
      border-radius:24px 24px 0 0;
      padding:2px 2px 0;
      z-index:220;
    }

    @keyframes activeBrassBorderSweep{
      0%{background-position:150% 50%;filter:drop-shadow(0 0 4px rgba(222,153,57,.40)) drop-shadow(0 0 8px rgba(114,57,13,.28));}
      50%{filter:drop-shadow(0 0 7px rgba(243,190,89,.72)) drop-shadow(0 0 13px rgba(155,78,18,.42));}
      100%{background-position:-150% 50%;filter:drop-shadow(0 0 4px rgba(222,153,57,.40)) drop-shadow(0 0 8px rgba(114,57,13,.28));}
    }

  
    /* WineStack v11 — drawer compositor repair, header balance, slower shimmer */

    .header-grid{
      grid-template-columns:92px minmax(0,1fr) 92px!important;
      gap:8px!important;
    }
    .venue-block{
      width:92px!important;
      min-width:92px!important;
      justify-self:end!important;
      align-self:center;
      text-align:right!important;
    }
    .venue-name{
      display:flex;
      flex-direction:column;
      align-items:flex-end;
      justify-content:center;
      gap:1px;
      width:100%;
      color:#ead9d5!important;
      font-size:.61rem!important;
      line-height:1.07!important;
      font-weight:820!important;
      letter-spacing:.012em!important;
      text-align:right!important;
    }
    .venue-name span{
      display:block;
      width:100%;
      white-space:nowrap;
      text-align:right;
    }

    /* Use the overlay itself for Gaussian blur. Direct CSS filters on fixed
       siblings can cause WebKit to composite the drawer underneath them. */
    body.drawer-open main,
    body.drawer-open .app-header,
    body.drawer-open .bottom-area,
    html.drawer-open main,
    html.drawer-open .app-header,
    html.drawer-open .bottom-area{
      filter:none!important;
      -webkit-filter:none!important;
    }

    #backdrop.backdrop{
      position:fixed!important;
      inset:0!important;
      display:block!important;
      visibility:hidden;
      opacity:0;
      pointer-events:none;
      z-index:2147483000!important;
      background:rgba(10,2,5,.50)!important;
      -webkit-backdrop-filter:blur(7px) saturate(.82)!important;
      backdrop-filter:blur(7px) saturate(.82)!important;
      transition:opacity .24s ease,visibility 0s linear .24s!important;
      transform:translateZ(0);
      -webkit-transform:translateZ(0);
    }
#backdrop.backdrop.open{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  touch-action:none;
      transition:opacity .24s ease,visibility 0s!important;
    }

    section.drawer{
      position:fixed!important;
      left:0!important;
      right:0!important;
      top:auto!important;
      bottom:0!important;
      display:block!important;
      visibility:hidden;
      opacity:0;
      pointer-events:none;
      z-index:2147483600!important;
      max-height:min(86dvh,770px)!important;
      transform:translate3d(0,110%,0)!important;
      -webkit-transform:translate3d(0,110%,0)!important;
      transition:
        transform .32s cubic-bezier(.22,.82,.29,1),
        opacity .22s ease,
        visibility 0s linear .32s!important;
      will-change:transform,opacity;
      backface-visibility:hidden;
      -webkit-backface-visibility:hidden;
      isolation:auto!important;
      filter:none!important;
      -webkit-filter:none!important;
      animation:none!important;
      overflow:hidden;
    }
    section.drawer.open{
      visibility:visible!important;
      opacity:1!important;
      pointer-events:auto!important;
      transform:translate3d(0,0,0)!important;
      -webkit-transform:translate3d(0,0,0)!important;
      transition:
        transform .32s cubic-bezier(.22,.82,.29,1),
        opacity .22s ease,
        visibility 0s!important;
    }
    section.drawer .drawer-body{
      max-height:calc(86dvh - 78px - var(--safe-bottom))!important;
      overflow-y:auto!important;
      overscroll-behavior:contain;
      -webkit-overflow-scrolling:touch;
    }

    /* Slow the contextual active search/filter shimmer dramatically. */
    .search-control-line .labeled-search::after,
    .search-wrap.search-engaged::after,
    .hybrid-input.search-engaged::after,
    .dock-btn.active-filter::after,
    .drawer.active-filter::after{
      animation-duration:14s!important;
      animation-timing-function:linear!important;
    }

    @media(max-width:430px){
      .header-grid{
        grid-template-columns:84px minmax(0,1fr) 84px!important;
        gap:6px!important;
      }
      .brand-block{width:84px!important;}
      .venue-block{
        width:84px!important;
        min-width:84px!important;
      }
      .venue-name{
        font-size:.56rem!important;
        line-height:1.06!important;
      }
    }

  
    /* WineStack v12 — locked redesign implementation */
    :root{
      --v12-black:#080707;
      --v12-charcoal:#171414;
      --v12-oxblood:#17070c;
      --v12-burgundy:#4b0f22;
      --v12-burgundy-mid:#6e1530;
      --v12-burgundy-bright:#92254b;
      --v12-bronze:#6f4218;
      --v12-brass:#c68b35;
      --v12-brass-light:#efcf83;
      --v12-grey:#b8afb1;
    }
    html,body{background:#120407!important;}
    body{padding-bottom:calc(390px + var(--safe-bottom))!important;}

    /* Header: opaque, centered, dual-line brass divider, launch swap. */
    .app-header{
      min-height:calc(112px + var(--safe-top));
      padding:calc(5px + var(--safe-top)) 12px 8px!important;
      display:flex;align-items:flex-end;justify-content:center;
      background:linear-gradient(180deg,#310814 0%,#21050d 100%)!important;
      border:0!important;box-shadow:0 5px 18px rgba(0,0,0,.55)!important;
      overflow:hidden;
    }
    .app-header::before,.app-header::after{content:"";position:absolute;left:0;right:0;bottom:0;pointer-events:none;}
    .app-header::before{height:3px;background:#3d250f;box-shadow:0 -1px rgba(0,0,0,.6);}
    .app-header::after{bottom:3px;height:1px;background:linear-gradient(90deg,#79501f,#edc575,#8a591d);box-shadow:0 0 7px rgba(220,159,61,.35);}
    .brand-stage-wrap{width:100%;display:flex;justify-content:center;align-items:flex-end;}
    .brand-stage{position:relative;width:min(310px,76vw);height:94px;padding:0;background:transparent;color:inherit;border:0;overflow:hidden;opacity:0;animation:brandStageFade 2.15s ease 2.65s forwards!important;}
    .brand-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:scale(.96);transition:opacity .34s ease,transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none;}
    .brand-face.is-active{opacity:1;transform:scale(1);}
    .brand-ws-image{width:112px;height:90px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.55));}
    .brand-eagle-image{width:92px;height:68px;object-fit:contain;margin-top:-3px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.55));}
    .brand-eagle-caption{display:block;margin-top:-2px;white-space:nowrap;color:#d9a953;font-family:Georgia,"Times New Roman",serif;font-size:.83rem;letter-spacing:.035em;text-shadow:0 1px 1px #000,0 0 7px rgba(205,137,44,.20);}
    .brand-sun-flare{position:absolute;top:-20%;bottom:-20%;left:-35%;width:26%;opacity:0;pointer-events:none;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,220,142,.14),rgba(255,244,205,.98),rgba(232,158,52,.45),transparent);filter:blur(2px) drop-shadow(0 0 12px rgba(255,194,77,.75));}
    .brand-stage.flare-active .brand-sun-flare{animation:sunFlareSweep 1.05s cubic-bezier(.22,.7,.2,1);}
    @keyframes brandStageFade{from{opacity:0}to{opacity:1}}
    @keyframes sunFlareSweep{0%{left:-35%;opacity:0}16%{opacity:.8}52%{opacity:1}100%{left:118%;opacity:0}}

    .landing-copy{margin:7px auto 0!important;padding:0 18px!important;max-width:760px;color:#aaa1a4!important;font-size:.78rem!important;line-height:1.28!important;font-weight:550!important;text-align:center!important;opacity:0;animation:instructionsFade 2.15s ease 2.65s forwards!important;text-shadow:0 2px 7px rgba(0,0,0,.68);}
    .landing-copy.hidden,.landing-tagline.hidden{display:none!important;}
    .landing-tagline{max-width:920px;margin:0 auto 6px;text-align:center;color:#b97527;font-family:Georgia,"Times New Roman",serif;font-size:.91rem;line-height:1;letter-spacing:.035em;text-shadow:0 0 1px #f1c16f,0 2px 8px rgba(0,0,0,.78);background:linear-gradient(90deg,#6c3d10,#db9d43,#7c4815);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;animation:interfaceTextFade 2.15s ease 2.65s forwards!important;}

    /* Primary Window */
    .primary-window{max-width:920px!important;padding:12px!important;border-radius:25px!important;background:linear-gradient(180deg,#111010,#080808) padding-box,linear-gradient(120deg,#6a3c14,#f0d083,#9a5c1f,#d69b43,#5f3510) border-box!important;border:3px solid transparent!important;box-shadow:0 -22px 42px rgba(0,0,0,.76),inset 0 0 0 1px #2c1d10,inset 0 2px rgba(255,226,164,.12)!important;animation:none!important;}
    .primary-fields{display:grid;gap:9px;min-width:0;}
    .primary-actions{display:grid;grid-template-rows:1fr 1fr;gap:9px;}
    .primary-actions .apply-btn,.primary-reset{min-height:68px;border-radius:18px;border:1px solid transparent;font-size:1.05rem;font-weight:950;color:#fff;}
    .primary-actions .apply-btn{background:linear-gradient(180deg,#9a2850,#65152f) padding-box,linear-gradient(120deg,#8c551c,#f3d486,#8d511b) border-box!important;}
    .primary-reset{background:linear-gradient(180deg,#201c1d,#111011) padding-box,linear-gradient(120deg,#724415,#e9c472,#764515) border-box;box-shadow:inset 0 1px rgba(255,255,255,.05);}
    .box-label{color:#dcac58!important;font-size:.66rem!important;letter-spacing:.12em!important;}
    .drawer-icon{width:31px;height:31px;display:block;color:#c99538;}
    .drawer-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
    .drawer-icon svg circle{fill:currentColor;stroke:none;}
    .filter-window{margin-top:10px!important;max-height:82px!important;min-height:0;border-radius:18px!important;padding:9px!important;background:#100c0d!important;border:1px solid #6a451c!important;box-shadow:inset 0 2px 10px rgba(0,0,0,.38)!important;}
    .filter-window:not(:empty)::before{font-size:.66rem!important;color:#dcac58!important;}

    /* Drawer surfaces and header controls */
    section.drawer{background:linear-gradient(180deg,#171414,#090909) padding-box,linear-gradient(120deg,#734214,#edc879,#744216) border-box!important;border:2px solid transparent!important;border-bottom:0!important;border-radius:28px 28px 0 0!important;padding:9px 13px calc(14px + var(--safe-bottom))!important;box-shadow:0 -18px 46px rgba(0,0,0,.70),inset 0 1px rgba(255,231,180,.08)!important;}
    .drawer-title{font-family:Georgia,"Times New Roman",serif;color:#d9a852!important;font-size:1.38rem!important;font-weight:650!important;}
    .drawer-head{margin-bottom:14px!important;}
    .head-actions{gap:8px!important;}
    .small-btn,.x-btn{opacity:1!important;animation:none!important;}
    .reset-small{min-width:72px!important;background:linear-gradient(180deg,#211d1e,#0d0c0c) padding-box,linear-gradient(120deg,#704015,#e5bf68,#704015) border-box!important;border:1px solid transparent!important;color:#fff!important;}
    .done{min-width:80px!important;background:linear-gradient(180deg,#96274d,#61142e) padding-box,linear-gradient(120deg,#875019,#efcf81,#875019) border-box!important;border:1px solid transparent!important;color:#fff!important;}
    .x-btn{width:42px!important;min-height:42px!important;border:1px solid #b8792a!important;background:#151313!important;color:#fff!important;font-size:1.35rem!important;}
    .range-card{background:#0f0e0e!important;border:1px solid #754719!important;border-radius:19px!important;padding:13px!important;}
    .range-title,.range-inputs label,.section-title,.hybrid label{color:#d5a250!important;letter-spacing:.12em!important;}
    .range-current{color:#e1aa4d!important;}
    .range-inputs input{background:linear-gradient(180deg,#4b0e20,#22080f)!important;border:1px solid #a46c25!important;border-radius:15px!important;color:#fff!important;font-weight:700;}

    /* Precision sliders + exact marker lines */
    .precision-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:31px!important;height:42px!important;border:0!important;border-radius:0!important;background:linear-gradient(145deg,#f4d88c,#a45f18)!important;clip-path:polygon(50% 100%,0 12%,12% 0,88% 0,100% 12%)!important;box-shadow:0 2px 5px rgba(0,0,0,.7)!important;}
    .precision-range input[type=range]::-moz-range-thumb{width:31px!important;height:42px!important;border:0!important;border-radius:0!important;background:linear-gradient(145deg,#f4d88c,#a45f18)!important;clip-path:polygon(50% 100%,0 12%,12% 0,88% 0,100% 12%)!important;}
    .range-track{background:#3b181f!important;height:7px!important;top:18px!important;border:1px solid #6e4217;}
    .range-fill{background:linear-gradient(90deg,#5d0f28,#9b2450,#5d0f28)!important;height:7px!important;top:18px!important;}
    .markers{display:grid!important;align-items:start!important;margin-top:0!important;color:#c1b9bb!important;}
    .marker-price{grid-template-columns:repeat(11,1fr)!important;}
    .marker-high,.marker-vintage{grid-template-columns:repeat(6,1fr)!important;}
    .markers span{position:relative;display:flex!important;flex-direction:column;align-items:center;min-width:0;font-size:.57rem!important;font-weight:650;}
    .markers span:first-child{align-items:flex-start}.markers span:last-child{align-items:flex-end}
    .markers i{display:block;width:1px;height:13px;background:#ded8d7;margin-bottom:3px;box-shadow:0 0 2px rgba(255,255,255,.35);}
    .markers b{font-weight:650;white-space:nowrap;}

    /* Price drawers */
    .price-quick-grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:9px!important;margin:2px auto 12px!important;}
    .price-quick-grid .bubble,.high-price-grid .bubble{min-height:50px!important;border-radius:16px!important;background:linear-gradient(180deg,#5a1126,#260911)!important;border:1px solid #b07325!important;color:#fff!important;font-size:.78rem!important;}
    .subdrawer-btn,.back-sub{display:flex!important;align-items:center;justify-content:center;gap:10px;min-height:52px!important;width:100%;border-radius:16px!important;background:linear-gradient(180deg,#242222,#151414) padding-box,linear-gradient(120deg,#6d4219,#c08a39,#6d4219) border-box!important;border:1px solid transparent!important;color:#d89a40!important;font-weight:800!important;animation:none!important;}
    .subdrawer-btn .nav-arrow{margin-left:auto}.back-sub .nav-arrow{margin-right:2px}
    .nav-arrow{width:23px;height:23px;fill:none;stroke:#dca34a;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
    .high-price-grid{display:grid!important;grid-template-columns:repeat(2,1fr);gap:9px!important;}
    .high-price-grid .bubble:last-child{grid-column:1/-1;}
    .back-sub{margin:12px 0!important;}

    /* Grape drawer */
    .grape-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px;margin-top:10px;}
    .grape-quick{min-height:58px;border-radius:17px;background:#1b1013;border:1px solid #a86b23;color:#fff;display:flex;align-items:center;gap:11px;padding:8px 12px;text-align:left;font-size:.65rem;font-weight:750;letter-spacing:.01em;}
    .grape-quick.active{box-shadow:inset 0 0 0 2px rgba(239,207,131,.52),0 0 12px rgba(176,91,30,.28);background:#321019;}
    .quick-symbol{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;}
    .quick-symbol svg{width:100%;height:100%;fill:currentColor;stroke:currentColor;stroke-width:.6;}
    .icon-cabernet-sauvignon{color:#6E1F3B}.icon-malbec{color:#713B78}.icon-merlot{color:#8A314A}.icon-pinot-noir{color:#A33B4A}.icon-zinfandel{color:#8F2945}.icon-chardonnay{color:#C8A84B}.icon-pinot-grigio{color:#B78A7A}.icon-rose{color:#C77D8D}.icon-sauvignon-blanc{color:#91A95C}.icon-sparkling{color:#E7DDC4}

    /* Region hybrids */
    .region-hybrid-grid{gap:13px!important;}
    .hybrid-input{grid-template-columns:minmax(0,1fr) 52px!important;gap:0!important;border:1px solid #8d5a20;border-radius:16px;overflow:visible;}
    .hybrid-input input{border:0!important;border-radius:15px 0 0 15px!important;background:#110b0d!important;min-height:54px!important;box-shadow:none!important;}
    .drop-btn{border:0!important;border-left:1px solid #8d5a20!important;border-radius:0 15px 15px 0!important;background:#241117!important;color:#e2ae58!important;min-height:54px!important;font-size:1.4rem;}
    .hybrid-options{position:relative;z-index:30;background:#151011!important;border-color:#87531d!important;}

    /* Vintage drawer */
    .vintage-check-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;}
    .vintage-check-grid .check-pill{min-height:47px!important;border-radius:13px!important;background:linear-gradient(180deg,#571126,#25090f)!important;border:1px solid #a86a22!important;color:#fff!important;font-size:.95rem!important;font-weight:950!important;gap:7px!important;padding:0 9px!important;}
    .vintage-check-grid .check-pill input{width:20px!important;height:20px!important;min-height:20px!important;accent-color:#a85a33!important;}
    .vintage-check-grid .check-pill:has(input:checked){box-shadow:inset 0 0 0 2px #d7a44c;background:linear-gradient(180deg,#7b1b39,#42101f)!important;}

    @media(max-width:430px){
      body{padding-bottom:calc(385px + var(--safe-bottom))!important;}
      .app-header{min-height:calc(106px + var(--safe-top));}
      .brand-stage{height:87px;width:min(294px,78vw)}
      .brand-ws-image{width:105px;height:84px}.brand-eagle-image{width:86px;height:62px}.brand-eagle-caption{font-size:.75rem}
      .primary-actions .apply-btn,.primary-reset{min-height:62px;font-size:.95rem}
      .drawer-icon{width:28px;height:28px}
      .grape-quick{font-size:.61rem;padding:8px}.quick-symbol{width:27px;height:27px;flex-basis:27px}
      .vintage-check-grid .check-pill{font-size:.86rem!important;padding:0 6px!important;gap:5px!important;}
      .vintage-check-grid .check-pill input{width:18px!important;height:18px!important;}
    }
    @media(prefers-reduced-motion:reduce){
      .brand-stage.flare-active .brand-sun-flare{animation:none!important;display:none!important}.brand-face{transition:opacity .25s ease!important;}
    }

  
    /* WineStack v12.1 visual QA corrections */
    input::placeholder{opacity:1!important;color:#8f8588!important;animation:none!important;}
    .drawer-icon svg circle{fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;}
    .dock-btn[data-open="grape"] .drawer-icon svg circle{fill:currentColor!important;stroke:none!important;}
    .grape-quick-grid .grape-quick:nth-child(1){grid-column:1;grid-row:1}
    .grape-quick-grid .grape-quick:nth-child(2){grid-column:1;grid-row:2}
    .grape-quick-grid .grape-quick:nth-child(3){grid-column:1;grid-row:3}
    .grape-quick-grid .grape-quick:nth-child(4){grid-column:1;grid-row:4}
    .grape-quick-grid .grape-quick:nth-child(5){grid-column:1;grid-row:5}
    .grape-quick-grid .grape-quick:nth-child(6){grid-column:2;grid-row:1}
    .grape-quick-grid .grape-quick:nth-child(7){grid-column:2;grid-row:2}
    .grape-quick-grid .grape-quick:nth-child(8){grid-column:2;grid-row:3}
    .grape-quick-grid .grape-quick:nth-child(9){grid-column:2;grid-row:4}
    .grape-quick-grid .grape-quick:nth-child(10){grid-column:2;grid-row:5}

    /* WineStack v13 staging — locked compact Primary Window + copper-brass system */
    :root{--metal-shadow:#54230f;--metal-dark:#783515;--metal-mid:#a95320;--metal-warm:#c97931;--metal-bright:#eead65;--metal-specular:#ffe0a1;--metal-gradient:linear-gradient(135deg,#54230f 0%,#a95320 24%,#eead65 43%,#ffe0a1 50%,#c97931 58%,#783515 78%,#b96226 100%)}
    body{padding-bottom:calc(238px + var(--safe-bottom))!important}
    .app-header{min-height:calc(96px + var(--safe-top))!important;padding:calc(4px + var(--safe-top)) 10px 7px!important;background:radial-gradient(ellipse at 50% 42%,#571529 0%,#350b19 42%,#19060d 100%)!important}
    .app-header::before{height:3px!important;background:var(--metal-dark)!important}.app-header::after{bottom:3px!important;background:linear-gradient(90deg,var(--metal-shadow),var(--metal-bright),var(--metal-specular),var(--metal-warm),var(--metal-shadow))!important}
    .brand-stage{height:86px!important;width:min(286px,76vw)!important}.brand-ws-image{width:96px!important;height:76px!important}.brand-eagle-image{width:96px!important;height:80px!important;object-fit:cover!important;object-position:center!important;margin-top:-5px!important;mix-blend-mode:lighten}.brand-eagle-caption{margin-top:-1px!important;color:var(--metal-bright)!important;font-size:.56rem!important;line-height:1!important;letter-spacing:.08em!important;text-transform:uppercase}
    .landing-copy{margin-top:6px!important;padding:0 14px!important;font-size:.74rem!important;line-height:1.25!important}.landing-tagline{margin-bottom:4px!important;font-size:.84rem!important;background:linear-gradient(90deg,var(--metal-dark),var(--metal-bright),var(--metal-specular),var(--metal-mid))!important;-webkit-background-clip:text!important;background-clip:text!important}
    .primary-window{padding:8px!important;border-width:2px!important;border-radius:19px!important;background:linear-gradient(180deg,#111010,#080808) padding-box,var(--metal-gradient) border-box!important;box-shadow:0 -14px 30px rgba(0,0,0,.7),inset 0 0 0 1px #2c160d,inset 0 1px rgba(255,224,161,.12)!important}
    .primary-fields,.primary-actions{gap:6px!important}.primary-actions{grid-template-rows:44px 44px!important}.primary-actions .apply-btn,.primary-reset{min-height:44px!important;height:44px!important;border-radius:12px!important;font-size:.84rem!important}.primary-actions .apply-btn{background:linear-gradient(180deg,#8a2348,#571329) padding-box,var(--metal-gradient) border-box!important}.primary-reset{background:linear-gradient(180deg,#211e1f,#0d0c0c) padding-box,var(--metal-gradient) border-box!important}.box-label{left:9px!important;top:4px!important;font-size:.56rem!important;letter-spacing:.09em!important;color:var(--metal-bright)!important}.clear-input{width:21px!important;height:21px!important;min-height:21px!important;right:7px!important}
    .drawer-icon{width:19px!important;height:19px!important;color:var(--metal-warm)!important}
    .filter-window,.filter-window:empty{display:block!important;margin-top:6px!important;min-height:27px!important;max-height:56px!important;padding:5px 7px!important;border-radius:11px!important;border-color:var(--metal-mid)!important}.filter-window::before,.filter-window:empty::before{content:"Applied Filters"!important;display:block!important;margin:0!important;text-align:center!important;color:var(--metal-bright)!important;font-size:.56rem!important;line-height:15px!important;letter-spacing:.11em!important}.filter-window:not(:empty)::before{margin-bottom:3px!important}.filter-window .chip{padding:4px 7px!important;font-size:.7rem!important}
    @media(max-width:430px){body{padding-bottom:calc(238px + var(--safe-bottom))!important}.app-header{min-height:calc(102px + var(--safe-top))!important}.brand-stage{height:86px!important;width:min(286px,76vw)!important}.brand-ws-image{width:96px!important;height:76px!important}.brand-eagle-image{width:96px!important;height:80px!important}.primary-actions .apply-btn,.primary-reset{min-height:44px!important;height:44px!important;font-size:.84rem!important}.drawer-icon{width:19px!important;height:19px!important}}

    /* WineStack v14 staging — quieter luxury palette and legibility pass */
    :root{
      --v14-champagne:#d8c39b;
      --v14-champagne-soft:#bca77f;
      --v14-warm-ivory:#ded6d0;
      --v14-warm-grey:#b7ada9;
      --v14-oxblood:#471322;
      --v14-oxblood-dark:#250b13;
      --v14-metal:linear-gradient(135deg,#4a3526 0%,#96734d 28%,#d8c39b 47%,#f0dfbd 52%,#b48a58 66%,#5e4430 100%);
    }
    .brand-eagle-image{object-fit:contain!important;mix-blend-mode:normal!important;filter:drop-shadow(0 3px 5px rgba(0,0,0,.58))!important}
    .brand-eagle-caption{color:var(--v14-champagne)!important;text-shadow:0 1px 1px #000!important}
    .primary-window{background:linear-gradient(180deg,#111010,#080808) padding-box,var(--v14-metal) border-box!important}
    .box-label{color:var(--v14-champagne-soft)!important}
    .primary-actions .apply-btn{background:linear-gradient(180deg,var(--v14-oxblood),var(--v14-oxblood-dark)) padding-box,var(--v14-metal) border-box!important;color:var(--v14-warm-ivory)!important;text-shadow:0 1px 1px rgba(0,0,0,.65)!important}
    .primary-reset{background:linear-gradient(180deg,#1b1819,#0b0a0a) padding-box,var(--v14-metal) border-box!important;color:#d2cac6!important;text-shadow:none!important}
    .drawer-icon{width:22px!important;height:22px!important;color:var(--v14-champagne)!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.7))}
    .dock-btn[data-open="price"] .drawer-icon{width:23px!important;height:23px!important}
    .dock-btn[data-open="vintage"] .drawer-icon{width:23px!important;height:23px!important}
    .filter-window,.filter-window:empty{border-color:#806544!important}
    .filter-window::before,.filter-window:empty::before{color:var(--v14-champagne-soft)!important}
    .drawer-title,.range-title,.range-inputs label,.section-title,.hybrid label{color:var(--v14-champagne-soft)!important}
    .small-btn,.x-btn,.bubble,.subdrawer-btn,.back-sub,.grape-quick,.check-pill{color:var(--v14-warm-ivory)!important;text-shadow:none!important}
    .done{background:linear-gradient(180deg,var(--v14-oxblood),var(--v14-oxblood-dark)) padding-box,var(--v14-metal) border-box!important}
    .reset-small,.x-btn{background:linear-gradient(180deg,#1d1a1a,#0c0b0b) padding-box,var(--v14-metal) border-box!important}
    @media(max-width:430px){.drawer-icon{width:22px!important;height:22px!important}.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:23px!important;height:23px!important}}

    /* WineStack v15 staging — continuous filter shelf */
    :root{
      --v15-burgundy:#4a1021;
      --v15-burgundy-deep:#260b14;
      --v15-beige:#d8c8ab;
      --v15-beige-muted:#b9aa91;
      --v15-charcoal:#111011;
      --v15-gold:#b6935d;
    }
    body{padding-bottom:calc(166px + var(--safe-bottom))!important}
    .brand-eagle-image{display:none!important}
    .brand-eagle-mark{display:block;width:88px;height:66px;margin-top:-2px;background:var(--v15-beige);-webkit-mask:url("../assets/double-eagle-header-logo.png") center/contain no-repeat;mask:url("../assets/double-eagle-header-logo.png") center/contain no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))}
    .brand-eagle-caption{margin-top:-3px!important;color:var(--v15-beige)!important;font-size:.56rem!important;font-weight:600!important;letter-spacing:.09em!important;text-shadow:0 1px 1px rgba(0,0,0,.65)!important}
    .primary-window{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
    .primary-fields{display:block!important}
    .box-label{left:14px!important;top:5px!important;color:var(--v15-beige-muted)!important;font-size:.53rem!important}
    .integrated-reset{width:34px;padding:0;border-radius:50%!important;background:transparent!important;font-size:1rem}
    .integrated-reset{font-size:1.12rem!important;color:var(--v15-beige-muted)!important}
    .integrated-reset:active{transform:scale(.94)}
    .filter-window,.filter-window:empty{display:none!important}
    .filter-window:not(:empty){display:flex!important;align-items:center;gap:4px;min-height:0!important;max-height:50px!important;margin:6px 4px!important;padding:2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow-x:auto;overflow-y:hidden}
    .filter-window:not(:empty)::before{display:none!important}
    .filter-window .chip{flex:0 0 auto!important;background:rgba(74,16,33,.82)!important;border:1px solid rgba(185,170,145,.38)!important;color:#d8cfc2!important;box-shadow:none!important}
    .dock-btn+.dock-btn{border-left:1px solid rgba(216,200,171,.10)!important;border-radius:0!important}
    .drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:23px!important;height:23px!important;color:var(--v15-beige)!important;filter:none;transition:color .25s ease,filter .25s ease,transform .25s ease}
    .dock-btn.active-filter{color:#eadcbe!important;box-shadow:none!important}
    .dock-btn.active-filter::after{content:none!important;display:none!important}
    .dock-btn.active-filter .drawer-icon{color:#f2dfb5!important;filter:drop-shadow(0 0 3px rgba(242,223,181,.8)) drop-shadow(0 0 8px rgba(190,143,72,.52));animation:v15IconGlow 3.4s ease-in-out infinite}
    @keyframes v15IconGlow{0%,100%{transform:scale(1);filter:drop-shadow(0 0 2px rgba(242,223,181,.5)) drop-shadow(0 0 5px rgba(190,143,72,.32))}50%{transform:scale(1.045);filter:drop-shadow(0 0 4px rgba(255,235,195,.88)) drop-shadow(0 0 10px rgba(190,143,72,.58))}}
    @media(prefers-reduced-motion:reduce){.dock-btn.active-filter .drawer-icon{animation:none!important}}
    @media(max-width:430px){body{padding-bottom:calc(166px + var(--safe-bottom))!important}.drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:23px!important;height:23px!important}}

    /* WineStack v15.1 — visual QA corrections */
    .brand-eagle-mark{width:82px!important;height:61px!important;background:#b18b5f!important;opacity:.72!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.38))!important}
    .brand-eagle-caption{color:#b18b5f!important;opacity:.72!important;text-shadow:0 1px 1px rgba(0,0,0,.55)!important}
    .landing-copy{display:none!important}
    main>.landing-tagline{display:block;max-width:920px;margin:clamp(64px,10vh,88px) auto 0!important;padding:0 18px;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:.82rem!important;font-style:italic!important;font-weight:400;line-height:1.2!important;letter-spacing:.035em;color:rgba(190,157,108,.58)!important;background:none!important;-webkit-background-clip:initial!important;background-clip:initial!important;text-shadow:0 1px 5px rgba(0,0,0,.52)!important;opacity:1!important;animation:none!important}
    main>.landing-tagline.hidden{display:none!important}
    .dock-btn .drawer-icon,.dock-btn>span:last-child{opacity:1!important;visibility:visible!important}

    /* WineStack v15.2 — edge-to-edge chin and integrated action refinements */
    :root{--v15-logo-warm:#b18b5f;--v15-logo-warm-active:#d2ad78}
    body{padding-bottom:calc(126px + var(--safe-bottom))!important}
    .primary-window{width:100%!important;max-width:none!important;margin:0!important}
    .external-reset{width:42px;height:42px;min-height:42px;padding:0;border:1px solid rgba(177,139,95,.30);border-radius:50%;background:rgba(17,16,17,.92);color:var(--v15-logo-warm);font-size:1.13rem;line-height:1;box-shadow:0 5px 14px rgba(0,0,0,.28)}
    .external-reset:active{transform:scale(.94);background:rgba(74,16,33,.42)}
    .filter-window:not(:empty){margin-left:8px!important;margin-right:8px!important}
    .drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:20px!important;height:20px!important;color:var(--v15-logo-warm)!important}
    .dock-btn.active-filter{color:var(--v15-logo-warm-active)!important}
    .dock-btn.active-filter .drawer-icon{color:var(--v15-logo-warm-active)!important}
    .drawer-title,.range-title,.range-inputs label,.section-title,.hybrid label,.subdrawer-btn,.back-sub,.nav-arrow{color:var(--v15-logo-warm)!important}
    .small-btn,.x-btn,.bubble,.grape-quick,.check-pill{color:#cbbba5!important}
    @media(max-width:430px){body{padding-bottom:calc(126px + var(--safe-bottom))!important}.drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:20px!important;height:20px!important}}

    /* WineStack v15.3 — flat chin, separated search tools, and spacing refinement */
    body{padding-bottom:calc(139px + var(--safe-bottom))!important}
    @keyframes backsplashFade{from{opacity:0}to{opacity:.79}}
    .brand-eagle-mark{width:88px!important;height:65px!important;margin-top:-3px!important}
    .brand-eagle-caption{font-size:.58rem!important;margin-top:-4px!important}
    main>.landing-tagline{margin:clamp(470px,58vh,540px) auto 0!important;font-size:.91rem!important;line-height:1.25!important;color:rgba(190,157,108,.64)!important}
    .external-reset{grid-column:3;grid-row:1;width:42px!important;height:42px!important;border:1px solid rgba(145,128,104,.28)!important;border-radius:50%!important;background:linear-gradient(180deg,#252223,#100f10)!important;color:#a99d8e!important;font-size:1.08rem!important;box-shadow:0 5px 14px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.035)!important}
    .external-reset:active{color:#d0b38a!important;background:#2b2023!important}
    .drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:23px!important;height:23px!important}
    @media(max-width:430px){body{padding-bottom:calc(139px + var(--safe-bottom))!important}main>.landing-tagline{margin-top:clamp(470px,58vh,540px)!important;font-size:.91rem!important}.drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:23px!important;height:23px!important}}

    /* WineStack v15.4 — restrained visual balance pass */
    @keyframes backsplashFade{from{opacity:0}to{opacity:.83}}
    .brand-eagle-mark{width:93px!important;height:69px!important}
    main>.landing-tagline{margin-top:clamp(458px,56.5vh,526px)!important}
    .drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:25px!important;height:25px!important}
    @media(max-width:430px){main>.landing-tagline{margin-top:clamp(458px,56.5vh,526px)!important}.drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:25px!important;height:25px!important}}

    /* WineStack v15.5 — subtle proportion tuning */
    body{padding-bottom:calc(145px + var(--safe-bottom))!important}
    @keyframes backsplashFade{from{opacity:0}to{opacity:.86}}
    .search-leading-icon{width:21px!important;height:21px!important;left:12px!important}
    .drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:27px!important;height:27px!important}
    @media(max-width:430px){body{padding-bottom:calc(145px + var(--safe-bottom))!important}.drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:27px!important;height:27px!important}}

    /* WineStack v15.6 — icon and quote micro-adjustment */
    main>.landing-tagline{margin-top:clamp(446px,55vh,514px)!important}
    .drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:29px!important;height:29px!important}
    @media(max-width:430px){main>.landing-tagline{margin-top:clamp(446px,55vh,514px)!important}.drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:29px!important;height:29px!important}}

    /* WineStack v16 — unified restrained-luxury theme */
    :root{
      --v16-burgundy:#4a1021;
      --v16-burgundy-deep:#260b14;
      --v16-charcoal:#111011;
      --v16-panel:#191617;
      --v16-panel-soft:#211b1d;
      --v16-beige:#b18b5f;
      --v16-beige-light:#d2b78f;
      --v16-beige-muted:#95816a;
      --v16-line:rgba(177,139,95,.28);
    }

    /* Landing alignment refinements */
    body{padding-bottom:calc(156px + var(--safe-bottom))!important}
    main>.landing-tagline{margin-top:clamp(425px,52.5vh,490px)!important}
    .drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:31px!important;height:31px!important}

    /* Shared drawer shell */
    .backdrop.open{background:rgba(5,3,4,.68)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
    section.drawer,
    section.drawer.drawer-price,
    section.drawer.drawer-vintage,
    section.drawer.drawer-region,
    section.drawer.drawer-grape{
      background:linear-gradient(180deg,#2b0b15 0%,#171315 25%,#100f10 100%)!important;
      background-size:auto!important;
      border:0!important;
      border-top:1px solid var(--v16-line)!important;
      border-radius:20px 20px 0 0!important;
      padding:9px 13px calc(14px + var(--safe-bottom))!important;
      box-shadow:0 -12px 30px rgba(0,0,0,.54),inset 0 1px rgba(210,183,143,.035)!important;
      animation:none!important;
    }
    .handle{width:46px!important;height:4px!important;margin-bottom:11px!important;background:rgba(177,139,95,.38)!important}
    .drawer-head{margin-bottom:12px!important;padding-bottom:10px;border-bottom:1px solid rgba(177,139,95,.14)}
    .drawer-title{font-family:Georgia,"Times New Roman",serif!important;color:var(--v16-beige-light)!important;font-size:1.2rem!important;font-weight:500!important;letter-spacing:.025em!important;text-shadow:none!important}
    .head-actions{gap:7px!important}
    .small-btn,.x-btn{animation:none!important;box-shadow:none!important;text-shadow:none!important}
    .reset-small{min-width:68px!important;min-height:38px!important;border:1px solid rgba(149,129,106,.32)!important;border-radius:12px!important;background:#161415!important;color:#a99b89!important}
    .done{min-width:74px!important;min-height:38px!important;border:1px solid rgba(177,139,95,.36)!important;border-radius:12px!important;background:linear-gradient(180deg,#5a152a,#35101c)!important;color:#d0bea3!important}
    .x-btn{width:38px!important;height:38px!important;min-height:38px!important;border:1px solid rgba(149,129,106,.24)!important;border-radius:50%!important;background:#1d191a!important;color:#9f9487!important;font-size:1.2rem!important}

    /* Shared drawer typography and form controls */
    .range-title,.range-inputs label,.section-title,.hybrid label,.field label{color:var(--v16-beige)!important;letter-spacing:.1em!important;text-shadow:none!important}
    .drawer-title,.drawer .range-title,.drawer .range-inputs label,.drawer .section-title,.drawer .hybrid label,.drawer .field label{opacity:1!important;animation:none!important}
    .drawer .clear-input{color:#95897c!important;background:rgba(177,139,95,.08)!important;box-shadow:none!important;animation:none!important}
    .range-current{color:var(--v16-beige-light)!important;font-weight:750!important}
    .markers{color:#8e8278!important}
    .markers i{background:rgba(177,139,95,.42)!important;box-shadow:none!important}
    .range-card{margin:8px 0 12px!important;padding:12px!important;border:1px solid rgba(177,139,95,.22)!important;border-radius:15px!important;background:rgba(15,14,15,.82)!important;box-shadow:none!important}
    .range-inputs input,.hybrid-input input,.field select,input[type=number],select{
      border:1px solid rgba(177,139,95,.31)!important;
      background:#121112!important;
      background-size:auto!important;
      color:#d3c8b9!important;
      box-shadow:none!important;
      animation:none!important;
    }
    .range-inputs input{border-radius:12px!important;font-weight:650!important}
    .range-track{height:5px!important;top:19px!important;border:0!important;background:#3b3134!important}
    .range-fill{height:5px!important;top:19px!important;background:linear-gradient(90deg,#6a1a31,#a06654,#b18b5f)!important}
    .precision-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none!important;appearance:none!important;width:24px!important;height:24px!important;border:2px solid #4a1021!important;border-radius:50%!important;background:#c5a77d!important;clip-path:none!important;box-shadow:0 2px 7px rgba(0,0,0,.42)!important}
    .precision-range input[type=range]::-moz-range-thumb{width:24px!important;height:24px!important;border:2px solid #4a1021!important;border-radius:50%!important;background:#c5a77d!important;clip-path:none!important;box-shadow:0 2px 7px rgba(0,0,0,.42)!important}
    .range-tip{border:1px solid rgba(74,16,33,.35)!important;background:#d2b78f!important;color:#24151a!important;box-shadow:0 4px 12px rgba(0,0,0,.35)!important}

    /* Price drawer */
    .price-quick-grid .bubble,.high-price-grid .bubble,.bubble{
      min-height:46px!important;
      border:1px solid rgba(177,139,95,.25)!important;
      border-radius:13px!important;
      background:#211719!important;
      color:#c7b7a2!important;
      box-shadow:none!important;
      animation:none!important;
    }
    .bubble.active{border-color:rgba(210,183,143,.5)!important;background:#501326!important;color:#ddcdb6!important;box-shadow:0 0 8px rgba(177,139,95,.16)!important}
    .subdrawer-btn,.back-sub{min-height:48px!important;border:1px solid rgba(177,139,95,.25)!important;border-radius:13px!important;background:#181516!important;color:var(--v16-beige)!important;box-shadow:none!important;animation:none!important}
    .nav-arrow{color:var(--v16-beige)!important;stroke:currentColor!important}

    /* Region and grape drawers */
    .region-hybrid-grid{gap:12px!important}
    .hybrid-input{border:1px solid rgba(177,139,95,.28)!important;border-radius:13px!important;background:#121112!important;box-shadow:none!important}
    .hybrid-input input{min-height:52px!important;border:0!important;border-radius:12px 0 0 12px!important}
    .drop-btn{min-height:52px!important;border:0!important;border-left:1px solid rgba(177,139,95,.24)!important;border-radius:0 12px 12px 0!important;background:#23181b!important;color:var(--v16-beige)!important;box-shadow:none!important;animation:none!important}
    .hybrid-options{border:1px solid rgba(177,139,95,.25)!important;border-radius:12px!important;background:#181516!important;box-shadow:0 9px 20px rgba(0,0,0,.35)!important}
    .option-row{border-bottom:1px solid rgba(177,139,95,.11)!important;color:#c9bdae!important}
    .option-row:active{background:#421120!important;color:#ded0bd!important}
    .grape-quick{min-height:54px!important;border:1px solid rgba(177,139,95,.24)!important;border-radius:14px!important;background:#1c1718!important;color:#c7b7a2!important;box-shadow:none!important}
    .grape-quick.active{border-color:rgba(210,183,143,.48)!important;background:#481221!important;color:#dfcfb9!important;box-shadow:0 0 9px rgba(177,139,95,.17)!important}
    .quick-symbol,.icon-cabernet-sauvignon,.icon-malbec,.icon-merlot,.icon-pinot-noir,.icon-zinfandel,.icon-chardonnay,.icon-pinot-grigio,.icon-rose,.icon-sauvignon-blanc,.icon-sparkling{color:var(--v16-beige)!important}

    /* Vintage drawer */
    .vintage-check-grid .check-pill,.check-pill{min-height:45px!important;border:1px solid rgba(177,139,95,.23)!important;border-radius:12px!important;background:#1b1718!important;color:#c6b7a4!important;box-shadow:none!important}
    .vintage-check-grid .check-pill input,.check-pill input{accent-color:#7a2940!important}
    .vintage-check-grid .check-pill:has(input:checked),.check-pill:has(input:checked){border-color:rgba(210,183,143,.5)!important;background:#4a1223!important;color:#dfcfb9!important;box-shadow:0 0 8px rgba(177,139,95,.14)!important}

    /* Search suggestions and wine result cards */
    .result-meta{color:#aa9d8d!important}
    .sort-note{color:#877b70!important}
    .wine-card{
      margin-bottom:9px!important;
      border:1px solid rgba(177,139,95,.24)!important;
      border-radius:14px!important;
      background:linear-gradient(180deg,#1c1719,#121112)!important;
      background-size:auto!important;
      box-shadow:0 7px 18px rgba(0,0,0,.34)!important;
      animation:none!important;
    }
    .card-top{border-bottom:1px solid rgba(177,139,95,.22)!important;background:#35101c!important}
    .mini{border-right:1px solid rgba(177,139,95,.13)!important;background:transparent!important;box-shadow:none!important}
    .mini-label{color:#9f896d!important;font-weight:800!important}
    .mini-value{color:#d2c4b2!important;font-weight:800!important}
    .card-body{background:transparent!important}
    .wine-name{color:#d8c8b2!important;font-weight:800!important}
    .region-line{color:#a99b8d!important;font-weight:600!important}
    .tag,.tag.grape{border:1px solid rgba(177,139,95,.14)!important;background:#211a1c!important;color:#bdb0a0!important}
    .tag.grape{background:#451220!important;color:#d4c1a8!important}
    .empty{border:1px solid rgba(177,139,95,.22)!important;background:#171415!important;color:#b9ac9d!important;box-shadow:none!important}

    @media(max-width:430px){
      body{padding-bottom:calc(156px + var(--safe-bottom))!important}
      main>.landing-tagline{margin-top:clamp(425px,52.5vh,490px)!important}
      .drawer-icon,.dock-btn[data-open="price"] .drawer-icon,.dock-btn[data-open="vintage"] .drawer-icon{width:31px!important;height:31px!important}
    }

    /* WineStack v17 — unified drawer behavior and functional palette */
    :root{
      --v17-burgundy:#4a1021;
      --v17-burgundy-dark:#2b0914;
      --v17-beige:#d3c0a0;
      --v17-beige-soft:#e1d3bb;
      --v17-charcoal:#3b3a3b;
      --v17-hairline:linear-gradient(90deg,#6e4219 0%,#c18c42 25%,#efd08a 50%,#a86e2d 76%,#5b3515 100%);
    }
    .brand-eagle-caption{margin-top:2px!important}
    main>.landing-tagline{
      background:var(--v17-hairline)!important;
      -webkit-background-clip:text!important;background-clip:text!important;
      color:transparent!important;
      opacity:.64!important;
      text-shadow:none!important;
    }
    .external-reset,.reset-small{
      border:1px solid transparent!important;
      background:linear-gradient(#151314,#151314) padding-box,var(--v17-hairline) border-box!important;
    }

    section.drawer,section.drawer.drawer-price,section.drawer.drawer-vintage,section.drawer.drawer-region,section.drawer.drawer-grape{
      background:var(--v17-burgundy-dark)!important;border-top:1px solid rgba(222,183,111,.48)!important;
      overflow:hidden!important;padding:9px 0 calc(0px + var(--safe-bottom))!important;
    }
    section.drawer .handle{background:rgba(225,211,187,.38)!important}
    .drawer-head{
      display:grid!important;grid-template-columns:76px minmax(0,1fr) 76px!important;align-items:center!important;
      min-height:58px!important;margin:0!important;padding:0 13px 10px!important;border-bottom:1px solid rgba(225,211,187,.18)!important;
    }
    .drawer-title{
      display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
      color:var(--v17-beige-soft)!important;font-family:var(--font)!important;font-size:.82rem!important;
      font-weight:700!important;letter-spacing:.025em!important;
    }
    .drawer-title-icon{display:block;width:31px;height:31px;color:var(--v17-beige-soft)}
    .drawer-title-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
    .drawer-head>.reset-small{justify-self:start;min-width:68px!important;color:var(--v17-beige-soft)!important}
    .drawer-head>.x-btn{justify-self:end;color:var(--v17-beige-soft)!important;border:1px solid rgba(225,211,187,.34)!important;background:rgba(18,9,13,.38)!important}
    .drawer-body{
      max-height:calc(86vh - 82px - var(--safe-bottom))!important;
      padding:15px 13px calc(16px + var(--safe-bottom))!important;
      background:linear-gradient(180deg,#ddd0b8 0%,#cfbea0 100%)!important;color:var(--v17-burgundy)!important;
    }
    .drawer .range-title,.drawer .range-inputs label,.drawer .section-title,.drawer .hybrid label,.drawer .field label,
    .drawer .range-current,.drawer .markers{color:var(--v17-burgundy)!important}
    .drawer .range-card{border:1px solid rgba(74,16,33,.24)!important;background:rgba(247,240,226,.48)!important}
    .drawer .range-inputs input,.drawer .hybrid-input input,.drawer .field select,.drawer input[type=number],.drawer select{
      border-color:rgba(74,16,33,.32)!important;background:rgba(252,247,238,.64)!important;color:var(--v17-burgundy)!important;
    }
    .drawer .hybrid-input{border-color:rgba(74,16,33,.32)!important;background:rgba(252,247,238,.64)!important}
    .drawer .drop-btn{border-left-color:rgba(74,16,33,.25)!important;background:rgba(74,16,33,.09)!important;color:var(--v17-burgundy)!important}
    .drawer .hybrid-options{border-color:rgba(74,16,33,.28)!important;background:#eee3d0!important}
    .drawer .option-row{border-bottom-color:rgba(74,16,33,.11)!important;color:var(--v17-burgundy)!important}
    .drawer .option-row:active{background:var(--v17-burgundy)!important;color:var(--v17-beige-soft)!important}
    .drawer .bubble,.drawer .grape-quick,.drawer .check-pill{
      border-color:rgba(74,16,33,.26)!important;background:rgba(249,242,229,.55)!important;color:var(--v17-burgundy)!important;
    }
    .drawer .bubble.active,.drawer .grape-quick.active,.drawer .check-pill:has(input:checked){
      border-color:var(--v17-burgundy)!important;background:var(--v17-burgundy)!important;color:var(--v17-beige-soft)!important;box-shadow:none!important;
    }
    .drawer .subdrawer-btn,.drawer .back-sub{
      justify-content:center!important;border-color:rgba(74,16,33,.32)!important;background:rgba(249,242,229,.58)!important;color:var(--v17-burgundy)!important;
    }
    .drawer .subdrawer-btn .nav-arrow{position:absolute;right:13px;color:var(--v17-burgundy)!important}
    .drawer .back-sub .nav-arrow{color:var(--v17-burgundy)!important}
    .range-wrap{margin-left:12px!important;margin-right:12px!important}
    .markers{display:block!important;position:relative!important;height:31px!important;margin-left:12px!important;margin-right:12px!important}
    .markers span{position:absolute!important;top:0;transform:translateX(-50%);align-items:center!important}
    .markers span:first-child{transform:none;align-items:flex-start!important}
    .markers span:last-child{transform:translateX(-100%);align-items:flex-end!important}
    .range-track{left:0!important;right:0!important;height:4px!important;background:var(--v17-charcoal)!important}
    .range-fill{height:4px!important;background:var(--v17-burgundy)!important}
    .precision-range input[type=range]::-webkit-slider-thumb{
      width:18px!important;height:27px!important;border:2px solid #d7c5a5!important;border-radius:6px!important;background:var(--v17-burgundy)!important;box-shadow:0 2px 5px rgba(0,0,0,.3)!important;
    }
    .precision-range input[type=range]::-moz-range-thumb{
      width:18px!important;height:27px!important;border:2px solid #d7c5a5!important;border-radius:6px!important;background:var(--v17-burgundy)!important;box-shadow:0 2px 5px rgba(0,0,0,.3)!important;
    }
    .markers i{background:var(--v17-burgundy)!important}.markers b{color:var(--v17-burgundy)!important}
    .quick-symbol{filter:drop-shadow(0 1px 0 rgba(255,255,255,.45)) drop-shadow(0 3px 4px rgba(38,13,20,.34))}
    .quick-symbol svg{stroke:currentColor!important}.grape-quick.active .quick-symbol{filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}
    .icon-cabernet-sauvignon{color:#67243a!important}.icon-malbec{color:#63405a!important}.icon-merlot{color:#815060!important}
    .icon-pinot-noir{color:#934a4e!important}.icon-zinfandel{color:#7d3b35!important}.icon-chardonnay{color:#9d8538!important}
    .icon-pinot-grigio{color:#7a875f!important}.icon-rose{color:#ae6f70!important}.icon-sauvignon-blanc{color:#718957!important}.icon-sparkling{color:#8f7f55!important}
    .grape-quick.active .quick-symbol{color:var(--v17-beige-soft)!important}
    @media(max-width:430px){.drawer-body{max-height:calc(86vh - 82px - var(--safe-bottom))!important}}

    /* WineStack v17.1 — copper accents, static landing quote, refined drawer readability */
    :root{
      --v171-copper-line:linear-gradient(90deg,#5f2d20 0%,#8c402b 24%,#c06d45 51%,#91452f 76%,#59291e 100%);
      --v171-copper-soft:linear-gradient(90deg,#65372a 0%,#8d4d38 35%,#a76043 64%,#704033 100%);
      --v171-drawer-beige:#bca582;
      --v171-drawer-beige-dark:#ad956f;
      --v171-control-border:#6d2338;
    }
    main>.landing-tagline{
      position:fixed!important;left:0!important;right:0!important;bottom:calc(173px + var(--safe-bottom))!important;top:auto!important;
      z-index:1!important;margin:0 auto!important;pointer-events:none!important;
      background:var(--v171-copper-line)!important;-webkit-background-clip:text!important;background-clip:text!important;
      color:transparent!important;opacity:.42!important;animation:none!important;transform:none!important;text-shadow:none!important;
    }
    .external-reset,.reset-small,.x-btn{
      border:1px solid transparent!important;
      background:linear-gradient(#151314,#151314) padding-box,var(--v171-copper-line) border-box!important;
    }

    .drawer-head{min-height:61.2px!important;padding-bottom:0!important}
    .drawer-title{
      flex-direction:column!important;gap:2.55px!important;color:var(--v15-logo-warm)!important;
      font-size:.72rem!important;font-weight:700!important;line-height:1!important;
    }
    .drawer-title-icon{width:30px!important;height:30px!important;color:var(--v15-logo-warm)!important}
    .drawer-head>.x-btn{
      width:42px!important;height:42px!important;min-height:42px!important;color:var(--v15-logo-warm)!important;
      border-radius:50%!important;
    }
    .drawer-body{
      max-height:calc(86vh - 96px - var(--safe-bottom))!important;
      background:linear-gradient(180deg,var(--v171-drawer-beige) 0%,var(--v171-drawer-beige-dark) 100%)!important;
      font-size:.94rem!important;
    }
    .drawer .range-title,.drawer .section-title,.drawer .hybrid label,.drawer .field label{font-size:.75rem!important}
    .drawer .range-current{font-size:.91rem!important}
    .drawer .markers{font-size:.64rem!important}
    .drawer .markers span{font-size:.64rem!important}
    .drawer .bubble,.drawer .grape-quick,.drawer .check-pill,.drawer .subdrawer-btn,.drawer .back-sub{font-size:.84rem!important}
    .drawer .option-row{font-size:.94rem!important}
    .drawer input,.drawer select{font-size:16px!important}

    .drawer .range-card,.drawer .range-inputs input,.drawer .hybrid-input,.drawer .field select,
    .drawer input[type=number],.drawer select,.drawer .drop-btn,.drawer .bubble,.drawer .grape-quick,
    .drawer .check-pill,.drawer .subdrawer-btn,.drawer .back-sub{
      border-color:rgba(109,35,56,.72)!important;
    }
    .drawer .hybrid-input input{border:0!important}
    .drawer .drop-btn{border-left:1px solid rgba(109,35,56,.72)!important}
    .vintage-check-grid .check-pill input,.check-pill input{
      -webkit-appearance:none!important;appearance:none!important;position:relative!important;
      width:19px!important;height:19px!important;min-height:19px!important;padding:0!important;
      border:1px solid var(--v171-control-border)!important;border-radius:4px!important;
      background:var(--v171-drawer-beige-dark)!important;box-shadow:inset 0 1px 2px rgba(74,16,33,.12)!important;
    }
    .vintage-check-grid .check-pill input:checked,.check-pill input:checked{background:var(--v17-burgundy)!important}
    .vintage-check-grid .check-pill input:checked::after,.check-pill input:checked::after{
      content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;
      border:solid var(--v17-beige-soft);border-width:0 2px 2px 0;transform:rotate(45deg);
    }
    .wine-card{border:1px solid rgba(151,121,86,.72)!important}
    @media(max-width:430px){
      main>.landing-tagline{bottom:calc(173px + var(--safe-bottom))!important}
      .drawer-body{max-height:calc(86vh - 96px - var(--safe-bottom))!important}
    }

    /* WineStack v17.2 — balanced bronze hairlines and precision controls */
    :root{
      --v172-metal-line:linear-gradient(90deg,#63391f 0%,#95602f 24%,#d39a57 50%,#a56a32 76%,#5a321c 100%);
      --v172-metal-soft:linear-gradient(90deg,#69462f 0%,#8f6949 34%,#b58a61 62%,#73503a 100%);
    }
    main>.landing-tagline{
      bottom:calc(216px + var(--safe-bottom))!important;opacity:.49!important;
      background:var(--v172-metal-line)!important;-webkit-background-clip:text!important;background-clip:text!important;
    }
    .external-reset,.reset-small,.x-btn{background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box!important}
    .drawer .range-card,.drawer .range-inputs input,.drawer .hybrid-input,.drawer .field select,
    .drawer input[type=number],.drawer select,.drawer .drop-btn,.drawer .bubble,.drawer .grape-quick,
    .drawer .check-pill,.drawer .subdrawer-btn,.drawer .back-sub{border-width:1.5px!important}
    .drawer .drop-btn{border-left-width:1.5px!important}

    .drawer-region .hybrid-input,.drawer-grape .hybrid-input{height:44px!important;min-height:44px!important}
    .drawer-region .hybrid-input input,.drawer-grape .hybrid-input input,
    .drawer-region .drop-btn,.drawer-grape .drop-btn{height:42px!important;min-height:42px!important}
    .drawer .range-inputs input{height:44px!important;min-height:44px!important}

    .drawer-title-icon{width:35px!important;height:35px!important}
    .drawer-head>.reset-small,.drawer-head>.x-btn{transform:translateY(-4px)!important}
    .drawer-head>.x-btn{
      background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box!important;
    }
    .grape-title-icon svg circle{fill:currentColor!important;stroke:#5a2135!important;stroke-width:.65!important}

    .drawer .drop-btn{
      display:grid!important;place-items:center!important;width:42px!important;padding:0!important;
      border-top:0!important;border-right:0!important;border-bottom:0!important;border-radius:0 11px 11px 0!important;
      background:linear-gradient(180deg,rgba(82,20,38,.92),rgba(43,10,20,.97))!important;
      color:#cbb083!important;box-shadow:inset 0 1px rgba(255,255,255,.04)!important;
    }
    .drawer .drop-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
    .subdrawer-btn{font-size:.93rem!important}
    .subdrawer-btn .nav-arrow{
      display:block!important;width:38px!important;height:34px!important;padding:7px!important;border-radius:13px!important;
      background:linear-gradient(180deg,rgba(82,20,38,.92),rgba(43,10,20,.97))!important;
      color:#cbb083!important;stroke:currentColor!important;box-shadow:inset 0 1px rgba(255,255,255,.04)!important;
    }

    .range-wrap{height:38px!important;margin-bottom:4px!important}
    .range-track,.range-fill{top:17px!important;height:5px!important}
    .range-wrap input[type=range]{
      top:4px!important;height:31px!important;min-height:31px!important;padding:0!important;border:0!important;
    }
    .range-wrap input[type=range]::-webkit-slider-runnable-track{height:5px!important;background:transparent!important}
    .range-wrap input[type=range]::-moz-range-track{height:5px!important;background:transparent!important}
    .markers{height:29px!important;font-size:.61rem!important}
    .markers span{font-size:.61rem!important}
    @media(max-width:430px){main>.landing-tagline{bottom:calc(216px + var(--safe-bottom))!important}}

    /* WineStack v17.3 — final drawer navigation and field cleanup */
    .drawer .range-card,.drawer .range-inputs input,.drawer .hybrid-input,.drawer .field select,
    .drawer input[type=number],.drawer select,.drawer .drop-btn,.drawer .bubble,.drawer .grape-quick,
    .drawer .check-pill,.drawer .subdrawer-btn,.drawer .back-sub{border-width:2px!important}
    .drawer .drop-btn{border-left-width:2px!important}

    .drawer-title-icon{width:39.1px!important;height:39.1px!important}
    .drawer-head>.x-btn{
      display:grid!important;place-items:center!important;padding:0!important;
      line-height:1!important;text-indent:0!important;font-family:Arial,sans-serif!important;
    }

    .drawer-vintage .check-pill input[type=checkbox]{
      width:20px!important;height:20px!important;min-width:20px!important;
      border:2px solid #5b1730!important;background:#d4c2a3!important;
    }

    .drawer-region .hybrid-input,.drawer-grape .hybrid-input{
      grid-template-columns:minmax(0,1fr) 44px!important;gap:0!important;
      overflow:hidden!important;background:transparent!important;
    }
    .drawer-region .hybrid-input::before,.drawer-region .hybrid-input::after,
    .drawer-grape .hybrid-input::before,.drawer-grape .hybrid-input::after{display:none!important}
    .drawer-region .hybrid-input input.clearable-input,
    .drawer-grape .hybrid-input input.clearable-input{
      min-width:0!important;padding-right:36px!important;white-space:nowrap!important;
      overflow:hidden!important;text-overflow:ellipsis!important;
    }
    .drawer-region .hybrid-clear,.drawer-grape .hybrid-clear{right:49px!important}
    .drawer-region .drop-btn,.drawer-grape .drop-btn{
      width:44px!important;min-width:44px!important;border-radius:0!important;
    }

    .drawer .subdrawer-btn,.drawer .back-sub{
      display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
      min-height:54px!important;border:1px solid transparent!important;border-radius:16px!important;
      background:linear-gradient(#3b0d1b,#250811) padding-box,var(--v172-metal-line) border-box!important;
      color:#c49a69!important;box-shadow:inset 0 1px rgba(255,255,255,.035)!important;
      text-shadow:none!important;
    }
    .drawer .subdrawer-btn{font-size:1.05rem!important;font-weight:900!important}
    .drawer .back-sub{font-size:1rem!important;font-weight:900!important}
    .price-nav-icon{
      position:static!important;display:block!important;width:21px!important;height:21px!important;
      flex:0 0 21px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
      background:none!important;box-shadow:none!important;fill:none!important;stroke:currentColor!important;
      stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;
    }

    /* WineStack v18 — compact shell, sort rail, grouped drawers, and card metadata */
    :root{
      --v18-charcoal-line:#4b4848;
      --v18-charcoal-soft:#5b5757;
      --v18-drawer-base:#b49c76;
      --v18-subwindow:#ddccb0;
      --v18-subwindow-soft:#eadcc6;
      --v18-brown-burgundy:#3a1717;
    }
    html{scrollbar-width:thin;scrollbar-color:rgba(137,126,119,.58) transparent}
    html::-webkit-scrollbar,body::-webkit-scrollbar,.drawer-body::-webkit-scrollbar{width:5px;height:5px}
    html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.drawer-body::-webkit-scrollbar-track{background:transparent}
    html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.drawer-body::-webkit-scrollbar-thumb{background:rgba(137,126,119,.58);border-radius:999px}

    .app-header{
      min-height:calc(86px + var(--safe-top))!important;
      padding:calc(1px + var(--safe-top)) 8px 3px!important;
      background:radial-gradient(ellipse at 50% 42%,#512024 0%,#361317 46%,#210b0e 100%)!important;
    }
    .brand-stage{height:80px!important}
    main>.landing-tagline{bottom:calc(248px + var(--safe-bottom))!important}
    .image-drawer-icon img,.image-title-icon img{display:block;width:100%;height:100%;object-fit:contain}
    .image-drawer-icon,.image-title-icon{overflow:visible}

    .header-sort-toggle{
      position:absolute;right:8px;bottom:5px;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;
      width:54px;height:64px;padding:0;border:0;background:transparent;color:#d5b780;font-size:.54rem;font-weight:850;letter-spacing:.12em;
    }
    .header-sort-toggle[hidden]{display:none!important}
    .header-sort-toggle img{display:block;width:43px;height:43px;object-fit:contain}
    .header-sort-toggle.is-visible img{animation:sortInviteGlow 2.4s ease-in-out infinite}
    .header-sort-toggle span{margin-top:-2px}
    @keyframes sortInviteGlow{0%,100%{filter:drop-shadow(0 0 2px rgba(215,164,85,.18));transform:scale(1)}50%{filter:drop-shadow(0 0 7px rgba(232,184,104,.58));transform:scale(1.025)}}
    body.drawer-open .header-sort-toggle{opacity:0;pointer-events:none}
    .sort-rail{
      position:fixed;right:0;top:calc(86px + var(--safe-top));z-index:120;width:72px;padding:0 8px 10px;
      border:1px solid var(--v18-charcoal-line);border-right:0;border-radius:15px 0 0 15px;
      background:linear-gradient(180deg,#d8c5a7,#bba079);box-shadow:-8px 8px 22px rgba(0,0,0,.4);
      transform:translate3d(110%,0,0);opacity:0;pointer-events:none;transition:transform .32s cubic-bezier(.2,.82,.24,1),opacity .22s ease;
    }
    .sort-rail.open{transform:translate3d(0,0,0);opacity:1;pointer-events:auto}
    .sort-rail-title{margin:0 -8px 8px;padding:8px 2px 7px;background:linear-gradient(180deg,#3b1119,#240b10);color:#e0c79d;text-align:center;font-size:.75rem;letter-spacing:.1em}
    .sort-rail button{
      width:55px;height:55px;margin:0 0 7px;padding:4px;border:1px solid #b47b38;border-radius:15px;
      display:flex;align-items:center;justify-content:center;gap:1px;background:linear-gradient(180deg,#6c1731,#370c18);color:#e6bd74;
      box-shadow:inset 0 0 0 2px rgba(239,196,111,.25),0 3px 6px rgba(0,0,0,.25);transition:filter .16s,transform .16s,box-shadow .16s;
    }
    .sort-rail button:last-child{margin-bottom:0}.sort-rail button.selected{filter:brightness(1.22);transform:scale(1.04);box-shadow:0 0 13px rgba(238,185,96,.78),inset 0 0 0 2px rgba(255,221,153,.65)}
    .sort-rail button svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
    .sort-rail .sort-grape circle{fill:currentColor;stroke:#5b1930;stroke-width:.45}.sort-az,.sort-dollar{font-family:Georgia,serif;font-size:1.08rem;line-height:.8}.sort-dollar{font-size:1.7rem}

    section.drawer{transition:transform .38s cubic-bezier(.2,.86,.25,1),opacity .25s ease!important;will-change:transform;touch-action:pan-y}
    section.drawer.dragging{transition:none!important}
    .backdrop{transition:opacity .3s ease!important}
    .drawer-body{background:linear-gradient(180deg,#bda680 0%,var(--v18-drawer-base) 100%)!important}
    .drawer .range-card,.drawer .range-inputs input,.drawer .hybrid-input,.drawer .field select,
    .drawer input[type=number],.drawer select,.drawer .drop-btn,.drawer .bubble,.drawer .grape-quick,
    .drawer .check-pill,.drawer .subdrawer-btn,.drawer .back-sub{border-color:var(--v18-charcoal-line)!important}
    .drawer .drop-btn{border-left-color:var(--v18-charcoal-line)!important}
    .drawer-head{position:relative!important;border-bottom:0!important}
    .drawer-head::after{
      content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
      background:var(--v172-metal-line);opacity:.88;pointer-events:none;
      box-shadow:0 1px 4px rgba(194,139,60,.24);
    }
    .drawer-subwindow{
      margin:0 0 13px;border:1.5px solid var(--v18-charcoal-line);border-radius:15px;overflow:hidden;
      background:var(--v18-subwindow);
      box-shadow:0 8px 18px rgba(45,29,21,.22),0 2px 5px rgba(45,29,21,.18),0 0 0 1px rgba(255,244,222,.08);
    }
    .drawer-subwindow:last-child{margin-bottom:0}
    .subwindow-title{
      min-height:35px;display:grid;place-items:center;padding:7px 8px 6px;
      background:linear-gradient(180deg,#43131e,#270c12);color:#e0c79d;font-size:.78rem;font-weight:850;letter-spacing:.13em;text-align:center;
    }
    .subwindow-content{padding:12px;background:linear-gradient(180deg,var(--v18-subwindow-soft),var(--v18-subwindow))}
    .drawer-subwindow .range-card{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
    .drawer-subwindow .quick-grid{margin-top:0!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}

    .vintage-single-window{max-width:290px;margin-left:auto;margin-right:auto}
    .single-vintage-input{width:100%;min-height:58px!important;text-align:center;font-size:2rem!important;font-weight:900!important;border:2px solid var(--v18-charcoal-line)!important;border-radius:13px!important;background:#efe3d2!important;color:#3a0c19!important}
    .vintage-subwindow.active-window{border-color:transparent!important;background:linear-gradient(var(--v18-subwindow),var(--v18-subwindow)) padding-box,var(--v172-metal-line) border-box!important;animation:activeSubwindowGlow 2.6s ease-in-out infinite}
    @keyframes activeSubwindowGlow{0%,100%{box-shadow:0 8px 18px rgba(45,29,21,.22),0 2px 5px rgba(45,29,21,.18),0 0 3px rgba(218,158,77,.24)}50%{box-shadow:0 8px 18px rgba(45,29,21,.22),0 2px 5px rgba(45,29,21,.18),0 0 11px rgba(231,179,100,.62)}}
    .decade-button-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
    .decade-button{
      min-height:49px;padding:0 9px;border:1.5px solid var(--v18-charcoal-line);border-radius:13px;
      display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#541426,#260a12);color:#eadcc6;font-size:.88rem;font-weight:780;box-shadow:0 4px 8px rgba(0,0,0,.22);
    }
    .decade-button svg{width:16px;height:16px;fill:none;stroke:#dec48f;stroke-width:2;transition:transform .18s}.decade-button.expanded svg{transform:rotate(180deg)}
    .decade-year-panel{display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:11px;padding:9px;border-top:1px solid var(--v18-charcoal-line);background:rgba(244,231,210,.55)}
    .decade-year-panel.open{display:grid}
    .vintage-year-button{min-height:45px;padding:0 2px;border:1.5px solid #332b2b;border-radius:9px;background:#e8d9c1;color:#35101a;font-size:.88rem;font-weight:900}
    .vintage-year-button.selected{background:#46101f;color:#efdfc4;border-color:#46101f}
    .vintage-range-card .range-current{display:none}.vintage-range-inputs>div{border:1.5px solid var(--v18-charcoal-line);border-radius:0 0 14px 14px;overflow:hidden;background:#efe2cf}
    .vintage-range-inputs label{display:block!important;margin:0!important;padding:8px 11px!important;background:linear-gradient(180deg,#43131e,#270c12)!important;color:#e0c79d!important;font-size:.75rem!important}
    .vintage-range-inputs input{height:68px!important;border:0!important;border-radius:0!important;background:#efe2cf!important;color:#3b0d1b!important;font-size:1.65rem!important;font-weight:900!important}

    .card-body{position:relative}.card-body-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.card-body-head .wine-name{flex:1;min-width:0}
    .card-corner-meta{display:flex;align-items:center;gap:5px;flex:0 0 auto;margin-top:-1px}
    .cellar-pill{padding:4px 7px;border:1px solid rgba(202,167,110,.62);border-radius:999px;background:#2f1118;color:#dfc89e;font-size:.58rem;font-weight:850;line-height:1;white-space:nowrap}
    .country-badge{width:25px;height:25px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(223,193,136,.7);border-radius:50%;background:#171313;font-size:17px;line-height:1;box-shadow:0 2px 5px rgba(0,0,0,.32)}
    .tag.dynamic-pill{border-color:color-mix(in srgb,var(--pill-bg) 70%,#d9c8ad 30%)!important;background:var(--pill-bg)!important;color:var(--pill-fg,#f2e5d0)!important;box-shadow:inset 0 1px rgba(255,255,255,.08)}
    .tag.dynamic-pill.still-classification{background:#6f3038!important;border-color:#a66268!important;color:#f1d9d7!important}
    .tag.dynamic-pill.rose-classification{background:#a96f7d!important;border-color:#d19aa5!important;color:#fff0ee!important}
    .tag.dynamic-pill.cabernet-dominant-classification{background:#4b1728!important;border-color:#8c5062!important;color:#f1ded4!important}
    .tag.dynamic-pill.subregion-classification{background:#67452f!important;border-color:#a97d50!important;color:#f4e1c2!important}
    .tag.dynamic-pill.burgundy-classification{background:#5a1930!important;border-color:#a15a70!important;color:#f1d8df!important}
    .wine-name-parenthetical{font-size:.7632em;font-style:italic;color:#bd7b54}
    .wine-name-quoted{font-size:.9em;font-style:italic;color:#cdbb9c}
    @supports not (color:color-mix(in srgb,red,blue)){.tag.dynamic-pill{border-color:rgba(218,199,169,.38)!important}}

    @media(max-width:430px){
      .app-header{min-height:calc(86px + var(--safe-top))!important}.brand-stage{height:80px!important}
      main>.landing-tagline{bottom:calc(248px + var(--safe-bottom))!important}
      .decade-button-grid{gap:9px 8px}.decade-button{font-size:.78rem;padding:0 5px}.subwindow-content{padding:10px}
      .cellar-pill{font-size:.54rem;padding:4px 6px}.country-badge{width:23px;height:23px;font-size:16px}
    }

    /* WineStack v18.1 — focused visual and interaction refinements */
    main>.landing-tagline{bottom:calc(273px + var(--safe-bottom))!important}
    .brand-eagle-image{transform:translateY(-2px)}
    .brand-eagle-caption{margin-top:-5px!important;transform:translateY(-2px)}
    .dock-btn .drawer-icon{transform:translateY(2px)}

    .price-line-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
    .drawer-title-icon.price-line-icon,.dock-btn[data-open="price"] .drawer-icon.price-line-icon{color:var(--v15-logo-warm)!important;filter:none!important}

    .sort-rail{
      right:6px;top:calc(86px + var(--safe-top));width:51px;padding:4px;
      border:1px solid rgba(214,188,142,.32);border-radius:12px;
      background:rgba(30,18,20,.64);box-shadow:-4px 7px 16px rgba(0,0,0,.3);
      -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    }
    .sort-rail button{
      width:41px;height:41px;margin:0 0 5px;padding:3px;border-radius:11px;gap:0;
      box-shadow:inset 0 0 0 1px rgba(239,196,111,.22),0 2px 5px rgba(0,0,0,.22);
    }
    .sort-rail button svg{width:27px;height:27px}
    .sort-pair{display:inline-flex;align-items:center;justify-content:center;gap:1px;line-height:.72}
    .sort-stack{font-family:Georgia,serif;font-size:.91rem;line-height:.72;text-align:center}
    .sort-dollar{font-family:Georgia,serif;font-size:1.48rem;line-height:1}
    .sort-arrow{font-size:1.18rem;line-height:1;margin-left:-1px;font-weight:700}

    .vintage-single-window{max-width:220px!important}
    .vintage-single-window .subwindow-title{min-height:28px;padding:4px 7px 3px;font-size:.72rem}
    .vintage-single-window .subwindow-content{padding:7px!important}
    .single-vintage-input{min-height:44px!important;height:44px!important;font-size:1.35rem!important;border-radius:10px!important}
    .decade-button{position:relative;justify-content:center!important;font-size:1rem!important;font-weight:850!important;text-align:center;padding:0 28px 0 10px!important}
    .decade-button svg{position:absolute;right:11px;width:15px;height:15px}
    .vintage-year-button{font-size:1.12rem!important;font-weight:950!important;color:#3c0d1b!important}
    .vintage-year-button.selected{color:#efdfc4!important}
    .vintage-range-inputs>div{border-radius:13px!important;overflow:hidden}
    .vintage-range-inputs label{
      min-height:27px!important;padding:5px 9px 4px!important;border-radius:11px 11px 0 0!important;
      color:#e0c79d!important;font-size:.67rem!important;line-height:1.05!important;
    }
    .vintage-range-inputs input{height:48px!important;font-size:1.15rem!important;padding:5px 9px!important}

    .country-stack{width:27px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1px;flex:0 0 27px}
    .country-badge{display:block;width:27px!important;height:27px!important;border:0!important;border-radius:50%;background:transparent;box-shadow:0 2px 5px rgba(0,0,0,.28);object-fit:cover}
    .country-code{width:27px;color:#d7c29e;font-size:.49rem;font-weight:900;letter-spacing:.04em;line-height:1;text-align:center}

    @media(max-width:430px){
      main>.landing-tagline{bottom:calc(273px + var(--safe-bottom))!important}
      .vintage-single-window{max-width:205px!important}
      .decade-button{font-size:.9rem!important;padding-right:25px!important}
      .country-stack{width:25px;flex-basis:25px}.country-badge{width:25px!important;height:25px!important}.country-code{width:25px}
    }

  

    /* WineStack v18.2 — icon, Vintage drawer, and header spacing refinements */
    .brand-eagle-image{
      transform:translateY(-9px)!important;
    }
    .brand-eagle-caption{
      margin-top:1px!important;
      transform:translateY(-1px)!important;
    }

    .vintage-single-window{
      max-width:182px!important;
    }
    .vintage-single-window .subwindow-content{
      padding:7px 9px!important;
    }
    .single-vintage-input{
      width:138px!important;
      max-width:100%!important;
      margin:0 auto!important;
      display:block!important;
    }
    .single-vintage-input::placeholder{
      color:transparent!important;
      opacity:0!important;
    }

    .vintage-range-inputs{
      grid-template-columns:repeat(2,minmax(0,164px))!important;
      justify-content:center!important;
      gap:14px!important;
    }
    .vintage-range-inputs>div{
      width:100%!important;
      max-width:164px!important;
      margin:0 auto!important;
    }
    .vintage-range-inputs label{
      color:#e0c79d!important;
      -webkit-text-fill-color:#e0c79d!important;
      opacity:1!important;
      text-shadow:none!important;
    }

    @media(max-width:430px){
      .vintage-single-window{max-width:174px!important}
      .single-vintage-input{width:130px!important}
      .vintage-range-inputs{grid-template-columns:repeat(2,minmax(0,148px))!important;gap:12px!important}
      .vintage-range-inputs>div{max-width:148px!important}
    }


    /* WineStack v18.3 — drawer typography, persistent dock, and open-state glow */
    .vintage-range-inputs label{
      min-height:22px!important;
      padding:3px 6px 2px!important;
      display:grid!important;
      place-items:center!important;
      text-align:center!important;
      line-height:1!important;
      font-size:.64rem!important;
    }
    .single-vintage-input{
      text-align:center!important;
      font-size:1.72rem!important;
      font-weight:950!important;
      padding-left:4px!important;
      padding-right:4px!important;
    }
    .brand-eagle-image{
      width:104px!important;
      height:86px!important;
      transform:translateY(-11px)!important;
    }
    .brand-eagle-caption{
      font-size:.72rem!important;
      margin-top:2px!important;
      transform:translateY(-1px)!important;
    }
    .header-sort-toggle span{
      margin-top:2px!important;
      transform:translateY(2px)!important;
    }

    /* The dedicated persistent dock below is the only dock promoted above an
       open drawer. The ordinary landing dock remains inside the bottom area. */
    body.drawer-open section.drawer{
      padding-bottom:calc(66px + var(--safe-bottom))!important;
    }
    body.drawer-open .drawer-body{
      max-height:calc(86vh - 148px - var(--safe-bottom))!important;
      padding-bottom:calc(80px + var(--safe-bottom))!important;
    }
    .dock-btn.active-filter,.dock-btn.active-filter .drawer-icon{
      filter:none!important;
      animation:none!important;
      color:var(--v15-logo-warm)!important;
    }
    .dock-btn.drawer-open-highlight{
      color:var(--v15-logo-warm-active)!important;
    }
    .dock-btn.drawer-open-highlight .drawer-icon{
      color:var(--v15-logo-warm-active)!important;
      filter:drop-shadow(0 0 3px rgba(242,223,181,.82)) drop-shadow(0 0 9px rgba(190,143,72,.62))!important;
      animation:v15IconGlow 3.4s ease-in-out infinite!important;
    }
    @media(prefers-reduced-motion:reduce){
      .dock-btn.drawer-open-highlight .drawer-icon{animation:none!important}
    }
    @media(max-width:430px){
      .brand-eagle-image{width:104px!important;height:86px!important}
      .brand-eagle-caption{font-size:.72rem!important}
      body.drawer-open section.drawer{padding-bottom:calc(66px + var(--safe-bottom))!important}
      body.drawer-open .drawer-body{max-height:calc(86vh - 148px - var(--safe-bottom))!important}
    }


    /* WineStack v18.4 — repair header emblem and persistent drawer dock */
    .brand-eagle-mark{display:none!important;}
    .brand-eagle-image{
      display:block!important;
      width:100px!important;
      height:72px!important;
      object-fit:contain!important;
      object-position:center!important;
      margin:0 auto!important;
      transform:translateY(-7px)!important;
      mix-blend-mode:normal!important;
      filter:drop-shadow(0 3px 5px rgba(0,0,0,.58))!important;
    }
    .brand-eagle-caption{
      margin-top:-7px!important;
      font-size:.66rem!important;
      line-height:1!important;
    }
    .persistent-drawer-dock .dock-btn{
      min-height:54px!important;
      height:54px!important;
      border:0!important;
      border-right:1px solid rgba(216,200,171,.12)!important;
      border-radius:0!important;
      background:transparent!important;
      box-shadow:none!important;
      opacity:1!important;
      animation:none!important;
      pointer-events:auto!important;
    }
    .persistent-drawer-dock .dock-btn:last-child{border-right:0!important;}
    body.drawer-open section.drawer{
      padding-bottom:calc(74px + var(--safe-bottom))!important;
    }
    body.drawer-open .drawer-body{
      padding-bottom:calc(86px + var(--safe-bottom))!important;
    }
    @media(max-width:430px){
      .brand-eagle-image{width:100px!important;height:72px!important;}
      .brand-eagle-caption{font-size:.66rem!important;}
    }

    /* WineStack v18.7 — restore approved emblem, drawer toggles, and final typography tuning */
    /* Restore the approved v18.3 Double Eagle mask treatment. */
    .brand-eagle-image{display:none!important;}
    .brand-eagle-mark{
      display:block!important;
      width:104px!important;
      height:78px!important;
      margin:0 auto!important;
      transform:translateY(-11px)!important;
      background:#b18b5f!important;
      opacity:.9!important;
      -webkit-mask:url("../assets/double-eagle-header-logo.png") center/contain no-repeat!important;
      mask:url("../assets/double-eagle-header-logo.png") center/contain no-repeat!important;
      filter:drop-shadow(0 2px 3px rgba(0,0,0,.45))!important;
    }
    .brand-eagle-caption{
      margin-top:-15px!important;
      transform:translateY(-4px)!important;
      font-size:.72rem!important;
      line-height:1!important;
    }

    /* Make the Single Vintage value unmistakably centered and larger. */
    .single-vintage-input{
      text-align:center!important;
      text-align-last:center!important;
      font-size:2rem!important;
      font-weight:950!important;
      padding-left:0!important;
      padding-right:0!important;
      -moz-appearance:textfield!important;
      appearance:textfield!important;
    }
    .single-vintage-input::-webkit-outer-spin-button,
    .single-vintage-input::-webkit-inner-spin-button{
      -webkit-appearance:none!important;
      margin:0!important;
    }

    /* The replacement Price icon receives the same open-drawer glow as the other icons. */
    .dock-btn.drawer-open-highlight .drawer-icon.price-line-icon,
    .persistent-drawer-dock .dock-btn.drawer-open-highlight .drawer-icon.price-line-icon{
      color:var(--v15-logo-warm-active)!important;
      filter:drop-shadow(0 0 3px rgba(242,223,181,.82)) drop-shadow(0 0 9px rgba(190,143,72,.62))!important;
      animation:v15IconGlow 3.4s ease-in-out infinite!important;
    }
    @media(prefers-reduced-motion:reduce){
      .dock-btn.drawer-open-highlight .drawer-icon.price-line-icon,
      .persistent-drawer-dock .dock-btn.drawer-open-highlight .drawer-icon.price-line-icon{animation:none!important}
    }



    /* WineStack v18.7 — final Vintage typography and header-logo positioning */
    .single-vintage-input{
      height:44px!important;
      min-height:44px!important;
      line-height:44px!important;
      font-size:2.55rem!important;
      font-weight:950!important;
      text-align:center!important;
      text-align-last:center!important;
      padding:0!important;
    }
    .vintage-range-inputs label{
      width:100%!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      text-align:center!important;
      padding-left:0!important;
      padding-right:0!important;
    }
    .brand-eagle-mark{
      transform:translateY(-14px)!important;
    }



/* WineStack v18.7 — final Vintage typography and header alignment */
.drawer-vintage .single-vintage-input{
  height:58px!important;
  min-height:58px!important;
  width:138px!important;
  max-width:100%!important;
  padding:0 2px!important;
  text-align:center!important;
  text-align-last:center!important;
  font-size:2.65rem!important;
  font-weight:950!important;
  line-height:58px!important;
  letter-spacing:-.035em!important;
  color:#3a0c19!important;
  -webkit-text-fill-color:#3a0c19!important;
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
.drawer-vintage .single-vintage-input::-webkit-inner-spin-button,
.drawer-vintage .single-vintage-input::-webkit-outer-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}
.drawer-vintage .vintage-range-inputs label{
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  justify-content:center!important;
  min-height:20px!important;
  height:20px!important;
  padding:0 4px!important;
  margin:0!important;
  text-align:center!important;
  line-height:1!important;
}
.drawer-vintage .vintage-range-inputs input{
  text-align:center!important;
  text-align-last:center!important;
  padding-left:2px!important;
  padding-right:2px!important;
}
.brand-eagle-image{transform:translateY(-13px)!important;}
@media(max-width:430px){
  .drawer-vintage .single-vintage-input{font-size:2.55rem!important;}
  .brand-eagle-image{transform:translateY(-13px)!important;}
}



/* WineStack v18.9 — compact wine-card world/flag stack */
.card-body{
  position:relative!important;
  min-height:0!important;
  padding:9px 118px 10px 11px!important;
}
.card-body-head{align-items:flex-start!important;}
.card-side-meta{
  position:absolute;
  top:10px;
  right:10px;
  width:102px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  z-index:2;
}
.cellar-pill{
  padding:6px 11px!important;
  font-size:.66rem!important;
  line-height:1!important;
  letter-spacing:.055em!important;
  border-width:1.25px!important;
  text-transform:uppercase;
  text-align:center;
}
.country-stack-side{
  width:30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin:0!important;
}
.country-badge-vignette{
  position:relative;
  display:block;
  width:30px;
  height:30px;
  overflow:hidden;
  border-radius:50%;
  box-shadow:0 2px 5px rgba(0,0,0,.28);
}
.country-badge-vignette::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
  background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.13) 0%,rgba(255,255,255,.04) 38%,rgba(0,0,0,.10) 68%,rgba(0,0,0,.42) 100%);
}
.country-badge-vignette .country-badge{
  display:block!important;
  width:30px!important;
  height:30px!important;
  border:0!important;
  border-radius:50%!important;
  object-fit:cover!important;
  filter:none!important;
  opacity:1!important;
  box-shadow:none!important;
}
.country-stack-side .country-code{
  width:30px;
  color:#d7c29e!important;
  opacity:1!important;
  font-size:.49rem;
  font-weight:900;
  letter-spacing:.04em;
  line-height:1;
  text-align:center;
}
@media(max-width:430px){
  .card-body{padding:8px 108px 9px 10px!important;}
  .card-side-meta{top:9px;right:9px;width:94px;gap:6px;}
  .cellar-pill{padding:5px 9px!important;font-size:.61rem!important;}
  .country-badge-vignette,.country-badge-vignette .country-badge{width:28px!important;height:28px!important;}
  .country-stack-side,.country-stack-side .country-code{width:28px;}
}



/* WineStack v18.11 — unified flat data pills */
.card-body{
  padding-right:176px!important;
}
.card-side-meta{
  top:9px!important;
  right:10px!important;
  width:160px!important;
  align-items:flex-end!important;
  gap:6px!important;
}
.card-meta-topline{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:nowrap;
}
.cellar-pill,
.bottle-size-badge,
.cooler-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:5px 10px!important;
  border-radius:999px;
  border:1.25px solid;
  font-size:.66rem!important;
  font-weight:900;
  line-height:1;
  letter-spacing:.055em;
  white-space:nowrap;
  text-transform:uppercase;
  text-align:center;
  box-shadow:0 1px 3px rgba(0,0,0,.24);
}
.cellar-pill{
  color:#ead8b8!important;
  background:#3a1822!important;
  border-color:#9b6c46!important;
}
.bottle-size-badge.copper{
  color:#f6ddc6;
  background:#743b28;
  border-color:#b8704c;
}
.bottle-size-badge.silver{
  color:#f0f1f2;
  background:#555b64;
  border-color:#9ca3ad;
}
.bottle-size-badge.gold{
  color:#f7e7b6;
  background:#80631d;
  border-color:#b99a45;
}
.cooler-pill{
  align-self:flex-end;
  color:#ffe2bd;
  background:#8a4a20;
  border-color:#c77b3f;
}
.country-stack-side{
  align-self:flex-end!important;
  margin-top:0!important;
}
.country-badge-vignette::after{
  background:radial-gradient(circle at 47% 43%,rgba(255,255,255,.22) 0%,rgba(255,255,255,.10) 24%,rgba(0,0,0,.04) 45%,rgba(0,0,0,.28) 72%,rgba(0,0,0,.52) 100%)!important;
  box-shadow:inset 0 0 7px rgba(0,0,0,.52)!important;
}
.country-badge{
  filter:saturate(1.08) brightness(1.03) contrast(1.06)!important;
}
@media(max-width:430px){
  .card-body{padding-right:164px!important;}
  .card-side-meta{width:149px!important;}
  .cellar-pill,.bottle-size-badge,.cooler-pill{
    min-height:24px;
    padding:5px 8px!important;
    font-size:.61rem!important;
  }
}



/* WineStack v18.12 — cooler pill alignment and card clipping patch */
.card-body{
  min-height:112px!important;
  padding-right:182px!important;
}
.card-side-meta{
  width:168px!important;
  align-items:flex-end!important;
}
.card-meta-topline{
  align-items:flex-start!important;
}
.world-meta-column{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.world-meta-column .cellar-pill,
.world-meta-column .cooler-pill{
  align-self:center!important;
}
.cooler-pill{
  color:#f6dfbf!important;
  background:#4b2619!important;
  border-color:#9f5f36!important;
  font-size:.70rem!important;
  letter-spacing:.06em!important;
  min-height:25px!important;
  padding:5px 11px!important;
}
.world-meta-column .country-stack-side{
  align-self:center!important;
  margin-top:0!important;
}
.card-body:has(.cooler-pill){
  min-height:142px!important;
  padding-bottom:14px!important;
}
.card-body:has(.cooler-pill) .country-stack-side{
  margin-bottom:2px!important;
}
@media(max-width:430px){
  .card-body{padding-right:171px!important;min-height:108px!important;}
  .card-side-meta{width:157px!important;}
  .cooler-pill{font-size:.66rem!important;padding:5px 9px!important;}
  .card-body:has(.cooler-pill){min-height:138px!important;}
}



/* WineStack v18.13 — data-pill legibility and brighter drawer header surfaces */
.cellar-pill,
.bottle-size-badge,
.cooler-pill{
  min-height:27px!important;
  padding:6px 11px!important;
  font-size:.74rem!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  border-width:1.5px!important;
}
.cellar-pill{
  background:#261017!important;
  border-color:#c28b58!important;
  color:#f0dfc2!important;
}
.bottle-size-badge.copper{
  background:#4e241b!important;
  border-color:#d08358!important;
  color:#f8e0cc!important;
}
.bottle-size-badge.silver{
  background:#383c43!important;
  border-color:#c0c6ce!important;
  color:#f4f5f6!important;
}
.bottle-size-badge.gold{
  background:#59430f!important;
  border-color:#d4b35a!important;
  color:#f8e9bb!important;
}
.cooler-pill{
  background:#2f1711!important;
  border-color:#cf8450!important;
  color:#f7e4c9!important;
  font-size:.76rem!important;
}
.country-code{
  font-size:.62rem!important;
  line-height:1.05!important;
  letter-spacing:.055em!important;
}
/* Brighter burgundy hue for every drawer's primary header region. */
section.drawer,
section.drawer.drawer-price,
section.drawer.drawer-vintage,
section.drawer.drawer-region,
section.drawer.drawer-grape{
  background:linear-gradient(180deg,#431022 0%,#2e0917 100%)!important;
}
/* Brighter sub-window and compact field header bars throughout all drawers. */
.subwindow-title,
.vintage-range-inputs label,
.drawer .range-inputs label{
  background:linear-gradient(180deg,#59172b 0%,#3b0d1d 100%)!important;
}
/* Keep header lettering consistent after the hue lift. */
.subwindow-title,
.vintage-range-inputs label,
.drawer .range-inputs label{
  color:#ead2aa!important;
}
@media(max-width:430px){
  .cellar-pill,.bottle-size-badge,.cooler-pill{
    min-height:26px!important;
    padding:5px 9px!important;
    font-size:.68rem!important;
  }
  .cooler-pill{font-size:.70rem!important;}
  .country-code{font-size:.58rem!important;}
}



/* WineStack v18.14 — compact Single Vintage control and search-icon color */
.drawer-vintage .vintage-single-window{
  max-width:155px!important;
}
.drawer-vintage .vintage-single-window .subwindow-content{
  padding:6px 8px!important;
}
.drawer-vintage .single-vintage-input{
  width:117px!important;
  height:42px!important;
  min-height:42px!important;
  line-height:42px!important;
  font-size:1.84rem!important;
  text-align:center!important;
  text-align-last:center!important;
  padding:0!important;
}
@media(max-width:430px){
  .drawer-vintage .vintage-single-window{max-width:148px!important;}
  .drawer-vintage .single-vintage-input{
    width:111px!important;
    height:42px!important;
    min-height:42px!important;
    line-height:42px!important;
    font-size:1.78rem!important;
  }
}



/* WineStack v18.15 — compact Vintage Range fields */
.drawer-vintage .vintage-range-inputs input{
  height:41px!important;
  min-height:41px!important;
  box-sizing:border-box!important;
  padding:0 2px!important;
  line-height:41px!important;
  text-align:center!important;
  text-align-last:center!important;
  vertical-align:middle!important;
}
.drawer-vintage .vintage-range-inputs input::-webkit-inner-spin-button,
.drawer-vintage .vintage-range-inputs input::-webkit-outer-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}



/* WineStack v18.16 — editorial refinements */
/* Slightly smaller Double Eagle mark while retaining its approved vertical position. */
.brand-eagle-image{
  transform:translateY(-13px) scale(.94)!important;
  transform-origin:center top!important;
}

/* Compact, darker-cream quick filters; selected controls retain an inverted state. */
.drawer-grape .grape-quick,
.drawer-price .price-quick-grid .bubble,
.drawer-price .high-price-grid .bubble{
  background:linear-gradient(155deg,#d1bc99 0%,#c4aa80 58%,#b49367 100%)!important;
  color:#4a1021!important;
  border:1px solid #6f5947!important;
  box-shadow:
    inset 0 1px 0 rgba(255,248,228,.72),
    inset 0 -2px 0 rgba(79,51,36,.24),
    0 3px 7px rgba(39,22,20,.2)!important;
}
.drawer-grape .grape-quick.active,
.drawer-price .price-quick-grid .bubble.active,
.drawer-price .high-price-grid .bubble.active{
  background:#4a1021!important;
  color:#e5d6bc!important;
  border-color:#a98a60!important;
  box-shadow:inset 0 1px 0 rgba(255,238,207,.15),inset 0 -2px 0 rgba(18,5,10,.35),0 0 8px rgba(207,174,120,.24)!important;
}

/* The two categorical Grape controls share the top row at half width. */
.grape-filter-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.grape-filter-row .grape-filter-window{min-width:0;margin-bottom:13px}
.grape-filter-row .subwindow-title{font-size:.66rem;letter-spacing:.08em;white-space:nowrap}
.grape-filter-row .subwindow-content{padding:9px}
.grape-filter-row .hybrid-input{width:100%!important}
.grape-filter-row .hybrid-input input{padding-left:8px!important;padding-right:28px!important}
.grape-filter-row .hybrid-clear{right:47px!important}
.grape-quick-window .subwindow-content{padding:10px}
.grape-quick-window .subwindow-content{
  position:relative;
}
.grape-quick-window .subwindow-content::after{
  content:"";
  position:absolute;
  top:10px;
  bottom:10px;
  left:50%;
  width:1px;
  transform:translateX(-50%);
  border-radius:999px;
  background:rgba(63,43,37,.34);
  box-shadow:1px 0 0 rgba(255,244,221,.16);
  pointer-events:none;
}
.drawer-grape .grape-quick-grid{
  position:relative;
  z-index:1;
  grid-template-columns:repeat(2,minmax(0,46.5%));
  justify-content:space-between;
  gap:9px 0;
  margin:0!important;
}
.drawer-grape .grape-quick{
  min-height:49px!important;
  height:49px!important;
  padding:6px 8px!important;
  gap:5px!important;
}
.drawer-grape .grape-quick .quick-symbol{
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.35)) drop-shadow(0 3px 5px rgba(49,19,23,.42));
}
.drawer-grape .grape-symbol svg,
.drawer-grape .sparkling-symbol svg{overflow:visible}
.drawer-grape .grape-symbol path{fill:none!important;stroke:currentColor!important;stroke-width:.72!important}
.drawer-grape .grape-symbol circle,
.drawer-grape .sparkling-symbol circle{
  stroke:rgba(55,25,29,.48)!important;
  stroke-width:.34!important;
  paint-order:stroke fill;
  filter:drop-shadow(0 .65px .45px rgba(38,12,18,.42));
}
.drawer-grape .grape-quick.active .quick-symbol{
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.58)) drop-shadow(0 0 4px rgba(233,198,137,.28));
}

/* Price panels use one consistent vertical rhythm. Their navigation buttons
   sit outside the subwindows and share a recessed, full-width treatment. */
.drawer-price .price-panel:not(.hidden){
  display:flex!important;
  flex-direction:column;
  gap:13px;
}
.drawer-price .price-panel>.drawer-subwindow,
.drawer-price .price-panel>.price-panel-nav{margin:0!important}
.drawer-price .price-quick-window .quick-grid{margin-bottom:0!important}
.drawer-price .price-panel-nav{
  width:100%!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border:2px solid #554943!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#5a1b30 0%,#38101e 100%)!important;
  color:#ead2aa!important;
  box-shadow:
    inset 0 4px 7px rgba(0,0,0,.42),
    inset 0 -1px 0 rgba(255,226,178,.2),
    0 1px 0 rgba(255,242,216,.12)!important;
}

/* One taller shared precision-range component drives Vintage, Price, and High
   Price; its paired value windows sit at the left and right centers. */
.range-subwindow .subwindow-content{padding:16px 16px 30px!important}
.range-subwindow .range-head{display:none!important}
.range-subwindow .range-wrap{margin-bottom:2px!important}
.range-subwindow .markers{height:29px!important;margin-bottom:4px!important}
.precision-range-inputs{
  grid-template-columns:repeat(2,minmax(0,105px))!important;
  justify-content:space-between!important;
  gap:0!important;
  padding:0 8px!important;
  transform:translateY(8px)!important;
}
.precision-range-inputs>div{
  width:100%!important;
  max-width:105px!important;
  height:46px!important;
  margin:0 auto!important;
  border:1.5px solid var(--v18-charcoal-line)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#efe2cf!important;
  box-sizing:border-box!important;
}
.drawer .precision-range-inputs label{
  display:grid!important;
  place-items:center!important;
  min-height:19px!important;
  height:19px!important;
  margin:0!important;
  padding:2px 4px!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#59172b 0%,#3b0d1d 100%)!important;
  color:#ead2aa!important;
  font-size:.58rem!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
.drawer .precision-range-inputs input{
  display:block!important;
  width:100%!important;
  height:27px!important;
  min-height:27px!important;
  margin:0!important;
  padding:0 3px!important;
  border:0!important;
  border-radius:0!important;
  background:#efe2cf!important;
  color:#3b0d1b!important;
  font-size:.98rem!important;
  font-weight:900!important;
  line-height:27px!important;
  text-align:center!important;
  text-align-last:center!important;
  box-sizing:border-box!important;
  appearance:textfield!important;
  -moz-appearance:textfield!important;
}
.drawer .precision-range-inputs input::-webkit-inner-spin-button,
.drawer .precision-range-inputs input::-webkit-outer-spin-button{
  -webkit-appearance:none!important;
  margin:0!important;
}

/* Subtle illumination around applied-filter chips. */
.filter-window .chip{
  box-shadow:0 0 7px rgba(221,184,119,.28),0 0 14px rgba(127,51,67,.14)!important;
}

/* Taller slider handles sit directly on the common five-pixel rail. */
.drawer-price .precision-range input[type=range]::-webkit-slider-thumb,
.drawer-vintage .precision-range input[type=range]::-webkit-slider-thumb{
  height:38px!important;
  margin-top:-16.5px!important;
}
.drawer-price .precision-range input[type=range]::-moz-range-thumb,
.drawer-vintage .precision-range input[type=range]::-moz-range-thumb{
  height:38px!important;
}

@media(max-width:430px){
  .precision-range-inputs{grid-template-columns:repeat(2,minmax(0,94px))!important;gap:0!important;padding:0 5px!important}
  .precision-range-inputs>div{max-width:94px!important}
}

/* Lower the restaurant caption slightly so it sits visually midway between
   the Double Eagle emblem and the header's metallic divider. */
.brand-eagle-caption{
  margin-top:-5.3px!important;
  transform:translateY(-2px)!important;
}



/* WineStack v18.17 — completed editorial animation and interaction batch */
:root{
  --drawer-slide-duration:.62s;
  --drawer-fade-duration:.42s;
  --landing-slide-duration:2.35s;
  --landing-brand-delay:2.2s;
  --backsplash-reveal-duration:2.15s;
}

/* One slower, shared opening and closing motion for every drawer. */
section.drawer{
  transition:
    transform var(--drawer-slide-duration) cubic-bezier(.18,.78,.22,1),
    opacity var(--drawer-fade-duration) ease!important;
}
section.drawer.open{
  transition:
    transform var(--drawer-slide-duration) cubic-bezier(.18,.78,.22,1),
    opacity var(--drawer-fade-duration) ease!important;
}
#backdrop.backdrop{
  transition:opacity var(--drawer-fade-duration) ease!important;
}
#backdrop.backdrop.open{
  transition:opacity var(--drawer-fade-duration) ease!important;
}

/* A more visible glow and a full-pill touch target for applied filters. */
.filter-window .chip{
  cursor:pointer;
  box-shadow:
    0 0 10px rgba(238,201,130,.58),
    0 0 22px rgba(145,52,73,.38),
    inset 0 0 7px rgba(255,230,178,.16)!important;
  transition:filter .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.filter-window .chip:active{
  transform:scale(.97);
  filter:brightness(1.12);
}

/* Shift Sort left and widen its rail so their centers remain aligned. */
.header-sort-toggle{
  right:18px!important;
}
.sort-rail{
  right:6px!important;
  width:78px!important;
  padding:5px 10px 10px!important;
}
.sort-rail-title{
  margin:-5px -10px 8px!important;
}
.sort-rail button{
  width:56px!important;
  height:56px!important;
}

/* Correct the two visible header-logo treatments. */
.brand-ws-image{
  width:91px!important;
  height:72px!important;
  transform:translateY(-3px)!important;
  transform-origin:center!important;
}
.brand-eagle-mark{
  width:99px!important;
  height:74px!important;
  transform:translateY(-10px)!important;
  transform-origin:center!important;
}

/* Coordinated landing entrance: header down, complete chin/dock up. */
@keyframes landingHeaderSlideDown{
  from{transform:translate3d(0,-100%,0)}
  to{transform:translate3d(0,0,0)}
}
@keyframes landingDockSlideUp{
  from{transform:translate3d(0,100%,0)}
  to{transform:translate3d(0,0,0)}
}
.app-header{
  animation:landingHeaderSlideDown var(--landing-slide-duration) cubic-bezier(.22,.76,.2,1) both!important;
}
.bottom-area .dock-btn,
.bottom-area .apply-btn,
.bottom-area .box-label,
.bottom-area .clear-input{
  opacity:1!important;
  animation:none!important;
}
.bottom-area input::placeholder{
  opacity:1!important;
  animation:none!important;
}

/* Fade the initial WineStack logo only after the header finishes descending. */
.brand-stage{
  opacity:0;
  animation:brandStageFade 1.25s ease var(--landing-slide-duration) forwards!important;
}

/* The swap flare now blooms from, and returns to, the center of the logos. */
.brand-sun-flare{
  left:50%!important;
  top:50%!important;
  bottom:auto!important;
  width:34%!important;
  height:82%!important;
  border-radius:50%!important;
  transform:translate(-50%,-50%) scale(.12);
  background:radial-gradient(circle,
    rgba(255,250,219,.98) 0%,
    rgba(255,218,135,.86) 18%,
    rgba(232,158,52,.48) 42%,
    rgba(232,158,52,0) 72%)!important;
  filter:blur(1.5px) drop-shadow(0 0 15px rgba(255,194,77,.82))!important;
}
.brand-stage.flare-active .brand-sun-flare{
  animation:centerSunFlare 1.2s cubic-bezier(.2,.72,.2,1) both!important;
}
@keyframes centerSunFlare{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}
  34%{opacity:.9;transform:translate(-50%,-50%) scale(.82)}
  52%{opacity:1;transform:translate(-50%,-50%) scale(1.38)}
  72%{opacity:.72;transform:translate(-50%,-50%) scale(.9)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(.12)}
}

@media(prefers-reduced-motion:reduce){
  .app-header,.bottom-area,.brand-stage{
    animation:none!important;
    transform:none!important;
    opacity:1!important;
  }
  .brand-stage.flare-active .brand-sun-flare{
    display:none!important;
    animation:none!important;
  }
}

/* WineStack v18.18 — glow, landing quote, flare, and drawer-close polish */
:root{
  --drawer-close-duration:.78s;
  --drawer-close-fade-duration:.58s;
  --backsplash-reveal-duration:2.65s;
}

/* Match the Sort invitation with a continuous, breathing filter glow. */
.filter-window .chip{
  transform-origin:center;
  will-change:box-shadow,filter,transform;
  animation:appliedFilterInviteGlow 2.4s ease-in-out infinite!important;
}
@keyframes appliedFilterInviteGlow{
  0%,100%{
    filter:
      brightness(.98)
      drop-shadow(0 0 2px rgba(218,174,95,.28))
      drop-shadow(0 0 4px rgba(126,39,62,.18));
    transform:scale(1);
    box-shadow:
      0 0 6px rgba(218,174,95,.34),
      0 0 13px rgba(126,39,62,.25),
      inset 0 0 5px rgba(255,229,176,.12);
  }
  50%{
    filter:
      brightness(1.12)
      drop-shadow(0 0 7px rgba(248,213,145,.78))
      drop-shadow(0 0 12px rgba(163,57,83,.48));
    transform:scale(1.018);
    box-shadow:
      0 0 12px rgba(248,213,145,.84),
      0 0 25px rgba(163,57,83,.58),
      inset 0 0 8px rgba(255,239,203,.24);
  }
}
.filter-window .chip:active{
  animation:none!important;
  transform:scale(.97)!important;
}

/* The backsplash reveal now takes an additional half second. */
body::before{
  animation-duration:var(--backsplash-reveal-duration)!important;
}

.stitched-quote-reveal{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  clip-path:inset(0 100% 0 0);
  will-change:clip-path;
  opacity:0;
  animation:
    stitchedQuoteWrite 3.4s cubic-bezier(.42,0,.22,1) var(--landing-brand-delay) forwards,
    stitchedQuoteFadeIn 1.3s ease-out var(--landing-brand-delay) forwards;
}
.stitched-quote-reveal::after{
  content:none;
}
@keyframes stitchedQuoteWrite{
  from{clip-path:inset(0 100% 0 0)}
  to{clip-path:inset(0 0 0 0)}
}
@keyframes stitchedQuoteFadeIn{from{opacity:0}to{opacity:1}}

/* A smaller, softer solar bloom with one continuous expansion and return. */
.brand-sun-flare{
  width:40.5%!important;
  height:93.75%!important;
  background:
    radial-gradient(circle at 50% 50%,
      rgba(255,255,240,.96) 0 7%,
      rgba(255,239,190,.82) 15%,
      rgba(247,195,91,.48) 34%,
      rgba(218,131,32,.18) 55%,
      rgba(218,131,32,0) 76%),
    repeating-conic-gradient(from 8deg at 50% 50%,
      rgba(255,225,153,.18) 0 3deg,
      rgba(255,225,153,0) 3deg 13deg)!important;
  background-position:50% 50%,48% 52%!important;
  filter:blur(1.7px) drop-shadow(0 0 11px rgba(255,194,77,.58))!important;
  will-change:transform,opacity,filter,background-position;
}
@keyframes centerSunFlare{
  0%{
    opacity:0;
    transform:translate3d(-50%,-50%,0) scale(.18) rotate(-4deg);
    filter:blur(2.4px) drop-shadow(0 0 4px rgba(255,194,77,.22));
    background-position:50% 50%,45% 55%;
  }
  50%{
    opacity:.96;
    transform:translate3d(-50%,-50%,0) scale(1) rotate(3deg);
    filter:blur(1.25px) drop-shadow(0 0 13px rgba(255,203,99,.7));
    background-position:50% 50%,55% 45%;
  }
  100%{
    opacity:0;
    transform:translate3d(-50%,-50%,0) scale(.18) rotate(-4deg);
    filter:blur(2.4px) drop-shadow(0 0 4px rgba(255,194,77,.22));
    background-position:50% 50%,45% 55%;
  }
}
.brand-stage.flare-active .brand-sun-flare{
  animation:centerSunFlare 1.45s cubic-bezier(.37,0,.63,1) both!important;
}

/* Reduce only the Double Eagle emblem by a further ten percent. */
.brand-eagle-mark{
  width:89px!important;
  height:67px!important;
}

/* Avoid WebKit clip-path ghosts while retaining a left-to-right writing motion. */
@keyframes stitchedLetterWrite{
  0%{opacity:0;filter:none}
  45%{opacity:.62;filter:none}
  100%{opacity:1;filter:none}
}
.landing-tagline .written{
  opacity:1!important;
  animation:none!important;
  transform:none!important;
  clip-path:none!important;
  filter:none!important;
}

/* Preserve the approved opening motion, while giving closing its own smooth path. */
section.drawer{
  transition:
    transform var(--drawer-close-duration) cubic-bezier(.32,0,.18,1),
    opacity .28s ease .42s!important;
}
section.drawer.open{
  transition:
    transform var(--drawer-slide-duration) cubic-bezier(.18,.78,.22,1),
    opacity var(--drawer-fade-duration) ease!important;
}
#backdrop.backdrop{
  transition:opacity var(--drawer-close-fade-duration) ease!important;
}
#backdrop.backdrop.open{
  transition:opacity var(--drawer-fade-duration) ease!important;
}
body.drawer-closing section.drawer{
  padding-bottom:calc(74px + var(--safe-bottom))!important;
}
body.drawer-closing .drawer-body{
  padding-bottom:calc(86px + var(--safe-bottom))!important;
}

/* Keep the normal and drawer-state docks on one identical, fixed footprint. */
.persistent-drawer-dock .dock-btn{
  position:relative!important;
  width:auto!important;
  min-width:0!important;
  height:54px!important;
  min-height:54px!important;
  margin:0!important;
  border:0!important;
  border-right:0!important;
}
.persistent-drawer-dock .dock-btn + .dock-btn::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(216,200,171,.10);
  box-shadow:none;
  pointer-events:none;
  z-index:2;
}
.persistent-drawer-dock .dock-btn + .dock-btn{
  padding-left:3px!important;
  padding-right:2px!important;
}
html.drawer-closing,
body.drawer-closing{
  overflow:hidden!important;
}
body.drawer-closing .bottom-area,
body.drawer-closing .app-header{
  filter:none!important;
  -webkit-filter:none!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Keep the fixed search controls crisp above the dimming layer, while the
   higher drawer layer still covers them until its closing edge passes. */
body.drawer-open .bottom-area,
body.drawer-closing .bottom-area{
  z-index:2147483500!important;
  filter:none!important;
  -webkit-filter:none!important;
}
/* The legacy dock and the persistent drawer dock must never render together.
   An older high-specificity drawer rule makes the legacy dock four pixels
   taller, allowing its edge and shadow to flash behind the persistent dock. */
body.drawer-open .bottom-area .dock-actions,
body.drawer-closing .bottom-area .dock-actions{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  box-shadow:none!important;
}
/* Keep both resting and drawer-state dock transitions crisp. Earlier dock
   shadows extended upward into the search controls and drawer surface. */
.bottom-area .dock-actions{
  box-shadow:inset 0 1px rgba(177,139,95,.12)!important;
}
.bottom-area .dock-actions::before{
  box-shadow:none!important;
}
.app-header,
section.drawer{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform-style:preserve-3d;
}

/* Once the landing entrance has finished, replace its retained animation
   transform with an identical static resting state. This keeps WebKit from
   recompositing the sticky header when the drawer/backdrop layer activates. */
.app-header.landing-settled{
  animation:none!important;
  top:0!important;
  margin-top:0!important;
  transform:translate3d(0,0,0)!important;
  -webkit-transform:translate3d(0,0,0)!important;
  will-change:auto!important;
}
html.drawer-open .app-header.landing-settled,
body.drawer-open .app-header.landing-settled,
body.drawer-closing .app-header.landing-settled{
  top:0!important;
  margin-top:0!important;
  transform:translate3d(0,0,0)!important;
  -webkit-transform:translate3d(0,0,0)!important;
}

@media(prefers-reduced-motion:reduce){
  .filter-window .chip{
    animation:none!important;
    transform:none!important;
    filter:none!important;
  }
  .stitched-quote-reveal{
    width:100%!important;
    clip-path:inset(0)!important;
    animation:none!important;
  }
  .stitched-quote-reveal::after{display:none!important;}
}

/* WineStack v18.22.7 — explicit drawer apply controls */
body.drawer-open .drawer-body,
body.drawer-closing .drawer-body{
  max-height:calc(86vh - 210px - var(--safe-bottom))!important;
  padding-bottom:8px!important;
}
.drawer-apply-row{
  position:relative;
  z-index:6;
  flex:0 0 auto;
  margin:10px 4px 0;
}
.drawer-apply-button{
  width:100%;
  min-height:48px;
  border:1px solid transparent;
  border-radius:16px;
  background:linear-gradient(#3b0d1b,#250811) padding-box,var(--v172-metal-line) border-box!important;
  color:#c49a69!important;
  box-shadow:0 4px 12px rgba(0,0,0,.22)!important;
  font-size:.88rem;
  font-weight:950;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.drawer-apply-button:active{
  transform:translateY(1px);
  filter:brightness(1.08);
}

/* WineStack v18.22.8 — per-drawer active-filter notification badges */
.dock-btn[data-open] .drawer-filter-count{
  position:absolute;
  top:2px;
  right:calc(50% - 31px);
  z-index:8;
  display:grid;
  place-items:center;
  min-width:17px;
  height:17px;
  padding:0 2px;
  box-sizing:border-box;
  border:1px solid rgba(255,170,170,.88);
  border-radius:999px;
  background:
    radial-gradient(circle at 35% 28%,#ff8b8b 0 9%,#df243d 31%,#9f1028 68%,#5d0718 100%);
  color:#fff7f3;
  box-shadow:
    0 0 4px rgba(255,52,75,.95),
    0 0 9px rgba(231,21,54,.76),
    0 0 15px rgba(170,8,34,.44),
    inset 0 1px rgba(255,235,229,.56),
    inset 0 -1px rgba(70,0,14,.72);
  font-size:.58rem;
  font-weight:950;
  font-variant-numeric:tabular-nums;
  line-height:1;
  text-align:center;
  text-shadow:0 1px 1px rgba(65,0,13,.9);
  pointer-events:none;
  animation:drawerFilterBadgeGlow 2.1s ease-in-out infinite;
}
.dock-btn[data-open] .drawer-filter-count[hidden]{
  display:none!important;
}
@keyframes drawerFilterBadgeGlow{
  0%,100%{
    box-shadow:
      0 0 4px rgba(255,52,75,.9),
      0 0 8px rgba(231,21,54,.68),
      0 0 13px rgba(170,8,34,.36),
      inset 0 1px rgba(255,235,229,.56),
      inset 0 -1px rgba(70,0,14,.72);
  }
  50%{
    box-shadow:
      0 0 6px rgba(255,80,96,1),
      0 0 12px rgba(241,29,62,.88),
      0 0 18px rgba(184,10,42,.54),
      inset 0 1px rgba(255,245,240,.66),
      inset 0 -1px rgba(70,0,14,.72);
  }
}
@media(prefers-reduced-motion:reduce){
  .dock-btn[data-open] .drawer-filter-count{animation:none!important;}
}

/* WineStack v18.22.9 — invite users to clear any active filter set. */
.external-reset{
  position:relative;
  isolation:isolate;
}
.external-reset.has-active-filters{
  color:#e7c987!important;
  box-shadow:
    0 0 8px rgba(222,153,57,.34),
    0 0 15px rgba(114,57,13,.28),
    inset 0 1px rgba(255,238,198,.12)!important;
}
.external-reset.has-active-filters::after{
  animation-duration:7.2s!important;
}
@media(prefers-reduced-motion:reduce){
  .external-reset.has-active-filters::after{
    animation:none!important;
    background-position:50% 50%!important;
  }
}

/* Keep the existing in-flow header and Sort control visible above drawer blur. */
html.drawer-open .app-header,
body.drawer-open .app-header,
body.drawer-closing .app-header{
  z-index:2147483200!important;
}
body.drawer-open .header-sort-toggle,
body.drawer-closing .header-sort-toggle{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:none!important;
}

/* WineStack v18.22.13 — deeper drawer palette and contextual action sweeps */
:root{
  --v182213-drawer-top:#aa906a;
  --v182213-drawer-bottom:#967a58;
  --v182213-subwindow-top:#d8c5a5;
  --v182213-subwindow-bottom:#c4ad88;
  --v182213-button-top:#c5ad87;
  --v182213-button-mid:#b8986d;
  --v182213-button-bottom:#a78358;
}

/* Darker drawer canvas, shared by Price, Vintage, Region, and Grape. */
.drawer-body{
  background:linear-gradient(180deg,var(--v182213-drawer-top) 0%,#a18762 42%,var(--v182213-drawer-bottom) 100%)!important;
}

/* Subwindows rise from a deeper beige base toward a lighter upper highlight. */
.drawer-subwindow{
  background:var(--v182213-subwindow-bottom)!important;
}
.drawer-subwindow>.subwindow-content{
  background:linear-gradient(0deg,var(--v182213-subwindow-bottom) 0%,#ccb792 54%,var(--v182213-subwindow-top) 100%)!important;
}

/* Darken only the cream quick-filter family; selected states stay burgundy. */
.drawer-grape .grape-quick:not(.active),
.drawer-price .price-quick-grid .bubble:not(.active),
.drawer-price .high-price-grid .bubble:not(.active){
  background:linear-gradient(155deg,var(--v182213-button-top) 0%,var(--v182213-button-mid) 58%,var(--v182213-button-bottom) 100%)!important;
}

/* APPLY FILTER and Multiple Vintages share one surface treatment while
   retaining their independently approved geometry and spacing. */
.drawer-apply-button,
.decade-button{
  position:relative;
  isolation:isolate;
  border-color:transparent!important;
  background:
    linear-gradient(180deg,rgba(255,244,220,.12) 0%,rgba(255,255,255,.035) 34%,transparent 48%) padding-box,
    linear-gradient(155deg,#4a1225 0%,#350b1b 58%,#21070f 100%) padding-box,
    var(--v172-metal-line) border-box!important;
  color:#cfa875!important;
  box-shadow:
    inset 0 1px 0 rgba(255,235,198,.20),
    inset 0 -2px 0 rgba(26,4,11,.48),
    0 5px 12px rgba(0,0,0,.28)!important;
}

.drawer-apply-button.has-active-filters::after,
.decade-button.has-active-filters::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:3;
  padding:2px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(105deg,
    #64310d 0%,
    #95551d 18%,
    #d9b36c 34%,
    #ad6b28 47%,
    #71390f 61%,
    #c9984d 77%,
    #64310d 100%);
  background-size:320% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  filter:drop-shadow(0 0 3px rgba(202,137,50,.34)) drop-shadow(0 0 7px rgba(92,45,12,.25));
  animation:drawerActionBorderSweep 8s linear infinite;
}

@keyframes drawerActionBorderSweep{
  0%{background-position:150% 50%}
  50%{filter:drop-shadow(0 0 5px rgba(218,157,72,.48)) drop-shadow(0 0 9px rgba(104,49,13,.28))}
  100%{background-position:-150% 50%}
}

@media(prefers-reduced-motion:reduce){
  .drawer-apply-button.has-active-filters::after,
  .decade-button.has-active-filters::after{
    animation:none!important;
    background-position:50% 50%!important;
  }
}

/* WineStack v18.22.14 — stable landing compositor and calmer Apply motion */
.drawer-apply-button.has-active-filters::after{
  animation-duration:14s!important;
}

/* Once the coordinated entrance is complete, remove main's retained
   animation transform. Fixed descendants such as the stitched quote then
   remain viewport-anchored when WebKit promotes blur and drawer layers. */
main.landing-settled{
  animation:none!important;
  transform:none!important;
  -webkit-transform:none!important;
  will-change:auto!important;
}

/* Focus blur is applied to main's content children instead of main itself.
   This preserves the Gaussian treatment without turning main into a new
   containing block for the fixed quote. */
body.focus-mode main{
  filter:none!important;
  -webkit-filter:none!important;
}
body.focus-mode main>:not(.landing-tagline){
  filter:blur(4px);
  -webkit-filter:blur(4px);
  transition:filter .18s ease,-webkit-filter .18s ease;
}

/* WineStack v18.22.11 — balanced drawer actions and compact range panels */
.drawer-head{
  grid-template-columns:minmax(0,1fr)!important;
}
.drawer-head>.drawer-title{
  grid-column:1!important;
  align-self:center!important;
  justify-self:center!important;
}
body.drawer-open .drawer-body,
body.drawer-closing .drawer-body{
  max-height:calc(86vh - 226px - var(--safe-bottom))!important;
}
.drawer-apply-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:center;
  gap:7px;
  margin:10px 13px 0;
}
.drawer-footer-close,
.drawer-reset{
  width:42px!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  transform:none!important;
}
.drawer-footer-close{
  grid-column:1;
  color:#c49a69!important;
  background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box!important;
}
.drawer-reset{
  grid-column:3!important;
  grid-row:1!important;
}
.drawer-apply-button{
  grid-column:2;
  width:100%;
  height:52px;
  min-height:52px;
  max-height:52px;
  border-radius:14px;
  background:
    linear-gradient(180deg,rgba(255,244,220,.12) 0%,rgba(255,255,255,.035) 34%,transparent 48%) padding-box,
    linear-gradient(155deg,#4a1225 0%,#350b1b 58%,#21070f 100%) padding-box,
    var(--v172-metal-line) border-box!important;
  box-shadow:
    inset 0 1px 0 rgba(255,235,198,.22),
    inset 0 -2px 0 rgba(26,4,11,.48),
    0 5px 12px rgba(0,0,0,.28)!important;
  font-size:.97rem;
}

/* The three range panels retain their existing controls while using a tighter,
   evenly balanced vertical rhythm. */
.price-range-window .subwindow-content,
.high-price-range-window .subwindow-content,
#vintageRangeWindow .subwindow-content{
  padding:13px 16px 23px!important;
}
.price-range-window .markers,
.high-price-range-window .markers,
#vintageRangeWindow .markers{
  height:26px!important;
  margin-bottom:3px!important;
}
.price-range-window .precision-range-inputs,
.high-price-range-window .precision-range-inputs,
#vintageRangeWindow .precision-range-inputs{
  transform:translateY(5px)!important;
}

/* Price-panel navigation keeps its approved wording while adopting the new
   Apply Filter surface treatment at a 25% narrower, 10% shorter geometry. */
.drawer-price .price-panel-nav{
  width:75%!important;
  height:49px!important;
  min-height:49px!important;
  align-self:center!important;
  border:1px solid transparent!important;
  border-radius:14px!important;
  background:
    linear-gradient(180deg,rgba(255,244,220,.12) 0%,rgba(255,255,255,.035) 34%,transparent 48%) padding-box,
    linear-gradient(155deg,#4a1225 0%,#350b1b 58%,#21070f 100%) padding-box,
    var(--v172-metal-line) border-box!important;
  color:#c49a69!important;
  box-shadow:
    inset 0 1px 0 rgba(255,235,198,.22),
    inset 0 -2px 0 rgba(26,4,11,.48),
    0 5px 12px rgba(0,0,0,.28)!important;
}

/* Softer, darker orange invitation sweep for every Reset clone. */
.external-reset.has-active-filters::after{
  background-image:linear-gradient(105deg,
    #4c210b 0%,
    #783613 18%,
    #bd712f 34%,
    #8f4218 49%,
    #5b270c 64%,
    #a95b24 80%,
    #4c210b 100%)!important;
  background-size:320% 100%!important;
  animation-name:resetBorderSweepSoft!important;
  animation-duration:7.2s!important;
  animation-timing-function:linear!important;
}
@keyframes resetBorderSweepSoft{
  0%{
    background-position:150% 50%;
    filter:drop-shadow(0 0 3px rgba(179,91,27,.30)) drop-shadow(0 0 7px rgba(91,39,10,.24));
  }
  50%{
    filter:drop-shadow(0 0 5px rgba(201,112,39,.48)) drop-shadow(0 0 9px rgba(104,43,10,.30));
  }
  100%{
    background-position:-150% 50%;
    filter:drop-shadow(0 0 3px rgba(179,91,27,.30)) drop-shadow(0 0 7px rgba(91,39,10,.24));
  }
}

/* WineStack v18.22.12 — stable viewport width and reliable Reset motion */
html,
body,
.drawer-body,
.filter-window{
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
.drawer-body::-webkit-scrollbar,
.filter-window::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.drawer-price #priceHighPanel{
  padding-bottom:18px;
  box-sizing:border-box;
}
.external-reset.has-active-filters::after{
  animation:resetBorderSweepSoft 4.8s linear infinite!important;
  animation-play-state:running!important;
}
@media(prefers-reduced-motion:reduce){
  .external-reset.has-active-filters::after{
    animation:none!important;
    background-position:50% 50%!important;
  }
}

/* Header menu. */
.header-menu-toggle{
  position:absolute;
  top:calc(var(--safe-top) + 42px);
  left:18px;
  z-index:7;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0;
  padding:0;
  transform:translateY(-50%);
  border:1px solid transparent;
  border-radius:15px;
  background:linear-gradient(#3b0d1b,#250811) padding-box,var(--v172-metal-line) border-box;
  color:#c49a69;
  box-shadow:0 4px 12px rgba(0,0,0,.22);
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
  transition:filter .16s ease,box-shadow .16s ease,transform .16s ease;
}
.header-menu-toggle svg{
  display:block;
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.25;
  stroke-linecap:round;
  filter:none;
}
.header-menu-toggle:active{
  transform:translateY(calc(-50% + 1px)) scale(.97);
  filter:brightness(1.1);
  box-shadow:
    inset 0 2px 4px rgba(22,3,9,.52),
    0 2px 6px rgba(0,0,0,.28),
    0 0 9px rgba(220,157,67,.24);
}
.header-menu-toggle:focus-visible{
  outline:2px solid #f0cc84;
  outline-offset:3px;
}
@media(max-width:430px){
  .header-menu-toggle{
    left:14px;
    width:46px;
    height:46px;
  }
  .header-menu-toggle svg{width:25px;height:25px}
}

/* WineStack v18.23.0 — slide-out inventory menu and 86 Wines manager. */
.app-menu{
  display:flex;
  flex-direction:column;
  overflow-y:auto;
  position:fixed;
  inset:0 auto 0 0;
  z-index:2147483450;
  width:min(82vw,330px);
  padding:calc(18px + var(--safe-top)) 14px calc(18px + var(--safe-bottom));
  box-sizing:border-box;
  transform:translate3d(-104%,0,0);
  visibility:hidden;
  pointer-events:none;
  border-right:1px solid transparent;
  background:
    radial-gradient(ellipse at 25% 8%,rgba(112,30,53,.48),transparent 43%),
    linear-gradient(180deg,#3d101f 0%,#260911 43%,#16070b 100%) padding-box,
    var(--v172-metal-line) border-box;
  box-shadow:12px 0 34px rgba(0,0,0,.56),inset -1px 0 rgba(255,222,156,.08);
  transition:transform .46s cubic-bezier(.2,.82,.22,1),visibility 0s linear .46s;
}
.app-menu.open{
  transform:translate3d(0,0,0);
  visibility:visible;
  pointer-events:auto;
  transition:transform .46s cubic-bezier(.2,.82,.22,1),visibility 0s linear 0s;
}
.app-menu-heading{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:54px;
  margin:0 -14px 18px;
  padding:0 14px 10px 20px;
  border-bottom:1px solid transparent;
  background:var(--v172-metal-line) bottom/100% 1px no-repeat;
  color:#e3c388;
  font-size:.86rem;
  font-weight:950;
  letter-spacing:.2em;
}
.app-menu-close{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  padding:0;
  border:1px solid transparent;
  border-radius:50%;
  background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box;
  color:#cba56f;
  font-size:1.32rem;
  line-height:1;
  box-shadow:0 4px 9px rgba(0,0,0,.3);
}
.app-menu-options{display:grid;gap:10px}
.app-menu-database{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:auto 2px 0;
  padding:17px 4px 1px;
  border-top:1px solid rgba(210,178,123,.25);
  color:#8f7966;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.13em;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
}
.app-menu-database strong{
  color:#d2b27b;
  font-size:.59rem;
  letter-spacing:.045em;
}
.app-menu-option{
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto 20px;
  align-items:center;
  gap:10px;
  width:100%;
  min-height:78px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:18px;
  text-align:left;
  text-decoration:none;
  background:
    linear-gradient(180deg,rgba(255,244,220,.11),transparent 43%) padding-box,
    linear-gradient(155deg,#5c152c 0%,#3a0d1d 58%,#21070f 100%) padding-box,
    var(--v172-metal-line) border-box;
  color:#e4c183;
  box-shadow:inset 0 1px rgba(255,237,201,.18),inset 0 -2px rgba(24,3,9,.48),0 7px 18px rgba(0,0,0,.32);
}
.app-menu-option:active{transform:translateY(1px);filter:brightness(1.1)}
.app-menu-option-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid #b87b34;
  border-radius:15px;
  background:radial-gradient(circle at 38% 28%,#751d38,#3d0c1d 65%,#20070f);
  color:#edc67d;
  font-family:Georgia,serif;
  font-size:1.15rem;
  font-weight:800;
  box-shadow:inset 0 1px rgba(255,229,177,.22),0 0 10px rgba(197,122,43,.2);
}
.app-menu-option-copy{display:grid;gap:3px;min-width:0}
.app-menu-option-copy strong{color:#f0d7a6;font-size:.98rem;letter-spacing:.02em}
.app-menu-option-copy small{color:#b69c82;font-size:.68rem;line-height:1.2}
.app-menu-count{
  display:grid;
  place-items:center;
  min-width:25px;
  height:25px;
  padding:0 5px;
  border:1px solid rgba(255,177,167,.76);
  border-radius:999px;
  background:radial-gradient(circle at 35% 27%,#e75b5b,#a3142c 55%,#5c0818);
  color:#fff4ed;
  font-size:.7rem;
  font-weight:950;
  box-shadow:0 0 8px rgba(220,37,54,.5);
}
.app-menu-option>svg{width:20px;height:20px;fill:none;stroke:#dcb875;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

body.inventory-drawer-open .persistent-drawer-dock{display:none!important}
body.inventory-drawer-open section.drawer-eighty-six,
body.inventory-drawer-open section.drawer-wine-revisions{
  padding-bottom:calc(14px + var(--safe-bottom))!important;
}
section.drawer-eighty-six,
section.drawer-wine-revisions{
  max-height:min(88dvh,820px)!important;
}
.drawer-eighty-six .drawer-body,
.drawer-wine-revisions .drawer-body{
  max-height:calc(88dvh - 88px - var(--safe-bottom))!important;
  padding:0 2px calc(10px + var(--safe-bottom))!important;
}
.eighty-six-drawer-head{position:relative!important;min-height:74px!important}
.eighty-six-drawer-head>.drawer-title{display:flex!important;flex-direction:column!important;gap:3px!important}
.eighty-six-title-icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:35px!important;
  border:1px solid #b87935;
  border-radius:11px;
  color:#e8bf73!important;
  font-family:Georgia,serif;
  font-size:.9rem!important;
  line-height:1;
  background:linear-gradient(155deg,#65172f,#350b1a 65%,#1f070e);
  box-shadow:0 0 9px rgba(205,131,46,.28),inset 0 1px rgba(255,233,188,.18);
}
.eighty-six-drawer-close{
  position:absolute;
  right:13px;
  top:50%;
  width:42px!important;
  height:42px!important;
  transform:translateY(-50%)!important;
  border:1px solid transparent!important;
  background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box!important;
  color:#c49a69!important;
}
.eighty-six-drawer-body{display:grid;gap:12px}
.eighty-six-search-window,.eighty-six-list-window{margin:0!important}
.eighty-six-search-wrap{position:relative}
.eighty-six-search-wrap input{
  width:100%;
  min-height:50px;
  padding:8px 42px 8px 43px;
  border:1px solid #554d47!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#f3eadb,#e6d6bd)!important;
  color:#4c1726!important;
  font-size:16px!important;
  font-weight:750;
  box-shadow:inset 0 2px 4px rgba(61,31,19,.15),0 2px 5px rgba(0,0,0,.14)!important;
}
.eighty-six-search-wrap input::placeholder{color:#8a7a70;opacity:1}
.eighty-six-search-wrap input::-webkit-search-cancel-button{
  display:none;
  -webkit-appearance:none;
}
.eighty-six-search-icon{
  position:absolute;
  left:13px;
  top:50%;
  z-index:2;
  width:22px;
  height:22px;
  transform:translateY(-50%);
  color:#6c2639;
}
.eighty-six-search-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.eighty-six-search-clear{
  position:absolute;
  right:8px;
  top:50%;
  z-index:2;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  background:transparent;
  color:#7a5d56;
  font-size:1.15rem;
}
.eighty-six-sync-status{
  margin:8px 0 0;
  color:#765f51;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1.25;
  text-align:center;
  transition:color .2s ease,text-shadow .2s ease;
}
.eighty-six-sync-status[data-state="syncing"]{color:#8b6338}
.eighty-six-sync-status[data-state="synced"]{color:#496447}
.eighty-six-sync-status[data-state="offline"]{
  color:#8a2535;
  text-shadow:0 0 8px rgba(164,27,47,.2);
}
.eighty-six-search-results,.eighty-six-list{display:grid;gap:8px;margin-top:10px}
.eighty-six-search-hint,.eighty-six-empty{
  margin:2px 0 0;
  padding:10px 8px 2px;
  color:#6e5b50;
  font-size:.76rem;
  font-weight:700;
  line-height:1.35;
  text-align:center;
}
.eighty-six-list-window>.subwindow-title{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important}
.eighty-six-drawer-count{
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 5px;
  border-radius:999px;
  background:#2b0a13;
  color:#efc77b;
  font-size:.68rem;
  box-shadow:inset 0 0 0 1px rgba(221,167,82,.52);
}
.eighty-six-wine-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:64px;
  padding:9px 10px 9px 13px;
  border:1px solid #796651;
  border-radius:15px;
  background:linear-gradient(180deg,#e3d2b6,#cdb58e);
  box-shadow:inset 0 1px rgba(255,249,231,.5),0 4px 9px rgba(48,26,17,.16);
}
.eighty-six-wine-row.is-out{border-color:#8b3d46;background:linear-gradient(180deg,#dcc5aa,#c4a27e)}
.eighty-six-wine-copy{display:grid;gap:3px;min-width:0}
.eighty-six-wine-copy strong{overflow:hidden;color:#55142a;font-size:.86rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}
.eighty-six-wine-copy small{overflow:hidden;color:#66574e;font-size:.66rem;font-weight:750;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.eighty-six-status-button{
  min-width:70px;
  min-height:38px;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:12px;
  color:#f4dcae;
  font-size:.69rem;
  font-weight:950;
  letter-spacing:.07em;
  background:linear-gradient(160deg,#69172f,#350b1a) padding-box,var(--v172-metal-line) border-box;
  box-shadow:inset 0 1px rgba(255,230,185,.16),0 3px 7px rgba(0,0,0,.2);
}
.eighty-six-status-button.restore{background:linear-gradient(160deg,#312b28,#171414) padding-box,var(--v172-metal-line) border-box;color:#d8b77e}
.eighty-six-search-state{display:none}
.eighty-six-empty-state{display:grid;place-items:center;gap:5px;padding:24px 10px;color:#715e50;text-align:center}
.eighty-six-empty-state>span{font-family:Georgia,serif;font-size:2rem;color:#984052;text-shadow:0 0 10px rgba(160,42,58,.18)}
.eighty-six-empty-state strong{color:#5b2031;font-size:.9rem}
.eighty-six-empty-state small{font-size:.72rem;font-weight:700}

/* 86'd wines remain in normal results with a slow, unmistakable status pulse. */
.wine-card.is-eighty-six{
  position:relative;
  overflow:hidden;
  border-color:#a02a3d!important;
  animation:eightySixCardBorderPulse 5.6s ease-in-out infinite!important;
}
.wine-card.is-eighty-six::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:radial-gradient(circle at 50% 52%,rgba(185,15,42,.26) 0%,rgba(133,5,29,.12) 44%,transparent 76%);
  animation:eightySixCardInteriorPulse 5.6s ease-in-out infinite;
}
.wine-card.is-eighty-six>.card-top,.wine-card.is-eighty-six>.card-body{position:relative;z-index:2}
.eighty-six-card-mark{
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-items:center;
  pointer-events:none;
  color:#ff4055;
  font-family:Georgia,serif;
  font-size:clamp(4.1rem,22vw,7.4rem);
  font-weight:800;
  line-height:1;
  opacity:.16;
  text-shadow:0 0 5px rgba(255,63,79,.84),0 0 15px rgba(229,17,49,.72),0 0 32px rgba(138,0,26,.56);
  animation:eightySixCardMarkPulse 5.6s ease-in-out infinite;
}
@keyframes eightySixCardBorderPulse{
  0%,100%{box-shadow:0 5px 16px rgba(0,0,0,.4),0 0 4px rgba(181,24,48,.22),inset 0 0 0 rgba(195,22,48,0)}
  50%{border-color:#ed4054!important;box-shadow:0 5px 16px rgba(0,0,0,.42),0 0 12px rgba(238,43,68,.8),0 0 25px rgba(169,10,38,.55),inset 0 0 19px rgba(181,17,43,.25)}
}
@keyframes eightySixCardInteriorPulse{0%,100%{opacity:.12}50%{opacity:.8}}
@keyframes eightySixCardMarkPulse{0%,100%{opacity:.12;filter:saturate(.9)}50%{opacity:.66;filter:saturate(1.25)}}
@media(prefers-reduced-motion:reduce){
  .wine-card.is-eighty-six,.wine-card.is-eighty-six::before,.eighty-six-card-mark{animation:none!important}
  .wine-card.is-eighty-six{box-shadow:0 0 12px rgba(229,34,61,.55)!important}
  .wine-card.is-eighty-six::before{opacity:.45}
  .eighty-six-card-mark{opacity:.42}
}
@media(max-width:430px){
  .app-menu{width:min(84vw,320px)}
  .drawer-eighty-six .drawer-body,.drawer-wine-revisions .drawer-body{max-height:calc(88dvh - 94px - var(--safe-bottom))!important}
  .eighty-six-wine-copy strong{font-size:.82rem}
  .eighty-six-wine-copy small{font-size:.62rem}
}

/* WineStack Wine Revisions — synchronized list editor, history and backup. */
.wine-revision-menu-icon svg,.wine-revision-title-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.wine-revision-menu-count{
  border-color:rgba(229,193,116,.72)!important;
  background:radial-gradient(circle at 35% 27%,#93602b,#5a2c16 58%,#2d100d)!important;
  color:#ffe5ac!important;
  box-shadow:0 0 8px rgba(195,128,47,.36)!important;
}
.wine-revision-drawer-head{position:relative!important;min-height:74px!important}
.wine-revision-drawer-head>.drawer-title{display:flex!important;flex-direction:column!important;gap:3px!important}
.wine-revision-title-icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:35px!important;
  border:1px solid #b87935;
  border-radius:11px;
  color:#e8bf73!important;
  font-family:inherit!important;
  font-size:1.05rem!important;
  font-weight:950!important;
  line-height:1;
  background:linear-gradient(155deg,#65172f,#350b1a 65%,#1f070e);
  box-shadow:0 0 9px rgba(205,131,46,.28),inset 0 1px rgba(255,233,188,.18);
}
.wine-revision-drawer-close{
  position:absolute;
  right:13px;
  top:50%;
  width:42px!important;
  height:42px!important;
  transform:translateY(-50%)!important;
  border:1px solid transparent!important;
  background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box!important;
  color:#c49a69!important;
}
.wine-revision-drawer-body{display:grid;gap:8px!important}
.wine-revision-search-window,.wine-revision-editor-window,.wine-revision-history-window,.wine-revision-list-window{margin:0!important}
.wine-revision-search-window>.subwindow-content,.wine-revision-editor-window>.subwindow-content,.wine-revision-history-window>.subwindow-content,.wine-revision-list-window>.subwindow-content{padding:8px 10px!important}
.wine-revision-search-results,.wine-revision-list{display:grid;gap:7px;margin-top:7px}
.wine-revision-list-title{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:4px 10px!important}
.wine-revision-list-heading{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.wine-revision-wine-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:7px 9px 7px 11px;
  border:1px solid #796651;
  border-radius:15px;
  background:linear-gradient(180deg,#e3d2b6,#cdb58e);
  box-shadow:inset 0 1px rgba(255,249,231,.5),0 4px 9px rgba(48,26,17,.16);
}
.wine-revision-wine-row.is-revised{border-color:#9c6b32;background:linear-gradient(180deg,#e0cba7,#c5a97d)}
.wine-revision-wine-copy{display:grid;gap:3px;min-width:0}
.wine-revision-wine-copy strong{overflow:hidden;color:#55142a;font-size:.86rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}
.wine-revision-wine-copy small{overflow:hidden;color:#66574e;font-size:.64rem;font-weight:750;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.wine-revision-wine-copy>span{justify-self:start;padding:2px 7px;border:1px solid rgba(105,51,28,.34);border-radius:999px;background:rgba(100,48,28,.12);color:#6b351f;font-size:.53rem;font-weight:950;letter-spacing:.09em}
.wine-revision-edit-button{
  min-width:70px;
  min-height:38px;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:12px;
  background:linear-gradient(160deg,#69172f,#350b1a) padding-box,var(--v172-metal-line) border-box;
  color:#f4dcae;
  font-size:.69rem;
  font-weight:950;
  letter-spacing:.07em;
  box-shadow:inset 0 1px rgba(255,230,185,.16),0 3px 7px rgba(0,0,0,.2);
}
.wine-revision-selected-wine{display:grid;gap:2px;margin-bottom:7px;text-align:center}
.wine-revision-selected-wine strong{color:#55142a;font-size:.94rem;font-weight:950}
.wine-revision-selected-wine small{color:#705d51;font-size:.66rem;font-weight:750;line-height:1.35}
.wine-revision-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px 7px}
.wine-revision-fields-all{padding:7px;border:1px solid rgba(92,67,48,.42);border-radius:12px;background:rgba(255,246,224,.25);box-shadow:inset 0 1px rgba(255,255,255,.3)}
.wine-revision-fields label{display:grid;gap:3px;color:#5d1a2d;font-size:.59rem;font-weight:950;letter-spacing:.07em}
.wine-revision-fields label.wine-revision-field-wide{grid-column:1/-1}
.wine-revision-fields input{
  width:100%;
  min-height:35px;
  height:35px;
  padding:4px 8px;
  border:1.5px solid #554d47;
  border-radius:9px;
  background:linear-gradient(180deg,#f4ebdc,#e6d7bf);
  color:#4f1427;
  font-size:16px;
  font-weight:850;
  text-align:center;
  box-shadow:inset 0 2px 4px rgba(61,31,19,.14),0 2px 5px rgba(0,0,0,.12);
}
.wine-revision-fields input:focus{outline:2px solid rgba(173,105,42,.48);outline-offset:1px}
.wine-revision-editor-status{min-height:0;margin:5px 0 0;color:#536b48;font-size:.58rem;font-weight:950;letter-spacing:.07em;line-height:1.35;text-align:center}
.wine-revision-editor-status:empty{display:none}
.wine-revision-editor-status[data-state="pending"]{color:#87511f}
.wine-revision-editor-status[data-state="error"]{color:#98283d}
.wine-revision-editor-actions{display:flex;gap:6px;margin-top:7px}
.wine-revision-editor-actions button{
  flex:1 1 0;
  min-height:35px;
  padding:0 6px;
  border:1px solid transparent;
  border-radius:10px;
  font-size:.56rem;
  font-weight:950;
  letter-spacing:.045em;
}
.wine-revision-editor-actions #wineRevisionEditorCancel{flex-grow:.78}
.wine-revision-editor-actions #wineRevisionRestoreOriginal{flex-grow:1.08}
.wine-revision-editor-actions #wineRevisionSave{flex-grow:1.42}
.wine-revision-secondary-action{background:linear-gradient(#242020,#151313) padding-box,var(--v172-metal-line) border-box;color:#d3ad73}
.wine-revision-save-action{background:linear-gradient(160deg,#69172f,#350b1a) padding-box,var(--v172-metal-line) border-box;color:#f1d49a;box-shadow:inset 0 1px rgba(255,230,185,.16),0 3px 7px rgba(0,0,0,.22)}
.wine-revision-editor-window[hidden],.wine-revision-history-window[hidden],.wine-revision-editor-actions button[hidden]{display:none!important}
.wine-revision-history{display:grid;gap:8px}
.wine-revision-history-entry{overflow:hidden;border:1px solid rgba(87,60,45,.46);border-radius:12px;background:rgba(255,247,229,.38)}
.wine-revision-history-entry header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;background:rgba(102,20,44,.92);color:#f1d49a}
.wine-revision-history-entry header strong{font-size:.62rem;letter-spacing:.1em}
.wine-revision-history-entry header time{font-size:.54rem;font-weight:750}
.wine-revision-history-entry ul{display:grid;gap:5px;margin:0;padding:8px 9px;list-style:none}
.wine-revision-history-entry li{display:grid;grid-template-columns:minmax(72px,.65fr) minmax(0,1.35fr);gap:8px;color:#5f4b42;font-size:.61rem;line-height:1.35}
.wine-revision-history-entry li strong{color:#5b1a2d}
.wine-revision-history-entry li span{overflow-wrap:anywhere}
.wine-revision-history-empty{margin:0;padding:5px 4px;color:#715e50;font-size:.66rem;font-weight:750;text-align:center}
.wine-revision-history-empty.is-error{color:#98283d}
.wine-revision-empty-state{display:grid;place-items:center;gap:2px;padding:9px 6px;color:#715e50;text-align:center}
.wine-revision-empty-state>span{font-size:1.25rem;font-weight:950;color:#99632c;text-shadow:0 0 8px rgba(160,97,42,.18)}
.wine-revision-empty-state strong{color:#5b2031;font-size:.76rem}
.wine-revision-empty-state small{font-size:.62rem;font-weight:700}

@media(min-width:640px){
  .wine-revision-fields{grid-template-columns:repeat(3,1fr)}
  .wine-revision-fields label.wine-revision-field-wide{grid-column:span 3}
}

/* WineStack v18.24.1 — balanced inventory menu options and drawer headers. */
.app-menu-options{
  grid-auto-rows:1fr;
  gap:12px;
}
.app-menu-option{
  grid-template-columns:48px minmax(0,1fr) 26px 18px;
  column-gap:10px;
  min-height:86px;
  padding:11px 12px;
}
.app-menu-option-copy{
  grid-template-rows:auto 2.4em;
  align-content:center;
  gap:3px;
}
.app-menu-option-copy strong{
  align-self:end;
  line-height:1.15;
}
.app-menu-option-copy small{
  align-self:start;
  line-height:1.2;
}
.app-menu-count,
.app-menu-option>svg{
  justify-self:center;
}
.eighty-six-drawer-head,
.wine-revision-drawer-head{
  min-height:69.7px!important;
  padding:0 70px!important;
}
.eighty-six-drawer-head>.drawer-title,
.wine-revision-drawer-head>.drawer-title{
  align-self:center!important;
  justify-self:center!important;
  margin:0!important;
}
.drawer-head>.eighty-six-drawer-close,
.drawer-head>.wine-revision-drawer-close{
  top:50%!important;
  right:13px!important;
  transform:translateY(-50%)!important;
}
@media(max-width:430px){
  .wine-revision-wine-copy strong{font-size:.82rem}
  .wine-revision-wine-copy small{font-size:.6rem}
  .wine-revision-fields{gap:6px 7px}
  .wine-revision-editor-actions{gap:6px}
}

/* WineStack v18.25.0 — in-app installation and sharing surface. */
.app-menu-option-no-count{
  grid-template-columns:48px minmax(0,1fr) 18px;
}
.share-menu-icon svg,
.share-title-icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.inventory-drawer-open section.drawer-share{
  padding-bottom:calc(14px + var(--safe-bottom))!important;
}
section.drawer-share{
  max-height:min(88dvh,820px)!important;
}
.drawer-share .drawer-body{
  max-height:calc(88dvh - 88px - var(--safe-bottom))!important;
  padding:0 2px calc(10px + var(--safe-bottom))!important;
}
.share-drawer-head{
  position:relative!important;
  min-height:69.7px!important;
  padding:0 70px!important;
}
.share-drawer-head>.drawer-title{
  align-self:center!important;
  justify-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  margin:0!important;
}
.share-title-icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:35px!important;
  border:1px solid #b87935;
  border-radius:11px;
  color:#e8bf73!important;
  background:linear-gradient(155deg,#65172f,#350b1a 65%,#1f070e);
  box-shadow:0 0 9px rgba(205,131,46,.28),inset 0 1px rgba(255,233,188,.18);
}
.drawer-head>.share-drawer-close{
  position:absolute;
  top:50%!important;
  right:13px!important;
  width:42px!important;
  height:42px!important;
  transform:translateY(-50%)!important;
  border:1px solid transparent!important;
  background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box!important;
  color:#c49a69!important;
}
.share-drawer-body{
  display:grid;
  gap:12px;
}
.share-install-window{
  margin:0!important;
}
.share-install-content{
  display:grid;
  justify-items:center;
  gap:13px;
  padding:16px!important;
}
.share-install-brand{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  color:#56152a;
  text-align:left;
}
.share-install-brand>img{
  width:48px;
  height:48px;
  border:1px solid rgba(115,68,28,.72);
  border-radius:12px;
  box-shadow:0 5px 12px rgba(47,20,12,.24);
}
.share-install-brand strong,
.share-install-brand span{
  display:block;
}
.share-install-brand strong{
  font:800 1.12rem/1 Georgia,"Times New Roman",serif;
}
.share-install-brand span{
  margin-top:4px;
  color:#735c4c;
  font-size:.59rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.share-qr-frame{
  position:relative;
  width:min(61vw,248px);
  aspect-ratio:1;
  padding:12px;
  border:1px solid #9c7036;
  border-radius:19px;
  background:linear-gradient(160deg,#f6e9cf,#dec49a);
  box-shadow:inset 0 1px rgba(255,255,255,.72),0 10px 24px rgba(54,28,16,.25);
}
.share-qr-frame>img:first-child{
  display:block;
  width:100%;
  height:100%;
  border-radius:8px;
  object-fit:contain;
}
.share-qr-mark{
  position:absolute;
  left:50%;
  top:50%;
  width:18%;
  height:18%;
  padding:3px;
  transform:translate(-50%,-50%);
  border:1px solid #9e6a2d;
  border-radius:20%;
  background:#25080f;
  box-shadow:0 0 0 4px #f1dfbd,0 4px 9px rgba(39,14,8,.28);
}
.share-install-copy{
  max-width:310px;
  display:grid;
  gap:4px;
  color:#5d1a2d;
  text-align:center;
}
.share-install-copy strong{
  font-size:.94rem;
  font-weight:950;
}
.share-install-copy span{
  color:#6f5b4e;
  font-size:.7rem;
  font-weight:720;
  line-height:1.42;
}
.share-install-actions{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}
.share-install-button{
  min-height:48px;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid transparent;
  border-radius:14px;
  background:linear-gradient(180deg,#251317,#111012) padding-box,var(--v172-metal-line) border-box;
  color:#e5bd79;
  font-size:.63rem;
  font-weight:950;
  letter-spacing:.07em;
  box-shadow:inset 0 1px rgba(255,238,204,.1),0 5px 12px rgba(50,22,14,.2);
}
.share-install-button svg{
  flex:0 0 auto;
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.share-install-primary{
  grid-column:1/-1;
  min-height:52px;
  background:linear-gradient(180deg,rgba(255,235,195,.13),transparent 42%) padding-box,linear-gradient(160deg,#741a36,#430c20 62%,#25070f) padding-box,var(--v172-metal-line) border-box;
  color:#f1d49c;
  font-size:.69rem;
  box-shadow:inset 0 1px rgba(255,236,197,.18),0 6px 14px rgba(50,22,14,.25);
}
.share-install-button:active{
  transform:translateY(1px);
  filter:brightness(1.08);
}
.share-install-status{
  min-height:17px;
  margin:0;
  color:#6f3e23;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.06em;
  text-align:center;
}
.share-install-status[data-state="error"]{
  color:#98283d;
}
@media(max-width:360px){
  .share-install-actions{grid-template-columns:1fr}
  .share-install-primary{grid-column:auto}
  .share-qr-frame{width:min(66vw,228px)}
}

/* WineStack v18.27.0 — Stack in-app wine-list assistant. */
.stack-menu-icon,
.stack-title-icon{
  font-family:Georgia,"Times New Roman",serif!important;
  font-weight:800!important;
}
.stack-menu-option{
  background:
    radial-gradient(circle at 18% 20%,rgba(214,159,78,.18),transparent 35%) padding-box,
    linear-gradient(155deg,#681932 0%,#400f21 58%,#240811 100%) padding-box,
    var(--v172-metal-line) border-box!important;
}
body.inventory-drawer-open section.drawer-stack{
  padding-bottom:calc(10px + var(--safe-bottom))!important;
}
section.drawer-stack{
  max-height:min(92dvh,900px)!important;
}
.drawer-stack .drawer-body{
  max-height:calc(92dvh - 82px - var(--safe-bottom))!important;
  padding:0 2px calc(8px + var(--safe-bottom))!important;
  overscroll-behavior:contain;
}
.stack-drawer-head{
  position:relative!important;
  min-height:69.7px!important;
  padding:0 70px!important;
}
.stack-drawer-head>.drawer-title{
  align-self:center!important;
  justify-self:center!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  margin:0!important;
}
.stack-title-icon{
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:35px!important;
  border:1px solid #c08a43;
  border-radius:11px;
  background:radial-gradient(circle at 38% 28%,#7b2340,#451022 64%,#230810);
  color:#f0cc88!important;
  box-shadow:0 0 12px rgba(211,146,58,.34),inset 0 1px rgba(255,236,194,.22);
}
.drawer-head>.stack-drawer-close{
  position:absolute;
  top:50%!important;
  right:13px!important;
  width:42px!important;
  height:42px!important;
  transform:translateY(-50%)!important;
  border:1px solid transparent!important;
  background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box!important;
  color:#c49a69!important;
}
.stack-drawer-body{
  display:grid;
  gap:10px;
  align-content:start;
}
.stack-intro-window,
.stack-conversation-window{
  margin:0!important;
}
.stack-intro-content{
  display:grid;
  gap:10px;
  padding:12px!important;
}
.stack-intro-content>p{
  max-width:620px;
  margin:0 auto;
  color:#654c40;
  font-size:.76rem;
  font-weight:720;
  line-height:1.42;
  text-align:center;
}
.stack-starters{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
}
.stack-starters button{
  min-height:42px;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:12px;
  background:linear-gradient(#292021,#151313) padding-box,var(--v172-metal-line) border-box;
  color:#dfbd82;
  font-size:.65rem;
  font-weight:900;
  line-height:1.18;
  box-shadow:inset 0 1px rgba(255,235,198,.1),0 3px 7px rgba(50,25,16,.18);
}
.stack-starters button:active{transform:translateY(1px);filter:brightness(1.1)}
.stack-starters button:disabled{opacity:.5}
.stack-conversation-title{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
}
.stack-conversation-title button{
  min-height:25px;
  padding:0 9px;
  border:1px solid rgba(235,199,131,.42);
  border-radius:999px;
  background:#2c0a14;
  color:#d9b77c;
  font-size:.58rem;
  font-weight:950;
  letter-spacing:.08em;
}
.stack-conversation-content{
  min-height:190px;
  padding:11px!important;
}
.stack-messages{
  display:grid;
  gap:10px;
}
.stack-message{
  width:min(94%,680px);
  padding:11px 12px;
  border:1px solid #907357;
  border-radius:16px 16px 16px 5px;
  background:linear-gradient(180deg,#efe2cd,#dcc8a8);
  color:#4e2430;
  box-shadow:inset 0 1px rgba(255,251,235,.65),0 4px 10px rgba(48,25,15,.14);
}
.stack-message-user{
  justify-self:end;
  border-color:#8d4f50;
  border-radius:16px 16px 5px 16px;
  background:linear-gradient(155deg,#6a1832,#3e0e1e 65%,#250810);
  color:#f1dfbf;
  box-shadow:inset 0 1px rgba(255,230,190,.15),0 5px 12px rgba(47,12,22,.23);
}
.stack-message-label{
  display:block;
  margin-bottom:5px;
  color:#8a4c28;
  font-size:.57rem;
  font-weight:950;
  letter-spacing:.15em;
}
.stack-message-user .stack-message-label{color:#d7a75f}
.stack-message p{
  margin:0;
  font-size:.78rem;
  font-weight:720;
  line-height:1.48;
  white-space:pre-wrap;
}
.stack-answer-summary{color:#511629!important;font-size:.83rem!important;font-weight:850!important}
.stack-answer-detail{
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid rgba(103,68,43,.2);
}
.stack-answer-detail h3{
  margin:0 0 3px;
  color:#6b2134;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.stack-message-error{border-color:#a7434e;background:linear-gradient(180deg,#ebd4c6,#dcb7a7)}
.stack-message-error p{color:#792233}
.stack-wine-selections{
  display:grid;
  gap:8px;
  margin-top:11px;
}
.stack-wine-card-instruction{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:8px 0 0!important;
  color:#d6aa59!important;
  font-size:.55rem!important;
  font-style:italic;
  font-weight:700!important;
  line-height:1.3!important;
  text-align:center;
  white-space:nowrap;
}
.stack-wine-card-instruction::before,
.stack-wine-card-instruction::after{
  content:"↑";
  display:inline-block;
  color:#e2b85f;
  font:900 .64rem/1 Georgia,serif;
  text-shadow:0 0 5px rgba(226,184,95,.55);
  animation:stackCardInstructionArrow 2.2s ease-in-out infinite;
}
.stack-wine-card-instruction::after{animation-delay:.24s}
@keyframes stackCardInstructionArrow{
  0%,100%{opacity:.58;transform:translateY(1px)}
  50%{opacity:1;transform:translateY(-2px)}
}
.stack-wine-card{
  position:relative;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(222,178,91,.9);
  border-radius:14px;
  background:
    linear-gradient(180deg,#211417,#160d10) padding-box,
    linear-gradient(120deg,rgba(151,104,45,.75),rgba(255,226,159,.96),rgba(116,78,28,.68),rgba(255,235,175,.82)) border-box;
  box-shadow:0 8px 18px rgba(0,0,0,.38),0 0 12px rgba(216,185,138,.1);
}
.stack-wine-card.is-out{
  background:
    linear-gradient(180deg,#2c1117,#1b0b0f) padding-box,
    linear-gradient(120deg,rgba(177,43,56,.84),rgba(255,186,139,.88),rgba(128,26,42,.8)) border-box;
  box-shadow:0 8px 18px rgba(0,0,0,.4),0 0 14px rgba(210,48,67,.18);
}
.stack-search-card-top{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid rgba(239,203,125,.65);
  background:#35101c;
}
.stack-card-mini{
  display:grid;
  min-width:0;
  gap:2px;
  padding:5px 3px 6px;
  border-right:1px solid rgba(104,61,69,.68);
  text-align:center;
}
.stack-card-mini:last-child{border-right:0}
.stack-card-mini small{
  color:#c8a778;
  font-size:.46rem;
  font-weight:950;
  line-height:1;
  letter-spacing:.08em;
}
.stack-card-mini b{
  overflow:hidden;
  color:#fff5eb;
  font-size:.69rem;
  font-weight:950;
  line-height:1.05;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.stack-search-card-body{padding:8px 9px 9px}
.stack-card-heading{
  display:flex;
  align-items:flex-start;
  gap:7px;
}
.stack-card-world-pill{
  flex:0 0 auto;
  min-height:20px!important;
  margin-left:auto;
  padding:4px 6px!important;
  font-size:.47rem!important;
  letter-spacing:.035em!important;
}
.stack-card-tag{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:0 6px;
  border-radius:999px;
  background:#332226;
  color:#eadfe2;
  font-size:.49rem;
  font-weight:950;
  line-height:1.05;
  letter-spacing:.035em;
}
.stack-wine-card h3{
  flex:1 1 auto;
  min-width:0;
  margin:0;
  color:#fff;
  font-size:.84rem;
  font-weight:950;
  line-height:1.2;
}
.stack-wine-region{
  margin:3px 0 7px!important;
  color:#dacdd0!important;
  font-size:.69rem!important;
  font-style:italic;
  font-weight:720!important;
  line-height:1.22!important;
}
.stack-card-tags{display:flex;flex-wrap:wrap;gap:4px}
.stack-card-classifications{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.stack-card-classifications .stack-card-tags{flex:1 1 auto;min-width:0}
.stack-card-tag.tag.dynamic-pill{
  min-height:20px;
  padding:0 6px;
  font-size:.49rem;
  line-height:1.05;
}
.stack-card-origin-meta{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}
.stack-card-origin-meta .bottle-size-badge,
.stack-card-origin-meta .cooler-pill{
  min-height:20px!important;
  padding:4px 6px!important;
  font-size:.47rem!important;
  letter-spacing:.035em!important;
}
.stack-card-origin-meta .country-stack-side,
.stack-card-origin-meta .country-stack-side .country-code{width:24px}
.stack-card-origin-meta .country-badge-vignette,
.stack-card-origin-meta .country-badge-vignette .country-badge{width:24px!important;height:24px!important}
.stack-card-origin-meta .country-stack-side .country-code{font-size:.43rem}
.stack-card-tag.grape{background:#4b2630;color:#fff0e2}
.stack-card-tag.style{background:#4e382c;color:#f4dcc2}
.stack-card-tag.category{background:#293436;color:#dbe8e6}
.stack-card-tag.out{background:#912239;color:#ffe8df}
.stack-card-tag.bottles{background:#5e3a20;color:#f2d399}
.stack-wine-reason{
  margin:7px 0 0!important;
  padding-top:7px;
  border-top:1px solid rgba(196,159,105,.18);
  color:#d6c4b7!important;
  font-size:.66rem!important;
  font-weight:680!important;
  line-height:1.38!important;
}
.stack-budget{
  margin-top:10px;
  padding:10px;
  border:1px solid #7e783d;
  border-radius:13px;
  background:linear-gradient(180deg,#e8e1bc,#cec491);
  color:#415239;
}
.stack-budget.is-over{border-color:#a33846;background:linear-gradient(180deg,#edd4c7,#d5ada0);color:#84283a}
.stack-budget>strong{display:block;margin-bottom:7px;font-size:.62rem;letter-spacing:.1em;text-align:center}
.stack-budget-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.stack-budget-grid span{display:grid;gap:2px;min-width:0;text-align:center}
.stack-budget-grid small{font-size:.48rem;font-weight:950;letter-spacing:.05em}
.stack-budget-grid b{font-size:.7rem;overflow-wrap:anywhere}
.stack-follow-up{
  display:grid;
  gap:4px;
  width:100%;
  margin-top:10px!important;
  padding:9px 11px 10px;
  border:1px solid rgba(211,158,75,.6);
  border-radius:11px;
  appearance:none;
  background:linear-gradient(165deg,#4b1124,#310b17 72%,#230810);
  color:#d9ad59!important;
  box-shadow:inset 0 1px rgba(255,227,175,.09),0 5px 12px rgba(0,0,0,.2);
  text-align:left;
  touch-action:manipulation;
  cursor:pointer;
}
.stack-follow-up-label{
  color:#dfb969;
  font-size:.5rem;
  font-weight:950;
  letter-spacing:.17em;
}
.stack-follow-up-copy{
  color:#d9ad59;
  font-size:.68rem;
  font-style:italic;
  font-weight:750;
  line-height:1.38;
}
.stack-follow-up:active{filter:brightness(1.12);transform:translateY(1px)}
.stack-follow-up:focus-visible{
  outline:2px solid #e1b96f;
  outline-offset:2px;
  box-shadow:inset 0 1px rgba(255,227,175,.12),0 0 0 3px rgba(211,158,75,.18),0 5px 12px rgba(0,0,0,.2);
}
.stack-thinking{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:13px 8px 5px;
  color:#725c4c;
}
.stack-thinking[hidden]{display:none!important}
.stack-thinking span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#7b1a35;
  animation:stackThinking 1.15s ease-in-out infinite;
}
.stack-thinking span:nth-child(2){animation-delay:.14s}
.stack-thinking span:nth-child(3){animation-delay:.28s}
.stack-thinking strong{margin-left:4px;font-size:.62rem;letter-spacing:.03em}
@keyframes stackThinking{0%,65%,100%{opacity:.3;transform:translateY(0)}32%{opacity:1;transform:translateY(-3px)}}
.stack-composer{
  position:sticky;
  bottom:0;
  z-index:5;
  display:grid;
  grid-template-columns:minmax(0,1fr) 48px;
  align-items:end;
  gap:8px;
  padding:10px;
  border:1px solid transparent;
  border-radius:17px;
  background:linear-gradient(180deg,#32101a,#170b0e) padding-box,var(--v172-metal-line) border-box;
  box-shadow:0 -7px 18px rgba(55,26,17,.16),inset 0 1px rgba(255,235,197,.1);
}
.stack-composer textarea{
  width:100%;
  min-height:48px;
  max-height:132px;
  padding:13px 12px;
  resize:none;
  overflow-y:auto;
  border:1px solid #7a6758;
  border-radius:13px;
  outline:none;
  background:linear-gradient(180deg,#f6edde,#e8dac2);
  color:#4d1728;
  font:750 16px/1.35 inherit;
  box-shadow:inset 0 2px 4px rgba(55,31,19,.14);
}
.stack-composer textarea:focus{border-color:#bb8a48;box-shadow:inset 0 2px 4px rgba(55,31,19,.14),0 0 0 2px rgba(202,143,64,.2)}
.stack-composer textarea::placeholder{color:#8b7a6d;opacity:1}
.stack-composer button{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  border:1px solid transparent;
  border-radius:14px;
  background:linear-gradient(160deg,#7b1b39,#410d20 65%,#23070f) padding-box,var(--v172-metal-line) border-box;
  color:#efce8e;
  box-shadow:inset 0 1px rgba(255,232,190,.17),0 4px 9px rgba(0,0,0,.23);
}
.stack-composer button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.stack-composer button:disabled,.stack-composer textarea:disabled{opacity:.58}
.stack-status{
  min-height:16px;
  margin:0 8px;
  color:#735e50;
  font-size:.57rem;
  font-weight:850;
  line-height:1.25;
  text-align:center;
}
.stack-status[data-state="working"]{color:#7b4c27}
.stack-status[data-state="complete"]{color:#496447}
.stack-status[data-state="error"]{color:#8a2535}
@media(max-width:430px){
  section.drawer-stack{max-height:94dvh!important}
  .drawer-stack .drawer-body{max-height:calc(94dvh - 82px - var(--safe-bottom))!important}
  .stack-intro-content{padding:10px!important}
  .stack-starters{grid-template-columns:1fr 1fr;gap:6px}
  .stack-starters button{min-height:40px;padding:6px 7px;font-size:.61rem}
  .stack-conversation-content{min-height:176px;padding:9px!important}
  .stack-message{width:96%;padding:10px}
  .stack-budget-grid{grid-template-columns:1fr 1fr;row-gap:8px}
}
@media(max-width:350px){
  .stack-starters{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .stack-thinking span{animation:none}
}

/* WineStack v18.23.2 — result presentation and native export controls. */
.result-toolbar[hidden]{display:none!important}
.result-toolbar{
  position:relative;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:48px;
  margin:0 0 9px;
  padding:5px;
  border:1.5px solid var(--v18-charcoal-line,#4b4948);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(38,20,24,.94),rgba(20,13,15,.96));
  box-shadow:0 5px 15px rgba(0,0,0,.28),0 0 0 1px rgba(255,244,222,.07),inset 0 1px rgba(239,207,131,.06);
}
.result-view-toggle{display:flex;align-items:center;gap:4px}
.result-tool-button{
  min-width:72px;
  height:38px;
  padding:0 9px;
  border:1px solid rgba(177,139,95,.25);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:linear-gradient(180deg,#21191b,#151213);
  color:#9d8d7b;
  box-shadow:inset 0 1px rgba(255,244,220,.04),0 2px 5px rgba(0,0,0,.18);
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  transition:color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.result-tool-button svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.result-tool-button.is-selected{
  border-color:rgba(220,172,91,.72);
  background:linear-gradient(160deg,#64172f,#310b18);
  color:#e7c47e;
  box-shadow:inset 0 1px rgba(255,231,184,.15),0 0 9px rgba(207,145,55,.22),0 3px 7px rgba(0,0,0,.25);
}
.result-tool-button:active{transform:scale(.97)}
.result-share-wrap{position:relative;margin-left:auto}
.result-share-toggle{min-width:82px}
.result-share-toggle[aria-expanded="true"]{
  border-color:rgba(220,172,91,.7);
  color:#e7c47e;
  background:linear-gradient(160deg,#4e1427,#280b15);
}
.result-share-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:40;
  display:grid;
  width:210px;
  padding:6px;
  border:1px solid rgba(215,174,103,.58);
  border-radius:13px;
  background:linear-gradient(180deg,#2c151c,#150e11);
  box-shadow:0 14px 30px rgba(0,0,0,.56),inset 0 1px rgba(255,234,190,.08);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-5px) scale(.98);
  transform-origin:top right;
  transition:opacity .18s ease,transform .18s ease,visibility 0s linear .18s;
}
.result-share-menu.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1);
  transition-delay:0s;
}
.result-share-menu button{
  min-height:45px;
  padding:0 12px;
  border:0;
  border-radius:9px;
  display:flex;
  align-items:center;
  gap:10px;
  background:transparent;
  color:#d5c0a0;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-align:left;
}
.result-share-menu button+button{border-top:1px solid rgba(177,139,95,.16);border-radius:0 0 9px 9px}
.result-share-menu button:active{background:#4a1424;color:#efd18e}
.result-share-menu svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.result-action-status{
  position:absolute;
  right:8px;
  bottom:-19px;
  color:#c9aa72;
  font-size:.55rem;
  font-weight:900;
  letter-spacing:.1em;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.result-action-status.visible{opacity:1}

.results.list-view{display:grid;gap:6px}
.wine-list-row{
  position:relative;
  min-width:0;
  min-height:76px;
  padding:10px 11px 9px 13px;
  border:1px solid rgba(177,139,95,.3);
  border-radius:12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  overflow:hidden;
  background:linear-gradient(180deg,#1d1719,#111011);
  box-shadow:0 5px 13px rgba(0,0,0,.3),inset 0 1px rgba(255,239,210,.035);
}
.wine-list-copy{min-width:0;display:grid;gap:3px}
.wine-list-name{
  margin:0;
  overflow:hidden;
  color:#d9c9b2;
  font-size:.9rem;
  font-weight:850;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wine-list-region{
  margin:0;
  overflow:hidden;
  color:#aa9b8d;
  font-size:.7rem;
  font-style:italic;
  font-weight:650;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wine-list-meta{
  margin:1px 0 0;
  overflow:hidden;
  color:#907d67;
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.035em;
  line-height:1.2;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.wine-list-meta span{color:#604b3d}
.wine-list-values{
  min-width:58px;
  display:grid;
  justify-items:end;
  align-content:center;
  gap:4px;
  padding-left:9px;
  border-left:1px solid rgba(177,139,95,.16);
}
.wine-list-vintage{color:#aa906c;font-size:.62rem;font-weight:900;letter-spacing:.06em}
.wine-list-price{color:#e0c89e;font-size:.93rem;font-weight:950;line-height:1}
.wine-list-eighty-six{
  min-width:25px;
  height:18px;
  padding:0 5px;
  border:1px solid #c63c50;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#651426;
  color:#ffadad;
  font-family:Georgia,serif;
  font-size:.66rem;
  font-weight:900;
  box-shadow:0 0 8px rgba(230,38,64,.48);
}
.wine-list-row.is-eighty-six{border-color:#a52b3f;animation:eightySixListPulse 5.6s ease-in-out infinite}
@keyframes eightySixListPulse{
  0%,100%{box-shadow:0 5px 13px rgba(0,0,0,.3),0 0 3px rgba(181,24,48,.2)}
  50%{box-shadow:0 5px 13px rgba(0,0,0,.34),0 0 13px rgba(238,43,68,.66)}
}
.print-results-sheet{display:none}

@media(max-width:430px){
  .result-toolbar{gap:6px;padding:4px}
  .result-view-toggle{gap:3px}
  .result-tool-button{min-width:63px;height:37px;padding:0 7px;gap:5px;font-size:.54rem}
  .result-tool-button svg{width:18px;height:18px}
  .result-share-toggle{min-width:70px}
  .wine-list-row{min-height:72px;padding:9px 9px 8px 11px;gap:8px}
  .wine-list-name{font-size:.84rem}
  .wine-list-region{font-size:.66rem}
  .wine-list-meta{font-size:.51rem}
  .wine-list-values{min-width:54px;padding-left:7px}
}
@media(prefers-reduced-motion:reduce){.wine-list-row.is-eighty-six{animation:none;box-shadow:0 0 9px rgba(229,34,61,.48)}}

@media print{
  @page{margin:.42in}
  html,body{width:auto!important;min-width:0!important;overflow:visible!important;background:#fff!important;color:#111!important}
  html.report-printing,html.report-printing body{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.report-printing>*{display:none!important;visibility:hidden!important}
  body.report-printing>main{display:block!important;visibility:visible!important;position:static!important;width:100%!important;max-width:none!important;filter:none!important;-webkit-filter:none!important}
  body.report-printing>main>*{display:none!important;visibility:hidden!important}
  body.report-printing>main>.print-results-sheet{display:block!important;visibility:visible!important;position:static!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;break-after:auto!important;page-break-after:auto!important}
  body::before,body::after{display:none!important}
  body>*:not(main){display:none!important}
  main{display:block!important;max-width:none!important;margin:0!important;padding:0!important;opacity:1!important;transform:none!important;animation:none!important}
  main>*:not(.print-results-sheet){display:none!important}
  .print-results-sheet{display:block!important;color:#111!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
  .print-results-sheet header{margin:0 0 16px;padding:0 0 10px;border-bottom:2px solid #5b1729}
  .print-report-heading{display:flex;align-items:center;gap:14px;margin:0 0 7px}
  .print-report-logo{display:block;width:78px;height:auto;max-height:74px;object-fit:contain;object-position:center}
  .print-results-sheet h1{margin:0;color:#451020;font-family:Georgia,serif;font-size:20pt;line-height:1.05}
  .print-results-sheet header p{margin:3px 0;color:#444;font-size:9pt;line-height:1.35}
  .print-results-sheet table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:8.5pt}
  .print-results-sheet th{padding:6px 5px;border-bottom:1.5px solid #6a2738;color:#451020;text-align:left;text-transform:uppercase}
  .print-results-sheet td{padding:6px 5px;border-bottom:1px solid #ccc;vertical-align:top;overflow-wrap:anywhere}
  .print-results-sheet th:nth-child(1),.print-results-sheet td:nth-child(1){width:7%}
  .print-results-sheet th:nth-child(2),.print-results-sheet td:nth-child(2){width:9%}
  .print-results-sheet th:nth-child(3),.print-results-sheet td:nth-child(3){width:7%}
  .print-results-sheet th:nth-child(4),.print-results-sheet td:nth-child(4){width:40%}
  .print-results-sheet th:nth-child(5),.print-results-sheet td:nth-child(5){width:23%}
  .print-results-sheet th:nth-child(6),.print-results-sheet td:nth-child(6){width:10%;text-align:right}
  .print-results-sheet tr{break-inside:avoid}
  .print-results-sheet td strong{display:block;font-size:9pt}
  .print-results-sheet td small{display:block;margin-top:2px;color:#555;font-style:italic;line-height:1.25}
  .print-results-sheet td em{display:inline-block;margin-top:3px;padding:1px 4px;border:1px solid #a52b3f;border-radius:8px;color:#a0182f;font-size:7pt;font-style:normal;font-weight:800}
  .print-results-sheet tr.is-eighty-six{background:#fff0f1}
}

/* WineStack v18.28.0 — reference-derived animated Stack header control. */
.header-stack-toggle{
  position:absolute;
  top:calc(var(--safe-top) + 42px);
  right:18px;
  z-index:8;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0;
  padding:0;
  transform:translateY(-50%);
  overflow:visible;
  border:1px solid transparent;
  border-radius:15px;
  background:
    linear-gradient(180deg,rgba(255,244,220,.12) 0%,rgba(255,255,255,.035) 34%,transparent 48%) padding-box,
    linear-gradient(155deg,#63162f 0%,#400d1e 57%,#230810 100%) padding-box,
    var(--v172-metal-line) border-box;
  color:#e2b969;
  box-shadow:
    inset 0 1px 0 rgba(255,235,198,.22),
    inset 0 -2px 0 rgba(26,4,11,.52),
    0 4px 10px rgba(0,0,0,.34),
    0 0 7px rgba(201,137,52,.18);
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
  animation:stackHeaderIdle 5.6s ease-in-out infinite;
  transition:filter .18s ease,box-shadow .18s ease,transform .18s ease;
}
.header-stack-toggle .stack-header-icon{
  display:block;
  width:43px;
  height:43px;
  overflow:visible;
  filter:drop-shadow(0 1px 1px rgba(13,2,5,.8));
}
.header-stack-toggle .stack-header-orbit,
.header-stack-toggle .stack-header-chain,
.header-stack-toggle .stack-header-lens,
.header-stack-toggle .stack-header-spark{
  transform-box:view-box;
  transform-origin:50px 50px;
}
.header-stack-toggle .stack-header-chain{transform-origin:69px 47px}
.header-stack-toggle .stack-header-spark{opacity:.55;transform-origin:51.5px 82.7px}
.header-stack-toggle:hover,
.header-stack-toggle:focus-visible{
  filter:brightness(1.12);
  box-shadow:inset 0 1px rgba(255,244,220,.3),0 5px 12px rgba(0,0,0,.4),0 0 14px rgba(236,179,79,.48);
}
.header-stack-toggle:hover .stack-header-chain,
.header-stack-toggle:focus-visible .stack-header-chain{animation:stackHeaderChainSway .8s ease-in-out}
.header-stack-toggle:hover .stack-header-spark,
.header-stack-toggle:focus-visible .stack-header-spark{animation:stackHeaderSpark .9s ease-in-out}
.header-stack-toggle:active{transform:translateY(calc(-50% + 1px)) scale(.96);filter:brightness(1.18)}
.header-stack-toggle:focus-visible{outline:2px solid #f0cc84;outline-offset:3px}
.header-stack-toggle[aria-expanded="true"]{
  box-shadow:inset 0 1px rgba(255,244,220,.31),0 3px 9px rgba(0,0,0,.42),0 0 15px rgba(247,191,90,.64);
}
.header-stack-toggle[aria-expanded="true"] .stack-header-lens{animation:stackHeaderLensPulse 1.8s ease-in-out infinite}
.header-stack-toggle[aria-expanded="true"] .stack-header-spark{animation:stackHeaderSpark 1.9s ease-in-out infinite}
.header-stack-toggle[data-stack-state="working"]{
  animation:stackHeaderWorking 1.15s ease-in-out infinite;
  pointer-events:auto;
}
.header-stack-toggle[data-stack-state="working"] .stack-header-orbit{animation:stackHeaderOrbit 1.15s linear infinite}
.header-stack-toggle[data-stack-state="working"] .stack-header-chain{animation:stackHeaderChainSway .9s ease-in-out infinite}
.header-stack-toggle[data-stack-state="working"] .stack-header-scan{animation:stackHeaderScan .95s ease-in-out infinite}
.header-stack-toggle[data-stack-state="complete"]{animation:stackHeaderComplete .72s ease-out 2}
.header-stack-toggle[data-stack-state="complete"] .stack-header-spark{animation:stackHeaderSpark .72s ease-out 2}
.header-stack-toggle[data-stack-state="error"]{animation:stackHeaderError .42s ease-in-out 3}
.header-stack-toggle[data-stack-state="offline"]{filter:saturate(.48) brightness(.72)}
.header-sort-toggle{right:76px!important}
@keyframes stackHeaderIdle{
  0%,100%{box-shadow:inset 0 1px rgba(255,235,198,.22),inset 0 -2px rgba(26,4,11,.52),0 4px 10px rgba(0,0,0,.34),0 0 5px rgba(201,137,52,.14)}
  50%{box-shadow:inset 0 1px rgba(255,235,198,.26),inset 0 -2px rgba(26,4,11,.52),0 4px 10px rgba(0,0,0,.36),0 0 11px rgba(230,166,65,.34)}
}
@keyframes stackHeaderOrbit{to{transform:rotate(360deg)}}
@keyframes stackHeaderChainSway{0%,100%{transform:rotate(0)}35%{transform:rotate(7deg)}70%{transform:rotate(-5deg)}}
@keyframes stackHeaderLensPulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.045);filter:brightness(1.3)}}
@keyframes stackHeaderScan{0%,100%{opacity:.35;transform:translateY(2px)}50%{opacity:1;transform:translateY(-2px)}}
@keyframes stackHeaderSpark{0%,100%{opacity:.35;transform:scale(.72) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(45deg)}}
@keyframes stackHeaderWorking{0%,100%{filter:brightness(1);box-shadow:0 0 8px rgba(221,154,53,.38)}50%{filter:brightness(1.3);box-shadow:0 0 19px rgba(255,206,108,.82)}}
@keyframes stackHeaderComplete{0%{filter:brightness(1)}45%{filter:brightness(1.45) saturate(1.18);transform:translateY(-50%) scale(1.08)}100%{filter:brightness(1);transform:translateY(-50%) scale(1)}}
@keyframes stackHeaderError{0%,100%{transform:translateY(-50%)}35%{transform:translate(-2px,-50%);box-shadow:0 0 13px rgba(225,47,69,.75)}70%{transform:translate(2px,-50%);box-shadow:0 0 13px rgba(225,47,69,.75)}}
@media(max-width:430px){
  .header-stack-toggle{right:14px;width:46px;height:46px}
  .header-stack-toggle .stack-header-icon{width:41px;height:41px}
  .header-sort-toggle{right:68px!important}
}
@media(prefers-reduced-motion:reduce){
  .header-stack-toggle,
  .header-stack-toggle .stack-header-orbit,
  .header-stack-toggle .stack-header-chain,
  .header-stack-toggle .stack-header-lens,
  .header-stack-toggle .stack-header-scan,
  .header-stack-toggle .stack-header-spark{animation:none!important}
}

/* WineStack v18.30.0 — full-screen menu utilities and the Stack medallion. */
section.drawer.menu-utility-drawer{
  top:0!important;
  bottom:0!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  padding-top:calc(9px + var(--safe-top))!important;
  padding-bottom:calc(10px + var(--safe-bottom))!important;
  border-radius:0!important;
}
section.drawer.menu-utility-drawer>.handle,
section.drawer.menu-utility-drawer>.drawer-head{
  flex:0 0 auto;
  touch-action:none;
}
section.drawer.menu-utility-drawer>.drawer-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  grid-auto-rows:max-content!important;
  align-content:start!important;
  padding-bottom:8px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}

.stack-menu-icon{
  padding:2px!important;
  overflow:hidden;
  border-radius:50%!important;
  background:#080405!important;
  box-shadow:inset 0 0 0 1px rgba(255,229,177,.12),0 0 12px rgba(222,156,62,.34)!important;
}
.stack-title-icon{
  width:42px!important;
  height:42px!important;
  padding:2px!important;
  overflow:visible;
  border-radius:50%!important;
  background:#080405!important;
}
.stack-title-icon .stack-ai-button-art{box-shadow:0 0 0 1px rgba(255,222,153,.42)}
.drawer-stack.open .stack-title-icon{
  animation:stackAiDrawerGlow 3.4s ease-in-out infinite;
}
.stack-ai-button-art{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
}
.header-stack-toggle{
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border:1px solid #c49142!important;
  border-radius:50%!important;
  background:#080405!important;
  box-shadow:0 4px 10px rgba(0,0,0,.36),0 0 7px rgba(201,137,52,.2)!important;
  animation:none;
  touch-action:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
.stack-ai-button-disc{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
}
.header-stack-toggle .stack-ai-button-art{
  border:1px solid rgba(255,222,153,.38);
  box-shadow:inset 0 0 5px rgba(255,219,143,.22);
}
.stack-ai-button-orbit{
  position:absolute;
  inset:-3px;
  z-index:3;
  border:2px solid transparent;
  border-top-color:#ffe09a;
  border-right-color:rgba(207,139,45,.72);
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  filter:drop-shadow(0 0 4px rgba(247,190,82,.72));
}
.header-stack-toggle[aria-expanded="true"]::before{
  content:"";
  position:absolute;
  inset:-5px;
  z-index:1;
  border-radius:50%;
  pointer-events:none;
  animation:stackAiGoldenGlow 3.4s ease-in-out infinite;
}
.header-stack-toggle[aria-expanded="true"]{
  box-shadow:0 4px 10px rgba(0,0,0,.38),0 0 12px rgba(232,171,74,.46)!important;
}
.header-stack-toggle[data-stack-state="working"]{
  animation:none!important;
}
.header-stack-toggle[data-stack-state="working"] .stack-ai-button-art{
  animation:stackAiSearchingPulse 3.8s ease-in-out infinite;
}
.header-stack-toggle[data-stack-state="working"] .stack-ai-button-orbit{
  opacity:1;
  animation:stackAiSearchingOrbit 3.8s linear infinite;
}
.header-stack-toggle.is-pressing{filter:brightness(1.16);box-shadow:0 3px 8px rgba(0,0,0,.42),0 0 11px rgba(226,165,69,.5)!important}
.header-stack-toggle[data-stack-state="listening"],
.header-stack-toggle.is-listening{
  filter:brightness(1.18) saturate(1.08);
  box-shadow:0 3px 9px rgba(0,0,0,.4),0 0 10px rgba(221,62,85,.54),0 0 19px rgba(207,139,45,.5)!important;
}
.header-stack-toggle[data-stack-state="listening"] .stack-ai-button-art,
.header-stack-toggle.is-listening .stack-ai-button-art{animation:stackAiListeningPulse 1.25s ease-in-out infinite}
.header-stack-toggle[data-stack-state="listening"] .stack-ai-button-orbit,
.header-stack-toggle.is-listening .stack-ai-button-orbit{opacity:1;border-top-color:#ff9b87;border-right-color:#e2b969;animation:stackAiSearchingOrbit 2.2s linear infinite}
@keyframes stackAiGoldenGlow{
  0%,100%{box-shadow:0 0 3px rgba(242,223,181,.44),0 0 7px rgba(190,143,72,.28);opacity:.72;transform:scale(.96)}
  50%{box-shadow:0 0 8px rgba(255,235,195,.86),0 0 18px rgba(190,143,72,.62),0 0 29px rgba(132,74,22,.34);opacity:1;transform:scale(1.11)}
}
@keyframes stackAiSearchingPulse{
  0%,100%{filter:brightness(.92) saturate(.96);transform:scale(.98)}
  50%{filter:brightness(1.22) saturate(1.12);transform:scale(1.025)}
}
@keyframes stackAiSearchingOrbit{to{transform:rotate(360deg)}}
@keyframes stackAiListeningPulse{0%,100%{filter:brightness(.95);transform:scale(.98)}50%{filter:brightness(1.28);transform:scale(1.035)}}
@keyframes stackAiDrawerGlow{
  0%,100%{filter:drop-shadow(0 0 2px rgba(242,223,181,.48)) drop-shadow(0 0 5px rgba(190,143,72,.3));transform:scale(1)}
  50%{filter:drop-shadow(0 0 5px rgba(255,235,195,.9)) drop-shadow(0 0 12px rgba(190,143,72,.66));transform:scale(1.055)}
}

@media(max-width:430px){
  .header-stack-toggle{right:14px!important;width:42px!important;height:42px!important}
}
@media(prefers-reduced-motion:reduce){
  .header-stack-toggle[aria-expanded="true"]::before,
  .header-stack-toggle[data-stack-state="working"] .stack-ai-button-art,
  .header-stack-toggle[data-stack-state="working"] .stack-ai-button-orbit,
  .drawer-stack.open .stack-title-icon{animation:none!important}
  .header-stack-toggle[aria-expanded="true"]::before{box-shadow:0 0 11px rgba(242,201,119,.62);opacity:1}
  .header-stack-toggle[data-stack-state="working"] .stack-ai-button-orbit{opacity:1}
}

/* WineStack v18.31.0 — 86 reporting and Stack party-planning workspaces. */
.eighty-six-tools-window{margin:0!important}
.eighty-six-tools-content{display:grid;gap:9px;padding:10px!important}
.eighty-six-filter-dock{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.eighty-six-filter-dock button{
  position:relative;
  display:grid;
  place-items:center;
  gap:4px;
  min-width:0;
  min-height:59px;
  padding:6px 3px;
  border:1px solid transparent;
  border-radius:12px;
  background:linear-gradient(180deg,#2a2021,#151313) padding-box,var(--v172-metal-line) border-box;
  color:#d9b679;
  font-size:.56rem;
  font-weight:950;
  letter-spacing:.04em;
  box-shadow:inset 0 1px rgba(255,235,198,.1),0 3px 7px rgba(50,25,16,.18);
}
.eighty-six-filter-dock button.active-filter{
  background:linear-gradient(160deg,#751936,#3b0c1c 66%,#21070e) padding-box,var(--v172-metal-line) border-box;
  color:#f0d59e;
  box-shadow:inset 0 1px rgba(255,231,187,.18),0 0 10px rgba(187,122,45,.3);
}
.eighty-six-filter-dock .drawer-icon{width:23px;height:23px}
.eighty-six-filter-count{
  position:absolute;
  top:4px;
  right:5px;
  display:grid;
  place-items:center;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:999px;
  background:#8d233c;
  color:#ffe5ad;
  font-size:.5rem;
  line-height:1;
}
.eighty-six-filter-count[hidden]{display:none!important}
.eighty-six-filter-summary{
  display:grid;
  gap:2px;
  min-height:38px;
  padding:6px 9px;
  border:1px solid rgba(108,79,50,.38);
  border-radius:11px;
  background:rgba(255,247,228,.3);
  color:#4e3b32;
  text-align:center;
}
.eighty-six-filter-summary strong{color:#5b1730;font-size:.64rem;letter-spacing:.09em}
.eighty-six-filter-summary span{overflow-wrap:anywhere;font-size:.56rem;font-weight:850;line-height:1.25}
.eighty-six-report-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.eighty-six-report-actions button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:39px;
  padding:5px 7px;
  border:1px solid transparent;
  border-radius:11px;
  background:linear-gradient(160deg,#64162e,#340b19 68%,#1e070d) padding-box,var(--v172-metal-line) border-box;
  color:#e9c884;
  font-size:.56rem;
  font-weight:950;
  letter-spacing:.05em;
}
.eighty-six-report-actions button:first-child{
  grid-column:1/-1;
  min-height:32px;
  background:linear-gradient(#292323,#171414) padding-box,var(--v172-metal-line) border-box;
  color:#c5a878;
}
.eighty-six-report-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.eighty-six-report-status{min-height:14px;margin:0;color:#486343;font-size:.55rem;font-weight:950;letter-spacing:.06em;text-align:center}
.eighty-six-report-status[data-state="error"]{color:#922a3e}
.eighty-six-wine-row{min-height:78px;padding-block:10px}
.eighty-six-wine-copy{gap:4px}
.eighty-six-wine-copy small{
  overflow:visible;
  color:#3f342e;
  font-weight:850;
  line-height:1.26;
  text-overflow:clip;
  white-space:normal;
}
.eighty-six-wine-copy .eighty-six-wine-references{color:#4b2d2d;font-size:.63rem;font-weight:950;letter-spacing:.015em}
.eighty-six-status-button{min-width:78px;padding-inline:8px}

section.drawer.menu-utility-drawer>.stack-drawer-body{
  display:flex!important;
  flex-direction:column!important;
  gap:9px;
  align-content:normal!important;
}
.stack-view{flex:0 0 auto;min-width:0}
.stack-view[hidden]{display:none!important}
.stack-main-view,.stack-private-dining-view{display:grid;gap:9px}
.stack-party-planner{min-width:0;perspective:1200px}
.stack-party-planner-card{
  position:relative;
  min-height:145px;
  transform-style:preserve-3d;
  transition:min-height .7s cubic-bezier(.2,.72,.2,1);
}
.stack-party-planner.is-flipped .stack-party-planner-card{min-height:570px}
.stack-planner-face{
  position:absolute!important;
  inset:0;
  width:100%;
  margin:0!important;
  overflow:hidden;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transition:transform .7s cubic-bezier(.2,.72,.2,1),opacity .35s ease;
}
.stack-planner-front{transform:rotateY(0);opacity:1}
.stack-planner-back{transform:rotateY(180deg);opacity:0;pointer-events:none}
.stack-party-planner.is-flipped .stack-planner-front{transform:rotateY(-180deg);opacity:0;pointer-events:none}
.stack-party-planner.is-flipped .stack-planner-back{transform:rotateY(0);opacity:1;pointer-events:auto}
.stack-planner-choice-content{display:grid;gap:10px;padding:11px!important}
.stack-planner-choice-content p{margin:0;color:#59453b;font-size:.7rem;font-weight:760;line-height:1.35;text-align:center}
.stack-planner-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.stack-planner-choices button,.stack-calculate-button{
  min-height:42px;
  padding:6px 9px;
  border:1px solid transparent;
  border-radius:12px;
  background:linear-gradient(160deg,#741936,#3d0d1e 66%,#21070e) padding-box,var(--v172-metal-line) border-box;
  color:#eed097;
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.07em;
  box-shadow:inset 0 1px rgba(255,231,187,.17),0 4px 9px rgba(0,0,0,.22);
}
.stack-calculator-title,.stack-private-heading{position:relative;display:flex!important;align-items:center!important;justify-content:center!important}
.stack-calculator-title button,.stack-private-heading button{
  position:absolute;
  left:8px;
  display:grid;
  place-items:center;
  width:27px;
  height:23px;
  padding:0 0 2px;
  border:1px solid rgba(231,193,124,.45);
  border-radius:999px;
  background:#2b0913;
  color:#e4c184;
  font:950 1.25rem/1 Georgia,serif;
}
.stack-calculator-content{padding:10px!important}
.stack-budget-calculator,.stack-pdr-calculator{display:grid;gap:9px}
.stack-calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.stack-calculator-grid label{display:grid;align-content:start;gap:4px;min-width:0;color:#572034;font-size:.59rem;font-weight:950;line-height:1.15;letter-spacing:.025em}
.stack-calculator-grid input,.stack-calculator-grid select{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:6px 7px;
  border:1px solid #776452;
  border-radius:10px;
  outline:none;
  background:linear-gradient(180deg,#f6edde,#e6d6bd);
  color:#491426;
  font:850 16px/1.2 inherit;
  box-shadow:inset 0 2px 4px rgba(55,31,19,.13);
}
.stack-calculator-grid input:focus,.stack-calculator-grid select:focus{border-color:#b27b38;box-shadow:inset 0 2px 4px rgba(55,31,19,.13),0 0 0 2px rgba(202,143,64,.18)}
.stack-calculator-grid input[readonly]{background:#d7c6aa;color:#4f3b32}
.stack-calculate-button{width:100%}
.stack-calculator-status{min-height:17px;margin:0;color:#425f42;font-size:.58rem;font-weight:850;line-height:1.3;text-align:center}
.stack-calculator-status[data-state="error"]{color:#952b3e}
.stack-calculator-summary{
  padding:10px 8px;
  border:1px solid #77753d;
  border-radius:16px;
  background:linear-gradient(180deg,#e9e3bd,#cdc38e);
  color:#3f5039;
  box-shadow:inset 0 1px rgba(255,255,238,.5);
}
.stack-calculator-summary.is-over{border-color:#a33846;background:linear-gradient(180deg,#edd4c7,#d5ada0);color:#84283a}
.stack-calculator-summary>strong{display:block;margin-bottom:8px;font-size:.64rem;letter-spacing:.12em;text-align:center}
.stack-calculator-summary>div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.stack-calculator-summary span{display:grid;gap:2px;min-width:0;text-align:center}
.stack-calculator-summary small{font-size:.5rem;font-weight:950;letter-spacing:.07em}
.stack-calculator-summary b{font-size:.74rem;overflow-wrap:anywhere}
.stack-private-heading-content{padding:9px 11px!important;color:#5d473c;font-size:.68rem;font-weight:750;line-height:1.35;text-align:center}
.stack-pdr-note{margin:0;color:#604d42;font-size:.6rem;font-weight:760;line-height:1.35;text-align:center}
.stack-pdr-other[hidden]{display:none!important}
.stack-pdr-over-under{grid-column:1/-1}
.stack-pdr-summary>div{grid-template-columns:repeat(2,1fr)}
.stack-conversation-window{flex:0 0 auto;min-height:210px!important;margin:0!important}
.stack-conversation-content{min-height:155px!important}
.stack-message{position:relative;border-radius:18px 18px 18px 6px;padding-left:39px}
.stack-message::after{
  content:"";
  position:absolute;
  left:-1px;
  bottom:-7px;
  width:17px;
  height:17px;
  border-left:1px solid #907357;
  background:#dcc8a8;
  clip-path:polygon(0 0,100% 0,0 100%);
}
.stack-message-assistant::before{
  content:"";
  position:absolute;
  top:10px;
  left:9px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:url("../assets/stack-ai-button-approved-v2.png") center/contain no-repeat;
  filter:drop-shadow(0 0 3px rgba(163,103,37,.38));
}
.stack-message-user{padding-left:12px;padding-right:12px;border-radius:18px 18px 6px 18px}
.stack-message-user::after{left:auto;right:-1px;border-left:0;border-right:1px solid #8d4f50;background:#250810;clip-path:polygon(0 0,100% 0,100% 100%)}
.stack-composer{
  flex:0 0 auto;
  grid-template-columns:minmax(0,1fr) 40px 40px;
  gap:6px;
  margin-top:auto;
  padding:5px;
  border-radius:14px;
}
.stack-composer textarea{min-height:40px;max-height:96px;padding:9px 10px;border-radius:10px}
.stack-composer button{width:40px;height:40px;border-radius:10px}
.stack-composer button svg{width:21px;height:21px}
.stack-mic-button{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.stack-mic-button.is-pressing{filter:brightness(1.13);box-shadow:inset 0 1px rgba(255,240,208,.22),0 0 10px rgba(206,142,54,.38)!important}
.stack-mic-button.is-listening{
  color:#fff0d2!important;
  background:radial-gradient(circle at 50% 42%,#b72842,#72142d 57%,#360916)!important;
  animation:stackVoicePulse 1.65s ease-in-out infinite!important;
}
.stack-status[data-state="listening"]{color:#9b283c}
@keyframes stackVoicePulse{
  0%,100%{box-shadow:inset 0 1px rgba(255,232,190,.22),0 0 0 0 rgba(201,49,73,.18),0 0 8px rgba(201,49,73,.24)}
  50%{box-shadow:inset 0 1px rgba(255,242,211,.32),0 0 0 5px rgba(201,49,73,.10),0 0 17px rgba(224,61,84,.58)}
}

/* Stack voice listening feedback: a fixed, layout-independent brass aura. */
.stack-listening-aura{
  --stack-aura-inner:18px;
  --stack-aura-outer:42px;
  --stack-aura-strength:.5;
  --stack-aura-mid-strength:.38;
  --stack-aura-soft-strength:.22;
  --stack-aura-edge-opacity:.72;
  --stack-aura-brightness:1.04;
  --stack-aura-flow-low:.98;
  --stack-aura-flow-high:1.12;
  position:fixed;
  inset:0;
  z-index:2147483647;
  pointer-events:none;
  visibility:hidden;
  opacity:0;
  overflow:hidden;
  border-radius:clamp(22px,7vw,36px);
  contain:layout paint style;
  transform:translateZ(0);
  transition:opacity .22s ease,visibility 0s linear .22s;
}
.stack-listening-aura::before,
.stack-listening-aura::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
}
.stack-listening-aura::before{
  border:2px solid rgba(255,224,151,.9);
  box-shadow:
    inset 0 0 4px rgba(255,247,211,.92),
    inset 0 0 var(--stack-aura-inner) rgba(255,216,126,var(--stack-aura-strength)),
    inset 0 0 var(--stack-aura-outer) rgba(179,105,23,var(--stack-aura-mid-strength)),
    inset 0 0 110px rgba(85,39,8,var(--stack-aura-soft-strength));
  filter:brightness(var(--stack-aura-brightness));
  transition:box-shadow .08s linear,filter .08s linear;
  animation:stackListeningAuraBreath 1.9s ease-in-out infinite;
}
.stack-listening-aura::after{
  inset:1px;
  background:
    linear-gradient(90deg,transparent 3%,#a76618 23%,#ffe4a2 50%,#b8751d 77%,transparent 97%) top/100% 4px no-repeat,
    linear-gradient(90deg,transparent 3%,#7d400e 22%,#f7c969 50%,#9b5815 78%,transparent 97%) bottom/100% 4px no-repeat,
    linear-gradient(180deg,transparent 3%,#9b5914 23%,#ffe09a 50%,#a96517 77%,transparent 97%) left/4px 100% no-repeat,
    linear-gradient(180deg,transparent 3%,#b4721c 23%,#ffd982 50%,#87440f 77%,transparent 97%) right/4px 100% no-repeat;
  opacity:var(--stack-aura-edge-opacity);
  filter:brightness(var(--stack-aura-brightness)) drop-shadow(0 0 8px rgba(255,198,83,.86));
  transition:opacity .08s linear,filter .08s linear;
  animation:stackListeningBrassFlow 2.35s ease-in-out infinite alternate;
}
.stack-listening-aura.is-active{
  visibility:visible;
  transition-delay:0s;
}
.stack-listening-aura.is-listening{opacity:1}
.stack-listening-aura.is-speaking::before{animation-duration:.82s}
.stack-listening-aura.is-speaking::after{animation-duration:1.05s}
.stack-listening-aura.is-activating::before{
  animation:stackListeningActivationBurst .92s cubic-bezier(.16,.78,.24,1) both;
}
.stack-listening-aura.is-activating::after{
  animation:stackListeningEdgeBurst .92s cubic-bezier(.16,.78,.24,1) both;
}
.stack-listening-aura.is-registering{
  opacity:.78;
  transition:opacity .32s ease;
}
.stack-listening-aura.is-registering::before,
.stack-listening-aura.is-registering::after{animation-duration:2.8s}
.stack-listening-aura.is-complete{
  opacity:0;
  transition:opacity 1s cubic-bezier(.22,.72,.27,1),visibility 0s linear 1s;
}
.stack-listening-aura.is-cancelled{
  opacity:0;
  transition:opacity .4s ease,visibility 0s linear .4s;
}
@keyframes stackListeningAuraBreath{
  0%,100%{transform:scale(1);opacity:.82}
  50%{transform:scale(.998);opacity:1}
}
@keyframes stackListeningBrassFlow{
  0%{filter:brightness(var(--stack-aura-flow-low)) drop-shadow(0 0 7px rgba(218,145,43,.72))}
  50%{filter:brightness(var(--stack-aura-flow-high)) drop-shadow(0 0 13px rgba(255,210,112,.94))}
  100%{filter:brightness(var(--stack-aura-brightness)) drop-shadow(0 0 9px rgba(176,103,22,.82))}
}
@keyframes stackListeningActivationBurst{
  0%{
    border-color:rgba(255,242,196,1);
    box-shadow:
      inset 0 0 8px rgba(255,255,239,1),
      inset 0 0 42px rgba(255,226,148,.98),
      inset 0 0 96px rgba(213,135,30,.88),
      inset 0 0 164px rgba(103,45,5,.54);
    filter:brightness(1.58);
  }
  34%{
    border-color:rgba(255,235,174,1);
    box-shadow:
      inset 0 0 10px rgba(255,253,226,1),
      inset 0 0 52px rgba(255,210,104,1),
      inset 0 0 116px rgba(191,105,16,.92),
      inset 0 0 178px rgba(91,34,3,.58);
    filter:brightness(1.72);
  }
  100%{
    border-color:rgba(255,224,151,.9);
    box-shadow:
      inset 0 0 4px rgba(255,247,211,.92),
      inset 0 0 var(--stack-aura-inner) rgba(255,216,126,var(--stack-aura-strength)),
      inset 0 0 var(--stack-aura-outer) rgba(179,105,23,var(--stack-aura-mid-strength)),
      inset 0 0 110px rgba(85,39,8,var(--stack-aura-soft-strength));
    filter:brightness(var(--stack-aura-brightness));
  }
}
@keyframes stackListeningEdgeBurst{
  0%{opacity:1;filter:brightness(1.62) drop-shadow(0 0 18px rgba(255,222,135,1))}
  36%{opacity:1;filter:brightness(1.78) drop-shadow(0 0 25px rgba(255,196,63,1))}
  100%{opacity:var(--stack-aura-edge-opacity);filter:brightness(var(--stack-aura-brightness)) drop-shadow(0 0 8px rgba(255,198,83,.86))}
}
@media(prefers-reduced-motion:reduce){
  .stack-listening-aura::before,
  .stack-listening-aura::after{animation:none!important;transition:none!important}
}
.stack-status{flex:0 0 auto;margin-bottom:1px}
.stack-menu-option{grid-template-columns:58px minmax(0,1fr) 26px 18px!important}
.stack-menu-icon{
  width:54px!important;
  height:54px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.stack-title-icon{
  width:50px!important;
  height:50px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.stack-title-icon .stack-ai-button-art{box-shadow:none!important}

@media(min-width:700px){
  .stack-party-planner.is-flipped .stack-party-planner-card{min-height:390px}
  .stack-calculator-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stack-pdr-input-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .stack-pdr-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stack-pdr-over-under{grid-column:auto}
  .stack-calculator-summary>div{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:350px){
  .eighty-six-filter-dock{gap:5px}
  .eighty-six-filter-dock button{font-size:.51rem}
  .stack-planner-choices{grid-template-columns:1fr}
  .stack-party-planner-card{min-height:188px}
  .stack-party-planner.is-flipped .stack-party-planner-card{min-height:590px}
}
@media(prefers-reduced-motion:reduce){
  .stack-party-planner-card,.stack-planner-face{transition:none!important}
  .stack-mic-button.is-listening,.header-stack-toggle.is-listening .stack-ai-button-art,.header-stack-toggle.is-listening .stack-ai-button-orbit{animation:none!important}
}

/* WineStack v18.32.0 — final utility spacing, compact 86 controls, and refreshed Stack medallion. */
section.drawer.menu-utility-drawer>.drawer-body{
  gap:10px!important;
  padding:10px 4px 8px!important;
}
section.drawer.menu-utility-drawer .drawer-subwindow{margin:0!important}
.eighty-six-drawer-body,
.wine-revision-drawer-body,
.share-drawer-body{gap:10px!important}
.stack-main-view,
.stack-private-dining-view{gap:10px!important}

.eighty-six-search-window>.subwindow-content{padding:8px 10px!important}
.eighty-six-search-wrap input{min-height:46px}
.eighty-six-sync-status{margin-top:6px}
.eighty-six-search-results:empty{display:none}
.eighty-six-search-results{margin-top:7px}

.eighty-six-tools-content{gap:7px;padding:8px 10px!important}
.eighty-six-filter-dock{
  gap:0;
  overflow:hidden;
  border:1px solid transparent;
  border-radius:14px;
  background:
    linear-gradient(180deg,rgba(255,244,220,.08),transparent 45%) padding-box,
    linear-gradient(180deg,#2d1119,#160b0f) padding-box,
    var(--v172-metal-line) border-box;
  box-shadow:inset 0 1px rgba(255,235,198,.08),0 4px 10px rgba(50,25,16,.18);
}
.eighty-six-filter-dock button{
  min-height:54px;
  gap:1px;
  padding:3px 2px;
  border:0;
  border-radius:0;
  background:transparent!important;
  color:var(--v15-logo-warm)!important;
  font-size:.61rem;
  font-weight:680;
  box-shadow:none;
}
.eighty-six-filter-dock button+button::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  bottom:7px;
  width:1px;
  background:rgba(216,200,171,.10);
}
.eighty-six-filter-dock .drawer-icon{width:27px!important;height:27px!important;color:var(--v15-logo-warm)!important}
.eighty-six-filter-dock [data-eighty-six-filter="grape"] .drawer-icon svg circle{fill:currentColor;stroke:none}
.eighty-six-filter-dock button.active-filter{color:var(--v15-logo-warm-active)!important;background:transparent!important;box-shadow:none}
.eighty-six-filter-dock button.active-filter .drawer-icon{
  color:var(--v15-logo-warm-active)!important;
  filter:drop-shadow(0 0 3px rgba(242,223,181,.8)) drop-shadow(0 0 8px rgba(190,143,72,.52));
  animation:v15IconGlow 3.4s ease-in-out infinite;
}
.eighty-six-filter-count{
  top:3px;
  right:calc(50% - 28px);
  border:1px solid rgba(255,170,170,.88);
  background:radial-gradient(circle at 35% 28%,#ff8b8b 0 9%,#df243d 31%,#9f1028 68%,#5d0718 100%);
  color:#fff7f3;
  box-shadow:0 0 4px rgba(255,52,75,.9),0 0 9px rgba(231,21,54,.7),inset 0 1px rgba(255,235,229,.56);
}
.eighty-six-filter-summary-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:7px}
.eighty-six-filter-summary{min-height:34px;padding:4px 8px}
.eighty-six-report-reset{
  grid-column:auto!important;
  grid-row:auto!important;
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  padding:0!important;
  font-size:1rem!important;
}
.eighty-six-report-actions{grid-template-columns:1fr 1fr;gap:7px}
.eighty-six-report-actions button{min-height:37px;padding-block:4px}
.eighty-six-report-actions button:first-child{
  grid-column:auto;
  min-height:37px;
  background:linear-gradient(160deg,#64162e,#340b19 68%,#1e070d) padding-box,var(--v172-metal-line) border-box;
  color:#e9c884;
}
.eighty-six-report-status:empty{display:none}
.eighty-six-report-status:not(:empty){min-height:13px}
.eighty-six-wine-row{min-height:88px;padding-block:9px}
.eighty-six-wine-copy{gap:3px}
.eighty-six-wine-copy .eighty-six-wine-added{
  color:#6f1831;
  font-size:.58rem;
  font-weight:950;
  letter-spacing:.08em;
}

.stack-drawer-head>.drawer-title{gap:0!important}
.stack-ai-button-art{background:radial-gradient(circle at 38% 30%,#65142f,#270710 72%,#170409)}
.header-stack-toggle{background:linear-gradient(150deg,#541128,#21060e)!important}
.header-stack-toggle .stack-ai-button-art{border-color:rgba(255,218,139,.68)}
.stack-menu-icon,.stack-title-icon{background:linear-gradient(150deg,#541128,#21060e)!important}

@media(prefers-reduced-motion:reduce){
  .eighty-six-filter-dock button.active-filter .drawer-icon{animation:none!important}
}

/* WineStack v18.33.0 — protected utilities, relocated result controls, and Stack conversation polish. */
section.drawer.menu-utility-drawer>.drawer-head>.x-btn{
  top:calc(50% - 6px)!important;
  transform:translateY(-50%)!important;
}

.stack-intro-content>p{max-width:720px;line-height:1.5}
.stack-conversation-title{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-inline:64px!important;
}
.stack-conversation-title>span{display:block;width:100%;text-align:center}
.stack-conversation-title>#stackClear{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
}
.stack-voice-settings-content{display:grid;gap:7px;padding:8px 10px!important}
.stack-voice-setting{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  align-items:center;
  gap:10px;
  min-height:42px;
  cursor:pointer;
}
.stack-voice-setting-copy{display:grid;gap:2px;min-width:0;color:#511629}
.stack-voice-setting-copy strong{font-size:.64rem;font-weight:950;letter-spacing:.075em}
.stack-voice-setting-copy small{color:#725f50;font-size:.56rem;font-weight:760;line-height:1.25}
.stack-voice-setting>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.stack-voice-switch{
  position:relative;
  display:block;
  width:44px;
  height:24px;
  border:1px solid #806b5c;
  border-radius:999px;
  background:linear-gradient(180deg,#4a4340,#282526);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.36),0 1px rgba(255,255,255,.42);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.stack-voice-switch>span{
  position:absolute;
  top:2px;
  left:2px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:linear-gradient(145deg,#f2e2c0,#b99155);
  box-shadow:0 2px 5px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.62);
  transition:transform .2s ease;
}
.stack-voice-setting>input:checked+.stack-voice-switch{
  border-color:#b8823d;
  background:linear-gradient(160deg,#6d1833,#360b1a);
  box-shadow:inset 0 2px 4px rgba(34,5,14,.42),0 0 8px rgba(193,127,47,.22);
}
.stack-voice-setting>input:checked+.stack-voice-switch>span{transform:translateX(20px)}
.stack-voice-setting>input:focus-visible+.stack-voice-switch{outline:2px solid #b67e35;outline-offset:2px}
.stack-wake-status{margin:0;color:#735e50;font-size:.54rem;font-weight:780;line-height:1.3;text-align:center}
.stack-wake-status[data-state="listening"]{color:#7c4c26}
.stack-wake-status[data-state="error"]{color:#8a2535}
.stack-wake-status[data-state="paused"]{color:#7a6a5e}

.stack-message.stack-message-assistant{
  min-height:132px;
  padding:13px 13px 13px 82px!important;
  border-color:#9f6c35;
  background:linear-gradient(155deg,#66162f,#3b0d1c 66%,#22070e);
  color:#f1dfbf;
  box-shadow:inset 0 1px rgba(255,230,190,.15),0 5px 12px rgba(47,12,22,.23);
}
.stack-message-assistant::before{content:none!important;display:none!important}
.stack-message-character{
  position:absolute;
  top:8px;
  left:7px;
  width:66px;
  height:116px;
  object-fit:contain;
  object-position:center;
  pointer-events:none;
  filter:drop-shadow(0 4px 5px rgba(10,3,5,.42)) drop-shadow(0 0 5px rgba(208,139,48,.2));
  animation:stackCharacterPresence 4.8s ease-in-out infinite;
}
.stack-message-assistant>.stack-message-label{color:#e8c47e}
.stack-message-assistant>.stack-answer-summary,
.stack-message-assistant>.stack-answer-detail>p,
.stack-message-assistant>p{color:#f1dfbf!important}
.stack-message-assistant>.stack-answer-detail{border-top-color:rgba(233,196,126,.24)}
.stack-message-assistant>.stack-answer-detail>h3{color:#e8c47e}
.stack-message.stack-message-assistant::after{background:#3b0d1c;border-left-color:#9f6c35}
.stack-message.stack-message-user{
  border-color:#907357;
  background:linear-gradient(180deg,#efe2cd,#dcc8a8);
  color:#4e2430;
  box-shadow:inset 0 1px rgba(255,251,235,.65),0 4px 10px rgba(48,25,15,.14);
}
.stack-message-user>.stack-message-label{color:#8a4c28}
.stack-message.stack-message-user::after{background:#dcc8a8;border-right-color:#907357}
.stack-message.stack-message-assistant.stack-message-error{
  border-color:#b05250;
  background:linear-gradient(155deg,#751b31,#49101d 66%,#28070d);
}
.stack-message.stack-message-assistant.stack-message-error>p{color:#ffe1cf!important}
@keyframes stackCharacterPresence{
  0%,100%{transform:translateY(0) rotate(-.45deg);filter:drop-shadow(0 4px 5px rgba(10,3,5,.42)) drop-shadow(0 0 4px rgba(208,139,48,.18))}
  50%{transform:translateY(-2px) rotate(.45deg);filter:drop-shadow(0 5px 6px rgba(10,3,5,.46)) drop-shadow(0 0 7px rgba(229,166,70,.32))}
}

.applied-filter-row[hidden]{display:none!important}
.applied-filter-row>.filter-window:not(:empty){
  width:100%;
  min-width:0;
  margin:0!important;
}
.applied-filter-row>#resetAll{
  position:relative!important;
  inset:auto!important;
  grid-column:2!important;
  grid-row:1!important;
  align-self:center;
  justify-self:center;
  margin:0!important;
}
.applied-filter-row>#resetAll[hidden]{display:none!important}

.result-toolbar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  border:1.5px solid transparent;
  background:
    linear-gradient(180deg,rgba(49,16,26,.96),rgba(20,9,13,.98)) padding-box,
    var(--v172-metal-line) border-box;
}
.result-view-toggle{display:contents}
.result-share-wrap{min-width:0;margin:0}
.result-tool-button{
  width:100%;
  min-width:0;
  padding-inline:5px;
}
.result-tool-button:not([data-result-view]){
  border-color:rgba(218,170,91,.62);
  background:linear-gradient(160deg,#61172e,#310b18);
  color:#e7c47e;
  box-shadow:inset 0 1px rgba(255,231,184,.13),0 3px 7px rgba(0,0,0,.24);
}
.result-tool-button[data-result-view]:not(.is-selected){
  border-color:rgba(132,126,119,.36);
  background:linear-gradient(180deg,#282526,#171617);
  color:#77716c;
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.result-sort-toggle[hidden]{display:none!important}

.eighty-six-wine-location-row{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.eighty-six-wine-location-row>.eighty-six-wine-location{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.eighty-six-wine-location-row>.tag{
  flex:0 0 auto;
  max-width:118px;
  overflow:hidden;
  padding:3px 6px!important;
  border-width:1px!important;
  font-size:.48rem!important;
  line-height:1!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.eighty-six-status-button{min-width:82px!important}
.eighty-six-report-reset.has-active-filters{overflow:visible}

.utility-access-gate{
  position:fixed;
  inset:0;
  z-index:2147483700;
  display:grid;
  place-items:center;
  padding:calc(18px + var(--safe-top)) 18px calc(18px + var(--safe-bottom));
  background:rgba(13,4,7,.78);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.utility-access-gate[hidden]{display:none!important}
.utility-access-card{
  position:relative;
  display:grid;
  gap:10px;
  width:min(100%,350px);
  padding:24px 22px 21px;
  border:1.5px solid transparent;
  border-radius:22px;
  background:
    linear-gradient(160deg,#591329,#2f0916 66%,#19060c) padding-box,
    var(--v172-metal-line) border-box;
  color:#ead4aa;
  text-align:center;
  box-shadow:0 20px 48px rgba(0,0,0,.62),inset 0 1px rgba(255,233,192,.14);
  animation:utilityAccessArrive .24s ease-out;
}
.utility-access-card.is-denied{animation:utilityAccessDenied .28s ease}
.utility-access-close{
  position:absolute;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border:1px solid rgba(224,183,112,.45);
  border-radius:50%;
  background:#171314;
  color:#c5a477;
  font-size:1.1rem;
}
.utility-access-lock{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 auto;
  border:1px solid #a86f2c;
  border-radius:16px;
  background:linear-gradient(155deg,#741936,#390c1b);
  color:#efc879;
  font-size:1.45rem;
  font-weight:950;
  box-shadow:0 0 13px rgba(202,136,48,.26);
}
.utility-access-card h2{margin:0;font-size:.86rem;letter-spacing:.15em}
.utility-access-card p{margin:0;color:#c9af8b;font-size:.7rem;font-weight:760;line-height:1.35}
.utility-access-card label{color:#d8b271;font-size:.59rem;font-weight:950;letter-spacing:.12em}
.utility-access-card input{
  width:150px;
  min-height:52px;
  margin:0 auto;
  padding:8px 12px;
  border:1px solid #9c7040;
  border-radius:13px;
  outline:none;
  background:linear-gradient(180deg,#f5ead7,#dcc9aa);
  color:#491426;
  font:950 1.35rem/1 inherit;
  letter-spacing:.34em;
  text-align:center;
  box-shadow:inset 0 2px 5px rgba(55,31,19,.18);
}
.utility-access-card input:focus{border-color:#d1a257;box-shadow:inset 0 2px 5px rgba(55,31,19,.18),0 0 0 3px rgba(218,165,77,.2)}
.utility-access-status{min-height:16px;color:#ffaca9!important;font-size:.59rem!important;font-weight:950!important;letter-spacing:.06em}
.utility-access-submit{
  min-height:46px;
  border:1px solid transparent;
  border-radius:13px;
  background:linear-gradient(160deg,#7a1c39,#3f0d1e 68%,#23070e) padding-box,var(--v172-metal-line) border-box;
  color:#edca88;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.1em;
}
body.utility-access-open{overflow:hidden}
@keyframes utilityAccessArrive{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes utilityAccessDenied{0%,100%{transform:translateX(0)}25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}

@media(max-width:430px){
  .result-toolbar{gap:4px;padding:4px}
  .result-tool-button{height:38px;padding:0 4px;gap:4px;font-size:.52rem}
  .result-tool-button svg{width:18px;height:18px}
  .stack-message.stack-message-assistant{width:98%;padding-left:75px!important}
  .stack-message-character{left:5px;width:62px}
}
@media(max-width:350px){
  .result-tool-button span{font-size:.47rem}
  .result-tool-button{gap:2px;padding-inline:2px}
  .eighty-six-wine-location-row>.tag{max-width:96px;font-size:.44rem!important}
}
@media(prefers-reduced-motion:reduce){
  .stack-message-character,.utility-access-card{animation:none!important}
}

/* WineStack v18.39.0 — coordinated Stack card transitions and stable suggestion labels. */
.wine-swipe-slot{
  position:relative;
  width:100%;
  min-width:0;
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
  outline:none;
  perspective:900px;
  contain:layout style;
}
.wine-swipe-slot:focus-visible>.wine-card{
  outline:2px solid rgba(235,190,103,.9);
  outline-offset:2px;
}
.wine-swipe-slot>.wine-card{
  transform:translate3d(0,0,0);
  transform-origin:center;
  will-change:transform,opacity;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.wine-swipe-slot.is-swipe-dragging>.wine-card,
.wine-swipe-slot.is-swipe-transitioning>.wine-card{pointer-events:none}
.wine-swipe-slot.is-swipe-dragging>.wine-card.is-stack-suggestion,
.wine-swipe-slot.is-swipe-transitioning>.wine-card.is-stack-suggestion{animation-play-state:paused!important}
.wine-card.is-stack-suggestion{
  position:relative;
  overflow:hidden;
  border:1px solid transparent!important;
  background:
    linear-gradient(180deg,var(--card2),var(--card)) padding-box,
    linear-gradient(115deg,#78400d,#f6d88a 24%,#b96c19 48%,#ffe7a2 72%,#78400d) border-box!important;
  background-size:auto,260% 100%!important;
  animation:stackSuggestionGoldenGlow 2.8s ease-in-out infinite!important;
}
.stack-suggestion-mark{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:6;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:20px;
  padding:4px 9px 5px;
  border-top:1px solid rgba(231,186,103,.42);
  background:linear-gradient(90deg,rgba(78,30,16,.96),rgba(113,58,16,.92),rgba(66,20,18,.96));
  color:#f4cd7c;
  font-size:.53rem;
  font-weight:950;
  letter-spacing:.14em;
  line-height:1;
  text-align:center;
  text-shadow:0 0 8px rgba(242,187,74,.52);
  pointer-events:none;
}
.wine-card.is-stack-suggestion>.card-body{padding-bottom:27px!important}
.wine-card.is-stack-suggestion>.card-body:has(.cooler-pill){padding-bottom:29px!important}
@keyframes stackSuggestionGoldenGlow{
  0%,100%{background-position:0 0,0% 50%;box-shadow:0 8px 22px rgba(0,0,0,.45),0 0 7px rgba(189,115,24,.45),0 0 13px rgba(228,166,61,.25)}
  50%{background-position:0 0,100% 50%;box-shadow:0 8px 22px rgba(0,0,0,.48),0 0 14px rgba(255,204,96,.88),0 0 29px rgba(205,125,28,.58),inset 0 0 12px rgba(242,190,83,.13)}
}

.stack-alternative-loading{
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  min-height:170px;
  padding:20px;
  border-color:rgba(217,165,80,.74)!important;
  color:#e8c47e;
  text-align:center;
  animation:stackAlternativeLoadingGlow 2.8s ease-in-out infinite!important;
}
.wine-swipe-slot.is-stack-loading>.stack-alternative-loading{
  height:calc(100% - 9px);
  min-height:0;
}
.stack-alternative-loading-disc{
  display:block;
  width:58px;
  height:58px;
  overflow:hidden;
  border:1.5px solid #9f6c2b;
  border-radius:50%;
  box-shadow:0 0 13px rgba(231,174,69,.48);
  animation:stackAlternativeLoadingFloat 3.4s ease-in-out infinite;
}
.stack-alternative-loading-disc img{display:block;width:100%;height:100%;object-fit:cover}
.stack-alternative-loading-copy{display:grid;gap:4px;max-width:290px;margin:0;text-align:center}
.stack-alternative-loading-copy strong{color:#e8c47e;font-family:Georgia,serif;font-size:.82rem;letter-spacing:.06em;line-height:1.15}
.stack-alternative-loading-copy span{display:block;color:#d1bd9d;font-size:.68rem;font-weight:800;line-height:1.35;text-align:center}
@keyframes stackAlternativeLoadingGlow{0%,100%{box-shadow:0 6px 18px rgba(0,0,0,.42),0 0 5px rgba(204,136,36,.3)}50%{box-shadow:0 6px 18px rgba(0,0,0,.46),0 0 17px rgba(244,190,87,.7)}}
@keyframes stackAlternativeLoadingFloat{0%,100%{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-3px);filter:brightness(1.18)}}

.eighty-six-card-mark{
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  font-size:inherit!important;
  text-shadow:none!important;
}
.eighty-six-card-number{
  color:#ff4055;
  font-family:Georgia,serif;
  font-size:clamp(3.6rem,18vw,6.2rem);
  font-weight:800;
  line-height:.76;
  text-shadow:0 0 5px rgba(255,63,79,.84),0 0 15px rgba(229,17,49,.72),0 0 32px rgba(138,0,26,.56);
}
.eighty-six-card-alternative-hint{
  width:min(52vw,200px);
  max-width:64%;
  color:#ff8a22;
  font-family:Georgia,serif;
  font-size:clamp(.74rem,3.2vw,.94rem);
  font-weight:800;
  line-height:1.08;
  letter-spacing:.025em;
  text-align:center;
  text-shadow:0 0 5px rgba(255,140,34,.92),0 0 14px rgba(255,91,12,.74),0 0 26px rgba(146,46,0,.56);
}
.eighty-six-card-alternative-arrow{
  display:block;
  flex:0 0 28px;
  margin-top:-2px;
  width:clamp(68px,18vw,88px);
  height:28px;
  color:#ff9a2e;
  fill:none;
  stroke:currentColor;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 4px rgba(255,151,45,.96)) drop-shadow(0 0 9px rgba(255,91,12,.76));
}

@media(prefers-reduced-motion:reduce){
  .wine-card.is-stack-suggestion,.stack-alternative-loading,.stack-alternative-loading-disc{animation:none!important}
  .wine-card.is-stack-suggestion{box-shadow:0 0 13px rgba(238,184,78,.72)!important}
}

/* WineStack v18.36.1 — report branding, compact 86 titles, and layered Stack character polish. */
.eighty-six-wine-name-row{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
.eighty-six-wine-name-row>strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.eighty-six-wine-name-row>.tag{
  flex:0 0 auto;
  max-width:105px;
  overflow:hidden;
  padding:3px 6px!important;
  border-width:1px!important;
  font-size:.48rem!important;
  line-height:1!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.stack-drawer-head{
  min-height:86px!important;
  padding:0 70px 9px!important;
}
.stack-drawer-head>.drawer-title{
  gap:1px!important;
  transform:translateY(-5px);
}
.stack-title-icon{
  width:48px!important;
  height:48px!important;
}
.stack-drawer-name{
  display:block;
  color:#e4bd77;
  font:800 .65rem/1.1 Georgia,serif;
  letter-spacing:.075em;
  text-align:center;
  text-shadow:0 0 7px rgba(218,151,55,.4);
}

.stack-intro-content>p{display:grid;gap:4px}
.stack-intro-lead{
  display:block;
  width:100%;
  color:#5a1930;
  font-weight:900;
  text-align:center;
}
.stack-intro-details{display:block;text-align:left}

.stack-calculator-title{padding-inline:76px!important}
.stack-calculator-title .stack-calculator-clear{
  position:absolute!important;
  top:50%!important;
  right:8px!important;
  left:auto!important;
  width:54px!important;
  min-width:54px!important;
  max-width:54px!important;
  height:24px!important;
  padding:0 8px!important;
  transform:translateY(-50%)!important;
  border:1px solid rgba(229,190,119,.5)!important;
  border-radius:999px!important;
  background:#2b0913!important;
  color:#e5c284!important;
  font-family:inherit!important;
  font-size:.49rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.06em!important;
}

.stack-message.stack-message-assistant{padding-left:88px!important}
.stack-character-presence{
  position:absolute;
  top:5px;
  left:4px;
  z-index:0;
  display:block;
  width:78px;
  height:122px;
  pointer-events:none;
}
.stack-message-assistant>:not(.stack-character-presence){position:relative;z-index:1}
.stack-character-presence::before,
.stack-character-presence::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:7px;
  border-radius:50%;
  transform:translateX(-50%);
  pointer-events:none;
}
.stack-character-presence::before{
  width:52px;
  height:13px;
  background:radial-gradient(ellipse,rgba(242,182,75,.42) 0%,rgba(204,105,34,.18) 45%,transparent 74%);
  filter:blur(2px);
  animation:stackHoverGlow 4.3s ease-in-out infinite;
}
.stack-character-presence::after{
  width:37px;
  height:7px;
  background:radial-gradient(ellipse,rgba(13,3,7,.64),rgba(75,21,19,.3) 48%,transparent 76%);
  filter:blur(1.5px);
  animation:stackHoverShadow 4.3s ease-in-out infinite;
}
.stack-message-character{
  position:absolute!important;
  top:0!important;
  left:8px!important;
  z-index:2;
  width:60px!important;
  height:118px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 5px 5px rgba(10,3,5,.48)) drop-shadow(0 0 7px rgba(229,166,70,.31))!important;
  animation:stackCharacterHoverStrong 4.3s ease-in-out infinite!important;
}
.stack-message-thread{
  position:absolute;
  top:0;
  left:0;
  z-index:1;
  width:78px;
  height:120px;
  object-fit:contain;
  filter:drop-shadow(0 0 4px rgba(186,20,54,.42));
  animation:stackThreadFloat 6.1s ease-in-out infinite;
}
@keyframes stackCharacterHoverStrong{
  0%,100%{transform:translateY(1px) rotate(-.65deg) scaleX(.97)}
  50%{transform:translateY(-4px) rotate(.75deg) scaleX(.97)}
}
@keyframes stackThreadFloat{
  0%,100%{transform:translate3d(-1px,1px,0) rotate(-1.2deg) scale(.98);filter:drop-shadow(0 0 3px rgba(186,20,54,.35))}
  50%{transform:translate3d(2px,-3px,0) rotate(1.4deg) scale(1.025);filter:drop-shadow(0 0 7px rgba(230,41,76,.58))}
}
@keyframes stackHoverGlow{
  0%,100%{opacity:.58;transform:translateX(-50%) scale(.9)}
  50%{opacity:1;transform:translateX(-50%) scale(1.12)}
}
@keyframes stackHoverShadow{
  0%,100%{opacity:.76;transform:translateX(-50%) scale(1.08)}
  50%{opacity:.42;transform:translateX(-50%) scale(.82)}
}

@media print{
  html.report-printing,html.report-printing body,body.report-printing,body.report-printing>main,
  body.report-printing>main>.print-results-sheet{
    min-height:0!important;
    height:auto!important;
  }
  .print-report-heading{align-items:center!important;gap:13px!important}
  .print-report-logo-frame{
    display:block!important;
    flex:0 0 62px;
    width:62px;
    height:62px;
    overflow:hidden;
    border:1.25px solid #b8873e;
    border-radius:22%;
    background:#451020;
  }
  .print-report-logo{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
  }
  .print-results-sheet h1{color:#451020!important}
}

@media(prefers-reduced-motion:reduce){
  .stack-message-character,.stack-message-thread,.stack-character-presence::before,.stack-character-presence::after{animation:none!important}
}

/* WineStack v18.42.0 — tap-to-flip wine tech sheets. */
.wine-card.has-tech-sheet{cursor:pointer}
.wine-card-details-hint{
  position:absolute;
  right:10px;
  bottom:8px;
  z-index:7;
  width:100px;
  color:#c8893f;
  font-family:Georgia,serif;
  font-size:.62rem;
  font-style:italic;
  font-weight:950;
  letter-spacing:.045em;
  line-height:1;
  text-align:center;
  pointer-events:none;
  -webkit-font-smoothing:antialiased;
  text-shadow:0 1px 1px rgba(0,0,0,.88),0 0 4px rgba(212,142,61,.34);
  animation:wineTechSheetHintTwinkle 9.6s ease-in-out infinite;
}
.wine-card.has-tech-sheet.is-stack-suggestion>.wine-card-details-hint{bottom:27px}
.wine-card.is-tech-sheet-source,
.stack-wine-card.is-tech-sheet-source{visibility:hidden!important}
@keyframes wineTechSheetHintTwinkle{
  0%,22%,48%,100%{color:#bd7d34;opacity:.88;text-shadow:0 1px 1px rgba(0,0,0,.88),0 0 4px rgba(205,130,47,.3)}
  34%{color:#f0bd67;opacity:1;text-shadow:0 1px 1px rgba(0,0,0,.8),0 0 6px rgba(243,188,92,.72),0 0 13px rgba(181,103,28,.36)}
  62%,84%{color:#c98b42;opacity:.92;text-shadow:0 1px 1px rgba(0,0,0,.86),0 0 5px rgba(219,147,61,.42)}
  73%{color:#e2aa55;opacity:.98;text-shadow:0 1px 1px rgba(0,0,0,.82),0 0 6px rgba(237,174,77,.6),0 0 11px rgba(174,99,27,.28)}
}

body.wine-tech-sheet-open{
  position:fixed!important;
  left:0;
  right:0;
  width:100%;
  overflow:hidden!important;
}
.wine-tech-sheet-viewer[hidden]{display:none!important}
.wine-tech-sheet-viewer{
  position:fixed;
  inset:0;
  z-index:2147482500;
  overflow:hidden;
  pointer-events:none;
  perspective:1500px;
  isolation:isolate;
}
.wine-tech-sheet-viewer.is-active{pointer-events:auto}
.wine-tech-sheet-viewer.is-animating{touch-action:none}
.wine-tech-sheet-shade{
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center,rgba(43,12,20,.88),rgba(5,2,3,.97));
  opacity:0;
}
.wine-tech-sheet-shell{
  position:fixed;
  overflow:hidden;
  border:1px solid rgba(188,139,72,.7);
  background:#1a0a0f;
  box-shadow:0 18px 54px rgba(0,0,0,.72),0 0 25px rgba(174,108,36,.2);
  transform:translateZ(0);
  contain:layout paint style;
  will-change:transform,left,top,width,height,border-radius;
}
.wine-tech-sheet-inner{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  will-change:transform;
}
.wine-tech-sheet-face{
  position:absolute;
  inset:0;
  overflow:hidden;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.wine-tech-sheet-front{background:#151113}
.wine-tech-sheet-front>.wine-card{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border-radius:13px!important;
  box-shadow:none!important;
  animation:none!important;
  contain:layout paint style;
}
.wine-tech-sheet-front>.stack-wine-card{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border-radius:13px!important;
  box-shadow:none!important;
  animation:none!important;
  contain:layout paint style;
}
.wine-tech-sheet-front-copy,.wine-tech-sheet-front-copy *{
  animation:none!important;
  transition:none!important;
}
.wine-tech-sheet-back{
  transform:rotateY(180deg);
  background:
    radial-gradient(circle at 50% 48%,rgba(135,58,73,.5),rgba(34,7,15,.25) 46%,rgba(8,2,5,.9) 100%),
    linear-gradient(180deg,#59142a 0,#2b0915 48%,#14050a 100%);
}
.wine-tech-sheet-chrome{
  position:fixed;
  inset:0;
  z-index:4;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  opacity:0;
  pointer-events:none;
  will-change:opacity;
}
.wine-tech-sheet-viewer.is-expanded:not(.is-animating) .wine-tech-sheet-chrome{pointer-events:auto}
.wine-tech-sheet-viewer.is-animating .wine-tech-sheet-chrome{pointer-events:none}
.wine-tech-sheet-viewer.is-animating .wine-tech-sheet-scroller{overflow:hidden}
.wine-tech-sheet-viewer.is-animating .wine-tech-sheet-pages{pointer-events:none}
.wine-tech-sheet-viewer.is-expanded .wine-tech-sheet-chrome{
  transform:translateZ(0);
}
.wine-tech-sheet-toolbar{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  gap:8px;
  min-height:calc(58px + env(safe-area-inset-top));
  padding:calc(7px + env(safe-area-inset-top)) 10px 7px;
  border-bottom:1px solid rgba(203,153,82,.58);
  background:linear-gradient(180deg,rgba(85,18,38,.99),rgba(43,8,18,.99));
  box-shadow:0 4px 14px rgba(0,0,0,.36);
}
.wine-tech-sheet-back-button,.wine-tech-sheet-share-button{
  display:grid;
  place-items:center;
  width:42px;
  min-height:42px;
  padding:0;
  border:1px solid transparent!important;
  border-radius:50%;
  background:linear-gradient(#171314,#171314) padding-box,var(--v172-metal-line) border-box!important;
  color:#d4a65d;
  box-shadow:inset 0 1px rgba(255,232,180,.08),0 3px 11px rgba(0,0,0,.35);
}
.wine-tech-sheet-actions{position:relative;justify-self:end;width:42px}
.wine-tech-sheet-action-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:8;
  display:grid;
  width:154px;
  overflow:hidden;
  padding:4px;
  border:1px solid rgba(204,155,82,.78);
  border-radius:12px;
  background:linear-gradient(155deg,rgba(78,18,36,.99),rgba(26,7,13,.99));
  box-shadow:0 12px 28px rgba(0,0,0,.58),inset 0 1px rgba(255,231,180,.09);
}
.wine-tech-sheet-action-menu[hidden]{display:none!important}
.wine-tech-sheet-action-menu button{
  display:grid;
  grid-template-columns:23px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:43px;
  padding:7px 9px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#dfbc7c;
  font-size:.57rem;
  font-weight:950;
  letter-spacing:.08em;
  text-align:left;
}
.wine-tech-sheet-action-menu button+button{border-top:1px solid rgba(201,153,83,.3);border-radius:0 0 8px 8px}
.wine-tech-sheet-action-menu button:active{background:rgba(183,110,58,.18)}
.wine-tech-sheet-action-menu button:focus-visible{outline:2px solid #e8c47e;outline-offset:-2px}
.wine-tech-sheet-action-menu svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wine-tech-sheet-back-button svg,.wine-tech-sheet-share-button svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.wine-tech-sheet-back-button:focus-visible,.wine-tech-sheet-share-button:focus-visible{outline:2px solid #e8c47e;outline-offset:2px}
.wine-tech-sheet-back-button:active,.wine-tech-sheet-share-button:active{transform:scale(.95)}
.wine-tech-sheet-share-button:disabled{opacity:.58}
.wine-tech-sheet-heading{display:grid;gap:2px;min-width:0;text-align:center}
.wine-tech-sheet-heading strong{
  overflow:hidden;
  color:#e2c490;
  font-family:Georgia,serif;
  font-size:.72rem;
  font-weight:800;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.wine-tech-sheet-heading span{color:#9f7946;font-size:.5rem;font-weight:950;letter-spacing:.2em;line-height:1}
.wine-tech-sheet-document{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border-top:1px solid rgba(209,159,82,.36);
  background:
    radial-gradient(circle at 50% 46%,rgba(102,37,54,.24),rgba(15,4,8,.74) 61%,rgba(4,1,2,.94) 100%),
    linear-gradient(rgba(31,5,12,.76),rgba(7,2,4,.9)),
    url("../assets/winestack-backsplash.jpg") center/cover no-repeat;
  box-shadow:inset 0 12px 30px rgba(0,0,0,.38);
  isolation:isolate;
}
.wine-tech-sheet-document::after{
  content:"";
  position:absolute;
  inset:6px;
  z-index:5;
  border:1px solid rgba(197,143,65,.26);
  border-radius:10px;
  box-shadow:inset 0 0 24px rgba(0,0,0,.44);
  pointer-events:none;
}
.wine-tech-sheet-scroller{
  position:absolute;
  inset:0;
  z-index:2;
  overflow:auto;
  padding:10px 10px calc(12px + env(safe-area-inset-bottom));
  overscroll-behavior:contain;
  touch-action:pan-x pan-y;
  -webkit-overflow-scrolling:touch;
  scrollbar-color:#a8743d rgba(12,3,6,.65);
  scrollbar-width:thin;
}
.wine-tech-sheet-scroller:focus-visible{outline:2px solid rgba(232,196,126,.9);outline-offset:-4px}
.wine-tech-sheet-pages{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:calc(100% - 20px);
  min-height:100%;
  margin:0 auto;
  padding:10px 0;
  opacity:0;
  box-sizing:border-box;
  transition:opacity .42s ease;
  transform:translateZ(0);
  transform-origin:50% 50%;
  will-change:transform;
}
.wine-tech-sheet-pages.is-pinching{transition:none}
.wine-tech-sheet-pages.is-ready{opacity:1}
.wine-tech-sheet-page{
  position:relative;
  flex:0 0 auto;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(214,171,101,.82);
  border-radius:2px;
  background:#fffdf9;
  box-shadow:0 12px 34px rgba(0,0,0,.64),0 0 0 1px rgba(70,20,29,.42);
  transform:translateZ(0);
}
.wine-tech-sheet-page::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    radial-gradient(ellipse at 50% 47%,rgba(213,190,144,.018) 42%,rgba(190,151,88,.055) 76%,rgba(135,89,43,.12) 100%),
    linear-gradient(rgba(220,200,157,.035),rgba(205,178,123,.045));
  mix-blend-mode:multiply;
  pointer-events:none;
}
.wine-tech-sheet-page canvas{
  display:block;
  width:100%;
  height:100%;
  background:#fffdf9;
  filter:contrast(1.12) brightness(.975) saturate(.94);
  image-rendering:auto;
}
.wine-tech-sheet-page img{
  display:block;
  width:100%;
  height:100%;
  background:#fffdf9;
  filter:contrast(1.12) brightness(.975) saturate(.94);
  image-rendering:auto;
  user-select:none;
  -webkit-user-drag:none;
}

@media print{
  html.tech-sheet-printing,html.tech-sheet-printing body{
    position:static!important;
    inset:auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }
  body.tech-sheet-printing>*{display:none!important;visibility:hidden!important}
  body.tech-sheet-printing>.wine-tech-sheet-viewer{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
    perspective:none!important;
    isolation:auto!important;
  }
  body.tech-sheet-printing .wine-tech-sheet-shade,
  body.tech-sheet-printing .wine-tech-sheet-shell,
  body.tech-sheet-printing .wine-tech-sheet-toolbar,
  body.tech-sheet-printing .wine-tech-sheet-status,
  body.tech-sheet-printing .wine-tech-sheet-loading,
  body.tech-sheet-printing .wine-tech-sheet-frame{display:none!important}
  body.tech-sheet-printing .wine-tech-sheet-chrome,
  body.tech-sheet-printing .wine-tech-sheet-document,
  body.tech-sheet-printing .wine-tech-sheet-scroller,
  body.tech-sheet-printing .wine-tech-sheet-pages{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    opacity:1!important;
    transform:none!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  body.tech-sheet-printing .wine-tech-sheet-page{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    box-sizing:border-box!important;
    width:7.62in!important;
    height:9.5in!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:page!important;
    page-break-after:always!important;
  }
  body.tech-sheet-printing .wine-tech-sheet-page:last-child{break-after:auto!important;page-break-after:auto!important}
  body.tech-sheet-printing .wine-tech-sheet-page::after{display:none!important}
  body.tech-sheet-printing .wine-tech-sheet-page canvas{
    display:block!important;
    flex:0 1 auto!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:auto!important;
    object-fit:contain!important;
    filter:none!important;
  }
  body.tech-sheet-printing .wine-tech-sheet-page img{
    display:block!important;
    flex:0 1 auto!important;
    width:auto!important;
    height:auto!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:auto!important;
    object-fit:contain!important;
    filter:none!important;
  }
}
.wine-tech-sheet-frame{
  position:absolute;
  inset:10px;
  z-index:2;
  width:calc(100% - 20px);
  height:calc(100% - 20px);
  border:1px solid rgba(214,171,101,.82);
  border-radius:3px;
  background:#fffdf9;
  opacity:0;
  transition:opacity .42s ease;
  filter:contrast(1.08) brightness(.98);
}
.wine-tech-sheet-frame[hidden]{display:none!important}
.wine-tech-sheet-frame.is-loaded{opacity:1}
.wine-tech-sheet-loading{
  position:absolute;
  left:50%;
  top:50%;
  z-index:4;
  display:grid;
  place-content:center;
  justify-items:center;
  gap:12px;
  width:min(250px,calc(100% - 52px));
  min-height:118px;
  padding:18px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(205,158,88,.68);
  border-radius:14px;
  color:#5a2832;
  background:linear-gradient(180deg,rgba(244,236,216,.97),rgba(208,187,150,.96));
  box-shadow:0 12px 32px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.58);
  font-size:.62rem;
  font-weight:950;
  letter-spacing:.12em;
}
.wine-tech-sheet-loading[hidden]{display:none}
.wine-tech-sheet-loading span{
  width:34px;
  height:34px;
  border:2px solid rgba(97,45,48,.18);
  border-top-color:#9c672d;
  border-radius:50%;
  animation:wineTechSheetLoadingSpin 1.6s linear infinite;
}
.wine-tech-sheet-status{
  position:absolute;
  left:50%;
  bottom:calc(15px + env(safe-area-inset-bottom));
  z-index:7;
  max-width:calc(100% - 36px);
  margin:0;
  padding:8px 12px;
  transform:translateX(-50%);
  border:1px solid rgba(205,158,88,.56);
  border-radius:999px;
  background:rgba(35,8,15,.92);
  color:#d7b778;
  font-size:.52rem;
  font-weight:950;
  letter-spacing:.08em;
  text-align:center;
  white-space:nowrap;
  box-shadow:0 5px 18px rgba(0,0,0,.42);
}
.wine-tech-sheet-status:empty{display:none}
@keyframes wineTechSheetLoadingSpin{to{transform:rotate(360deg)}}

@media(max-width:430px){
  .wine-card-details-hint{right:10px;width:100px;font-size:.6rem}
  .wine-tech-sheet-toolbar{grid-template-columns:42px minmax(0,1fr) 42px;padding-left:8px;padding-right:8px}
  .wine-tech-sheet-back-button,.wine-tech-sheet-share-button{width:40px;min-height:40px}
  .wine-tech-sheet-scroller{padding:8px 8px calc(10px + env(safe-area-inset-bottom))}
  .wine-tech-sheet-pages{width:calc(100% - 16px);padding:8px 0;gap:11px}
  .wine-tech-sheet-document::after{inset:4px;border-radius:8px}
}
@media(prefers-reduced-motion:reduce){
  .wine-card-details-hint,.wine-tech-sheet-loading span{animation:none!important}
  .wine-card-details-hint{opacity:.82}
  .wine-tech-sheet-frame,.wine-tech-sheet-pages{transition:none}
}

/* WineStack v18.50.0 — Stack prompt console, presence motion, and search-style response cards. */
:root{
  --stack-visual-top:0px;
  --stack-visual-height:100dvh;
  --stack-composer-safe:var(--safe-bottom);
  --stack-summon-blur:6px;
  --stack-summon-scrim:.276;
  --stack-summon-ms:1400ms;
  --stack-summon-smoke-scale:4.5;
  --stack-summon-size:170px;
  --stack-float-cycle:3.9s;
  --stack-composer-height:112px;
}

.party-planner-menu-option{
  background:
    radial-gradient(circle at 18% 20%,rgba(214,159,78,.14),transparent 35%) padding-box,
    linear-gradient(155deg,#60162e 0%,#3a0d1d 58%,#22070f 100%) padding-box,
    var(--v172-metal-line) border-box!important;
}
.party-planner-menu-icon,
.party-planner-title-icon{
  display:grid!important;
  place-items:center!important;
  color:#e2bc79!important;
}
.party-planner-menu-icon svg,
.party-planner-title-icon svg{
  width:72%!important;
  height:72%!important;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.inventory-drawer-open section.drawer-party-planner{
  padding-bottom:calc(10px + var(--safe-bottom))!important;
}
.party-planner-drawer-head{
  position:relative!important;
  min-height:76px!important;
  padding:0 70px 6px!important;
}
.party-planner-drawer-head>.drawer-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:3px!important;
  color:#e4bd77!important;
  font:850 .67rem/1.1 Georgia,serif!important;
  letter-spacing:.075em!important;
}
.party-planner-title-icon{
  width:44px!important;
  height:40px!important;
  border:1px solid #bd8741;
  border-radius:12px;
  background:radial-gradient(circle at 38% 28%,#701d38,#3d0d1e 64%,#21070f);
  box-shadow:0 0 12px rgba(211,146,58,.3),inset 0 1px rgba(255,236,194,.2);
}
.drawer-head>.party-planner-drawer-close{
  position:absolute;
  top:50%!important;
  right:13px!important;
  width:42px!important;
  height:42px!important;
  transform:translateY(-50%)!important;
  border:1px solid transparent!important;
  background:linear-gradient(#151314,#151314) padding-box,var(--v172-metal-line) border-box!important;
  color:#c49a69!important;
}
section.drawer.menu-utility-drawer>.party-planner-drawer-body{
  display:grid!important;
  gap:10px;
  padding:0 10px calc(12px + var(--safe-bottom))!important;
}
.party-planner-intro-window,
.party-planner-calculator-window,
.party-planner-drawer .stack-pdr-window{margin:0!important}
.party-planner-intro-content{
  padding:11px 13px!important;
  color:#5c453a;
  font-size:.7rem;
  font-weight:780;
  line-height:1.42;
  text-align:center;
}
.party-planner-drawer .stack-calculator-title{padding-inline:76px!important}
.party-planner-drawer .stack-calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Party Planner calendar-theme surface. The calculator layout and behavior stay
   unchanged; this only shares the Calendar's burgundy, brass, and serif system. */
section.drawer.drawer-party-planner{
  --planner-font:"WineStack EB Garamond","EB Garamond",Garamond,"Iowan Old Style",Georgia,serif;
  --planner-ink:#ead9bd;
  --planner-muted:#9e8b81;
  --planner-brass:#9c6934;
  --planner-brass-light:#e0b968;
  --planner-line:rgba(173,117,52,.52);
  --planner-cell:#421725;
  --planner-cell-deep:#2a1119;
  --planner-black:#211018;
  background:radial-gradient(circle at 50% 0%,rgba(109,35,55,.28),transparent 42%),linear-gradient(180deg,#3a1522 0%,#29111b 52%,#1c0d13 100%)!important;
  border-top-color:rgba(176,119,53,.56)!important;
  color:var(--planner-ink);
  font-family:var(--planner-font);
  box-shadow:0 -15px 34px rgba(0,0,0,.62),inset 0 0 0 1px rgba(190,130,57,.16)!important;
}
.party-planner-drawer .handle{
  background:linear-gradient(90deg,rgba(94,59,24,.2),#b68143,rgba(94,59,24,.2));
  box-shadow:0 0 6px rgba(204,146,66,.18);
}
.party-planner-drawer-head>.drawer-title{
  color:#d8b36c!important;
  font-family:var(--planner-font)!important;
  font-size:.78rem!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
  text-shadow:0 0 7px rgba(205,151,65,.16);
}
.party-planner-title-icon{
  border-color:rgba(174,117,52,.58)!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,#35141f,#201017)!important;
  box-shadow:0 0 7px rgba(201,139,57,.14)!important;
}
.drawer-head>.party-planner-drawer-close{
  border-color:rgba(173,117,52,.46)!important;
  background:#211017!important;
  color:#d0ad6c!important;
  box-shadow:none!important;
}
section.drawer.menu-utility-drawer>.party-planner-drawer-body{
  gap:0!important;
  padding:0 10px calc(12px + var(--safe-bottom))!important;
  border:1px solid var(--planner-line);
  border-radius:18px 18px 0 0;
  background:var(--planner-black)!important;
  box-shadow:0 0 0 1px rgba(49,28,14,.22),0 0 16px rgba(178,117,45,.06)!important;
  overflow-x:hidden;
}
.party-planner-drawer .drawer-subwindow{
  border:0!important;
  border-bottom:1px solid var(--planner-line)!important;
  border-radius:0!important;
  background:var(--planner-black)!important;
  box-shadow:none!important;
}
.party-planner-drawer .drawer-subwindow:last-child{border-bottom:0!important}
.party-planner-drawer .subwindow-title{
  border-bottom:1px solid var(--planner-line)!important;
  background:linear-gradient(180deg,#34131f,#201017)!important;
  color:#d8b36c!important;
  font-family:var(--planner-font)!important;
  font-size:.76rem!important;
  font-weight:600!important;
  letter-spacing:.12em!important;
  text-shadow:0 0 6px rgba(223,174,85,.1);
}
.party-planner-drawer .subwindow-content{
  background:linear-gradient(180deg,var(--planner-cell) 0%,#35131f 55%,var(--planner-cell-deep) 100%)!important;
  color:var(--planner-ink)!important;
}
.party-planner-intro-content{
  color:#c6ae89!important;
  font-family:var(--planner-font);
  font-size:.75rem!important;
  font-weight:500!important;
  letter-spacing:.015em;
}
.party-planner-drawer .stack-calculator-title .stack-calculator-clear{
  border-color:rgba(173,117,52,.5)!important;
  border-radius:3px!important;
  background:#211017!important;
  color:#cba762!important;
  font-family:var(--planner-font)!important;
  font-weight:600!important;
  box-shadow:none!important;
}
.party-planner-drawer .stack-calculator-grid label,
.party-planner-drawer .stack-budget-field>label{
  color:#c8a25e!important;
  font-family:var(--planner-font);
  font-size:.63rem;
  font-weight:600;
  letter-spacing:.045em;
}
.party-planner-drawer .stack-calculator-grid,
.party-planner-drawer .stack-budget-output-grid{
  gap:0!important;
  border-top:1px solid var(--planner-line);
  border-left:1px solid var(--planner-line);
  background:var(--planner-black);
}
.party-planner-drawer .stack-calculator-grid>label,
.party-planner-drawer .stack-calculator-grid>.stack-budget-field,
.party-planner-drawer .stack-budget-output-grid>.stack-budget-field{
  gap:5px;
  padding:6px;
  border-right:1px solid var(--planner-line);
  border-bottom:1px solid var(--planner-line);
  background:linear-gradient(180deg,#451826 0%,#32131e 58%,#271017 100%);
}
.party-planner-drawer .stack-calculator-grid input,
.party-planner-drawer .stack-calculator-grid select,
.party-planner-drawer .stack-budget-output-grid input,
.party-planner-drawer .stack-pdr-results-grid input{
  border-color:rgba(158,103,43,.56)!important;
  border-radius:2px!important;
  background:linear-gradient(180deg,#2e111a,#1a0c12)!important;
  color:#e6d2b0!important;
  font-family:var(--planner-font)!important;
  font-size:16px!important;
  font-weight:600!important;
  box-shadow:inset 0 1px rgba(255,255,255,.018)!important;
}
.party-planner-drawer .stack-calculator-grid input:focus,
.party-planner-drawer .stack-calculator-grid select:focus,
.party-planner-drawer .stack-budget-output-grid input:focus{
  border-color:#ddb866!important;
  box-shadow:0 0 0 1px rgba(221,184,102,.28),0 0 9px rgba(226,182,92,.22)!important;
}
.party-planner-drawer .stack-budget-field.is-locked input{
  border-color:rgba(158,103,43,.56)!important;
  background:linear-gradient(180deg,#35131f,#201017)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.018)!important;
}
.party-planner-drawer .stack-calculator-grid input[data-calculated="true"],
.party-planner-drawer .stack-budget-output-grid input[data-calculated="true"],
.party-planner-drawer .stack-calculator-grid input[readonly],
.party-planner-drawer .stack-budget-output-grid input[readonly],
.party-planner-drawer .stack-pdr-results-grid input[readonly]{
  border-color:rgba(221,184,102,.72)!important;
  background:linear-gradient(180deg,#561d30,#361320)!important;
  color:#edca7d!important;
  box-shadow:0 0 7px rgba(230,184,91,.16)!important;
}
.party-planner-drawer .stack-budget-lock{
  border-color:rgba(156,102,43,.56)!important;
  border-radius:3px!important;
  background:#211017!important;
  color:#b7955e!important;
  box-shadow:none!important;
}
.party-planner-drawer .stack-budget-lock[aria-pressed="true"]{
  border-color:#d8b15f!important;
  background:linear-gradient(180deg,#3b1120,#210a13)!important;
  color:#e9c574!important;
  box-shadow:0 0 5px rgba(224,175,79,.12)!important;
  animation:partyPlannerLockPulse 1.15s ease-out 2;
}
.party-planner-drawer .stack-budget-lock:focus-visible{
  outline:1px solid #f0cc7c;
  outline-offset:2px;
}
@keyframes partyPlannerLockPulse{
  0%,100%{filter:drop-shadow(0 0 1px rgba(224,175,79,.18))}
  45%{filter:drop-shadow(0 0 5px rgba(244,207,120,.82)) drop-shadow(0 0 11px rgba(157,47,75,.46))}
}
.party-planner-drawer .stack-budget-scale{
  --budget-scale-fill:0%;
  --budget-scale-position:2%;
  --budget-scale-glow:rgba(242,198,99,.76);
  width:calc(66.666% - 2px);
  margin:8px auto 2px;
  padding:6px 8px 8px;
  border:1px solid rgba(173,117,52,.48);
  border-radius:3px;
  background:linear-gradient(180deg,rgba(79,27,43,.9),rgba(38,15,23,.96));
  color:#d5b36d;
  box-shadow:inset 0 1px rgba(255,239,198,.025),0 3px 9px rgba(0,0,0,.16);
}
.party-planner-drawer .stack-budget-scale-head{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:5px;
  margin-bottom:5px;
  font-family:var(--planner-font);
  font-size:.51rem;
  font-weight:650;
  letter-spacing:.07em;
}
.party-planner-drawer .stack-budget-scale-head strong{
  color:#efd28e;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.055em;
  text-align:center;
  white-space:nowrap;
}
.party-planner-drawer .stack-budget-scale-head span:last-child{text-align:right}
.party-planner-drawer .stack-budget-scale-track{
  position:relative;
  height:8px;
  border:1px solid rgba(141,91,38,.66);
  border-radius:999px;
  background:linear-gradient(90deg,#231016 0%,#38151f 48%,#5b2a28 76%,#a16e39 100%);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.72),0 0 4px rgba(197,139,55,.08);
}
.party-planner-drawer .stack-budget-scale-track::after{
  content:"";
  position:absolute;
  top:-3px;
  right:1px;
  bottom:-3px;
  width:1px;
  background:#e0b968;
  box-shadow:0 0 5px rgba(224,185,104,.42);
}
.party-planner-drawer .stack-budget-scale-fill{
  position:absolute;
  inset:0 auto 0 0;
  width:var(--budget-scale-fill);
  border-radius:inherit;
  background:linear-gradient(90deg,#7a3d25 0%,#b77835 58%,#e0b968 100%);
  box-shadow:0 0 5px rgba(224,178,83,.5);
  transition:width .62s cubic-bezier(.22,.8,.28,1),background .28s ease,box-shadow .28s ease;
}
.party-planner-drawer .stack-budget-scale-marker{
  position:absolute;
  top:50%;
  left:var(--budget-scale-position);
  z-index:2;
  width:9px;
  height:9px;
  border:1px solid #f0d18d;
  background:#6d2338;
  box-shadow:0 0 0 1px rgba(41,9,18,.72),0 0 7px rgba(236,190,91,.52);
  transform:translate(-50%,-50%) rotate(45deg);
  transition:left .62s cubic-bezier(.22,.8,.28,1),background .28s ease,box-shadow .28s ease;
}
.party-planner-drawer .stack-budget-scale.is-empty{opacity:.7}
.party-planner-drawer .stack-budget-scale.is-empty .stack-budget-scale-marker{opacity:0}
.party-planner-drawer .stack-budget-scale.is-over{
  --budget-scale-glow:rgba(237,45,78,.86);
  border-color:rgba(210,53,79,.72);
  box-shadow:inset 0 1px rgba(255,239,198,.02),0 0 10px rgba(208,34,67,.17);
}
.party-planner-drawer .stack-budget-scale.is-over .stack-budget-scale-head strong{color:#ff899c}
.party-planner-drawer .stack-budget-scale.is-over .stack-budget-scale-fill{
  background:linear-gradient(90deg,#74182d 0%,#b9183a 58%,#e62d4d 100%);
  box-shadow:0 0 7px rgba(229,39,72,.72),0 0 13px rgba(179,20,52,.35);
}
.party-planner-drawer .stack-budget-scale.is-over .stack-budget-scale-marker{
  border-color:#ffc0ca;
  background:#b51134;
  box-shadow:0 0 0 1px rgba(55,6,17,.8),0 0 9px rgba(237,45,78,.86);
}
.party-planner-drawer .stack-budget-scale.is-moving .stack-budget-scale-fill,
.party-planner-drawer .stack-budget-scale.is-moving .stack-budget-scale-marker{
  animation:partyPlannerBudgetScaleGlow .72s ease-in-out;
}
@keyframes partyPlannerBudgetScaleGlow{
  0%,100%{filter:brightness(1) drop-shadow(0 0 0 transparent)}
  48%{filter:brightness(1.24) drop-shadow(0 0 5px var(--budget-scale-glow))}
}
@media(prefers-reduced-motion:reduce){
  .party-planner-drawer .stack-budget-lock[aria-pressed="true"],
  .party-planner-drawer .stack-budget-scale.is-moving .stack-budget-scale-fill,
  .party-planner-drawer .stack-budget-scale.is-moving .stack-budget-scale-marker{animation:none}
  .party-planner-drawer .stack-budget-scale-fill,
  .party-planner-drawer .stack-budget-scale-marker{transition:none}
}
.party-planner-drawer .stack-budget-note,
.party-planner-drawer .stack-pdr-note{
  color:#a18f85!important;
  font-family:var(--planner-font);
  font-size:.63rem;
  font-weight:500;
}
.party-planner-drawer .stack-calculator-status{
  color:#c9a761!important;
  font-family:var(--planner-font);
  font-size:.63rem;
  font-weight:600;
}
.party-planner-drawer .stack-calculator-status[data-state="error"]{color:#ef9aa7!important}
.party-planner-drawer .stack-calculator-summary{
  padding:0!important;
  border-color:var(--planner-line)!important;
  border-radius:3px!important;
  background:var(--planner-black)!important;
  color:#dfcaa5!important;
  box-shadow:none!important;
  overflow:hidden;
}
.party-planner-drawer .stack-calculator-summary.is-over{
  border-color:rgba(164,54,78,.68)!important;
  background:#17070d!important;
  color:#e6b9c1!important;
}
.party-planner-drawer .stack-calculator-summary>strong{
  margin:0!important;
  padding:7px 8px;
  border-bottom:1px solid var(--planner-line);
  background:#281019;
  color:#d8b36c;
  font-family:var(--planner-font);
  font-size:.72rem;
  font-weight:600;
}
.party-planner-drawer .stack-calculator-summary small{
  color:#b58f51;
  font-family:var(--planner-font);
  font-size:.56rem;
  font-weight:600;
}
.party-planner-drawer .stack-calculator-summary b{
  color:#e8d6bb;
  font-family:var(--planner-font);
  font-size:.78rem;
  font-weight:600;
}
.party-planner-drawer .stack-calculator-summary>div{gap:0!important}
.party-planner-drawer .stack-calculator-summary span{
  min-height:45px;
  padding:6px 4px;
  border-right:1px solid var(--planner-line);
  border-bottom:1px solid var(--planner-line);
  background:linear-gradient(180deg,#421725,#2b111a);
}
.party-planner-drawer .stack-calculator-summary span:nth-child(3n){border-right:0}
.party-planner-drawer .stack-calculator-summary span:nth-last-child(-n+3){border-bottom:0}
.party-planner-drawer .stack-calculate-button{
  border-color:rgba(173,117,52,.62)!important;
  border-radius:2px!important;
  background:linear-gradient(180deg,#421524,#281019) padding-box!important;
  color:#dcb96f!important;
  font-family:var(--planner-font);
  font-size:.7rem;
  font-weight:600;
  box-shadow:none!important;
}

/* Party Planner field primitives for the calculator's label/wrapper structure. */
.party-planner-drawer .stack-budget-field{display:grid;align-content:start;gap:4px;min-width:0}
.party-planner-drawer .stack-budget-input-wrap{position:relative;min-width:0}
.party-planner-drawer .stack-budget-input-wrap input{width:100%;min-width:0}
.party-planner-drawer .stack-budget-calculator input[type="number"]{-moz-appearance:textfield;appearance:textfield}
.party-planner-drawer .stack-budget-calculator input[type="number"]::-webkit-inner-spin-button,
.party-planner-drawer .stack-budget-calculator input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* WineStack Party Planner v2 — one icon, one reset point, and a constraint-aware budget surface. */
.party-planner-menu-icon img,
.party-planner-title-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.party-planner-menu-icon,
.party-planner-title-icon{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.party-planner-title-icon img{width:100%;height:100%}
.party-planner-drawer-head>.drawer-title{font-size:.82rem!important;letter-spacing:.12em!important}
.party-planner-drawer-head>.drawer-title>span:last-child{white-space:nowrap}
.party-planner-title-icon{
  width:48px!important;
  height:44px!important;
}
.party-planner-reset{
  position:absolute;
  top:50%;
  left:13px;
  z-index:2;
  min-width:52px;
  height:34px;
  padding:0 9px;
  transform:translateY(-50%);
  border:1px solid rgba(173,117,52,.56);
  border-radius:999px;
  background:linear-gradient(180deg,#35121d,#1b0a10);
  color:#d7b26b;
  font:700 .6rem/1 var(--planner-font);
  letter-spacing:.11em;
  box-shadow:inset 0 1px rgba(255,236,194,.04),0 0 7px rgba(190,123,42,.08);
}
.party-planner-reset:active{transform:translateY(-50%) scale(.96)}
.party-planner-reset:focus-visible{outline:1px solid #f0cc7c;outline-offset:2px}
.party-planner-drawer .stack-calculator-title{
  justify-content:center!important;
  padding-inline:10px!important;
  text-align:center;
}
.party-planner-drawer .stack-calculator-content{padding:9px!important}
.party-planner-drawer .stack-budget-primary-grid{
  grid-template-columns:minmax(72px,.75fr) minmax(0,1.12fr) minmax(0,1.13fr)!important;
}
.party-planner-drawer .stack-budget-service-grid{
  grid-template-columns:minmax(68px,.75fr) minmax(0,1.25fr) minmax(68px,.75fr) minmax(0,1.25fr)!important;
  margin-top:7px;
}
.party-planner-drawer .stack-budget-total-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  margin-top:7px;
}
.party-planner-drawer .stack-budget-manual-field{
  background:linear-gradient(180deg,#521b2d 0%,#3b1422 58%,#2d1019 100%)!important;
}
.party-planner-drawer .stack-budget-manual-field input{
  border-color:rgba(210,157,76,.7)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 0 6px rgba(209,143,56,.08)!important;
}
.party-planner-drawer .stack-budget-field.is-auto input:not([readonly]){
  color:#d9c5a3!important;
  font-style:italic;
}
.party-planner-drawer .stack-budget-field.is-auto input:not([readonly])::placeholder{color:#9c897b}
.party-planner-drawer .stack-budget-field.is-manual-override{
  background:linear-gradient(180deg,#4a1728 0%,#35121f 58%,#281017 100%)!important;
}
.party-planner-drawer .stack-budget-field.is-manual-override input{
  border-color:rgba(225,173,85,.82)!important;
  color:#f0d599!important;
  font-style:normal!important;
  box-shadow:0 0 7px rgba(225,161,68,.15)!important;
}
.party-planner-drawer .stack-budget-output input{
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.party-planner-drawer .stack-budget-input-grid input{
  font-size:19.2px!important;
  font-weight:700!important;
}
.party-planner-drawer .stack-budget-money-wrap::before{
  content:"$";
  position:absolute;
  top:50%;
  left:7px;
  z-index:2;
  color:#d8b36c;
  font:700 15px/1 var(--planner-font);
  transform:translateY(-51%);
  pointer-events:none;
}
.party-planner-drawer .stack-budget-money-wrap>input{padding-left:18px!important}
.party-planner-drawer .stack-budget-money-wrap>input{padding-right:7px!important}

.party-planner-drawer .stack-budget-lock{
  width:26px!important;
  min-width:26px!important;
  height:calc(100% - 6px)!important;
  min-height:26px!important;
  margin:3px!important;
  padding:0!important;
}
.party-planner-drawer .stack-budget-lock>span.stack-budget-lock-glyph{
  position:relative!important;
  display:block!important;
  width:12px!important;
  height:13px!important;
  margin:auto!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
}
.party-planner-drawer .stack-budget-lock>span.stack-budget-lock-glyph::after{
  content:"";
  position:absolute;
  left:1px;
  right:1px;
  bottom:0;
  height:8px;
  border:1.4px solid currentColor;
  border-radius:2px;
  background:rgba(45,12,22,.72);
  box-shadow:inset 0 0 3px rgba(240,199,112,.08);
}
.party-planner-drawer .stack-budget-lock>span.stack-budget-lock-glyph::before{
  content:"";
  position:absolute;
  left:3px;
  top:0;
  width:6px;
  height:7px;
  border:1.4px solid currentColor;
  border-bottom:0;
  border-radius:6px 6px 0 0;
  transform-origin:6px 7px;
  transition:transform .22s ease;
}
.party-planner-drawer .stack-budget-lock[aria-pressed="false"]>span.stack-budget-lock-glyph::before{
  transform:translate(2px,-1px) rotate(28deg);
}
.party-planner-drawer .stack-budget-lock[aria-pressed="true"]>span.stack-budget-lock-glyph::before{transform:none}
.party-planner-drawer .stack-budget-lock[aria-pressed="true"]{animation:none!important}
.party-planner-drawer .stack-budget-lock.just-locked{animation:partyPlannerLockPulse 1.15s ease-out 2!important}
.party-planner-drawer .stack-budget-lock:disabled{opacity:.28;cursor:not-allowed}

.party-planner-drawer .stack-budget-scale{
  --budget-amount-position:0%;
  width:calc(100% + 18px)!important;
  margin:9px -9px 3px!important;
  padding:7px 10px 11px!important;
  border-right:0!important;
  border-left:0!important;
  border-radius:0!important;
}
.party-planner-drawer .stack-budget-scale-head{margin-bottom:2px!important;font-size:.58rem!important}
.party-planner-drawer .stack-budget-scale-head strong{
  color:#f0cf82!important;
  font-size:.72rem!important;
  letter-spacing:.13em!important;
}
.party-planner-drawer .stack-budget-scale-reading{
  position:relative;
  height:31px;
  margin:1px 0 3px;
}
.party-planner-drawer .stack-budget-scale-reading output{
  position:absolute;
  left:clamp(0px,calc(var(--budget-amount-position) - 48px),calc(100% - 124px));
  bottom:0;
  min-width:124px;
  color:#f1cf80;
  font:700 1.38rem/.95 var(--planner-font);
  font-style:italic;
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
  text-align:left;
  text-shadow:0 0 5px rgba(230,181,78,.46),0 0 12px rgba(161,90,28,.28);
  transition:left 2.25s cubic-bezier(.18,.78,.22,1),color .45s ease,text-shadow .45s ease;
  animation:partyPlannerBudgetAmountUnder 3.4s ease-in-out infinite;
}
.party-planner-drawer .stack-budget-scale-fill{
  transition:width 2.25s cubic-bezier(.18,.78,.22,1),background .45s ease,box-shadow .45s ease!important;
}
.party-planner-drawer .stack-budget-scale-marker{
  transition:left 2.25s cubic-bezier(.18,.78,.22,1),background .45s ease,box-shadow .45s ease!important;
}
.party-planner-drawer .stack-budget-scale.is-empty .stack-budget-scale-reading output{opacity:.6;animation:none}
.party-planner-drawer .stack-budget-scale.is-over .stack-budget-scale-reading output{
  color:#ff687e;
  text-shadow:0 0 6px rgba(255,54,83,.68),0 0 15px rgba(202,20,52,.52);
  animation:partyPlannerBudgetAmountOver 1.85s ease-in-out infinite;
}
@keyframes partyPlannerBudgetAmountUnder{
  0%,100%{filter:brightness(.96);text-shadow:0 0 4px rgba(230,181,78,.34),0 0 9px rgba(161,90,28,.18)}
  50%{filter:brightness(1.13);text-shadow:0 0 7px rgba(244,205,115,.72),0 0 16px rgba(174,101,33,.38)}
}
@keyframes partyPlannerBudgetAmountOver{
  0%,100%{filter:brightness(.9) scale(1);opacity:.86}
  50%{filter:brightness(1.25) scale(1.025);opacity:1}
}

.party-planner-drawer .stack-budget-summary>div{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.party-planner-drawer .stack-budget-summary span{grid-column:span 2}
.party-planner-drawer .stack-budget-summary span:nth-child(n+4){grid-column:span 3}
.party-planner-drawer .stack-budget-summary span:nth-child(3n){border-right:0}
.party-planner-drawer .stack-budget-summary span:nth-child(4){border-bottom:0}
.party-planner-drawer .stack-budget-summary span:nth-child(5){border-right:0;border-bottom:0}
.party-planner-drawer .stack-budget-calculate{
  width:100%;
  min-height:38px;
  margin:7px 0 8px;
  font-size:.8rem!important;
  letter-spacing:.14em;
}
.party-planner-drawer .stack-budget-calculate:disabled{
  cursor:not-allowed;
  opacity:.35;
}

.party-planner-drawer .stack-budget-calculator.has-budget-conflict .stack-budget-field:not(.is-conflicting),
.party-planner-drawer .stack-budget-calculator.has-budget-conflict .stack-budget-scale,
.party-planner-drawer .stack-budget-calculator.has-budget-conflict .stack-budget-calculate,
.party-planner-drawer .stack-budget-calculator.has-budget-conflict .stack-calculator-summary{
  filter:grayscale(.78) saturate(.15);
  opacity:.38;
  transition:filter .28s ease,opacity .28s ease;
}
.party-planner-drawer .stack-budget-calculator .stack-budget-field,
.party-planner-drawer .stack-budget-calculator .stack-budget-scale,
.party-planner-drawer .stack-budget-calculator .stack-calculator-summary{
  transition:filter .28s ease,opacity .28s ease;
}
.party-planner-drawer .stack-budget-field.is-conflicting{
  position:relative;
  z-index:2;
  background:linear-gradient(180deg,#631229,#3a0c18)!important;
}
.party-planner-drawer .stack-budget-field.is-conflicting label{color:#ff8094!important}
.party-planner-drawer .stack-budget-field.is-conflicting input{
  border-color:#ff3b5d!important;
  color:#ffe4e8!important;
  box-shadow:0 0 0 1px rgba(255,50,83,.48),0 0 12px rgba(232,26,61,.48)!important;
}
.party-planner-drawer .stack-calculator-status[data-state="conflict"]{
  margin:8px 1px 4px!important;
  padding:8px 9px;
  border:1px solid rgba(239,50,80,.72);
  border-radius:4px;
  background:rgba(94,8,27,.58);
  color:#ff9cab!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.35;
  text-align:left;
  box-shadow:0 0 10px rgba(215,21,57,.2);
}
.party-planner-drawer .stack-calculator-status:empty{display:none!important}
@media(max-width:430px){
  .party-planner-drawer .stack-budget-primary-grid{
    grid-template-columns:minmax(66px,.75fr) minmax(0,1.1fr) minmax(0,1.15fr)!important;
  }
  .party-planner-drawer .stack-budget-service-grid{
    grid-template-columns:minmax(60px,.75fr) minmax(0,1.24fr) minmax(60px,.75fr) minmax(0,1.26fr)!important;
  }
  .party-planner-drawer .stack-budget-field>label{font-size:.56rem!important;line-height:1.05}
  .party-planner-drawer .stack-budget-input-grid input{font-size:18.5px!important}
  .party-planner-drawer .stack-budget-scale-reading output{font-size:1.24rem}
}
@media(prefers-reduced-motion:reduce){
  .party-planner-drawer .stack-budget-scale-reading output,
  .party-planner-drawer .stack-budget-lock.just-locked{animation:none!important;transition:none!important}
}

/* WineStack Party Planner v3 — equation layout and budget-first hierarchy. */
.party-planner-drawer-head{
  min-height:82px!important;
  margin:0 -12px 0!important;
  padding:0 72px 5px!important;
  background:radial-gradient(ellipse at 50% 42%,#571529 0%,#350b19 42%,#19060d 100%)!important;
  border-bottom:1px solid rgba(179,121,52,.5);
  box-shadow:0 5px 16px rgba(0,0,0,.28);
}
.party-planner-drawer-head>.drawer-title{
  gap:0!important;
  transform:translateY(-5px);
}
.party-planner-title-icon{
  width:50px!important;
  height:46px!important;
}
.party-planner-drawer .stack-calculator-title{
  font-size:.84rem!important;
  letter-spacing:.15em!important;
}
.party-planner-drawer .stack-calculator-content{padding:10px!important}
.party-planner-drawer .stack-budget-input-grid{
  gap:5px!important;
  border:0!important;
  background:transparent!important;
}
.party-planner-drawer .stack-budget-input-grid>.stack-budget-field{
  gap:5px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.party-planner-drawer .stack-budget-equation-grid{
  display:grid!important;
  grid-template-columns:minmax(66px,.74fr) 14px minmax(92px,1.04fr) 14px minmax(104px,1.18fr)!important;
  align-items:end;
}
.party-planner-drawer .stack-budget-service-grid{margin-top:11px}
.party-planner-drawer .stack-budget-equation-mark{
  align-self:end;
  display:grid;
  place-items:center;
  height:50px;
  color:#d4ae65;
  font:700 1.14rem/1 var(--planner-font);
  text-shadow:0 2px 7px rgba(0,0,0,.75),0 0 6px rgba(211,154,68,.22);
}
.party-planner-drawer .stack-budget-field>label{
  margin:0 0 1px 1px!important;
  color:#d0aa66!important;
  font-size:.7rem!important;
  font-weight:700!important;
  line-height:1.05;
  letter-spacing:.035em!important;
  white-space:nowrap;
}
.party-planner-drawer .stack-budget-input-wrap{height:50px}
.party-planner-drawer .stack-budget-input-grid input{
  height:50px!important;
  min-height:50px!important;
  padding:7px 17px!important;
  border:.65px solid rgba(202,145,67,.68)!important;
  border-radius:3px!important;
  color:#ecd8b6!important;
  font-size:21px!important;
  font-weight:700!important;
  font-style:normal!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums;
  box-shadow:0 8px 12px -8px rgba(0,0,0,.92),inset 0 1px rgba(255,245,215,.03)!important;
}
.party-planner-drawer .stack-budget-money-wrap::before,
.party-planner-drawer .stack-budget-count-wrap::before{
  position:absolute;
  top:50%;
  left:7px;
  z-index:3;
  color:#d8b36c;
  font:700 18px/1 var(--planner-font);
  transform:translateY(-52%);
  pointer-events:none;
}
.party-planner-drawer .stack-budget-money-wrap::before{content:"$"}
.party-planner-drawer .stack-budget-count-wrap::before{content:"#"}
.party-planner-drawer .stack-budget-value-display{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#ecd8b6;
  font:700 21px/1 var(--planner-font);
  font-variant-numeric:tabular-nums;
  pointer-events:none;
  opacity:0;
}
.party-planner-drawer .stack-budget-input-wrap.has-formatted-value>input{
  color:transparent!important;
  -webkit-text-fill-color:transparent!important;
}
.party-planner-drawer .stack-budget-input-wrap.has-formatted-value>.stack-budget-value-display{opacity:1}
.party-planner-drawer .stack-budget-value-fraction{
  position:relative;
  top:-.34em;
  margin-left:1px;
  font-size:.63em;
  line-height:1;
}
.party-planner-drawer .stack-budget-total-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:14px!important;
  padding-top:12px!important;
  border:0!important;
  border-top:1px solid rgba(187,128,56,.55)!important;
  background:transparent!important;
}
.party-planner-drawer .stack-budget-total-grid>.stack-budget-field{
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.party-planner-drawer .stack-budget-total-grid .stack-budget-input-wrap{height:57px}
.party-planner-drawer .stack-budget-total-grid input{
  height:57px!important;
  min-height:57px!important;
  border:.7px solid rgba(214,158,78,.76)!important;
  border-radius:3px!important;
  font-size:25px!important;
  text-align:center!important;
  box-shadow:0 9px 14px -8px rgba(0,0,0,.95),inset 0 1px rgba(255,245,215,.04)!important;
}
.party-planner-drawer .stack-budget-total-grid .stack-budget-value-display{font-size:25px}
.party-planner-drawer .stack-budget-total-grid .stack-budget-money-wrap::before{font-size:20px}
.party-planner-drawer .stack-budget-total-grid .stack-budget-field>label{
  font-size:.79rem!important;
  font-weight:750!important;
}
.party-planner-drawer .stack-budget-field.is-auto-calculated .stack-budget-input-wrap{
  animation:partyPlannerAutoFieldGlow 2.8s ease-in-out infinite;
}
@keyframes partyPlannerAutoFieldGlow{
  0%,100%{filter:drop-shadow(0 6px 6px rgba(0,0,0,.38)) drop-shadow(0 0 2px rgba(213,159,70,.18))}
  50%{filter:drop-shadow(0 7px 7px rgba(0,0,0,.48)) drop-shadow(0 0 8px rgba(236,190,95,.58))}
}
.party-planner-drawer .stack-budget-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:13px 0 7px;
}
.party-planner-drawer .stack-budget-actions .stack-calculate-button{
  width:100%;
  min-height:40px;
  margin:0!important;
  font-size:.76rem!important;
  letter-spacing:.11em;
}
.party-planner-drawer .stack-budget-reset{
  background:linear-gradient(180deg,#32151d,#1c0d12) padding-box!important;
  color:#caaa73!important;
}
.party-planner-drawer .stack-budget-scale{
  --budget-amount-position:0%;
  width:calc(100% + 20px)!important;
  margin:8px -10px 7px!important;
  padding:9px 11px 10px!important;
  border-right:0!important;
  border-left:0!important;
  border-radius:0!important;
}
.party-planner-drawer .stack-budget-scale-head{
  display:flex!important;
  justify-content:center;
  margin:0 0 3px!important;
}
.party-planner-drawer .stack-budget-scale-head strong{
  color:#f0cf82!important;
  font-size:.78rem!important;
  letter-spacing:.14em!important;
}
.party-planner-drawer .stack-budget-scale-reading{
  position:relative;
  height:43px;
  margin:3px 0 5px;
}
.party-planner-drawer .stack-budget-scale-reading output{
  position:absolute;
  left:clamp(0px,calc(var(--budget-amount-position) - 76px),calc(100% - 178px));
  bottom:2px;
  min-width:178px;
  color:#f1cf80;
  font:700 2.08rem/.9 var(--planner-font);
  font-style:italic;
  font-variant-numeric:tabular-nums;
  letter-spacing:.005em;
  text-align:left;
  text-shadow:0 0 5px rgba(230,181,78,.46),0 0 12px rgba(161,90,28,.28);
  transition:left 3.15s cubic-bezier(.18,.78,.22,1),color .45s ease,text-shadow .45s ease;
  animation:partyPlannerBudgetAmountUnder 3.4s ease-in-out infinite;
}
.party-planner-drawer .stack-budget-scale-track{height:9px}
.party-planner-drawer .stack-budget-scale-fill{
  transition:width 3.15s cubic-bezier(.18,.78,.22,1),background .45s ease,box-shadow .45s ease!important;
}
.party-planner-drawer .stack-budget-scale-marker{
  transition:left 3.15s cubic-bezier(.18,.78,.22,1),background .45s ease,box-shadow .45s ease!important;
}
.party-planner-drawer .stack-budget-scale-legend{
  display:flex;
  justify-content:space-between;
  margin-top:6px;
  color:#c6a363;
  font:700 .62rem/1 var(--planner-font);
  letter-spacing:.09em;
}
.party-planner-drawer .stack-budget-summary>strong{
  text-align:center;
  letter-spacing:.13em;
}
.party-planner-drawer .stack-budget-summary>div{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.party-planner-drawer .stack-budget-summary span{
  grid-column:auto!important;
  min-height:48px;
}
.party-planner-drawer .stack-budget-summary span:nth-child(3n){border-right:0}
.party-planner-drawer .stack-budget-summary span:nth-last-child(-n+3){border-bottom:0}
.party-planner-drawer .stack-budget-summary small{font-size:.58rem}
.party-planner-drawer .stack-budget-summary b{font-size:.82rem}
.party-planner-drawer .stack-budget-calculator.has-budget-conflict .stack-budget-actions,
.party-planner-drawer .stack-budget-calculator.has-budget-conflict .stack-budget-scale,
.party-planner-drawer .stack-budget-calculator.has-budget-conflict .stack-calculator-summary{
  filter:grayscale(.78) saturate(.15);
  opacity:.38;
  transition:filter .28s ease,opacity .28s ease;
}
.party-planner-drawer .stack-calculator-status[data-state="conflict"]{margin-top:8px!important}
@media(max-width:430px){
  .party-planner-drawer .stack-budget-equation-grid{
    grid-template-columns:minmax(62px,.72fr) 12px minmax(88px,1.02fr) 12px minmax(100px,1.16fr)!important;
    gap:4px!important;
  }
  .party-planner-drawer .stack-budget-field>label{font-size:.66rem!important}
  .party-planner-drawer .stack-budget-input-grid input,
  .party-planner-drawer .stack-budget-value-display{font-size:20px!important}
  .party-planner-drawer .stack-budget-total-grid input,
  .party-planner-drawer .stack-budget-total-grid .stack-budget-value-display{font-size:24px!important}
  .party-planner-drawer .stack-budget-scale-reading output{font-size:2rem}
}
@media(prefers-reduced-motion:reduce){
  .party-planner-drawer .stack-budget-field.is-auto-calculated .stack-budget-input-wrap{animation:none!important}
  .party-planner-drawer .stack-budget-scale-reading output,
  .party-planner-drawer .stack-budget-scale-fill,
  .party-planner-drawer .stack-budget-scale-marker{transition:none!important}
}
body:has(#partyPlannerDrawer.open) .bottom-area{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}


/* The summon is not a second drawer. Its own scrim owns the blur so the
   landing page remains visibly present without creating fixed-child drift. */
.stack-summon{
  position:fixed;
  left:0;
  right:0;
  top:var(--stack-visual-top);
  height:var(--stack-visual-height);
  z-index:170;
  visibility:hidden;
  pointer-events:none;
  isolation:isolate;
  color:#f4eeee;
}
.stack-summon.open,
.stack-summon.closing{visibility:visible}
.stack-summon.open{pointer-events:auto}
.stack-summon-scrim{
  position:absolute;
  inset:0;
  z-index:0;
  background:rgba(5,3,4,var(--stack-summon-scrim));
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  opacity:0;
  transition:opacity var(--stack-summon-ms) cubic-bezier(.22,.61,.36,1);
}
.stack-summon.open .stack-summon-scrim,
.stack-summon.closing .stack-summon-scrim{
  -webkit-backdrop-filter:blur(var(--stack-summon-blur));
  backdrop-filter:blur(var(--stack-summon-blur));
}
.stack-summon.open .stack-summon-scrim{opacity:1}
.stack-summon.closing .stack-summon-scrim{opacity:0}
.stack-summon-topline{
  position:absolute;
  top:calc(var(--safe-top) + 12px);
  left:50%;
  z-index:4;
  display:grid;
  grid-template-columns:30px auto 30px;
  align-items:center;
  gap:9px;
  min-height:32px;
  padding:0 10px;
  color:#e5c47e;
  opacity:0;
  transform:translate(-50%,-5px);
  transition:opacity 280ms ease calc(var(--stack-summon-ms) * .55),transform 280ms ease calc(var(--stack-summon-ms) * .55);
  white-space:nowrap;
}
.stack-summon.open .stack-summon-topline{opacity:1;transform:translate(-50%,0)}
.stack-summon-rule{height:1px;background:linear-gradient(90deg,transparent,rgba(224,183,108,.72))}
.stack-summon-rule:nth-of-type(2){background:linear-gradient(90deg,rgba(224,183,108,.72),transparent)}
.stack-summon-name{font-size:.78rem;font-weight:950;letter-spacing:.28em;text-indent:.28em}
.stack-summon.open[data-stack-state="thinking"] .stack-summon-name,
.stack-summon.closing[data-stack-state="thinking"] .stack-summon-name{animation:stackSummonStatusPulse .82s ease-in-out infinite}
.stack-summon[data-stack-state="complete"] .stack-summon-name{text-shadow:0 0 9px rgba(231,173,79,.42)}
@keyframes stackSummonStatusPulse{50%{opacity:.35;transform:scale(.72)}}
.stack-summon-close{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(198,139,53,.5);
  border-radius:999px;
  outline:0;
  background:rgba(10,5,7,.78);
  color:#d8c39b;
  box-shadow:0 5px 16px rgba(0,0,0,.24),inset 0 1px rgba(255,232,190,.08);
}
.stack-summon-close{
  position:absolute;
  top:calc(var(--safe-top) + 13px);
  right:14px;
  z-index:7;
  font-size:1.16rem;
  opacity:0;
  transform:translateY(-7px);
  transition:opacity 300ms ease calc(var(--stack-summon-ms) * .55),transform 300ms ease calc(var(--stack-summon-ms) * .55),background .16s ease;
}
.stack-summon.open .stack-summon-close{opacity:1;transform:translateY(0)}
.stack-summon-stage{
  position:absolute;
  left:5px;
  top:calc(var(--safe-top) + 62px);
  z-index:2;
  display:flex;
  width:84px;
  justify-content:center;
  pointer-events:none;
}
.stack-summon-smoke{
  position:absolute;
  top:45%;
  left:50%;
  width:var(--stack-summon-size);
  height:var(--stack-summon-size);
  border-radius:50%;
  opacity:0;
  transform:translate(-50%,-50%) scale(.35);
  background:radial-gradient(circle,rgba(239,207,131,.55) 0%,rgba(198,139,53,.34) 31%,rgba(120,53,21,.2) 54%,rgba(23,7,12,0) 73%);
  filter:blur(14px);
}
.stack-summon.open .stack-summon-smoke{animation:stackSummonPuff calc(var(--stack-summon-ms) * 1.35) cubic-bezier(.16,.84,.44,1) forwards}
@keyframes stackSummonPuff{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}
  26%{opacity:.95;transform:translate(-50%,-50%) scale(calc(var(--stack-summon-smoke-scale) * .72))}
  100%{opacity:0;transform:translate(-50%,-50%) scale(var(--stack-summon-smoke-scale))}
}
.stack-summon-figure{
  position:relative;
  width:calc(var(--stack-summon-size) * .54);
  height:var(--stack-summon-size);
  filter:drop-shadow(0 9px 12px rgba(0,0,0,.3));
}
.stack-summon-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.stack-summon-thread{z-index:2;opacity:.94}
.stack-summon-character{z-index:3}
.stack-summon.open .stack-summon-thread,
.stack-summon.closing .stack-summon-thread{animation:stackSummonThreadDrift var(--stack-float-cycle) ease-in-out infinite}
.stack-summon.open .stack-summon-character,
.stack-summon.closing .stack-summon-character{animation:stackSummonBreathe var(--stack-float-cycle) ease-in-out infinite}
@keyframes stackSummonThreadDrift{
  0%,100%{transform:rotate(-1deg) translateY(3px) scale(.985)}
  50%{transform:rotate(4deg) translateY(-10px) scale(1.025)}
}
@keyframes stackSummonBreathe{
  0%,100%{transform:translateY(3px) rotate(-.5deg) scale(.985)}
  50%{transform:translateY(-13px) rotate(1.3deg) scale(1.045)}
}
.stack-summon-rings{
  position:absolute;
  left:50%;
  bottom:9%;
  z-index:1;
  width:125%;
  height:18%;
  transform:translateX(-50%);
  pointer-events:none;
}
.stack-summon-rings i{
  position:absolute;
  inset:0;
  border:1px solid rgba(226,177,88,.72);
  border-radius:50%;
  opacity:0;
  box-shadow:0 0 8px rgba(230,178,80,.46),inset 0 0 7px rgba(250,213,135,.2);
}
.stack-summon.open .stack-summon-rings i,
.stack-summon.closing .stack-summon-rings i{animation:stackSummonRingPulse var(--stack-float-cycle) ease-in-out infinite}
.stack-summon-rings i:nth-child(2){animation-delay:calc(var(--stack-float-cycle) * -.19)}
.stack-summon-rings i:nth-child(3){animation-delay:calc(var(--stack-float-cycle) * -.38)}
@keyframes stackSummonRingPulse{
  0%,24%{opacity:0;transform:scale(.48)}
  50%{opacity:.84;transform:scale(.93)}
  78%,100%{opacity:0;transform:scale(1.34)}
}
.stack-summon-fireflies{
  position:absolute;
  inset:-15% -40%;
  z-index:4;
  pointer-events:none;
}
.stack-summon-fireflies i{
  position:absolute;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#ffe3a0;
  box-shadow:0 0 4px 1px rgba(250,198,94,.95),0 0 10px 3px rgba(218,137,36,.38);
  opacity:0;
}
.stack-summon.open .stack-summon-fireflies i,
.stack-summon.closing .stack-summon-fireflies i{animation:stackSummonFirefly 4.8s ease-in-out infinite}
.stack-summon-fireflies i:nth-child(1){left:13%;top:18%;animation-delay:-.4s}
.stack-summon-fireflies i:nth-child(2){left:76%;top:10%;animation-delay:-2.7s;animation-duration:5.3s}
.stack-summon-fireflies i:nth-child(3){left:91%;top:38%;animation-delay:-1.4s;animation-duration:4.1s}
.stack-summon-fireflies i:nth-child(4){left:6%;top:49%;animation-delay:-3.1s;animation-duration:5.7s}
.stack-summon-fireflies i:nth-child(5){left:83%;top:68%;animation-delay:-.8s;animation-duration:4.5s}
.stack-summon-fireflies i:nth-child(6){left:20%;top:77%;animation-delay:-2.1s;animation-duration:5.1s}
.stack-summon-fireflies i:nth-child(7){left:59%;top:28%;animation-delay:-3.8s;animation-duration:5.6s}
.stack-summon-fireflies i:nth-child(8){left:44%;top:86%;animation-delay:-1.9s;animation-duration:4.3s}
@keyframes stackSummonFirefly{
  0%,100%{opacity:0;transform:translate3d(-3px,7px,0) scale(.55)}
  18%{opacity:.95}
  45%{opacity:.28;transform:translate3d(6px,-8px,0) scale(1.25)}
  67%{opacity:1}
  82%{opacity:.18;transform:translate3d(-5px,-15px,0) scale(.75)}
}
.stack-summon.open .stack-summon-figure{animation:stackSummonMaterialise var(--stack-summon-ms) cubic-bezier(.2,.9,.3,1.08) both}
@keyframes stackSummonMaterialise{
  0%{opacity:0;transform:scale(.68) translateY(14px);filter:blur(6px)}
  55%{opacity:1}
  100%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}
}
.stack-summon.open[data-stack-state="thinking"] .stack-summon-figure::after,
.stack-summon.closing[data-stack-state="thinking"] .stack-summon-figure::after{
  content:"";
  position:absolute;
  inset:14% -12%;
  border:1px solid rgba(220,160,61,.36);
  border-radius:50%;
  box-shadow:0 0 21px rgba(196,42,69,.28);
  animation:stackSummonThinkingOrbit 1.6s linear infinite;
}
@keyframes stackSummonThinkingOrbit{to{transform:rotate(360deg) scale(1.05)}}
.stack-summon[data-stack-state="complete"] .stack-summon-figure{filter:drop-shadow(0 0 10px rgba(232,175,77,.32))}
.stack-summon[data-stack-state="listening"] .stack-summon-figure{filter:drop-shadow(0 0 13px rgba(232,175,77,.46))}
.stack-conversation-plane{
  position:absolute;
  left:91px;
  right:0;
  top:calc(var(--safe-top) + 64px);
  bottom:calc(var(--stack-composer-height) + 4px);
  z-index:2;
  overflow:auto;
  overscroll-behavior:contain;
  padding:3px 14px 28px 2px;
  scrollbar-width:none;
  opacity:0;
  transform:translateY(12px);
  transition:opacity 360ms ease calc(var(--stack-summon-ms) * .88),transform 360ms ease calc(var(--stack-summon-ms) * .88),bottom .16s ease;
}
.stack-conversation-plane::-webkit-scrollbar{display:none}
.stack-summon.open .stack-conversation-plane{opacity:1;transform:translateY(0)}
.stack-conversation-rail{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:13px;
  width:min(100%,520px);
  min-height:100%;
  margin:0;
}
.stack-summon .stack-messages{display:flex;flex-direction:column;gap:13px}
.stack-summon .stack-message{
  position:relative;
  width:auto;
  max-width:100%;
  padding:12px 13px!important;
  border:1px solid rgba(194,132,52,.62);
  border-radius:7px 17px 17px 17px;
  background:linear-gradient(150deg,rgba(104,23,48,.96),rgba(55,11,26,.96) 70%,rgba(31,6,15,.96));
  color:#f1dfbf;
  box-shadow:inset 0 1px rgba(255,231,193,.1),0 8px 19px rgba(0,0,0,.24);
  animation:stackSummonMessageIn 280ms ease both;
}
@keyframes stackSummonMessageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.stack-summon .stack-message::before,
.stack-summon .stack-message::after{display:none!important}
.stack-summon .stack-message.stack-message-user{
  align-self:flex-end;
  padding:10px 13px!important;
  border-color:rgba(214,180,120,.35);
  border-radius:16px 16px 5px 16px;
  background:rgba(231,215,188,.94);
  color:#39131d;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
}
.stack-summon .stack-message-label{margin-bottom:5px;color:#ddb86f;font-size:.53rem;letter-spacing:.17em}
.stack-summon .stack-message-user .stack-message-label{color:#7a2940}
.stack-summon .stack-message p{color:inherit!important;font-size:.82rem!important;font-weight:690!important;line-height:1.5}
.stack-summon .stack-answer-summary{color:#f1dfbf!important;font-size:.84rem!important;font-weight:760!important}
.stack-summon .stack-message .stack-wine-region{color:#dacdd0!important;font-size:.69rem!important}
.stack-summon .stack-message .stack-wine-reason{color:#d6c4b7!important;font-size:.66rem!important}
.stack-summon .stack-message p.stack-wine-card-instruction{
  color:#d6aa59!important;
  font-size:.55rem!important;
  font-weight:700!important;
  line-height:1.3!important;
  white-space:nowrap;
}
.stack-summon .stack-wine-card.has-tech-sheet{
  cursor:pointer;
  touch-action:manipulation;
  transition:border-color .16s ease,box-shadow .16s ease,filter .16s ease;
}
.stack-summon .stack-wine-card.has-tech-sheet:active{filter:brightness(.97)}
.stack-summon .stack-wine-card.has-tech-sheet:focus-visible{
  outline:2px solid #d5a552;
  outline-offset:2px;
  border-color:#b47c35;
  box-shadow:inset 0 1px rgba(255,255,255,.78),0 0 0 3px rgba(213,165,82,.22),0 4px 10px rgba(62,31,16,.2);
}
.stack-summon .stack-message.is-generating{width:100%;overflow:hidden;transition:height 90ms linear}
.stack-reveal-word{white-space:nowrap}
.stack-reveal-char{animation:stackSummonCharacterReveal 180ms ease-out both}
@keyframes stackSummonCharacterReveal{from{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur(0)}}
.stack-starter-row{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:2px;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.stack-starter-row[hidden]{display:none!important}
.stack-starter-row::-webkit-scrollbar{display:none}
.stack-summon-composer .stack-starter-row button{
  flex:0 0 auto;
  display:flex!important;
  align-items:center;
  width:max-content!important;
  height:36px!important;
  min-height:36px;
  padding:0 13px;
  border:1px solid rgba(212,161,78,.42);
  border-radius:999px;
  background:rgba(23,8,13,.56);
  color:#e0cba5;
  font-size:.66rem;
  font-weight:850;
  scroll-snap-align:start;
  white-space:nowrap;
}
.stack-starter-row button:active{background:rgba(91,19,41,.72)}
.stack-prompt-tray{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 30px;
  align-items:center;
  gap:2px 4px;
  width:100%;
}
.stack-quick-prompts-label{
  grid-column:1/-1;
  display:block;
  color:#d8ad60;
  font-size:.48rem;
  font-weight:950;
  letter-spacing:.16em;
  line-height:1;
  text-align:center;
}
.stack-summon-composer .stack-prompt-nav{
  display:grid;
  place-items:center;
  width:30px!important;
  height:36px!important;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#e6c47d;
  box-shadow:none;
  font:850 1.72rem/1 Georgia,serif;
  text-shadow:0 0 5px rgba(230,196,125,.72),0 0 11px rgba(196,129,45,.42);
  animation:stackPromptNavPulse 1.9s ease-in-out infinite;
  transition:opacity .16s ease,transform .16s ease,filter .16s ease;
}
.stack-summon-composer .stack-prompt-nav:active:not(:disabled){transform:scale(.92);filter:brightness(1.14)}
.stack-summon-composer .stack-prompt-nav:disabled{opacity:.22;filter:saturate(.55);animation:none}
@keyframes stackPromptNavPulse{
  0%,100%{opacity:.64;transform:scale(.94);text-shadow:0 0 4px rgba(230,196,125,.48),0 0 8px rgba(196,129,45,.28)}
  50%{opacity:1;transform:scale(1.08);text-shadow:0 0 7px rgba(255,222,148,.9),0 0 15px rgba(205,142,54,.62)}
}
.stack-summon .stack-thinking{
  align-self:flex-start;
  display:flex;
  padding:9px 11px;
  border:1px solid rgba(198,139,53,.3);
  border-radius:7px 15px 15px 15px;
  background:rgba(59,12,28,.78);
  color:#cdb688;
}
.stack-summon .stack-thinking[hidden]{display:none!important}
.stack-summon-status{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
.stack-summon-composer{
  position:absolute!important;
  left:0;
  right:0;
  bottom:0!important;
  z-index:4;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:5px!important;
  margin:0!important;
  padding:5px 12px calc(8px + var(--stack-composer-safe))!important;
  border:0!important;
  border-radius:0!important;
  background:linear-gradient(180deg,transparent 0%,rgba(10,4,7,.72) 26%,rgba(10,4,7,.96) 100%)!important;
  box-shadow:none!important;
  opacity:0;
  transform:translateY(18px);
  transition:opacity 360ms ease calc(var(--stack-summon-ms) * .92),transform 360ms ease calc(var(--stack-summon-ms) * .92),padding-bottom 240ms ease!important;
}
.stack-summon.open .stack-summon-composer{opacity:1;transform:translateY(0)}
.stack-composer-controls{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 52px;
  align-items:center;
  gap:8px;
}
.stack-summon-composer textarea{
  display:block;
  width:100%;
  min-height:52px!important;
  max-height:104px!important;
  padding:14px 17px!important;
  border:1px solid transparent!important;
  border-radius:25px!important;
  outline:0;
  resize:none;
  background:linear-gradient(#111011,#111011) padding-box,var(--v172-metal-soft) border-box!important;
  color:#ddd4c8!important;
  font:650 16px/1.35 inherit!important;
  caret-color:#d1a75e;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 7px 20px rgba(0,0,0,.26)!important;
}
.stack-summon-composer textarea::placeholder{color:#91877f!important}
.stack-summon-composer textarea:focus{
  border-color:transparent!important;
  background:linear-gradient(#111011,#111011) padding-box,var(--v172-metal-line) border-box!important;
  box-shadow:0 0 0 2px rgba(198,139,53,.14),0 7px 20px rgba(0,0,0,.26)!important;
}
.stack-summon-composer .stack-mic-button,
.stack-summon-composer .stack-mute-button{
  display:grid;
  place-items:center;
  width:52px!important;
  height:52px!important;
  border:1px solid rgba(198,139,53,.72)!important;
  border-radius:999px!important;
  background:linear-gradient(145deg,#89173d,#5a0d29 70%,#370a1a)!important;
  color:#f1d18d!important;
  box-shadow:inset 0 1px rgba(255,234,193,.15),0 7px 20px rgba(0,0,0,.24)!important;
}
.stack-summon-composer .stack-mic-button svg,
.stack-summon-composer .stack-mute-button svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.stack-summon-composer .stack-mute-button .stack-speaker-body{fill:currentColor;stroke:none}
.stack-summon-composer .stack-mute-button .stack-speaker-slash{display:none}
.stack-summon-composer .stack-mute-button.is-muted{
  background:linear-gradient(145deg,#451020,#2b0915 70%,#19060d)!important;
  color:#bda982!important;
}
.stack-summon-composer .stack-mute-button.is-muted .stack-speaker-waves{display:none}
.stack-summon-composer .stack-mute-button.is-muted .stack-speaker-slash{display:block}
.stack-summon-composer .stack-mic-button.is-listening{
  border-color:#f0c671!important;
  background:linear-gradient(145deg,#b51e50,#7a1236 72%,#510b26)!important;
  color:#fff1d1!important;
  box-shadow:0 0 0 5px rgba(194,43,77,.18),0 0 22px rgba(220,70,105,.38)!important;
}
.stack-summon.closing .stack-summon-topline,
.stack-summon.closing .stack-summon-close,
.stack-summon.closing .stack-summon-stage,
.stack-summon.closing .stack-conversation-plane,
.stack-summon.closing .stack-summon-composer,
.stack-summon.closing .stack-summon-status{
  opacity:0;
  transition-delay:0ms!important;
  transition-duration:210ms!important;
}
@media(max-height:720px){:root{--stack-summon-size:148px}}
@media(min-width:700px){.stack-conversation-plane{left:120px}.stack-summon-stage{left:20px;width:92px}}
@media(max-width:430px){
  .party-planner-drawer .stack-calculator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .party-planner-drawer .stack-calculator-content{padding:9px!important}
}
@media(prefers-reduced-motion:reduce){
  .stack-summon *,
  .stack-summon *::before,
  .stack-summon *::after{animation:none!important;transition-duration:1ms!important;transition-delay:0ms!important}
  .stack-summon.open .stack-summon-scrim,
  .stack-summon.open .stack-summon-topline,
  .stack-summon.open .stack-summon-close,
  .stack-summon.open .stack-conversation-plane,
  .stack-summon.open .stack-summon-composer{opacity:1!important}
  .stack-summon.open .stack-summon-topline{transform:translate(-50%,0)!important}
  .stack-summon.open .stack-summon-close,
  .stack-summon.open .stack-conversation-plane,
  .stack-summon.open .stack-summon-composer{transform:none!important}
}

/* WineStack v18.51.0 — transparent Stack medallion with a single fine gold trim. */
.stack-ai-button-art,
.stack-alternative-loading-disc img{
  display:block;
  width:100%;
  height:100%;
  border:0!important;
  border-radius:50%;
  background:transparent!important;
  object-fit:contain!important;
  box-shadow:none!important;
}
.header-stack-toggle,
.search-control-line>.landing-stack-toggle{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:0 4px 10px rgba(0,0,0,.36),0 0 8px rgba(205,145,55,.24)!important;
}
.stack-ai-button-disc{overflow:visible;background:transparent}
.stack-menu-icon,
.stack-title-icon{background:transparent!important}

/* WineStack v18.57.0 — submitted Stack Button Studio recipe. */
@media(max-width:430px){
}

/* WineStack v18.58.0 — exact approved Stack medallion artwork. */

/* Fine slogan strokes retain the original artwork through an alpha erosion mask. */
.stitched-quote-art{display:block;width:var(--stitched-quote-width);height:auto;max-width:none;opacity:.7;transform:scaleY(.74);transform-origin:left center}
.stitched-quote-ember{filter:brightness(1.7) drop-shadow(0 0 30px #ffd47a);animation:stitchedQuoteEmber 3.4s cubic-bezier(.42,0,.22,1) var(--landing-brand-delay) both}
@keyframes stitchedQuoteEmber{from{transform:translateX(0);opacity:0}8%{opacity:.9}82%{opacity:1}to{transform:translateX(2481px);opacity:0}}
.brand-stage.restaurant-brand{opacity:1;animation:none!important;overflow:visible}
.restaurant-brand-reveal{position:relative;display:block;width:100%;height:100%;overflow:visible;clip-path:inset(0 100% 0 0);animation:stitchedQuoteWrite 3.7s cubic-bezier(.42,0,.22,1) var(--landing-slide-duration) forwards}
.restaurant-brand-reveal>.brand-face{width:min(286px,76vw);transform:none}
@media(prefers-reduced-motion:reduce){.restaurant-brand-reveal,.stitched-quote-reveal{clip-path:none;opacity:1;filter:none;animation:none}.restaurant-brand-ember,.stitched-quote-ember{display:none}}

/* WineStack Party Planner v4 — landing-header parity and calculator refinement. */
section.drawer.drawer-party-planner{
  padding-top:0!important;
}
section.drawer.drawer-party-planner>.handle{
  display:none!important;
}
.party-planner-drawer-head{
  box-sizing:border-box!important;
  min-height:calc(86px + var(--safe-top))!important;
  margin:0 -13px!important;
  padding:calc(1px + var(--safe-top)) 72px 3px!important;
  background:radial-gradient(ellipse at 50% 42%,#571529 0%,#350b19 42%,#19060d 100%)!important;
}
.party-planner-drawer-head>.drawer-title{
  width:min(286px,76vw)!important;
  height:80px!important;
  margin:0 auto!important;
  gap:5px!important;
  justify-content:center!important;
  transform:none!important;
  color:var(--v15-logo-warm)!important;
  font-family:"WineStack EB Garamond","EB Garamond",Garamond,"Iowan Old Style",Georgia,serif!important;
  font-size:.72rem!important;
  font-weight:600!important;
  letter-spacing:.09em!important;
}
.party-planner-title-icon{
  width:54px!important;
  height:51px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.46)) drop-shadow(0 0 3px rgba(177,139,95,.18));
}
.party-planner-title-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.drawer-head>.party-planner-drawer-close{
  top:calc(var(--safe-top) + 42px)!important;
  right:14px!important;
  width:46px!important;
  height:46px!important;
  transform:translateY(-50%)!important;
  border-radius:50%!important;
}

.party-planner-drawer .stack-calculator-title{
  min-height:31px!important;
  color:var(--v15-logo-warm)!important;
  font-size:.84rem!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
}
.party-planner-drawer .party-planner-calculator-window>.stack-calculator-content{
  padding:10px!important;
  background:radial-gradient(ellipse at 50% 42%,#571529 0%,#350b19 42%,#19060d 100%)!important;
}
.party-planner-drawer .stack-budget-field>label{
  color:var(--v15-logo-warm)!important;
  font-size:.82rem!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
}
.party-planner-drawer .stack-budget-input-wrap,
.party-planner-drawer .stack-budget-equation-mark{
  height:46px;
}
.party-planner-drawer .stack-budget-input-grid input{
  height:46px!important;
  min-height:46px!important;
  border:1.1px solid rgba(177,139,95,.86)!important;
  border-radius:8px!important;
  font-size:23px!important;
}
.party-planner-drawer .stack-budget-value-display{
  font-size:23px!important;
}
.party-planner-drawer .stack-budget-money-wrap::before,
.party-planner-drawer .stack-budget-count-wrap::before{
  color:var(--v15-logo-warm)!important;
  font-size:24px;
}
.party-planner-drawer .stack-budget-value-fraction{
  top:-.14em;
  margin-left:1px;
  font-size:.72em;
}
.party-planner-drawer .stack-budget-total-grid .stack-budget-input-wrap{
  height:53px;
}
.party-planner-drawer .stack-budget-total-grid input{
  height:53px!important;
  min-height:53px!important;
  border:1.15px solid rgba(177,139,95,.9)!important;
  border-radius:9px!important;
  font-size:27px!important;
}
.party-planner-drawer .stack-budget-total-grid .stack-budget-value-display{
  font-size:27px!important;
}
.party-planner-drawer .stack-budget-total-grid .stack-budget-money-wrap::before{
  font-size:27px;
}
.party-planner-drawer .stack-budget-total-grid .stack-budget-field>label{
  font-size:.94rem!important;
}
.party-planner-drawer .stack-budget-field.is-auto-calculated .stack-budget-input-wrap{
  animation:none!important;
  filter:drop-shadow(0 5px 6px rgba(0,0,0,.46)) drop-shadow(0 0 5px rgba(232,183,91,.48)) drop-shadow(0 0 12px rgba(198,126,47,.27));
}
.party-planner-drawer .stack-budget-actions .stack-calculate-button{
  min-height:40px;
  border-radius:9px!important;
  font-size:.79rem!important;
  font-weight:850!important;
}
.party-planner-drawer .stack-budget-actions .stack-calculate-button:focus-visible{
  outline:1px solid var(--v15-logo-warm)!important;
  outline-offset:2px;
}
.party-planner-drawer .stack-budget-scale{
  padding-top:9px!important;
  background:radial-gradient(ellipse at 50% 45%,#5b2532 0%,#391620 46%,#18090e 100%)!important;
}
.party-planner-drawer .stack-budget-scale-head{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:31px;
  margin:-9px -11px 8px!important;
  border-bottom:1px solid var(--planner-line)!important;
  background:linear-gradient(180deg,#34131f,#201017)!important;
}
.party-planner-drawer .stack-budget-scale-head strong{
  color:var(--v15-logo-warm)!important;
  font-size:.94rem!important;
  font-weight:700!important;
  letter-spacing:.15em!important;
}
.party-planner-drawer .stack-budget-scale-reading{
  height:51px;
  margin:2px 0 5px;
}
.party-planner-drawer .stack-budget-scale-reading output{
  display:flex;
  align-items:flex-start;
  left:var(--budget-amount-position);
  min-width:max-content;
  font-size:2.55rem;
  line-height:.9;
  transform:translateX(-50%);
  transition:left 3.15s cubic-bezier(.18,.78,.22,1),transform 3.15s cubic-bezier(.18,.78,.22,1),color .45s ease,text-shadow .45s ease;
  white-space:nowrap;
}
.party-planner-drawer .stack-budget-scale.is-marker-low .stack-budget-scale-reading output{transform:translateX(-4%)}
.party-planner-drawer .stack-budget-scale.is-marker-high .stack-budget-scale-reading output{transform:translateX(-96%)}
.party-planner-drawer .stack-budget-scale-direction{
  margin-right:.12em;
}
.party-planner-drawer .stack-budget-scale-fraction{
  margin-left:1px;
  font-size:.72em;
  line-height:1;
}
.party-planner-drawer .stack-budget-scale-track{
  border-radius:999px;
  background:linear-gradient(90deg,#b17b3f 0%,#a36d37 62%,#80502f 84%,#53271f 100%);
}
.party-planner-drawer .stack-budget-summary{
  border-radius:9px!important;
  overflow:hidden;
}
.party-planner-drawer .stack-budget-summary>strong{
  color:var(--v15-logo-warm)!important;
  font-size:.9rem!important;
  font-weight:700!important;
}
.party-planner-drawer .stack-budget-summary span{
  border-color:rgba(177,139,95,.52)!important;
}
.party-planner-drawer .stack-budget-summary span:nth-child(5){
  border-right:1px solid rgba(177,139,95,.52)!important;
}
.party-planner-drawer .stack-budget-summary b{
  font-size:1rem;
  font-variant-numeric:tabular-nums;
}

@media(max-width:430px){
  .party-planner-drawer .stack-budget-equation-grid{
    grid-template-columns:minmax(62px,.72fr) 12px minmax(88px,1.02fr) 12px minmax(100px,1.16fr)!important;
  }
  .party-planner-drawer .stack-budget-field>label{font-size:.78rem!important}
  .party-planner-drawer .stack-budget-input-grid input,
  .party-planner-drawer .stack-budget-value-display{font-size:22px!important}
  .party-planner-drawer .stack-budget-total-grid input,
  .party-planner-drawer .stack-budget-total-grid .stack-budget-value-display{font-size:26px!important}
  .party-planner-drawer .stack-budget-scale-reading output{font-size:2.42rem}
  .party-planner-drawer .stack-budget-summary b{font-size:.94rem}
}

/* WineStack v18.70.0 — coordinated landing launch and compact menu options. */
main>.landing-tagline{bottom:355px!important}
.restaurant-brand-reveal{
  clip-path:none;
  opacity:0;
  animation:restaurantBrandFadeIn 1.75s ease-out var(--landing-brand-delay) forwards;
}
.restaurant-brand-reveal>.brand-face{
  inset:0 auto;
  left:50%;
  width:min(278px,74vw);
  transform:translate3d(-50%,-4px,0);
}
.brand-eagle-mark{
  width:88px!important;
  height:66px!important;
  opacity:.72!important;
  filter:brightness(1.06) drop-shadow(0 2px 3px rgba(0,0,0,.45))!important;
}
.brand-eagle-caption{
  margin-top:-5px!important;
  font-size:.55rem!important;
  letter-spacing:.085em!important;
  opacity:.72!important;
  filter:brightness(1.05);
}
.restaurant-brand-ember.is-active{display:none}
@keyframes restaurantBrandFadeIn{from{opacity:0;filter:brightness(.86)}to{opacity:1;filter:brightness(1)}}
.app-menu-options{gap:9px}
.app-menu-option{
  grid-template-columns:40px minmax(0,1fr) 23px 16px;
  align-items:start;
  width:calc(100% - 12px);
  min-height:70px;
  margin-inline:auto;
  padding:8px 10px;
  column-gap:8px;
  border-radius:15px;
}
.app-menu-option-no-count{grid-template-columns:40px minmax(0,1fr) 16px}
.app-menu-option-icon{
  width:40px;
  height:40px;
  border-radius:12px;
  font-size:1rem;
}
.app-menu-option-icon svg{width:20px;height:20px}
.app-menu-option-copy{
  grid-template-rows:auto auto;
  align-content:start;
  gap:2px;
  padding-top:2px;
}
.app-menu-option-copy strong{align-self:start;font-size:.86rem;line-height:1.1}
.app-menu-option-copy small{font-size:.61rem;line-height:1.15}
.app-menu-count,
.app-menu-option>svg{align-self:center}

/* WineStack v18.69.0 — compact Utilities drawer. */
.app-menu{
  width:min(60vw,240px);
  min-width:232px;
  padding-inline:12px;
}
.app-menu-heading{
  margin-inline:-12px;
  padding-left:16px;
  padding-right:12px;
}
.app-menu-options{gap:8px}
.app-menu-option,
.app-menu-option-no-count{
  position:relative;
  grid-template-columns:36px minmax(0,1fr) 14px;
  align-items:center;
  width:calc(100% - 2px);
  min-height:54px;
  padding:7px 8px;
  column-gap:7px;
  border-radius:14px;
}
.app-menu-option-icon{
  width:36px;
  height:36px;
  border-radius:11px;
  font-size:.9rem;
}
.app-menu-option-icon svg{width:18px;height:18px}
.app-menu-option-copy{
  display:grid;
  grid-template-rows:none;
  align-content:center;
  gap:2px;
  padding-top:0;
}
.app-menu-option-copy strong{font-size:.76rem;line-height:1.12}
.app-menu-option-copy small{font-size:.55rem;line-height:1.15}
.app-menu-count{
  position:absolute;
  top:-5px;
  left:-5px;
  z-index:2;
  min-width:18px;
  height:18px;
  padding:0 4px;
  font-size:.52rem;
  line-height:1;
}
.app-menu-option>svg,
.app-menu-chevron{width:14px;height:14px}
.app-menu-database{font-size:.48rem;white-space:normal}
.app-menu-database strong{font-size:.51rem}

/* Landing background and shared lockup. */
body::before{
  z-index:0;
  translate:none;
  background:
    url("../assets/gradient-dither.png?v=1"),
    radial-gradient(ellipse 70% 62% at 50% 50%,transparent 12%,rgba(3,0,2,.77) 100%),
    url("../assets/velvet-grain.svg"),
    radial-gradient(ellipse 78% 57% at 50% 50%,rgba(124,22,33,.56),rgba(124,22,33,0))!important;
  background-size:128px 128px,auto,256px 256px,auto!important;
  background-position:0 0,50% 50%,0 0,50% 50%!important;
}
.landing-brand-lockup{
  --landing-lockup-width:min(79.32vw,42vh);
  --landing-lockup-width:min(79.32vw,42dvh);
  --landing-screen-midpoint:calc(22vh + 28% + 28px);
  --landing-screen-midpoint:calc(22dvh + 28% + 28px);
  --landing-edge-x:linear-gradient(90deg,transparent,#000 18% 82%,transparent);
  --landing-edge-y:linear-gradient(transparent,#000 calc(var(--landing-screen-midpoint) - 7%) calc(var(--landing-screen-midpoint) + 7%),transparent);
  --landing-copy-top:67%;
  --landing-tagline-width:56.8%;
  --landing-copy-gap:8px;
  position:fixed;
  left:50%;
  top:28%;
  z-index:0;
  width:var(--landing-lockup-width);
  aspect-ratio:941 / 1672;
  transform:translate3d(-50%,-28%,0) translateY(-28px);
  pointer-events:none;
  isolation:isolate;
}
.landing-brand-lockup::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:url("../assets/winestack-isolated-original-color.png") center / 100% 100% no-repeat;
  filter:sepia(.25) saturate(1.05) brightness(1.5) drop-shadow(0 5px 4px rgba(0,0,0,.65));
  opacity:0;
  animation:landingArtworkFade var(--backsplash-reveal-duration) ease 0s forwards;
}
@keyframes landingArtworkFade{from{opacity:0}to{opacity:.60}}
.landing-brand-copy{
  position:absolute;
  left:0;
  top:var(--landing-copy-top);
  z-index:1;
  display:flex;
  width:100%;
  flex-direction:column;
  align-items:center;
  gap:var(--landing-copy-gap);
  pointer-events:none;
}
.landing-brand-copy>.landing-tagline{
  --stitched-quote-width:100%;
  position:relative!important;
  inset:auto!important;
  width:var(--landing-tagline-width)!important;
  height:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  z-index:1!important;
  pointer-events:none!important;
  user-select:none!important;
  overflow:visible!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  flex:0 0 auto;
}
.landing-brand-copy>.landing-tagline .stitched-quote-art{
  opacity:.92;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.88));
}
.landing-brand-copy>.landing-tagline.search-hidden{
  visibility:hidden!important;
  opacity:0!important;
}
.landing-brand-copy>.landing-stack-anchor{
  pointer-events:auto;
}
body.focus-mode main>.landing-brand-lockup{
  filter:none;
  -webkit-filter:none;
}
@media print{
  .landing-brand-lockup{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .landing-brand-lockup::before{opacity:.60;animation:none}
}
