:root{--brand:#7a2e3a;--brand-ink:#fff;--brand-soft:color-mix(in srgb,var(--brand) 12%,transparent);--brand-tint:color-mix(in srgb,var(--brand) 8%,#fff);--bg:#fbf7f1;--surface:#fff;--surface-2:#f4eee5;--ink:#221c18;--ink-2:#6a5f56;--ink-3:#9c9087;--line:#e7dfd3;--line-strong:#d8cdbc;--ok:#2e7d5b;--ok-soft:#e3f2ea;--warn:#b26a00;--warn-soft:#fcefd8;--danger:#b23a48;--danger-soft:#fbe8ea;--info:#345e8c;--sense:#6e4a8e;--sense-soft:#f2ecf7;--sense-border:#dcc9ea;--sense-ink:#5a3a78;--display:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Hanken Grotesk",system-ui,-apple-system,sans-serif;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--s10:40px;--s12:48px;--r-s:10px;--r-m:16px;--r-l:22px;--r-pill:999px;--shadow-1:0 1px 2px rgba(34,28,24,.06),0 2px 8px rgba(34,28,24,.05);--shadow-2:0 4px 12px rgba(34,28,24,.1),0 12px 32px rgba(34,28,24,.1);--tap:44px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;line-height:1.4;overflow-x:hidden}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.app-shell{width:100%;max-width:480px;margin:0 auto;min-height:100vh;background:var(--bg);display:flex;flex-direction:column;background:radial-gradient(900px 500px at 100% -10%,#fff 0,transparent 55%),var(--bg)}.app-shell.client{max-width:1024px}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:10px;padding:14px 16px 12px;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .spacer{flex:1 1}.brandmark{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:-.01em}.brandmark .logo{width:30px;height:30px;border-radius:9px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-size:15px;font-weight:700;font-family:var(--sans);overflow:hidden}.brandmark .logo img{width:100%;height:100%;object-fit:cover}.iconbtn{width:var(--tap);height:var(--tap);min-width:var(--tap);border-radius:var(--r-s);color:var(--ink)}.iconbtn:active{transform:scale(.96)}.iconbtn svg{width:20px;height:20px}.lang{position:relative}.lang-trigger{display:flex;align-items:center;gap:7px;height:var(--tap);padding:0 12px;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-pill);cursor:pointer;font:inherit;font-weight:600;font-size:13px;color:var(--ink)}.lang-trigger .chev{color:var(--ink-3)}.lang-menu{position:absolute;right:0;top:52px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-2);padding:6px;min-width:184px;z-index:50;color:var(--ink)}.lang-opt{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;background:transparent;border-radius:var(--r-s);cursor:pointer;font:inherit;font-size:14px;text-align:left;color:inherit}.lang-opt:hover{background:var(--surface-2)}.lang-opt.sel{font-weight:700}.lang-opt .base{margin-left:auto;font-size:11px;color:var(--ink-3)}.scroll{flex:1 1;padding-bottom:32px}h2.section{font-family:var(--display);font-size:23px;font-weight:600;letter-spacing:-.01em;margin:0}.sec-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--brand);font-weight:700;padding:22px 16px 10px}.spotlight{margin:16px 16px 4px;border-radius:var(--r-l);overflow:hidden;position:relative;cursor:pointer;min-height:172px;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(150deg,#9a4a24,#5a2410);background-size:cover;background-position:50%}.spotlight .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18) 45%,rgba(0,0,0,.62))}.spotlight .c{position:relative;z-index:2;padding:18px;width:100%}.spotlight .badge{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:hsla(0,0%,100%,.16);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid hsla(0,0%,100%,.28);border-radius:var(--r-pill);padding:5px 11px}.spotlight .t{font-family:var(--display);font-size:27px;font-weight:600;line-height:1.05;letter-spacing:-.01em;margin-top:11px}.spotlight .s{font-size:13.5px;opacity:.95;margin-top:4px;max-width:80%}.hl-head{display:flex;align-items:center;gap:8px;padding:22px 16px 12px}.hl-rail{display:flex;gap:12px;overflow-x:auto;padding:0 0 6px;scroll-snap-type:x mandatory;scroll-padding-left:16px;scroll-padding-right:16px}.hl-rail::-webkit-scrollbar{display:none}.hl-card{flex:none;width:230px;scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;box-shadow:var(--shadow-1);cursor:pointer}.hl-card .photo{height:140px;background-size:cover;background-position:50%;background-color:var(--surface-2)}.hl-card .nophoto{height:140px;background:linear-gradient(150deg,#5c2230,#3a1620);display:grid;place-items:center;color:#fff;font-family:var(--display);font-size:40px;opacity:.95}.hl-card .body{padding:12px 13px 14px}.hl-card .name{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.15}.hl-card .row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}.cat-list{margin:0 16px;overflow:hidden}.cat-row{display:flex;align-items:center;gap:14px;padding:15px;border-bottom:1px solid var(--line);cursor:pointer;background:var(--surface);width:100%;text-align:left;font:inherit;color:inherit}.cat-row:last-child{border-bottom:0}.cat-row:active{background:var(--surface-2)}.cat-row .mk{width:40px;height:40px;border-radius:11px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;font-family:var(--display);font-weight:600;font-size:18px;flex:none}.cat-row .ct{flex:1 1;min-width:0}.cat-row .ct .nm{font-family:var(--display);font-size:17px;font-weight:600;line-height:1.15}.cat-row .ct .meta{font-size:12px;color:var(--ink-2);margin-top:2px}.cat-row .cnt{font-size:13px;color:var(--ink-3);font-weight:600}.cat-row .chev svg{width:20px;height:20px;color:var(--ink-3)}.alg-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px 9px}.price{font-weight:700;font-size:15px}.filter-banner{display:flex;align-items:center;gap:9px;margin:12px 16px 0;background:var(--ok-soft);border:1px solid #bfe3cf;border-radius:var(--r-m);padding:10px 12px;font-size:12.5px;color:#1d5b40;font-weight:600}.filter-banner svg{width:16px;height:16px;flex:none}.filter-banner a{margin-left:auto;color:#1d5b40;font-weight:700;text-decoration:underline}.empty{margin:40px 24px;text-align:center;color:var(--ink-2)}.empty h3{font-family:var(--display);font-size:19px;color:var(--ink);margin-bottom:6px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--brand);font-weight:700}.crumb{display:flex;align-items:center;gap:6px;font-size:12.5px;padding:12px 16px 0;flex-wrap:wrap}.crumb,.crumb a{color:var(--ink-2)}.crumb b{color:var(--ink)}.crumb .sep{color:var(--ink-3)}.list{padding:8px 16px 24px;display:flex;flex-direction:column;gap:12px}.pcard{display:flex;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:11px;box-shadow:var(--shadow-1);cursor:pointer;align-items:center}.pcard .thumb{width:84px;height:84px;border-radius:12px;flex:none;overflow:hidden;background-size:cover;background-position:50%;background-color:var(--surface-2)}.pcard .thumb.nophoto{background:linear-gradient(160deg,#5c2230,#7a2e3a);display:grid;place-items:center;color:#fff;font-family:var(--display);font-size:30px}.pcard .info{flex:1 1;min-width:0}.pcard .name{font-family:var(--display);font-weight:600;font-size:16.5px;line-height:1.12}.pcard .desc{font-size:12.5px;color:var(--ink-2);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pcard .foot{display:flex;align-items:center;gap:8px;margin-top:8px}.pcard .foot .spacer{flex:1 1}.hero{height:240px;position:relative;background-color:#2f1018;background-image:linear-gradient(150deg,#5c2230,#2f1018);background-repeat:no-repeat;background-position:50%;background-size:cover}.hero .back{position:absolute;top:14px;left:14px;z-index:5;background:hsla(0,0%,100%,.92);box-shadow:var(--shadow-1)}.detail-body{background:var(--surface);border-radius:24px 24px 0 0;margin-top:-22px;position:relative;z-index:4;padding:20px 16px 28px;min-height:calc(100dvh - 218px)}.detail-body h2{font-family:var(--display);font-size:26px;font-weight:600;line-height:1.08;letter-spacing:-.01em}.detail-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:6px}.detail-row .price{font-size:20px}.detail-desc{font-size:14.5px;line-height:1.55;color:var(--ink);margin-top:14px}.portion-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--info);background:color-mix(in srgb,var(--info) 9%,#fff);border:1px solid color-mix(in srgb,var(--info) 24%,#fff);border-radius:var(--r-pill);padding:5px 11px}.portion-tag svg{width:15px;height:15px}.alg-block{margin-top:20px;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}.alg-head{display:flex;align-items:center;gap:9px;padding:12px 14px;background:var(--surface-2);font-weight:700;font-size:14px}.alg-head svg{width:18px;height:18px;color:var(--warn)}.alg-list{padding:12px 14px;display:flex;flex-wrap:wrap;gap:8px}.alg-tag{display:inline-flex;align-items:center;font-size:13px;font-weight:600;background:var(--warn-soft);color:#7a4a00;border:1px solid #f0d8a8;border-radius:var(--r-pill);padding:6px 12px}.alg-trace{padding:0 14px 13px;font-size:12.5px;color:var(--ink-2);display:flex;gap:7px;align-items:flex-start}.alg-trace b{color:var(--ink)}.alg-none{color:var(--ok);font-weight:600}.alg-none,.alg-unknown{padding:13px 14px;font-size:13px;display:flex;align-items:center;gap:8px}.alg-unknown{color:var(--ink-2)}.alg-unknown b{color:var(--ink)}.pairs,.suggest{margin-top:24px}.pairs h3,.suggest h3{font-family:var(--display);font-size:18px;font-weight:600;margin-bottom:11px}.wine-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--r-m);padding:11px 12px;cursor:pointer;background:var(--surface);margin-bottom:9px}.wine-row .gw{width:40px;height:40px;border-radius:10px;background:linear-gradient(160deg,#5c2230,#7a2e3a);display:grid;place-items:center;color:#fff;font-family:var(--display);flex:none}.wine-row .wn{flex:1 1;min-width:0}.wine-row .wn .t{font-weight:600;font-size:14.5px;font-family:var(--display)}.wine-row .wn .s{display:block;margin-top:3px;font-size:12px;color:var(--ink-2)}.wine-row .arr{color:var(--ink-3)}.filter-page{padding:16px}.filter-page h1{font-family:var(--display);font-size:23px;font-weight:600;margin-bottom:4px}.filter-page .lead{font-size:13.5px;color:var(--ink-2);margin-bottom:16px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{font:inherit;font-size:13px;font-weight:600;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--r-pill);padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:7px}.chip.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.actions{display:flex;gap:10px;margin-top:22px}.btn{flex:1 1;height:48px;padding:0 20px;border-radius:var(--r-m);border:1px solid var(--line);background:var(--surface);font:inherit;font-weight:700;font-size:15px;cursor:pointer;color:var(--ink);display:grid;place-items:center}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:transparent}.btn.danger{background:var(--danger);color:#fff;border-color:transparent}.backbar{display:flex;align-items:center;gap:10px;padding:14px 16px;position:-webkit-sticky;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:40}.backbar .ttl{font-family:var(--display);font-weight:600;font-size:17px;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero .lang-corner{position:absolute;top:14px;right:14px;z-index:5}.adminbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:#4a0e29;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px}.adminbar .logo{width:28px;height:28px;border-radius:8px;background:var(--brand);display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--brand-ink);overflow:hidden}.adminbar .logo img{width:100%;height:100%;object-fit:cover}.adminbar .ttl{font-weight:700;font-size:14px}.adminbar .ttl small{display:block;font-weight:500;font-size:11px;opacity:.7}.admin-spacer{flex:1 1}.adminbar .abk{background:transparent;border:0;color:#fff;cursor:pointer;display:grid;place-items:center;width:36px;height:36px}.adsec{padding:18px 16px 32px}.adsec h2{font-family:var(--display);font-size:24px;font-weight:600}.adsec .lead{color:var(--ink-2);font-size:14px;margin:4px 0 18px}.login{display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:0 26px;background:linear-gradient(180deg,var(--brand-tint),var(--bg))}.login .mark{width:60px;height:60px;border-radius:16px;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:26px;margin-bottom:22px;overflow:hidden}.login .mark img{width:100%;height:100%;object-fit:cover}.login h2{font-family:var(--display);font-size:27px;font-weight:600}.login p{color:var(--ink-2);font-size:14px;margin:6px 0 26px}.login .btn{flex:none;align-self:flex-start;width:auto;min-width:160px;padding:0 24px;height:48px}.field{margin-bottom:14px}.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px;color:var(--ink)}.field input,.field select,.field textarea{width:100%;font:inherit;font-size:15px;padding:13px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);background:var(--surface);color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.field .err{color:var(--danger);font-size:12.5px;margin-top:7px;display:flex;align-items:center;gap:6px}.field.invalid input{border-color:var(--danger)}.field .hint{font-size:12px;color:var(--ink-2);margin-top:5px}.tiles{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.tile{display:block;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px;cursor:pointer;box-shadow:var(--shadow-1);color:inherit}.tile.feature{grid-column:1/-1;background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.tile .ti{width:38px;height:38px;border-radius:10px;background:var(--brand-soft);display:grid;place-items:center;color:var(--brand);margin-bottom:11px}.tile.feature .ti{background:#ffffff2a;color:#fff}.tile .tn{font-weight:700;font-size:15px}.tile .td{font-size:12px;color:var(--ink-2);margin-top:3px}.tile.feature .td{color:#ffffffcc}.toggle{width:50px;height:30px;border-radius:var(--r-pill);background:var(--line-strong);position:relative;cursor:pointer;flex:none;transition:background .2s;border:0}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1);transition:left .2s}.toggle.on{background:var(--brand)}.toggle.on:after{left:23px}.toggle.danger.on{background:var(--danger)}.seg{display:flex;background:var(--surface-2);border-radius:var(--r-pill);padding:3px}.seg button{flex:1 1;font:inherit;font-size:11.5px;font-weight:700;border:0;background:transparent;color:var(--ink-2);border-radius:var(--r-pill);padding:8px 12px;cursor:pointer}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.muted{color:var(--ink-3)}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--r-pill);font-size:13.5px;font-weight:600;box-shadow:var(--shadow-2);z-index:90}.row-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-1);overflow:hidden;margin-top:14px}.user-row{display:flex;align-items:center;gap:12px;padding:14px;border-bottom:1px solid var(--line)}.user-row:last-child{border-bottom:0}.lang-cols{display:flex;justify-content:space-between;padding:2px 12px 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:700}.lang-row{display:flex;align-items:center;gap:13px;padding:13px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:10px}.lang-row .radio{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-strong);background:var(--surface);cursor:pointer;flex:none;display:grid;place-items:center;padding:0}.lang-row .radio.on{border-color:var(--brand)}.lang-row .radio.on:after{content:"";width:12px;height:12px;border-radius:50%;background:var(--brand)}.lang-row .flag{font-size:23px;flex:none}.lang-row .ln{flex:1 1;min-width:0}.lang-row .ln .t{font-weight:600;font-size:15px;display:flex;align-items:center;gap:7px}.lang-row .ln .s{font-size:12px;color:var(--ink-2);margin-top:1px}.lang-row .basetag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--brand-soft);color:var(--brand);border-radius:5px;padding:2px 6px}.lang-row.inactive{opacity:.55}.lang-row .toggle.locked{opacity:.5;cursor:not-allowed}.radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;cursor:pointer;background:var(--surface)}.radio.on{border-color:var(--brand)}.radio.on:after{content:"";width:11px;height:11px;border-radius:50%;background:var(--brand)}.radio.disabled{opacity:.4;cursor:not-allowed}.user-row .ui{flex:1 1;min-width:0}.user-row .ui .em{font-weight:600;font-size:14.5px}.user-row .ui .rl{font-size:12px;color:var(--ink-2)}.user-row .del{border:1px solid var(--danger);color:var(--danger);background:var(--danger-soft);border-radius:var(--r-s);padding:8px 12px;font:inherit;font-weight:600;font-size:13px;cursor:pointer}.swatches{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.sw-opt{width:44px;height:44px;border-radius:12px;cursor:pointer;border:3px solid transparent;box-shadow:var(--shadow-1)}.sw-opt.sel{border-color:var(--ink)}.preview-bar{gap:10px;margin-top:16px;padding:14px;border-radius:var(--r-m);background:var(--brand);color:var(--brand-ink);font-weight:700}.contrast-note,.preview-bar{display:flex;align-items:center}.contrast-note{font-size:12.5px;margin-top:8px;gap:6px}.contrast-note.ok{color:var(--ok)}.contrast-note.warn{color:var(--warn)}.save-bar{position:-webkit-sticky;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:14px 16px;display:flex;gap:10px}.logo-prev{width:64px;height:64px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;border:1px solid var(--line)}.logo-prev img{width:100%;height:100%;object-fit:cover}.day-meta{display:flex;align-items:center;gap:10px;background:var(--brand-tint);border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px;margin-bottom:16px;font-size:13px}.day-meta b{font-family:var(--display)}.search{position:relative;margin-bottom:10px}.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--ink-3)}.search input{width:100%;font:inherit;font-size:15px;padding:12px 14px 12px 40px;border:1.5px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface)}.search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.tfilters{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;margin-bottom:14px}.tfilters::-webkit-scrollbar{display:none}.tfilter{flex:none;font:inherit;font-size:12.5px;font-weight:600;border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink-2);border-radius:var(--r-pill);padding:8px 13px;cursor:pointer}.tfilter.on{border-color:var(--brand);background:var(--brand);color:var(--brand-ink)}.grouphead{display:flex;align-items:center;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:700;margin:16px 0 8px}.grouphead .cnt{margin-left:auto;background:var(--surface-2);border-radius:var(--r-pill);padding:2px 8px;letter-spacing:0}.drow{display:flex;flex-direction:column;gap:10px;padding:12px 13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:9px}.drow.sold{opacity:.55}.drow .top{display:flex;align-items:center;gap:10px}.drow .nm{flex:1 1;min-width:0}.drow .nm .t{font-weight:600;font-size:14.5px}.drow .nm .s{font-size:11.5px;color:var(--ink-2)}.typetag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:5px;padding:2px 6px}.typetag.dish{background:#fbe9dc;color:#9a4b22}.typetag.wine{background:#f0e0e4;color:#7a2e3a}.typetag.other{background:var(--surface-2);color:var(--ink-2)}.drow .bot{gap:10px}.drow .bot,.sold-toggle{display:flex;align-items:center}.sold-toggle{gap:7px;font-size:11px;font-weight:700;color:var(--ink-2);flex:none}.sold-toggle .toggle{width:44px;height:26px}.sold-toggle .toggle:after{width:20px;height:20px}.sold-toggle .toggle.on:after{left:21px}.tree{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;margin-top:14px}.tnode{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.tnode:last-child{border-bottom:0}.tnode.l2{padding-left:34px;background:#fffdf9}.tnode.l3{padding-left:54px;background:#fffdf9;font-size:13.5px}.tnode .tt{flex:1 1;font-weight:600;font-size:14.5px;min-width:0}.tnode.l3 .tt{font-weight:500}.tnode.off .tt{color:var(--ink-3);text-decoration:line-through}.tnode .badge{font-size:11px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-pill);padding:3px 9px}.tnode .mini{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}.tnode .mini svg{width:16px;height:16px}.tnode .mini.danger{color:var(--danger);border-color:#f0c7cc}.mini:disabled{opacity:.4;cursor:not-allowed}.addrow{display:flex;gap:8px;margin-top:14px}.addrow input{flex:1 1;font:inherit;font-size:14px;padding:11px 13px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);background:var(--surface)}.lang-tabs{display:flex;gap:6px;background:var(--surface-2);padding:4px;border-radius:var(--r-pill);margin-bottom:6px;overflow-x:auto}.lang-tabs::-webkit-scrollbar{display:none}.lang-tabs button{flex:none;font:inherit;font-size:12.5px;font-weight:700;border:0;background:transparent;color:var(--ink-2);border-radius:var(--r-pill);padding:8px 16px;cursor:pointer}.lang-tabs button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.copy-pt{font:inherit;font-size:12.5px;font-weight:600;color:var(--brand);background:none;border:0;cursor:pointer;display:inline-flex;gap:5px;align-items:center;margin:2px 0 10px}.divider{height:1px;background:var(--line);margin:20px 0}.srow{display:flex;align-items:center;gap:12px;padding:13px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:10px}.srow .sn{flex:1 1}.srow .sn .t{font-weight:600;font-size:15px}.srow .sn .s{font-size:12px;color:var(--ink-2)}.photo-up{border:1.5px dashed var(--line-strong);border-radius:var(--r-m);padding:20px;text-align:center;color:var(--ink-2);font-size:13px;cursor:pointer;background:var(--surface);display:block}.photo-up b{color:var(--ink);display:block;font-size:14px;margin:6px 0 2px}.photo-up .prev{width:120px;height:90px;object-fit:cover;border-radius:10px;margin:0 auto 8px;display:block}.sched{display:flex;flex-direction:column;gap:10px}.days{display:flex;gap:6px}.day{flex:1 1;font:inherit;font-size:12px;font-weight:700;border:1.5px solid var(--line-strong);background:var(--surface);border-radius:10px;padding:10px 0;text-align:center;cursor:pointer;color:var(--ink-2)}.day.on{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.window{display:flex;align-items:center;gap:8px}.window input{flex:1 1}.window .to{font-size:12px;color:var(--ink-2)}.alg-grid{display:flex;flex-wrap:wrap;gap:8px}.alg-pick{font:inherit;font-size:12.5px;font-weight:600;border:1.5px solid var(--line-strong);background:var(--surface);border-radius:var(--r-pill);padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:7px;color:var(--ink)}.alg-pick[data-state=contains]{border-color:var(--warn);background:var(--warn-soft);color:#7a4a00}.alg-pick[data-state=trace]{border-color:#d8b6e0;background:#f6ecf8;color:#6a3b75}.alg-pick .st{font-size:9px;text-transform:uppercase;letter-spacing:.06em;opacity:.8}.legend{font-size:11.5px;color:var(--ink-2);margin-top:9px;line-height:1.6}.legend .sw{display:inline-block;width:9px;height:9px;border-radius:3px;vertical-align:middle;margin-right:4px}.wine-pick{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}.wine-pick .wp{display:flex;align-items:center;gap:10px;padding:11px 13px;border-bottom:1px solid var(--line)}.wine-pick .wp:last-child{border:0}.wine-pick .wp .nm{flex:1 1;font-size:14px;font-weight:600}.cb{width:24px;height:24px;border-radius:7px;border:1.5px solid var(--line-strong);background:var(--surface);cursor:pointer;display:grid;place-items:center;color:#fff;flex:none}.cb.on{background:var(--brand);border-color:var(--brand)}.cb svg{width:14px;height:14px;opacity:0}.cb.on svg{opacity:1}.savebar{background:color-mix(in srgb,var(--bg) 90%,transparent)}.prod-list .pcard .price{margin-left:auto}.skip-link{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r-s);font-weight:700;font-size:13px}.skip-link:focus{left:50%;transform:translateX(-50%)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skel{background:linear-gradient(90deg,var(--surface-2) 25%,#efe7da 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-m)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skel{animation:none}}.state{display:grid;place-items:center;min-height:70vh;text-align:center;padding:28px}.state h2{font-family:var(--display);font-size:22px;margin-bottom:8px}.state p{color:var(--ink-2);margin-bottom:18px;max-width:300px}.rte{border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:var(--surface)}.rte-toolbar{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--line)}.rte-btn{min-width:34px;height:30px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;font-size:13px;color:var(--ink)}.rte-btn:hover{background:rgba(0,0,0,.04)}.rte-area{min-height:92px;padding:10px 12px;font-size:14px;line-height:1.5;outline:none}.rte-area:empty:before{content:attr(data-ph);color:var(--ink-3)}.rte-area-lg{min-height:420px}.rte-area-lg h2{font-size:22px;margin:20px 0 8px}.rte-area-lg h2,.rte-area-lg h3{font-family:var(--display);font-weight:600}.rte-area-lg h3{font-size:18px;margin:16px 0 6px}.rte-area-lg p{margin-bottom:10px}.rte-area p{margin:0 0 8px}.rte-area ol,.rte-area ul{margin:0 0 8px 20px}.detail-desc p{margin:0 0 10px}.detail-desc ol,.detail-desc ul{margin:0 0 10px 20px}.detail-desc li{margin:2px 0}.detail-desc b,.detail-desc strong{font-weight:600}.detail-desc div,.rte-area div{margin:0 0 6px}.cat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:12px}.chip-mini{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--r-pill);background:rgba(110,74,142,.12);color:#6e4a8e;margin-left:6px}.wine-card{margin-top:8px;display:grid;grid-gap:16px;gap:16px}.wine-profile{font-family:var(--display);font-size:18px;line-height:1.35;color:var(--ink);margin:0}.wine-h{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px}.wine-vars{border:1px solid var(--line);border-radius:var(--r-m);padding:12px 14px}.wine-var{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.wine-var:last-child{border-bottom:0}.wine-var.out{color:var(--ink-3)}.wine-var .wv-price{font-weight:700}.wine-var.out .wv-price{font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.04em}.wine-meta{display:grid;grid-gap:4px;gap:4px;font-size:14px}.wine-meta .wm-k{display:inline-block;min-width:72px;color:var(--ink-2);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.wine-scales{display:grid;grid-gap:6px;gap:6px}.wine-scale{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--r-s);background:rgba(110,74,142,.06)}.wine-scale .ws-k{color:#6e4a8e;font-weight:700;font-size:13px}.wine-scale .ws-v{font-weight:600}.wine-struct-note{font-size:13px;font-style:italic;color:var(--ink-2);margin:2px 2px 0}.wine-footer{font-size:12px;color:var(--ink-3);margin-top:4px;border-top:1px solid var(--line);padding-top:10px}.style-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--brand);font-weight:700}.origin{font-size:13px;color:var(--ink-2);margin-top:8px}.origin b{color:var(--ink);font-weight:600}.grapes{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.grape{font-size:12px;font-weight:600;color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);padding:4px 10px}.vars{margin-top:15px;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}.vars .vh{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-weight:700;padding:11px 14px 8px;background:var(--surface-2)}.var{display:flex;align-items:center;gap:12px;padding:13px 14px;border-top:1px solid var(--line)}.var .fmt{flex:1 1;font-weight:600;font-size:14.5px}.var .fmt .sub{font-size:11.5px;color:var(--ink-2);font-weight:500}.var .pr{font-family:var(--display);font-weight:600;font-size:17px}.var.sold{opacity:.6}.var.sold .pr{text-decoration:line-through;color:var(--ink-3)}.soldtag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--danger);background:#fbe8ea;border:1px solid #f0c4c9;border-radius:5px;padding:2px 7px}.snotes{margin-top:18px;border:1px solid var(--sense-border);border-radius:var(--r-l);overflow:hidden;background:linear-gradient(180deg,var(--sense-soft),#fff 55%)}.sn-head{padding:16px 16px 6px}.sn-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--sense);font-weight:700;display:flex;align-items:center;gap:7px}.sn-eyebrow svg{width:14px;height:14px}.sn-profile{font-family:var(--display);font-size:22px;font-weight:600;line-height:1.18;margin-top:7px;color:var(--ink)}.scales{padding:8px 16px 4px}.scale{padding:12px 0;border-bottom:1px solid var(--sense-border)}.scale:last-child{border-bottom:0}.scale .top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.scale .nm{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);font-weight:700}.scale .val{font-family:var(--display);font-weight:600;font-size:15.5px;color:var(--sense-ink);text-align:right}.scale .seg{display:flex;gap:5px;margin-top:8px}.scale .seg .s{flex:1 1;height:7px;border-radius:4px;background:#e6daef}.scale .seg .s.on{background:var(--sense)}.spark-explain{font-size:12px;color:var(--ink-2);margin-top:6px;font-style:italic}.aromas{padding:13px 16px 16px;border-top:1px solid var(--sense-border)}.aromas .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);font-weight:700;margin-bottom:4px}.aromas .intro{font-size:12.5px;color:var(--ink-2);margin-bottom:10px}.achips{display:flex;flex-wrap:wrap;gap:8px}.achip{font-size:13px;font-weight:600;color:var(--sense-ink);background:#fff;border:1.5px solid var(--sense-border);border-radius:var(--r-pill);padding:7px 12px}.alg{margin-top:18px;border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden}.alg .h{display:flex;align-items:center;gap:9px;padding:11px 14px;background:var(--surface-2);font-weight:700;font-size:13.5px}.alg .h svg{width:17px;height:17px;color:var(--warn)}.alg .b{padding:11px 14px;display:flex;flex-wrap:wrap;gap:8px}.atag{display:inline-flex;font-size:13px;font-weight:600;background:#fcefd8;color:#7a4a00;border:1px solid #f0d8a8;border-radius:var(--r-pill);padding:6px 12px}.sn-foot{margin-top:16px;font-size:11.5px;color:var(--ink-3);line-height:1.45;font-style:italic}.agrid{display:flex;flex-wrap:wrap;gap:8px}.apick,.spick{font:inherit;font-size:12.5px;font-weight:600;border:1.5px solid var(--line-strong);background:var(--surface);border-radius:var(--r-pill);padding:8px 12px;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;gap:6px}.spick.on{border-color:var(--brand);background:var(--brand);color:#fff}.apick.on{border-color:var(--sense);background:var(--sense-soft);color:var(--sense-ink)}.apick .star{cursor:pointer;color:var(--ink-3)}.apick.on .star{color:var(--sense)}.apick.principal{border-color:var(--sense);background:var(--sense);color:#fff}.apick.principal .star{color:#fff}.h-title{font-family:var(--display);font-size:24px;font-weight:600;padding:8px 16px 2px}.h-sub{font-size:12.5px;color:var(--ink-2);padding:0 16px 8px}.glist{padding:8px 16px 24px;display:flex;flex-direction:column;gap:11px}.grow{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:13px;box-shadow:var(--shadow-1);cursor:pointer;text-decoration:none;color:inherit}.grow .gw2{width:38px;height:38px;border-radius:10px;background:linear-gradient(160deg,#5c2230,#7a2e3a);background-size:cover;background-position:50%;display:grid;place-items:center;color:#fff;font-family:var(--display);flex:none}.grow .ct{flex:1 1;min-width:0}.grow .ct .nm{font-family:var(--display);font-weight:600;font-size:15.5px;line-height:1.12}.grow .ct .pf{font-size:12.5px;color:var(--sense-ink);font-weight:600;margin-top:2px;line-height:1.35;min-height:calc(12.5px * 1.35 * 2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.grow .pr{font-family:var(--display);font-size:15px;flex:none}.grow .pr,.grow .pr .u{font-weight:600;text-align:right}.grow .pr .u{display:block;font-size:10px;color:var(--ink-3)}.wpair{display:block;border:1px solid var(--line);border-radius:var(--r-m);padding:14px;background:var(--surface);box-shadow:var(--shadow-1);margin-bottom:11px;cursor:pointer;text-decoration:none;color:inherit}.wpair .est{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--brand);font-weight:700}.wpair .l1{display:flex;align-items:center;gap:9px;margin-top:3px}.wpair .l1 .nm{font-family:var(--display);font-weight:600;font-size:16px;flex:1 1;min-width:0;line-height:1.14}.wpair .l1 .arr{color:var(--ink-3);flex:none;display:flex}.wpair .l1 .arr svg{width:20px;height:20px}.wpair .pf{font-size:13.5px;color:var(--sense-ink);font-weight:600;margin-top:8px}.wpair .prices{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:10px}.wpair .pp{font-family:var(--display);font-size:15px;font-weight:600}.wpair .pp .u{font-family:var(--sans);font-size:10px;color:var(--ink-3);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-left:3px}.wpair .sulf2{font-size:11px;color:var(--ink-3);margin-top:9px}.grow .est{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--brand);font-weight:700;margin-bottom:1px}.list .grow{margin-bottom:10px}.hl-card .body .est{font-size:9.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--brand);font-weight:700;margin-bottom:1px}.hl-card .body .pf{font-size:12px;color:var(--sense-ink);font-weight:600;margin-top:2px}.pf.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.subhead{font-size:11px;margin:18px 0 9px}.hubtile{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:14px;box-shadow:var(--shadow-1);cursor:pointer;margin-bottom:10px;width:100%;text-align:left;font:inherit;color:inherit;text-decoration:none}.hubtile.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.hubtile .ti{width:38px;height:38px;border-radius:10px;background:var(--brand-soft);color:var(--brand);display:grid;place-items:center;flex:none}.hubtile.primary .ti{background:#ffffff2a;color:#fff}.hubtile .ti svg{width:19px;height:19px}.hubtile .tn{flex:1 1;min-width:0}.hubtile .tn .t{font-weight:700;font-size:14.5px}.hubtile .tn .d{font-size:12px;color:var(--ink-2)}.hubtile.primary .tn .d{color:#ffffffcc}.hubtile .cnt{font-size:12px;font-weight:600}.hubtile .arr,.hubtile .cnt{color:var(--ink-3)}.secband{font-family:var(--display);font-size:17px;font-weight:600;margin:4px 0 12px;display:flex;align-items:center;gap:8px}.secband .n{width:22px;height:22px;border-radius:6px;background:var(--sense-soft);color:var(--sense);display:grid;place-items:center;font-size:12px;font-weight:700;font-family:var(--sans)}.fl{margin-bottom:13px}.fl label{display:block;font-size:12.5px;font-weight:600;margin-bottom:6px}.fl input,.fl select{width:100%;font:inherit;font-size:15px;min-height:48px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);background:var(--surface);color:var(--ink)}.fl input:focus,.fl select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.fl .hint{font-size:12px;color:var(--ink-2);margin-top:5px}.segbtns{display:flex;background:var(--surface-2);border-radius:var(--r-pill);padding:3px;flex-wrap:wrap}.segbtns button{flex:1 1;min-width:-moz-fit-content;min-width:fit-content;font:inherit;font-size:12px;font-weight:600;border:0;background:transparent;color:var(--ink-2);border-radius:var(--r-pill);padding:9px 8px;cursor:pointer}.segbtns button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1)}.pvw{margin-top:6px;background:var(--sense-soft);border:1px solid var(--sense-border);border-radius:var(--r-m);padding:12px 14px}.pvw .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--sense);font-weight:700}.pvw .v{font-family:var(--display);font-size:17px;font-weight:600;margin-top:3px;color:var(--ink)}.varedit{border:1px solid var(--line);border-radius:var(--r-m);padding:14px;margin-bottom:12px;background:var(--surface)}.varedit .vh2{display:flex;align-items:center;justify-content:space-between;margin-bottom:11px}.varedit .vh2 .vt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}.varedit .rm{width:40px;height:40px;border-radius:var(--r-s);border:1px solid var(--line);background:var(--surface);color:var(--danger);cursor:pointer;flex:none;display:grid;place-items:center;font-size:16px}.varedit .vfield{margin-bottom:11px}.varedit .vfield:last-child{margin-bottom:0}.varedit .vfield label{display:block;font-size:11.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.varedit input,.varedit select{width:100%;font:inherit;font-size:15px;min-height:48px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);background:var(--surface);color:var(--ink)}.varedit input:focus,.varedit select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.varedit .vrow{display:flex;gap:10px}.varedit .vrow .vfield{flex:1 1;margin-bottom:0}.varedit .av{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;padding:0 4px;font-size:13px;color:var(--ink-2);font-weight:600}.inherit{font-size:11.5px;color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:9px 11px;margin-bottom:10px;line-height:1.45}.addvar{width:100%;border:1.5px dashed var(--line-strong);background:var(--surface);border-radius:var(--r-m);padding:12px;font:inherit;font-weight:600;font-size:13.5px;color:var(--brand);cursor:pointer}.minirow{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.minirow:last-child{border-bottom:0}.minirow .mn{flex:1 1;font-weight:600}.minirow .tag{font-size:11px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r-pill);padding:3px 9px}.minirow .acopo{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:var(--ink-2)}.wine-catalogs input:not([type=checkbox]):not([type=radio]),.wine-catalogs select,.wine-catalogs textarea{min-height:48px;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:var(--r-m);font:inherit;font-size:15px;background:var(--surface);color:var(--ink);width:100%}.wine-catalogs input:focus,.wine-catalogs select:focus,.wine-catalogs textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}.iconbtn{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink-2);font-size:15px;flex:none;padding:0}.iconbtn:disabled{opacity:.4;cursor:default}.iconbtn.danger{color:var(--danger);border-color:#f0c7cc}.cta{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12.5px;font-weight:700;color:var(--brand);background:var(--brand-soft);border:0;border-radius:var(--r-pill);padding:8px 13px;cursor:pointer;min-height:36px;white-space:nowrap;flex:none;text-decoration:none}.card-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 10px;margin-top:auto;padding-top:12px}.card-foot.only-cta{justify-content:flex-end}.card-foot .prices{margin-top:0;flex:none;white-space:nowrap}.card-foot .cta{margin-left:auto}.card-foot .foot-price{font-family:var(--display);font-weight:600;font-size:17px;flex:none;white-space:nowrap}.pgrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.gcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--shadow-1);text-decoration:none;color:inherit}.gcard .thumb{height:96px;background:var(--surface-2);background-size:cover;background-position:50%;flex:none}.gcard .thumb.nophoto{display:grid;place-items:center;color:var(--ink-3);font-family:var(--display);font-size:20px}.gcard .pc-body{display:flex;flex-direction:column;flex:1 1;padding:12px}.gcard .est{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;margin-bottom:2px}.gcard .est.wine{color:var(--brand)}.gcard .pname{font-family:var(--display);font-weight:600;font-size:15px;line-height:1.16}.lcard{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-m);padding:14px;background:var(--surface);box-shadow:var(--shadow-1);margin-bottom:11px;text-decoration:none;color:inherit}.lcard .est{font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.lcard .est.dish{color:var(--info)}.lcard .nm{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.14;margin-top:3px}.lcard .sub{font-size:12.5px;color:var(--ink-2);margin-top:7px;line-height:1.45}.hl-card .body,.wpair{display:flex;flex-direction:column}.hl-card .body{flex:1 1}.wpair .nm{font-family:var(--display);font-weight:600;font-size:16px;line-height:1.14;margin-top:3px}.wpair .est.wine{color:var(--brand)}.hl-rail{align-items:stretch}.hl-card{display:flex;flex-direction:column}.hl-card:first-child{margin-left:16px}.hl-card:last-child{margin-right:16px}.hl-card .nophoto,.hl-card .photo{flex:none}.cat-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:2px 14px;box-shadow:var(--shadow-1)}.cat-list:empty{display:none}.cat-edit{padding:12px 0;border-bottom:1px solid var(--line);display:grid;grid-gap:8px;gap:8px}.cat-edit:last-child{border-bottom:0}.minirow .iconbtn{flex:none}.minirow .mn strong{font-weight:600}.tabbar{position:-webkit-sticky;position:sticky;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:var(--surface);border-top:1px solid var(--line);display:flex;padding:8px 6px 10px;z-index:30}.tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;font-weight:600;color:var(--ink-3);cursor:pointer;background:transparent;border:0;font:inherit}.tab svg{width:22px;height:22px}.tab.on{color:var(--brand)}.acct-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px;margin:0 16px 12px;box-shadow:var(--shadow-1)}.acct-card h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin-bottom:10px}.acct-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.acct-row:last-child{border-bottom:0}.acct-row .k{color:var(--ink-2);font-size:13px}.acct-row .v{font-weight:600;font-size:14px}.pill-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--r-pill);font-size:11px;font-weight:700}.pill-status.publicado{background:var(--ok-soft);color:var(--ok)}.pill-status.rascunho{background:var(--warn-soft);color:var(--warn)}.tip-dismiss{background:transparent;border:0;color:var(--ink-3);cursor:pointer;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--r-s);flex-shrink:0}.tip-dismiss:hover{background:var(--surface-2);color:var(--ink-2)}.qr-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:14px}.qr-head .qh-t{flex:1 1}.qr-head h2{font-family:var(--display);font-size:24px;font-weight:600}.qr-head .cnt{font-size:12.5px;color:var(--ink-2);margin-top:2px}.qr-head .btn.primary{flex:none;height:44px;padding:0 16px}.qr-err{margin-bottom:12px}.qr-color-field{margin-top:16px}.qr-empty-cta{max-width:230px;margin:0 auto}.qr-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.qr-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:12px;box-shadow:var(--shadow-1)}.qr-card .qr-thumb{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:8px;display:grid;place-items:center;margin-bottom:10px}.qr-card .qr-thumb canvas,.qr-card .qr-thumb svg{display:block;width:100%;height:auto}.qr-card .qname{font-weight:700;font-size:14px;line-height:1.2}.qr-card .qdest{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--ink-2);margin-top:4px;min-width:0}.qr-card .qdest svg{width:12px;height:12px;flex:none;color:var(--ink-3)}.qr-card .qdest span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qr-card .card-foot{padding-top:10px}.qr-card .acts{display:flex;gap:6px}.searchrow{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-m);padding:0 13px;height:46px;margin-bottom:12px}.searchrow svg{width:17px;height:17px;color:var(--ink-3);flex:none}.searchrow input{flex:1 1;border:0;outline:none;font:inherit;font-size:14.5px;background:transparent;color:var(--ink)}.destprev{display:flex;gap:9px;align-items:flex-start;background:var(--surface-2);border-radius:var(--r-m);padding:11px 12px;margin-top:2px}.destprev svg{width:15px;height:15px;color:var(--ink-3);flex:none;margin-top:1px}.destprev .dp{flex:1 1;min-width:0}.destprev .dpk{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}.destprev .dpv{font-size:12.5px;color:var(--ink);word-break:break-all;margin-top:2px;font-weight:600}.livewrap{display:flex;gap:14px;align-items:center;background:var(--brand-tint);border:1px solid var(--line);border-radius:var(--r-m);padding:14px;margin-bottom:16px}.livewrap .lp{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:7px;flex:none}.livewrap .lp canvas,.livewrap .lp svg{display:block}.livewrap .lt{flex:1 1;min-width:0}.livewrap .lt .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700}.livewrap .lt .v{font-family:var(--display);font-size:16px;font-weight:600;margin-top:2px}.livewrap .lt .d{font-size:12px;color:var(--ink-2);margin-top:3px}.sw-opt.brandsw:after{content:"marca";position:absolute;left:50%;bottom:-16px;transform:translateX(-50%);font-size:9px;font-weight:700;color:var(--ink-3);letter-spacing:.02em}.swatches.hasbrand{margin-bottom:18px}.savebar{position:-webkit-sticky;position:sticky;bottom:0;background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:12px 16px;display:flex;gap:10px}.sheet-scr{position:fixed;inset:0;z-index:60;background:rgba(34,28,24,.42);display:flex;align-items:flex-end}.sheet{background:var(--surface);width:100%;border-radius:24px 24px 0 0;padding:8px 0 18px;max-height:88%;overflow:auto}.grab{width:38px;height:4px;border-radius:2px;background:var(--line-strong);margin:8px auto 10px}.sheet .sh-head{display:flex;align-items:center;gap:13px;padding:4px 18px 12px;border-bottom:1px solid var(--line)}.sheet .sh-head .sq{border:1px solid var(--line);border-radius:var(--r-s);padding:6px;background:#fff;flex:none}.sheet .sh-head .st{flex:1 1;min-width:0}.sheet .sh-head .st .n{font-family:var(--display);font-size:18px;font-weight:600}.sheet .sh-head .st .d{font-size:12px;color:var(--ink-2);margin-top:2px;word-break:break-all}.actrow{display:flex;align-items:center;gap:13px;padding:14px 18px;cursor:pointer;font-size:14.5px;font-weight:600;background:transparent;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left;color:var(--ink);font-family:inherit}.actrow:last-child{border-bottom:0}.actrow:disabled{opacity:.5;cursor:default}.actrow .ai{width:34px;height:34px;border-radius:9px;background:var(--surface-2);color:var(--ink-2);display:grid;place-items:center;flex:none}.actrow .ai svg{width:17px;height:17px}.actrow .sub{display:block;font-size:11.5px;font-weight:500;color:var(--ink-2);margin-top:1px}.actrow.danger,.actrow.danger .ai{color:var(--danger)}.actrow.danger .ai{background:var(--danger-soft)}.sheet-note{display:flex;gap:9px;align-items:flex-start;margin:12px 18px 4px;background:var(--surface-2);border-radius:var(--r-m);padding:11px 12px;font-size:12px;color:var(--ink-2);line-height:1.45}.sheet-note svg{width:14px;height:14px;flex:none;margin-top:1px;color:var(--ink-3)}.dialog-scr{position:fixed;inset:0;z-index:60;background:rgba(34,28,24,.42);display:grid;place-items:center;padding:24px}.dialog{background:var(--surface);border-radius:var(--r-l);padding:22px;box-shadow:var(--shadow-2);text-align:center;width:100%;max-width:420px}.dialog .di{width:48px;height:48px;border-radius:14px;background:var(--danger-soft);color:var(--danger);display:grid;place-items:center;margin:0 auto 13px}.dialog .di svg{width:23px;height:23px}.dialog h3{font-family:var(--display);font-size:19px;font-weight:600}.dialog p{font-size:13.5px;color:var(--ink-2);margin:8px 0 18px;line-height:1.5}.dialog .row{display:flex;gap:10px}.empty .ic{width:60px;height:60px;border-radius:18px;background:var(--surface-2);color:var(--ink-3);display:grid;place-items:center;margin:0 auto 15px}.empty .ic svg{width:28px;height:28px}.empty p{font-size:13px;color:var(--ink-2);margin:8px auto 18px;line-height:1.55;max-width:250px}:root{--bill:#c2591c;--bill-soft:#fceadd;--bill-border:#f0cbac;--bill-ink:#8a3d10}.bstat{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;border-radius:var(--r-pill);padding:3px 10px}.bstat .d{width:7px;height:7px;border-radius:50%}.bstat.ok{background:var(--ok-soft);color:var(--ok)}.bstat.ok .d{background:var(--ok)}.bstat.pending{background:var(--bill-soft);color:var(--bill-ink)}.bstat.grace,.bstat.pending .d{background:var(--bill)}.bstat.grace{color:#fff}.bstat.grace .d{background:#fff}.bstat.due{background:var(--danger-soft);color:var(--danger)}.bstat.due .d{background:var(--danger)}.bnotice{display:flex;gap:11px;align-items:flex-start;background:var(--bill-soft);border:1px solid var(--bill-border);border-radius:var(--r-m);padding:12px 13px;margin:2px 0 4px}.bnotice .bi{color:var(--bill);flex:none;margin-top:1px}.bnotice .bi svg{width:18px;height:18px;display:block}.bnotice .bt{flex:1 1;font-size:12.5px;color:var(--bill-ink);line-height:1.45}.bnotice .bt b{font-weight:700}.bnotice .ba{font:inherit;font-size:12.5px;font-weight:700;color:#fff;background:var(--bill);border:0;border-radius:var(--r-pill);padding:8px 13px;cursor:pointer;white-space:nowrap;flex:none;align-self:center}.blockbar{display:flex;gap:12px;align-items:flex-start;background:var(--bill-soft);border:1px solid var(--bill-border);border-left:4px solid var(--bill);border-radius:var(--r-m);padding:13px 14px;margin-bottom:16px}.blockbar .bi{color:var(--bill);flex:none;margin-top:1px}.blockbar .bi svg{width:20px;height:20px;display:block}.blockbar .bx{flex:1 1;min-width:0}.blockbar .bx .bh{font-weight:700;font-size:13.5px;color:var(--bill-ink)}.blockbar .bx .bd{font-size:12px;color:var(--bill-ink);opacity:.9;line-height:1.5;margin-top:3px}.blockbar .bx .bd b{font-weight:700}.blockbar .bx .btn{margin-top:11px}.btn.bill{background:var(--bill);color:#fff;border-color:var(--bill)}.lockwrap{position:relative;display:inline-flex}.tip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:11.5px;font-weight:600;padding:7px 10px;border-radius:8px;white-space:nowrap;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:opacity .12s}.lockwrap:focus-within .tip,.lockwrap:hover .tip{opacity:1}.tip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top:5px solid var(--ink)}.lockicon{width:13px;height:13px;margin-left:2px;display:inline-block;vertical-align:-2px}:root{--imp:#7c2d8c;--imp-ink:#fff}.imperbar{position:-webkit-sticky;position:sticky;top:0;z-index:80;background:var(--imp);color:#fff;padding:10px 22px;display:flex;align-items:center;gap:12px;flex:none}.imperbar .pulse{width:8px;height:8px;border-radius:50%;background:#fff;animation:imperbar-pulse 1.6s infinite;flex:none}@keyframes imperbar-pulse{0%,to{opacity:1}50%{opacity:.35}}.imperbar .it{font-size:13px;font-weight:700;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.imperbar .it b{font-weight:800}.imperbar .isub{font-size:11.5px;opacity:.85;font-family:var(--mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.imperbar .sp{margin-left:auto;display:flex;align-items:center;gap:12px;flex:none}.imperbar .mode{font-size:11px;font-weight:700;background:#ffffff26;border-radius:var(--r-pill);padding:4px 10px}.imperbar button{background:#fff;color:var(--imp-ink);border:0;border-radius:var(--r-pill);padding:8px 14px;font:inherit;font-weight:700;font-size:12.5px;cursor:pointer}.op-app{--op:#7c2d8c;--op-soft:#f3e7f6;--op-border:#e2c2ea;--op-ink:#5b1f66;min-height:100vh;display:flex;background:var(--bg)}.op-app .sidebar{width:216px;background:var(--ink);color:#fff;flex:none;display:flex;flex-direction:column;padding:18px 12px}.op-app .sidebar .brand{display:flex;align-items:center;gap:10px;padding:0 8px 20px;border-bottom:1px solid #ffffff1a;margin-bottom:14px}.op-app .sidebar .brand .bm{width:30px;height:30px;border-radius:8px;background:var(--op);display:grid;place-items:center;font-family:var(--display);font-weight:600;flex:none;color:#fff}.op-app .sidebar .brand .bt{font-weight:700;font-size:13px;line-height:1.2}.op-app .sidebar .brand .bt small{display:block;font-weight:500;font-size:10.5px;opacity:.6}.op-app .navi{display:flex;flex-direction:column;gap:2px}.op-app .navi a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:#ffffffb0;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none}.op-app .navi a svg{width:16px;height:16px;flex:none}.op-app .navi a.on{background:#ffffff14;color:#fff}.op-app .sidebar .opid{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding:10px 8px;border-top:1px solid #ffffff1a}.op-app .sidebar .opid .av{width:28px;height:28px;border-radius:8px;background:#ffffff1a;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}.op-app .sidebar .opid .n{font-size:12px;font-weight:600}.op-app .sidebar .opid .r{font-size:10.5px;color:#ffffff70}.op-app .sidebar .opid-logout{width:100%;background:#ffffff14;border:1px solid #ffffff26;color:#fff;border-radius:8px;padding:8px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.op-app .sidebar .opid-logout:hover{background:#ffffff22}.op-app .main{flex:1 1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.op-app .op-topbar{height:56px;flex:none;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 22px;gap:14px;background:var(--surface)}.op-app .op-topbar h1{font-family:var(--display);font-size:18px;font-weight:600}.op-app .op-topbar .tsub{font-size:12px;color:var(--ink-2)}.op-app .op-topbar .sp{margin-left:auto;display:flex;align-items:center;gap:10px}.op-app .op-body{flex:1 1;overflow:auto;padding:22px}.op-app .authshell{flex:1 1;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#1b1420,#241a2c 60%,var(--op) 220%)}.op-app .authcard{width:380px;background:var(--surface);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:32px}.op-app .authcard .am{width:44px;height:44px;border-radius:12px;background:var(--op);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:600;margin-bottom:16px}.op-app .authcard h2{font-family:var(--display);font-size:21px;font-weight:600}.op-app .authcard .as{font-size:12.5px;color:var(--ink-2);margin-top:6px;line-height:1.5}.op-app .fl{margin:16px 0 0}.op-app .fl label{display:block;font-size:12px;font-weight:700;margin-bottom:6px;color:var(--ink)}.op-app .fl input,.op-app .fl select{width:100%;font:inherit;font-size:14px;padding:11px 13px;border:1.5px solid var(--line-strong);border-radius:var(--r-s);background:var(--surface);color:var(--ink)}.op-app .fl input:focus{outline:none;border-color:var(--op);box-shadow:0 0 0 4px var(--op-soft)}.op-app .mfabox{display:flex;gap:8px;margin-top:16px}.op-app .mfabox input{width:42px;height:48px;text-align:center;font-family:var(--mono);font-size:18px;border:1.5px solid var(--line-strong);border-radius:var(--r-s)}.op-app .abtn{width:100%;margin-top:18px;background:var(--op);color:#fff;border:0;border-radius:var(--r-s);padding:12px;font:inherit;font-weight:700;font-size:14px;cursor:pointer}.op-app .abtn:disabled{opacity:.5;cursor:default}.op-app .audom{font-size:11.5px;color:var(--ink-3);text-align:center;margin-top:14px;font-family:var(--mono)}.op-app .err{color:var(--danger);font-size:12px;margin-top:8px}.op-app .toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.op-app .searchbox{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-s);padding:0 12px;height:38px;min-width:240px}.op-app .searchbox svg{width:15px;height:15px;color:var(--ink-3);flex:none}.op-app .searchbox input{border:0;outline:none;font:inherit;font-size:13px;background:transparent;flex:1 1}.op-app .op-btn{font:inherit;font-weight:700;font-size:13px;border-radius:var(--r-s);padding:9px 14px;cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);display:inline-flex;align-items:center;gap:7px;height:38px}.op-app .op-btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}.op-app .op-btn.op{background:var(--op);color:#fff;border-color:var(--op)}.op-app .op-btn.danger{color:var(--danger);border-color:#f0c7cc}.op-app .op-btn:disabled{opacity:.5;cursor:default}.op-app .tbl{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--shadow-1)}.op-app .tbl table{width:100%;border-collapse:collapse;font-size:13px}.op-app .tbl th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:700;padding:10px 14px;background:var(--surface-2);white-space:nowrap}.op-app .tbl td,.op-app .tbl th{border-bottom:1px solid var(--line)}.op-app .tbl td{padding:11px 14px;vertical-align:middle}.op-app .tbl tr:last-child td{border-bottom:0}.op-app .tbl tr.rowlink{cursor:pointer}.op-app .tbl tr.rowlink:hover{background:var(--surface-2)}.op-app .tname{font-weight:700}.op-app .tsub{font-size:11.5px;color:var(--ink-2)}.op-app .op-mono{font-family:var(--mono);font-size:12px;color:var(--ink-2)}.op-app .op-badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;border-radius:var(--r-pill);padding:3px 9px}.op-app .op-badge .d{width:6px;height:6px;border-radius:50%}.op-app .op-badge.ok{background:var(--ok-soft);color:var(--ok)}.op-app .op-badge.ok .d{background:var(--ok)}.op-app .op-badge.warn{background:var(--warn-soft);color:var(--warn)}.op-app .op-badge.warn .d{background:var(--warn)}.op-app .op-badge.danger{background:var(--danger-soft);color:var(--danger)}.op-app .op-badge.danger .d{background:var(--danger)}.op-app .op-badge.mut{background:var(--surface-2);color:var(--ink-2)}.op-app .op-badge.mut .d{background:var(--ink-3)}.op-app .op-badge.plan{background:var(--brand-soft);color:var(--brand)}.op-app .op-iconbtn{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}.op-app .op-iconbtn.danger{color:var(--danger);border-color:#f0c7cc}.op-app .op-iconbtn svg{width:14px;height:14px}.op-app .kpirow{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.op-app .kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:15px;box-shadow:var(--shadow-1)}.op-app .kpi .k{font-size:11px;color:var(--ink-2);font-weight:600}.op-app .kpi .v{font-family:var(--display);font-size:26px;font-weight:600;margin-top:4px}.op-app .kpi .t{font-size:11px;color:var(--ok);margin-top:3px;font-weight:600}.op-app .kpi .t.neg{color:var(--danger)}.op-app .dcols{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:18px;gap:18px;align-items:start}.op-app .dcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);box-shadow:var(--shadow-1);margin-bottom:14px}.op-app .dcard h3{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700;padding:13px 15px;border-bottom:1px solid var(--line)}.op-app .dcard .b{padding:14px 15px}.op-app .kv{display:flex;justify-content:space-between;font-size:13px;padding:7px 0;border-bottom:1px solid var(--line)}.op-app .kv:last-child{border-bottom:0}.op-app .kv .k{color:var(--ink-2)}.op-app .kv .v{font-weight:600}.op-app .actlist{display:flex;flex-direction:column;gap:8px;padding:14px 15px}.op-app .actlist .op-btn{width:100%;justify-content:flex-start}.op-app .dhead{display:flex;align-items:center;gap:14px;margin-bottom:18px}.op-app .dhead .av{width:46px;height:46px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:20px;flex:none}.op-app .dhead .av,.op-app .dhead .dn{font-family:var(--display);font-weight:600}.op-app .dhead .dn{font-size:22px}.op-app .dhead .dm{font-size:12px;color:var(--ink-2);margin-top:2px;display:flex;gap:8px;align-items:center}.op-app .confirmbox{max-width:460px;margin:60px auto;background:var(--surface);border:1px solid var(--op-border);border-radius:var(--r-l);box-shadow:var(--shadow-2);padding:26px}.op-app .confirmbox .ic{width:46px;height:46px;border-radius:13px;background:var(--op-soft);color:var(--op);display:grid;place-items:center;margin-bottom:14px}.op-app .confirmbox h2{font-family:var(--display);font-size:19px;font-weight:600}.op-app .confirmbox p{font-size:13px;color:var(--ink-2);margin:8px 0 16px;line-height:1.55}.op-app .confirmbox .tgt{display:flex;align-items:center;gap:11px;background:var(--surface-2);border-radius:var(--r-m);padding:12px 14px;margin-bottom:16px}.op-app .confirmbox .tgt .av{width:36px;height:36px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:600;flex:none}.op-app .confirmbox .tgt .n{font-weight:700;font-size:14px}.op-app .confirmbox .tgt .i{font-size:11px;color:var(--ink-2);font-family:var(--mono)}.op-app .seg2{display:flex;background:var(--surface-2);border-radius:var(--r-s);padding:3px;margin-bottom:14px}.op-app .seg2 button{flex:1 1;font:inherit;font-size:12.5px;font-weight:700;border:0;background:transparent;color:var(--ink-2);border-radius:6px;padding:9px;cursor:pointer}.op-app .seg2 button.on{color:var(--op)}.op-app .plancard,.op-app .seg2 button.on{background:var(--surface);box-shadow:var(--shadow-1)}.op-app .plancard{border:1px solid var(--line);border-radius:var(--r-m);padding:16px;margin-bottom:12px}.op-app .plancard .ph{display:flex;align-items:center;gap:10px;margin-bottom:12px}.op-app .plancard .pn{font-family:var(--display);font-size:16px;font-weight:600;flex:1 1}.op-app .plgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.op-app .plgrid .fl{margin:0}.op-app .plgrid label{font-size:10.5px;color:var(--ink-2);font-weight:700;margin-bottom:4px;display:block}.op-app .plgrid input{width:100%;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:7px}.op-app .warnbox{display:flex;gap:9px;background:var(--warn-soft);border:1px solid #f0d8a8;border-radius:var(--r-s);padding:10px 12px;margin-top:12px;font-size:12px;color:#6b4a12;line-height:1.5}.op-app .warnbox svg{width:15px;height:15px;color:var(--warn);flex:none;margin-top:1px}.op-app .actionpill{font-family:var(--mono);font-size:11px;background:var(--surface-2);border-radius:6px;padding:2px 7px}.installhint{position:relative;display:flex;gap:12px;align-items:flex-start;background:var(--brand-tint);border:1px solid var(--line);border-radius:var(--r-m);padding:14px 40px 14px 14px;margin-bottom:16px;box-shadow:var(--shadow-1)}.installhint.ih-in{animation:ih-slidein .25s ease}@keyframes ih-slidein{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.installhint .appicon{width:42px;height:42px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--display);font-size:19px;font-weight:600;flex:none;box-shadow:var(--shadow-1)}.installhint .ih-body{flex:1 1;min-width:0}.installhint .ih-t{font-weight:700;font-size:13.5px;line-height:1.3}.installhint .ih-d{font-size:12px;color:var(--ink-2);margin-top:3px;line-height:1.45}.installhint .ih-cta{margin-top:10px;display:inline-flex;align-items:center;gap:7px;background:var(--brand);color:#fff;border:0;border-radius:var(--r-pill);padding:10px 15px;font:inherit;font-weight:700;font-size:12.5px;cursor:pointer}.installhint .ih-cta svg{width:14px;height:14px}.installhint .ih-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--ink-3);background:transparent;border:0;cursor:pointer}.installhint .ih-close svg{width:16px;height:16px}.ih-steps{display:flex;flex-direction:column;gap:6px;margin-top:9px}.ih-step{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink)}.ih-step .num{width:18px;height:18px;border-radius:50%;border:1px solid var(--line-strong);place-items:center;font-size:10px;font-weight:700;color:var(--ink-2);flex:none;margin-top:1px}.ih-step .num,.ih-step .shareicon{background:var(--surface);display:grid}.ih-step .shareicon{width:20px;height:20px;border-radius:6px;border:1px solid var(--line-strong);place-items:center;flex:none}.ih-step .shareicon svg{width:12px;height:12px;color:var(--ink-2)}.ih-step .stx{flex:1 1;min-width:0;line-height:1.45;padding-top:1px}.safaribar{position:relative;margin-top:34px;background:#f1f1f3;border:1px solid var(--line);border-radius:14px;padding:10px 16px;display:flex;align-items:center;justify-content:space-around}.safaribar .sb-ic{width:22px;height:22px;color:var(--ink-3)}.safaribar .sb-ic.hl{color:var(--brand)}.safaribar .callout{top:-24px;background:var(--ink);color:#fff;font-size:10.5px;font-weight:600;padding:5px 9px;border-radius:7px;white-space:nowrap}.safaribar .callout,.safaribar .callout:after{position:absolute;left:50%;transform:translateX(-50%)}.safaribar .callout:after{content:"";top:100%;border:5px solid transparent;border-top:5px solid var(--ink)}.tnode .swatch{width:30px;height:30px;border-radius:8px;flex:none;background-size:cover;background-position:50%;background-color:var(--surface-2)}.tnode .tt-sub{font-size:11.5px;color:var(--ink-2);font-weight:500;margin-top:2px}.toggle.sm{width:44px;height:26px}.toggle.sm:after{width:20px;height:20px}.toggle.sm.on:after{left:21px}.spot-wrap{margin-bottom:4px}.spot-rail,.spot-wrap{background:transparent}.spot-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:16px;scroll-padding-right:16px}.spot-rail::-webkit-scrollbar{display:none}.spot-rail .spotlight{flex:none;width:calc(100vw - 32px);margin:16px 0 4px;scroll-snap-align:start}.spot-rail .spotlight:first-child{margin-left:16px}.spot-rail .spotlight:last-child{margin-right:16px}.spot-dots{display:flex;justify-content:center;gap:6px;margin:-2px 0 12px}.spot-dot{width:6px;height:6px;border-radius:50%;background:var(--line-strong)}.spot-dot.on{background:var(--brand);width:16px;border-radius:3px;transition:width .2s,border-radius .2s}.trlangnote{font-size:12px;color:var(--ink-2);line-height:1.55;margin:-4px 0 16px;padding:10px 12px;border-radius:var(--r-s)}.trlangnote,.trsummary{background:var(--surface-2)}.trsummary{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding:12px 14px;border-radius:var(--r-m)}.trs-stat{font-size:12.5px;font-weight:700;color:var(--ink)}.trs-actions{display:flex;gap:16px;flex-wrap:wrap}.trs-link{font:inherit;font-size:12px;font-weight:700;color:var(--brand);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.trs-link:disabled{opacity:.5;cursor:default;text-decoration:none}.trlegend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-2);margin:0 0 14px;align-items:center}.trchip{font-size:10px;font-weight:700;border-radius:6px;padding:3px 6px;min-width:24px;text-align:center}.trchip.none{background:var(--surface-2);color:var(--ink-3)}.trchip.done{background:var(--ok-soft);color:var(--ok)}.trchip.stale{background:var(--warn-soft);color:var(--warn)}.subhead{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);font-weight:700;margin:22px 0 10px}.subhead:first-of-type{margin-top:0}.tritem{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);margin-bottom:8px}.tritem .chk{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line-strong);flex:none;display:grid;place-items:center;cursor:pointer;background:var(--surface);margin-top:1px}.tritem .chk.on{background:var(--brand);border-color:var(--brand)}.tritem .chk svg{width:12px;height:12px;color:#fff;display:none}.tritem .chk.on svg{display:block}.tritem .ti-body{flex:1 1;min-width:0}.tritem .ti-name{font-weight:600;font-size:13.5px;line-height:1.3}.tritem .ti-type{font-size:11px;color:var(--ink-2);margin-top:2px}.tritem .chips{display:flex;gap:5px;flex:none;margin-top:6px;flex-wrap:wrap}.tr-gen{width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--brand);flex:none}.tr-gen svg{width:16px;height:16px}.tr-gen.loading svg{animation:trspin .8s linear infinite}.tr-gen:disabled{opacity:.5;cursor:default}@keyframes trspin{to{transform:rotate(1turn)}}.trbatchbar{position:-webkit-sticky;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:12px 16px;display:none;align-items:center;gap:10px;box-shadow:0 -4px 12px rgba(34,28,24,.06)}.trbatchbar.show{display:flex}.trbatchbar .tb-count{font-size:12.5px;font-weight:600;color:var(--ink-2);flex:1 1}.trfootnote{font-size:11.5px;color:var(--ink-3);line-height:1.55;margin:16px 0 4px}.lp-eyebrow{letter-spacing:.14em;text-transform:uppercase}.lp-chip,.lp-eyebrow{font-size:11px;color:var(--brand);font-weight:700}.lp-chip{display:inline-block;padding:4px 10px;border-radius:100px;background:var(--brand-soft,rgba(122,46,58,.1))}.lp-blog-index{max-width:900px;margin:0 auto;padding:48px 20px 80px}.lp-blog-hero{text-align:center;max-width:560px;margin:0 auto 44px}.lp-blog-hero h1{font-family:var(--display);font-weight:500;font-size:clamp(1.7rem,3.4vw,2.4rem);margin-top:12px;color:var(--ink)}.lp-blog-hero .lp-sub{margin-top:12px;color:var(--ink-2);font-size:1rem}.lp-blog-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:18px;gap:18px}@media(max-width:680px){.lp-blog-grid{grid-template-columns:1fr}}.lp-blog-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m,16px);box-shadow:var(--shadow-1);padding:20px;text-decoration:none;color:inherit;overflow:hidden}.lp-blog-card-img{display:block;height:140px;margin:-20px -20px 16px;background-size:cover;background-position:50%}.lp-blog-card h2{font-family:var(--display);font-size:1.15rem;font-weight:600;color:var(--ink);margin:10px 0 8px;line-height:1.3}.lp-blog-card p{font-size:.88rem;color:var(--ink-2);line-height:1.5}.lp-blog-card time{display:block;margin-top:12px;font-size:.75rem;color:var(--ink-3)}.lp-blog-empty{text-align:center;color:var(--ink-2);grid-column:1/-1;padding:40px 0}.lp-blog-post{max-width:680px;margin:0 auto;padding:48px 20px 80px}.lp-blog-post-header{text-align:center;margin-bottom:28px}.lp-blog-post-header h1{font-family:var(--display);font-weight:500;font-size:clamp(1.8rem,3.6vw,2.5rem);margin-top:10px;color:var(--ink);line-height:1.2}.lp-blog-post-header time{display:block;margin-top:12px;font-size:.82rem;color:var(--ink-3)}.lp-blog-post-cover{height:280px;border-radius:var(--r-m,16px);background-size:cover;background-position:50%;margin-bottom:32px}.lp-blog-post-content{font-size:1.02rem;line-height:1.75;color:var(--ink)}.lp-blog-post-content h2{font-family:var(--display);font-weight:600;font-size:1.5rem;margin:36px 0 14px}.lp-blog-post-content h3{font-family:var(--display);font-weight:600;font-size:1.2rem;margin:28px 0 10px}.lp-blog-post-content p{margin-bottom:16px}.lp-blog-post-content ol,.lp-blog-post-content ul{margin:0 0 16px 22px}.lp-blog-post-content a{color:var(--brand);text-decoration:underline;text-underline-offset:2px}.lp-blog-post-content img{max-width:100%;border-radius:var(--r-m,16px);margin:20px 0}.lp-blog-post-content blockquote{border-left:3px solid var(--brand);padding-left:16px;color:var(--ink-2);font-style:italic;margin:20px 0}.lp-blog-related{max-width:680px;margin:56px auto 0;padding:0 20px}.lp-blog-related h2{font-family:var(--display);font-size:1.3rem;margin-bottom:16px;color:var(--ink)}.lp-blog-related-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:14px;gap:14px}@media(max-width:560px){.lp-blog-related-grid{grid-template-columns:1fr}}.lp-blog-related-grid h3{font-family:var(--display);font-size:1rem;font-weight:600;color:var(--ink)}