@font-face{font-family:PalateHand;src:url('/assets/palate/Caveat.ttf') format('truetype');font-display:swap}
.dock-actions{grid-template-columns:repeat(5,minmax(0,1fr))!important}
[data-portfolio-open] svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body.palate-open{overflow:hidden!important}
#palatePortfolio{--pp-gold:#c8a569;--pp-paper:#eee0c0;--pp-ink:#36251c;position:fixed;inset:0;z-index:1300;color:#efe2c6;background:#23140e url('/desktop/assets/wood-grain.svg') center/430px;font-family:Georgia,'Times New Roman',serif;overflow:auto;overscroll-behavior:contain;isolation:isolate}
#palatePortfolio[hidden]{display:none}
#palatePortfolio *{box-sizing:border-box}
#palatePortfolio button,#palatePortfolio input,#palatePortfolio select,#palatePortfolio textarea{font:inherit}
#palatePortfolio button{cursor:pointer;touch-action:manipulation}
#palatePortfolio button:disabled{opacity:.5;cursor:default}
#palatePortfolio :focus-visible{outline:3px solid #e7be70;outline-offset:4px}
#palatePortfolio .pp-top{position:sticky;top:0;z-index:12;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:calc(var(--safe-top,0px) + 12px) max(16px,env(safe-area-inset-right)) 12px;background:linear-gradient(#20150feb,#28160ff5);border-bottom:1px solid #98723e;box-shadow:0 3px 12px #0006}
.pp-top h1{font-size:clamp(18px,2.5vw,24px);font-weight:normal;margin:0;text-align:center;letter-spacing:.04em}
#palatePortfolio .pp-icon-button{min-width:42px;min-height:42px;border:1px solid #ad895077;border-radius:50%;background:#20130d;color:#e8ce9b;font:22px Georgia}
.pp-main{max-width:1180px;margin:auto;padding:26px 22px calc(36px + var(--safe-bottom,0px))}
.pp-status{min-height:0;margin:0;text-align:center;font:14px/1.5 system-ui,sans-serif;color:#edcf97}
.pp-status:not(:empty){margin:10px auto;padding:10px 16px;max-width:760px;background:#170d09eb;border:1px solid #906a3c;border-radius:7px}
.pp-status[data-error=true]{color:#ffc4af;border-color:#b96e55}
.pp-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-bottom:25px}
.pp-library-title{font:small-caps 27px/1.2 Georgia;margin:0 0 5px;color:#dec18c;letter-spacing:.06em}
.pp-subtitle{font:13px/1.5 system-ui;color:#c8b496;margin:0}
#palatePortfolio .pp-button{border:1px solid #b18a50;background:linear-gradient(#6d3929,#452018);color:#f6e6c3;min-height:42px;padding:10px 18px;border-radius:6px;font:14px/1.25 system-ui,sans-serif;box-shadow:inset 0 1px #e2b56a44}
#palatePortfolio .pp-button.pp-secondary{background:#231a13;color:#ddc299}
.pp-search{display:flex;align-items:center;gap:10px;flex:1;max-width:350px}
#palatePortfolio input,#palatePortfolio textarea,#palatePortfolio select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #9d805c;border-radius:5px;background:#fff9e9;color:#30251c;font:16px/1.4 system-ui,sans-serif}
.pp-search input{background:#180f0b!important;color:#f4e2bf!important;border-color:#87643c!important}
.pp-library{border:14px ridge #704022;border-radius:8px;box-shadow:0 10px 32px #0008,inset 0 0 20px #000c;background:radial-gradient(ellipse at 50% 0,#7b43253b,transparent 60%),#120b07;padding:26px 22px 0}
.pp-shelf-group{margin:0 0 26px}
.pp-shelf-letter{color:#cba36b;font:13px system-ui;letter-spacing:.2em;padding:0 3px 14px;margin:0}
.pp-shelf{display:flex;align-items:flex-end;flex-wrap:wrap;gap:9px 7px;position:relative;padding:0 9px 18px;border-bottom:20px ridge #734226;box-shadow:0 9px 10px #000b;margin-bottom:14px;perspective:1000px}
#palatePortfolio .pp-book{position:relative;flex:0 0 58px;height:243px;display:flex;align-items:center;justify-content:center;padding:22px 7px;border:1px solid #bb945769;border-radius:5px 3px 2px 4px;color:#e5c695;background:repeating-linear-gradient(0deg,transparent 0 47px,#b98a4d33 48px 50px,transparent 51px 97px),linear-gradient(90deg,#130b08 0,#70402f 12%,var(--book-color,#43251b) 33%,#1b110e 96%);box-shadow:inset 3px 0 4px #c1965a35,3px 0 5px #0009;transform-origin:10% 80%;transition:transform .3s,filter .3s}
.pp-book:nth-child(3n){height:258px}.pp-book:nth-child(4n){height:231px}.pp-book:hover,.pp-book:focus-visible{transform:translateY(-9px) rotate(-2deg);filter:brightness(1.2);z-index:2}
.pp-book span{writing-mode:vertical-rl;text-orientation:mixed;max-height:205px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:small-caps 19px/1.2 Georgia;letter-spacing:.06em;text-shadow:1px 1px #160b04}
.pp-book::before,.pp-book::after{content:'';position:absolute;left:7px;right:6px;height:5px;border-block:1px solid #bb925966;top:13px}.pp-book::after{top:auto;bottom:12px}
.pp-book.is-pulling{transform:translateZ(90px) translateY(-14px) rotateY(-18deg);filter:brightness(1.4)}
.pp-library-empty{max-width:730px;margin:0 auto;padding-bottom:25px;text-align:center}
.pp-endpaper{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:1px solid #7f5a32;box-shadow:0 4px 17px #0008}
.pp-empty-copy{font:15px/1.65 system-ui;color:#e2caa4;max-width:480px;margin:20px auto}
.pp-cover-stage{perspective:1400px;padding:12px 0 28px;max-width:630px;margin:auto}
.pp-cover{position:relative;border:2px solid #9e7844;border-left:20px solid #312016;border-radius:12px 8px 8px 11px;padding:34px 35px 30px;min-height:640px;background:repeating-linear-gradient(38deg,#ffffff04 0 1px,transparent 1px 4px),radial-gradient(ellipse at 50% 35%,#4a4030,#25251b 72%);box-shadow:8px 9px 0 #bca98b,10px 11px 0 #402719,0 22px 55px #000a,inset 0 0 0 7px #17150c,inset 0 0 0 9px #8f713d;transform-origin:0 50%;text-align:center}
.pp-cover::before,.pp-cover::after{position:absolute;content:'❧';font:58px Georgia;color:#b58b4c;top:15px;left:14px;transform:rotate(-45deg)}
.pp-cover::after{top:auto;left:auto;right:13px;bottom:7px;transform:rotate(135deg)}
.pp-cover .pp-monogram{width:95px;height:102px;display:grid;place-content:center;border:3px double #b58d4a;margin:4px auto 22px;color:#d0a36a;font:70px/1 Georgia;text-shadow:2px 3px #160d08;box-shadow:inset 0 0 15px #b5803133;background:#3a291c}
.pp-cover .pp-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#c6a36a;font:11px system-ui;margin:0 0 12px}
.pp-cover h2{font:normal clamp(27px,5vw,40px)/1.2 Georgia;color:#e7cd9b;margin:0 0 30px;overflow-wrap:anywhere}
.pp-cover-menu{display:grid;gap:9px;max-width:340px;margin:auto}
#palatePortfolio .pp-cover-menu button{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;text-align:left;color:#ead5b0;background:#100d0969;border:1px solid #a2854b88;border-radius:3px;padding:14px 12px;min-height:50px;font:16px Georgia}
.pp-cover-menu button small{font:12px system-ui;color:#bfa77d}
.pp-cover-footer{margin-top:26px;font:12px system-ui;color:#bcaa8b}
.pp-paper{position:relative;color:var(--pp-ink);background:radial-gradient(ellipse at 15% 15%,#fff9e4b0,transparent 55%),repeating-linear-gradient(80deg,#78532e05 0 1px,transparent 1px 5px),var(--pp-paper);padding:30px;border:1px solid #a28050;box-shadow:0 10px 24px #0007,inset 0 0 40px #b1843430;border-radius:3px}
.pp-page-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;flex-wrap:wrap;padding-bottom:18px;margin-bottom:22px;border-bottom:3px double #aa8b58}
.pp-page-heading h2{font:normal 27px Georgia;margin:0;color:#64321e}.pp-page-heading p{font:14px system-ui;margin:6px 0 0;color:#6b5741}
.pp-paper h3{font:normal 21px Georgia;color:#653a25;margin:23px 0 12px}
.pp-paper p{line-height:1.6}.pp-paper .pp-subtitle{color:#6c5740}
.pp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid #b59b71;background:#b59b71;margin-bottom:26px}
.pp-stat{padding:18px 10px;text-align:center;background:#f6eaca}
.pp-stat strong{display:block;font:30px Georgia;color:#713b27}.pp-stat span{display:block;font:12px/1.4 system-ui;color:#705b43;margin-top:7px}
.pp-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
.pp-palate-graphic{width:100%;max-width:350px;display:block;margin:auto;overflow:visible}
.pp-palate-graphic text{font:12px Georgia;fill:#5a3924}.pp-palate-graphic .pp-trait-axis{stroke:#aa8a59;stroke-width:1;fill:none}.pp-palate-graphic .pp-trait-fill{fill:#862f3144;stroke:#792d2c;stroke-width:2}
.pp-legend{font:12px/1.5 system-ui;color:#765d43;margin:10px 0}.pp-trait-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font:12px system-ui;text-align:center}
.pp-trait-values strong{display:block;font:17px Georgia;margin-top:3px}
.pp-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:13px 0}.pp-tags li{padding:6px 10px;border:1px solid #a98b5d;border-radius:20px;font:13px system-ui;background:#f7edd6}
#palatePortfolio .pp-narrative{display:block;text-align:left;width:100%;border:0;border-left:3px solid #9c6f3d;padding:12px 16px;background:#ead7b470;color:#3b2a20;font:18px/1.7 Georgia}
.pp-narrative span{display:block;font:12px system-ui;color:#785938;margin-top:10px}
.pp-narrative[aria-pressed=true]{box-shadow:0 0 0 2px #b18b4e}.pp-highlight-list{padding-left:20px;font:15px/1.6 Georgia}
.pp-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.pp-detail-box{padding:15px;border:1px solid #baa47d;font:14px/1.6 system-ui}.pp-detail-box h3{margin:0 0 10px;font:18px Georgia}.pp-detail-box p{margin:4px 0}
.pp-art-strip{width:100%;display:block;max-height:220px;object-fit:cover;object-position:50% 38%;margin:24px 0 0;border-top:1px solid #9a753d;opacity:.92}
.pp-cabinet{background:radial-gradient(ellipse at 50% 0,#8a2833,transparent 65%),repeating-linear-gradient(95deg,#480916 0,#6a1223 30px,#350812 60px);border:15px ridge #714026;padding:27px 20px;box-shadow:inset 0 0 50px #160308,0 10px 24px #0008}
.pp-bottles{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:30px 18px}
.pp-bottle-item{text-align:center;min-width:0;border-bottom:12px ridge #8c4f2d;padding-bottom:15px;position:relative}
.pp-bottle-count{display:inline-grid;place-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:50%;border:1px solid #c7a366;background:#2b1712;color:#f7dfb4;font:19px Georgia;margin-bottom:42px;box-shadow:0 2px 10px #0009}
.pp-bottle{width:98px;height:235px;margin:0 auto 12px;position:relative;background:linear-gradient(90deg,#0b0e08,#1d2418 20%,#4d4d2c 27%,#15190e 40%,#050805 90%);border-radius:32px 32px 7px 7px;box-shadow:5px 10px 13px #000a,inset 2px 0 3px #9f9d5d77;display:flex;align-items:center;justify-content:center;padding:24px 6px 8px}
.pp-bottle::before{content:'';position:absolute;top:-29px;left:32px;width:34px;height:50px;background:linear-gradient(90deg,#28171a,#7c343c 30%,#30161a);border-radius:4px 4px 2px 2px;border-top:2px solid #b78762}
.pp-bottle img{width:100%;height:142px;object-fit:contain;position:relative;filter:drop-shadow(0 1px 1px #0009)}
.pp-label-missing{font:12px/1.4 system-ui;color:#e1d4b7;padding:8px}.pp-bottle-item h3{font:16px/1.35 Georgia;margin:0;color:#f0d5af}.pp-bottle-item p{font:13px system-ui;color:#d9b990;margin:7px 0 0}
.pp-ledger{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:4px;background:#eaddbf;box-shadow:0 12px 40px #0008;color:#3a281d;position:relative}
.pp-ledger-page{padding:29px 28px 40px;background:linear-gradient(90deg,#b8996022,#f5e9cd 7%,#f0e1c1 91%,#a1875a55);min-height:520px;min-width:0}
.pp-ledger-page+.pp-ledger-page{background:linear-gradient(90deg,#8c724c55,#f3e5c7 8%,#efe0bc 94%,#b8996044);border-left:6px double #7f6342}
.pp-ledger-page h3{font:small-caps 25px Georgia;text-align:center;color:#7f3728;margin:0 0 25px}.pp-hand{font:25px/1.4 PalateHand,cursive;color:#422d27}
.pp-ledger-row{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-bottom:10px;border-bottom:1px solid #9e805e66;padding-bottom:4px;font:13px Georgia}.pp-ledger-row .pp-hand{flex:1;overflow-wrap:anywhere}
.pp-ledger-label{display:block;height:280px;max-width:100%;margin:24px auto 0;object-fit:contain;filter:drop-shadow(1px 3px 2px #7a5e3933)}
.pp-ledger-note{white-space:pre-wrap;border-block:1px solid #b59b70;padding:12px 0;overflow-wrap:anywhere}
.pp-date-list{display:grid;gap:8px}.pp-date-list button{text-align:left}.pp-date-list small{display:block;opacity:.8;margin-top:6px}
.pp-entry-controls{display:flex;gap:10px;justify-content:space-between;align-items:center;margin:0 0 18px;flex-wrap:wrap}
.pp-preferences{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pp-preference{display:grid;grid-template-columns:65px 1fr;gap:14px;border:1px solid #b59a70;padding:15px;min-width:0;background:#f7ecd1}
.pp-preference img{width:65px;height:100px;object-fit:contain}.pp-preference h3{font:18px Georgia;margin:0 0 7px}.pp-preference p{font:13px/1.5 system-ui;margin:5px 0}.pp-preference .pp-actions{grid-column:1/-1}.pp-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.pp-form label{display:block;font:13px/1.5 system-ui;color:#6d5037;margin-bottom:14px}.pp-form label>span{display:block;margin-bottom:5px}.pp-form textarea{min-height:90px;resize:vertical}.pp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.pp-form-grid .pp-wide{grid-column:1/-1}
.pp-toggle{display:flex!important;align-items:center;gap:10px;padding:12px;border:1px solid #b7a07a;border-radius:4px}.pp-toggle input{width:20px!important;min-height:20px!important;height:20px;accent-color:#78452a}.pp-toggle span{margin:0!important}
.pp-form .pp-required-note{font:12px/1.5 system-ui;color:#715b43;margin-bottom:22px}.pp-form-wines{display:grid;gap:14px}.pp-form-wine{padding:15px;border:1px solid #b3996e;background:#f6ecd5}.pp-form-wine h3{font:18px Georgia;margin:0 0 12px}
.pp-feedback{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}.pp-feedback label{display:flex;align-items:center;gap:5px;margin:0;padding:7px 9px;background:#e5d4b2;border:1px solid #b99a68;border-radius:20px;cursor:pointer}.pp-feedback input{min-height:15px!important;width:15px!important;height:15px;accent-color:#743b27}
.pp-switcher{display:flex;align-items:center;border:1px solid #b5975c;background:#2d1b13;border-radius:30px;padding:4px;gap:4px;margin:0 auto 24px;width:min(100%,360px)}
#palatePortfolio .pp-switcher button{flex:1;border:0;background:transparent;color:#d1b88e;border-radius:24px;padding:12px 15px;font:14px system-ui;min-height:44px}.pp-switcher button[aria-selected=true]{background:linear-gradient(#d0ab69,#967443)!important;color:#21150c!important;box-shadow:0 2px 6px #0007}
.pp-selection-summary{padding:12px;border:1px solid #b59a69;font:14px/1.5 system-ui;margin:16px 0}.pp-research-preview{max-width:130px;max-height:160px;object-fit:contain;display:block;margin:15px auto}.pp-research-result{padding:15px;border:1px solid #bca06a;margin:14px 0;background:#f7ecd2}.pp-research-result h3{margin:0 0 7px}.pp-question fieldset{border:1px solid #ac8d5c;padding:15px;margin:15px 0}.pp-question label{display:flex;align-items:center;gap:9px}.pp-question input{width:18px!important;min-height:18px!important}
.pp-suggestions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:30px;align-items:start}.pp-suggestion{min-width:0;max-width:360px;margin:0 auto;width:100%}.pp-suggestion .wine-card{width:100%;margin:0;touch-action:pan-y;cursor:pointer}.pp-suggestion .wine-swipe-slot{margin:0;position:relative;isolation:isolate}.pp-suggestion .pp-card-explanation{padding:16px 8px;font:15px/1.6 Georgia;color:#e7d3ae}.pp-card-explanation p{margin:0 0 10px}.pp-card-explanation strong{font:12px system-ui;text-transform:uppercase;letter-spacing:.08em;color:#c29a5d}.pp-card-explanation button{font-size:12px!important;padding:8px 12px!important}
.pp-section-title{color:#dfc18b;font:normal 26px Georgia;border-bottom:1px solid #9b7845;padding-bottom:14px;margin:10px 0 25px}.pp-discovery{max-width:370px;margin:35px auto 0}.pp-swipe-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;font:13px system-ui;margin-bottom:22px}
.pp-voice-border{position:absolute;inset:-4px;border:2px solid #ead398;border-radius:12px;box-shadow:0 0 10px #dfb76a,inset 0 0 10px #dab16c;pointer-events:none;z-index:5;animation:pp-voice 1.1s ease-in-out infinite}
@keyframes pp-voice{0%,100%{box-shadow:0 0 5px #c3944a,inset 0 0 5px #c3944a;border-color:#9d733b}50%{box-shadow:0 0 18px #edd096,inset 0 0 9px #e9c37c;border-color:#fff0bd}}
body.portfolio-picking #comparisonPickerBar{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:10px}
body.portfolio-picking #resultMeta{position:static}
body.portfolio-picking #comparisonPickerTitle{flex:1;font-size:13px}
body.portfolio-picking #portfolioPickerOther{border-radius:24px;background:#2d1b13;color:#dec699;border:1px solid #a2834f;padding:9px 12px;font:13px system-ui}
body.portfolio-picking #portfolioPickerSubmit{border-radius:24px;background:linear-gradient(#bd9a5c,#836039);color:#fff2d5;border:1px solid #d2b16d;padding:9px 15px;font:13px system-ui}
.is-portfolio-selected{outline:3px solid #e4bc69;outline-offset:4px;border-radius:12px;animation:pp-selection 1.8s ease-in-out infinite}
@keyframes pp-selection{0%,100%{box-shadow:0 0 9px #d9aa4b88}50%{box-shadow:0 0 24px #f0ce7ac9}}
.pp-toast{position:fixed;bottom:calc(25px + var(--safe-bottom,0px));left:50%;transform:translateX(-50%);max-width:min(600px,90vw);z-index:100;color:#f7e5bf;background:#24170ff2;border:1px solid #b18a50;padding:13px 20px;border-radius:6px;font:14px/1.4 system-ui;box-shadow:0 5px 20px #0007}
.pp-alert{padding:12px 15px;background:#f3d3bd;color:#672b20;border:1px solid #ac6a4b;font:14px/1.5 system-ui;margin:14px 0}.pp-loading{font:15px system-ui;text-align:center;padding:40px 15px}.pp-empty{font:15px/1.6 system-ui;padding:25px;text-align:center}
.pp-description-panel{margin-top:12px;padding:15px;background:#efe0bf;color:#3a291c;border-left:3px solid #b28b4a;font:15px/1.6 Georgia}
@media(max-width:600px){.pp-main{padding:20px 13px calc(30px + var(--safe-bottom,0px))}.pp-top{gap:8px!important}.pp-library{border-width:9px;padding:21px 10px 0}.pp-shelf{gap:9px 5px;padding-inline:2px}.pp-book{flex-basis:51px!important;height:228px!important}.pp-book:nth-child(3n){height:239px!important}.pp-book span{font-size:17px;max-height:190px}.pp-cover{padding:30px 22px 26px;border-left-width:13px;min-height:580px}.pp-cover-menu{gap:8px}.pp-cover h2{margin-bottom:20px}.pp-paper{padding:21px 17px}.pp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pp-profile-grid,.pp-detail-grid,.pp-preferences,.pp-ledger{grid-template-columns:1fr}.pp-ledger-page{padding:24px 21px;min-height:0}.pp-ledger-page+.pp-ledger-page{border-left:0;border-top:6px double #9a8057}.pp-ledger-label{height:250px}.pp-cabinet{border-width:10px;padding:25px 11px}.pp-bottles{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 11px}.pp-form-grid{grid-template-columns:1fr}.pp-form-grid .pp-wide{grid-column:auto}.pp-toolbar{align-items:stretch}.pp-search{max-width:none;flex-basis:100%}.pp-section-title{font-size:24px}.pp-suggestions{grid-template-columns:minmax(0,1fr);gap:20px}.pp-cover-stage{padding-right:9px}}
@media(prefers-reduced-motion:reduce){#palatePortfolio *,body.portfolio-picking *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#palatePortfolio .pp-voice-border.stack-listening-aura{position:absolute;inset:-3px;z-index:5;visibility:visible;opacity:1;animation:none;--stack-aura-inner:12px;--stack-aura-outer:28px;border:0;background:none;contain:layout paint style}
#palatePortfolio .pp-suggestion .off-menu-card-label{pointer-events:none}
/* Native app chrome uses a reserved high layer; keep guest surfaces above it. */
#palatePortfolio{z-index:2147483501}
body.palate-open .wine-tech-sheet-viewer,body.palate-open .wine-tech-sheet-turn-stage,body.palate-open .wine-tech-sheet-preparation-cancel{z-index:2147483630}
body.portfolio-picking [data-portfolio-open]{visibility:hidden;pointer-events:none}

.pp-main>.pp-page-heading h2{color:#dfc18b}.pp-main>.pp-page-heading p{color:#ccb58f}
