.cast-workbench{max-width:1440px;margin:0 auto;padding:42px 40px 56px}.cast-heading{display:flex;align-items:end;gap:34px;padding-bottom:34px;border-bottom:1px solid var(--line)}.cast-heading h1{font-size:46px;font-weight:500;line-height:1.2;margin:0}.cast-heading .eyebrow{margin-bottom:12px}.cast-heading>p{font-size:18px;color:var(--ink-soft);margin:0 0 4px}.cast-heading>a{margin-left:auto;color:var(--jade);font:13px var(--sans);text-decoration:none;padding-bottom:5px}.cast-heading>a span{margin-left:12px}.cast-layout{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(360px,1.5fr) minmax(210px,.85fr);min-height:578px}.cast-controls{padding:32px 32px 20px 0;border-right:1px solid var(--line)}.cast-step{font:10px var(--sans);color:var(--ink-soft)}.cast-controls h2{font-size:25px;font-weight:500;margin:30px 0}.cast-controls label{font:12px var(--sans);display:block;margin-bottom:10px}.cast-controls label small{color:var(--ink-soft);margin-left:8px}.cast-controls textarea{width:100%;background:#fff;border:1px solid var(--line);border-radius:4px;padding:13px;font:13px/1.9 var(--sans);color:var(--ink);resize:vertical;min-height:105px;max-height:160px}.cast-controls textarea::placeholder{color:#7c8c8e}.cast-mode{display:flex;background:#e8edee;padding:3px;border-radius:4px;gap:2px}.cast-controls>.cast-mode{margin:20px 0 14px}.cast-mode button{flex:1;border:0;background:transparent;border-radius:3px;padding:9px 10px;color:var(--ink-soft);font:12px var(--sans);cursor:pointer}.cast-mode button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 4px #172c3010}.cast-mode button:disabled{cursor:default;opacity:.6}.cast-start{width:100%;justify-content:space-between}.cast-privacy{font:11px/1.8 var(--sans);color:var(--ink-soft);margin:16px 0 27px}.cast-method{border-top:1px solid var(--line);padding-top:18px;font:12px/1.9 var(--sans);color:var(--ink-soft)}.cast-method summary{cursor:pointer;color:var(--ink)}.cast-error{font:13px/1.8 var(--sans);color:#a63d3d}.cast-stage{padding:32px 32px 20px;position:relative;min-height:570px;background-image:linear-gradient(#d5dddf24 1px,transparent 1px),linear-gradient(90deg,#d5dddf24 1px,transparent 1px);background-size:36px 36px;background-position:center 20px;overflow:hidden}.cast-stage-top{display:flex;justify-content:space-between;align-items:center}.cast-stage-top>span:last-child{font:11px var(--sans);color:var(--ink-soft)}.cast-coins{height:145px;display:flex;align-items:center;justify-content:center;gap:20px}.cast-coin{width:62px;height:62px;border:1px solid #ab956d;border-radius:50%;background:radial-gradient(ellipse at 30% 20%,#fbf8ef,#e1d5bc 66%,#c3ae88);position:relative;color:#695937;box-shadow:inset 0 0 0 4px #eee5d4,inset 0 0 0 5px #b39e78,0 13px 12px -12px #736349aa;flex:none}.cast-coin span,.cast-coin b{position:absolute;font-size:11px;font-weight:400;left:25px}.cast-coin span{top:6px}.cast-coin b{bottom:6px}.cast-coin i{position:absolute;inset:22px;border:1px solid #b8a682;background:var(--paper);transform:rotate(0deg)}.cast-coin small{position:absolute;bottom:-23px;left:0;right:0;text-align:center;font:10px var(--sans);color:var(--ink-soft)}.cast-coin[data-face=back]{background:radial-gradient(ellipse at 30% 20%,#eef2ee,#afbeb8);border-color:#70877e;color:#446158;box-shadow:inset 0 0 0 4px #d5ded9,inset 0 0 0 5px #8ba397,0 13px 12px -12px #415c4aaa}.cast-coin[data-face=back] span{opacity:.35}.cast-coin[data-face=back] b{opacity:.35}.cast-coin.is-tossing{animation:coinToss 1s cubic-bezier(.25,.1,.3,1) both;animation-delay:calc(var(--coin-index)*50ms)}@keyframes coinToss{0%{transform:translateY(0) scaleX(1) rotate(0)}20%{transform:translateY(-25px) scaleX(.12) rotate(-20deg)}40%{transform:translateY(-36px) scaleX(-1) rotate(-60deg)}60%{transform:translateY(-19px) scaleX(.12) rotate(-90deg)}77%{transform:translateY(4px) scaleX(1) rotate(-12deg)}88%{transform:translateY(-5px) scaleX(.85) rotate(5deg)}100%{transform:translateY(0) scaleX(1) rotate(0)}}
.cast-lines{width:min(100%,290px);margin:16px auto 0;display:flex;flex-direction:column-reverse;gap:18px;height:234px;justify-content:center}.cast-line{display:grid;grid-template-columns:30px 1fr 30px;gap:14px;align-items:center;min-height:22px}.cast-line .line-position,.cast-line .line-value{font:10px var(--sans);color:var(--ink-soft);opacity:.3}.cast-line .line-value{text-align:right;white-space:nowrap}.cast-line-bar{height:12px;display:flex;justify-content:space-between;position:relative}.cast-line-bar:after{content:"";position:absolute;inset:0;border-top:1px dashed var(--line-strong);top:6px}.cast-line-bar i{width:50%;height:12px;background:var(--jade);opacity:0;transform:scaleX(0);transition:width .7s cubic-bezier(.2,.7,.3,1),background .5s,opacity .5s,transform .6s;transform-origin:center}.cast-line-bar i:first-child{transform-origin:left}.cast-line-bar i:last-child{transform-origin:right}.cast-line.is-revealed .cast-line-bar:after{display:none}.cast-line.is-revealed .cast-line-bar i{opacity:1;transform:scaleX(1)}.cast-line.is-revealed .line-position,.cast-line.is-revealed .line-value{opacity:1}.cast-line[data-yang=false] .cast-line-bar i{width:43%}.cast-line[data-moving=true] .cast-line-bar i{background:var(--gold)}.cast-line[data-moving=true] .line-value{color:#98733a}.cast-line.is-changing .cast-line-bar{animation:lineChange 1.1s ease-out}.cast-line.is-new .cast-line-bar{animation:lineSettle .7s ease-out}@keyframes lineSettle{0%{transform:translateY(14px);filter:blur(3px)}100%{transform:translateY(0);filter:blur(0)}}@keyframes lineChange{0%,100%{filter:brightness(1)}40%{filter:brightness(1.55);transform:scaleY(1.3)}}.cast-status{font:12px/1.7 var(--sans);text-align:center;color:var(--ink-soft);min-height:40px;margin:22px 0 12px}.cast-result-tools{display:flex;align-items:center;justify-content:center;gap:18px}.cast-result-tools[hidden]{display:none}.cast-result-tools .cast-mode{width:150px}.cast-replay{border:0;border-bottom:1px solid var(--line-strong);padding:7px 0;background:transparent;font:11px var(--sans);color:var(--ink);cursor:pointer}.cast-reading{border-left:1px solid var(--line);padding:32px 0 20px 32px;display:flex;flex-direction:column}.cast-empty{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.cast-empty>span{font:64px var(--serif);color:#bccbcd;line-height:1.3;margin-bottom:26px}.cast-empty h2{font-weight:400;font-size:22px;margin:0 0 15px}.cast-empty p{font-size:14px;line-height:2;color:var(--ink-soft)}.cast-boundary{font:10px/1.8 var(--sans);color:var(--ink-soft);margin-top:auto;padding-top:25px}.cast-result-heading{padding-top:35px}.cast-result-heading>span,.cast-changed-heading>span{font:11px var(--sans);color:var(--ink-soft)}.cast-result-heading h2{font-size:54px;font-weight:500;line-height:1.3;margin:9px 0}.cast-result-heading p{font-size:15px;color:var(--ink-soft);margin:4px 0 12px}.cast-text-link{padding:3px 0;background:none;border:0;border-bottom:1px solid var(--line-strong);font:12px var(--sans);color:var(--jade);cursor:pointer}.cast-text-link>span{margin-left:8px}.cast-changed-heading{margin:24px 0 20px;padding-top:21px;border-top:1px solid var(--line)}.cast-changed-heading h3{font-weight:400;font-size:23px;margin:8px 0 12px}.cast-moving-note{font:12px/1.8 var(--sans);color:var(--ink-soft)}#castDownload{font-size:12px;min-height:37px;padding:9px 14px;margin-top:8px}.cast-confirm{max-width:450px;border:1px solid var(--line);border-radius:8px;padding:32px;background:white;color:var(--ink)}.cast-confirm::backdrop{background:#172c3055;backdrop-filter:blur(4px)}.cast-confirm h2{font-weight:500;font-size:24px}.cast-confirm p{font:14px/1.8 var(--sans);color:var(--ink-soft);margin:16px 0 24px}
@media(max-width:1100px){.cast-workbench{padding:32px 24px 44px}.cast-layout{grid-template-columns:minmax(215px,.95fr) minmax(300px,1.3fr) minmax(180px,.8fr)}.cast-controls{padding-right:22px}.cast-stage{padding-left:20px;padding-right:20px}.cast-reading{padding-left:22px}.cast-controls h2{font-size:22px}.cast-coin{width:58px;height:58px}.cast-coin i{inset:20px}.cast-coin span,.cast-coin b{left:23px}}
@media(max-width:820px){.cast-heading{gap:18px;align-items:center;flex-wrap:wrap}.cast-heading h1{font-size:35px}.cast-heading>p{font-size:14px}.cast-heading>a{font-size:12px}.cast-layout{grid-template-columns:1fr 1.25fr}.cast-reading{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.cast-empty{flex-direction:row;gap:22px;align-items:center;padding:20px 0}.cast-empty>span{font-size:40px;margin:0}.cast-empty h2{margin:0;font-size:20px}.cast-empty p{margin:0;font-size:13px}.cast-reading #castResult:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.cast-result-heading{padding-top:20px}.cast-changed-heading{margin:20px 0 0;border-top:0;border-left:1px solid var(--line);padding:0 0 0 25px}.cast-moving-note{margin:0}.cast-boundary{padding-top:10px}.cast-stage{min-height:570px}}
@media(max-width:580px){.cast-workbench{padding:26px 20px 35px}.cast-heading{padding-bottom:25px;gap:13px}.cast-heading h1{font-size:33px}.cast-heading>p{width:100%;order:3;margin:0}.cast-heading .eyebrow{font-size:10px}.cast-layout{grid-template-columns:1fr}.cast-controls{padding:25px 0 22px;border-right:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.cast-controls>.cast-step,.cast-controls>h2,.cast-controls>label,.cast-controls>textarea,.cast-controls>.cast-privacy,.cast-controls>.cast-method,.cast-controls>.cast-error{grid-column:1/-1}.cast-controls h2{margin:8px 0 3px;font-size:24px}.cast-controls label{margin:0}.cast-controls textarea{min-height:80px;height:80px}.cast-controls>.cast-mode{margin:0;align-self:center}.cast-controls>.cast-privacy{margin:0}.cast-controls>.cast-method{padding-top:12px}.cast-mode button{padding:9px 6px;font-size:11px}.cast-start{min-height:43px;padding:11px 15px;font-size:13px}.cast-stage{grid-row:2;min-height:540px;border-top:1px solid var(--line);padding:24px 16px 20px}.cast-stage[data-state=idle]{min-height:500px}.cast-coins{height:128px;gap:26px}.cast-lines{height:224px;gap:18px;max-width:270px}.cast-status{margin-top:20px}.cast-result-heading h2{font-size:45px}.cast-confirm{margin:auto 20px;padding:24px}.cast-empty p{font-size:12px}.cast-empty h2{font-size:18px}.cast-reading{padding-top:25px}}
.cast-workbench [hidden],.c-scene-toolbar[hidden]{display:none!important}

/* Keep the answer first and the textual evidence outside the casting controls. */
.cast-layout { grid-template-columns: minmax(230px,.9fr) minmax(340px,1.3fr) minmax(250px,1fr); }
.cast-conclusion { padding: 28px 0 24px; border-bottom: 1px solid var(--line); scroll-margin-top: 110px; }
.cast-conclusion h2 { margin: 10px 0 14px; font: 500 24px/1.4 var(--serif); letter-spacing: 0; }
.cast-question-echo { margin: 0 0 16px; font: 12px/1.8 var(--sans); color: var(--ink-soft); overflow-wrap: anywhere; }
.cast-conclusion-copy { margin: 0 0 18px; font: 16px/1.9 var(--serif); color: var(--ink); overflow-wrap: anywhere; }
.cast-question-boundaries p { padding: 0 0 0 12px; border-left: 2px solid var(--gold); margin: 0 0 16px; font: 12px/1.9 var(--sans); color: var(--ink-soft); }
.cast-reading .cast-result-heading { padding-top: 20px; }
.cast-reading .cast-result-heading h2 { font-size: 30px; margin: 7px 0; }
.cast-reading .cast-changed-heading { margin: 18px 0; padding-top: 18px; }
.cast-interpretation { padding-top: 30px; margin-top: 22px; border-top: 1px solid var(--line); scroll-margin-top: 100px; }
.cast-interpretation-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 28px; }
.cast-interpretation-heading h2 { font: 500 25px/1.4 var(--serif); margin: 0; }
.cast-interpretation-heading label { display: flex; align-items: center; gap: 12px; flex-shrink: 0; font: 13px var(--sans); color: var(--ink-soft); }
.cast-interpretation-heading select { min-width: 128px; height: 40px; padding: 0 12px; border: 1px solid var(--line); border-radius: 4px; background: white; color: var(--ink); font: 13px var(--sans); }
.cast-interpretation-grid { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 48px; }
.cast-meaning-column>section,.cast-action-column>section { margin-bottom: 28px; }
.cast-action-column { border-left: 1px solid var(--line); padding-left: 32px; }
.cast-interpretation h3 { margin: 0 0 12px; font: 500 18px/1.5 var(--serif); }
.cast-interpretation p,.cast-interpretation li { font: 14px/1.9 var(--sans); color: var(--ink-soft); overflow-wrap: anywhere; }
.cast-interpretation blockquote { margin: 12px 0; padding-left: 16px; border-left: 2px solid var(--gold); font: 17px/1.9 var(--serif); color: var(--ink); }
.cast-interpretation small { font: 12px/1.8 var(--sans); color: var(--ink-soft); }
.cast-interpretation ol { padding-left: 20px; margin: 0; }
.cast-interpretation li { padding-left: 6px; margin-bottom: 14px; }
.cast-moving-reading { border-bottom: 1px solid var(--line); padding: 14px 0; }
.cast-moving-reading summary { cursor: pointer; font: 14px/1.6 var(--sans); color: var(--jade); }
.cast-reading-note { padding-top: 18px; border-top: 1px solid var(--line); font-size: 12px!important; }
.cast-text-link { text-decoration: none; }
.cast-workbench :is(button,a,select,textarea,summary):focus-visible { outline: 2px solid var(--jade); outline-offset: 4px; }
@media(max-width:1100px) {
  .cast-layout { grid-template-columns: minmax(205px,.9fr) minmax(300px,1.3fr) minmax(210px,1fr); }
}
@media(max-width:820px) {
  .cast-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); }
  .cast-reading #castResult:not([hidden]) { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .cast-conclusion { grid-column: 1 / -1; padding: 0 0 20px; }
  .cast-conclusion-copy { max-width: 58em; }
  .cast-interpretation-grid { gap: 26px; }
  .cast-action-column { padding-left: 22px; }
}
@media(max-width:580px) {
  .cast-layout { grid-template-columns: minmax(0,1fr); }
  .cast-interpretation-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .cast-interpretation-heading h2 { font-size: 23px; }
  .cast-interpretation-heading label { width: 100%; justify-content: space-between; }
  .cast-interpretation-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
  .cast-action-column { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .cast-conclusion h2 { font-size: 23px; }
  .cast-conclusion-copy { font-size: 16px; }
  .cast-reading #castResult:not([hidden]) { gap: 16px; }
}
