:root{--bg: #3b6db3;--bg-accent: #4f86d7;--surface: #ece9d8;--surface-soft: #f5f4ea;--surface-strong: #ddd8c4;--text: #0b1b3b;--muted: #243a66;--primary: #245edb;--primary-strong: #1249be;--success: #1f7a2f;--danger: #a11d1d;--border: #7f9db9;--ring: #2e6bd3;--shadow-soft: none}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Tahoma,Verdana,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#2b64c4,#4f8fe8 58%,#86bbff 76%,#63a245 76.2%,#6ea94b);background-attachment:fixed;background-repeat:no-repeat;background-size:cover;color:var(--text);line-height:1.6;position:relative}body:before{content:"";position:fixed;left:0;right:0;bottom:0;height:28vh;min-height:180px;background:radial-gradient(120% 90% at 18% 100%,#78b85a 0%,#78b85a 35%,transparent 36%),radial-gradient(120% 95% at 82% 100%,#6aaa4c 0%,#6aaa4c 38%,transparent 39%),radial-gradient(90% 85% at 52% 100%,#84c466 0%,#84c466 30%,transparent 31%),linear-gradient(180deg,#70b04ef2,#62a042fa);z-index:-1;pointer-events:none}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1020px,calc(100% - 2rem));margin-inline:auto}.site-header{background:linear-gradient(180deg,#2d6adf,#1f56bf,#194aa9);border-top:1px solid #9cc2ff;border-left:1px solid #9cc2ff;border-right:1px solid #0b3f94;border-bottom:1px solid #0b3f94;position:sticky;top:0;z-index:40;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.header-row{min-height:72px;display:flex;align-items:center;justify-content:flex-start;gap:1rem;position:relative}.brand{font-size:1.1rem;font-weight:800;color:#fff;letter-spacing:0;text-transform:uppercase;text-shadow:1px 1px 0 #103a84;display:inline-flex;align-items:center;gap:.5rem}.logo-mark{display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;border-top:1px solid #ffffff;border-left:1px solid #ffffff;border-right:1px solid #0f448f;border-bottom:1px solid #0f448f;border-radius:.25rem;background:linear-gradient(180deg,#63a0ff,#2c6ad6 55%,#1f57bf);color:#fff;font-size:.69rem;font-weight:800;letter-spacing:.03em;text-shadow:1px 1px 0 #113a84}.logo-text{white-space:nowrap}.nav-toggle{border-top:1px solid #f9fcff;border-left:1px solid #f9fcff;border-right:1px solid #5d7da5;border-bottom:1px solid #5d7da5;background:linear-gradient(180deg,#fffde7,#e7dfc7);border-radius:.3rem;padding:.45rem .78rem;color:var(--text);font-weight:600}.main-nav{display:none;flex-direction:column;gap:.4rem;padding:.7rem;margin:0;background:#ece9d8;border:1px solid #7f9db9;border-radius:.35rem;position:absolute;left:0;right:0;top:calc(100% - .2rem);z-index:50}.main-nav.open{display:flex}.main-nav a{color:var(--muted);padding:.58rem .72rem;border-radius:.2rem;font-weight:500;border-top:1px solid #ffffff;border-left:1px solid #ffffff;border-right:1px solid #98acc8;border-bottom:1px solid #98acc8;background:linear-gradient(180deg,#f9f8ef,#e6e2d0)}.main-nav a:hover{text-decoration:none;background:linear-gradient(180deg,#fff,#ece9da);color:#0f2d66}.main-nav a.active{color:#fff;background:linear-gradient(180deg,#3d7cf0,#1b59c6);font-weight:700;box-shadow:none;border-top:1px solid #92b7ff;border-left:1px solid #92b7ff;border-right:1px solid #0f448f;border-bottom:1px solid #0f448f}main.container{padding:1.9rem 0 .4rem}.hero{padding:clamp(1.35rem,2.4vw,1.9rem);border:1px solid #7f9db9}.hero h1{margin:.2rem 0 .65rem;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.2;letter-spacing:-.02em}h2{margin:0 0 .6rem;font-size:clamp(1.25rem,2.2vw,1.7rem);line-height:1.3}h3{margin:0 0 .45rem;font-size:clamp(1.05rem,1.6vw,1.22rem);line-height:1.35}p.lead{margin:0;color:var(--muted);max-width:72ch;font-size:1.05rem}.grid{display:grid;gap:1.15rem}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.card{position:relative;overflow:hidden;background:linear-gradient(180deg,#f5f2e6,#ece9d8);border-top:1px solid #ffffff;border-left:1px solid #ffffff;border-right:1px solid #9c9c9c;border-bottom:1px solid #9c9c9c;border-radius:.3rem;padding:1.28rem 1.2rem 1.2rem;box-shadow:var(--shadow-soft)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#8ab4ff,#3d76df 45%,#1f57bf)}.card h2,.card h3{margin-top:0}.tool-layout{display:grid;gap:1.15rem;grid-template-columns:1fr;padding-bottom:1.7rem}.tool-layout>article.card{background:linear-gradient(180deg,#f7f4ea,#ece9d8);border-top:1px solid #ffffff;border-left:1px solid #ffffff;border-right:1px solid #8f8f8f;border-bottom:1px solid #8f8f8f}.tool-layout>article.card>h2:first-of-type{margin:-1.28rem -1.2rem 1rem;padding:.52rem .85rem;font-size:1rem;color:#fff;background:linear-gradient(180deg,#2f73e3,#1f58be);border-bottom:1px solid #124494;text-shadow:1px 1px 0 #15458f}.section-stack{display:grid;gap:1.8rem;padding-bottom:2.5rem}.split{display:grid;gap:1.15rem;grid-template-columns:1fr}.stat-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.stat-card{border:1px solid #9bb2ce;border-radius:.3rem;background:linear-gradient(180deg,#f8f7ef,#eeebde);padding:.9rem}.stat-card strong{display:block;font-size:1.25rem;margin-bottom:.1rem}.eyebrow{display:inline-block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#1b2f5e;font-weight:700;margin-bottom:.35rem}.content-prose{color:var(--muted)}.content-prose p,.content-prose li{max-width:75ch}.content-prose ul,.content-prose ol{margin:.35rem 0 .4rem 1.2rem;padding:0}.content-prose li+li{margin-top:.35rem}.pill-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.pill-list span{border:1px solid #9bb2ce;background:#f4f7ff;border-radius:999px;padding:.25rem .68rem;font-size:.85rem;color:var(--muted)}.cta-strip{border:1px solid #7f9db9;background:linear-gradient(180deg,#f9fcff,#eaf2ff 52%,#e2ebfd);border-radius:.35rem;padding:1.2rem}label{display:block;font-weight:600;margin-bottom:.35rem}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;border-top:1px solid #7f9db9;border-left:1px solid #7f9db9;border-right:1px solid #d5e2f2;border-bottom:1px solid #d5e2f2;background:#fff;color:var(--text);border-radius:.2rem;padding:.68rem .76rem}input::placeholder{color:#6a7a97}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.helper{margin-top:.35rem;color:var(--muted);font-size:.91rem}.row{display:grid;gap:.8rem;grid-template-columns:1fr}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}.tool-layout .actions{gap:.45rem;align-items:center}button{border-top:1px solid #ffffff;border-left:1px solid #ffffff;border-right:1px solid #7f9db9;border-bottom:1px solid #7f9db9;background:linear-gradient(180deg,#fffef8,#f5f1df 45%,#e4dbc2);color:var(--text);border-radius:.25rem;padding:.62rem 1rem;cursor:pointer;font-weight:600;box-shadow:inset 0 1px #fff}.tool-layout .actions button{min-width:92px;padding:.48rem .78rem;font-size:.93rem}.tool-layout .actions button.primary{min-width:132px;letter-spacing:.01em}.tool-layout .actions button:not(.primary){min-width:98px}button.primary{background:linear-gradient(180deg,#4f8ff8,#2f70dc 45%,#1b58bf);color:#fff;border-top:1px solid #82adff;border-left:1px solid #82adff;border-right:1px solid #124494;border-bottom:1px solid #124494;box-shadow:inset 0 1px #a3c3ff}button:hover{background:linear-gradient(180deg,#fff,#f7f3e4 45%,#e8dfc8)}button.primary:hover{background:linear-gradient(180deg,#609bf8,#3a79e0 45%,#205ec7)}button:active{border-top:1px solid #7f9db9;border-left:1px solid #7f9db9;border-right:1px solid #ffffff;border-bottom:1px solid #ffffff;background:linear-gradient(180deg,#ddd4bd,#f5f2e5);transform:translateY(1px)}button.primary:active{border-top:1px solid #154896;border-left:1px solid #154896;border-right:1px solid #95b9ff;border-bottom:1px solid #95b9ff;background:linear-gradient(180deg,#1f5dc1,#4b89ee)}button:disabled{opacity:.6;cursor:not-allowed}.tool-layout .actions button:active{transform:translate(1px,1px)}.result{background:linear-gradient(180deg,#faf8ef,#f1eddf);border:1px solid #9bb2ce;border-radius:.25rem;padding:.95rem;min-height:68px}.tool-layout .result{background:linear-gradient(180deg,#f3f8ef,#e5eed8);border-top:1px solid #7f9db9;border-left:1px solid #7f9db9;border-right:1px solid #edf5e2;border-bottom:1px solid #edf5e2}.tool-layout .result strong{font-family:Digital-7,DS-Digital,Lucida Console,Courier New,Courier,monospace;font-size:1.35rem;letter-spacing:.07em;font-weight:700;color:#102848;text-shadow:0 0 1px #9dc2a0;font-variant-numeric:tabular-nums}.tool-layout .result .mono,.tool-layout .result span,.tool-layout #complex-meta,.tool-layout #bit-meta{font-family:Lucida Console,Courier New,Courier,monospace;font-variant-numeric:tabular-nums}.result strong,code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.error{color:var(--danger);margin-top:.45rem;font-size:.95rem}.success{color:var(--success);margin-top:.45rem;font-size:.95rem}.faq details{border-top:1px solid #b5c7de;padding:.7rem 0}.faq summary{cursor:pointer;font-weight:650}.site-footer{border-top:1px solid #0b3f94;background:linear-gradient(180deg,#2d6adf,#1f56bf);margin-top:2.25rem}.site-footer .container{padding:1rem 0;color:#eaf1ff;font-size:.94rem}.badge{display:inline-flex;align-items:center;border:1px solid #9bb2ce;background:#edf4ff;color:#21488f;font-size:.78rem;border-radius:999px;padding:.22rem .62rem;font-weight:700}.list-links{margin:.35rem 0 0;padding-left:1rem}.list-links li{margin:.3rem 0}@media(min-width:860px){.nav-toggle{display:none}.header-row{justify-content:flex-start;gap:1.3rem}.main-nav{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;gap:.35rem;padding:.2rem .35rem;border:1px solid #7f9db9;background:#ece9d8;border-radius:.3rem;justify-content:flex-end;position:static;margin:0 0 0 auto}.main-nav a{padding:.48rem .66rem}.tool-layout{grid-template-columns:1.2fr .8fr}.split{grid-template-columns:1fr 1fr}.row.two{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.container{width:min(1020px,calc(100% - 1.1rem))}.header-row{min-height:64px}.main-nav a{font-size:.96rem}.actions button{flex:1 1 100%}.tool-layout .actions button,.tool-layout .actions button.primary,.tool-layout .actions button:not(.primary){min-width:0}}
