:root{--bg: #f3f5f7;--bg-accent: #e8eef4;--surface: #ffffff;--text: #15202b;--text-muted: #5b6b7c;--border: #d5dde6;--accent: #0b6e4f;--accent-soft: #d8f3e7;--mono: "IBM Plex Mono", ui-monospace, monospace;--sans: "DM Sans", "Segoe UI", sans-serif;--shadow: 0 1px 2px rgba(21, 32, 43, .04), 0 12px 32px rgba(21, 32, 43, .06);--radius: 14px;--max: 920px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--sans);color:var(--text);background:radial-gradient(1200px 500px at 10% -10%,#dfeaf5 0%,transparent 55%),radial-gradient(900px 420px at 100% 0%,#dff3ea 0%,transparent 50%),linear-gradient(180deg,#f7f9fb 0%,var(--bg) 40%,#eef2f6 100%);background-attachment:fixed;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}#root{min-height:100vh}.site-header{max-width:var(--max);margin:0 auto;padding:1.25rem 1.25rem .5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-weight:600;font-size:.95rem;letter-spacing:-.02em;color:var(--text);text-decoration:none}.brand:hover{text-decoration:none;color:var(--accent)}.brand-mark{display:inline-flex;width:28px;height:28px;flex:0 0 28px;overflow:hidden;line-height:0}.brand-mark svg{display:block;width:28px;height:28px;max-width:28px;max-height:28px}.brand-text{line-height:1.2}.site-nav{display:flex;flex-wrap:wrap;gap:.35rem .85rem}.nav-link{color:var(--text-muted);font-size:.92rem;font-weight:500;text-decoration:none;padding:.25rem 0}.nav-link:hover,.nav-link.is-active{color:var(--text);text-decoration:none}.nav-link.is-active{box-shadow:inset 0 -2px 0 var(--accent)}main{max-width:var(--max);margin:0 auto;padding:1rem 1.25rem 3rem}.hero{padding:2.5rem 0 2rem;animation:rise .55s ease both}.eyebrow{margin:0 0 .75rem;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.tool-page h1{margin:0 0 .65rem;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:600;letter-spacing:-.03em}.lead{margin:0 0 1.5rem;color:var(--text-muted);font-size:1.05rem;max-width:36rem}.ip-display{margin:0 0 1rem;font-family:var(--mono);font-size:clamp(2.2rem,7vw,3.8rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;word-break:break-all;color:var(--text);animation:fade .6s ease both}h1.ip-display{font-size:clamp(2.2rem,7vw,3.8rem);font-weight:600}.cta-row{display:flex;flex-wrap:wrap;gap:.65rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--sans);font-size:.92rem;font-weight:600;padding:.7rem 1rem;border-radius:999px;cursor:pointer;box-shadow:var(--shadow);transition:transform .15s ease,border-color .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);border-color:#b7c4d2}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:#095c42;border-color:#095c42}.btn-ghost{background:transparent;box-shadow:none}.meta-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin:1.75rem 0 0;padding:1rem 0 0;border-top:1px solid var(--border);animation:rise .6s ease .08s both}.meta-item{min-width:0}.meta-label{display:block;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.2rem}.meta-value{font-size:.95rem;font-weight:560;word-break:break-word}.faq{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border)}.faq h2{margin:0 0 1rem;font-size:1.2rem;letter-spacing:-.02em}.faq-item{border:1px solid var(--border);background:#ffffffb3;border-radius:12px;padding:.85rem 1rem;margin-bottom:.65rem}.faq-item summary{cursor:pointer;font-weight:600}.faq-item p{margin:.65rem 0 0;color:var(--text-muted)}.tool-page{padding-top:1.25rem;animation:rise .45s ease both}.breadcrumbs{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--text-muted);margin-bottom:1rem}.breadcrumbs a{color:var(--text-muted)}.tool-form{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.25rem 0 1.5rem;align-items:center}.tool-form input,.tool-form select{font-family:var(--mono);font-size:.95rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);min-width:min(100%,280px);flex:1}.tool-form select{flex:0 0 auto;min-width:120px}.results{border:1px solid var(--border);background:#ffffffd1;border-radius:var(--radius);padding:.35rem 1rem;box-shadow:var(--shadow)}.result-row{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid #edf1f5;font-size:.92rem}.result-row:last-child{border-bottom:none}.result-row dt{color:var(--text-muted);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.result-row dd{margin:0;text-align:right;font-weight:560;word-break:break-word}.error-box{margin-top:1rem;padding:.85rem 1rem;border-radius:12px;background:#fff1f0;border:1px solid #f0c2bd;color:#8a2f28}.api-docs pre{overflow:auto;background:#15202b;color:#e8eef4;padding:1rem 1.1rem;border-radius:12px;font-family:var(--mono);font-size:.82rem;line-height:1.55}.api-docs h2{margin:2rem 0 .65rem;font-size:1.1rem}.api-docs p{color:var(--text-muted)}.locale-switch{display:flex;gap:.35rem;flex-wrap:wrap}.locale-switch a{font-family:var(--mono);font-size:.72rem;color:var(--text-muted);padding:.2rem .4rem;border-radius:6px}.locale-switch a.is-active{background:var(--accent-soft);color:var(--accent);text-decoration:none}.site-footer{max-width:var(--max);margin:0 auto;padding:0 1.25rem 2.5rem;color:var(--text-muted);font-size:.82rem}.muted{color:var(--text-muted)}.hint{font-size:.85rem;color:var(--text-muted);margin-top:-.5rem;margin-bottom:1rem}.score-band{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-end;flex-wrap:wrap;margin:1.25rem 0 1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.score-value{font-family:var(--mono);font-size:clamp(2rem,5vw,3rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:.25rem 0 .5rem}.score-good{color:#0b6e4f}.score-mixed{color:#9a6b00}.score-weak{color:#a33b32}.score-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;font-family:var(--mono);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;padding:.15rem .45rem;border-radius:6px;border:1px solid var(--border);background:#ffffffb3}.status-pass{color:#0b6e4f;border-color:#b7e0cf;background:#e8f7f0}.status-warn{color:#9a6b00;border-color:#edd9a3;background:#fff8e8}.status-fail{color:#a33b32;border-color:#f0c2bd;background:#fff1f0}.inspect-group{margin:1.75rem 0}.inspect-group h2{margin:0 0 .65rem;font-size:1.05rem;letter-spacing:-.02em}.inspect-row dt{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;text-transform:none;letter-spacing:0;font-family:var(--sans);font-size:.9rem;color:var(--text)}.check-label{font-weight:600}.check-note{margin-top:.25rem;font-size:.8rem;color:var(--text-muted);font-weight:400}.inspect-privacy{margin-top:2rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.tool-form{flex-direction:column;align-items:stretch}.tool-form select,.tool-form input,.tool-form .btn{width:100%}}
