.login[data-v-a05391bf]{background:radial-gradient(circle at 20% 0%, var(--accent-soft,#e8f0fd), transparent 55%), var(--paper,#f4f6fa);place-items:center;min-height:100dvh;padding:1.5rem;display:grid}.card[data-v-a05391bf]{background:var(--surface,#fff);border:1px solid var(--line,#e2e8f2);border-radius:1.25rem;flex-direction:column;gap:1rem;width:min(24rem,100%);padding:2rem;display:flex;box-shadow:0 1.5rem 3rem #0f192d1f}header[data-v-a05391bf]{text-align:center;margin-bottom:.5rem}h1[data-v-a05391bf]{letter-spacing:-.02em;color:var(--accent,#2b6cd4);margin:0;font-size:1.6rem}.app[data-v-a05391bf]{color:var(--ink-soft,#66748a);margin:.25rem 0 0;font-size:.95rem}label[data-v-a05391bf]{color:var(--ink-soft,#66748a);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}input[data-v-a05391bf]{color:var(--ink,#1c2430);background:var(--paper,#f4f6fa);border:1px solid var(--line,#e2e8f2);border-radius:.65rem;padding:.7rem .85rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}input[data-v-a05391bf]:focus{border-color:var(--accent,#2b6cd4);box-shadow:0 0 0 3px var(--accent-soft,#e8f0fd);outline:none}input[data-v-a05391bf]:disabled{opacity:.6}.field[data-v-a05391bf]{display:block;position:relative}.field input[data-v-a05391bf]{width:100%;padding-right:2.9rem}.reveal[data-v-a05391bf]{width:2.1rem;height:2.1rem;color:var(--ink-soft,#66748a);background:0 0;border-radius:.45rem;place-items:center;margin:0;padding:0;display:grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.reveal[data-v-a05391bf]:hover:not(:disabled){color:var(--accent,#2b6cd4);background:var(--accent-soft,#e8f0fd)}.reveal[data-v-a05391bf]:active:not(:disabled){transform:translateY(-50%)}.reveal svg[data-v-a05391bf]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:1.15rem;height:1.15rem}.reveal .slash[data-v-a05391bf]{stroke-width:1.9px;paint-order:stroke;stroke:currentColor}.remember[data-v-a05391bf]{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:center;gap:.5rem}.remember input[data-v-a05391bf]{width:auto;accent-color:var(--accent,#2b6cd4);margin:0}button[data-v-a05391bf]{color:#fff;background:var(--accent,#2b6cd4);cursor:pointer;border:none;border-radius:.65rem;justify-content:center;align-items:center;gap:.5rem;margin-top:.35rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;transition:background .15s,transform 50ms;display:flex}button[data-v-a05391bf]:hover:not(:disabled){background:var(--accent-dark,#1f5099)}button[data-v-a05391bf]:active:not(:disabled){transform:translateY(1px)}button[data-v-a05391bf]:disabled{opacity:.55;cursor:not-allowed}.error[data-v-a05391bf]{color:#a02b1c;background:#fbeae7;border-radius:.55rem;margin:0;padding:.6rem .75rem;font-size:.9rem}.spinner[data-v-a05391bf]{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:.9rem;height:.9rem;animation:.7s linear infinite spin-a05391bf}@keyframes spin-a05391bf{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner[data-v-a05391bf]{animation-duration:2s}}.auth-splash[data-v-fb2d167e]{min-height:100dvh;color:var(--ink-soft,#66748a);background:var(--paper,#f4f6fa);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.spinner[data-v-fb2d167e]{border:3px solid var(--line,#e2e8f2);border-top-color:var(--accent,#2b6cd4);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite spin-fb2d167e}p[data-v-fb2d167e]{margin:0;font-size:.95rem}@keyframes spin-fb2d167e{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner[data-v-fb2d167e]{animation-duration:2s}}.user-menu[data-v-10879031]{display:inline-block;position:relative}.avatar[data-v-10879031]{width:2.25rem;height:2.25rem;color:var(--user-menu-fg,#fff);background:var(--user-menu-bg,var(--accent,#2b6cd4));cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid}.avatar[data-v-10879031]:hover{background:var(--user-menu-bg-hover,var(--accent-dark,#1f5099))}.popover[data-v-10879031]{z-index:50;background:var(--surface,#fff);border:1px solid var(--line,#e2e8f2);border-radius:.75rem;min-width:14rem;padding:.4rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 1rem 2rem #0f192d29}.who[data-v-10879031]{border-bottom:1px solid var(--line,#e2e8f2);flex-direction:column;gap:.1rem;margin:0;padding:.5rem .65rem .65rem;display:flex}.who strong[data-v-10879031]{color:var(--ink,#1c2430);font-size:.9rem}.who span[data-v-10879031]{color:var(--ink-soft,#66748a);overflow-wrap:anywhere;font-size:.78rem}.popover button[data-v-10879031]{text-align:left;width:100%;color:var(--ink,#1c2430);cursor:pointer;background:0 0;border:none;border-radius:.5rem;padding:.55rem .65rem;font-size:.9rem}.popover button[data-v-10879031]:hover{background:var(--accent-soft,#e8f0fd)}.popover .danger[data-v-10879031]{color:#c0392b}.popover .danger[data-v-10879031]:hover{background:#fbeae7}.overlay[data-v-10879031]{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c142373;place-items:center;padding:1.5rem;display:grid;position:fixed;inset:0}.modal[data-v-10879031]{background:var(--surface,#fff);border-radius:1rem;flex-direction:column;gap:.85rem;width:min(22rem,100%);padding:1.5rem;display:flex;box-shadow:0 1.5rem 3rem #0f192d40}.modal h2[data-v-10879031]{color:var(--ink,#1c2430);margin:0;font-size:1.1rem}.modal label[data-v-10879031]{color:var(--ink-soft,#66748a);flex-direction:column;gap:.3rem;font-size:.82rem;display:flex}.modal input[data-v-10879031]{color:var(--ink,#1c2430);background:var(--paper,#f4f6fa);border:1px solid var(--line,#e2e8f2);border-radius:.55rem;padding:.6rem .75rem;font-size:.95rem}.modal input[data-v-10879031]:focus{border-color:var(--accent,#2b6cd4);box-shadow:0 0 0 3px var(--accent-soft,#e8f0fd);outline:none}footer[data-v-10879031]{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}footer button[data-v-10879031]{color:#fff;background:var(--accent,#2b6cd4);cursor:pointer;border:none;border-radius:.55rem;padding:.55rem 1rem;font-size:.92rem;font-weight:600}footer .ghost[data-v-10879031]{color:var(--ink-soft,#66748a);background:0 0}footer .ghost[data-v-10879031]:hover{background:var(--paper,#f4f6fa)}.error[data-v-10879031]{color:#a02b1c;background:#fbeae7;border-radius:.5rem;margin:0;padding:.5rem .65rem;font-size:.85rem}.success[data-v-10879031]{color:#1f8256;margin:0;font-size:.95rem}.fade-enter-active[data-v-10879031],.fade-leave-active[data-v-10879031],.pop-enter-active[data-v-10879031],.pop-leave-active[data-v-10879031]{transition:opacity .15s,transform .15s}.fade-enter-from[data-v-10879031],.fade-leave-to[data-v-10879031],.pop-enter-from[data-v-10879031],.pop-leave-to[data-v-10879031]{opacity:0}.pop-enter-from[data-v-10879031],.pop-leave-to[data-v-10879031]{transform:translateY(-.35rem)}:root{--accent:#b8482e;--accent-dark:#93361f;--accent-soft:#fbeae6;--ink:#2b2b2b;--ink-soft:#6b5952;--paper:#fdfbfa;--surface:#fff;--line:#efe6e1;color:#2b2b2b;background:#fdfbfa;font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1{margin:0 0 1rem;font-size:1.9rem}h2{font-size:1.3rem}a{color:#b8482e}button{font-family:inherit}@media print{.no-print,.topbar{display:none!important}body{background:#fff}.container{max-width:none!important;padding:0!important}a{color:#000}}.overlay[data-v-944e5d30]{z-index:3000;-webkit-backdrop-filter:blur(3px);background:#28181280;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog[data-v-944e5d30]{text-align:center;background:#fff;border-radius:14px;width:100%;max-width:400px;padding:1.8rem 1.6rem 1.4rem;box-shadow:0 20px 50px #00000040}.icon[data-v-944e5d30]{border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;margin:0 auto .8rem;display:flex}.icon.danger[data-v-944e5d30]{background:#fbe9e4}.icon svg[data-v-944e5d30]{fill:none;stroke:#c0392b;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.6rem;height:1.6rem}.title[data-v-944e5d30]{color:#2a1a14;margin:0 0 .5rem;font-size:1.2rem}.message[data-v-944e5d30]{color:#6b5952;margin:0 0 1.4rem;line-height:1.5}.buttons[data-v-944e5d30]{justify-content:center;gap:.7rem;display:flex}.btn[data-v-944e5d30]{cursor:pointer;border:1px solid #0000;border-radius:8px;flex:1;padding:.65rem 1rem;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.btn.cancel[data-v-944e5d30]{color:#6b5952;background:#fff;border-color:#ddd0c9}.btn.cancel[data-v-944e5d30]:hover{background:#f5efec}.btn.confirm[data-v-944e5d30]{color:#fff;background:#b8482e}.btn.confirm[data-v-944e5d30]:hover{background:#a13d26}.btn.confirm.danger[data-v-944e5d30]{background:#c0392b}.btn.confirm.danger[data-v-944e5d30]:hover{background:#a5301f}.btn[data-v-944e5d30]:focus-visible{outline-offset:2px;outline:2px solid #2a1a14}.modal-enter-active[data-v-944e5d30],.modal-leave-active[data-v-944e5d30]{transition:opacity .2s}.modal-enter-active .dialog[data-v-944e5d30],.modal-leave-active .dialog[data-v-944e5d30]{transition:transform .2s,opacity .2s}.modal-enter-from[data-v-944e5d30],.modal-leave-to[data-v-944e5d30]{opacity:0}.modal-enter-from .dialog[data-v-944e5d30],.modal-leave-to .dialog[data-v-944e5d30]{opacity:0;transform:translateY(12px)scale(.97)}@media (prefers-reduced-motion:reduce){.modal-enter-active[data-v-944e5d30],.modal-leave-active[data-v-944e5d30],.modal-enter-active .dialog[data-v-944e5d30],.modal-leave-active .dialog[data-v-944e5d30]{transition:none}}.lb-overlay[data-v-9cda7899]{z-index:3000;background:#0f0a08eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.lb-img[data-v-9cda7899]{object-fit:contain;touch-action:none;-webkit-user-select:none;user-select:none;cursor:zoom-in;border-radius:6px;max-width:92vw;max-height:88vh;transition:transform .12s ease-out;box-shadow:0 10px 40px #00000080}.lb-img.grab[data-v-9cda7899]{cursor:grab}.lb-img.grabbing[data-v-9cda7899]{cursor:grabbing;transition:none}.lb-close[data-v-9cda7899]{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;width:2.6rem;height:2.6rem;font-size:1.2rem;transition:background .15s;position:fixed;top:1rem;right:1.2rem}.lb-close[data-v-9cda7899]:hover{background:#ffffff40}.lb-controls[data-v-9cda7899]{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff1f;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.lb-controls button[data-v-9cda7899]{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:999px;min-width:2.4rem;height:2.4rem;font-size:1.2rem;font-weight:600;transition:background .15s}.lb-controls button[data-v-9cda7899]:hover{background:#ffffff2e}.lb-controls .lb-reset[data-v-9cda7899]{min-width:3.4rem;font-size:.85rem}.lb-hint[data-v-9cda7899]{color:#ffffffb3;pointer-events:none;margin:0;font-size:.82rem;position:fixed;top:1.2rem;left:50%;transform:translate(-50%)}.lb-enter-active[data-v-9cda7899],.lb-leave-active[data-v-9cda7899]{transition:opacity .2s}.lb-enter-active .lb-img[data-v-9cda7899],.lb-leave-active .lb-img[data-v-9cda7899]{transition:transform .2s,opacity .2s}.lb-enter-from[data-v-9cda7899],.lb-leave-to[data-v-9cda7899]{opacity:0}.lb-enter-from .lb-img[data-v-9cda7899],.lb-leave-to .lb-img[data-v-9cda7899]{opacity:0;transform:scale(.94)}@media (prefers-reduced-motion:reduce){.lb-enter-active[data-v-9cda7899],.lb-leave-active[data-v-9cda7899],.lb-img[data-v-9cda7899]{transition:none}}.loading-overlay[data-v-fffc2fe9]{z-index:2500;-webkit-backdrop-filter:blur(4px);background:#fffbf8d1;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;display:flex;position:fixed;inset:0}.spinner[data-v-fffc2fe9]{border:4px solid #b8482e33;border-top-color:#b8482e;border-radius:50%;width:3.5rem;height:3.5rem;animation:.7s linear infinite spin-fffc2fe9}.loading-text[data-v-fffc2fe9]{color:#b8482e;letter-spacing:.02em;margin:0;font-size:1.05rem;font-weight:600}@keyframes spin-fffc2fe9{to{transform:rotate(360deg)}}.fade-enter-active[data-v-fffc2fe9],.fade-leave-active[data-v-fffc2fe9]{transition:opacity .2s}.fade-enter-from[data-v-fffc2fe9],.fade-leave-to[data-v-fffc2fe9]{opacity:0}@media (prefers-reduced-motion:reduce){.spinner[data-v-fffc2fe9]{animation-duration:1.6s}.fade-enter-active[data-v-fffc2fe9],.fade-leave-active[data-v-fffc2fe9]{transition:none}}.overlay[data-v-10da2254]{z-index:2000;-webkit-backdrop-filter:blur(3px);background:#28181280;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.panel[data-v-10da2254]{background:#fff;border-radius:14px;width:100%;max-width:460px;overflow:hidden;box-shadow:0 20px 50px #00000040}.panel-head[data-v-10da2254]{border-bottom:1px solid #f0e6e1;justify-content:space-between;align-items:center;padding:1rem 1.3rem;display:flex}.panel-head h2[data-v-10da2254]{margin:0;font-size:1.2rem}.close[data-v-10da2254]{color:#7a6b64;cursor:pointer;background:#f5efec;border:none;border-radius:50%;width:2rem;height:2rem}.close[data-v-10da2254]:hover{background:#ece0da}.block[data-v-10da2254]{padding:1.1rem 1.3rem}.block+.block[data-v-10da2254]{border-top:1px solid #f0e6e1}.block h3[data-v-10da2254]{color:#b8482e;margin:0 0 .7rem;font-size:1rem}.setting-label[data-v-10da2254]{margin-bottom:.4rem;font-weight:600;display:block}.slider-row[data-v-10da2254]{align-items:center;gap:.6rem;display:flex}.slider-row input[type=range][data-v-10da2254]{accent-color:#b8482e;flex:1}.a-small[data-v-10da2254]{color:#7a6b64;font-size:.8rem}.a-big[data-v-10da2254]{color:#7a6b64;font-size:1.3rem}.scale-value[data-v-10da2254]{text-align:right;color:#b8482e;min-width:3.2rem;font-weight:600}.preview[data-v-10da2254]{color:#5c4b44;margin:.6rem 0}.hint[data-v-10da2254]{color:#7a6b64;margin:0 0 .7rem;font-size:.9rem}.hint.muted[data-v-10da2254]{margin-top:.5rem;margin-bottom:0}.io-row[data-v-10da2254]{flex-wrap:wrap;gap:.6rem;display:flex}.btn[data-v-10da2254]{color:#fff;cursor:pointer;background:#b8482e;border:1px solid #b8482e;border-radius:8px;padding:.55rem 1rem;font-weight:600;transition:background .15s}.btn[data-v-10da2254]:hover{background:#a13d26}.btn-ghost[data-v-10da2254]{color:#7a6b64;cursor:pointer;background:#fff;border:1px solid #e0cabf;border-radius:8px;padding:.4rem .9rem;font-size:.85rem}.btn-ghost[data-v-10da2254]:hover{color:#b8482e;border-color:#b8482e}.settings-enter-active[data-v-10da2254],.settings-leave-active[data-v-10da2254]{transition:opacity .2s}.settings-enter-active .panel[data-v-10da2254],.settings-leave-active .panel[data-v-10da2254]{transition:transform .2s,opacity .2s}.settings-enter-from[data-v-10da2254],.settings-leave-to[data-v-10da2254]{opacity:0}.settings-enter-from .panel[data-v-10da2254],.settings-leave-to .panel[data-v-10da2254]{opacity:0;transform:translateY(12px)scale(.97)}.topbar[data-v-b28d1ab5]{color:#fff;--user-menu-bg:#ffffff2e;--user-menu-bg-hover:#ffffff4d;background:#b8482e;justify-content:space-between;align-items:center;padding:.8rem 1.5rem;display:flex}.brand[data-v-b28d1ab5]{color:#fff;align-items:center;gap:.55rem;font-size:1.3rem;font-weight:700;text-decoration:none;display:inline-flex}.brand img[data-v-b28d1ab5]{border-radius:8px}nav[data-v-b28d1ab5]{align-items:center;gap:1rem;display:flex}nav a[data-v-b28d1ab5]{color:#fff;opacity:.9;text-decoration:none}nav a[data-v-b28d1ab5]:hover,nav a.router-link-active[data-v-b28d1ab5]{opacity:1;text-decoration:underline}.dash-link[data-v-b28d1ab5]{white-space:nowrap;font-size:.9rem}.gear[data-v-b28d1ab5]{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;transition:background .15s,transform .15s;display:inline-flex}.gear[data-v-b28d1ab5]:hover{background:#ffffff4d;transform:rotate(30deg)}.gear svg[data-v-b28d1ab5]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.container[data-v-b28d1ab5]{max-width:960px;margin:0 auto;padding:1.5rem}.stars[data-v-db221a7c]{gap:.1rem;display:inline-flex}.star[data-v-db221a7c]{color:#dcc7bf;background:0 0;border:none;padding:0;line-height:0}.star.on[data-v-db221a7c]{color:#e8a13c}.stars.interactive .star[data-v-db221a7c]{cursor:pointer;transition:transform .1s}.stars.interactive .star[data-v-db221a7c]:hover{transform:scale(1.15)}.star svg[data-v-db221a7c]{fill:currentColor;stroke:#d99a34;stroke-width:.6px;width:1em;height:1em}.head[data-v-cd6998d3]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.search-bar[data-v-cd6998d3]{align-items:center;margin-top:1.2rem;display:flex;position:relative}.search-icon[data-v-cd6998d3]{fill:none;stroke:#a2887d;stroke-width:2px;stroke-linecap:round;pointer-events:none;width:1.15rem;height:1.15rem;position:absolute;left:.85rem}.search-bar input[data-v-cd6998d3]{background:#fff;border:1px solid #e0cabf;border-radius:999px;width:100%;padding:.7rem 2.4rem .7rem 2.6rem;font-size:1rem;transition:border-color .15s,box-shadow .15s}.search-bar input[data-v-cd6998d3]:focus{border-color:#b8482e;outline:none;box-shadow:0 0 0 3px #b8482e1f}.search-bar input[data-v-cd6998d3]::-webkit-search-cancel-button{display:none}.search-clear[data-v-cd6998d3]{color:#b8482e;cursor:pointer;background:#f0d9d2;border:none;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.7rem;display:flex;position:absolute;right:.7rem}.search-clear[data-v-cd6998d3]:hover{background:#e6c6bc}.rating-filter[data-v-cd6998d3]{flex-wrap:wrap;align-items:center;gap:.15rem;margin-top:.9rem;display:flex}.rating-filter-label[data-v-cd6998d3]{color:#7a6b64;margin-right:.4rem;font-size:.9rem;font-weight:600}.rf-star[data-v-cd6998d3]{cursor:pointer;color:#dcc7bf;background:0 0;border:none;padding:.1rem;line-height:0;transition:transform .1s,color .1s}.rf-star[data-v-cd6998d3]:hover{transform:scale(1.15)}.rf-star.on[data-v-cd6998d3]{color:#e8a13c}.rf-star svg[data-v-cd6998d3]{fill:currentColor;stroke:#d99a34;stroke-width:.6px;width:1.35rem;height:1.35rem}.rf-reset[data-v-cd6998d3]{color:#7a6b64;cursor:pointer;background:#fff;border:1px solid #e0cabf;border-radius:999px;margin-left:.5rem;padding:.2rem .7rem;font-size:.82rem}.rf-reset[data-v-cd6998d3]:hover{color:#b8482e;border-color:#b8482e}.card-stars[data-v-cd6998d3]{margin:.2rem 0}.title-line[data-v-cd6998d3]{align-items:center;gap:.9rem;display:flex}.title-line h1[data-v-cd6998d3]{margin:0;line-height:1}.add-btn[data-v-cd6998d3]{background:linear-gradient(135deg,#c85338 0%,#a13d26 100%);border-radius:50%;justify-content:center;align-items:center;width:2.3rem;height:2.3rem;text-decoration:none;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 3px 8px #b8482e59}.add-icon[data-v-cd6998d3]{stroke:#fff;stroke-width:2.6px;stroke-linecap:round;fill:none;width:1.6rem;height:1.6rem;transition:transform .25s;display:block}.add-btn[data-v-cd6998d3]:hover{transform:translateY(-2px);box-shadow:0 6px 14px #b8482e73}.add-btn:hover .add-icon[data-v-cd6998d3]{transform:rotate(90deg)}.add-btn[data-v-cd6998d3]:active{transform:translateY(0)}.cat-filters[data-v-cd6998d3]{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.cat-btn[data-v-cd6998d3]{color:#7a6b64;cursor:pointer;background:#fff;border:1px solid #e0cabf;border-radius:999px;padding:.4rem .9rem;font-size:.9rem;font-weight:600;transition:background .15s,color .15s,border-color .15s}.cat-btn[data-v-cd6998d3]:hover{color:#b8482e;border-color:#b8482e}.cat-btn.active[data-v-cd6998d3]{color:#fff;background:#b8482e;border-color:#b8482e}.grid[data-v-cd6998d3]{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem;margin-top:1.5rem;display:grid}.card[data-v-cd6998d3]{color:inherit;background:#fff;border:1px solid #eee;border-radius:10px;text-decoration:none;transition:transform .1s;overflow:hidden;box-shadow:0 1px 4px #0000000f}.card[data-v-cd6998d3]:hover{transform:translateY(-3px)}.thumb[data-v-cd6998d3]{background:#f3ede9 50%/cover no-repeat;justify-content:center;align-items:center;height:150px;font-size:2.5rem;display:flex}.card-body[data-v-cd6998d3]{padding:.8rem}.card-body h3[data-v-cd6998d3]{margin:.3rem 0}.tag[data-v-cd6998d3]{color:#b8482e;background:#f0d9d2;border-radius:999px;padding:.15rem .5rem;font-size:.75rem}.servings[data-v-cd6998d3]{color:#888;margin:0;font-size:.85rem}.error[data-v-cd6998d3]{color:#c0392b}.overlay[data-v-85b02737]{z-index:2000;-webkit-backdrop-filter:blur(3px);background:#28181280;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.panel[data-v-85b02737]{background:#fff;border-radius:14px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 50px #00000040}.panel-head[data-v-85b02737]{border-bottom:1px solid #f0e6e1;flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.3rem;display:flex}.panel-head h2[data-v-85b02737]{margin:0;font-size:1.15rem}.close[data-v-85b02737]{color:#7a6b64;cursor:pointer;background:#f5efec;border:none;border-radius:50%;width:2rem;height:2rem}.close[data-v-85b02737]:hover{background:#ece0da}.body[data-v-85b02737]{flex:auto;overflow-y:auto}.block[data-v-85b02737]{padding:1.1rem 1.3rem}.block+.block[data-v-85b02737]{border-top:1px solid #f0e6e1}.block h3[data-v-85b02737]{color:#b8482e;margin:0 0 .7rem;font-size:1rem}.count[data-v-85b02737]{color:#7a6b64;font-weight:400}.hint[data-v-85b02737]{color:#7a6b64;margin:0 0 .5rem;font-size:.9rem}.hint.err[data-v-85b02737]{color:#c0392b}.field[data-v-85b02737]{color:#2b2b2b;background:#fff;border:1px solid #e0cabf;border-radius:8px;width:100%;padding:.55rem .7rem;font-size:.95rem}.field[data-v-85b02737]:focus{border-color:#b8482e;outline:none}.mode-tabs[data-v-85b02737]{gap:.4rem;margin-bottom:.7rem;display:flex}.mode-tab[data-v-85b02737]{color:#7a6b64;cursor:pointer;background:#fff;border:1px solid #e0cabf;border-radius:8px;flex:1;padding:.45rem .6rem;font-size:.88rem;font-weight:600}.mode-tab.on[data-v-85b02737]{color:#b8482e;background:#faf6f4;border-color:#b8482e}.list-tree[data-v-85b02737]{background:#fff;border:1px solid #e0cabf;border-radius:8px;max-height:220px;padding:.3rem;overflow-y:auto}.tree-cat[data-v-85b02737]{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .4rem;display:flex}.tree-cat[data-v-85b02737]:hover{background:#faf6f4}.tree-cat.selected[data-v-85b02737]{background:#f6e4dd}.tree-cat.selected .tree-name[data-v-85b02737]{color:#b8482e}.tree-label[data-v-85b02737]{color:#7a6b64;margin:.8rem 0 .4rem;font-size:.85rem;font-weight:600}.tree-caret-spacer[data-v-85b02737]{flex-shrink:0;width:.95rem}.tree-caret[data-v-85b02737]{color:#a2887d;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.1rem;font-size:.75rem;line-height:1;transition:transform .15s}.tree-caret[data-v-85b02737]:not(.collapsed){transform:rotate(90deg)}.tree-icon[data-v-85b02737]{flex-shrink:0;font-size:.95rem}.tree-name[data-v-85b02737]{color:#5a4a43;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.tree-count[data-v-85b02737]{color:#a2887d;background:#f5efec;border-radius:999px;flex-shrink:0;padding:.05rem .45rem;font-size:.75rem}.tree-list[data-v-85b02737]{cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .5rem;display:flex}.tree-list[data-v-85b02737]:hover{background:#faf6f4}.tree-list.selected[data-v-85b02737]{background:#f6e4dd}.tree-radio[data-v-85b02737]{box-sizing:border-box;border:2px solid #cbb6ad;border-radius:50%;flex-shrink:0;width:1rem;height:1rem}.tree-radio.on[data-v-85b02737]{background:radial-gradient(circle,#b8482e 0 45%,#0000 50%);border-color:#b8482e}.tree-list-name[data-v-85b02737]{color:#2b2b2b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.92rem;overflow:hidden}.tree-list.selected .tree-list-name[data-v-85b02737]{color:#b8482e;font-weight:600}.tree-list-count[data-v-85b02737]{color:#a2887d;flex-shrink:0;font-size:.75rem}.recap[data-v-85b02737]{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.recap-row[data-v-85b02737]{align-items:center;gap:.5rem;display:flex}.recap-row .q[data-v-85b02737]{text-align:right;border:1px solid #e0cabf;border-radius:7px;width:4rem;padding:.4rem;font-size:.9rem}.recap-row .u[data-v-85b02737]{border:1px solid #e0cabf;border-radius:7px;width:3.6rem;padding:.4rem;font-size:.9rem}.recap-row .q[data-v-85b02737]:focus,.recap-row .u[data-v-85b02737]:focus{border-color:#b8482e;outline:none}.recap-row .nm[data-v-85b02737]{color:#2b2b2b;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.recap-row .rm[data-v-85b02737]{color:#c0392b;cursor:pointer;background:#fbe9e4;border:none;border-radius:50%;flex-shrink:0;width:1.8rem;height:1.8rem;font-size:.8rem}.recap-row .rm[data-v-85b02737]:hover{background:#f5c9bd}.foot[data-v-85b02737]{border-top:1px solid #f0e6e1;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.6rem;padding:1rem 1.3rem;display:flex}.btn[data-v-85b02737]{color:#fff;cursor:pointer;background:#b8482e;border:1px solid #b8482e;border-radius:8px;padding:.55rem 1rem;font-weight:600;transition:background .15s}.btn[data-v-85b02737]:hover:not(:disabled){background:#a13d26}.btn[data-v-85b02737]:disabled{opacity:.5;cursor:default}.btn-ghost[data-v-85b02737]{color:#7a6b64;cursor:pointer;background:#fff;border:1px solid #e0cabf;border-radius:8px;padding:.5rem .9rem;font-size:.9rem}.btn-ghost[data-v-85b02737]:hover{color:#b8482e;border-color:#b8482e}.settings-enter-active[data-v-85b02737],.settings-leave-active[data-v-85b02737]{transition:opacity .2s}.settings-enter-active .panel[data-v-85b02737],.settings-leave-active .panel[data-v-85b02737]{transition:transform .2s,opacity .2s}.settings-enter-from[data-v-85b02737],.settings-leave-to[data-v-85b02737]{opacity:0}.settings-enter-from .panel[data-v-85b02737],.settings-leave-to .panel[data-v-85b02737]{opacity:0;transform:translateY(12px)scale(.97)}.back[data-v-befb9fc5]{color:#7a6b64;background:#fff;border:1px solid #e5d8d2;border-radius:999px;align-items:center;gap:.35rem;margin-bottom:.5rem;padding:.4rem .9rem .4rem .7rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.back[data-v-befb9fc5]:hover{color:#fff;background:#b8482e;border-color:#b8482e;box-shadow:0 3px 8px #b8482e4d}.back-icon[data-v-befb9fc5]{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem;transition:transform .15s}.back:hover .back-icon[data-v-befb9fc5]{transform:translate(-2px)}.gallery[data-v-befb9fc5]{gap:.8rem;margin:1rem 0;display:flex;overflow-x:auto}.gallery img[data-v-befb9fc5]{object-fit:cover;border-radius:10px;height:240px}.title-row[data-v-befb9fc5]{justify-content:space-between;align-items:flex-start;display:flex}.tag[data-v-befb9fc5]{color:#b8482e;background:#f0d9d2;border-radius:999px;padding:.15rem .6rem;font-size:.8rem}.detail-stars[data-v-befb9fc5]{margin-top:.5rem}.desc[data-v-befb9fc5]{color:#555}.ingredients[data-v-befb9fc5]{background:#faf6f4;border-radius:10px;margin:1.5rem 0;padding:1rem 1.3rem}.ing-head[data-v-befb9fc5]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.ing-head h2[data-v-befb9fc5]{margin:0}.scaler[data-v-befb9fc5]{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.picker[data-v-befb9fc5]{align-items:center;gap:.5rem;display:flex}.picker button[data-v-befb9fc5]{color:#b8482e;cursor:pointer;background:#fff;border:1px solid #b8482e;border-radius:50%;width:32px;height:32px;font-size:1.2rem;line-height:1}.picker strong[data-v-befb9fc5]{text-align:center;min-width:1.5rem}.picker input[data-v-befb9fc5]{text-align:right;border:1px solid #ccc;border-radius:6px;width:80px;padding:.35rem .5rem;font-size:1rem}.picker em[data-v-befb9fc5]{color:#888;font-size:.85rem;font-style:normal}.ing-grid[data-v-befb9fc5]{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:1.1rem .8rem;margin-top:1.2rem;display:grid}.ing-card[data-v-befb9fc5]{text-align:center;flex-direction:column;align-items:center;gap:.35rem;display:flex}.ing-card-photo[data-v-befb9fc5]{background:#fff;border:1px solid #ecdcd5;border-radius:50%;justify-content:center;align-items:center;width:74px;height:74px;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000d}.ing-card-photo img[data-v-befb9fc5]{object-fit:cover;width:100%;height:100%}.ing-card-photo svg[data-v-befb9fc5]{fill:#cdb8af;width:2rem;height:2rem}.ing-card-qty[data-v-befb9fc5]{color:#b8482e;font-size:.95rem;font-weight:700}.ing-card-name[data-v-befb9fc5]{color:#5c4b44;font-size:.88rem;line-height:1.25}.utensils[data-v-befb9fc5]{margin:1.5rem 0}.utensils ul[data-v-befb9fc5]{flex-wrap:wrap;gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.utensils li[data-v-befb9fc5]{color:#8a3620;background:#f0d9d2;border-radius:999px;padding:.35rem .9rem;font-size:.92rem}.steps ol[data-v-befb9fc5]{counter-reset:step;flex-direction:column;gap:1rem;padding:0;list-style:none;display:flex}.steps li[data-v-befb9fc5]{align-items:center;gap:1rem;display:flex}.step-visual[data-v-befb9fc5]{border-radius:12px;flex-shrink:0;width:96px;height:96px;overflow:hidden}.step-visual img[data-v-befb9fc5]{object-fit:cover;width:100%;height:100%}.zoomable[data-v-befb9fc5]{cursor:zoom-in;transition:filter .15s,transform .15s}.zoomable[data-v-befb9fc5]:hover{filter:brightness(.92)}.step-placeholder[data-v-befb9fc5]{text-align:center;color:#fff;background:linear-gradient(135deg,#c85338 0%,#a13d26 100%);justify-content:center;align-items:center;width:100%;height:100%;padding:.3rem;font-size:.95rem;font-weight:700;line-height:1.2;display:flex}.steps .step-text[data-v-befb9fc5]{margin:0;line-height:1.6}.actions[data-v-befb9fc5]{flex-shrink:0;gap:.5rem;display:flex}.tool[data-v-befb9fc5]{color:#7a6b64;cursor:pointer;background:#fff;border:1px solid #e0cabf;border-radius:6px;padding:.4rem .8rem;font-weight:600;transition:border-color .15s,color .15s}.tool[data-v-befb9fc5]:hover{color:#b8482e;border-color:#b8482e}.edit[data-v-befb9fc5]{color:#fff;background:#b8482e;border-radius:6px;padding:.4rem .8rem;font-weight:600;text-decoration:none;transition:background .15s}.edit[data-v-befb9fc5]:hover{background:#a13d26}.danger[data-v-befb9fc5]{color:#c0392b;cursor:pointer;background:#fff;border:1px solid #c0392b;border-radius:6px;padding:.4rem .8rem}.muted[data-v-befb9fc5]{color:#999}.error[data-v-befb9fc5]{color:#c0392b}.overlay[data-v-9a34d1f9]{z-index:2000;-webkit-backdrop-filter:blur(3px);background:#28181280;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialog[data-v-9a34d1f9]{background:#fff;border-radius:14px;width:100%;max-width:400px;padding:1.6rem;box-shadow:0 20px 50px #00000040}.title[data-v-9a34d1f9]{color:#2a1a14;text-align:center;margin:0 0 1rem;font-size:1.2rem}.cat-input[data-v-9a34d1f9]{box-sizing:border-box;border:1px solid #e0cabf;border-radius:8px;width:100%;padding:.65rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}.cat-input[data-v-9a34d1f9]:focus{border-color:#b8482e;outline:none;box-shadow:0 0 0 3px #b8482e1f}.error[data-v-9a34d1f9]{color:#c0392b;margin:.6rem 0 0;font-size:.88rem}.buttons[data-v-9a34d1f9]{justify-content:center;gap:.7rem;margin-top:1.2rem;display:flex}.btn[data-v-9a34d1f9]{cursor:pointer;border:1px solid #0000;border-radius:8px;flex:1;padding:.65rem 1rem;font-size:.95rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.btn[data-v-9a34d1f9]:disabled{opacity:.6;cursor:default}.btn.cancel[data-v-9a34d1f9]{color:#6b5952;background:#fff;border-color:#ddd0c9}.btn.cancel[data-v-9a34d1f9]:not(:disabled):hover{background:#f5efec}.btn.confirm[data-v-9a34d1f9]{color:#fff;background:#b8482e}.btn.confirm[data-v-9a34d1f9]:not(:disabled):hover{background:#a13d26}.btn[data-v-9a34d1f9]:focus-visible{outline-offset:2px;outline:2px solid #2a1a14}.modal-enter-active[data-v-9a34d1f9],.modal-leave-active[data-v-9a34d1f9]{transition:opacity .2s}.modal-enter-active .dialog[data-v-9a34d1f9],.modal-leave-active .dialog[data-v-9a34d1f9]{transition:transform .2s,opacity .2s}.modal-enter-from[data-v-9a34d1f9],.modal-leave-to[data-v-9a34d1f9]{opacity:0}.modal-enter-from .dialog[data-v-9a34d1f9],.modal-leave-to .dialog[data-v-9a34d1f9]{opacity:0;transform:translateY(12px)scale(.97)}@media (prefers-reduced-motion:reduce){.modal-enter-active[data-v-9a34d1f9],.modal-leave-active[data-v-9a34d1f9],.modal-enter-active .dialog[data-v-9a34d1f9],.modal-leave-active .dialog[data-v-9a34d1f9]{transition:none}}.form-wrap[data-v-67e73a63]{max-width:640px;margin:0 auto}form[data-v-67e73a63]{flex-direction:column;gap:1rem;display:flex}label[data-v-67e73a63]{flex-direction:column;gap:.3rem;font-weight:600;display:flex}.row[data-v-67e73a63]{flex-wrap:wrap;gap:1rem;display:flex}.row label[data-v-67e73a63]{flex:170px;min-width:0}.base-amount[data-v-67e73a63]{align-items:center;gap:.4rem;display:flex}.base-amount input[data-v-67e73a63]{flex:1;min-width:0}.unit-suffix[data-v-67e73a63]{color:#7a6b64;white-space:nowrap;font-weight:600}.cat-select-row[data-v-67e73a63]{align-items:stretch;gap:.4rem;display:flex}.cat-select-row select[data-v-67e73a63]{flex:1;min-width:0}.cat-add[data-v-67e73a63]{color:#b8482e;cursor:pointer;background:#fff;border:1px solid #b8482e;border-radius:6px;flex-shrink:0;width:2.6rem;font-size:1.3rem;font-weight:600;line-height:1;transition:background .15s,color .15s}.cat-add[data-v-67e73a63]:hover{color:#fff;background:#b8482e}input[data-v-67e73a63],select[data-v-67e73a63],textarea[data-v-67e73a63]{border:1px solid #ccc;border-radius:6px;padding:.55rem;font-family:inherit;font-size:1rem}fieldset[data-v-67e73a63]{border:1px solid #e5d8d2;border-radius:8px;padding:1rem}legend[data-v-67e73a63]{padding:0 .4rem;font-weight:600}.ing-row[data-v-67e73a63]{border:1.5px dashed #0000;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.3rem;transition:border-color .15s,background .15s;display:flex}.ing-row.dragover[data-v-67e73a63]{background:#f6e4dd;border-color:#b8482e}.ing-photo-wrap[data-v-67e73a63]{flex-shrink:0;position:relative}.ing-photo[data-v-67e73a63]{cursor:pointer;background:#faf6f4;border:1.5px dashed #cbb6ad;border-radius:6px;justify-content:center;align-items:center;width:42px;height:42px;display:flex;overflow:hidden}.ing-photo[data-v-67e73a63]:hover{border-color:#b8482e}.ing-photo.filled[data-v-67e73a63]{border-style:solid}.ing-photo img[data-v-67e73a63]{object-fit:cover;width:100%;height:100%}.ing-photo svg[data-v-67e73a63]{fill:none;stroke:#b39a90;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.ing-photo-del[data-v-67e73a63]{color:#fff;cursor:pointer;background:#c0392b;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:.62rem;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.ing-photo-del[data-v-67e73a63]:hover{background:#a5301f}.ing-row .qty[data-v-67e73a63]{width:80px}.ing-row .unit[data-v-67e73a63]{width:130px}.ing-row .name[data-v-67e73a63]{flex:1}.ust-row[data-v-67e73a63]{gap:.5rem;margin-bottom:.5rem;display:flex}.ust-row .name[data-v-67e73a63]{flex:1}.step-row[data-v-67e73a63]{border:1.5px dashed #0000;border-radius:10px;align-items:flex-start;gap:.6rem;margin-bottom:.8rem;padding:.4rem;transition:border-color .15s,background .15s;display:flex}.step-row.dragover[data-v-67e73a63]{background:#f6e4dd;border-color:#b8482e}.step-row.dragover .step-photo[data-v-67e73a63]{border-color:#b8482e}.step-num[data-v-67e73a63]{color:#fff;background:#b8482e;border-radius:50%;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:2.1rem;height:2.1rem;font-size:1rem;font-weight:700;display:flex}.step-photo-wrap[data-v-67e73a63]{flex-shrink:0;align-self:center;position:relative}.step-photo[data-v-67e73a63]{cursor:pointer;background:#faf6f4;border:1.5px dashed #cbb6ad;border-radius:8px;justify-content:center;align-items:center;width:68px;height:68px;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.step-photo[data-v-67e73a63]:hover{border-color:#b8482e}.step-photo.filled[data-v-67e73a63]{border-style:solid}.step-photo-del[data-v-67e73a63]{color:#fff;cursor:pointer;background:#c0392b;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.7rem;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.step-photo-del[data-v-67e73a63]:hover{background:#a5301f}.step-photo img[data-v-67e73a63]{object-fit:cover;width:100%;height:100%}.step-photo-hint[data-v-67e73a63]{fill:none;stroke:#b39a90;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:2.2rem;height:2.2rem}.step-text[data-v-67e73a63]{flex:1;min-width:0}.del[data-v-67e73a63]{color:#b8482e;cursor:pointer;background:#f0d9d2;border:none;border-radius:6px;align-self:center;padding:0 .7rem}.add[data-v-67e73a63]{color:#b8482e;cursor:pointer;background:0 0;border:1px dashed #b8482e;border-radius:6px;padding:.4rem .8rem}.gallery-field[data-v-67e73a63]{flex-direction:column;gap:.5rem;display:flex}.field-label[data-v-67e73a63]{font-weight:600}.rating-field[data-v-67e73a63]{align-items:center;gap:.7rem;display:flex}.rating-clear[data-v-67e73a63]{color:#7a6b64;cursor:pointer;background:#fff;border:1px solid #e0cabf;border-radius:999px;padding:.2rem .7rem;font-size:.82rem}.rating-clear[data-v-67e73a63]:hover{color:#b8482e;border-color:#b8482e}.gallery-drop[data-v-67e73a63]{cursor:pointer;text-align:center;background:#faf6f4;border:1.5px dashed #cbb6ad;border-radius:8px;justify-content:center;align-items:center;padding:1.5rem 1rem;transition:border-color .15s,background .15s;display:flex}.gallery-drop[data-v-67e73a63]:hover{border-color:#b8482e}.gallery-drop.dragover[data-v-67e73a63]{background:#f6e4dd;border-color:#b8482e}.gallery-drop-hint[data-v-67e73a63]{fill:none;stroke:#b39a90;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:2.4rem;height:2.4rem}.gallery-previews[data-v-67e73a63]{flex-wrap:wrap;gap:.6rem;display:flex}.gallery-thumb[data-v-67e73a63]{border:1px solid #e5d8d2;border-radius:8px;width:84px;height:84px;position:relative;overflow:hidden}.gallery-thumb img[data-v-67e73a63]{object-fit:cover;width:100%;height:100%}.gallery-thumb-del[data-v-67e73a63]{color:#fff;cursor:pointer;background:#c0392b;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.7rem;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.gallery-thumb-del[data-v-67e73a63]:hover{background:#a5301f}.submit[data-v-67e73a63]{color:#fff;cursor:pointer;background:#b8482e;border:none;border-radius:6px;padding:.8rem;font-size:1rem}.error[data-v-67e73a63]{color:#c0392b}
