:root,[data-theme=light]{--color-bg-page:#faf8f5;--color-bg-card:#fff;--color-text-primary:#1a1814;--color-text-secondary:#5c5549;--color-text-muted:#a89f92;--color-border:#e8e4de;--color-accent:#e8a838;--color-accent-hover:#f0bc5c;--color-accent-soft:rgba(232,168,56,.15);--color-on-accent:#141210;--color-hero-overlay:hsla(36,33%,97%,.82);--color-cta-overlay:hsla(36,33%,97%,.78);--color-shadow-card:rgba(26,24,20,.06);--color-shadow-strong:rgba(0,0,0,.08);--color-gradient-overlay:hsla(36,33%,97%,.92);--color-status-pending-bg:#fef3c7;--color-status-pending-text:#92400e;--color-status-accept-bg:#dbeafe;--color-status-accept-text:#1e40af;--color-status-done-bg:#d1fae5;--color-status-done-text:#065f46;--color-modal-overlay:rgba(0,0,0,.4);--color-favorite:#c97070;--color-favorite-soft:hsla(0,45%,61%,.14);--color-accent-contrast:#141210;--color-status-success:#059669;--color-status-error:#dc2626;--color-status-warning:#d97706}[data-theme=dark]{--color-bg-page:#141210;--color-bg-card:#1c1916;--color-text-primary:#f5f0e8;--color-text-secondary:#b8b0a4;--color-text-muted:#8a8278;--color-border:#3d3832;--color-accent:#e8a838;--color-accent-hover:#f0bc5c;--color-accent-soft:rgba(232,168,56,.2);--color-on-accent:#141210;--color-hero-overlay:rgba(20,18,16,.75);--color-cta-overlay:rgba(20,18,16,.78);--color-shadow-card:rgba(0,0,0,.2);--color-shadow-strong:rgba(0,0,0,.35);--color-gradient-overlay:rgba(26,23,20,.92);--color-status-pending-bg:#78350f;--color-status-pending-text:#fef3c7;--color-status-accept-bg:#1e3a5f;--color-status-accept-text:#bfdbfe;--color-status-done-bg:#064e3b;--color-status-done-text:#a7f3d0;--color-modal-overlay:rgba(0,0,0,.6);--color-favorite:#d9a0a0;--color-favorite-soft:hsla(0,43%,74%,.18);--color-accent-contrast:#141210;--color-status-success:#34d399;--color-status-error:#f87171;--color-status-warning:#fbbf24}:root,[data-theme=dark],[data-theme=light]{--color-bg-dark:#141210;--color-bg-dark-soft:#1c1916;--color-text-on-dark:#f5f0e8}:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--font-heading:"Outfit","Noto Sans SC",system-ui,sans-serif;--font-body:"Noto Sans SC","Outfit",system-ui,sans-serif;--text-hero:clamp(2rem,5vw + 1.5rem,3.5rem);--text-h2:clamp(1.5rem,3vw + 1rem,2.25rem);--text-h3:1.125rem;--text-body:1rem;--text-small:.875rem;--ease-out:cubic-bezier(.22,1,.36,1);--duration-normal:.3s}.landing-section{margin:0 auto;max-width:1100px;padding:var(--space-16) var(--space-6)}@media(min-width:768px){.landing-section{padding-left:var(--space-8);padding-right:var(--space-8)}}.legal-page{box-sizing:border-box;margin:0 auto;max-width:1100px;padding:var(--space-8) var(--space-6);width:100%}@media(max-width:640px){.legal-page{padding-left:var(--space-4);padding-right:var(--space-4)}}.legal-page__back{color:var(--color-accent);display:inline-block;font-size:var(--text-small);margin-bottom:var(--space-6);text-decoration:none}.legal-page__back:hover{text-decoration:underline}.legal-page__title{color:var(--color-text-primary);font-family:var(--font-heading);font-size:var(--text-h2);font-weight:700;margin:0 0 var(--space-2)}.legal-page__meta{color:var(--color-text-muted);font-size:var(--text-small);line-height:1.5;margin:0 0 var(--space-6)}.legal-page__lead{color:var(--color-text-primary);line-height:1.75;margin:0 0 var(--space-8)}.legal-page__content>.legal-page__h2{color:var(--color-text-primary);font-family:var(--font-heading);font-size:var(--text-h3);font-weight:700;margin:var(--space-8) 0 var(--space-3)}.legal-page__content>.legal-page__h2:first-of-type{margin-top:0}.legal-page__card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-6) var(--space-8)}@media(min-width:768px){.legal-page__card{padding:var(--space-8) var(--space-12)}}.legal-page__h3{font-size:var(--text-body);font-weight:600;line-height:1.45;margin:0 0 var(--space-4)}.legal-page__h3,.legal-page__ol{color:var(--color-text-primary);padding-right:var(--space-2)}.legal-page__ol{line-height:1.7;margin:0;padding-left:1.5rem}.legal-page__ol li{margin-bottom:var(--space-2)}.legal-page__ol li:last-child{margin-bottom:0}.legal-page__block{margin-bottom:var(--space-6)}.legal-page__block .legal-page__h2{color:var(--color-text-primary);font-family:var(--font-heading);font-size:var(--text-h3);font-weight:700;margin-bottom:var(--space-3);margin-top:0}.legal-page__block+.legal-page__block .legal-page__h2{margin-top:var(--space-6)}.legal-page__block p{color:var(--color-text-primary);line-height:1.75;margin:0 0 var(--space-4)}.legal-page__block p:last-child{margin-bottom:0}.legal-page__section{margin-bottom:var(--space-6)}.legal-page__section .legal-page__h2{color:var(--color-text-primary);font-family:var(--font-heading);font-size:var(--text-body);font-weight:700;margin:0 0 var(--space-3)}.legal-page__section p{color:var(--color-text-primary);line-height:1.75;margin:0}.app-logo[data-v-6296d135]{display:inline-block;vertical-align:middle}.theme-toggle[data-v-03744ce3]{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);display:inline-flex;gap:2px;padding:2px}.theme-toggle__btn[data-v-03744ce3]{background:none;border:none;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1) var(--space-2);transition:background var(--duration-normal),color var(--duration-normal)}.theme-toggle__icon[data-v-03744ce3]{display:block;height:1.1em;width:1.1em}.theme-toggle__btn[data-v-03744ce3]:hover{color:var(--color-text-primary)}.theme-toggle__btn--active[data-v-03744ce3]{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.lang-switcher[data-v-d5f3bdd7]{position:relative;z-index:1}.lang-switcher__trigger[data-v-d5f3bdd7]{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:var(--text-small);gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:border-color var(--duration-normal),color var(--duration-normal)}.lang-switcher__trigger[data-v-d5f3bdd7]:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.lang-switcher__icon[data-v-d5f3bdd7]{flex-shrink:0;height:1.1em;width:1.1em}.lang-switcher__chevron[data-v-d5f3bdd7]{height:1em;transition:transform var(--duration-normal);width:1em}.lang-switcher__chevron--open[data-v-d5f3bdd7]{transform:rotate(180deg)}.lang-switcher__dropdown[data-v-d5f3bdd7]{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--color-shadow-lg);list-style:none;margin:0;min-width:100%;padding:var(--space-1);position:absolute;right:0;top:calc(100% + var(--space-1));z-index:200}.lang-switcher__dropdown--top[data-v-d5f3bdd7]{bottom:calc(100% + var(--space-1));top:auto}.lang-switcher__item[data-v-d5f3bdd7]{border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;font-size:var(--text-small);padding:var(--space-2) var(--space-4);transition:background var(--duration-fast)}.lang-switcher__item--active[data-v-d5f3bdd7],.lang-switcher__item[data-v-d5f3bdd7]:hover{background:var(--color-accent-soft)}.lang-switcher__item--active[data-v-d5f3bdd7]{color:var(--color-accent);font-weight:600}.lang-drop-enter-active[data-v-d5f3bdd7],.lang-drop-leave-active[data-v-d5f3bdd7]{transition:opacity .15s ease,transform .15s ease}.lang-drop-enter-from[data-v-d5f3bdd7],.lang-drop-leave-to[data-v-d5f3bdd7]{opacity:0;transform:translateY(-4px)}.lang-drop-top-enter-active[data-v-d5f3bdd7],.lang-drop-top-leave-active[data-v-d5f3bdd7]{transition:opacity .15s ease,transform .15s ease}.lang-drop-top-enter-from[data-v-d5f3bdd7],.lang-drop-top-leave-to[data-v-d5f3bdd7]{opacity:0;transform:translateY(4px)}.app-nav[data-v-6f67e303]{background:var(--color-bg-page);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:90}.app-nav--menu-open[data-v-6f67e303]{z-index:200}.app-nav__backdrop[data-v-6f67e303]{display:none}.app-nav__inner[data-v-6f67e303]{align-items:center;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:var(--space-4);margin:0 auto;max-width:1100px;padding:var(--space-2) var(--space-6);position:relative;width:100%;z-index:1}.app-nav--menu-open .app-nav__inner[data-v-6f67e303]{z-index:201}.app-nav__logo[data-v-6f67e303]{align-items:center;color:var(--color-text-primary);display:inline-flex;flex-shrink:0;font-family:var(--font-heading);font-size:1rem;font-weight:700;gap:var(--space-2);margin-right:var(--space-2);text-decoration:none}.app-nav__logo[data-v-6f67e303]:hover{color:var(--color-accent)}.app-nav__brand[data-v-6f67e303]{white-space:nowrap}.app-nav__links[data-v-6f67e303]{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:var(--space-4);min-width:0}.app-nav__link[data-v-6f67e303]{color:var(--color-text-secondary);font-size:var(--text-small);text-decoration:none}.app-nav__link.router-link-active[data-v-6f67e303],.app-nav__link[data-v-6f67e303]:hover{color:var(--color-accent);font-weight:500}[data-theme=dark] .app-nav__auth[data-v-6f67e303],[data-theme=dark] .app-nav__auth .app-nav__auth-btn[data-v-6f67e303],[data-theme=dark] .app-nav__link[data-v-6f67e303]{color:var(--color-text-primary)}[data-theme=dark] .app-nav__auth-sep[data-v-6f67e303]{color:var(--color-text-secondary)}[data-theme=dark] .app-nav__lang[data-v-6f67e303] .lang-switcher__trigger{color:var(--color-text-primary)}.app-nav__right[data-v-6f67e303]{align-items:center;display:flex;flex-shrink:0;gap:var(--space-3);margin-left:auto}.app-nav__theme[data-v-6f67e303] .theme-toggle{vertical-align:middle}.app-nav__theme-fallback[data-v-6f67e303]{height:28px;opacity:.5;width:64px}.app-nav__lang[data-v-6f67e303]{flex-shrink:0}.app-nav__auth[data-v-6f67e303]{color:var(--color-text-secondary);font-size:var(--text-small)}.app-nav__auth-btn[data-v-6f67e303]{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:inherit;padding:0;text-decoration:none}.app-nav__auth-btn[data-v-6f67e303]:hover{text-decoration:underline}.app-nav__auth-sep[data-v-6f67e303]{color:var(--color-text-muted);margin:0 var(--space-1)}.app-nav__mobile-auth[data-v-6f67e303]{border-top:1px solid var(--color-border);display:none;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4)}.app-nav__auth-btn--block[data-v-6f67e303]{display:block;font-size:var(--text-body);padding:var(--space-2) 0}.app-nav__menu-btn[data-v-6f67e303]{align-items:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;display:none;height:2.5rem;justify-content:center;margin:0;padding:0;transition:background var(--duration-normal),border-color var(--duration-normal),color var(--duration-normal);width:2.5rem}.app-nav__menu-btn[data-v-6f67e303]:hover{border-color:var(--color-accent);color:var(--color-accent)}.app-nav__menu-icon[data-v-6f67e303]{display:block;height:1.35rem;width:1.35rem}@media(max-width:768px){.app-nav[data-v-6f67e303]{max-width:100%}.app-nav__inner[data-v-6f67e303]{align-items:center;flex-wrap:nowrap;gap:var(--space-2);justify-content:flex-start;max-width:100%;padding-left:var(--space-4);padding-right:var(--space-4)}.app-nav__logo[data-v-6f67e303]{flex:1 1 0;margin-right:0;max-width:100%;min-width:0;overflow:hidden}.app-nav__brand[data-v-6f67e303]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav__lang[data-v-6f67e303] .lang-switcher__current{display:none}.app-nav__lang[data-v-6f67e303] .lang-switcher__trigger{gap:var(--space-1);padding:var(--space-1) var(--space-2)}.app-nav__lang[data-v-6f67e303] .lang-switcher__chevron{display:none}.app-nav__theme[data-v-6f67e303] .theme-toggle{transform:scale(.92);transform-origin:center}.app-nav__backdrop[data-v-6f67e303]{background:#00000073;border:none;cursor:pointer;display:block;inset:0;margin:0;padding:0;position:fixed;z-index:198;-webkit-tap-highlight-color:transparent}.app-nav__links[data-v-6f67e303]{align-items:stretch;background:var(--color-bg-page);border-left:1px solid var(--color-border);bottom:0;box-shadow:-8px 0 28px #0000001f;display:none;flex:none;flex-direction:column;flex-wrap:nowrap;gap:0;margin:0;overflow-y:auto;padding:var(--space-6) var(--space-4);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px));padding-top:calc(var(--space-6) + env(safe-area-inset-top,0px));position:fixed;right:0;top:0;width:min(18rem,100vw - 2.5rem);z-index:199;-webkit-overflow-scrolling:touch}.app-nav__links--open[data-v-6f67e303]{display:flex}.app-nav__link[data-v-6f67e303]{border-bottom:1px solid var(--color-border);font-size:var(--text-body);padding:var(--space-3) 0}.app-nav__right[data-v-6f67e303]{flex-shrink:0;gap:var(--space-1);margin-left:auto;position:relative;z-index:5}.app-nav__auth--desktop[data-v-6f67e303]{display:none}.app-nav__mobile-auth[data-v-6f67e303]{display:flex}.app-nav__menu-btn[data-v-6f67e303]{display:inline-flex}}.landing-footer[data-v-981e5b14]{background:var(--color-bg-card);border-top:1px solid var(--color-border);color:var(--color-text-primary);font-size:.8125rem;padding:var(--space-3) var(--space-4)}.landing-footer__row[data-v-981e5b14]{align-items:center;display:flex;flex-wrap:wrap;gap:.25rem var(--space-2);justify-content:center;margin:0 auto;max-width:900px}.landing-footer__brand[data-v-981e5b14],.landing-footer__slogan[data-v-981e5b14]{color:var(--color-text-primary);font-family:var(--font-heading);font-size:.9rem;font-weight:700;-webkit-font-smoothing:antialiased;text-decoration:none}.landing-footer__brand[data-v-981e5b14]:hover,.landing-footer__slogan[data-v-981e5b14]:hover{color:var(--color-accent)}.landing-footer__slogan[data-v-981e5b14]{font-weight:500}.landing-footer__links[data-v-981e5b14]{display:inline-flex;flex-wrap:wrap;gap:0 var(--space-2)}.landing-footer__link[data-v-981e5b14],.landing-footer__links a[data-v-981e5b14]{color:var(--color-text-primary);opacity:.9;text-decoration:none}.landing-footer__link[data-v-981e5b14]:hover,.landing-footer__links a[data-v-981e5b14]:hover{color:var(--color-accent);opacity:1}.landing-footer__lang[data-v-981e5b14]{display:inline-flex}.landing-footer__copy[data-v-981e5b14]{color:var(--color-text-primary);opacity:.85}.landing-footer__lang[data-v-981e5b14] .lang-switcher__trigger{font-size:.8125rem;padding:var(--space-1) var(--space-2)}.achievement-toast[data-v-95bc22ae]{cursor:pointer;left:50%;position:fixed;top:var(--space-6);transform:translate(-50%);z-index:9999}.achievement-toast__inner[data-v-95bc22ae]{align-items:center;background:var(--color-bg-card);border:2px solid var(--color-accent);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000026;display:flex;gap:var(--space-4);min-width:240px;padding:var(--space-4) var(--space-6)}.achievement-toast__icon[data-v-95bc22ae]{animation:achievement-bounce-95bc22ae .6s ease;font-size:2rem}.achievement-toast__title[data-v-95bc22ae]{color:var(--color-accent);font-size:var(--text-small);font-weight:700;letter-spacing:.05em;margin:0 0 var(--space-1);text-transform:uppercase}.achievement-toast__name[data-v-95bc22ae]{color:var(--color-text-primary);font-family:var(--font-heading);font-size:var(--text-body);font-weight:600;margin:0}.achievement-toast-enter-active[data-v-95bc22ae]{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.achievement-toast-leave-active[data-v-95bc22ae]{transition:all .3s ease}.achievement-toast-enter-from[data-v-95bc22ae]{opacity:0;transform:translate(-50%) translateY(-20px) scale(.9)}.achievement-toast-leave-to[data-v-95bc22ae]{opacity:0;transform:translate(-50%) translateY(-10px)}@keyframes achievement-bounce-95bc22ae{0%{transform:scale(.3) rotate(-20deg)}50%{transform:scale(1.2) rotate(5deg)}70%{transform:scale(.9) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.admin-float-toast-host[data-v-fc915ab9]{left:50%;max-width:min(420px,100vw - var(--space-8));pointer-events:none;position:fixed;top:var(--space-6);transform:translate(-50%);z-index:10050}.admin-float-toast-stack[data-v-fc915ab9]{align-items:center;display:flex;flex-direction:column;gap:var(--space-3)}.admin-float-toast[data-v-fc915ab9]{align-items:flex-start;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 12px 40px #0000002e;display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-right:var(--space-2);pointer-events:auto;width:100%}.admin-float-toast[data-variant=ok][data-v-fc915ab9]{border-color:#22c55e73;box-shadow:0 12px 40px #00000024,0 0 0 1px #22c55e1f}.admin-float-toast[data-variant=err][data-v-fc915ab9]{border-color:#ef444466;box-shadow:0 12px 40px #00000024,0 0 0 1px #ef44441a}.admin-float-toast__icon[data-v-fc915ab9]{flex-shrink:0;height:1.35rem;margin-top:2px;width:1.35rem}.admin-float-toast[data-variant=ok] .admin-float-toast__icon[data-v-fc915ab9]{color:#16a34a}.admin-float-toast[data-variant=err] .admin-float-toast__icon[data-v-fc915ab9]{color:var(--color-status-error)}.admin-float-toast__text[data-v-fc915ab9]{color:var(--color-text-primary);flex:1;font-size:var(--text-small);line-height:1.45;margin:0;text-align:left}.admin-float-toast__close[data-v-fc915ab9]{align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;flex-shrink:0;height:2rem;justify-content:center;margin:-4px -4px -4px 0;transition:background .15s ease,color .15s ease;width:2rem}.admin-float-toast__close[data-v-fc915ab9]:hover{background:var(--color-accent-soft);color:var(--color-text-primary)}.admin-float-toast__close-ic[data-v-fc915ab9]{height:1.1rem;width:1.1rem}.admin-float-toast-enter-active[data-v-fc915ab9],.admin-float-toast-leave-active[data-v-fc915ab9],.admin-float-toast-move[data-v-fc915ab9]{transition:all .35s cubic-bezier(.34,1.2,.64,1)}.admin-float-toast-enter-from[data-v-fc915ab9]{opacity:0;transform:translateY(-16px) scale(.96)}.admin-float-toast-leave-to[data-v-fc915ab9]{opacity:0;transform:translateY(-8px) scale(.98)}.admin-float-toast-leave-active[data-v-fc915ab9]{width:100%}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg-page);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-body);line-height:1.6;margin:0}.app-wrap{flex-direction:column;min-height:100vh}.app-page,.app-wrap{display:flex;position:relative}.app-page{flex:1 1 auto;flex-direction:column;min-height:0;z-index:0}.app-theme{bottom:max(var(--space-4),env(safe-area-inset-bottom));left:auto;position:fixed;right:max(var(--space-4),env(safe-area-inset-right));top:auto;z-index:1000}.theme-toggle--skeleton{height:28px;opacity:.5;width:64px}.app-impersonate{align-items:center;background:var(--color-accent);display:flex;gap:var(--space-4);justify-content:center;padding:var(--space-2) var(--space-4);position:sticky;top:0;z-index:100}.app-impersonate,.app-impersonate__btn{color:var(--color-on-accent);font-size:var(--text-small)}.app-impersonate__btn{background:var(--color-bg-card);border:none;border-radius:var(--radius-sm);cursor:pointer;padding:var(--space-1) var(--space-3)}.app-impersonate__btn:hover{background:var(--color-text-primary);color:var(--color-bg-page)}
