.dm-tool{margin:30px 0 70px;max-width:100%}
.dm-intro{max-width:72ch;margin-bottom:25px}
.dm-tool-nav{display:flex;flex-wrap:wrap;gap:9px;margin:26px 0}
.dm-tool-nav a{border:1px solid var(--line);border-radius:7px;padding:7px 12px;font-size:15px}
.dm-tool-nav [aria-current=page]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.dm-form{display:flex;flex-wrap:wrap;align-items:end;gap:18px;background:var(--paper-2);padding:25px;border-radius:12px;max-width:850px;margin:25px 0 14px}
.dm-form label{display:flex;flex:1 1 210px;flex-direction:column;gap:6px;font-size:16px;font-weight:600}
.dm-form input{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:11px 12px;min-height:48px;font:inherit;color:var(--ink);background:var(--card);caret-color:var(--accent);color-scheme:light}
[data-theme=night] .dm-form input{color-scheme:dark}
.dm-form input[aria-invalid=true]{outline:2px solid var(--warn);outline-offset:2px}
.dm-form .btn{min-height:48px;margin:0;flex:0 1 auto}
.dm-feedback{min-height:1.7em;max-width:72ch;color:var(--warn);font-size:15px;margin-bottom:10px}
.dm-privacy{font-size:14px;color:var(--muted);max-width:72ch}
.dm-empty{margin:32px 0;border-top:1px solid var(--line);padding-top:25px;max-width:72ch}
.dm-empty h2{font-size:23px}
.dm-report{margin-top:50px;scroll-margin-top:100px}
.dm-report-head{max-width:78ch;margin-bottom:25px}
.dm-report-head h2{font-size:clamp(24px,3.5vw,34px)}
.dm-report-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.dm-report-actions .btn{font-size:15px;min-height:44px}
.dm-chart-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr);gap:35px;align-items:center;margin:25px 0}
.dm-chart-layout figure{margin:0;min-width:0}
.dm-diagram{display:block;width:100%;max-width:650px;margin:auto;overflow:visible}
.dm-frame,.dm-axis{fill:none;stroke:var(--line);stroke-width:1.5}
.dm-axis{stroke-width:1}
.dm-male,.dm-female,.dm-channel{fill:none;stroke-width:2}
.dm-male{stroke:#7560a2}.dm-female{stroke:#ad617e}.dm-channel{stroke:#887032;stroke-dasharray:5 5}
[data-theme=night] .dm-male{stroke:#c4b5e7}[data-theme=night] .dm-female{stroke:#efb0c8}[data-theme=night] .dm-channel{stroke:#dfc687}
.dm-node circle{fill:var(--paper);stroke:var(--ink);stroke-width:1.4}
.dm-node text{fill:var(--ink);text-anchor:middle;font-family:var(--f-body);font-size:18px;font-variant-numeric:tabular-nums}
.dm-node.outer circle{fill:var(--paper-2)}
.dm-node.outer text{font-size:24px}
.dm-node.core circle{fill:var(--ink)}.dm-node.core text{fill:var(--paper);font-size:29px}
.dm-node.family circle{stroke:var(--plum)}
.dm-diagram-label{font-family:var(--f-body);fill:var(--ink);font-size:15px;letter-spacing:.03em}
.dm-symbol{fill:var(--muted);font-family:var(--f-body);font-size:12px}
.dm-chart-layout figcaption{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 18px;font-size:13px;margin:12px 0 0}
.dm-key{display:inline-flex;align-items:center;gap:7px}
.dm-key:before{content:'';width:18px;height:2px;background:var(--ink)}
.dm-key.male:before{background:#7560a2}.dm-key.female:before{background:#ad617e}.dm-key.channel:before{background:#887032}
.dm-chart-guide h3{font-size:24px}
.dm-chart-guide p{font-size:16px}
.dm-chart-guide dl{display:grid;grid-template-columns:1fr auto;gap:8px 15px;margin:25px 0 0}
.dm-chart-guide dt{font-size:15px}.dm-chart-guide dd{font-variant-numeric:tabular-nums;font-size:17px;margin:0}
.dm-node-list{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:25px 0}
.dm-node-list summary{cursor:pointer;font-weight:600}
.dm-table-wrap{overflow-x:auto;margin-top:20px}
.dm-table-wrap table{width:100%;border-collapse:collapse;font-size:14px}
.dm-table-wrap th,.dm-table-wrap td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.dm-table-wrap th:first-child{min-width:180px;font-weight:400}
.dm-table-wrap caption{text-align:left;font-size:16px;padding-bottom:12px}
.dm-report-nav{display:flex;flex-wrap:wrap;gap:9px 20px;margin:30px 0 45px;max-width:90ch}
.dm-report-nav a{font-size:15px;text-decoration:underline;text-underline-offset:4px}
.dm-reading{max-width:78ch;margin:45px 0 60px;scroll-margin-top:105px;border-top:1px solid var(--line);padding-top:25px}
.dm-reading h3{font-size:clamp(23px,3vw,30px);margin-bottom:8px;text-wrap:balance}
.dm-sequence{font-variant-numeric:tabular-nums;color:var(--accent);font-size:19px;margin:8px 0 15px;letter-spacing:.02em}
.dm-reading-intro{font-size:18px;margin-bottom:24px}
.dm-reading-part{margin:24px 0}
.dm-reading-part h4{font-family:var(--f-body);font-size:17px;line-height:1.45;margin:0 0 7px;font-weight:600}
.dm-reading-part p{margin:0;max-width:72ch}
.dm-method{max-width:78ch;margin:55px 0;scroll-margin-top:100px}
.dm-method h2{font-size:27px}
.dm-method li{margin-bottom:12px}
.dm-method .dm-formula{background:var(--paper-2);padding:16px 20px;border-radius:8px;font-variant-numeric:tabular-nums}
.dm-source-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin:18px 0}
.dm-source-links a{text-decoration:underline;text-underline-offset:3px}
.dm-tool ::selection{background:var(--accent);color:var(--paper)}
.dm-tool button,.dm-tool summary{touch-action:manipulation}
@media(hover:hover){.dm-tool-nav a:hover{background:var(--paper-2);color:var(--ink);text-decoration:none}}
@media(max-width:700px){.dm-chart-layout{grid-template-columns:minmax(0,1fr);gap:18px}.dm-chart-guide{padding-bottom:20px;max-width:65ch}.dm-form{padding:18px;gap:16px}.dm-form label{flex-basis:100%}.dm-form .btn{width:100%}.dm-tool-nav{gap:7px}.dm-tool-nav a{font-size:14px;padding:7px 10px}.dm-report-nav{gap:10px 18px}.dm-report-actions{gap:8px}.dm-reading{margin-top:35px;padding-top:22px}.dm-reading-intro{font-size:17px}.dm-node text{font-size:20px}.dm-diagram-label{font-size:16px}.dm-report{margin-top:35px}}
@media print{header.site,.almanac-line,footer.site,.dm-form,.dm-tool-nav,.dm-intro,.dm-feedback,.dm-privacy,.dm-method,.dm-empty,.dm-report-actions,.dm-report-nav,.faq,.breadcrumbs,.lm-tabbar{display:none!important}body{background:#fff!important;color:#222!important}.dm-report{margin:0}.dm-chart-layout{grid-template-columns:1fr 1fr}.dm-reading{break-inside:avoid;border-color:#bbb}.dm-node-list{display:none}.dm-tool{margin:0}a{color:inherit}}
