:root{--bg: #ffffff;--bg-alt: #f3f6fa;--bg-panel: #0d3b66;--fg: #16232f;--fg-panel: #f2f7fc;--muted: #4d6075;--accent: #0b5cad;--accent-strong: #0d3b66;--accent-contrast: #ffffff;--border: #d8e1ea;--ok: #1a7f4e;--warn: #8a5a00;--error: #b3261e;--code-bg: #eef2f7;--shadow: 0 1px 2px rgb(13 41 66 / .08), 0 4px 16px rgb(13 41 66 / .06)}@media(prefers-color-scheme:dark){:root{--bg: #0e1621;--bg-alt: #141f2d;--bg-panel: #10273f;--fg: #e6edf4;--fg-panel: #e6edf4;--muted: #a3b4c6;--accent: #7cbcf5;--accent-strong: #a5d1f8;--accent-contrast: #08243d;--border: #27384c;--ok: #58c48c;--warn: #e2b45a;--error: #f2867e;--code-bg: #1a2736;--shadow: none}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.0625rem;line-height:1.65;color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased}code,pre,kbd,.mono{font-family:ui-monospace,Cascadia Code,Consolas,Courier New,monospace;font-size:.92em}pre{background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:.9rem 1.1rem;overflow-x:auto;line-height:1.5}code{background:var(--code-bg);border-radius:4px;padding:.1em .35em}pre code{background:none;padding:0}h1,h2,h3,h4{line-height:1.25;margin:0 0 .6em}h1{font-size:clamp(1.9rem,4.2vw,2.8rem);letter-spacing:-.02em}h2{font-size:clamp(1.4rem,2.6vw,1.8rem);margin-top:2.2em}h3{font-size:1.15rem;margin-top:1.6em}p,ul,ol{margin:0 0 1em}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-strong)}img{max-width:100%;height:auto}hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0}table{border-collapse:collapse;width:100%;margin:0 0 1.2rem}th,td{text-align:left;padding:.55rem .8rem;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.86rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.table-wrap{overflow-x:auto}blockquote{margin:1.4rem 0;padding:.2rem 0 .2rem 1.1rem;border-left:3px solid var(--accent);color:var(--muted)}blockquote p:last-child{margin-bottom:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent-strong);color:var(--accent-contrast);padding:.6rem 1rem;border-radius:0 0 8px}.skip-link:focus{left:0}.container{max-width:1060px;margin:0 auto;padding:0 1.25rem}.narrow{max-width:780px}main{min-height:60vh}.page{padding:2.5rem 0 3.5rem}.lead{font-size:1.2rem;color:var(--muted);max-width:60ch}.page-head{margin-bottom:2rem}.section{margin-top:2.5rem}.muted{color:var(--muted)}.small{font-size:.9rem}.site-header{border-bottom:1px solid var(--border);background:var(--bg)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-top:.9rem;padding-bottom:.9rem}.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--fg)}.brand svg{flex:none}.site-nav{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem}.site-nav a{text-decoration:none;color:var(--fg);font-weight:500;padding:.25rem 0}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.site-footer{border-top:1px solid var(--border);background:var(--bg-alt);margin-top:4rem;padding:2.5rem 0 2rem;font-size:.95rem}.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:2rem}.site-footer h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0 0 .7em}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:.45em}.site-footer a{color:var(--fg);text-decoration:none}.site-footer a:hover{color:var(--accent);text-decoration:underline}.footer-legal{color:var(--muted);font-size:.85rem;border-top:1px solid var(--border);padding-top:1.2rem}.hero{padding:4.5rem 0 3.5rem}.hero h1{max-width:21ch}.hero .lead{margin-top:1rem}.hero-actions{margin-top:1.8rem;display:flex;gap:.8rem;flex-wrap:wrap}.hero-stack{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-block;padding:.25rem .75rem;border-radius:99px;border:1px solid var(--border);background:var(--bg-alt);font-size:.88rem;color:var(--fg);text-decoration:none}.chip:hover{border-color:var(--accent);color:var(--accent)}.btn{display:inline-block;padding:.65rem 1.3rem;border-radius:8px;background:var(--accent-strong);color:var(--accent-contrast);font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;font-size:1rem}.btn:hover{filter:brightness(1.12);color:var(--accent-contrast)}.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);filter:none}.cards{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:1.5rem 0}.card{border:1px solid var(--border);border-radius:12px;padding:1.3rem 1.4rem;background:var(--bg);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.4rem}.card h3{margin:0;font-size:1.08rem}.card p{margin:0;color:var(--muted);font-size:.97rem}.card a{text-decoration:none}.card a:hover{text-decoration:underline}.card .card-link:after{content:" →"}.breadcrumbs{font-size:.88rem;color:var(--muted);margin-bottom:1.4rem}.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.breadcrumbs li+li:before{content:"/";margin-right:.35rem;color:var(--border)}.breadcrumbs a{color:var(--muted)}.faq details{border:1px solid var(--border);border-radius:10px;padding:.15rem 1.1rem;margin-bottom:.7rem;background:var(--bg)}.faq summary{cursor:pointer;font-weight:600;padding:.75rem 0;list-style-position:outside}.faq details[open] summary{border-bottom:1px solid var(--border);margin-bottom:.6rem}.faq details>div{padding-bottom:.8rem}.faq details>div p:last-child{margin-bottom:0}.cta-panel{margin-top:3rem;border-radius:14px;background:var(--bg-panel);color:var(--fg-panel);padding:2.2rem 2.4rem;border:1px solid var(--border)}.cta-panel h2{margin-top:0;color:inherit}.cta-panel p{max-width:70ch}.cta-panel .btn{background:#fff;color:#0d3b66}@media(prefers-color-scheme:dark){.cta-panel .btn{background:var(--accent);color:var(--accent-contrast)}}.cta-panel .btn-ghost{background:transparent;color:var(--fg-panel);border-color:#ffffff59}.cta-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:0}.steps{list-style:none;counter-reset:step;margin:1.5rem 0;padding:0}.steps>li{counter-increment:step;position:relative;padding:0 0 1.4rem 3.2rem}.steps>li:before{content:counter(step);position:absolute;left:0;top:.05rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--accent-strong);color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}.steps>li:not(:last-child):after{content:"";position:absolute;left:1.02rem;top:2.4rem;bottom:.2rem;width:2px;background:var(--border)}.steps h3{margin:0 0 .3em}.steps p{margin-bottom:0;color:var(--muted)}.article-list{list-style:none;margin:0;padding:0}.article-list li{border-bottom:1px solid var(--border);padding:1.4rem 0}.article-list h2{margin:.2em 0 .35em;font-size:1.3rem}.article-list a{text-decoration:none}.article-list a:hover{text-decoration:underline}.article-meta{font-size:.88rem;color:var(--muted)}.prose{max-width:74ch}.prose h2{margin-top:1.8em}.prose li{margin-bottom:.4em}.article-footer{margin-top:3rem;border-top:1px solid var(--border);padding-top:1.5rem}.dropzone{display:block;border:2px dashed var(--accent);border-radius:14px;background:var(--bg-alt);padding:3rem 1.5rem;text-align:center;cursor:pointer;transition:background .15s,border-color .15s;margin:1.5rem 0}.dropzone:hover,.dropzone:focus-visible,.dropzone.dragover{background:var(--code-bg);border-color:var(--accent-strong);outline:none}.dropzone strong{display:block;font-size:1.15rem;margin-bottom:.3rem}.dropzone .small{margin:.4rem 0 0}.result-card{border:1px solid var(--border);border-radius:12px;margin:1.2rem 0;background:var(--bg);box-shadow:var(--shadow);overflow:hidden}.result-card>header{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;padding:1rem 1.3rem;background:var(--bg-alt);border-bottom:1px solid var(--border)}.result-card>header h3{margin:0;font-size:1.05rem}.result-card .result-body{padding:1.1rem 1.3rem}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem 1.4rem;margin-bottom:1.1rem}.kv div{border-left:3px solid var(--border);padding-left:.7rem}.kv dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.kv dd{margin:.1rem 0 0;font-weight:600;overflow-wrap:anywhere}.warnings{list-style:none;margin:0 0 1rem;padding:0}.warnings li{border-radius:8px;padding:.55rem .9rem;margin-bottom:.5rem;border:1px solid var(--border);font-size:.95rem}.warnings .w-error{border-left:4px solid var(--error)}.warnings .w-warn{border-left:4px solid var(--warn)}.warnings .w-info{border-left:4px solid var(--accent)}.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.1rem .5rem;border-radius:5px;text-transform:uppercase;letter-spacing:.04em;margin-right:.4rem}.badge-error{background:var(--error);color:#fff}.badge-warn{background:var(--warn);color:#fff}.badge-info{background:var(--accent);color:var(--accent-contrast)}@media(prefers-color-scheme:dark){.badge-error,.badge-warn{color:#10161d}}.analyzer-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.6rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.form-grid{display:grid;gap:1rem;max-width:640px}.form-grid label{font-weight:600;display:block;margin-bottom:.3rem}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:.6rem .8rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font:inherit}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.notice{border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;padding:.9rem 1.1rem;background:var(--bg-alt)}.center{text-align:center}.error-page{padding:6rem 0;text-align:center}.error-page h1{font-size:3rem}
