@font-face{font-family:"Fraunces";src:url("/fonts/fraunces-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Fraunces";src:url("/fonts/fraunces-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--bg:#f7f9f9;--surface:#fff;--ink:#1c2b2b;--ink-soft:#3d4f4f;--ink-faint:#5c6f6f;--accent:#0e5a5a;--accent-dark:#0a4444;--accent-soft:#a8752c;--accent-soft-text:#7a5620;--border:#dde3e1;--border-strong:#c3ccc9;--focus:#1c2b2b;--success-bg:#eef4ee;--success-border:#a9c9ab;--error:#8b2635;--error-bg:#fbeeee;--radius:10px;--radius-sm:6px;--font-display:"Fraunces",ui-serif,Georgia,"Times New Roman",serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;--container:760px}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;display:block}a{color:var(--accent)}a:hover{color:var(--accent-dark)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2;margin:0 0 .5em;color:var(--ink)}p{margin:0 0 1em;color:var(--ink-soft)}ul,ol{color:var(--ink-soft)}button{font-family:inherit}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}}.skip-link{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.75em 1.25em;z-index:1000;border-radius:0 0 var(--radius-sm) 0;text-decoration:none}.skip-link:focus{left:0}.wrap{max-width:var(--container);margin:0 auto;padding:0 20px}.section{padding:48px 0;border-top:1px solid var(--border)}.section:first-of-type{border-top:0}.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-soft-text);font-weight:600;margin-bottom:.6em;display:block}.site-header{border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:100}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:900px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.logo:hover{color:var(--ink)}.logo-mark{width:34px;height:34px;flex-shrink:0}.logo-text{font-family:var(--font-display);font-weight:600;font-size:1.15rem;letter-spacing:-.01em}.logo-text .dot{color:var(--accent)}.menu-toggle{background:0;border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:42px;height:42px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}.menu-toggle:hover{border-color:var(--ink)}.menu-toggle svg{width:20px;height:20px}.site-nav{position:fixed;inset:68px 0 0 0;background:var(--surface);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;border-top:1px solid var(--border);overflow-y:auto}.site-nav[data-open="true"]{opacity:1;transform:translateY(0);visibility:visible}.site-nav ul{list-style:none;margin:0;padding:24px 20px;max-width:900px;margin:0 auto}.site-nav li{border-bottom:1px solid var(--border)}.site-nav a{display:block;padding:16px 4px;color:var(--ink);text-decoration:none;font-size:1.05rem}.site-nav a:hover{color:var(--accent)}.hero{padding:44px 0 40px}.hero h1{font-size:clamp(1.9rem,5vw,2.6rem);margin-bottom:.35em}.hero .lede{font-size:1.08rem;max-width:56ch}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:0 1px 2px rgba(28,43,43,0.04)}.tool-form{display:flex;gap:10px;flex-wrap:wrap}.field{flex:1 1 260px}.field label{display:block;font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:6px}.field input{width:100%;height:50px;padding:0 14px;font-size:1.1rem;font-family:var(--font-mono);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg);color:var(--ink);box-sizing:border-box}.field input:focus{outline:0;border-color:var(--ink);background:var(--surface)}.hint{display:block;font-size:.8rem;color:var(--ink-faint);margin-top:8px}.btn-primary{background:var(--accent);color:#fff;border:0;border-radius:var(--radius-sm);padding:0 26px;font-size:1.05rem;font-weight:600;cursor:pointer;height:50px;align-self:flex-end;transition:background .15s ease}.btn-primary:hover{background:var(--accent-dark)}#error-message{color:var(--error);background:var(--error-bg);border:1px solid var(--error);border-radius:var(--radius-sm);padding:10px 14px;margin-top:16px;font-size:.92rem}.results{margin-top:24px;display:grid;gap:14px}.result-row{border:1px dashed var(--accent-soft);border-radius:var(--radius-sm);padding:16px 18px;background:repeating-linear-gradient(135deg,rgba(168,117,44,0.04),rgba(168,117,44,0.04) 6px,transparent 6px,transparent 12px);display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.result-row .result-body{flex:1;min-width:0}.result-row .result-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-soft-text);font-weight:700;display:block;margin-bottom:6px}.result-row .result-value{font-family:var(--font-mono);font-size:1.05rem;color:var(--ink);word-break:break-word}.copy-btn{flex-shrink:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-soft);position:relative}.copy-btn:hover{border-color:var(--ink);color:var(--ink)}.copy-btn svg{width:18px;height:18px}.copy-btn[data-copied="true"]{color:#2f6e3f;border-color:#2f6e3f}.copy-tooltip{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--ink);color:#fff;font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.copy-tooltip::after{content:"";position:absolute;top:100%;right:12px;border:5px solid transparent;border-top-color:var(--ink)}.copy-btn[data-copied="true"] .copy-tooltip{opacity:1;transform:translateY(0)}.rules-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.95rem}.rules-table caption{text-align:left;font-weight:600;color:var(--ink);margin-bottom:8px}.rules-table th,.rules-table td{border:1px solid var(--border);padding:10px 12px;text-align:left;color:var(--ink-soft)}.rules-table th{background:var(--bg);color:var(--ink);font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}.rules-table td code,.rules-table td .num{font-family:var(--font-mono);color:var(--ink)}.faq-item{border-bottom:1px solid var(--border);padding:4px 0}.faq-item summary{cursor:pointer;padding:14px 4px;font-weight:600;color:var(--ink);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";font-family:var(--font-mono);font-size:1.3rem;color:var(--accent-soft-text);flex-shrink:0}.faq-item[open] summary::after{content:"–"}.faq-item p{padding:0 4px 16px}.site-footer{border-top:1px solid var(--border);padding:36px 0 28px;margin-top:24px;text-align:center}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;list-style:none;padding:0;margin:0 0 18px;font-size:.9rem}.footer-nav a{color:var(--ink-soft);text-decoration:none}.footer-nav a:hover{color:var(--accent);text-decoration:underline}.site-footer .copyright{font-size:.85rem;color:var(--ink-faint);margin:0}.legal-content h2{margin-top:1.6em;font-size:1.25rem}.legal-content{max-width:68ch}.legal-content ul{padding-left:1.2em}.updated-note{font-size:.85rem;color:var(--ink-faint);margin-bottom:2em}@media(min-width:700px){.site-nav{position:static;inset:auto;opacity:1;visibility:visible;transform:none;border-top:0;display:none}.site-nav[data-open="true"]{display:block;position:absolute;inset:68px 0 auto 0;box-shadow:0 8px 20px rgba(28,43,43,0.08)}.site-nav ul{padding:8px 20px;max-width:900px}}@media(max-width:480px){.tool-form{flex-direction:column}.field{flex:1 1 auto;width:100%}.btn-primary{width:100%;align-self:stretch}}