:root{--paper:#faf8f4;--paper-sunk:#f2eee7;--card:#fff;--ink:#1b1917;--ink-soft:#6d665d;--ink-faint:#a09890;--rule:#e0d9ce;--rule-strong:#c9c0b2;--accent:#8c3b2e;--meat:#b4553f;--pescatarian:#3c7a8c;--vegetarian:#6f8f3c;--vegan:#3f9168;--unknown:#938a7e;--ui:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--gap:1rem;--radius:10px;--shadow:0 1px 2px #1b19170f, 0 8px 24px #1b191712}@media (prefers-color-scheme:dark){:root{--paper:#15140f;--paper-sunk:#100f0b;--card:#1e1c17;--ink:#ece6da;--ink-soft:#a49c8d;--ink-faint:#6d6659;--rule:#2f2c25;--rule-strong:#46423a;--accent:#d08a6f;--meat:#d47a60;--pescatarian:#63a8bd;--vegetarian:#9bbb5e;--vegan:#5fbf8e;--unknown:#8d8578;--shadow:0 1px 2px #0006, 0 10px 30px #00000059}}*{box-sizing:border-box}html,body{overscroll-behavior-y:contain;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}button,select,input,textarea{font:inherit;color:inherit}button{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:999px;padding:.28rem .8rem;transition:border-color .12s,background .12s,color .12s}button:hover{border-color:var(--rule-strong)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit}.app{grid-template-rows:auto 1fr;min-height:100%;display:grid}.masthead{border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:baseline;gap:.4rem 1.2rem;padding:1rem 1.5rem .8rem;display:flex}.masthead h1{letter-spacing:.14em;text-transform:lowercase;margin:0;font-size:1rem;font-weight:600}.masthead .tagline{color:var(--ink-soft);letter-spacing:.02em;font-size:.8rem}.masthead nav{gap:.4rem;margin-left:auto;display:flex}.sheet{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;padding:1.25rem 1.5rem 3rem;display:grid}@media (max-width:1040px){.sheet{grid-template-columns:minmax(0,1fr) 280px;gap:1rem;padding:1rem 1rem 2.5rem}}@media (max-width:760px){.sheet{grid-template-columns:minmax(0,1fr)}}.column{min-width:0}.venues{border-bottom:1px solid var(--rule);background:var(--paper-sunk);flex-wrap:wrap;gap:.4rem;padding:.75rem 1.5rem;display:flex}.venue-chip{color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:baseline;gap:.45rem;padding:.3rem .75rem;display:inline-flex}.venue-chip:hover{color:var(--ink);background:var(--card)}.venue-chip[aria-current=true]{color:var(--ink);background:var(--card);border-color:var(--rule-strong);box-shadow:var(--shadow)}.venue-chip small{color:var(--ink-faint);letter-spacing:.04em;font-size:.72rem}.titleblock{margin:0 0 1rem}.titleblock h2{letter-spacing:-.01em;margin:0;font-size:1.6rem;font-weight:500}.titleblock-head.has-logo h2{line-height:0}.venue-logo{object-fit:contain;object-position:left center;width:auto;max-width:18rem;height:2.9rem;display:block}@media (prefers-color-scheme:dark){.venue-logo{background:#faf8f4;border-radius:8px;padding:.3rem .45rem}}.titleblock p{color:var(--ink-soft);max-width:62ch;margin:.25rem 0 0;font-size:.86rem}.menu-tabs{flex-wrap:wrap;gap:.4rem;margin-top:.7rem;display:flex}.menu-tab{letter-spacing:.03em;color:var(--ink-soft);background:var(--card);white-space:nowrap;border-radius:999px;padding:.28rem .85rem;font-size:.82rem}.menu-tab:hover{color:var(--ink)}.menu-tab[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.menu-tab small{color:var(--ink-faint);letter-spacing:.04em;margin-left:.4rem;font-size:.72rem}.menu-tab[aria-current=page] small{color:var(--paper);opacity:.65}.toolbar{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:.5rem .9rem;margin-bottom:1.1rem;padding:.7rem 0;display:flex}.field{letter-spacing:.06em;text-transform:lowercase;color:var(--ink-soft);align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}.field select,.field input[type=search]{border:1px solid var(--rule);background:var(--card);letter-spacing:0;text-transform:none;color:var(--ink);border-radius:6px;max-width:13rem;padding:.22rem .4rem;font-size:.82rem}.icon-button{color:var(--ink-soft);border-radius:6px;padding:.18rem .45rem;font-size:.9rem;line-height:1}.icon-button[aria-pressed=true]{color:var(--ink);border-color:var(--rule-strong);background:var(--paper-sunk)}.seg{border:1px solid var(--rule);background:var(--card);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{letter-spacing:.04em;color:var(--ink-soft);border:0;border-radius:0;padding:.22rem .62rem;font-size:.78rem}.seg button+button{border-left:1px solid var(--rule)}.seg button[aria-pressed=true]{background:var(--paper-sunk);color:var(--ink)}.column.is-side{--label-col:3.4rem}.column.is-side .venue-logo{max-width:16rem}.column.is-side .titleblock p{max-width:none}.toolbar.is-side{padding:.8rem 0 .9rem;display:block}.toolbar.is-side .axis-row{grid-template-columns:var(--label-col) minmax(0, 1fr) 3.1rem;align-items:center;gap:.5rem;display:grid}.toolbar.is-side .axis-row+.axis-row{margin-top:.45rem}.toolbar.is-side .axis-row>label{letter-spacing:.06em;text-transform:lowercase;color:var(--ink-soft);font-size:.78rem}.toolbar.is-side select{border:1px solid var(--rule);background:var(--card);width:100%;min-width:0;color:var(--ink);text-overflow:ellipsis;border-radius:6px;padding:.28rem .4rem;font-size:.82rem}.toolbar.is-side .icon-button{justify-self:end}.toolbar.is-side .seg-row{align-items:center;gap:.5rem;margin-top:.6rem;display:flex}.toolbar.is-side .seg-name{width:var(--label-col);letter-spacing:.06em;color:var(--ink-soft);flex:none;font-size:.78rem}.toolbar.is-side .find{border:1px solid var(--rule);background:var(--card);border-radius:6px;align-items:center;gap:.45rem;margin-top:.7rem;padding:.1rem .5rem;display:flex}.toolbar.is-side .find .icon{color:var(--ink-faint);flex:none}.toolbar.is-side .find input[type=search]{min-width:0;color:var(--ink);background:0 0;border:0;flex:1;padding:.3rem 0;font-size:.85rem}.toolbar.is-side .find input[type=search]:focus-visible{outline:none}.toolbar.is-side .find:focus-within{border-color:var(--accent)}.chips{flex-wrap:wrap;gap:.35rem;display:flex}.filter-row{margin-bottom:1rem}.chip{letter-spacing:.04em;color:var(--ink-soft);align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.76rem;display:inline-flex}.chip[aria-pressed=true]{color:var(--ink);border-color:currentColor}.chip .dot{background:currentColor;border-radius:50%;flex:none;width:.5rem;height:.5rem}.chip.is-kept-filter svg{fill:none;flex:none}.chip.is-kept-filter:hover{color:var(--keep)}.chip.is-kept-filter[aria-pressed=true]{color:var(--keep);border-color:var(--keep)}.chip.is-kept-filter[aria-pressed=true] svg{fill:var(--keep)}.chip.diet-meat{--chip:var(--meat)}.chip.diet-pescatarian{--chip:var(--pescatarian)}.chip.diet-vegetarian{--chip:var(--vegetarian)}.chip.diet-vegan{--chip:var(--vegan)}.chip.diet-unknown{--chip:var(--unknown)}.chip .dot{background:var(--chip,currentColor)}.chip[aria-pressed=true]{border-color:var(--chip,currentColor)}.plot-frame{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden}.plot{touch-action:manipulation;width:100%;height:auto;display:block}.plot .frame-line{stroke:var(--rule-strong);fill:none;stroke-width:1px}.plot .quadrant{stroke:var(--rule);stroke-width:1px}.plot .gridline{stroke:var(--rule);stroke-width:1px;stroke-dasharray:2 5;opacity:.7}.plot .axis-label{fill:var(--ink);letter-spacing:.16em;text-transform:lowercase;font-size:12px}.plot .axis-mark{color:var(--ink-soft)}.plot .tick-label{fill:var(--ink-faint);letter-spacing:.08em;font-size:10px;font-family:var(--mono)}.plot .leader{stroke:var(--rule-strong);stroke-width:.75px;opacity:.6}.plot .anchor{fill:var(--rule-strong)}.mark{cursor:pointer}.mark .glyph{color:var(--ink)}.mark .mark-label{fill:var(--ink);letter-spacing:.07em;text-anchor:middle;font-size:10.5px}.mark .mark-sub{fill:var(--ink-faint);letter-spacing:.06em;text-anchor:middle;font-size:9px}.mark .diet-ring{fill:none;stroke-width:1.5px;opacity:.85}.mark:hover .mark-label,.mark.is-selected .mark-label{font-weight:600}.mark:hover .halo,.mark.is-selected .halo{opacity:1}.mark .halo{fill:var(--paper-sunk);opacity:0;transition:opacity .12s}.mark.is-selected .halo{fill:var(--paper-sunk)}.mark.is-dimmed{opacity:.9}.ghost{fill:var(--ink-faint);opacity:.3}.plot-empty{text-align:center;color:var(--ink-soft);padding:3rem 1.5rem;font-size:.9rem}.plot-note{letter-spacing:.04em;color:var(--ink-faint);flex-wrap:wrap;gap:.3rem 1rem;margin-top:.6rem;font-size:.74rem;display:flex}.panel{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem 1.2rem;position:sticky;top:1rem}.panel h3{margin:0 0 .1rem;font-size:1.1rem;font-weight:600}.title-row{align-items:flex-start;gap:.6rem;display:flex}.title-row h3{flex:1;min-width:0}.photo-add{border:1px solid var(--rule-strong);background:var(--card);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;transition:color .12s,border-color .12s,background .12s;display:grid}.photo-add:hover{color:var(--ink);border-color:var(--ink-soft)}.photo-add:active{background:var(--paper-sunk);color:var(--ink)}.panel .sub{color:var(--ink-soft);letter-spacing:.05em;text-transform:lowercase;margin-bottom:.7rem;font-size:.8rem}.panel .desc{color:var(--ink-soft);margin:0 0 .9rem;font-size:.88rem}.photo-strip{scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;border-radius:10px;gap:.4rem;margin:-.35rem -.35rem .8rem;display:flex;overflow-x:auto}.photo-strip::-webkit-scrollbar{display:none}.photo-shot{background:var(--paper-sunk);scroll-snap-align:center;border:0;border-radius:10px;flex:none;width:100%;padding:0;line-height:0;display:block;overflow:hidden}.photo-shot:hover{border:0}.photo-strip img{object-fit:cover;background:var(--paper-sunk);width:100%;height:10.5rem;display:block}.photo-credit{letter-spacing:.04em;color:var(--ink-faint);margin:-.5rem 0 .7rem;font-size:.68rem}.photo-strip img.is-pending{outline:1px dashed var(--rule-strong);outline-offset:-3px;opacity:.85}.photo-credit.is-pending{color:var(--ink-soft)}.panel .glyph-plate{align-items:center;gap:.8rem;margin-bottom:.6rem;display:flex}.panel .glyph-plate .glyph{color:var(--ink)}.panel .price{font-family:var(--mono);letter-spacing:-.02em;font-size:1.25rem}.readouts{gap:.35rem;margin:0 0 .9rem;display:grid}.readout{grid-template-columns:7.5rem 1fr;align-items:center;gap:.5rem;font-size:.78rem;display:grid}.readout dt{color:var(--ink-faint);letter-spacing:.05em;text-transform:lowercase}.readout dd{margin:0}.meter{background:var(--paper-sunk);border-radius:2px;height:4px;margin-top:.3rem;position:relative}.meter span{background:var(--accent);border-radius:50%;width:10px;height:10px;margin-left:-5px;position:absolute;top:-3px}.badges{flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem;display:flex}.badge{letter-spacing:.08em;text-transform:lowercase;border:1px solid var(--rule);color:var(--ink-soft);border-radius:999px;padding:.12rem .5rem;font-size:.7rem}.badge.guess{border-style:dashed}.badge.diet{color:var(--chip,var(--ink-soft));border-color:currentColor}.panel .empty{color:var(--ink-faint);text-align:center;padding:2rem .5rem;font-size:.85rem}.variant-row{flex-wrap:wrap;gap:.3rem;margin-bottom:.8rem;display:flex}.drawer{background:var(--card);border-top:1px solid var(--rule-strong);overscroll-behavior:contain;z-index:20;max-height:86vh;padding:1.1rem 1.5rem 2rem;position:fixed;inset:auto 0 0;overflow:auto;box-shadow:0 -10px 40px #0000002e}.drawer header{align-items:baseline;gap:1rem;margin-bottom:.8rem;display:flex}.drawer h2{margin:0;font-size:1.1rem;font-weight:600}.drawer .close{margin-left:auto}.drawer .grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.2rem;display:grid}@media (max-width:820px){.drawer .grid{grid-template-columns:minmax(0,1fr)}}.drawer textarea{border:1px solid var(--rule);background:var(--paper);width:100%;min-height:15rem;font-family:var(--mono);resize:vertical;border-radius:8px;padding:.7rem;font-size:.78rem;line-height:1.55}.drawer label{letter-spacing:.05em;color:var(--ink-soft);margin-bottom:.5rem;font-size:.78rem;display:block}.drawer label input,.drawer label select{border:1px solid var(--rule);background:var(--paper);letter-spacing:0;border-radius:6px;width:100%;margin-top:.2rem;padding:.3rem .45rem;font-size:.85rem;display:block}.drawer .actions{align-items:center;gap:.5rem;margin-top:.7rem;display:flex}.drawer .primary{border-color:var(--ink);background:var(--ink);color:var(--paper)}.drawer .primary:hover{background:var(--accent);border-color:var(--accent)}.preview{border:1px solid var(--rule);border-radius:8px;max-height:22rem;padding:.7rem .8rem;font-size:.8rem;overflow:auto}.preview table{border-collapse:collapse;width:100%}.preview th{text-align:left;letter-spacing:.08em;text-transform:lowercase;color:var(--ink-faint);border-bottom:1px solid var(--rule);padding:.2rem .4rem;font-size:.7rem;font-weight:500}.preview td{border-bottom:1px solid var(--rule);padding:.18rem .4rem}.preview td.num{font-family:var(--mono);text-align:right}.warnings{color:var(--ink-soft);border-left:2px solid var(--rule-strong);max-height:10rem;margin-top:.7rem;padding-left:.6rem;font-size:.76rem;overflow:auto}.warnings li{margin-bottom:.15rem}.notice{background:var(--paper-sunk);border:1px solid var(--rule);border-radius:6px;padding:.45rem .7rem;font-size:.8rem}.notice.bad{border-color:var(--meat);color:var(--meat)}.notice.good{border-color:var(--vegan);color:var(--vegan)}.scrim{z-index:19;background:#0a090859;position:fixed;inset:0}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sheet-nav{justify-content:flex-end;margin:-.2rem -.2rem .1rem 0;display:flex}.panel>.sheet-nav .nav-step:not(.is-heart),.panel>.sheet-nav .panel-close{display:none}.plot .rail-line,.plot .rail-tick{stroke:var(--rule-strong);stroke-width:1px}.plot .rail-label{fill:var(--ink);letter-spacing:.1em;text-transform:lowercase;font-size:10px}.plot .rail-step{cursor:pointer;color:var(--ink-soft)}.plot .rail-step .hit{pointer-events:all}.plot .rail-step:hover,.plot .rail-step:active{color:var(--ink)}.plot .rail-step:active .hit{fill:var(--paper-sunk)}.plot .rail-step:focus-visible{outline:none}.plot .rail-step:focus-visible .hit{stroke:var(--accent);stroke-width:2px}@media (max-width:760px){body{font-size:15px}.sheet.is-mobile{padding:calc(.7rem + env(safe-area-inset-top)) .6rem calc(5.5rem + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:0}.titleblock{margin:0 .4rem .7rem}.titleblock h2{font-size:1.35rem;line-height:1.2}.venue-logo{max-width:13rem;height:2.4rem}.titleblock-head.has-logo{align-items:center;gap:.8rem;display:flex}.titleblock-head.has-logo .venue-open,.titleblock-head.has-logo h2{flex:none}.titleblock-head.has-logo p{text-align:center;-webkit-line-clamp:3;flex:1 1 0;min-width:0;margin:0}.menu-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;margin-top:.75rem;overflow-x:auto}.menu-tabs::-webkit-scrollbar{display:none}.menu-tab{flex:none;align-items:center;min-height:40px;padding:0 1rem;font-size:.88rem;display:inline-flex}.menu-tab:active{background:var(--paper-sunk)}.menu-tab[aria-current=page]:active{background:var(--ink)}.titleblock p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.3rem;font-size:.82rem;display:-webkit-box;overflow:hidden}.plot-frame.is-compact{border-radius:12px;padding:.35rem .3rem .3rem}.plot-note{margin:.9rem .5rem 0;font-size:.72rem}.controls{--label-col:3.4rem;background:var(--card);border:1px solid var(--rule);box-shadow:var(--shadow);border-radius:14px;margin:2px .1rem 0;padding:.9rem .85rem 1rem}.controls .toolbar.is-stacked{border:0;margin:0;padding:0;display:block}.axis-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.axis-panel{flex-direction:column;gap:.35rem;min-width:0;display:flex}.axis-name,.seg-name{letter-spacing:.08em;text-transform:lowercase;color:var(--ink-soft);font-size:.74rem}.axis-panel .axis-name{text-align:center;line-height:1.2}.seg-name{width:var(--label-col);text-align:right;flex:none}.axis-pick{min-width:0;display:block;position:relative}.axis-pick select{appearance:none;border:1px solid var(--rule);background:var(--paper);letter-spacing:0;text-overflow:ellipsis;border-radius:10px;width:100%;min-width:0;max-width:none;min-height:44px;padding:0 1.6rem 0 .55rem;font-size:16px}.axis-pick:after{content:"";border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);pointer-events:none;width:.44rem;height:.44rem;margin-top:-.34rem;position:absolute;top:50%;right:.6rem;transform:rotate(45deg)}.controls .find{align-items:center;margin-top:.55rem;display:flex;position:relative}.controls .find .icon{color:var(--ink-faint);pointer-events:none;position:absolute;left:.75rem}.controls .find input[type=search]{border:1px solid var(--rule);background:var(--paper);letter-spacing:0;border-radius:10px;width:100%;max-width:none;min-height:44px;padding:0 .8rem 0 2.45rem;font-size:16px}.seg-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.controls .seg{border-radius:10px}.controls .seg button{min-width:44px;min-height:40px;padding:0 .85rem;font-size:.86rem}.controls .seg button:active{background:var(--paper-sunk)}.filter-row{gap:.3rem;margin:0 .5rem .7rem}.filter-row .chip{letter-spacing:.02em;border-radius:8px;gap:.3rem;min-height:28px;padding:0 .55rem;font-size:.74rem}.filter-row .chip .dot{width:.4rem;height:.4rem}.filter-row .chip small{font-size:.68rem}.filter-row .chip:active{background:var(--paper-sunk)}.venues{display:none}.bottom-bar{z-index:15;padding:.4rem .4rem calc(.4rem + env(safe-area-inset-bottom));background:var(--paper);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--rule);grid-auto-columns:1fr;grid-auto-flow:column;gap:.2rem;display:grid;position:fixed;inset:auto 0 0}.bottom-bar .tab{color:var(--ink-soft);letter-spacing:.1em;text-transform:lowercase;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;min-height:48px;padding:.35rem .2rem .3rem;font-size:.62rem;display:flex}.bottom-bar .tab:active{background:var(--paper-sunk)}.bottom-bar .tab:disabled{opacity:.32}.bottom-bar .tab .icon{color:var(--ink)}.bottom-bar .tab:disabled .icon{color:var(--ink-faint)}.install-hint{inset:auto .6rem calc(4.5rem + env(safe-area-inset-bottom));z-index:14;border:1px solid var(--rule-strong);background:var(--card);box-shadow:var(--shadow);color:var(--ink-soft);border-radius:12px;align-items:center;gap:.6rem;padding:.55rem .5rem .55rem .8rem;font-size:.78rem;animation:.2s ease-out rise;display:flex;position:fixed}.install-hint strong{color:var(--ink);font-weight:600}.install-hint .icon-button{border:0;margin-left:auto;padding:.1rem .4rem;font-size:1.1rem;line-height:1}.detail-sheet{inset:auto 0 calc(4.4rem + env(safe-area-inset-bottom));z-index:16;overscroll-behavior:contain;height:62vh;padding:0 .6rem;position:fixed;overflow:auto}.detail-sheet.is-entering{animation:.16s ease-out rise}.detail-sheet .panel{border-radius:14px;min-height:100%;padding-top:.9rem;position:relative}.detail-sheet .sheet-nav{z-index:1;gap:.35rem;margin:0;display:flex;position:absolute;top:.55rem;right:.55rem}.detail-sheet .panel>.sheet-nav .nav-step,.detail-sheet .panel>.sheet-nav .panel-close{display:grid}.detail-sheet .sheet-nav button{width:38px;height:38px;color:var(--ink-soft);background:var(--card);border-radius:50%;place-items:center;padding:0;display:grid}.detail-sheet .sheet-nav button:active{background:var(--paper-sunk);color:var(--ink)}.detail-sheet .sheet-nav button:disabled{color:var(--ink-faint);border-color:var(--rule);opacity:.45}.detail-sheet .panel-close{color:var(--ink);border-color:var(--rule-strong)}.detail-sheet .panel{padding-top:1rem}.detail-sheet .glyph-plate{padding-right:11rem}.detail-sheet{touch-action:pan-y}.detail-sheet .readouts{gap:.25rem}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.drawer{padding:1rem .9rem calc(2rem + env(safe-area-inset-bottom))}}.picker{z-index:25;background:var(--card);border-top:1px solid var(--rule-strong);overscroll-behavior:contain;max-height:72vh;padding:.3rem 0 calc(1rem + env(safe-area-inset-bottom));border-top-left-radius:18px;border-top-right-radius:18px;animation:.17s ease-out rise;position:fixed;inset:auto 0 0;overflow:auto;box-shadow:0 -12px 40px #00000038}.picker header{border-bottom:1px solid var(--rule);background:var(--card);align-items:center;gap:.6rem;padding:.7rem 1rem .5rem;display:flex;position:sticky;top:0}.picker header h2{letter-spacing:.16em;text-transform:lowercase;margin:0;font-size:.8rem;font-weight:600}.picker header .icon-button{border:0;margin-left:auto}.picker ul{margin:0;padding:.3rem .5rem;list-style:none}.picker li+li{border-top:1px solid var(--rule)}.picker li button{text-align:left;border:0;border-radius:10px;grid-template-columns:1fr auto;grid-template-areas:"name count""meta count";align-items:center;gap:0 .8rem;width:100%;min-height:52px;padding:.7rem .6rem;display:grid}.picker li button:active,.picker li button[aria-current=true]{background:var(--paper-sunk)}.picker li button[aria-current=true] .name{font-weight:600}.picker .name{grid-area:name;font-size:.95rem}.picker .meta{color:var(--ink-faint);letter-spacing:.04em;grid-area:meta;font-size:.74rem}.picker .count{font-family:var(--mono);color:var(--ink-faint);grid-area:count;font-size:.78rem}:root{--keep:#c7536f;--keep-wash:#fbe7ec}@media (prefers-color-scheme:dark){:root{--keep:#e58aa2;--keep-wash:#3a2229}}.sheet-nav .is-heart{color:var(--ink-soft)}.sheet-nav .is-heart svg{fill:none}.sheet-nav .is-heart.is-kept{color:var(--keep)}.sheet-nav .is-heart.is-kept svg{fill:var(--keep)}.sheet-nav .is-heart:hover{color:var(--keep)}.plot .keep-disc{fill:var(--keep-wash);stroke:none}.masthead .account-button{align-items:center;gap:.4rem;padding-left:.4rem;display:inline-flex}.avatar{object-fit:cover;background:var(--paper-sunk);border-radius:50%;width:22px;height:22px}.avatar.is-large{width:44px;height:44px}.bottom-bar.is-signed-in{grid-template-columns:3.1rem}.bottom-bar .tab.is-account.is-signed-in{justify-content:center;padding:0}.bottom-bar .tab.is-account.is-signed-in .avatar,.bottom-bar .tab.is-account.is-signed-in .icon{flex:none;width:42px;height:42px}.picker li.venue-row{align-items:center;display:flex}.picker li.venue-row>button[data-venue]{flex:1;min-width:0}.picker li.venue-row>.row-heart{width:44px;min-width:44px;height:44px;min-height:0;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.picker li.venue-row>.row-heart svg{fill:none}.picker li.venue-row>.row-heart:hover,.picker li.venue-row>.row-heart.is-kept{color:var(--keep)}.picker li.venue-row>.row-heart.is-kept svg{fill:var(--keep)}.picker-group{letter-spacing:.16em;text-transform:lowercase;color:var(--ink-faint);margin:0;padding:.7rem 1.1rem .2rem;font-size:.68rem;font-weight:600}.account-body{gap:.9rem;padding:1rem 1.1rem .4rem;display:grid}.account-body p{color:var(--ink-soft);margin:0;font-size:.86rem}.account-identity{align-items:center;gap:.8rem;display:flex}.account-name{font-size:1rem;font-weight:600}.account-email{color:var(--ink-soft);word-break:break-all;font-size:.8rem}.account-role{border:1px solid var(--rule-strong);letter-spacing:.14em;text-transform:lowercase;color:var(--ink-soft);border-radius:999px;margin-top:.2rem;padding:.05rem .4rem;font-size:.64rem;display:inline-block}.account-kept{font-family:var(--mono);font-size:.78rem}.account-body .primary{text-align:center;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;padding:.65rem 1rem;text-decoration:none;display:block}.account-body .primary:hover{border-color:var(--accent);color:var(--accent)}.account-body .quiet{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem}.account-body .quiet:hover{color:var(--ink)}@media (min-width:761px){.picker.is-account{border:1px solid var(--rule-strong);width:min(23rem,100vw - 2rem);box-shadow:var(--shadow);border-radius:18px;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.app-notice{inset:auto .6rem calc(.8rem + env(safe-area-inset-bottom));z-index:18;border:1px solid var(--rule-strong);background:var(--card);max-width:28rem;box-shadow:var(--shadow);color:var(--ink-soft);cursor:pointer;border-radius:12px;align-items:center;gap:.6rem;margin:0 auto;padding:.55rem .5rem .55rem .9rem;font-size:.8rem;display:flex;position:fixed}.app-notice span{flex:1}@media (max-width:760px){.app-notice{bottom:calc(4.6rem + env(safe-area-inset-bottom))}}.drawer.is-photo{border-radius:18px 18px 0 0;max-width:28rem;margin:0 auto}.photo-flow{flex-direction:column;gap:.6rem;display:flex}.photo-lede{color:var(--ink-soft);margin:0;font-size:.9rem}.photo-note{letter-spacing:.04em;color:var(--ink-faint);margin:0;font-size:.72rem}.drawer .photo-choice{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--card);color:var(--ink);letter-spacing:0;text-transform:none;cursor:pointer;align-items:center;gap:.7rem;margin:0;padding:.85rem 1rem;font-size:1rem;display:flex}.drawer .photo-choice:hover{border-color:var(--accent);color:var(--accent)}.drawer .photo-choice.is-primary{border-color:var(--ink);background:var(--ink);color:var(--paper);padding:1.05rem 1rem;font-weight:500}.drawer .photo-choice.is-primary:hover{background:var(--accent);border-color:var(--accent)}.drawer .photo-choice input{display:none}.drawer .photo-choice svg{flex:none;width:1.4em;height:1.4em}.photo-preview{object-fit:contain;border-radius:var(--radius);background:var(--paper-sunk);width:100%;max-height:22rem}.drawer .primary.is-sending{opacity:.6;pointer-events:none}.drawer .quiet{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem}.drawer .quiet:hover{color:var(--ink)}.masthead.is-admin{align-items:center}.masthead.is-admin strong{letter-spacing:.1em;text-transform:lowercase;font-weight:600}.admin-back{color:var(--ink-soft);font-size:.82rem;text-decoration:none}.admin-back:hover{color:var(--ink)}.admin-count{font-family:var(--mono);color:var(--ink-faint);margin-left:auto;font-size:.8rem}.sheet.is-admin{grid-template-columns:minmax(0,1fr)}.review-group{margin-bottom:2rem}.review-group h2{border-bottom:1px solid var(--rule);align-items:baseline;gap:.5rem;margin:0 0 .7rem;padding-bottom:.4rem;font-size:.95rem;font-weight:600;display:flex}.review-group h2 small{font-family:var(--mono);color:var(--ink-faint);font-weight:400}.review-grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;display:grid}.review-card{border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);flex-direction:column;gap:.35rem;padding:.7rem;display:flex}.review-card.is-busy{opacity:.5}.review-card img{object-fit:cover;background:var(--paper-sunk);border-radius:8px;width:100%;height:11rem}.review-what{flex-direction:column;display:flex}.review-what strong{font-size:.95rem;font-weight:600}.review-what span{letter-spacing:.04em;text-transform:lowercase;color:var(--ink-soft);font-size:.76rem}.review-who{color:var(--ink-faint);font-size:.72rem}.review-card .actions{align-items:center;gap:.4rem;margin-top:.25rem;display:flex}.review-card .primary{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;cursor:pointer;border-radius:8px;flex:1;padding:.45rem .8rem;font-size:.85rem}.review-card .primary:hover{background:var(--vegan);border-color:var(--vegan)}.review-card .quiet{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;padding:.45rem .7rem;font-size:.85rem}.review-card .quiet.is-danger:hover{color:var(--meat)}.review-card button:disabled{cursor:default}.venue-open{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;min-width:8rem;min-height:44px;padding:0;display:flex}.venue-open:hover{border:0}.venue-open:hover h2{color:var(--accent)}.venue-open h2{pointer-events:none;align-items:center;display:flex}.venue-open .venue-logo{flex:none}.drawer.is-venue{max-height:88vh}.venue-body{gap:.9rem;display:grid}.venue-status{letter-spacing:.01em;background:var(--paper-sunk);border:1px solid var(--rule);color:var(--ink-soft);border-radius:8px;padding:.5rem .8rem;font-size:1rem}.venue-status.is-open{color:var(--vegan);border-color:var(--vegan);font-weight:600}.venue-lines{gap:.4rem;display:grid}.venue-line{border:1px solid var(--rule);min-height:46px;color:var(--ink);background:var(--card);border-radius:10px;align-items:center;gap:.6rem;padding:.4rem .7rem;text-decoration:none;display:flex}.venue-line:hover{border-color:var(--rule-strong)}.venue-line svg{color:var(--ink-faint);flex:none}.venue-line span{flex:1;min-width:0;font-size:.88rem}.venue-line em{letter-spacing:.08em;text-transform:lowercase;color:var(--ink-faint);flex:none;font-size:.72rem;font-style:normal}.venue-line.is-missing{color:var(--ink-faint);background:0 0;border-style:dashed}.venue-line.is-call{border-color:var(--ink);background:var(--ink);color:var(--paper)}.venue-line.is-call svg,.venue-line.is-call em{color:var(--paper);opacity:.75}.venue-line.is-call:hover{background:var(--accent);border-color:var(--accent)}.venue-hours{border-collapse:collapse;width:100%;font-size:.85rem}.venue-hours th,.venue-hours td{text-align:left;vertical-align:top;padding:.3rem 0}.venue-hours th{color:var(--ink-soft);white-space:nowrap;width:7.5rem;font-weight:400}.venue-hours tr.is-today th,.venue-hours tr.is-today td{color:var(--ink);font-weight:600}.venue-hours tr+tr th,.venue-hours tr+tr td{border-top:1px solid var(--rule)}.venue-note{color:var(--ink-faint);margin:0;font-size:.74rem}.venue-subhead{letter-spacing:.08em;text-transform:lowercase;color:var(--ink-soft);margin:.4rem 0 0;font-size:.78rem;font-weight:600}.venue-form{gap:.6rem;display:grid}.venue-pair{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.venue-field{gap:.2rem;display:grid}.venue-field>span{letter-spacing:.08em;text-transform:lowercase;color:var(--ink-soft);font-size:.72rem}.venue-field input{border:1px solid var(--rule);background:var(--paper);border-radius:8px;width:100%;padding:.45rem .6rem;font-size:.88rem}.hours-edit{gap:.35rem;display:grid}.hours-day{border-top:1px solid var(--rule);grid-template-columns:2.6rem minmax(0,1fr) 2rem;align-items:start;gap:.5rem;padding:.35rem 0;display:grid}.hours-name{letter-spacing:.04em;color:var(--ink-soft);padding-top:.5rem;font-size:.78rem}.hours-spans{gap:.3rem;min-width:0;display:grid}.hours-span{align-items:center;gap:.3rem;display:flex}.hours-span input[type=time]{border:1px solid var(--rule);background:var(--paper);min-width:0;font-size:.85rem;font-family:var(--mono);border-radius:8px;flex:1;padding:.35rem .4rem}.hours-dash{color:var(--ink-faint)}.hours-closed{color:var(--ink-faint);letter-spacing:.04em;padding:.5rem 0;font-size:.82rem}.hours-add,.hours-drop{width:30px;height:30px;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;padding:0;font-size:1rem;line-height:1;display:grid}.hours-add{margin-top:.35rem}.hours-add:hover{color:var(--ink);border-color:var(--ink)}.hours-drop:hover{color:var(--meat);border-color:var(--meat)}.lightbox{z-index:40;touch-action:none;background:#0a0908;grid-template-rows:minmax(0,1fr) auto;animation:.14s ease-out fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.lightbox-stage{min-height:0;position:relative}.lightbox-stage .shot{object-fit:contain;visibility:hidden;border-radius:4px;width:auto;max-width:calc(100% - 1.2rem);height:auto;max-height:calc(100% - 1.2rem);margin:auto;position:absolute;inset:.6rem}.lightbox-stage .shot.is-current{visibility:visible}.lightbox-close,.lightbox-step{color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;border:1px solid #ffffff4d;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.lightbox-close:hover,.lightbox-step:hover{background:#000000bf;border-color:#fff9}.lightbox-close{top:calc(.6rem + env(safe-area-inset-top));width:42px;height:42px;right:.6rem}.lightbox-step{width:48px;height:48px;margin-top:-2rem;top:50%;transform:translateY(-50%)}.lightbox-step.is-prev{left:.5rem}.lightbox-step.is-next{right:.5rem}.lightbox-step[hidden]{display:none}.lightbox-foot{padding:.8rem 1rem calc(1rem + env(safe-area-inset-bottom));text-align:center;color:#ffffffc7;letter-spacing:.03em;justify-items:center;gap:.45rem;font-size:.78rem;display:grid}.lightbox-count{font-family:var(--mono);color:#ffffff8c;font-size:.72rem}.lightbox-meta a{color:#fff;text-decoration:underline}.lightbox-flag{color:#fff;border:1px dashed #ffffff73;border-radius:999px;padding:.3rem .7rem;font-size:.74rem}.lightbox-foot .notice{max-width:34rem}.lightbox-actions{align-items:center;gap:.5rem;margin-top:.15rem;display:flex}.lightbox-ask{color:#ffffffb3}.lightbox-actions .primary{color:#14120f;background:#fff;border:1px solid #fff;border-radius:999px;padding:.4rem 1.1rem;font-size:.82rem}.lightbox-actions .primary:hover{background:var(--vegan);border-color:var(--vegan);color:#fff}.lightbox-actions .quiet{color:#fffc;background:0 0;border:1px solid #ffffff4d;border-radius:999px;padding:.4rem .9rem;font-size:.82rem}.lightbox-actions .quiet:hover{color:#fff;border-color:#fff9}.lightbox-actions .quiet.is-danger{color:#e8927c;border-color:#e8927c73}.lightbox-actions .quiet.is-danger:hover{color:#fff;background:var(--meat);border-color:var(--meat)}.lightbox-actions button:disabled{opacity:.55;cursor:default}@media (prefers-reduced-motion:reduce){.lightbox{animation:none}}
