:root{--chili:#f47c2c;--saffron:#f2a93b;--primary:#0e7a6a;--primary-deep:#0a574c;--primary-tint:#e0f0ed;--secondary:#b0355c;--secondary-tint:#f9e5ec;--cream:#f8d247;--oat:#f3933c;--paper:#fff;--ink:#2a1e18;--muted:#9a8c7d;--line:#ece8e2;--brand-gap:16px;--brand-h:clamp(38px, 9.5vw, 64px);--hero-top:max(clamp(26px, 6vh, 68px), calc(var(--brand-h) + var(--brand-gap) + 18px))}*,:before,:after{box-sizing:border-box;-webkit-font-smoothing:antialiased}html,body{color:var(--ink);margin:0;font-family:Hanken Grotesk,sans-serif}html{background:#3fa9e6}body{position:relative;overflow-x:hidden}body:not(:has(.grub-admin)):before{content:"";z-index:-1;pointer-events:none;background:#3fa9e6 url(landing-bg-mobile.3812509b.webp) bottom/cover no-repeat;position:fixed;inset:0}@media (width>=900px){body:not(:has(.grub-admin)):before{background-image:url(landing-bg.8f173c71.webp)}}#root{flex-direction:column;min-height:100vh;display:flex}.wrap{z-index:1;width:100%;max-width:760px;margin:0 auto;padding:0 18px;position:relative}.wrap-wide{max-width:1180px}.topbar{z-index:6;justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:1180px;margin:0 auto;padding:16px 18px 0;display:flex;position:relative}.brandname{letter-spacing:.02em;color:#fff;-webkit-text-stroke:1px #fff;paint-order:stroke fill;will-change:transform;backface-visibility:hidden;align-items:center;gap:9px;min-width:0;margin-right:-.16em;padding-right:.16em;font-family:Mystery Quest,cursive;font-size:clamp(26px,6.5vw,46px);display:inline-flex}.brandname svg{filter:drop-shadow(0 4px 9px #2a1e1833);flex-shrink:0;width:clamp(32px,8.5vw,54px);height:clamp(32px,8.5vw,54px);margin-top:-2px;display:block}.topbar .brandname{transition:transform .55s cubic-bezier(.22,.9,.3,1),opacity .25s .25s;display:none}.topbar-idle .brandname{opacity:0;transition-delay:0s,0s}.loc{flex-shrink:0;position:relative}.loc-btn{color:var(--ink);cursor:pointer;backdrop-filter:blur(4px);background:#2a1e180f;border:1px solid #2a1e182e;border-radius:999px;align-items:center;gap:7px;padding:9px 12px 9px 14px;font-family:Hanken Grotesk,sans-serif;font-size:14px;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.loc-btn:hover{background:#2a1e181a;border-color:#2a1e1847}.loc-btn .pin{opacity:.9;display:flex}.loc-btn .chev{transition:transform .2s;display:flex}.loc-btn.open .chev{transform:rotate(180deg)}.loc-menu{z-index:30;background:var(--paper);border:1px solid var(--line);border-radius:14px;min-width:200px;padding:6px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 24px 50px -24px #2a1e1880}.loc-opt{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-family:Hanken Grotesk,sans-serif;font-size:14px;font-weight:600;transition:background .12s;display:flex}.loc-opt:hover{background:var(--primary-tint)}.loc-opt.active{color:var(--primary-deep);font-weight:700}.loc-opt .tick{color:var(--primary);opacity:0;margin-left:auto;display:flex}.loc-opt.active .tick{opacity:1}.loc-opt.soon{color:var(--muted);cursor:not-allowed}.loc-opt.soon:hover{background:0 0}.hero{text-align:center;padding:var(--hero-top) 0 clamp(18px, 4vh, 42px);z-index:1;transition:padding .55s cubic-bezier(.22,.9,.3,1);position:relative}.hero.hero-centered{padding-top:max(var(--hero-top), calc(50vh - 190px))}.search-cta{position:relative}.hero-brand{bottom:calc(100% + var(--brand-gap));justify-content:center;transition:opacity .25s,transform .25s;position:absolute;left:0;right:0}.trend-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:9px;margin-top:18px;display:flex}.trend-row .lbl{text-align:center;letter-spacing:.14em;text-transform:uppercase;width:100%;color:var(--ink);margin:0 0 2px;font-size:11px;font-weight:700}.trend{color:var(--primary-deep);background:var(--paper);border:1px solid var(--primary-tint);cursor:pointer;border-radius:999px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,transform .15s;transform:translateY(0);box-shadow:0 6px 16px -10px #0a5c5299}.trend:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:translateY(-1px)}.results{padding:6px 0 18px}.results .wrap{max-width:1080px;animation:.4s cubic-bezier(.22,.9,.3,1) .12s backwards card-in}.results-head{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 16px;display:flex}.results-head h2{letter-spacing:-.02em;color:var(--ink);margin:0;font-size:19px;font-weight:800}.results-head h2 .q{letter-spacing:0;color:var(--secondary);font-family:Instrument Serif,serif;font-size:1.3em;font-style:italic;font-weight:400}.results-head .count{letter-spacing:.09em;text-transform:uppercase;color:#2a1e189e;font-size:11.5px;font-weight:800}.results-note{text-align:center;color:var(--ink);padding:40px 0;font-weight:600}.mcard-grid{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=620px){.mcard-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (width>=900px){.mcard-grid{grid-template-columns:repeat(3,1fr)}}.mcard{animation:.45s cubic-bezier(.22,.9,.3,1) backwards card-in;animation-delay:calc(var(--i,0) * 60ms)}.mcard.skel{animation-duration:.2s;animation-delay:calc(var(--i,0) * 35ms);pointer-events:none}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}}.mcard{background:var(--paper);border:1px solid var(--line);border-radius:18px;flex-direction:column;height:100%;padding:16px 18px 14px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;box-shadow:0 1px 2px #2a1e1808,0 10px 26px -22px #2a1e1840}.mcard:hover{border-color:#e0d4c2;transform:translateY(-3px);box-shadow:0 22px 44px -26px #2a1e186b}.mcard-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:11px;display:flex}.mcard-venue{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 11px 4px 9px;font-size:10px;font-weight:700;display:inline-flex}.mcard-venue svg{flex-shrink:0}.mcard-section{letter-spacing:.05em;text-transform:uppercase;color:#7a6c60;text-overflow:ellipsis;white-space:nowrap;background:#f1e9dd;border-radius:999px;max-width:100%;padding:4px 10px;font-size:10px;font-weight:700;overflow:hidden}.mcard-name{letter-spacing:-.02em;margin:0 0 6px;font-size:17px;font-weight:700;line-height:1.25}.mcard-desc{color:var(--ink);margin:0 0 12px;font-size:13.5px;font-weight:500;line-height:1.5}.mcard-where{color:#7a6c60;align-items:center;gap:8px;min-width:0;margin:0 0 12px;font-size:13px;font-weight:600;display:flex}.mcard-where b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.avi{letter-spacing:.04em;color:#fff;-webkit-user-select:none;user-select:none;background:#1a1a1a;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-family:Instrument Serif,serif;font-size:18px;display:flex}.mcard-where .avi{width:26px;height:26px;font-size:12px}.mcard-addr{background:var(--primary-tint);border:1px solid #d5e8e4;border-radius:11px;align-items:center;gap:8px;margin:0 0 12px;padding:8px 8px 8px 11px;display:flex}.mcard-addr .pin{color:var(--primary);flex-shrink:0;display:flex}.mcard-addr .addr-text{min-width:0;color:var(--primary-deep);flex:1;font-size:11.5px;font-weight:600;line-height:1.3}.mcard-copy{color:var(--primary-deep);background:var(--paper);cursor:pointer;border:1px solid #cfe5e0;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:700;transition:all .14s;display:inline-flex}.mcard-copy:hover{background:var(--primary);border-color:var(--primary);color:#fff}.mcard-copy.copied{color:#fff;border-color:var(--primary-deep);background:var(--primary-deep)}.mcard-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.price{letter-spacing:-.02em;color:var(--secondary);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800}.mcard-visit{color:var(--primary);align-items:center;gap:5px;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-flex}.mcard-visit svg{transition:transform .15s}.mcard-visit:hover svg{transform:translate(3px)}.skel-line{background:linear-gradient(100deg,#f1e9dd 38%,#faf6f0 50%,#f1e9dd 62%) 0 0/220% 100%;border-radius:6px;height:11px;margin:6px 0;animation:1.4s linear infinite skel-shimmer;display:block}@keyframes skel-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.mcard,.skel-line,.results .wrap{animation:none}.hero,.topbar .brandname,.hero-brand{transition:none}}.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}.fc{z-index:1;padding:8px 0 70px;position:relative}.fc-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:2px 0 18px;display:flex}.fc-count-lbl{color:var(--ink);letter-spacing:.01em;font-size:13px;font-weight:700}.shuffle{color:var(--primary-deep);background:var(--paper);border:1px solid var(--primary-tint);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 15px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex}.shuffle:hover{background:var(--primary);border-color:var(--primary);color:#fff}.shuffle svg{transition:transform .4s}.shuffle:hover svg{transform:rotate(180deg)}.fc-grid{grid-template-columns:1fr;gap:14px;display:grid}.fc-card{background:var(--paper);border:1px solid var(--line);height:100%;color:inherit;border-radius:18px;flex-direction:column;padding:20px 20px 16px;text-decoration:none;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;box-shadow:0 1px 2px #2a1e1808,0 10px 26px -22px #2a1e1840}.fc-card:hover{border-color:#e0d4c2;transform:translateY(-3px);box-shadow:0 22px 44px -26px #2a1e186b}.fc-cardtop{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.fc-ext{color:#c2b4a2;transition:color .15s;display:flex}.fc-card:hover .fc-ext{color:var(--primary)}.fc-card h3{letter-spacing:-.02em;margin:0 0 4px;font-size:17px;font-weight:700}.fc-dish{color:#7a6c60;margin:0 0 16px;font-size:13px;font-weight:500;line-height:1.45}.fc-dish b{color:var(--ink);font-weight:700}.fc-venue{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 11px 4px 9px;font-size:10px;font-weight:700;display:inline-flex}.fc-venue svg{flex-shrink:0}.fc-meta{color:var(--muted);margin:0 0 11px;font-size:12px;font-weight:600}.fc-addr{background:var(--primary-tint);border:1px solid #d5e8e4;border-radius:11px;align-items:center;gap:8px;margin:0 0 14px;padding:8px 8px 8px 11px;display:flex}.fc-addr .pin{color:var(--primary);flex-shrink:0;display:flex}.fc-addr .addr-text{min-width:0;color:var(--primary-deep);flex:1;font-size:11.5px;font-weight:600;line-height:1.3}.fc-copy{color:var(--primary-deep);background:var(--paper);cursor:pointer;border:1px solid #cfe5e0;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:700;transition:all .14s;display:inline-flex}.fc-copy:hover{background:var(--primary);border-color:var(--primary);color:#fff}.fc-copy.copied{color:#fff;border-color:var(--primary-deep);background:var(--primary-deep)}.fc-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:auto;padding-top:13px;display:flex}.fc-price{letter-spacing:-.02em;color:var(--secondary);font-size:15px;font-weight:800}.fc-visit{color:var(--primary);align-items:center;gap:5px;font-size:12.5px;font-weight:700;display:inline-flex}.fc-visit svg{transition:transform .15s}.fc-card:hover .fc-visit svg{transform:translate(3px)}.fc-more{flex-direction:column;align-items:center;gap:12px;padding:30px 0 6px;display:flex}.spinner{border:2.5px solid #fff6;border-top-color:#fff;border-radius:999px;width:23px;height:23px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fc-end{text-align:center;color:#2a1e189e;letter-spacing:.02em;padding-top:24px;font-size:12.5px;font-weight:700}footer{z-index:1;margin-top:auto;padding:8px 0 40px;position:relative}.foot-in{color:#2a1e189e;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}@media (width>=620px){.wrap{padding:0 28px}.topbar{padding:20px 28px 0}.trend-row .lbl{text-transform:none;letter-spacing:.02em;width:auto;margin:0 4px 0 0;font-size:13px}.fc-grid{grid-template-columns:repeat(2,1fr);gap:16px}.results-head h2{font-size:22px}}@media (width>=900px){.topbar{grid-template-columns:1fr auto 1fr;display:grid}.topbar .brandname{grid-column:2;justify-self:center;display:inline-flex}.loc{grid-column:1;justify-self:start}.acct,.acct-signin{grid-column:3;justify-self:end}.hero-brand{display:none}.topbar-idle .brandname{opacity:1;transform:translateY(max(0px,50vh - 210px))}:root{--hero-top:clamp(40px, 6vh, 72px)}.fc-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1280px){.fc-grid{grid-template-columns:repeat(4,1fr)}}.auth-page{box-sizing:border-box;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line,#e7e2d8);background:#fff;border-radius:18px;width:100%;max-width:400px;padding:32px 28px;box-shadow:0 12px 40px #00000014}.auth-brand{color:var(--primary-deep,#0a574c);justify-content:center;align-items:center;gap:10px;margin-bottom:4px;font-family:Instrument Serif,serif;font-size:30px;display:flex}.auth-title{text-align:center;margin:8px 0 0;font-size:18px;font-weight:600}.auth-sub{text-align:center;color:var(--muted,#6b675f);margin:6px 0 0;font-size:14px}.auth-sub strong{color:var(--ink,#2a1e18);font-weight:600}.auth-main{margin-top:22px}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-input{border:1px solid var(--muted,#9a8c7d);width:100%;font:inherit;color:var(--ink,#2a1e18);background:#fff;border-radius:10px;padding:12px 14px;font-size:15px}.auth-input::placeholder{color:var(--muted,#9a8c7d)}.auth-input:focus-visible{outline:2px solid var(--primary,#0e7a6a);outline-offset:-1px}.otp{justify-content:center;gap:8px;display:flex;position:relative}.otp-field{opacity:0;color:#0000;caret-color:#0000;background:0 0;border:none;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.otp-box{border:1px solid var(--muted,#9a8c7d);font-variant-numeric:tabular-nums;min-width:0;max-width:46px;height:54px;color:var(--ink,#2a1e18);background:#fff;border-radius:10px;flex:1 1 0;place-items:center;font-size:22px;font-weight:600;transition:border-color .12s,box-shadow .12s;display:grid}.otp-box-active{border-color:var(--primary,#0e7a6a);box-shadow:0 0 0 1px var(--primary,#0e7a6a)}.otp-caret{background:var(--primary-deep,#0a574c);border-radius:1px;width:2px;height:26px;animation:1.1s steps(2,start) infinite otp-blink}@keyframes otp-blink{to{visibility:hidden}}@media (prefers-reduced-motion:reduce){.otp-caret{animation:none}}.auth-btn{width:100%;font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:12px 14px;font-size:15px;font-weight:600;line-height:1.2;display:flex}.auth-btn:disabled{opacity:.6;cursor:default}.auth-btn:focus-visible{outline:2px solid var(--primary-deep,#0a574c);outline-offset:2px}.auth-btn-primary{border:1px solid var(--primary,#0e7a6a);background:var(--primary,#0e7a6a);color:#fff}.auth-btn-primary:hover:not(:disabled){background:var(--primary-deep,#0a574c);border-color:var(--primary-deep,#0a574c)}.auth-btn-google{color:#1f1f1f;background:#fff;border:1px solid #747775}.auth-btn-google:hover:not(:disabled){background:#f8f8f8}.auth-error{background:var(--secondary-tint,#f9e5ec);color:var(--secondary,#b0355c);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.auth-notice{background:var(--primary-tint,#e0f0ed);color:var(--primary-deep,#0a574c);border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:13px}.auth-divider{color:var(--muted,#6b675f);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:12px;margin:16px 0;font-size:11px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line,#e7e2d8);flex:1;height:1px}.auth-alt{text-align:center;margin-top:18px;font-size:13px}.auth-alt-sep{color:var(--muted,#9a8c7d);margin:0 8px}.auth-linkbtn{color:var(--primary,#0e7a6a);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-linkbtn:hover:not(:disabled){text-decoration:underline}.auth-linkbtn:disabled{opacity:.6;cursor:default}.acct{align-items:center;gap:10px;display:flex}.acct-email{color:var(--primary-deep,#0a574c);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:13px;overflow:hidden}.acct-btn{border:1px solid var(--primary,#0e7a6a);color:var(--primary-deep,#0a574c);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:600;line-height:1;text-decoration:none}.acct-btn:hover{background:var(--primary-tint,#e0f0ed)}.acct-signin{background:var(--primary,#0e7a6a);color:#fff}.acct-signin:hover{background:var(--primary-deep,#0a574c)}.acct-linkbtn{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.acct-linkbtn:hover{text-decoration:underline}.auth-callback{min-height:100vh;color:var(--muted,#6b675f);place-items:center;gap:12px;display:grid}.auth-callback .spin{color:var(--primary,#0e7a6a)}:root{--chili:#f47c2c;--saffron:#f2a93b;--teal:#0e7c6f;--teal-deep:#0a5c52;--teal-tint:#e2f1ee;--teal-line:#d5e8e4;--maroon:#a12a4a;--maroon-tint:#f7e4ea;--amber:#c77a12;--accent:#f47c2c;--accent-deep:#d9651a;--accent-tint:#fcebdd;--canvas:#f4eee4;--paper:#fff;--raised:#fff;--sidebar:#fbf7f0;--ink:#2a1e18;--ink-soft:#6f6256;--muted:#9a8c7d;--line:#ebe4d8;--line-soft:#f1ebe0;--field:#fbf8f2;--field-line:#e4dcce;--shadow-card:0 1px 2px #2a1e180a, 0 12px 30px -24px #2a1e184d;--shadow-pop:0 24px 60px -22px #2a1e1873;--tag-mix:18}[data-theme=dark]{--canvas:#1e130c;--paper:#2a1c12;--raised:#33241a;--sidebar:#180e07;--ink:#f8edde;--ink-soft:#cfbaa1;--muted:#9c876f;--line:#43311f;--line-soft:#2f2013;--field:#241710;--field-line:#4a3522;--teal:#48bca5;--teal-deep:#37a78f;--teal-tint:#173029;--teal-line:#28433a;--maroon:#f0929d;--maroon-tint:#3a1f1b;--amber:#eaae51;--accent-tint:#3b2814;--shadow-card:0 1px 2px #00000057, 0 16px 34px -24px #000000bd;--shadow-pop:0 30px 66px -20px #000c;--tag-mix:26}[data-density=compact] body{font-size:14px}[data-density=compact] .page{padding-top:20px;padding-bottom:60px}[data-density=compact] .phead{margin-bottom:16px}[data-density=compact] .phead h1{font-size:clamp(26px,3.4vw,36px)}[data-density=compact] .phead p.sub{margin-top:5px;font-size:13.5px}[data-density=compact] .searchbar{border-radius:12px;height:44px}[data-density=compact] .filter-row{margin-top:10px}[data-density=compact] .chip{padding:5px 12px}[data-density=compact] .rgrid{gap:10px;margin-top:16px}[data-density=compact] .rcard{border-radius:14px;padding:14px 14px 12px}[data-density=compact] .rcard-top{margin-bottom:9px}[data-density=compact] .rcard h3{font-size:16px}[data-density=compact] .rcard .addr{margin-top:9px}[data-density=compact] .rcard-foot{margin-top:10px;padding-top:10px}[data-density=compact] .editor{gap:14px}[data-density=compact] .editor>div{gap:14px!important}[data-density=compact] .panel{border-radius:14px}[data-density=compact] .panel-h{padding:13px 16px}[data-density=compact] .panel-b{padding:14px 16px}[data-density=compact] .fgrid,[data-density=compact] .fgrid.two,[data-density=compact] .fgrid.addr{gap:11px!important}[data-density=compact] .field label{font-size:11.5px}[data-density=compact] .inp,[data-density=compact] .sel,[data-density=compact] .ta{border-radius:9px;padding:9px 11px;font-size:13.5px}[data-density=compact] .ta{min-height:68px}[data-density=compact] .mrow{padding:9px 4px 9px 10px}[data-density=compact] .btn{padding:9px 13px;font-size:13.5px}[data-density=compact] .btn-sm{padding:7px 11px}[data-density=compact] .nav-btn{padding:9px 12px}[data-density=compact] .stat-row{padding:10px 0}[data-density=compact] .dropzone{padding:24px 18px}[data-density=compact] .save-bar{margin-top:18px;padding-top:14px}.grub-admin *{box-sizing:border-box;-webkit-font-smoothing:antialiased}html:has(.grub-admin){background:var(--canvas)}body:has(.grub-admin){background:var(--canvas);color:var(--ink);font-family:Hanken Grotesk,system-ui,sans-serif;font-size:15px;line-height:1.45}.grub-admin button{font-family:inherit}.grub-admin ::selection{background:var(--accent-tint)}.shell{grid-template-columns:1fr;min-height:100vh;display:grid}@media (width>=960px){.shell{grid-template-columns:248px 1fr}}.side{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;gap:6px;height:100vh;padding:18px 14px;transition:background .25s,border-color .25s;display:flex;position:sticky;top:0}@media (width<=959px){.side{z-index:60;width:272px;height:100dvh;box-shadow:var(--shadow-pop);transition:transform .26s cubic-bezier(.4,0,.2,1);position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.side.open{transform:none}}.side-brand{align-items:center;gap:10px;padding:6px 8px 14px;display:flex}.side-brand .nm{letter-spacing:-.01em;color:var(--ink);font-family:Instrument Serif,serif;font-size:30px;line-height:1}.side-brand .tag{letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:6px;margin-top:3px;padding:3px 7px;font-size:9.5px;font-weight:800}.nav-grp{letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding:14px 12px 6px;font-size:10.5px;font-weight:800}.nav-btn{text-align:left;width:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:11px;align-items:center;gap:11px;padding:11px 12px;font-size:14.5px;font-weight:650;transition:background .14s,color .14s;display:flex}.nav-btn:hover{background:color-mix(in oklab, var(--ink) 6%, transparent);color:var(--ink)}.nav-btn.active{background:var(--accent-tint);color:var(--accent-deep);font-weight:750}[data-theme=dark] .nav-btn.active{color:#fff}.nav-btn svg{opacity:.9;flex-shrink:0}.nav-btn .soon{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:color-mix(in oklab, var(--ink) 8%, transparent);border-radius:999px;margin-left:auto;padding:2px 7px;font-size:9.5px;font-weight:800}.nav-btn:disabled{cursor:default;opacity:.62}.nav-btn:disabled:hover{color:var(--ink-soft);background:0 0}.side-spacer{flex:1}.side-foot{border-top:1px solid var(--line);flex-direction:column;gap:4px;margin-top:6px;padding-top:12px;display:flex}.side-user{align-items:center;gap:10px;padding:9px 10px;display:flex}.avatar{background:var(--teal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:800;display:flex}.side-user .u-nm{color:var(--ink);font-size:13px;font-weight:700;line-height:1.15}.side-user .u-rl{color:var(--muted);font-size:11px}.mtop{display:none}@media (width<=959px){.mtop{z-index:40;background:color-mix(in oklab, var(--canvas) 86%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.mtop .nm{font-family:Instrument Serif,serif;font-size:24px}.hamb{background:var(--paper);border:1px solid var(--line);cursor:pointer;width:40px;height:40px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;display:flex}}.scrim{display:none}@media (width<=959px){.scrim{z-index:55;opacity:0;pointer-events:none;background:#140e0a6b;transition:opacity .22s;display:block;position:fixed;inset:0}.scrim.show{opacity:1;pointer-events:auto}}.main{flex-direction:column;min-width:0;display:flex}.page{width:100%;max-width:1180px;margin:0 auto;padding:clamp(20px,3vw,40px) clamp(16px,3vw,40px) 80px}.phead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:24px;display:flex}.phead .h-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin:0 0 6px;font-size:11px;font-weight:800}.phead h1{letter-spacing:-.01em;margin:0;font-family:Instrument Serif,serif;font-size:clamp(30px,4vw,44px);font-weight:400;line-height:1.02}.phead p.sub{color:var(--ink-soft);max-width:54ch;margin:8px 0 0;font-size:14.5px;font-weight:500}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:11px;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:700;transition:transform .14s,background .14s,box-shadow .14s,border-color .14s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 10px 22px -14px var(--teal)}.btn-primary:hover{background:var(--teal-deep)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-deep)}.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--line)}.btn-ghost:hover{border-color:var(--field-line);background:var(--field)}.btn-soft{background:var(--teal-tint);color:var(--teal-deep)}.btn-soft:hover{background:var(--teal);color:#fff}.btn-danger{color:var(--maroon);border-color:color-mix(in oklab, var(--maroon) 32%, transparent);background:0 0}.btn-danger:hover{background:var(--maroon);color:#fff;border-color:var(--maroon)}.btn-sm{border-radius:9px;padding:8px 12px;font-size:13px}.btn-icon{justify-content:center;width:38px;height:38px;padding:0}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn[disabled]:active{transform:none}.searchbar{background:var(--paper);border:1px solid var(--line);height:50px;box-shadow:var(--shadow-card);border-radius:14px;align-items:center;gap:10px;padding:0 14px;transition:border-color .14s,box-shadow .14s;display:flex}.searchbar:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-tint)}.searchbar svg{color:var(--muted);flex-shrink:0}.searchbar input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:15px;font-weight:600}.searchbar input::placeholder{color:var(--muted);font-weight:500}.filter-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chip{color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:13px;font-weight:700;transition:all .14s;display:inline-flex}.chip:hover{border-color:var(--field-line)}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.rgrid{grid-template-columns:1fr;gap:14px;margin-top:22px;display:grid}@media (width>=620px){.rgrid{grid-template-columns:repeat(2,1fr)}}@media (width>=1080px){.rgrid{grid-template-columns:repeat(3,1fr)}}.rcard{text-align:left;color:var(--ink);background:var(--paper);border:1px solid var(--line);cursor:pointer;box-shadow:var(--shadow-card);border-radius:18px;flex-direction:column;padding:18px 18px 16px;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex}.rcard:hover{box-shadow:var(--shadow-pop);border-color:var(--field-line);transform:translateY(-3px)}.rcard-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.rcard h3{letter-spacing:-.01em;color:var(--ink);margin:0 0 3px;font-size:17px;font-weight:750}.rcard .meta{color:var(--muted);margin:0;font-size:12.5px;font-weight:600}.rcard .addr{color:var(--ink-soft);align-items:center;gap:7px;margin:13px 0 0;font-size:12px;font-weight:600;display:flex}.rcard .addr svg{color:var(--accent);flex-shrink:0}.rcard-foot{border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-top:14px;padding-top:13px;display:flex}.rcard .items{color:var(--ink-soft);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:inline-flex}.rcard .open-x{color:var(--teal);align-items:center;gap:5px;font-size:12.5px;font-weight:750;display:inline-flex}.rcard:hover .open-x svg{transform:translate(3px)}.rcard .open-x svg{transition:transform .15s}.vtag{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-size:10px;font-weight:800;display:inline-flex}.vtag svg{flex-shrink:0}.count-line{color:var(--ink-soft);font-size:13px;font-weight:700}.editor{grid-template-columns:1fr;gap:22px;display:grid}@media (width>=1000px){.editor{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:18px}.panel-h{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;padding:18px 20px;display:flex}.panel-h-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;margin-left:auto;display:flex}.panel-h-actions .sel{width:auto;max-width:100%}.panel-h h2{letter-spacing:-.01em;align-items:center;gap:9px;margin:0;font-size:15px;font-weight:800;display:flex}.panel-h h2 .ic{color:var(--accent);display:flex}.panel-b{padding:20px}.fgrid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=560px){.fgrid.two,.fgrid.addr{grid-template-columns:1fr 1fr}}@media (width>=820px){.fgrid.addr{grid-template-columns:1.8fr 1.2fr .7fr .9fr}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field.col-span{grid-column:1/-1}.field label{color:var(--ink);letter-spacing:.01em;align-items:center;gap:6px;font-size:12px;font-weight:750;display:flex}.field .hint{color:var(--muted);font-size:11.5px;font-weight:500}.inp,.sel,.ta{color:var(--ink);background:var(--field);border:1px solid var(--field-line);border-radius:11px;outline:none;width:100%;padding:11px 13px;font-family:inherit;font-size:14.5px;font-weight:600;transition:border-color .14s,box-shadow .14s,background .14s}.inp::placeholder,.ta::placeholder{color:var(--muted);font-weight:500}.inp:focus,.sel:focus,.ta:focus{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-tint);background:var(--paper)}.ta{resize:vertical;min-height:84px;line-height:1.5}.sel{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239A8C7D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding-right:36px}.inp-prefix{position:relative}.inp-prefix .pfx{color:var(--muted);pointer-events:none;font-weight:750;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.inp-prefix .inp{padding-left:26px}@media (pointer:coarse){.inp,.sel,.ta,.searchbar input,.combo-search input{font-size:16px!important}}.mi-toolbar{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.mi-toolbar--header{flex-wrap:wrap;margin-bottom:0}.reorder-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.reorder-list.is-sortable{max-height:min(46vh,340px);margin:-4px;padding:4px;overflow-y:auto}.reorder-row{background:var(--paper);border:1px solid var(--line);color:var(--ink);-webkit-user-select:none;user-select:none;border-radius:9px;align-items:center;gap:8px;padding:5px 10px;font-size:13.5px;font-weight:600;display:flex;position:relative}.reorder-row.is-dragging{z-index:3;border-color:var(--primary);box-shadow:var(--shadow-pop)}.reorder-row.is-pinned{background:var(--field);color:var(--muted);border-style:dashed}.reorder-grip{color:var(--muted);cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-4px 0;padding:5px;display:flex}.reorder-grip:hover{color:var(--ink)}.reorder-grip:active{cursor:grabbing}.reorder-grip.is-disabled{cursor:default;opacity:.5}.reorder-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.reorder-n{color:var(--muted);flex:none;font-size:12px;font-weight:700}.reorder-pin{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex:none;font-size:11px;font-weight:700}.mi-secnav{z-index:5;background:var(--paper);border-bottom:1px solid var(--line-soft);align-items:stretch;margin-bottom:18px;display:flex;position:sticky;top:0}.mi-secnav-menu{flex:none;align-items:stretch;display:flex;position:relative}.mi-secnav-ic{color:var(--ink);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0 13px 1px 4px;transition:color .14s;display:flex}.mi-secnav-ic:hover,.mi-secnav-ic.is-open{color:var(--primary)}.mi-secmenu{z-index:20;background:var(--paper);border:1px solid var(--line);min-width:232px;max-height:340px;box-shadow:var(--shadow-pop);border-radius:14px;flex-direction:column;gap:2px;padding:6px;animation:.14s mi-secmenu-in;display:flex;position:absolute;top:calc(100% + 8px);left:0;overflow-y:auto}@keyframes mi-secmenu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mi-secmenu-h{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 10px 6px;font-size:11px;font-weight:800}.mi-secmenu-item{cursor:pointer;width:100%;color:var(--ink);text-align:left;background:0 0;border:none;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:9px 12px;font-size:14px;font-weight:600;transition:background .12s;display:flex}.mi-secmenu-item:hover{background:var(--field)}.mi-secmenu-item.is-active{background:var(--teal-tint);color:var(--teal-deep)}.mi-secmenu-n{color:var(--muted);flex:none;font-size:12px;font-weight:700}.mi-secmenu-item.is-active .mi-secmenu-n{color:var(--teal-deep)}.mi-tabs{scrollbar-width:none;flex-wrap:nowrap;display:flex;position:relative;overflow:auto hidden}.mi-tabs::-webkit-scrollbar{display:none}.mi-tab{cursor:pointer;white-space:nowrap;letter-spacing:-.01em;color:var(--muted);background:0 0;border:none;flex:none;padding:12px 18px 13px;font-size:15px;font-weight:700;transition:color .14s;position:relative}.mi-tab:first-child{padding-left:4px}.mi-tab:hover,.mi-tab.is-active{color:var(--ink)}.mi-tab.is-active:after{content:"";background:var(--ink);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:18px;right:18px}.mi-tab:first-child.is-active:after{left:4px}.mi-sections{flex-direction:column;gap:26px;display:flex}.mi-section{scroll-margin-top:80px}@media (width<=959px){.mi-secnav{top:63px}.mi-section{scroll-margin-top:124px}}.mi-section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.mi-section-head h4{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:9px;margin:0;font-size:15px;font-weight:800;display:flex}.mi-section-n{color:var(--muted);font-size:12px;font-weight:700}.mtable{width:100%}.mtable .mt-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);grid-template-columns:1.6fr .7fr 78px;gap:14px;padding:0 4px 10px;font-size:11px;font-weight:800;display:grid}.mrow{border-radius:12px;grid-template-columns:1.6fr .7fr 78px;align-items:center;gap:14px;padding:13px 4px 13px 12px;transition:background .14s;display:grid}.mrow+.mrow{border-top:1px solid var(--line-soft)}.mrow:hover{background:var(--field)}.mrow .m-nm{color:var(--ink);font-size:14.5px;font-weight:700}.mrow .m-desc{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-top:2px;font-size:12.5px;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.mrow .m-price{color:var(--maroon);letter-spacing:-.01em;font-size:14.5px;font-weight:800}.mrow .m-price.empty{color:var(--muted);font-weight:600}.mrow-actions{justify-content:flex-end;gap:4px;display:flex}.iconbtn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:all .14s;display:flex}.iconbtn:hover{background:var(--field);color:var(--ink);border-color:var(--field-line)}.iconbtn.del:hover{color:var(--maroon);border-color:color-mix(in oklab, var(--maroon) 30%, transparent);background:var(--maroon-tint)}@media (width<=600px){.mtable .mt-head{display:none}.mrow{grid-template-columns:1fr auto auto;align-items:center;gap:6px 12px;padding:14px 8px}.mrow .m-cell-price{text-align:right}}.empty-menu{text-align:center;color:var(--muted);padding:34px 20px}.empty-menu .ic{color:var(--field-line);margin-bottom:10px}.empty-menu p{margin:0 0 16px;font-size:14px;font-weight:600}.meta-card{flex-direction:column;gap:2px;display:flex}.stat-row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:13px 0;display:flex}.stat-row:last-child{border-bottom:none}.stat-row .k{color:var(--ink);font-size:13px;font-weight:600}.stat-row .v{color:var(--ink);font-size:14px;font-weight:800}.save-bar{border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;padding-top:16px;display:flex}.save-bar .dirty{color:var(--accent-deep);align-items:center;gap:7px;margin-right:auto;font-size:13px;font-weight:700;display:flex}.kebab{flex-shrink:0;position:relative}.kebab-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.kebab-btn:hover,.kebab-btn[aria-expanded=true]{background:var(--line-soft);color:var(--ink);border-color:var(--line)}.kebab-menu{z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:12px;min-width:188px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 30px -10px #00000038}.kebab-item{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:9px 10px;font-size:13.5px;font-weight:600;transition:background .12s;display:flex}.kebab-item:hover{background:var(--line-soft)}.kebab-item.danger{color:var(--maroon)}.kebab-item.danger:hover{background:color-mix(in oklab, var(--maroon) 9%, transparent)}.dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.backlink{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;margin-bottom:14px;padding:0;font-size:13px;font-weight:700;transition:color .14s;display:inline-flex}.backlink:hover{color:var(--ink)}.backlink svg{transition:transform .14s}.backlink:hover svg{transform:translate(-3px)}.import-flow{flex-direction:column;gap:20px;max-width:880px;display:flex}.apply-bar{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;display:flex}.apply-bar .ab-label{letter-spacing:.05em;text-transform:uppercase;color:var(--ink);font-size:11.5px;font-weight:800}.apply-bar .combo{flex:1;min-width:200px}.combo{position:relative}.combo-trigger{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:var(--field);border:1px solid var(--field-line);border-radius:11px;align-items:center;gap:10px;padding:11px 13px;font-family:inherit;font-size:14.5px;font-weight:600;transition:border-color .14s,box-shadow .14s,background .14s;display:flex}[data-density=compact] .combo-trigger{border-radius:9px;padding:9px 11px;font-size:13.5px}.combo-trigger:hover{border-color:var(--field-line);background:var(--paper)}.combo-trigger:focus-visible{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-tint);background:var(--paper);outline:none}.combo-trigger .ct-main{white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.combo-trigger .ct-main svg{color:var(--ink-soft);flex-shrink:0}.combo-trigger .ct-new{color:var(--teal-deep);font-weight:700}.combo-trigger .ct-new svg{color:var(--teal)}.combo-trigger>svg{color:var(--muted);flex-shrink:0}.combo-backdrop{z-index:119;touch-action:none;background:0 0;position:fixed;inset:0}.combo-pop{z-index:120;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-pop);border-radius:14px;padding:8px;animation:.16s cubic-bezier(.2,1,.3,1) pop;position:absolute;top:calc(100% + 6px);left:0;right:0}.combo-search{background:var(--field);border:1px solid var(--field-line);border-radius:10px;align-items:center;gap:8px;height:40px;margin-bottom:6px;padding:0 11px;display:flex}.combo-search svg{color:var(--muted);flex-shrink:0}.combo-search input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:14px;font-weight:600}.combo-search input::placeholder{color:var(--muted);font-weight:500}.combo-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex-direction:column;gap:2px;max-height:min(360px,60vh);display:flex;overflow-y:auto}.combo-opt{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;border-radius:10px;align-items:center;gap:11px;padding:9px 10px;display:flex}.combo-opt.active{background:var(--field)}.combo-opt .co-ic{background:var(--field);width:30px;height:30px;color:var(--ink-soft);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.combo-opt.active .co-ic{background:var(--paper)}.combo-opt .co-ic.create{background:var(--teal-tint);color:var(--teal-deep)}.combo-opt .co-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.combo-opt .co-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.combo-opt .co-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:550;overflow:hidden}.combo-opt.combo-new{position:relative}.combo-opt.combo-new .co-name{color:var(--teal-deep)}.combo-opt.combo-new .co-name,.combo-opt.combo-new .co-sub{white-space:normal;text-overflow:clip;overflow:visible}.combo-opt.combo-new .co-tick{position:absolute;top:11px;right:11px}.combo-opt .co-tick{color:var(--teal);flex-shrink:0;display:flex}.combo-div{background:var(--line-soft);height:1px;margin:6px 2px}.combo-empty{text-align:center;color:var(--muted);padding:18px 12px;font-size:13px;font-weight:550}.dropzone{border:2.5px dashed color-mix(in oklab, var(--accent-deep) 70%, var(--field-line));background:var(--accent-tint);text-align:center;cursor:pointer;border-radius:22px;flex-direction:column;align-items:center;padding:42px 28px 32px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:flex}.dropzone:hover{border-color:var(--accent);background:color-mix(in oklab, var(--accent-tint) 82%, var(--accent))}.dropzone:focus-visible{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in oklab, var(--accent) 24%, transparent);outline:none}.dropzone.drag{border-color:var(--accent);background:color-mix(in oklab, var(--accent-tint) 70%, var(--accent));box-shadow:0 0 0 5px color-mix(in oklab, var(--accent) 22%, transparent);border-style:solid;transform:scale(1.004)}.dz-art{margin-bottom:10px;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}.dropzone:hover .dz-art{transform:translateY(-2px)rotate(-1.5deg)}.dropzone.drag .dz-art{transform:translateY(-5px)rotate(-3deg)scale(1.04)}.dropzone h3{margin:0 0 6px;font-size:19px;font-weight:750}.dropzone p{color:var(--ink-soft);max-width:38ch;margin:0 auto 20px;font-size:13.5px;line-height:1.5}.dz-link{color:var(--accent-deep);text-underline-offset:2px;font-weight:750;text-decoration:underline}.dropzone:hover .dz-link{color:var(--accent)}.dz-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.dz-formats{letter-spacing:.06em;color:var(--muted);margin-top:16px;font-size:11px;font-weight:700}.capture-strip{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:16px;padding:14px 16px;transition:border-color .16s,background .16s}.capture-strip.drag{border-color:var(--teal);background:var(--teal-tint)}.cs-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cs-head .cs-t{align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.cs-head .cs-t .ic{color:var(--accent);display:flex}.cs-head .cs-actions{flex-wrap:wrap;gap:8px;display:flex}.shots{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.shot{aspect-ratio:3/4;border:1px solid var(--line);background:var(--field);border-radius:12px;position:relative;overflow:hidden}.shot img{object-fit:cover;width:100%;height:100%;display:block}.shot-pdf{background:var(--field);width:100%;height:100%;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:8px;display:flex}.shot-pdf-nm{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10.5px;font-weight:750;overflow:hidden}.shot .rm{cursor:pointer;z-index:2;color:#fff;backdrop-filter:blur(2px);background:#140e0a99;border:none;border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:absolute;top:5px;right:5px}.shot.status-error{border-color:var(--maroon)}.shot .shot-ov{color:#fff;backdrop-filter:blur(1px);background:#140e0a73;justify-content:center;align-items:center;gap:5px;display:flex;position:absolute;inset:0}.shot .shot-ov.err{cursor:pointer;background:color-mix(in oklab, var(--maroon) 70%, #140e0a66);border:none;flex-direction:column;font-size:11.5px;font-weight:800}.shot .shot-cap{color:#fff;background:linear-gradient(#0000,#140e0ac7);align-items:center;gap:5px;padding:14px 8px 6px;font-size:11px;font-weight:800;display:flex;position:absolute;bottom:0;left:0;right:0}.shot .shot-cap .ok{color:#7be3b0;display:inline-flex}.cs-add{aspect-ratio:3/4;border:2px dashed var(--field-line);background:var(--field);color:var(--ink-soft);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:750;transition:border-color .14s,color .14s;display:flex}.cs-add:hover{border-color:var(--teal);color:var(--teal-deep)}.extract-empty{text-align:center;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:180px;padding:36px 26px;display:flex}.extract-empty .ring{border:2px dashed var(--field-line);width:58px;height:58px;color:var(--field-line);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.extract-empty h3{color:var(--ink);margin:0 0 6px;font-size:16px;font-weight:750}.extract-empty p{max-width:32ch;margin:0;font-size:13px}.backend-note{background:var(--accent-tint);border:1px solid color-mix(in oklab, var(--accent) 26%, transparent);border-radius:13px;align-items:flex-start;gap:11px;margin-top:18px;padding:13px 15px;display:flex}.backend-note .bn-ic{color:var(--accent-deep);flex-shrink:0;margin-top:1px}[data-theme=dark] .backend-note .bn-ic{color:var(--accent)}.backend-note .bn-t{color:var(--ink);font-size:12.5px;font-weight:550;line-height:1.45}.backend-note code{background:color-mix(in oklab, var(--ink) 9%, transparent);border-radius:5px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.extract-actions{border-top:1px solid var(--line-soft);flex-wrap:wrap;gap:10px;margin-top:18px;padding-top:18px;display:flex}.extract-loading .el-status{color:var(--ink-soft);align-items:center;gap:8px;margin:0 0 14px;padding:0 4px;font-size:12.5px;font-weight:700;display:flex}.extract-loading .el-status svg{color:var(--accent);flex-shrink:0}.mtable.skeleton{pointer-events:none}.mtable.skeleton .mt-head{opacity:.5}.sk{background:var(--field-line);border-radius:6px;display:block;position:relative;overflow:hidden}.sk:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--paper) 70%, transparent), transparent);animation:1.4s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.sk-nm{width:52%;height:13px;margin-bottom:8px}.sk-desc{width:78%;height:11px}.sk-price{width:32px;height:13px}@keyframes shimmer{to{transform:translate(100%)}}.toast-wrap{z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--ink);color:var(--canvas);box-shadow:var(--shadow-pop);border-radius:12px;align-items:center;gap:10px;padding:12px 18px;font-size:13.5px;font-weight:700;animation:.28s cubic-bezier(.2,1.2,.4,1) toastIn;display:flex}.toast .tk{color:var(--teal);display:flex}[data-theme=dark] .toast{background:var(--paper);color:var(--ink);border:1px solid var(--line)}@keyframes toastIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.modal-scrim{backdrop-filter:blur(3px);z-index:120;background:#140e0a73;justify-content:center;align-items:flex-end;padding:0;animation:.2s fade;display:flex;position:fixed;inset:0}@media (width>=600px){.modal-scrim{align-items:center;padding:24px}}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--paper);border:1px solid var(--line);width:100%;max-width:480px;box-shadow:var(--shadow-pop);border-radius:20px 20px 0 0;max-height:92vh;animation:.26s cubic-bezier(.2,1,.3,1) sheet;overflow:auto}@media (width>=600px){.modal{border-radius:20px;animation:.24s cubic-bezier(.2,1,.3,1) pop}}@keyframes sheet{0%{transform:translateY(100%)}to{transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.spin{animation:.8s linear infinite spin;display:inline-flex}.dm-eye{transform-box:fill-box;transform-origin:50%;animation:4s ease-in-out infinite dm-blink}@keyframes dm-blink{0%,90%,94%,to{transform:scaleY(1)}92%,96%{transform:scaleY(.1)}}@media (prefers-reduced-motion:reduce){.dm-eye{animation:none}}.modal-h{justify-content:space-between;align-items:center;padding:20px 22px 4px;display:flex}.modal-h h3{margin:0;font-family:Instrument Serif,serif;font-size:26px;font-weight:400}.modal-b{flex-direction:column;gap:16px;padding:18px 22px 22px;display:flex}.modal-f{justify-content:flex-end;gap:10px;padding:4px 22px 22px;display:flex}.x-btn{border:1px solid var(--line);background:var(--field);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;display:flex}.x-btn:hover{color:var(--ink);border-color:var(--field-line)}#tweaks-root{pointer-events:none;z-index:300;position:fixed;inset:0}@media (width<=560px){.phead{gap:14px}.phead>.btn{justify-content:center;width:100%;padding-top:13px;padding-bottom:13px}.save-bar .dirty{justify-content:center;width:100%;margin:0 0 4px}.save-bar .btn{flex:1;justify-content:center;padding-top:13px;padding-bottom:13px}.dz-actions{flex-wrap:nowrap}.dz-actions .btn{flex:1;justify-content:center;min-width:0;padding-top:13px;padding-bottom:13px}.dropzone{padding:26px 16px}.extract-actions{flex-direction:column}.extract-actions .btn{justify-content:center;width:100%;padding-top:13px;padding-bottom:13px}.apply-bar .combo{width:100%}.cs-head{flex-direction:column;align-items:stretch}.cs-head .cs-actions .btn{flex:1;justify-content:center}.shots{grid-template-columns:repeat(3,1fr)}.shot .rm{width:28px;height:28px}.modal-f{gap:10px}.modal-f .btn{flex:1;justify-content:center;padding-top:13px;padding-bottom:13px}}
/*# sourceMappingURL=repo.ccc7ac21.css.map */
