/* Tasting-only refinements. Shared organizer and support styles remain independent. */
.tasting-app {
  --amber-deep:#344635; --amber:#955421; --amber-light:#e8bd74;
  --cream:#f7f4ed; --char:#252b24; --oak:#555b4d; --line:#d9ddce;
  --card:#fffef9; --r:17px; --shadow:0 3px 14px #24352506;
  background:var(--cream);color:var(--char);
}
.tasting-app header{background:#344635;padding:12px 20px;box-shadow:0 2px 12px #24352520}
.app-wordmark{font:25px/1.2 Georgia,serif;letter-spacing:-1px;max-width:700px;margin:0 auto 13px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.app-wordmark span{font:9px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:.14em;color:#e0e5d3;text-align:right}
.tasting-app .hrow{max-width:700px;margin:auto}.tasting-app .hmeta{font-size:12px}.tasting-app #hEvent{font-weight:650;margin-bottom:3px}
.tasting-app .who{font-size:14px;padding:9px 12px}.tasting-app .dot{width:19px;height:19px}
.tasting-app main{max-width:740px;padding:27px 20px 30px}
.view-heading{margin-bottom:25px}.eyeline{display:block;font-size:10px;font-weight:800;letter-spacing:.13em;color:#765028;margin-bottom:10px}
.view-heading h1{font:37px/1.12 Georgia,serif;letter-spacing:-1.4px}.view-heading p{font-size:14px;color:var(--oak);margin:10px 0 0;line-height:1.6}
.tasting-app .card{padding:18px;border-color:var(--line);box-shadow:var(--shadow);margin-bottom:15px}
.tasting-app .btn{border-radius:12px;font-size:17px;letter-spacing:-.2px;min-height:58px}
.tasting-app .btn.sec{font-size:15px;background:var(--card);border-width:1px}.tasting-app .btn.sm{min-height:44px;padding:10px 15px;font-size:14px}
.tasting-app .btn.huge{background:linear-gradient(120deg,#344635,#40573d);min-height:166px;gap:9px;position:relative;overflow:hidden;border:1px solid #596c4e;font-size:22px}
.tasting-app .btn.huge:after{content:'';width:190px;height:190px;border:1px solid #e5d4a423;border-radius:50%;position:absolute;right:-72px;top:5px;pointer-events:none}
.line-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}
.btn.huge>.line-icon{width:37px;height:37px;stroke-width:1.3}.tasting-app .btn:not(.huge){gap:9px}
.tasting-app .sip-banner{padding:13px 15px;background:#edf0e5;border-color:#d3dbc5;margin-bottom:18px;color:#344635;font-size:13px}
.tasting-app .sip-banner strong{font-size:14px}.tasting-app .sip-banner p{font-size:12px}.sip-banner-badge{font-size:8px;letter-spacing:.09em}
.tasting-app .srch{border-width:1px;border-radius:12px;min-height:58px;box-shadow:var(--shadow)}.tasting-app .srch .line-icon{width:20px;color:var(--oak)}
.tasting-app .srch input{font-size:16px;min-width:0}.tasting-app .lbl{display:flex;align-items:center;gap:7px;margin-top:27px;line-height:1.5;font-size:11px;letter-spacing:.08em;flex-wrap:wrap}
.tasting-app .lbl>.line-icon{width:19px;height:19px;color:#6a4b29}.tasting-app .res .pn{font-size:16px;line-height:1.4;overflow-wrap:anywhere}.tasting-app .res .pd{font-size:12px;line-height:1.6;margin-top:4px}
.tasting-app .res button{padding:15px 0;width:100%}.tasting-app .sc{color:#754617;font-size:18px}.tasting-app .rank{padding:14px 0;gap:12px}.tasting-app .rk{background:#edf0e4;width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}
.tasting-app .drink-link{font-size:15px;line-height:1.4;color:#344635;text-decoration-thickness:1px;text-decoration-color:#929d83;overflow-wrap:anywhere}
.tasting-app .tabs{gap:8px;margin-bottom:17px}.tasting-app .tabs button{border-width:1px;font-size:13px;padding:10px 16px;min-height:44px}.tasting-app .tabs button.on{background:#344635;color:white}
.tasting-app .statstrip{gap:8px;margin-bottom:20px}.tasting-app .statstrip div{padding:15px 5px;border-radius:12px;background:#edeFe4}.tasting-app .statstrip b{font:29px/1.1 Georgia,serif}.tasting-app .statstrip span{font-size:9px;display:block;margin-top:5px;letter-spacing:.02em}
.tasting-app .sorter{gap:8px;flex-wrap:wrap}.tasting-app .sorter button{min-height:44px;border-width:1px}.tasting-app table.mx th,.tasting-app table.mx td{padding:11px 8px}.tasting-app .chip{background:#edf0e4;color:#45543c;padding:5px 8px;font-size:11px}
.tasting-app nav{padding:5px max(8px,calc((100% - 720px)/2)) calc(5px + env(safe-area-inset-bottom));background:#fffef9f5;backdrop-filter:blur(15px);border-top-color:var(--line);box-shadow:0 -4px 20px #24352508}
.tasting-app nav button{border-radius:11px;gap:5px;color:var(--oak);font-size:11px;letter-spacing:.02em;margin:0 4px;min-height:60px}.tasting-app nav button.on{background:#e9eedd;color:#2a412d}.tasting-app nav .line-icon{width:23px;height:23px}
.tasting-app .fld{border-width:1px;border-radius:10px;background:var(--card);font-size:16px}.tasting-app .fld:focus{outline:2px solid #344635;outline-offset:2px}
.tasting-app .stars{gap:0;justify-content:space-between;max-width:380px;margin:15px auto 5px}.tasting-app .star{flex:1;max-width:65px;min-width:44px;width:auto;height:64px;color:#77786a;font-size:40px}.tasting-app .star.on,.tasting-app .star .hf{color:#895019}.tasting-app .snums{justify-content:space-between;max-width:380px;margin:auto;gap:0}.tasting-app .snums span{flex:1;max-width:65px;width:auto}.tasting-app .anchor{font-size:14px;line-height:1.5;color:#614521;margin-top:15px;min-height:23px}
.tasting-app details:not(.account-menu){padding:5px 16px 15px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.tasting-app details:not(.account-menu)>summary{font-size:15px;min-height:48px}.tasting-app .tag{border-width:1px;min-height:44px;font-size:13px}.tasting-app .tag.on{background:#344635;color:white}
.pour-art{display:flex;width:64px;height:80px;flex-shrink:0;align-items:center;justify-content:center;background:#ececdb;color:#765127;border:1px solid #ddd9bd;border-radius:10px}.pour-art .line-icon{width:36px;height:42px;stroke-width:1.1}
.tasting-app .empty{padding:30px 16px;font-size:15px;line-height:1.8}.tasting-app .empty>.line-icon{display:block;margin:0 auto 14px;width:36px;height:36px}
.tasting-app a:focus-visible,.tasting-app button:focus-visible,.tasting-app summary:focus-visible{outline:3px solid #966b27;outline-offset:3px}
.recap-launch{width:100%;display:flex;align-items:center;gap:14px;padding:18px;background:#344635;color:#fff9eb;text-align:left;border-radius:14px;margin-bottom:22px;min-height:78px}.recap-launch>span:nth-child(2){flex:1}.recap-launch strong{display:block;font-size:15px}.recap-launch small{display:block;font-size:12px;color:#e0e5d3;margin-top:5px;line-height:1.5}
.recap-options{margin:24px 0 12px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.recap-options legend{padding:0 6px;font-size:13px;font-weight:700}.recap-options label{display:flex;align-items:center;gap:12px;min-height:44px;font-size:15px;cursor:pointer}.recap-options input{width:20px;height:20px;accent-color:#344635}.recap-options input:focus-visible{outline:3px solid #966b27;outline-offset:3px}.recap-notice{font-size:12px;line-height:1.6;margin-bottom:20px}
.recap-preview{padding:30px 25px;background:#293d30;color:#fff9eb;border:1px solid #64745a;outline:1px solid #9aa980;outline-offset:-9px;border-radius:4px;overflow-wrap:anywhere}.recap-brand{font-size:9px;font-weight:750;letter-spacing:.13em;color:#d9dfc5}.recap-preview h2{font:36px/1.14 Georgia,serif;letter-spacing:-1px;margin:25px 0 12px}.recap-tagline{font:italic 19px/1.4 Georgia,serif;color:#dfc59a;margin-bottom:30px}.recap-preview section{border-top:1px solid #6b795e;padding-top:19px;margin-top:24px}.recap-preview h3{color:#dfc59a;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px}.recap-preview section>p{font-size:13px;color:#d9dfc5;line-height:1.6}.recap-pour{display:flex;align-items:flex-start;gap:14px;margin:18px 0}.recap-pour>div{min-width:0;flex:1}.recap-pour strong{font:21px/1.25 Georgia,serif;display:block}.recap-pour small{display:block;font-size:11px;color:#d9dfc5;line-height:1.6;margin-top:6px}.recap-pour>b{font-size:13px;color:#dfc59a;white-space:nowrap;padding-top:5px}.recap-footnote{font-size:10px;line-height:1.6;color:#d9dfc5;margin:25px 0 20px}.recap-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.recap-actions .btn:first-child{grid-column:1/-1}#recapStatus{margin:15px 0;font-size:13px;line-height:1.6}#recapCopyFallback{min-height:200px}
@media(min-width:700px){.view-heading h1{font-size:43px}.recap-preview{padding:40px}.recap-preview h2{font-size:44px}.recap-pour strong{font-size:25px}.recap-pour>b{font-size:17px}.recap-options{display:flex;gap:25px;flex-wrap:wrap}.tasting-app .btn.huge{min-height:190px}}
@media(max-width:360px){.tasting-app main{padding-inline:14px}.tasting-app header{padding-inline:14px}.view-heading h1{font-size:32px}.tasting-app .card{padding:14px}.app-wordmark span{font-size:8px;max-width:140px}.recap-preview{padding:26px 20px}.recap-pour{display:block}.recap-pour>b{display:block}.recap-preview h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.tasting-app *{scroll-behavior:auto!important;transition:none!important}}

/* Each score belongs to a single drink, even when its name wraps. */
.person-rating-group + .person-rating-group{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.person-rating-label{margin:0 0 7px;font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:var(--oak)}
.person-rating-list{list-style:none;margin:0;padding:0}
.person-rating-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;column-gap:16px;padding:10px 0}
.person-rating-row + .person-rating-row{border-top:1px solid var(--line)}
.tasting-app .person-rating-row .drink-link{display:block;min-width:0;width:100%;padding:0;min-height:44px;text-align:left;line-height:1.5;overflow-wrap:anywhere}
.person-rating-score{display:flex;align-items:center;gap:3px;padding-top:0;white-space:nowrap;font-size:16px;font-weight:800;line-height:1.5;color:#754617}
.person-rating-score span{font-size:12px}

/* Personal journal and quieter everyday navigation. */
.tasting-app header{padding-top:9px;padding-bottom:9px}.app-wordmark{font-size:22px;margin-bottom:8px}.app-wordmark span{display:none}
.tasting-app main{padding-top:20px}.compact-heading{margin-bottom:18px}.compact-heading h1{font-size:32px;letter-spacing:-1px}
.tasting-app .btn.huge{min-height:135px}.tasting-app .drink-link{text-decoration:none}.tasting-app .drink-link:hover{text-decoration:underline}
.stats-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px!important;overflow:visible!important}.tasting-app .stats-tabs button{padding:10px 3px;font-size:11px;white-space:normal;border-radius:10px;line-height:1.4}
.group-tabs{display:flex;gap:8px;margin:12px 0 18px}.group-tabs button{padding:9px 14px;min-height:44px;border-bottom:2px solid transparent;font-size:13px;color:var(--oak)}.group-tabs button.on{border-color:var(--amber-deep);font-weight:800;color:var(--char)}
.tasting-app .recap-launch{padding:12px 16px;min-height:65px}.recap-launch small{font-size:11px}
.shopping-toggle{margin:15px 0 0}.shopping-toggle[aria-pressed=true]{background:#e8efdc!important;border-color:#5f7749!important;color:#2f472a!important}.shopping-hint{font-size:11px;color:var(--oak);margin:7px 0 17px;line-height:1.5}
.journal-tools{display:grid;gap:12px;margin-bottom:18px}.journal-sort{display:flex;align-items:center;gap:12px;color:var(--oak);font-size:13px}.journal-sort select{width:auto;flex:1;min-width:0;max-width:220px}.journal-count{font-size:12px;margin:0 0 14px}
.journal-list{display:grid;gap:14px}.journal-card{padding:16px;background:var(--card);border:1px solid var(--line);border-radius:15px;min-width:0}.journal-open{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;min-height:64px}.journal-info{flex:1;min-width:0}.journal-info strong{display:block;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.journal-info small{display:block;color:var(--oak);font-size:11px;line-height:1.6;margin-top:4px}
.bottle-thumb{width:48px;height:65px;border-radius:9px;object-fit:cover;flex-shrink:0;background:#eeeddd;border:1px solid #dcdcc9}.bottle-placeholder{display:flex;align-items:center;justify-content:center;color:#7b592c}.bottle-placeholder .line-icon{width:26px;height:32px}
.rating-badge{white-space:nowrap;background:#eeeddb;color:#71491c;padding:5px 7px;border-radius:8px;font-size:15px;font-weight:800}.rating-badge>span{font-size:10px;margin-left:2px}.journal-note{font-size:13px;line-height:1.6;color:var(--oak);margin:13px 0;white-space:pre-wrap;overflow-wrap:anywhere}.journal-shop{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:12px;width:100%;border-top:1px solid var(--line);padding:12px 0 0;font-size:12px;font-weight:700;text-align:left}.journal-shop .line-icon{width:18px;height:18px}.journal-shop[aria-pressed=true]{color:#345829}
.personal-notice{font-size:12px;line-height:1.7;margin:0 0 20px}.shopping-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.shopping-card strong{display:block;font-size:16px;line-height:1.4;overflow-wrap:anywhere}.shopping-actions{display:flex;gap:10px;margin-top:15px}.shopping-actions .btn{flex:1}.event-card h2{font:25px/1.2 Georgia,serif;margin:0 0 10px;overflow-wrap:anywhere}.event-card .btn{margin-top:17px}.event-card+.personal-notice,.journal-list+.personal-notice{margin-top:20px}
.tasting-app .empty h2{font:24px/1.2 Georgia,serif;margin:12px 0}.tasting-app .empty p{font-size:14px;line-height:1.7}
@media(max-width:350px){.journal-card{padding:12px}.journal-open{gap:8px}.bottle-thumb{width:38px;height:54px}.journal-info strong{font-size:14px}.rating-badge{font-size:13px;padding:4px}.compact-heading h1{font-size:29px}.tasting-app .stats-tabs button{font-size:10px}}
.activity-nudge{position:fixed;z-index:40;left:50%;transform:translateX(-50%);bottom:calc(85px + env(safe-area-inset-bottom));width:min(420px,calc(100% - 32px));display:flex;align-items:center;gap:8px;padding:10px 10px 10px 16px;background:#eef2e5;color:#293d30;border:1px solid #b7c7a5;border-radius:14px;box-shadow:0 6px 22px #24352525}
.activity-open{flex:1;min-width:0;text-align:left;padding:3px 0;line-height:1.4}.activity-kicker{display:block;font-size:8px;letter-spacing:.12em;color:#536545;font-weight:800;margin-bottom:4px}.activity-open [role=status]{display:block;font-size:14px;font-weight:750;overflow-wrap:anywhere}.activity-open small{display:block;font-size:11px;margin-top:4px}.activity-dismiss{min-width:44px;min-height:44px;font-size:24px;color:#43523a}
.activity-dialog{width:min(600px,calc(100% - 28px));max-height:80dvh;border:1px solid var(--line);border-radius:18px;background:var(--cream);color:var(--char);padding:22px;overflow:auto}.activity-dialog::backdrop{background:#18231980}.activity-dialog-head{display:flex;align-items:flex-start;gap:15px;margin-bottom:16px}.activity-dialog-head>div{flex:1;min-width:0}.activity-dialog h2{font:27px/1.15 Georgia,serif;letter-spacing:-.7px}.activity-dialog .eyeline{font-size:9px}.activity-dialog>p{font-size:13px;line-height:1.6}.activity-list{margin:20px 0}.activity-pour{display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.activity-pour strong{font-size:15px;line-height:1.4;display:block;overflow-wrap:anywhere}.activity-pour small{font-size:11px;line-height:1.5;color:var(--oak);display:block;margin-top:5px}

/* Keep the nudge in the header flow so it never covers rating controls. */
.activity-nudge{position:static;transform:none;width:100%;max-width:700px;margin:10px auto 0;box-shadow:none;padding:7px 9px 7px 13px}.activity-open .activity-kicker{display:none}.activity-open small{margin-top:2px}

/* Photos stay attached to the tasting, including queued local uploads. */
.photo-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.photo-actions .btn { flex:1; }
.photo-preview { padding:0; border:0; border-radius:12px; background:transparent; cursor:zoom-in; flex-shrink:0; }
.photo-preview .thumb { display:block; }
.photo-status { font-size:13px; line-height:1.5; margin:10px 0 0; }
.journal-photo { margin:10px 0 0; }
.photo-viewer { width:min(94vw,900px); max-height:94dvh; padding:14px; border:0; border-radius:16px; background:var(--paper,#faf7f0); }
.photo-viewer::backdrop { background:rgba(0,0,0,.8); }
.photo-viewer > img { display:block; width:100%; max-height:78dvh; object-fit:contain; margin-top:12px; }
.photo-viewer > .btn { width:auto; margin-left:auto; }

.photo-gallery { display:flex; flex-wrap:wrap; gap:14px; padding:14px 0; }
.photo-gallery span { display:block; margin-top:6px; font-size:13px; }
.history-entry { border-top:1px solid #ddd; padding:12px 0; }

.app-brand{display:flex;align-items:center;gap:9px}.app-brand img{display:block;flex:none;border-radius:50%}

.time-chart{padding-bottom:38px}
.time-chart .fat{gap:4px}
.time-chart .fat .b{background:#9a693f}
