:root{--ink:#501d32;--pink:#efdae3;--paper:#faf5ec;--sand:#e8dfca;--muted:#765b66;--line:#e5cfd8;--white:#fffdfa}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.45 system-ui,-apple-system,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b36c8a;outline-offset:3px}.top{background:var(--ink);color:var(--paper);padding:22px max(5vw,20px);display:flex;align-items:center;justify-content:space-between}.brand{font-size:clamp(28px,6vw,44px);font-weight:850;letter-spacing:-1.8px;line-height:1}.brand span{color:#e7a4c0}.brand small{display:block;font-size:10px;letter-spacing:1.7px;margin-top:9px;color:#e7bbcf}.bell{font-size:29px;border:1px solid #9f637d;border-radius:50%;width:44px;height:44px;text-align:center;line-height:42px}main{max-width:800px;margin:auto;padding:18px 16px 104px}h1,h2,h3,p{margin:0 0 12px}h1{font-size:clamp(29px,6vw,45px);line-height:1.12;letter-spacing:-1.3px}h2{font-size:23px;line-height:1.2;letter-spacing:-.4px}h3{font-size:18px}p{overflow-wrap:anywhere}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:11px;font-weight:800;color:var(--muted);margin:0 0 8px}.card{border:1px solid var(--line);background:var(--white);border-radius:20px;padding:18px;margin:12px 0}.pink{background:var(--pink);border-color:transparent}.dark{background:var(--ink);color:var(--paper);border-color:transparent}.dark .muted,.dark .eyebrow{color:#ebbed1}.sand{background:var(--sand);border-color:transparent}.hero{position:relative;overflow:hidden;padding:24px;min-height:205px}.hero h1{max-width:76%;font-size:clamp(31px,7vw,50px)}.hero p{max-width:68%}.bottle-art{position:absolute;right:-2px;bottom:-14px;width:115px;height:200px;transform:rotate(16deg);opacity:.92}.bottle-art .neck{position:absolute;background:#331d2c;width:27px;height:80px;border-radius:8px;left:44px;top:0}.bottle-art .glass{position:absolute;background:#331d2c;width:79px;height:145px;border-radius:26px 26px 12px 12px;left:18px;top:54px;box-shadow:inset 8px 0 #5b3b4c}.bottle-art .label{position:absolute;background:#f6dfc4;color:#501d32;left:22px;top:107px;width:71px;height:68px;font:900 13px/1.05 system-ui;display:grid;place-items:center;text-align:center;transform:rotate(-4deg)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:11px}.tile{padding:17px;border:1px solid var(--line);background:var(--white);border-radius:18px;display:block}.tile b{display:block;font-size:18px;margin:10px 0 4px}.tile span{font-size:24px}.tile small,.muted,small{color:var(--muted)}.tile small{display:block;line-height:1.3}.btn,button{background:var(--ink);color:var(--paper);border:0;border-radius:12px;padding:12px 16px;display:inline-block;font:700 15px system-ui;cursor:pointer;max-width:100%;text-align:center}.btn.alt,button.alt{background:var(--pink);color:var(--ink)}.btn.light,button.light{background:var(--paper);color:var(--ink)}.btn.ghost,button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.dark .btn.ghost{color:var(--paper);border-color:#95617b}.danger{background:#8b2636}button:disabled{opacity:.5}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grow{flex:1}.stack{display:grid;gap:10px}.field{display:block;font-size:14px;font-weight:700;margin:12px 0}input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;border:1px solid #cdb0be;padding:12px;border-radius:11px;background:white;color:var(--ink);font:16px system-ui;margin-top:5px}textarea{resize:vertical}.check{display:flex;align-items:center;gap:8px;font-size:14px;margin:12px 0}.check input{width:18px;height:18px;accent-color:var(--ink)}.bottom{position:fixed;z-index:10;bottom:0;left:0;right:0;display:flex;justify-content:space-around;padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line)}.bottom a{flex:1;text-align:center;font-size:11px;color:var(--muted);font-weight:650}.bottom span{display:block;font-size:23px;line-height:1.2}.bottom .active{color:var(--ink);font-weight:850}.bottom .scan-nav span{background:var(--ink);color:white;border-radius:50%;width:33px;height:33px;line-height:30px;margin:-6px auto 0}.alert{background:var(--sand);border-radius:14px;padding:13px;margin:10px 0;white-space:pre-wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:11px}.grid .card{margin:0}.photo{width:100%;max-height:350px;object-fit:contain;border-radius:14px;background:#eee5da}.grid .photo{height:175px;object-fit:cover}.wine-name{font-size:18px;font-weight:800;line-height:1.2;margin:10px 0 4px}.stars{color:#936323}.pill{display:inline-block;background:var(--pink);color:var(--ink);padding:5px 10px;border-radius:20px;font-size:12px;font-weight:700;margin:3px 0}.message{white-space:pre-wrap;background:var(--pink);padding:13px;border-radius:14px;margin:8px 0;overflow-wrap:anywhere}.message.mine{background:var(--sand);margin-left:10%}.post .photo{max-height:420px}.avatar{background:var(--pink);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;font-weight:900}.divider{border:0;border-top:1px solid var(--line);margin:17px 0}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.subnav a{background:var(--pink);border-radius:18px;padding:8px 12px;font-size:14px;font-weight:700}.empty{padding:25px;text-align:center}.score{font-size:64px;font-weight:900;letter-spacing:-4px;line-height:1}.question{border-bottom:1px solid var(--line);padding:10px 0 16px;margin-bottom:10px}.question label{display:block;margin:8px 0}.question input{accent-color:var(--ink)}footer{font-size:12px;color:var(--muted);margin:28px 0 0;text-align:center}footer a{text-decoration:underline}[hidden]{display:none!important}form.inline{display:inline-block}hr{border:0;border-top:1px solid var(--line);margin:18px 0}.hint{font-size:13px;color:var(--muted)}.wrap{white-space:pre-wrap;overflow-wrap:anywhere}.link{font-weight:700;text-decoration:underline}.post{margin-bottom:20px}@media(min-width:700px){.bottom{max-width:800px;margin:auto;border-radius:16px 16px 0 0}.hero{min-height:220px}.bottle-art{right:55px;width:125px}}
.avatar-img{width:42px;height:42px;border-radius:50%;object-fit:cover}.card details{margin-top:12px}.card summary{cursor:pointer;font-weight:700}.tile,.hero,.btn,button{transition:filter .15s ease}.tile:hover,.btn:hover,button:hover{filter:brightness(.98)}
