.geomancy-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:60px}.geomancy-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:-8px 0 24px}.geomancy-toolbar .step-count{margin:0}.geomancy-toolbar .text-button{font-size:11px;color:var(--muted);text-decoration:none;min-height:30px}.geomancy-toolbar .text-button[aria-pressed=true]{color:var(--accent-text)}.geomantic-emblem{width:140px;flex-shrink:0;opacity:.7;display:flex;flex-direction:column;align-items:center;gap:22px;margin:0 28px}.geomantic-emblem i{width:8px;height:8px;border:1px solid #d0d0c6;border-radius:50%;position:relative}.geomantic-emblem i.double{margin-left:-22px}.geomantic-emblem i.double:after{content:'';position:absolute;left:22px;top:-1px;width:8px;height:8px;border:1px solid #d0d0c6;border-radius:50%}.materials{padding:16px 20px;background:var(--paper);border-left:2px solid var(--accent);margin:22px 0}.materials h3{font:500 12px system-ui,sans-serif;margin:0 0 9px}.materials p{font-size:14px;line-height:1.7;margin:0}.mode-choice{border:0;padding:0;margin:25px 0}.mode-choice legend{font-size:13px;color:var(--muted);margin-bottom:10px}.mode-option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:3px;padding:13px 14px;margin:8px 0;background:var(--surface);cursor:pointer}.mode-option:has(input:checked){border-color:var(--accent-text);background:#f8f0ed}.mode-option strong{display:block;font-weight:500;font-size:14px;color:var(--ink)}.mode-option span span{display:block;font-size:12px;line-height:1.6;margin-top:3px}.mode-option input,.parity-row input{accent-color:var(--accent-text);width:17px;height:17px;flex-shrink:0}.geomantic-symbol{display:flex;flex-direction:column;align-items:center;gap:10px;padding:15px 10px}.symbol-row{height:12px;min-width:48px;display:flex;align-items:center;justify-content:center;gap:15px;border-radius:1px}.symbol-row i{width:7px;height:7px;background:var(--ink);border-radius:50%;display:block}.symbol-row.selected-row{background:#f1ddd7;outline:5px solid #f1ddd7}.symbol-row.selected-row i{background:var(--accent-text)}.empty-point{color:#b8b8ae;font-size:20px}.mother-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0}.mother-slot{text-align:center;border:1px solid var(--line);background:var(--paper);padding:10px 4px 4px;border-radius:3px}.mother-slot>span{font-size:10px;color:var(--muted)}.mother-slot.current{border-color:var(--accent-text);background:#f8f0ed}.mother-slot .geomantic-symbol{padding:10px 0;gap:7px}.mother-slot .symbol-row i{width:5px;height:5px}.mother-slot .symbol-row{min-width:35px;height:10px;gap:10px}.parity-entries{margin:24px 0}.parity-row{border:0;border-bottom:1px solid var(--line);padding:12px 0 14px;display:flex;flex-wrap:wrap;gap:12px 22px}.parity-row legend{font-size:12px;color:var(--muted);padding-top:8px}.parity-row label{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;min-height:38px;cursor:pointer}.parity-row label:has(input:checked){color:var(--accent-text)}.mother-result{display:flex;align-items:center;justify-content:center;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0;padding:10px 0}.mother-result-name{font:25px Georgia,serif}.row-label{font-size:13px;color:var(--accent-text);margin:20px 0 10px}.dot-pad{width:100%;min-height:160px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;border:1px dashed #8b8d82;border-radius:3px;background:#f4f3ee;padding:18px;color:var(--muted);text-align:center;touch-action:manipulation;user-select:none}.dot-pad:hover{background:#ecece3}.raw-dots{display:flex;flex-direction:row-reverse;flex-wrap:wrap;gap:10px;justify-content:flex-start;min-height:75px;align-content:flex-start}.raw-dots i{display:block;flex-shrink:0;width:5px;height:5px;border-radius:50%;background:var(--ink)}.pad-prompt{font-size:12px;padding-top:18px}.source-step{font-size:11px;color:var(--muted);margin:25px 0 0;border-top:1px solid var(--line);padding-top:8px}.source-step .text-button{font-size:11px;min-height:30px}.figure-group{margin:20px 0}.figure-group h3{font-size:18px;text-align:center;margin:16px 0}.figure-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.figure-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:330px;margin:auto}.figure-grid.count-1{grid-template-columns:1fr;max-width:160px;margin:auto}.figure-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:12px 6px 15px;color:var(--ink);font:13px/1.3 Georgia,serif;text-align:center;cursor:pointer}.figure-card:hover{border-color:var(--accent-text);background:#f6eee8}.figure-number{font:11px system-ui,sans-serif;color:var(--muted)}.figure-name{min-height:34px;align-content:center;overflow-wrap:anywhere}.derivation-selectors{display:flex;flex-wrap:wrap;gap:7px;margin:23px 0}.derivation-selectors button{font-size:11px;padding:8px 12px;min-height:40px}.derivation-selectors button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.daughter-trace{padding:14px 0;background:#f4f3ee;border:1px solid var(--line);border-radius:3px;margin:20px 0}.daughter-trace .figure-group{padding:0 12px}.daughter-trace .figure-card{background:var(--surface)}.trace-arrow{text-align:center;font-size:11px;color:var(--accent-text);margin:12px 0}.addition-trace{display:grid;grid-template-columns:1fr 20px 1fr 22px 1fr;gap:6px;align-items:center;margin:24px 0}.math-sign{font:23px Georgia,serif;text-align:center;color:var(--accent-text)}.addition-trace>.figure-card:last-child{border-color:var(--accent-text);background:#f8f0ed}.sum-table{font-size:12px;width:100%;border-collapse:collapse;margin:24px 0}.sum-table caption{font-size:11px;color:var(--muted);text-align:left;margin-bottom:14px}.sum-table th,.sum-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left}.sum-table th{font-weight:500}.sum-table thead th{color:var(--muted)}.sum-table tbody td:last-child{color:var(--accent-text)}.casting-question{font:italic 23px/1.5 Georgia,serif;border-left:2px solid var(--accent);padding-left:18px;margin:22px 0;overflow-wrap:anywhere}.traditional-reading{border-top:1px solid var(--line);margin:28px 0;padding-top:5px}.traditional-reading h3{font-size:24px}.traditional-reading p{font-size:15px}.traditional-reading .note{font-size:12px}#chart-dialog{max-width:940px;width:min(940px,calc(100% - 48px))}#whole-chart .figure-group{margin:27px auto;max-width:700px}#whole-chart .figure-group h3{font-size:23px;margin-bottom:15px}#whole-chart .count-4 .figure-card{min-height:155px}.geomancy-layout #guide{scroll-margin-top:20px}.focus-view .geomantic-emblem{display:none}.focus-view .geomancy-layout{display:block}.focus-view .geomancy-toolbar{margin-top:-7px}#figure-dialog{max-width:480px}#figure-pattern{display:flex;justify-content:center;margin:15px auto}.focus-view .masthead .hero h1 em:before{content:' '}.focus-view .masthead .hero h1 br{display:none}#chart-question{font-size:15px;overflow-wrap:anywhere}
@media(max-width:1000px){.geomancy-layout{gap:32px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.geomantic-emblem{margin:0;width:100px}.figure-grid{gap:6px}.figure-card{font-size:12px;padding-left:3px;padding-right:3px}.figure-name{min-height:36px}.addition-trace{gap:4px;grid-template-columns:1fr 15px 1fr 15px 1fr}.math-sign{font-size:20px}}
@media(max-width:740px){.geomancy-layout{grid-template-columns:1fr;gap:36px}.geomantic-emblem{display:none}.geomancy-toolbar{margin:-6px 0 20px}.source-step{margin-top:20px}.mode-choice{margin-top:22px}.figure-card{font-size:13px}.figure-grid{gap:8px}.addition-trace{gap:6px;grid-template-columns:1fr 17px 1fr 17px 1fr}.figure-name{min-height:34px}#chart-dialog{width:calc(100% - 24px)}}
@media(max-width:460px){.figure-grid.count-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mother-ribbon{gap:5px}.mother-slot>span{font-size:9px}.mother-slot .symbol-row{min-width:30px}.parity-row{gap:10px 17px}.parity-row label{font-size:12px}.figure-card{font-size:13px}.addition-trace .figure-card{font-size:11px}.addition-trace .figure-name{min-height:43px}.addition-trace .geomantic-symbol{padding:12px 2px;gap:8px}.addition-trace .symbol-row{min-width:33px;gap:10px}.sum-table{font-size:11px}.sum-table th,.sum-table td{padding:10px 5px}.derivation-selectors button{padding:8px 10px}.mother-result-name{font-size:24px}.geomancy-toolbar .text-button{font-size:10px}.geomancy-toolbar .step-count{font-size:11px}.focus-view .masthead .hero h1 br{display:initial}.focus-view .masthead .hero h1 em:before{content:none}.traditional-reading p{font-size:14px}#whole-chart .figure-grid.count-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{body{background:white}.masthead,header,footer,.source-card,button:not(.figure-card){display:none}main{padding:0;max-width:none}.layout{display:block}.practice-card{border:0;box-shadow:none}dialog:not([open]){display:none}#chart-dialog[open]{position:static;display:block;max-height:none;width:100%;border:0;box-shadow:none}.figure-card{break-inside:avoid}}

#chart-dialog .dialog-heading{position:sticky;top:-32px;background:var(--paper);z-index:1;padding:12px 0 16px}
@media(max-width:740px){#chart-dialog .dialog-heading{top:-22px}}

/* Practice overview: identity, purpose and a single shared facts strip. */
.hero.practice-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:34px 64px;align-items:center;padding-top:44px;padding-bottom:36px}
.overview-title{min-width:0}
.overview-title .label{display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.category-mark{color:#e27464;font-size:18px;line-height:1}
.label-divider{color:#62625b;padding:0 3px}
.hero.practice-overview h1{font-size:clamp(43px,4.65vw,67px);line-height:1.05;margin:27px 0 31px;letter-spacing:-.045em}
.overview-source{display:flex;align-items:stretch;gap:16px}
.source-rule{display:block;width:2px;background:var(--accent);flex-shrink:0;margin:4px 0}
.overview-source .credit{font-size:12px;line-height:1.8}
.overview-source .credit strong{font-size:20px}
.overview-source .credit em{font-style:normal;color:#c7c7bd;font-size:13px}
.overview-panel{background:#f0efe9;color:var(--ink);border:1px solid #fff2;border-radius:5px;padding:25px 28px;box-shadow:0 8px 28px #0002}
.overview-panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.overview-eyebrow{font:500 10px/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.13em;color:var(--accent-text);margin:0}
.overview-panel h2{font-size:29px;letter-spacing:-.025em;margin:0 0 14px}
.overview-panel .description{color:#50504a;font-size:14px;line-height:1.75;margin:0;max-width:none}
.overview-outcome{margin-top:20px;padding-top:17px;border-top:1px solid #d0cfc5}
.overview-outcome>p:last-child{font-size:14px;line-height:1.7;margin:8px 0 0;color:#363632}
.overview-figure{display:flex;flex-direction:column;align-items:center;gap:4px;width:24px;height:30px;opacity:.65}
.overview-figure i{display:block;position:relative;width:3px;height:3px;border-radius:50%;background:var(--accent-text)}
.overview-figure .pair{margin-left:-8px}
.overview-figure .pair:after{content:'';position:absolute;left:8px;top:0;width:3px;height:3px;border-radius:50%;background:var(--accent-text)}
.practice-facts{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1fr 1.15fr;background:#232322;border:1px solid #41413b;border-radius:5px;margin:0;overflow:hidden}
.practice-fact{padding:20px 25px;min-width:0}
.practice-fact+.practice-fact{border-left:1px solid #41413b}
.practice-fact dt{color:#b9b9ae;font-size:10px;font-weight:500;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;margin-bottom:9px}
.practice-fact dd{margin:0;display:flex;align-items:baseline;gap:8px;min-height:32px;color:#f4f3ee;font-size:14px}
.practice-fact dd strong{font:400 29px/1.15 Georgia,serif;font-variant-numeric:lining-nums tabular-nums}
.practice-fact dd>span:not(.difficulty-bars){font-size:12px;color:#c6c6bc}
.practice-fact dd.fact-note{display:block;min-height:0;font-size:11px;line-height:1.6;color:#b3b3a9;margin:8px 0 0}
.score-total{font:13px system-ui,sans-serif;color:#aaa99f;margin-left:4px}
.difficulty-fact dd{justify-content:space-between;gap:20px;align-items:center}
.difficulty-bars{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;width:130px;max-width:55%;height:13px}
.difficulty-bars i{background:#51514a;border-radius:1px}
.difficulty-bars i.filled{background:#da7666}
.materials-fact dd{align-items:center;gap:7px;flex-wrap:wrap;font-size:15px;line-height:1.3}
.materials-fact dd .material-or{color:#a4a49a;font-size:11px}
.focus-view .hero.practice-overview{display:block;padding-top:22px;padding-bottom:23px}
.focus-view .overview-panel,.focus-view .practice-facts{display:none}
.focus-view .hero.practice-overview h1{font-size:38px;margin:12px 0 18px}
@media(max-width:1000px){.hero.practice-overview{gap:28px;grid-template-columns:1fr 1fr}.hero.practice-overview h1{font-size:49px}.overview-panel{padding:22px}.practice-fact{padding:18px}.practice-facts{grid-template-columns:.8fr 1fr 1.1fr}.difficulty-bars{gap:3px}}
@media(max-width:740px){.hero.practice-overview{grid-template-columns:1fr;gap:26px;padding-top:30px;padding-bottom:28px}.hero.practice-overview h1{font-size:44px;margin:20px 0 25px}.overview-panel{padding:23px}.overview-panel h2{font-size:28px}.practice-facts{grid-template-columns:1fr 1fr}.practice-fact{padding:18px}.materials-fact{grid-column:1/-1;border-top:1px solid #41413b}.practice-fact.materials-fact{border-left:0}.materials-fact dd{min-height:25px}.practice-fact p{font-size:11px}.difficulty-bars{gap:3px;width:96px}.difficulty-fact dd{gap:10px}.focus-view .hero.practice-overview h1{font-size:32px}}
@media(max-width:380px){.hero.practice-overview h1{font-size:44px}.practice-fact{padding:15px 12px}.practice-fact dd strong{font-size:26px}.difficulty-bars{gap:2px}.overview-panel{padding:20px}.overview-panel h2{font-size:26px}.overview-title .label{font-size:10px;gap:8px}}

/* Source identity and the worked example form one compact attribution. */
.overview-source .credit{font-size:12px;line-height:1.65}
.overview-source .credit strong{font-size:20px}
.overview-source .credit em{display:inline-block;margin-top:6px;font:19px/1.35 Georgia,serif;color:#e8e8de;max-width:410px}
.hero.practice-overview{padding-top:36px;gap:26px 60px}
.hero.practice-overview h1{margin:20px 0 24px}
.overview-example{display:flex;align-items:center;gap:16px;margin:17px 0 0}
.overview-example svg{width:118px;flex-shrink:0;height:77px}
.overview-example figcaption{font-size:10px;line-height:1.6;color:#b6b6aa;letter-spacing:.03em}
.overview-example figcaption>span{display:block}
.overview-example .text-button{font-size:11px;margin-top:3px;min-height:30px}
.guide-display-tools{display:flex;align-items:center;gap:14px}
.guide-display-tools .text-button{font-size:10px}
#guide-body{position:relative}
#question{min-height:76px}
.mode-choice,.route-choice{margin:18px 0;border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.mode-choice legend,.route-choice legend{font-size:12px;color:var(--muted);padding:0;margin-bottom:8px}
.mode-choice .mode-option,.route-choice .mode-option{margin:0;padding:11px 12px;align-items:flex-start;gap:9px}
.mode-option input{margin-top:4px}
.mode-option strong{font-size:13px}
.mode-option span span{font-size:11px;line-height:1.55}
.preparation-details{border-top:1px solid var(--line);padding-top:12px;margin:17px 0 0;font-size:12px;color:var(--muted)}
.preparation-details summary{cursor:pointer;min-height:28px}
.preparation-details p{font-size:12px;margin:12px 0 0}
.preparation-details .text-button{font-size:11px}
.construction-motion-tools{display:flex;gap:18px;align-items:center;min-height:34px}
.construction-motion-tools .text-button{font-size:11px}
.travelling-dot{position:absolute;z-index:3;display:block;width:7px;height:7px;border-radius:50%;background:var(--accent-text);pointer-events:none}
.reading-question{margin:18px 0 22px;padding:16px 20px;background:var(--paper);border-left:2px solid var(--accent)}
.reading-question .book-eyebrow{display:block;font-size:9px;margin:0 0 6px}
.reading-question p{font:italic 21px/1.45 Georgia,serif;margin:0;overflow-wrap:anywhere}
.reading-tableau{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px;align-items:center;margin:30px 0}
.reading-figure{min-width:0}
.reading-figure h3{font:500 10px/1.5 system-ui,sans-serif;letter-spacing:.07em;text-transform:uppercase;text-align:center;color:var(--muted);margin:0 0 10px}
.reading-tableau .figure-card{width:100%;min-height:183px;background:#f4f3ee}
.reading-tableau .figure-card .figure-name{font-size:17px;min-height:37px}
.reading-judge h3{color:var(--accent-text)}
.reading-judge .figure-card{border-color:#c48e81;background:#f7ede7;min-height:218px;box-shadow:0 4px 15px #4f342908}
.reading-judge .geomantic-symbol{gap:14px;padding:19px 10px}
.reading-judge .symbol-row i{width:9px;height:9px}
.reading-tableau .reading-judge .figure-name{font-size:23px}
.reading-summary{margin:25px 0 22px;padding:20px 22px;border:1px solid var(--line);border-radius:3px;background:#f2f1eb}
.reading-summary .book-eyebrow{font-size:10px;margin:0 0 12px}
.reading-summary .reading-lead{font:22px/1.5 Georgia,serif;margin-bottom:13px}
.reading-summary>p:last-child{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.reading-explanation,.reading-provenance{border-top:1px solid var(--line);padding:13px 0;font-size:13px}
.reading-explanation summary,.reading-provenance summary{cursor:pointer;min-height:28px}
.figure-explanation{padding:14px 0;border-bottom:1px solid var(--line)}
.figure-explanation h3{font-size:21px;margin:4px 0 12px}
.figure-explanation p{font-size:13px;line-height:1.75}
.figure-explanation .origin-line{font-size:11px;color:var(--muted);margin:10px 0}
.figure-explanation .text-button{font-size:11px}
.reading-explanation>.note{margin:20px 0 4px}
.reading-provenance p{margin:14px 0 0}
.reading-provenance ul{padding-left:20px;font:11px/1.9 system-ui,sans-serif;color:var(--muted);overflow-wrap:anywhere}
.saved-casting-card{padding:17px 20px;background:#ebeae2;border-left:2px solid var(--accent);margin-bottom:24px}
.saved-casting-card .primary{display:inline-block;text-decoration:none;font-size:12px}
.saved-chart-preview{margin-top:16px;font-size:12px}
.saved-chart-preview summary{cursor:pointer}
.saved-chart-preview img{width:100%;margin-top:15px;border:1px solid var(--line)}
.shield-scroll{overflow-x:auto;overscroll-behavior-inline:contain;margin:18px -8px 0;padding:8px;background:#edece5;border-radius:4px}
.shield-chart{display:block;width:100%;min-width:740px;height:auto}
.shield-connection{stroke:#aaa79a;stroke-width:1.2}
.shield-heading{font:20px Georgia,serif;fill:var(--ink)}
.shield-figure{cursor:pointer;outline:none}
.shield-figure rect{fill:#fdfcf7;stroke:#d0cec2;stroke-width:1}
.shield-figure circle{fill:#2b2b25}
.shield-figure .shield-number{font:11px system-ui,sans-serif;fill:#7c7a6f}
.shield-figure .shield-name{font:12px Georgia,serif;fill:#30302a}
.shield-figure:hover rect,.shield-figure:focus-visible rect{stroke:var(--accent-text);stroke-width:2;fill:#f8ede5}
.shield-judge rect{fill:#f5e8df;stroke:#b58272}
.shield-judge circle{fill:var(--accent-text)}
.shield-chart.is-animated .shield-connection{stroke-dasharray:1;stroke-dashoffset:1;animation:shield-line 600ms ease forwards;animation-delay:calc(var(--tier)*420ms - 200ms)}
.shield-chart.is-animated .shield-figure{opacity:0;animation:shield-reveal 300ms ease forwards;animation-delay:calc(var(--tier)*420ms)}
.chart-view-tools .text-button{font-size:12px}
@keyframes shield-line{to{stroke-dashoffset:0}}
@keyframes shield-reveal{to{opacity:1}}
.focus-view .overview-example{display:none}
@media(max-width:740px){
 .hero.practice-overview{padding-top:23px;padding-bottom:23px;gap:20px}
 .hero.practice-overview h1{font-size:42px;margin:16px 0 20px}
 .overview-source .credit em{font-size:17px;max-width:310px}
 .overview-example{margin-top:12px;gap:14px}
 .overview-example svg{width:99px;height:64px}
 .overview-panel{padding:19px 21px}
 .overview-panel .description,.overview-outcome>p:last-child{font-size:13px;line-height:1.65}
 .overview-panel h2{font-size:26px;margin-bottom:11px}
 .overview-outcome{margin-top:15px;padding-top:14px}
 .practice-fact{padding:14px 17px}
 .time-fact .fact-note,.materials-fact .fact-note{display:none!important}
 .practice-fact dd strong{font-size:25px}
 .reading-tableau{gap:9px;grid-template-columns:1fr 1.25fr 1fr}
 .reading-tableau .figure-card{min-height:169px}
 .reading-tableau .figure-name{font-size:15px}
 .reading-judge .figure-card{min-height:202px}
 .reading-tableau .reading-judge .figure-name{font-size:21px}
 .reading-summary .reading-lead{font-size:21px}
 .reading-summary{padding:17px 18px}
 .reading-figure h3{font-size:9px;letter-spacing:.02em}
}
@media(max-width:420px){
 .mode-choice,.route-choice{gap:7px}
 .mode-choice .mode-option,.route-choice .mode-option{padding:10px 8px;gap:7px}
 .mode-option strong{font-size:12px}
 .mode-option span span{font-size:10px}
 .reading-tableau{grid-template-columns:1fr 1fr;gap:13px;align-items:stretch}
 .reading-judge{grid-column:1/-1;grid-row:1;width:160px;justify-self:center}
 .reading-judge .figure-card{min-height:205px}
 .reading-figure h3{font-size:10px}
 .reading-tableau .figure-card .figure-name{font-size:17px}
 .reading-tableau .reading-judge .figure-name{font-size:23px}
 .guide-display-tools{gap:12px}
 .reading-question p{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.shield-chart.is-animated .shield-connection{animation:none;stroke-dashoffset:0}.shield-chart.is-animated .shield-figure{animation:none;opacity:1}}

/* Shared quiet overview palette; the guide gets its own row. */
.geomancy-practice .overview-panel{background:#202322;color:#eeeee8;border-color:#ffffff14;border-radius:10px;box-shadow:none}
.geomancy-practice .overview-panel h2{color:#eeeee8}
.geomancy-practice .overview-eyebrow{color:#adbab5}
.geomancy-practice .overview-panel .description,.geomancy-practice .overview-outcome>p:last-child{color:#c7ccc7}
.geomancy-practice .overview-outcome{border-top-color:#ffffff18}
.geomancy-practice .geomancy-layout{grid-template-columns:minmax(0,1fr);gap:36px}
.geomancy-practice .source-card{position:static;max-width:850px;width:100%;border-top:1px solid var(--line);padding-top:30px}
.geomancy-practice #guide-body>.instruction{max-width:76ch}
.geomancy-practice .dot-pad{min-height:120px}

/* Stable guided workspace, with scrolling contained within the current step. */
.geomancy-active .masthead,.geomancy-active .source-card,.geomancy-active main>footer{display:none!important}
.geomancy-active main{max-width:1200px;padding-top:12px;padding-bottom:12px}
.geomancy-active #guide{height:calc(100dvh - 24px);min-height:520px;box-sizing:border-box;display:flex;flex-direction:column;padding:24px 30px;overflow:hidden}
.geomancy-active .geomancy-toolbar{flex:none;margin:0 0 14px}
.geomancy-active #guide-body{flex:1;min-height:0;overflow:auto;padding-right:12px;scrollbar-gutter:stable}
.geomancy-active #guide-body h2{font-size:30px;margin:0 0 14px}
.geomancy-active #guide-body .instruction{font-size:15px;line-height:1.65;margin:0 0 18px;max-width:82ch}
.geomancy-active #guide-body>.actions:last-of-type{position:sticky;bottom:0;background:var(--surface);padding:10px 0;margin-bottom:0;z-index:2;border-top:1px solid var(--line)}
.geomancy-active #cast-status{flex:none;margin:6px 0 0;font-size:12px}
.geomancy-active .mother-ribbon{margin:12px 0;max-width:600px}
.geomancy-active .dot-pad{min-height:96px}
.geomancy-active .raw-dots{min-height:35px}
.geomancy-active .source-step{margin:8px 0 0}
@media(max-width:740px){.geomancy-active #guide{padding:18px 16px}.geomancy-active #guide-body h2{font-size:25px}.geomancy-active #guide-body .instruction{font-size:14px}.geomancy-active #guide-body{padding-right:4px}}

@media(min-width:850px){.geomancy-active .daughter-trace{display:grid;grid-template-columns:minmax(0,1fr) 36px 150px;align-items:center;padding:10px}.geomancy-active .daughter-trace .figure-group{margin:0;padding:0}.geomancy-active .daughter-trace h3{font-size:16px;margin:8px 0}.geomancy-active .trace-arrow{font-size:0}.geomancy-active .trace-arrow:after{content:'→';font-size:22px}.geomancy-active .figure-group{margin:12px 0}.geomancy-active .figure-group h3{font-size:18px;margin:8px 0}.geomancy-active .figure-card{padding:8px 6px}.geomancy-active .geomantic-symbol{gap:6px;padding:9px}.geomancy-active .figure-name{min-height:20px}}

.hero.practice-overview .overview-panel h2.overview-subtitle{font:600 20px/1.3 system-ui,sans-serif;color:#f4f3ee;letter-spacing:-.015em;text-transform:none;margin:0 0 12px}
.hero.practice-overview .overview-outcome>h2.overview-subtitle{margin-bottom:10px}

.geomancy-active .mother-slot{padding:6px 4px}.geomancy-active .mother-slot .geomantic-symbol{padding:6px 0;gap:3px}.geomancy-active .mother-slot .symbol-row{height:7px}.geomancy-active .mother-slot>span{font-size:10px}.geomancy-active .dot-pad{min-height:78px;padding:12px}.geomancy-active .pad-prompt{padding-top:8px}.geomancy-active .row-label{margin:10px 0 8px}
