:root{--ink:#ECE9F7;--text:#D9D5EE;--muted:#A9A6C4;--line:#2A2E55;--line2:#3A3F70;--paper:#0E1024;--soft:#171A36;--survey:#B3A3F2;--contour:#2F3463;--accent:#E8C07A;--accent-dk:#F3D9A6;--accent2:#E8C07A;--on-accent:#0E1024;--tag:#2A2456;--tag-ink:#E8C07A;--sky:radial-gradient(ellipse at 50% -10%,#1B1F45 0%,#0E1024 55%);--glow:rgba(232,192,122,.35);--err:#F2A7A7;--btn:#E8C07A;--btn-hover:#F3D9A6;--btn-ink:#0E1024;--btn2:#B3A3F2;--btn2-ink:#0E1024;--chart-glow:#22264D;--strip-dim:.42;--num-filter:brightness(1.7) saturate(.9);--big-filter:brightness(1.5);--n1:#A8432F;--n2:#A85F26;--n3:#837226;--n4:#5C7A3A;--n5:#2F7470;--n6:#35628F;--n7:#5A4E8C;--n8:#8A4A6B;--n9:#9E3D50;color-scheme:dark}:root[data-theme=day]{--ink:#1E2147;--text:#34375E;--muted:#626484;--line:#DCD8EA;--line2:#C6C0DE;--paper:#F3F1F8;--soft:#FBFAFE;--survey:#5B48B5;--contour:#E2DEF0;--accent:#8A6418;--accent-dk:#5E430C;--accent2:#B8862E;--on-accent:#1E2147;--tag:#E9E4F7;--tag-ink:#6E4E12;--sky:radial-gradient(ellipse at 50% -10%,#FFFFFF 0%,#F3F1F8 60%);--glow:rgba(184,134,46,.25);--err:#A12A1B;--btn:#E6B860;--btn-hover:#EFC97E;--btn-ink:#1E2147;--btn2:#5B48B5;--btn2-ink:#FFFFFF;--chart-glow:#FFFFFF;--strip-dim:.72;--num-filter:none;--big-filter:none;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--sky) fixed,var(--paper);color:var(--text);font:400 18px/1.7 Karla,system-ui,sans-serif}::selection{background:var(--line2);color:var(--ink)}a{color:var(--accent)}a:hover{color:var(--accent-dk)}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.mono{font-family:Karla,sans-serif;font-weight:500}.eyebrow{font:700 13px Karla,sans-serif;letter-spacing:.2em;color:var(--survey);text-transform:uppercase}h1,h2,h3{font-family:Prata,serif;font-weight:400;color:var(--ink);line-height:1.12;margin:0}h1{font-size:clamp(40px,5.6vw,62px);line-height:1.08}h2{font-size:clamp(28px,3.2vw,36px);line-height:1.2;margin:0 0 14px}h3{font-size:22px;margin:0 0 6px}p{margin:0 0 16px}.top{border-bottom:1px solid var(--line)}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand-grid{display:grid;grid-template-columns:repeat(3,8px);gap:2px}.brand-grid i{width:8px;height:8px;display:block}.brand b{font:400 22px Prata,serif;letter-spacing:-.02em}.nav{display:flex;gap:24px;font-weight:700;font-size:15px}.nav a{color:var(--ink);text-decoration:none}.nav a[aria-current]{color:var(--accent)}.crumbs{font-size:14px;color:var(--muted);margin:22px 0 18px}.crumbs a{color:var(--muted)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start}.lead{font-size:20px;line-height:1.6;margin:18px 0 22px;max-width:580px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{font:700 13px Karla,sans-serif;background:var(--tag);color:var(--tag-ink);padding:6px 12px;border-radius:999px}.calc{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px}.calc h2{font-size:22px;margin:0}.fields{display:flex;gap:10px;flex-wrap:wrap}.fields label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--muted);flex:1 1 80px}.fields label.yr{flex:2 1 120px}.fields input{font:500 18px Karla,sans-serif;padding:12px;border:1px solid var(--line2);border-radius:10px;background:var(--paper);color:var(--ink);min-height:48px;width:100%}.btn{font:700 17px Karla,sans-serif;background:var(--btn);color:var(--btn-ink);border:0;border-radius:999px;padding:14px 18px;min-height:48px;cursor:pointer;transition-property:transform,background-color;transition-duration:.15s}.btn:hover{background:var(--btn-hover)}.btn:active{transform:scale(.97)}.err{color:var(--err);font-size:15px;margin:0}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font:500 15px Karla,sans-serif}.steps li{display:flex;justify-content:space-between;gap:12px;background:var(--paper);border-radius:8px;padding:9px 12px}.steps li span:first-child{color:var(--muted)}.steps li.total{background:var(--btn);color:var(--btn-ink)}.steps li.total span:first-child{color:#0e1024b3}.chart-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:44px;margin-top:56px;align-items:center}.chart{position:relative;aspect-ratio:1/1;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:radial-gradient(circle at 50% 45%,var(--chart-glow) 0%,var(--paper) 72%)}.chart svg{display:block;width:100%;height:100%}.chart figcaption{position:absolute;left:14px;right:14px;bottom:10px;display:flex;justify-content:space-between;font:500 11px Karla,sans-serif;letter-spacing:.1em;color:var(--muted)}.pt circle{stroke:var(--paper);stroke-width:3}.pt text{font:400 22px Prata,serif;fill:#fff;text-anchor:middle;dominant-baseline:central}.pt.small text{font-size:15px}.lbl{font:500 10px Karla,sans-serif;fill:var(--survey);letter-spacing:.08em;text-anchor:middle}.keys{display:flex;flex-direction:column;gap:12px}.key{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.key .num{font:400 48px/1 Prata,serif;text-align:center;filter:var(--num-filter)}.key small{display:block;font:500 12px Karla,sans-serif;letter-spacing:.12em;color:var(--survey);text-transform:uppercase}.key b{font-size:18px}.key p{margin:2px 0 0;font-size:16px;line-height:1.5;color:var(--muted)}.body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;margin-top:80px;align-items:start}.body article{max-width:700px}.body section{margin-bottom:52px}ol.calc-steps{padding-left:22px;margin:0 0 16px}ol.calc-steps li{margin-bottom:8px}.bars{display:flex;flex-direction:column;gap:6px;margin:10px 0 18px;font:500 14px Karla,sans-serif}.bar{display:grid;grid-template-columns:132px 1fr 52px;gap:10px;align-items:center}.bar i{display:block;height:18px}.bar span:last-child{text-align:right}table{width:100%;border-collapse:collapse;font-size:16px}th{text-align:left;font:500 12px Karla,sans-serif;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--accent);padding:8px 6px}td{border-bottom:1px solid var(--line);padding:10px 6px;vertical-align:top}td.n{font:400 26px/1 Prata,serif;width:48px;filter:var(--num-filter)}.tbl{overflow-x:auto}details{border-bottom:1px solid var(--line);padding:14px 0}summary{font:400 19px Prata,serif;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}summary:after{content:"+";color:var(--survey);font-family:Karla,sans-serif}details[open] summary:after{content:"−"}details p{margin:10px 0 0}aside .box{border:1px solid var(--line);border-radius:18px;background:var(--soft);padding:18px 20px;margin-bottom:14px}aside .box ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-weight:700;font-size:16px}aside .legend dl{margin:0}aside .legend div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);font-size:15px}aside .legend div:last-child{border:0}aside .legend dt{color:var(--muted)}aside .legend dd{margin:0;font-weight:700}.mail{background:var(--tag);color:var(--ink);border-radius:18px;padding:18px 20px;font-size:16px;line-height:1.5}.mail form{display:flex;gap:8px;margin-top:12px}.mail input{flex:1;min-width:0;padding:10px;border:0;font:16px Karla,sans-serif;min-height:44px}.mail button{background:var(--btn);color:var(--btn-ink);border:0;padding:0 14px;font:700 15px Karla,sans-serif;min-height:44px;cursor:pointer}.sticky{position:sticky;top:20px}.note{font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}footer{border-top:1px solid var(--line);margin-top:40px;padding:26px 0 40px;font-size:14px;color:var(--muted)}footer .wrap{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between}footer a{color:var(--muted)}.sr{position:absolute;left:-9999px}@media(max-width:860px){.hero,.chart-row,.body{grid-template-columns:1fr}.nav{width:100%;gap:6px 18px;flex-wrap:wrap;font-size:14px}.nav a{padding:6px 0}.sticky{position:static}}@media(prefers-reduced-motion:no-preference){.contour path{stroke-dasharray:1500;stroke-dashoffset:1500;animation:draw 2.2s ease-out forwards}.pt{animation:pop .45s ease-out both}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.pt{transform-box:fill-box;transform-origin:center}.hl{border-radius:10px;margin:0;font:700 16px Karla,sans-serif;background:var(--tag);color:var(--tag-ink);padding:10px 12px}.pt.on circle{stroke:var(--accent);stroke-width:4}.plate{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;align-items:start;margin-top:8px}.plate-fig{position:relative;aspect-ratio:1/1;border:1px solid var(--line);border-radius:28px;overflow:hidden;background:radial-gradient(circle at 50% 45%,var(--chart-glow) 0%,var(--paper) 72%)}.plate-fig svg{position:absolute;inset:0;width:100%;height:100%}.plate-fig .big{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 220px/1 Prata,serif;color:var(--accent);text-shadow:0 0 40px var(--glow);filter:var(--big-filter)}.plate-fig figcaption{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-between;font:500 11px Karla,sans-serif;letter-spacing:.1em;color:var(--muted)}.stats{border:1px solid var(--line);border-radius:18px;background:var(--soft);overflow:hidden;margin-top:14px}.stats div{display:flex;justify-content:space-between;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);font-size:15px}.stats div:last-child{border:0}.stats dt{color:var(--muted)}.stats dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:6px 0 16px}.pair>div{background:var(--soft);border-radius:14px;padding:16px 18px}.pair h3{font-size:18px}.arcana-strip{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:6px;margin:10px 0 0}.arcana-strip a{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:10px;color:#fff;text-decoration:none;font:400 18px Prata,serif;opacity:var(--strip-dim)}.arcana-strip a[aria-current]{opacity:1;outline:3px solid var(--accent);outline-offset:2px}.arcana-strip a:hover{opacity:1}.neighbors{display:flex;justify-content:space-between;gap:12px;margin:26px 0 0;font-weight:700}h1,h2,h3{text-wrap:balance}.lead,.key p,details p{text-wrap:pretty}@media(max-width:860px){.plate,.pair{grid-template-columns:1fr}.arcana-strip{grid-template-columns:repeat(6,minmax(0,1fr))}}.nav{order:2;margin-left:auto}.theme-btn{order:3;position:relative;width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--line2);border-radius:999px;background:var(--soft);color:var(--accent);cursor:pointer;transition-property:background-color,border-color,transform;transition-duration:.15s}.theme-btn:hover{border-color:var(--accent)}.theme-btn:active{transform:scale(.94)}.theme-btn svg{grid-area:1/1;transition-property:opacity,transform;transition-duration:.2s;transition-timing-function:ease-out}.theme-btn .i-moon{opacity:0;transform:rotate(-40deg) scale(.6)}:root[data-theme=day] .theme-btn .i-sun{opacity:0;transform:rotate(40deg) scale(.6)}:root[data-theme=day] .theme-btn .i-moon{opacity:1;transform:none}@media(max-width:860px){.brand{margin-right:auto}.theme-btn{order:2}.nav{order:3}}@media(prefers-reduced-motion:reduce){.theme-btn svg{transition:none}}
