:root{--color-primary:#1a1a2e;--color-accent:#f17e32;--color-accent-dark:#d96a1e;--color-accent-light:#fff7f2;--color-error:#dc3545;--color-text:#2d2d3a;--color-text-muted:#6b7280;--color-text-on-accent:#fff;--color-border:#e5e7eb;--color-bg:#fff;--color-bg-muted:#f9fafb;--color-bg-page:#f3f4f6;--font-family:"Lexend", system-ui, -apple-system, sans-serif;--font-size-base:15px;--font-size-sm:13px;--font-size-lg:18px;--font-size-xl:1.5rem;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:40px;--spacing-2xl:56px;--radius-sm:6px;--radius:10px;--radius-lg:16px;--transition:.2s ease;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--container-max:1100px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.6}.container{width:100%;max-width:var(--container-max);padding:var(--spacing-xl) var(--spacing-lg);margin:0 auto}@media (width<=640px){.container{padding:var(--spacing-lg) var(--spacing-md)}}.form-control{width:100%;padding:12px var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text);border:1.5px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);transition:border-color var(--transition), box-shadow var(--transition);font-family:inherit;display:block}.form-control:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #f17e321f}.form-control:disabled{background:var(--color-bg-muted);cursor:not-allowed;opacity:.7}textarea.form-control{resize:vertical;min-height:160px}select.form-control{appearance:auto}label{margin-bottom:var(--spacing-xs);font-weight:500;font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;display:block}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:12px var(--spacing-lg);font-size:var(--font-size-base);border-radius:var(--radius);cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:none;font-family:inherit;font-weight:600;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-accent);color:var(--color-text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-dark);transform:translateY(-1px);box-shadow:0 4px 16px #f17e324d}.btn-primary:active:not(:disabled){box-shadow:none;transform:translateY(0)}.form-group{margin-bottom:var(--spacing-lg)}.row{gap:var(--spacing-lg);display:grid}@media (width>=640px){.row--two-col{grid-template-columns:1fr 1fr}}.demo-card-wrapper{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}@media (width<=640px){.demo-card-wrapper{padding:var(--spacing-lg);border-radius:var(--radius)}}.demo-title{text-align:center;color:var(--color-primary);margin:0 0 var(--spacing-xl);font-weight:300;font-size:var(--font-size-xl);line-height:1.4}.demo-title strong{color:var(--color-accent);font-weight:700}.info-text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-lg);padding:var(--spacing-md);border-left:3px solid var(--color-border);background:var(--color-bg-muted);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-style:italic;display:none}.info-text.visible{display:block}.map-frame{border-radius:var(--radius);width:100%;height:0;margin-top:var(--spacing-lg);box-shadow:var(--shadow-sm);border:0;transition:height .3s}.status-message{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.status-message--error{color:var(--color-error);border-left:3px solid var(--color-error);background:#fef2f2}.status-message--info{background:var(--color-bg-muted);color:var(--color-text-muted)}.demo-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.demo-footer p,.demo-footer h3{font-size:var(--font-size-sm);color:var(--color-text-muted)}.demo-footer h3{font-size:var(--font-size-base);color:var(--color-primary);margin:var(--spacing-lg) 0 var(--spacing-sm)}.demo-footer a{color:var(--color-accent);font-weight:500;text-decoration:none}.demo-footer a:hover{text-decoration:underline}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}h3{color:var(--color-primary);margin:var(--spacing-lg) 0 var(--spacing-sm);font-weight:600}
