:root{--paper: #FBFAF7;--paper-soft: #F4F1EA;--ink: #1C1C1C;--ink-soft: #4A4642;--muted: #8A8378;--rule: #E2DDD2;--data: #2B6CB0;--data-tint: rgba(43, 108, 176, .16);--data-ink: #1F4E82;--flag: #C0392B;--radius: 2px;--font-display: "Newsreader Variable", Georgia, "Songti SC", serif;--font-body: "Geist Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{width:100%;max-width:1040px;margin:0 auto;padding:0 28px}.site-header{border-bottom:1px solid var(--rule)}.site-header .container{padding-top:18px;padding-bottom:18px;display:flex;align-items:baseline;justify-content:space-between}.brand{margin:0;font-family:var(--font-display);font-weight:500;font-size:18px;letter-spacing:-.01em;color:var(--ink)}.brand .dot{color:var(--data)}.tool{padding:44px 0 4px}.tool h1{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,4.5vw,46px);line-height:1.08;letter-spacing:-.018em;margin:0 0 12px;text-wrap:balance}.lede{font-family:var(--font-display);font-size:clamp(18px,2vw,21px);line-height:1.45;color:var(--ink-soft);margin:0 0 36px;max-width:56ch;font-weight:400;text-wrap:pretty}.tool-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.45fr);gap:36px;align-items:start}.input-col,.chart-col{min-width:0}.field-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.6;color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:var(--radius);padding:12px 14px;resize:vertical;min-height:168px;font-variant-numeric:tabular-nums}textarea:focus{outline:none;border-color:var(--data);box-shadow:0 0 0 1px var(--data)}.input-msg{min-height:20px;margin:10px 2px 0;font-size:13px;color:var(--ink-soft)}.input-msg[data-kind=error]{color:var(--flag)}.input-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.btn{font-family:var(--font-body);font-size:14px;font-weight:500;padding:9px 16px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-primary:hover{background:#000}.btn-secondary{background:var(--data);color:#fff;border-color:var(--data)}.btn-secondary:hover{background:var(--data-ink)}.btn-ghost{background:transparent;border-color:var(--rule);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.chart-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 20px;margin-bottom:16px}.control{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.control input,.control select{font-family:var(--font-body);font-size:14px;font-weight:400;text-transform:none;letter-spacing:0;padding:7px 10px;border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink);background:#fff}.control input:focus,.control select:focus{outline:none;border-color:var(--data);box-shadow:0 0 0 1px var(--data)}.chart-wrap{position:relative;background:#fff;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);padding:22px 8px;min-height:340px;height:400px}.empty-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:16px;padding:24px;font-family:var(--font-display);font-style:italic}.chart-actions{margin-top:14px;display:flex;justify-content:flex-end}.stats{margin-top:30px}.stats-title{font-family:var(--font-display);font-weight:400;font-style:italic;font-size:15px;color:var(--muted);margin:0 0 10px}.stats-table-wrap{overflow-x:auto;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}.stats-table{width:100%;border-collapse:collapse;font-size:15px;font-variant-numeric:tabular-nums}.stats-table th,.stats-table td{text-align:right;padding:10px 12px;border-bottom:1px solid var(--rule);white-space:nowrap}.stats-table tbody tr:last-child td{border-bottom:none}.stats-table th{font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding-top:12px;padding-bottom:8px}.stats-table th:first-child,.stats-table td:first-child{text-align:left}.stats-table tbody td{font-weight:500;color:var(--ink)}.stats-table tbody td:nth-child(4){color:var(--data);font-weight:600}.outliers-row{margin:14px 0 0;font-size:14px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.outliers-row span{color:var(--flag);font-weight:600}.content{padding:60px 0 0;max-width:68ch}.content h2{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.8vw,28px);line-height:1.2;letter-spacing:-.012em;margin:44px 0 14px;text-wrap:balance}.content p,.content li{color:var(--ink-soft);font-size:17px;line-height:1.7}.content p{text-wrap:pretty}.content ul,.content ol{padding-left:1.4em}.content li{margin:8px 0}.content strong{color:var(--ink);font-weight:600}.faq details{border-bottom:1px solid var(--rule);padding:0;margin:0}.faq details:first-child{border-top:1px solid var(--ink)}.faq summary{cursor:pointer;font-family:var(--font-display);font-weight:500;font-size:18px;line-height:1.3;padding:18px 0;color:var(--ink);list-style:none;display:flex;gap:14px;align-items:baseline}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+";color:var(--data);font-family:var(--font-body);font-weight:400;font-size:16px;flex-shrink:0}.faq details[open] summary:before{content:"−"}.faq details[open] summary{padding-bottom:6px}.faq details p{margin:0 0 18px}.site-footer{border-top:1px solid var(--ink);margin-top:80px;background:var(--paper)}.site-footer .container{padding-top:28px;padding-bottom:34px;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.site-footer p{margin:0;color:var(--muted);font-size:13px}.brand-foot{font-family:var(--font-display);font-weight:500;color:var(--ink)!important;font-size:15px!important}@media (max-width: 760px){.tool-grid{grid-template-columns:minmax(0,1fr);gap:26px}.chart-wrap{height:320px}.btn{padding:12px 16px}.input-actions .btn{flex:1 1 auto}.btn-primary{flex:1 1 100%;order:99}.site-header .container{padding-top:14px;padding-bottom:14px}.content{padding-top:44px}}@media (max-width: 460px){.chart-controls{grid-template-columns:minmax(0,1fr)}.container{padding:0 20px}body{font-size:16px}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./newsreader-vietnamese-wght-normal-Czsa-EzN.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./newsreader-latin-ext-wght-normal-C-3rgBeH.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./newsreader-latin-wght-normal-CCVVNp6i.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
