@font-face{font-family:"Libre Caslon Text";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/libre-caslon-400.ttf") format("truetype")}
@font-face{font-family:"Libre Caslon Text";font-style:normal;font-weight:700;font-display:swap;src:url("/assets/fonts/libre-caslon-700.ttf") format("truetype")}
:root{
  --paper:#f7f4ec;--card:#fffdf8;--ink:#183c34;--muted:#586a62;--rule:#dcded1;
  --accent:#245d4d;--accent-soft:#e5eee4;--brass:#89622e;--focus:#326d92;
  --rust:#9a5033;--header:rgba(255,253,248,.96);--input:#f4f5ed;
  --radius:16px;--shadow:0 8px 30px rgba(24,60,52,.065);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --paper:#142620;--card:#1b3028;--ink:#f1efe1;--muted:#bfcbbe;--rule:#3b5145;
  --accent:#a5d0b5;--accent-soft:#2b4636;--brass:#e3bf80;--focus:#91c6ed;
  --rust:#edb497;--header:rgba(27,48,40,.97);--input:#223a2f;
  --shadow:0 8px 30px rgba(0,0,0,.13);color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
h1,h2,h3,.brand,.result .big{font-family:"Libre Caslon Text",Georgia,"Times New Roman",serif;line-height:1.2;font-weight:700;letter-spacing:-.025em}
h1{font-size:clamp(2rem,4.6vw,3.1rem);margin:.5em 0 .35em;max-width:22ch;text-wrap:balance}
h2{font-size:1.65rem;margin:2em 0 .7em}
h3{font-size:1.18rem;margin:1.4em 0 .4em}
p{margin:.75em 0 1.2em}
a{color:var(--accent);text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:4px}
.wrap{max-width:1020px;margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:var(--card);padding:10px;z-index:20}
.site-head{border-top:4px solid var(--accent);border-bottom:1px solid var(--rule);background:var(--header)}
.site-head .wrap{max-width:1240px;display:flex;align-items:center;gap:20px;min-height:98px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;font-size:1.36rem;letter-spacing:-.03em}
.brand svg{width:46px;height:46px;flex:none;color:var(--brass)}
.brand .wordmark{display:flex;flex-direction:column;gap:7px}
.brand .brand-caption{font:600 10px/1.2 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.nav{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap;margin-left:auto;font-size:.88rem;font-weight:600}
.nav>a{color:var(--muted);text-decoration:none;padding:8px 0}
.nav>a:hover,.nav>a[aria-current]{color:var(--accent)}
.theme-btn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--rule);background:var(--card);border-radius:30px;min-height:42px;padding:8px 13px;cursor:pointer;font-size:.79rem;color:var(--ink)}
.theme-btn svg{width:16px;height:16px;flex:none}
.crumbs{font-size:.82rem;color:var(--muted);margin:30px 0 14px}
.crumbs a{color:var(--muted)}
.lede{font-size:1.06rem;color:var(--muted);max-width:46em;margin-bottom:26px}
main:not(.home)>.lede{font-size:1.13rem}
main:not(.home){padding-top:1px}
.kicker{display:flex;align-items:center;gap:10px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:700;margin:0 0 18px}
.kicker::before{content:"";width:25px;height:2px;background:var(--brass)}
.home{max-width:1240px}
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:60px;align-items:center;padding:64px 0 58px;border-bottom:1px solid var(--rule)}
.hero>*{min-width:0}
.hero h1{font-size:clamp(2.7rem,5vw,4.15rem);line-height:1.13;margin:0 0 24px;max-width:15ch;letter-spacing:-.045em}
.hero h1 em{font-style:normal;color:var(--rust)}
.hero .lede{font-size:1.04rem;max-width:41ch;line-height:1.85;margin:0 0 25px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-small{font-size:.79rem;color:var(--muted);margin:19px 0 0;display:flex;gap:10px;align-items:center}
.hero-small::before{content:"✓";color:var(--accent);font-weight:700}
.hero-coins{display:block;width:160px;height:66px;color:var(--brass);margin-top:29px}
.tool{position:relative;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--shadow);padding:30px;margin:26px 0;overflow:hidden}
.tool::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent)}
.tool h2{margin-top:0;font-size:1.55rem}
.hero .tool{margin:0;padding:28px;box-shadow:0 20px 55px rgba(24,60,52,.10)}
.tool-eyebrow{font-size:.66rem;letter-spacing:.17em;font-weight:700;color:var(--brass);margin:2px 0 14px;text-transform:uppercase}
.hero .tool h2{font-size:1.55rem;margin-bottom:21px}
.hero .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.field{display:flex;flex-direction:column;gap:7px;min-width:0}
.field>span{font-size:.73rem;color:var(--muted);font-weight:650;letter-spacing:.02em}
input,select,button{font:inherit;color:inherit}
input,select{width:100%;padding:11px 12px;border:1px solid var(--rule);border-radius:9px;background:var(--input);min-height:48px;font-size:1rem;transition:border-color .15s}
input:focus,select:focus{border-color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--card);padding:11px 18px;min-height:46px;font-weight:650;cursor:pointer;text-decoration:none;font-size:.87rem}
.btn:hover{filter:brightness(1.05);text-decoration:none}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--rule)}
.btn.ghost:hover{border-color:var(--accent);background:var(--accent-soft)}
.btn.small{min-height:38px;padding:7px 12px;font-size:.82rem}
.result{display:block;margin-top:22px;padding:22px;border-radius:12px;background:var(--accent-soft);border:1px solid var(--rule);min-height:94px}
.result .big{font-size:clamp(1.9rem,4.5vw,2.65rem);display:block;overflow-wrap:anywhere;color:var(--ink)}
.result .sub{color:var(--muted);font-size:.88rem;line-height:1.65;margin-top:9px;display:block}
.result .sub a{font-weight:650;display:inline-block;margin-top:4px}
.hint{font-size:.79rem;color:var(--muted);margin:12px 0 0}
.share-result{display:flex;align-items:center;gap:9px 14px;flex-wrap:wrap;margin-top:17px}
.share-result .hint{margin:0;flex:1;min-width:170px}
.share-fallback{flex-basis:100%;width:100%}
.share-fallback input{font-size:.82rem}
.rows{display:flex;flex-direction:column;gap:12px}
.row{display:grid;grid-template-columns:64px repeat(4,minmax(0,1fr)) 40px;gap:9px;align-items:end}
.row select.sign{padding:10px 6px;text-align:center}
.row .del{border:1px solid var(--rule);background:transparent;border-radius:8px;min-height:48px;cursor:pointer;color:var(--muted)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.opgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 120px 1fr;gap:10px;align-items:end}
.prose p,.prose li{max-width:46em}
.prose{color:var(--ink)}
.prose h2{padding-top:12px;border-top:1px solid var(--rule);margin-top:38px}
table{border-collapse:collapse;width:100%;margin:14px 0;font-size:.92rem;background:var(--card)}
th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--rule);vertical-align:top}
th{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:var(--accent-soft)}
tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--input)}
.table-scroll{overflow-x:auto;border:1px solid var(--rule);border-radius:10px;margin:18px 0}.table-scroll table{margin:0}
details{border:1px solid var(--rule);border-radius:10px;padding:14px 18px;margin:10px 0;background:var(--card)}
summary{cursor:pointer;font-size:.95rem;font-weight:600}
details[open]{border-color:var(--accent)}
details p{margin:.8em 0 0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}
.card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:17px;row-gap:7px;background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:25px;text-decoration:none;color:var(--ink);transition:transform .18s,border-color .18s,box-shadow .18s}
.card:hover{border-color:var(--brass);transform:translateY(-3px);box-shadow:var(--shadow);text-decoration:none}
.card .card-icon{grid-row:1/4;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid var(--rule);border-radius:50%;color:var(--brass);background:var(--paper)}
.card-icon svg{width:23px;height:23px}
.card strong{font-family:"Libre Caslon Text",Georgia,serif;font-size:1.1rem;line-height:1.4;display:block;color:var(--ink);grid-column:2;letter-spacing:-.015em}
.card>span:not(.card-icon){color:var(--muted);font-size:.87rem;line-height:1.65;grid-column:2}
.card .card-action{font-size:.74rem!important;color:var(--accent)!important;font-weight:700;margin-top:5px}
.section-head{margin:46px 0 20px;display:flex;gap:30px;justify-content:space-between;align-items:end}
.section-head h2{margin:8px 0 0;font-size:2rem}
.section-head .section-no{font-size:.67rem;letter-spacing:.13em;color:var(--brass);font-weight:700;text-transform:uppercase}
.section-head p{color:var(--muted);font-size:.88rem;max-width:39ch;margin:0}
.home>.cards{margin-top:0}
.note{border-left:3px solid var(--brass);border-radius:0 9px 9px 0;padding:16px 20px;background:var(--accent-soft);color:var(--muted);margin:24px 0;font-size:.95rem}
.audience{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;padding:38px;border:1px solid var(--rule);border-radius:16px;background:var(--accent-soft);margin-top:54px}
.audience h2{margin:0;font-size:2rem}.audience p{margin:0;color:var(--muted);font-size:.94rem}
.audience .kicker{margin-bottom:16px}
.ad{margin:26px 0;min-height:0}
.site-foot{margin-top:72px;border-top:1px solid var(--rule);background:var(--card);padding:44px 0 26px;font-size:.82rem;color:var(--muted)}
.site-foot .wrap{max-width:1240px}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;padding-bottom:30px}
.footer-brand{font-family:"Libre Caslon Text",Georgia,serif;font-size:1.22rem;line-height:1.4;color:var(--ink);font-weight:700;margin:0 0 12px}
.footer-about{max-width:27ch;font-size:.81rem;line-height:1.8}
.footer-top h2{font:700 .66rem/1.5 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--brass);margin:3px 0 16px}
.footer-top nav{display:flex;flex-direction:column;gap:9px}.site-foot a{color:var(--muted);text-decoration:none}.site-foot a:hover{color:var(--accent);text-decoration:underline}
.footer-bottom{border-top:1px solid var(--rule);padding-top:21px;display:flex;gap:20px;justify-content:space-between;align-items:start;font-size:.72rem}
.footer-bottom p{margin:0;max-width:73ch}.footer-bottom nav{display:flex;gap:15px;flex-wrap:wrap}
[hidden]{display:none!important}
.fields.datef{grid-template-columns:90px 1fr 120px}.fields.regf{grid-template-columns:1.4fr 110px 90px 1fr}
@media(max-width:1000px){.hero{gap:30px}.hero h1{font-size:3.3rem}.brand{font-size:1.15rem}.nav{gap:8px 16px}.hero .tool{padding:24px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding:43px 0;gap:32px;align-items:start}.hero h1{font-size:clamp(2.7rem,8vw,3.6rem);max-width:19ch}.hero .lede{max-width:52ch}.hero-coins{display:none}.hero .tool{max-width:100%}.hero .fields{grid-template-columns:repeat(4,minmax(0,1fr))}.footer-top{grid-template-columns:1fr 1fr}.audience{grid-template-columns:1fr;gap:20px;padding:28px}}
@media(max-width:640px){
 body{font-size:16px}.wrap{padding:0 20px}.site-head .wrap{gap:15px;min-height:0;padding-top:15px;padding-bottom:15px}.brand{font-size:1.2rem}.brand svg{width:38px;height:38px}.brand .brand-caption{font-size:9px}.nav{margin-left:0;width:100%;gap:6px 6px;justify-content:space-between;font-size:.74rem}.theme-btn{padding:7px 8px;min-height:36px;font-size:.7rem}
 .hero{padding:35px 0;gap:30px}.hero h1{font-size:clamp(2.2rem,10vw,2.8rem)}.hero .lede{font-size:.98rem}.hero-small{font-size:.72rem;gap:7px}.hero .tool{padding:22px}.hero .fields,.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.fields{gap:12px}.cards{grid-template-columns:1fr;gap:13px}.card{padding:21px;grid-template-columns:40px minmax(0,1fr);column-gap:14px}.card .card-icon{width:40px;height:40px}.section-head{display:block;margin-top:34px}.section-head h2{font-size:1.75rem}.section-head p{margin-top:10px;max-width:none}
 .row{grid-template-columns:56px repeat(2,minmax(0,1fr)) 40px;grid-template-areas:"sign l s del" "sign d f del";padding-bottom:12px;border-bottom:1px dashed var(--rule)}.row>.sign{grid-area:sign;align-self:stretch}.row>.fl{grid-area:l}.row>.fs{grid-area:s}.row>.fd{grid-area:d}.row>.ff{grid-area:f}.row>.del{grid-area:del;align-self:stretch}.opgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool{padding:22px}.tool h2{font-size:1.4rem}.result{padding:18px}.result .sub{font-size:.82rem}.share-result .btn{font-size:.78rem}.share-result .hint{min-width:145px}
 .fields.datef{grid-template-columns:72px 1fr 90px}.fields.regf{grid-template-columns:1fr 1fr}.fields.regf>.field:first-child{grid-column:1/-1}.crumbs{margin-top:23px}.footer-top{gap:28px 23px}.footer-intro{grid-column:1/-1}.footer-top>div:last-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom nav{margin-top:17px}.audience{padding:24px}.audience h2{font-size:1.8rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
@media(max-width:360px){.theme-btn [data-theme-label]{display:none}.theme-btn{width:36px;justify-content:center}}
