@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&display=swap";.navbar[data-v-d5f8fa41]{top:var(--sat,0);z-index:50;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);background:#ffffffd9;height:64px;position:sticky}.nav-inner[data-v-d5f8fa41]{justify-content:space-between;align-items:center;gap:var(--space-4);height:100%;display:flex}.brand[data-v-d5f8fa41]{align-items:center;gap:var(--space-2);color:var(--color-primary);font-size:1.125rem;font-weight:700;display:flex}.brand-text[data-v-d5f8fa41]{letter-spacing:.02em}.nav-links[data-v-d5f8fa41]{gap:var(--space-6);flex:1;justify-content:center;margin:0;padding:0;list-style:none;display:none}.nav-links a[data-v-d5f8fa41]{color:var(--color-text-secondary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;transition:background .15s,color .15s}.nav-links a[data-v-d5f8fa41]:hover,.nav-links a.router-link-active[data-v-d5f8fa41]{color:var(--color-primary);background:var(--color-primary-subtle)}.nav-actions[data-v-d5f8fa41]{align-items:center;gap:var(--space-2);display:flex}.lang-toggle[data-v-d5f8fa41]{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);background:0 0;font-size:.8125rem;font-weight:600}.lang-toggle[data-v-d5f8fa41]:hover{background:var(--color-bg-muted)}.user-name[data-v-d5f8fa41]{color:var(--color-text-secondary);font-size:.875rem;display:none}.admin-badge[data-v-d5f8fa41]{color:#fff;letter-spacing:.08em;border-radius:var(--radius-full);background:linear-gradient(135deg,#2563eb,#1e40af);padding:2px 8px;font-size:.625rem;font-weight:700;display:inline-block}.hamburger[data-v-d5f8fa41]{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);color:var(--color-text-secondary);background:0 0;display:flex}@media (width>=768px){.nav-links[data-v-d5f8fa41]{display:flex}.hamburger[data-v-d5f8fa41]{display:none}.user-name[data-v-d5f8fa41]{display:inline}}@media (width<=767px){.nav-links[data-v-d5f8fa41]{padding:var(--space-4);border-bottom:1px solid var(--color-border);justify-content:flex-start;gap:var(--space-2);background:#fff;flex-direction:column;display:none;position:fixed;top:64px;left:0;right:0}.nav-links.open[data-v-d5f8fa41]{display:flex}}footer[data-v-3975a67c]{background:var(--color-bg-subtle);border-top:1px solid var(--color-border);padding:var(--space-8) 0;margin-top:auto}.footer-inner[data-v-3975a67c]{gap:var(--space-2);flex-direction:column;display:flex}.brand-row[data-v-3975a67c]{align-items:center;gap:var(--space-2);color:var(--color-primary);margin-bottom:var(--space-2);display:flex}.brand-row strong[data-v-3975a67c]{color:var(--color-text-primary)}.footer-links[data-v-3975a67c]{gap:var(--space-2);margin:var(--space-2) 0 var(--space-1);flex-wrap:wrap;font-size:.875rem;display:flex}.footer-links a[data-v-3975a67c]{color:var(--color-text-secondary);text-decoration:none;transition:color .15s}.footer-links a[data-v-3975a67c]:hover,.footer-links a[data-v-3975a67c]:focus-visible{color:var(--color-primary);text-decoration:underline}.footer-links a[data-v-3975a67c]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.version-row[data-v-3975a67c]{opacity:.75}.app[data-v-6136834b]{flex-direction:column;min-height:100vh;display:flex}main[data-v-6136834b]{flex:1}:root{--color-bg:#fff;--color-bg-subtle:#f9fafb;--color-bg-muted:#f3f4f6;--color-bg-dark:#0f172a;--color-border:#e5e7eb;--color-border-strong:#d1d5db;--color-text-primary:#111827;--color-text-secondary:#374151;--color-text-muted:#6b7280;--color-text-inverse:#fff;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-subtle:#eff6ff;--color-accent:#0ea5e9;--color-success:#16a34a;--color-success-subtle:#f0fdf4;--color-warning:#d97706;--color-error:#dc2626;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 12px 32px #00000014;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--font-main:"DM Sans", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box}html,body{font-family:var(--font-main);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:16px}h1,h2,h3,h4{letter-spacing:-.025em;margin:0;font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.75rem)}h2{font-size:clamp(1.5rem,3vw,2.25rem)}h3{font-size:clamp(1.25rem,2vw,1.5rem)}h4{font-size:1.125rem}p{color:var(--color-text-secondary);margin:0;font-size:1rem;line-height:1.625}.container{width:100%;max-width:1280px;padding:0 var(--space-4);margin:0 auto}@media (width>=640px){.container{padding:0 var(--space-6)}}@media (width>=1024px){.container{padding:0 var(--space-8)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;min-height:44px;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40}.btn-secondary{background:var(--color-bg);color:var(--color-text-primary);border-color:var(--color-border-strong)}.btn-secondary:hover{background:var(--color-bg-subtle)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover{background:var(--color-bg-muted)}.btn-lg{padding:var(--space-4) var(--space-6);min-height:52px;font-size:1rem}.btn-block{width:100%}.card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-primary);min-height:44px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb26}.label{color:var(--color-text-primary);margin-bottom:var(--space-2);font-size:.875rem;font-weight:600;display:block}.text-gradient{background:linear-gradient(135deg,#2563eb 0%,#0ea5e9 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-muted{color:var(--color-text-muted)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.section{padding:var(--space-16) 0}@media (width>=768px){.section{padding:var(--space-24) 0}}.section-subtle{background:var(--color-bg-subtle)}.section-dark{background:var(--color-bg-dark);color:#fff}.section-dark p{color:#ffffffb3}.grid{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=640px){.grid-sm-2{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid-lg-3{grid-template-columns:repeat(3,1fr)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.4s forwards fadeInUp}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
