/* Petter & Lotta's wine cellar: charcoal, oxblood and old brass. */
*{box-sizing:border-box}
:root{color-scheme:dark;--wine:#d4b77c;--wine-dark:#c3a166;--cream:#171319;--paper:#201b22;--ink:#f2e9dc;--muted:#b7aab7;--line:#3b303d;--gold:#d4b77c;--green:#b8c8ac;--red:#edabb4;--yellow:#dbc38e}
body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:wait}a{color:var(--gold)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.14}h1{font-size:clamp(40px,4.5vw,58px);letter-spacing:-1.8px;margin-bottom:12px}h2{font-size:30px;letter-spacing:-.6px}h3{font-size:24px}small{font-size:12px}
.topbar{max-width:1232px;margin:auto;height:104px;padding:0 52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:15px;align-items:center;text-decoration:none;font:28px Georgia,serif;color:var(--ink);letter-spacing:-.5px}.brand small{display:block;font:9px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;letter-spacing:2.5px;color:var(--gold);margin-top:8px}.brand-mark{display:flex;align-items:center;justify-content:center;gap:1px;width:45px;height:56px;border:1px solid #7f684f;border-radius:50% 50% 2px 2px;font:italic 30px Georgia,serif;color:var(--gold)}.crest-join{font-size:15px;margin-top:9px}
.account-button{background:none;border:0;display:flex;align-items:center;gap:10px;color:var(--ink);min-height:48px}#avatar{width:36px;height:36px;display:grid;place-items:center;border:1px solid #655040;border-radius:50%;color:var(--gold);font:18px Georgia,serif}
.workspace{max-width:1128px;margin:auto;padding:43px 0 65px}.welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;color:var(--gold);display:block;margin-bottom:14px}.welcome p{color:var(--muted);margin-bottom:0}.sync-status{font-size:11px;color:var(--muted);white-space:nowrap;display:flex;gap:8px;align-items:center;padding-bottom:4px}.status-dot{width:5px;height:5px;border-radius:50%;display:inline-block;background:var(--green)}
.scan-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#36212d;border:1px solid #60404c;padding:28px 32px;margin-bottom:29px;position:relative;overflow:hidden}.scan-banner:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold)}.scan-action{display:flex;gap:22px;align-items:center}.scan-banner h2{font-size:30px;margin-bottom:7px}.scan-banner p{font-size:14px;color:#cfbac8;margin-bottom:0}.barcode-art{width:51px;height:47px;display:flex;gap:3px;align-items:stretch;flex-shrink:0;padding:9px 6px;border-top:1px solid #a88d69;border-bottom:1px solid #a88d69}.barcode-art i{background:var(--gold);width:2px}.barcode-art i:nth-child(3n){width:4px}
.primary,.secondary,.danger,.scan-btn{min-height:48px;border-radius:3px;padding:12px 21px;font-weight:600;border:1px solid transparent;transition:background .18s,transform .18s,border-color .18s;display:inline-flex;justify-content:center;align-items:center;gap:14px;text-decoration:none}.primary,.scan-btn{background:var(--gold);color:#251b21}.primary:hover,.scan-btn:hover{background:#e5cb98;transform:translateY(-1px)}.secondary{border-color:#5e4e60;background:transparent;color:var(--ink)}.secondary:hover{background:#302633;border-color:#968171}.scan-btn{white-space:nowrap;font-size:14px;min-width:207px}.danger{color:var(--red);background:#3b232d;border-color:#6d3c4c}.wide{width:100%}
.invite-nudge{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 0 18px;margin-top:-9px;font-size:13px;color:var(--muted)}.invite-nudge .text-button{font-size:13px;flex-shrink:0}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px}.tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);flex:1}.tab{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:0 0 13px;min-height:48px;white-space:nowrap}.tab.active{color:var(--gold);border-color:var(--gold)}.count{font-size:11px;margin-left:7px;color:var(--muted);font-variant-numeric:tabular-nums}.tab.active .count{color:var(--gold)}.add-btn{background:transparent;border:1px solid #5e4e60;border-radius:3px;color:var(--ink);font-size:13px;min-height:46px;white-space:nowrap;padding:10px 15px}.add-btn:hover{background:var(--paper)}
.search-row{display:flex;gap:12px;margin-bottom:17px}.search-wrap{flex:1;min-width:0;position:relative;margin:0}.search-wrap span{position:absolute;left:17px;top:9px;color:var(--muted);font-size:27px;line-height:1}.search-wrap input{padding-left:48px;margin-top:0}.search-row select{width:180px}
input,select,textarea{border:1px solid #514351;border-radius:3px;min-height:48px;padding:12px 14px;color:var(--ink);background:#221c25;width:100%}input::placeholder,textarea::placeholder{color:#ab9daa}textarea{min-height:108px;resize:vertical}select{cursor:pointer}.collection-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--muted);font-size:12px}.sort-select{width:auto;min-height:44px;padding:7px 2px;border:0;background:transparent;font-size:12px}
.bottle-list{border-top:1px solid var(--line)}.bottle-row{width:100%;display:grid;grid-template-columns:76px minmax(160px,1fr) 170px 172px 16px;gap:22px;align-items:center;padding:22px 9px 22px 0;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent;color:var(--ink);transition:background .2s,transform .2s}.bottle-row:hover{background:#221b25;transform:translateX(3px)}.bottle-picture{height:116px;width:76px;object-fit:contain;border-radius:3px}.bottle-placeholder{height:116px;display:grid;place-items:center;background:#29222c;border:1px solid #403142;border-radius:42px 42px 2px 2px}.bottle-placeholder svg{height:87px;width:35px;color:#9e5f79;opacity:1}.bottle-name{font:24px/1.2 Georgia,serif;display:block;margin:5px 0 7px;overflow-wrap:anywhere}.bottle-producer{color:var(--muted);font-size:12px;overflow-wrap:anywhere}.bottle-meta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;flex-wrap:wrap}.wine-dot{width:7px;height:7px;border-radius:50%;background:#b97c96;display:inline-block;flex-shrink:0}.wine-dot.white{background:#cfbf8a}.wine-dot.rose{background:#daa5af}.wine-dot.sparkling{background:#d2c5a3}.rating-mini{display:block;font-size:12px;line-height:2}.stars{color:var(--gold);letter-spacing:1px;font-size:13px;margin-left:7px}.not-rated{color:var(--muted);font-size:11px;margin-left:6px}.badge{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:4px 8px;border-radius:3px;font-size:11px}.badge.favorite,.decision-banner.favorite{background:#253029;color:var(--green)}.badge.avoid,.decision-banner.avoid{background:#3b232d;color:var(--red)}.badge.mixed,.decision-banner.mixed{background:#332d23;color:var(--yellow)}.badge.untried{background:#302936;color:#d1c2d5}.purchase-date{display:block;color:var(--muted);font-size:11px;margin-top:10px}.row-arrow{color:var(--gold);font-size:25px}
.empty{text-align:center;padding:40px 20px}.empty-icon{color:var(--gold);font:52px Georgia,serif;margin-bottom:12px}.empty h2{font-size:29px;margin-bottom:12px}.empty p{color:var(--muted);max-width:380px;margin:0 auto 24px}.footnote{margin:28px 0 0;display:flex;gap:9px;align-items:center;justify-content:center;font:italic 13px Georgia,serif;color:var(--muted)}.loading{padding:80px 20px;text-align:center;color:var(--muted)}
.auth{max-width:428px;margin:38px auto 66px;padding:0 24px}.auth h1{font-size:45px;line-height:1.1;letter-spacing:-1.6px;margin:13px 0 20px}.auth>p{color:var(--muted)}.auth .eyebrow{font-size:9px;letter-spacing:2px}.auth-ornament{margin-bottom:25px;width:68px;height:86px;display:flex;gap:6px;justify-content:center;align-items:center;border:1px solid #796145;border-radius:50% 50% 2px 2px;font:italic 29px Georgia,serif;color:var(--gold)}.auth-ornament span{font-size:17px;margin-top:14px}.auth-note{font:italic 14px/1.7 Georgia,serif;border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.auth>.text-button{display:block;margin:8px auto 0}
.people-choice{border:0;padding:0;margin:0 0 21px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.people-choice legend{font-size:13px;font-weight:600;margin-bottom:10px}.people-choice label{position:relative;margin:0;cursor:pointer}.people-choice input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;padding:0}.people-choice span{display:flex;gap:11px;align-items:center;border:1px solid #514351;border-radius:3px;padding:11px 14px;min-height:58px;color:var(--muted);transition:background .2s,border-color .2s}.people-choice b{font:20px Georgia,serif;color:var(--gold)}.people-choice input:checked+span{background:#382b29;border-color:var(--gold);color:var(--ink)}.people-choice input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.password-wrap{position:relative;display:block}.password-wrap input{padding-right:68px}.password-wrap button{position:absolute;right:1px;top:1px;bottom:1px;width:62px;border:0;background:transparent;color:var(--gold);font-size:13px}
label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}label input,label select,label textarea{display:block;margin-top:8px;font-weight:400}.field{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 15px}.full{grid-column:1/-1}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.text-button{border:0;background:transparent;min-height:44px;color:var(--gold);padding:10px 0;text-decoration:underline;text-underline-offset:5px}.error{background:#3b232d;color:#ffbdc4;padding:12px 14px;font-size:14px;border-left:2px solid #e499a6;margin:15px 0}.hint{font-size:12px;color:var(--muted);line-height:1.6}.notice{background:#302a23;padding:13px 16px;font-size:13px;margin-bottom:20px;border-left:2px solid var(--gold)}.network{background:#3b3023;color:#f2d597;padding:10px 22px;text-align:center;font-size:13px;position:sticky;top:0;z-index:11}
dialog{border:1px solid #5b4656;background:var(--paper);color:var(--ink);border-radius:5px;padding:22px 30px 32px;width:580px;max-width:calc(100% - 30px);max-height:90svh;box-shadow:0 20px 100px #0009;animation:appear .23s ease-out}dialog::backdrop{background:#100d12d9;backdrop-filter:blur(5px)}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-top .eyebrow{margin:0}.icon-button{width:44px;min-height:44px;border:0;background:transparent;font-size:20px;color:var(--muted)}dialog h2{margin-bottom:20px}.detail-hero{display:flex;gap:25px;align-items:center;margin-bottom:25px}.detail-hero .bottle-picture,.detail-hero .bottle-placeholder{width:94px;height:151px;flex-shrink:0}.detail-hero h2{margin:8px 0;font-size:31px;overflow-wrap:anywhere}.detail-info{flex:1;min-width:0}.decision-banner{padding:16px 18px;border-radius:3px;margin-bottom:23px;font-size:14px;background:#302936}.decision-banner small{display:inline-block;margin-top:5px;line-height:1.5}.review-panel{padding:19px 0;border-bottom:1px solid var(--line)}.review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.review-panel p{font-size:14px;margin-bottom:6px;white-space:pre-wrap;overflow-wrap:anywhere}.review-panel .stars{font-size:19px;margin:0}.section-label{display:block;font-size:10px;letter-spacing:1.7px;color:var(--gold);margin:28px 0 2px;text-transform:uppercase}.decision-text{font-size:12px;color:var(--muted)}.purchase-list{padding:0;list-style:none;margin:10px 0;font-size:13px;color:var(--muted)}.purchase-list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0;gap:10px}.detail-footer{display:flex;gap:14px;justify-content:space-between;margin-top:15px;flex-wrap:wrap}.star-picker{display:flex;gap:4px;margin-bottom:23px}.star-picker button{font-size:35px;min-width:44px;height:53px;border:0;color:#827482;background:transparent}.star-picker button.selected{color:var(--gold)}
.scan-video{width:100%;height:260px;object-fit:cover;display:block;background:#100d12;border-radius:3px}.camera-wrap{position:relative;margin-bottom:16px;overflow:hidden}.scan-guide{position:absolute;left:12%;right:12%;top:25%;bottom:25%;border:2px solid var(--gold);border-radius:5px;pointer-events:none}.scan-guide:after{content:'';position:absolute;left:5%;right:5%;top:50%;border-top:1px solid #e3baba}.scanner-message{font-size:13px;color:var(--muted);min-height:24px}.divider{display:flex;gap:15px;align-items:center;font-size:10px;letter-spacing:1px;color:var(--muted);margin:22px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}
#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--gold);color:#251b21;padding:13px 23px;border-radius:3px;z-index:30;box-shadow:0 5px 30px #0007;max-width:90%;font-size:14px}.bottom-nav{display:none}.settings-block{border-top:1px solid var(--line);padding-top:23px;margin-top:24px}.settings-block h3{font-size:24px;margin-bottom:12px}.settings-block details>summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--gold)}#invitation .field{margin-top:20px}#invite-link{font-size:13px;user-select:all}.photo-preview{max-height:130px;max-width:100%;display:block;margin-bottom:10px}.confirmation{padding-top:10px}.fade-in{animation:appear .35s ease-out}
@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}[hidden]{display:none!important}
@media(max-width:1230px){.workspace{padding:36px 45px 65px}}
@media(max-width:1000px){.bottle-row{grid-template-columns:70px minmax(150px,1fr) 160px 16px;gap:17px}.bottle-row>.row-ratings{display:none}.bottle-picture{width:70px}.scan-banner{padding:26px}.barcode-art{display:none}.tabs{gap:20px}.sync-status{font-size:0;gap:0}}
@media(max-width:640px){
body{font-size:14px}.topbar{height:83px;padding:0 21px}.brand{font-size:24px;gap:11px}.brand small{font-size:8px;letter-spacing:2px;margin-top:6px}.brand-mark{height:47px;width:38px;font-size:26px}.crest-join{font-size:12px}.desktop-only{display:none}.account-button{padding:0;gap:5px}#avatar{width:33px;height:33px}.workspace{padding:28px 21px 107px}.welcome{align-items:flex-start;margin-bottom:23px;gap:8px}.welcome .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:11px}.welcome h1{font-size:42px;letter-spacing:-1.5px;margin-bottom:10px}.welcome p{font-size:13px;max-width:295px}.sync-status{margin-top:8px}.scan-banner{display:block;padding:22px 23px 23px;margin-bottom:23px}.scan-action{gap:0}.scan-banner h2{font-size:25px;margin-bottom:6px;letter-spacing:-.5px}.scan-banner p{font-size:13px}.scan-btn{width:100%;margin-top:20px;min-height:51px;justify-content:space-between;padding:12px 18px}.invite-nudge{font-size:12px;padding-bottom:14px;margin-top:-10px;gap:6px}.invite-nudge .text-button{font-size:12px}.toolbar{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:17px}.tabs{gap:0;justify-content:space-between;width:100%;flex:auto;order:1}.tab{font-size:13px;padding-bottom:11px;min-height:46px}.tab .count{font-size:11px;margin-left:5px}.add-btn{order:2;margin-left:auto;min-height:44px;padding:8px 13px;font-size:12px}.search-row{gap:8px}.search-row select{width:110px;font-size:13px;padding:10px 8px}.search-wrap input{font-size:16px;padding-left:38px;padding-right:9px}.search-wrap span{left:11px;top:11px;font-size:25px}.collection-head{font-size:11px;margin-bottom:4px}.sort-select{max-width:145px;font-size:11px}.bottle-row{grid-template-columns:62px minmax(0,1fr) 12px;column-gap:14px;row-gap:9px;padding:20px 0}.bottle-row>.row-decision{grid-column:2;grid-row:2}.bottle-row>.row-arrow{grid-column:3;grid-row:1/4}.bottle-row>.bottle-picture,.bottle-row>.bottle-placeholder{grid-column:1;grid-row:1/4;height:128px;width:62px}.bottle-row>.row-ratings{display:flex;grid-column:2;grid-row:3;flex-wrap:wrap;gap:0 11px}.bottle-meta{font-size:10px;gap:5px}.bottle-name{font-size:23px;margin:5px 0 6px}.bottle-producer{font-size:11px}.purchase-date{display:none}.row-decision .badge{padding:3px 7px;font-size:11px}.row-ratings .rating-mini{font-size:11px}.row-ratings .stars{font-size:12px;margin-left:5px}.row-ratings .not-rated{font-size:10px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;border-top:1px solid #4d3c4e;background:#1b161eee;backdrop-filter:blur(15px);padding:8px 10px max(8px,env(safe-area-inset-bottom));justify-content:space-around}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:48px;min-width:65px;border:0;background:none;color:var(--muted);font-size:10px}.bottom-nav button span{font-size:23px;line-height:1.2}.bottom-nav button.active{color:var(--gold)}#nav-scan{color:var(--gold)}.footnote{font-size:12px;margin-top:24px}.auth{margin:28px auto 50px;padding:0 26px}.auth-ornament{height:64px;width:53px;font-size:25px;margin-bottom:23px}.auth-ornament span{font-size:14px;margin-top:10px}.auth h1{font-size:38px;margin-bottom:18px}.auth>.eyebrow{font-size:8px;letter-spacing:1.7px}.auth-note{margin-top:22px;padding-top:20px}.people-choice{margin-bottom:18px}.people-choice span{min-height:55px;padding:10px 13px}.people-choice legend{font-size:13px}input,textarea{font-size:16px}.form-grid select{font-size:16px}.field{margin-bottom:18px}dialog{padding:17px 20px 26px;max-height:94svh;max-width:calc(100% - 16px)}.modal-top{margin-bottom:12px}.detail-hero{gap:17px}.detail-hero h2{font-size:28px}.detail-hero .bottle-picture,.detail-hero .bottle-placeholder{width:73px;height:137px}.detail-hero .bottle-meta{font-size:11px}.form-grid{gap:0 12px}.primary,.secondary,.danger{padding:12px 16px}.form-actions>.primary{flex:1}.review-heading .stars{font-size:17px}.empty{padding:30px 8px}.empty h2{font-size:28px}.scan-video{height:230px}#toast{bottom:88px;min-width:240px;text-align:center}
}
@media(max-width:350px){.topbar{padding:0 15px}.brand{font-size:22px;gap:8px}.brand-mark{width:32px;font-size:23px}.workspace{padding-left:16px;padding-right:16px}.welcome h1{font-size:39px}.scan-banner{padding:20px}.scan-banner h2{font-size:23px}.tab{font-size:12px}.tab .count{margin-left:4px}.search-row{flex-wrap:wrap}.search-wrap{flex-basis:100%}.search-row select{width:100%}.bottle-row{gap:9px;grid-template-columns:53px minmax(0,1fr) 9px}.bottle-row>.bottle-picture,.bottle-row>.bottle-placeholder{width:53px}.bottle-name{font-size:21px}.invite-nudge{flex-wrap:wrap}.auth{padding:0 22px}.auth h1{font-size:35px}.star-picker{gap:1px}.detail-hero h2{font-size:25px}.review-heading{flex-wrap:wrap;gap:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.collection-actions{display:flex;align-items:center;gap:22px}.auth{margin-top:58px}.auth h1{margin-top:20px}
@media(max-width:640px){.auth{margin-top:43px}.toolbar{margin-bottom:17px}.collection-actions{gap:0}.collection-actions #result-count{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.collection-head{margin:4px 0 13px}.collection-head .add-btn{margin:0;min-height:44px}.search-row{margin-bottom:12px}}
