:root{--accent:oklch(0.55 0.15 250);--accent-strong:oklch(0.45 0.17 250);--accent-soft:oklch(0.96 0.02 250);--accent-border:oklch(0.88 0.05 250);--ink:#1a2330;--ink-soft:#4a5568;--paper:#ffffff;--rule:#e5e9f0;--max:44rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:1.0625rem}a{color:var(--accent-strong);text-underline-offset:2px}a:hover{color:var(--accent)}h1,h2,h3{line-height:1.25;text-wrap:balance}h1{font-size:2rem;margin:0 0 .5rem}h2{font-size:1.4rem;margin:2.2rem 0 .6rem}h3{font-size:1.15rem;margin:1.6rem 0 .4rem}.site-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;max-width:var(--max);margin:0 auto;padding:1rem}.site-brand{font-weight:700;font-size:1.1rem;text-decoration:none;color:var(--ink)}.site-brand:before{content:"";display:inline-block;width:.65em;height:.65em;margin-right:.5em;background:var(--accent);border-radius:2px}.site-header nav a{margin-left:1rem;color:var(--ink-soft);text-decoration:none}.site-header nav a:hover{color:var(--accent-strong)}.site-footer{max-width:var(--max);margin:3rem auto 0;padding:1.5rem 1rem 2.5rem;border-top:1px solid var(--rule);color:var(--ink-soft);font-size:.9rem}.site-footer nav{display:flex;gap:1.25rem;flex-wrap:wrap}.site-footer a{color:var(--ink-soft)}main{max-width:var(--max);margin:0 auto;padding:.5rem 1rem 2rem}.article-meta{color:var(--ink-soft);font-size:.9rem;margin-bottom:1.5rem}.prose li,.prose p{max-width:65ch}.prose h2{border-bottom:1px solid var(--rule);padding-bottom:.3rem}.cmp-table{margin:1.5rem 0}.cmp-scroll{overflow-x:auto}.cmp-table table{border-collapse:collapse;width:100%;font-size:.95rem}.cmp-table caption{caption-side:top;text-align:left;font-weight:600;padding-bottom:.5rem}.cmp-table td,.cmp-table th{border:1px solid var(--accent-border);padding:.5rem .7rem;text-align:left;vertical-align:top}.cmp-table thead th{background:var(--accent-soft)}.cmp-table tbody th{font-weight:600;background:color-mix(in oklab,var(--accent-soft) 40%,white)}.cmp-table figcaption{font-size:.85rem;color:var(--ink-soft);margin-top:.4rem}.faq details{border:1px solid var(--rule);border-radius:8px;padding:.7rem 1rem;margin:.6rem 0}.faq summary{cursor:pointer;font-weight:600}.faq details[open] summary{color:var(--accent-strong)}.faq p{margin:.6rem 0 .2rem}.cta{border:1px solid var(--accent-border);background:var(--accent-soft);border-radius:10px;padding:1.2rem 1.4rem;margin:2rem 0}.cta h2{margin-top:.2rem}.cta-disclosure{font-size:.8rem;color:var(--ink-soft);margin:0 0 .4rem}.cta-button{display:inline-block;background:var(--accent-strong);color:#fff!important;padding:.6rem 1.1rem;border-radius:8px;text-decoration:none;font-weight:600}.cta-button:hover{background:var(--accent)}.hero{padding:1.5rem 0 .5rem}.hero p{color:var(--ink-soft);font-size:1.1rem;max-width:60ch}.page-list{list-style:none;padding:0;margin:1.5rem 0}.page-list li{border-bottom:1px solid var(--rule);padding:1rem 0}.page-list a{font-weight:600;font-size:1.1rem;text-decoration:none}.page-list a:hover{text-decoration:underline}.page-list p{margin:.3rem 0 0;color:var(--ink-soft);font-size:.95rem}.related{margin:2rem 0}.related ul{padding-left:1.2rem}.calc{border:1px solid var(--accent-border);border-radius:10px;padding:1.2rem 1.4rem;margin:1.5rem 0;background:#fff}.calc h2{margin-top:.2rem}.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));grid-gap:.8rem;gap:.8rem}.calc label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600}.calc input,.calc select{font:inherit;padding:.45rem .6rem;border:1px solid var(--rule);border-radius:6px;width:100%}.calc input:focus,.calc select:focus{outline:2px solid var(--accent);outline-offset:1px}.calc-inline{display:flex;gap:.4rem}.calc-inline select{width:auto}.calc-result{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--accent-border)}.calc-result strong{color:var(--accent-strong);font-size:1.15em}.calc-note{font-size:.85rem;color:var(--ink-soft)}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem;margin:.5rem 0 1.5rem}.admin-table td,.admin-table th{border:1px solid var(--rule);padding:.4rem .6rem;text-align:left}.admin-table thead th{background:#f5f7fa}.admin-table form{display:inline}.admin-table button,main form button{font:inherit;font-size:.85rem;padding:.25rem .6rem;cursor:pointer;border:1px solid var(--rule);border-radius:6px;background:#fff}.admin-table button:hover,main form button:hover{border-color:var(--ink-soft)}