*, *::before, *::after { box-sizing: border-box; }html {scroll-behavior: smooth;scroll-padding-top: calc(var(--header-height) + 12px);-webkit-text-size-adjust: 100%;}body {margin: 0;font-family: var(--font-family-ui);font-size: var(--font-size-m);line-height: 1.65;color: var(--text-primary);background: var(--bg-base);-webkit-font-smoothing: antialiased;-webkit-tap-highlight-color: var(--tap-highlight-color);display: flex;flex-direction: column;min-height: 100vh;}main { flex: 1 0 auto; }img, svg, canvas { max-width: 100%; }img { height: auto; }h1, h2, h3, h4 { line-height: 1.25; margin: 0 0 var(--space-m); }p { margin: 0 0 var(--space-m); }ul, ol { margin: 0 0 var(--space-m); padding-left: 1.35em; }li { margin-bottom: 6px; }:last-child { margin-bottom: 0; }a { color: var(--color-primary); text-decoration: none; }a:hover { color: var(--color-primary-hover); text-decoration: underline; }::selection { background: color-mix(in srgb, var(--color-primary) 25%, transparent); }:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; border-radius: 4px; }.btn:focus-visible, .icon-btn:focus-visible, summary:focus-visible {outline: none; box-shadow: var(--focus-ring);}.container {width: 100%;max-width: var(--container-max);margin-inline: auto;padding-inline: var(--space-l);}.section { padding-block: clamp(40px, 7vw, 72px); }.section-alt { background: color-mix(in srgb, var(--bg-inset) 50%, var(--bg-base)); }.section-head { margin-bottom: clamp(var(--space-l), 4vw, var(--space-x)); }h1 {font-size: clamp(var(--font-size-e), 4.2vw, 40px);font-weight: 800;letter-spacing: -0.02em;margin-bottom: var(--space-m);}.section-title {font-size: clamp(var(--font-size-h), 2.8vw, var(--font-size-e));font-weight: 800;letter-spacing: -0.015em;position: relative;padding-left: 14px;margin-bottom: var(--space-m);}.section-title::before {content: "";position: absolute;left: 0;top: 0.16em;bottom: 0.16em;width: 5px;border-radius: var(--radius-full);background: var(--color-primary);}h3 { font-size: var(--font-size-l); font-weight: 700; }h4 { font-size: var(--font-size-b); font-weight: 700; }.lead {font-size: var(--font-size-b);color: var(--text-secondary);max-width: 68ch;}.page-hero { padding: clamp(28px, 5vw, 52px) 0 clamp(16px, 3vw, 28px); }.grid-2 {display: grid;grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));gap: var(--space-l);}.text-muted { color: var(--text-secondary); }.small { font-size: var(--font-size-s); }.center { text-align: center; }.skip-link {position: absolute;left: -9999px;top: 0;z-index: 100;background: var(--color-primary);color: var(--text-inverse);padding: 8px 16px;border-radius: 0 0 var(--radius-m) 0;font-weight: 600;}.skip-link:focus { left: 0; color: var(--text-inverse); text-decoration: none; }.site-header {position: sticky;top: 0;z-index: 50;background: var(--bg-trans-subtle);-webkit-backdrop-filter: blur(10px);backdrop-filter: blur(10px);border-bottom: 1px solid var(--border-subtle);}.header-inner {display: flex;align-items: center;gap: var(--space-m);min-height: var(--header-height);}.brand {display: inline-flex;align-items: center;gap: 10px;font-weight: 700;font-size: var(--font-size-l);color: var(--text-primary);letter-spacing: -0.01em;white-space: nowrap;}.brand:hover { color: var(--color-primary); text-decoration: none; }.brand-icon { width: 30px; height: 30px; flex: 0 0 auto; }.main-nav {display: flex;align-items: center;gap: 2px;margin-left: auto;}.main-nav a {display: block;padding: 8px 12px;border-radius: var(--radius-m);color: var(--text-secondary);font-weight: 600;font-size: var(--font-size-s);white-space: nowrap;}.main-nav a:hover {color: var(--text-primary);text-decoration: none;background: var(--bg-trans-hover);}.main-nav a[aria-current="page"] {color: var(--color-primary);background: color-mix(in srgb, var(--color-primary) 10%, transparent);}.header-actions {display: flex;align-items: center;gap: var(--space-s);margin-left: var(--space-s);}.icon-btn {width: 40px;height: 40px;border-radius: var(--radius-m);border: 1px solid var(--border-default);background: var(--bg-elevated);color: var(--text-secondary);display: inline-flex;align-items: center;justify-content: center;cursor: pointer;transition: color .15s, border-color .15s, background .15s;flex: 0 0 auto;}.icon-btn:hover { color: var(--text-primary); border-color: var(--border-strong); }#theme-toggle .icon-sun { display: none; }#theme-toggle .icon-moon { display: block; }[data-theme="dark"] #theme-toggle .icon-sun { display: block; }[data-theme="dark"] #theme-toggle .icon-moon { display: none; }.lang-menu { position: relative; }.lang-menu summary {list-style: none;cursor: pointer;display: inline-flex;align-items: center;gap: 6px;height: 40px;padding: 0 12px;border-radius: var(--radius-m);border: 1px solid var(--border-default);background: var(--bg-elevated);color: var(--text-secondary);font-weight: 600;font-size: var(--font-size-s);user-select: none;transition: color .15s, border-color .15s;}.lang-menu summary:hover { color: var(--text-primary); border-color: var(--border-strong); }.lang-menu summary::-webkit-details-marker { display: none; }.lang-current { letter-spacing: .04em; }.lang-list {position: absolute;right: 0;top: calc(100% + 6px);margin: 0;padding: 6px;list-style: none;min-width: 160px;background: var(--bg-elevated);border: 1px solid var(--border-default);border-radius: var(--radius-m);box-shadow: var(--shadow-drop);z-index: 60;}.lang-list a {display: block;padding: 8px 12px;border-radius: var(--radius-s);color: var(--text-primary);font-size: var(--font-size-s);font-weight: 500;}.lang-list a:hover { background: var(--bg-inset); text-decoration: none; }.lang-list a[aria-current="page"] {color: var(--color-primary);background: color-mix(in srgb, var(--color-primary) 10%, transparent);font-weight: 700;}.nav-toggle { display: none; }.burger, .burger::before, .burger::after {content: "";display: block;width: 18px;height: 2px;border-radius: 2px;background: currentColor;position: relative;transition: transform .18s ease, opacity .18s ease, background .18s ease;}.burger::before { position: absolute; top: -6px; left: 0; }.burger::after { position: absolute; top: 6px; left: 0; }.nav-toggle[aria-expanded="true"] .burger { background: transparent; }.nav-toggle[aria-expanded="true"] .burger::before { transform: translateY(6px) rotate(45deg); }.nav-toggle[aria-expanded="true"] .burger::after { transform: translateY(-6px) rotate(-45deg); }.btn {display: inline-flex;align-items: center;justify-content: center;gap: 8px;padding: 10px 18px;border-radius: var(--radius-m);border: 1px solid transparent;font-family: inherit;font-size: var(--font-size-s);font-weight: 600;line-height: 1.2;cursor: pointer;user-select: none;text-decoration: none;white-space: nowrap;transition: background .15s, border-color .15s, color .15s, box-shadow .15s, transform .05s;}.btn:hover { text-decoration: none; }.btn:active:not(:disabled) { transform: translateY(1px); }.btn:disabled { opacity: .55; cursor: not-allowed; }.btn-primary { background: var(--color-primary); color: var(--text-inverse); }.btn-primary:hover:not(:disabled) { background: var(--color-primary-hover); color: var(--text-inverse); }.btn-outline { background: var(--bg-elevated); border-color: var(--border-default); color: var(--text-primary); }.btn-outline:hover:not(:disabled) { border-color: var(--color-primary); color: var(--color-primary); }.btn-ghost { background: transparent; color: var(--text-secondary); }.btn-ghost:hover:not(:disabled) { background: var(--bg-trans-hover); color: var(--text-primary); }.btn-danger { background: var(--color-danger); color: #fff; }.btn-danger:hover:not(:disabled) { background: color-mix(in srgb, var(--color-danger) 85%, #000); color: #fff; }.btn-lg { padding: 13px 26px; font-size: var(--font-size-m); }.btn-sm { padding: 6px 12px; }.btn-block { width: 100%; }.link-btn {background: none;border: none;padding: 0;font: inherit;color: var(--color-primary);cursor: pointer;text-decoration: underline;}.link-btn:hover { color: var(--color-primary-hover); }.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--space-l); }.field label { font-weight: 600; font-size: var(--font-size-s); }.field .hint { font-size: var(--font-size-s); color: var(--text-tertiary); }input[type="text"], input[type="email"], select, textarea {width: 100%;padding: 10px 12px;border-radius: var(--radius-m);border: 1px solid var(--border-default);background: var(--bg-elevated);color: var(--text-primary);font: inherit;transition: border-color .15s, box-shadow .15s;}input:focus, select:focus, textarea:focus {outline: none;border-color: var(--color-primary);box-shadow: var(--focus-ring);}textarea { min-height: 140px; resize: vertical; }.check-row { display: flex; align-items: center; gap: 8px; font-size: var(--font-size-s); }.check-row input { width: 16px; height: 16px; accent-color: var(--color-primary); }.card {background: var(--bg-elevated);border: 1px solid var(--border-subtle);border-radius: var(--radius-l);box-shadow: var(--shadow-card);padding: clamp(var(--space-l), 3vw, var(--space-x));}.feature-grid {display: grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: var(--space-l);}.feature-card h3 { margin-bottom: 6px; }.feature-card p { color: var(--text-secondary); font-size: var(--font-size-s); margin: 0; }.feature-icon {width: 42px;height: 42px;border-radius: var(--radius-m);background: var(--color-primary-light);color: var(--color-primary);display: inline-flex;align-items: center;justify-content: center;margin-bottom: var(--space-m);}.steps { counter-reset: step; display: grid; gap: var(--space-l); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }.step { position: relative; padding-left: 0; }.step-num {counter-increment: step;display: inline-flex;align-items: center;justify-content: center;width: 34px;height: 34px;border-radius: var(--radius-full);background: var(--color-primary);color: var(--text-inverse);font-weight: 700;margin-bottom: var(--space-s);}.step-num::before { content: counter(step); }.step h3 { font-size: var(--font-size-b); margin-bottom: 4px; }.step p { color: var(--text-secondary); font-size: var(--font-size-s); margin: 0; }.faq { display: grid; gap: var(--space-s); max-width: 820px; }.faq details {background: var(--bg-elevated);border: 1px solid var(--border-subtle);border-radius: var(--radius-m);}.faq summary {list-style: none;cursor: pointer;padding: 14px 16px;font-weight: 600;display: flex;justify-content: space-between;align-items: center;gap: var(--space-m);}.faq summary::-webkit-details-marker { display: none; }.faq summary::after {content: "+";font-size: 22px;font-weight: 400;color: var(--color-primary);line-height: 1;flex: 0 0 auto;}.faq details[open] summary::after { content: "−"; }.faq .faq-a { padding: 0 16px 14px; color: var(--text-secondary); font-size: var(--font-size-s); }.notice {background: color-mix(in srgb, var(--color-primary) 8%, var(--bg-elevated));border: 1px solid color-mix(in srgb, var(--color-primary) 22%, transparent);border-radius: var(--radius-m);padding: 12px 16px;font-size: var(--font-size-s);color: var(--text-secondary);}.kbd {display: inline-block;padding: 1px 7px;border: 1px solid var(--border-default);border-bottom-width: 2px;border-radius: 6px;background: var(--bg-elevated);font-family: var(--font-family-api);font-size: var(--font-size-t);color: var(--text-secondary);line-height: 1.5;}.table { width: 100%; border-collapse: collapse; margin-bottom: var(--space-m); }.table th, .table td {padding: 10px 12px;border-bottom: 1px solid var(--border-subtle);text-align: left;font-size: var(--font-size-s);}.table th { color: var(--text-secondary); font-weight: 600; }.prose { max-width: 78ch; }.prose h2 { font-size: var(--font-size-h); font-weight: 700; margin-top: var(--space-x); }.prose h3 { font-size: var(--font-size-b); margin-top: var(--space-l); }.prose p, .prose li { color: var(--text-secondary); }.prose a { text-decoration: underline; }.prose strong { color: var(--text-primary); }.ad-slot { margin-block: var(--space-x); display: flex; justify-content: center; }.ad-slot:empty { display: none; }.site-footer { background: var(--footer-bg); color: var(--footer-text); margin-top: auto; }.footer-grid {display: grid;grid-template-columns: 2fr 1fr 1fr 1fr;gap: var(--space-x);padding-block: var(--space-x);}.site-footer h3 {color: var(--footer-heading);font-size: var(--font-size-s);text-transform: uppercase;letter-spacing: .08em;margin-bottom: 12px;}.site-footer nav a {display: block;color: var(--footer-text);padding-block: 4px;font-size: var(--font-size-s);}.site-footer nav a:hover { color: #fff; text-decoration: none; }.footer-brand .brand { color: #fff; margin-bottom: var(--space-s); }.footer-brand .brand:hover { color: #fff; }.footer-brand .brand-icon .bi-bg { fill: #fff; }.footer-brand .brand-icon .bi-line { stroke: var(--footer-bg); }.footer-brand p { font-size: var(--font-size-s); max-width: 34ch; margin: 0; }.footer-bottom {border-top: 1px solid var(--footer-border);padding-block: var(--space-l);display: flex;flex-wrap: wrap;gap: var(--space-m);justify-content: space-between;font-size: var(--font-size-s);}.footer-bottom p { margin: 0; }.cookie-banner {position: fixed;left: 50%;bottom: 16px;transform: translateX(-50%);z-index: 80;width: min(680px, calc(100vw - 24px));background: var(--bg-elevated);border: 1px solid var(--border-default);border-radius: var(--radius-l);box-shadow: var(--shadow-drop);padding: 16px 18px;display: flex;flex-wrap: wrap;align-items: center;gap: var(--space-m);}.cookie-banner[hidden] { display: none; }.cookie-banner p { margin: 0; font-size: var(--font-size-s); color: var(--text-secondary); flex: 1 1 320px; }.cookie-actions { display: flex; gap: var(--space-s); }@media (max-width: 960px) {.footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-l); }}@media (max-width: 920px) {.nav-toggle { display: inline-flex; }.main-nav {display: none;position: absolute;top: 100%;left: 0;right: 0;margin: 0;flex-direction: column;align-items: stretch;gap: 4px;background: var(--bg-elevated);border-bottom: 1px solid var(--border-default);box-shadow: var(--shadow-drop);padding: var(--space-m) var(--space-l) var(--space-l);}.main-nav.nav-open { display: flex; }.main-nav a { padding: 12px 14px; font-size: var(--font-size-m); }.header-actions { margin-left: auto; }.lang-menu .lang-list { right: auto; left: 0; }}@media (max-width: 560px) {.footer-grid { grid-template-columns: 1fr; gap: var(--space-l); }.brand-name { font-size: var(--font-size-b); }}@media print {.site-header, .site-footer, .cookie-banner, .ad-slot, .skip-link, .no-print { display: none !important; }body { background: #fff; }}@media (prefers-reduced-motion: reduce) {*, *::before, *::after {animation-duration: .01ms !important;transition-duration: .01ms !important;scroll-behavior: auto !important;}}