main{max-width:none;width:100%;padding:20px max(18px,env(safe-area-inset-left)) 40px}textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px;resize:vertical;min-height:85px;margin-top:7px}h1{letter-spacing:.035em}.intro{padding:24px 0 18px}.intro p{color:var(--muted);margin:0}.setup-row{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(0,1.4fr);gap:18px}.privacy-note{font-size:12px;color:var(--muted);margin:10px 0}#timeSettings{border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;line-height:1.7}.mode-tabs{display:flex;gap:8px;margin-top:18px}.mode-tabs button{flex:1}.mode-tabs [aria-pressed=true]{border-color:var(--tech);background:var(--tint);color:var(--tech)}.casting{background:radial-gradient(ellipse at 30% 40%,var(--tint),transparent 70%),var(--card);padding:20px;overflow:hidden}.casting-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.casting-top button{font-size:12px;min-height:36px;padding:5px 10px}.ritual-body{display:grid;grid-template-columns:minmax(0,1fr) 95px;align-items:center;gap:18px;min-height:240px}.coin-stage{height:220px;position:relative;min-width:0}.coin-stage canvas{width:100%;height:100%;display:block}.coin-fallback{height:100%;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);font-family:serif;font-size:30px}.coin-fallback[hidden]{display:none}.coin-fallback span{border-bottom:1px solid var(--gold);padding:5px}.live-lines{display:flex;flex-direction:column;gap:12px}.live-line{display:grid;grid-template-columns:18px 1fr 12px;align-items:center;gap:7px;color:var(--muted);font-size:12px}.yao{display:flex;gap:13%;height:8px;min-width:0;align-items:stretch}.yao i{display:block;flex:1;background:currentColor;border-radius:1px}.yao.blank{opacity:.18}.live-line.filled{color:var(--gold)}.live-line.moving{color:var(--tech)}.cast-readout{text-align:center;font-size:18px;min-height:32px}.stage-hint{text-align:center;margin:5px 0 16px}.cast-button{display:block;width:min(100%,360px);margin:0 auto;min-height:54px;letter-spacing:.08em}.text-button{display:block;margin:12px auto 0;border:0;background:transparent;color:var(--muted);font-size:14px}#castError:empty{display:none}#castError{color:#bb4949}.manual-row{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}.manual-row select{margin:4px 0}#manualSubmit{width:100%;margin-top:14px}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:30px 0 10px}.result-heading h2{margin:4px 0}.result-heading button{font-size:14px}.result-question{padding:12px 16px;border-left:2px solid var(--gold);background:var(--tint);white-space:pre-wrap;overflow-wrap:anywhere}.hex-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hex-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:20px;text-align:center}.hex-card h3{font-size:22px;letter-spacing:.06em;margin:8px 0 14px;color:var(--gold)}.hex-figure{width:86px;margin:0 auto 18px;display:flex;flex-direction:column;gap:9px;color:var(--gold)}.hex-figure .changed{color:var(--tech)}.hex-card p{font-size:13px;color:var(--muted);margin:4px 0}.movement-summary{color:var(--tech);text-align:center;font-size:14px;margin:16px 0 24px}.reading-cards{display:grid;gap:14px;margin-bottom:20px}.reading-card{padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--card)}.reading-card h3{margin:8px 0;color:var(--ink);font-size:20px}.reading-card p{margin:8px 0;font-size:16px}.reading-card .eyebrow{font-size:12px}.simple-lines{display:flex;flex-direction:column;gap:8px}.line-button{width:100%;display:grid;grid-template-columns:42px 68px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;padding:12px;font-size:14px}.line-button[aria-pressed=true]{border-color:var(--tech);background:var(--tint)}.line-button .yao{color:var(--gold)}.line-button.is-moving .yao{color:var(--tech)}.line-number{color:var(--muted);font-size:12px}.line-tag{color:var(--tech);font-size:12px;white-space:nowrap}.line-detail{margin-top:16px;border-top:1px solid var(--line);padding-top:18px}.line-detail h3{color:var(--gold);font-size:19px}.line-detail p{margin:8px 0}.line-detail .fact{font-size:14px;color:var(--muted)}.technical table{border-collapse:collapse;width:100%;font-size:14px;white-space:nowrap}.technical th,.technical td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.table-scroll{overflow-x:auto}.history-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.history-list div{background:var(--tint);padding:10px;font-size:13px;border-radius:6px}.history-list strong{display:block}dialog{width:min(90vw,420px);background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:24px}dialog::backdrop{background:#07131bb0;backdrop-filter:blur(4px)}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}.casting[hidden],[hidden]{display:none!important}.section-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.section-head h2{font-size:22px}.tag{display:inline-block;font-size:12px;padding:2px 8px;border:1px solid var(--line);border-radius:5px;margin:3px 4px 3px 0;color:var(--tech)}@media(min-width:760px){main{padding-left:36px;padding-right:36px}.ritual-body{grid-template-columns:1fr 180px;min-height:320px;max-width:850px;margin:auto}.coin-stage{height:310px}.live-lines{gap:18px}.live-line{font-size:14px}.live-line .yao{height:11px}.reading-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hex-card{padding:28px}.hex-figure{width:112px;gap:12px}.hex-figure .yao{height:10px}.hex-card h3{font-size:27px}.setup-row{grid-template-columns:1fr 2fr}}@media(max-width:380px){.setup-row{grid-template-columns:1fr;gap:0}.ritual-body{gap:6px;grid-template-columns:minmax(0,1fr) 83px}.line-button{grid-template-columns:32px 45px minmax(0,1fr) auto;gap:6px;padding:10px 8px}.hex-card{padding:16px 9px}.hex-card h3{font-size:19px}.history-list{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.change-control{text-align:center;margin:16px 0}.change-control button{border-color:var(--tech);color:var(--tech);min-height:44px}.change-control p{min-height:24px;margin:8px 0}.relationship{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.relationship h3{font-size:18px}.relation-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(65px,.8fr) minmax(0,1fr);align-items:center;gap:8px}.relation-node{border:1px solid var(--line);border-radius:10px;padding:14px 8px;background:var(--tint);text-align:center}.relation-node small,.relation-node strong,.relation-node span,.relation-link span{display:block}.relation-node small{font-size:12px;color:var(--muted)}.relation-node strong{font-size:14px;margin:6px 0}.relation-node span{font-size:16px;color:var(--gold)}.relation-link{text-align:center;border-top:1px solid var(--tech);border-bottom:1px solid var(--tech);padding:10px 0;font-size:14px;color:var(--tech)}.relation-link span{font-size:12px;margin-top:4px}.evidence-cards{display:grid;gap:14px}.evidence-card{border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}.evidence-card h3{font-size:18px;margin:0 0 12px;color:var(--gold)}.evidence-card details{border-top:1px solid var(--line);padding:12px 0}.evidence-card summary{font-size:15px}.evidence-card p{font-size:14px}.evidence-card button{font-size:14px;min-height:44px}.hex-figure{perspective:400px}@media(min-width:900px){.evidence-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.relation-flow{max-width:650px;margin:0 auto}}
.motion-controls{text-align:center}.hold-coin{display:block;width:118px;height:118px;border-radius:50%;border:2px solid var(--gold);background:var(--tint);color:var(--ink);margin:20px auto 14px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;font-size:21px;line-height:1.4}.hold-coin.holding{background:var(--gold);color:var(--bg);box-shadow:0 0 0 8px var(--tint)}#motionMeter{width:150px;height:6px;accent-color:var(--tech)}.result-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.result-actions button{padding:9px 12px;font-size:14px}#shareDialog{width:min(94vw,540px);max-height:88dvh;overflow-y:auto}#sharePreview{display:block;width:100%;height:auto;border-radius:10px;margin-top:14px}#sharePreview:not([src]){display:none}.share-check{display:flex;align-items:center;gap:8px;font-size:14px}.share-check input{width:20px;height:20px;margin:0}.card-download{border:1px solid var(--line);border-radius:8px;padding:10px 14px;text-decoration:none;font-size:14px;display:inline-flex;align-items:center}.card-download:not([href]){opacity:.4;pointer-events:none}@media(max-width:450px){.result-heading{align-items:flex-start}.result-actions{max-width:115px;flex-shrink:0}}
#subtopicHint{font-size:14px;line-height:1.6}.guide-panel{margin:14px 0 18px;padding:18px;border:1px solid var(--tech);border-radius:12px;background:var(--tint)}#startGuide{margin:0 0 14px;color:var(--tech);border-color:var(--tech)}.guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.guide-steps button{padding:9px 2px;font-size:14px;min-height:44px}.guide-steps [aria-current=step]{background:var(--ink);color:var(--bg)}.guide-panel h3{font-size:19px;color:var(--gold);margin:18px 0 10px}.guide-panel p{line-height:1.8}.guide-links{display:flex;gap:8px;flex-wrap:wrap}.guide-links button{font-size:14px;padding:8px 12px;min-height:44px}.guide-nav{display:flex;justify-content:space-between;margin-top:20px;gap:12px}.line-button.guide-highlight{outline:2px solid var(--tech);outline-offset:1px}.line-button.guide-highlight .line-number{color:var(--tech);font-weight:700}

/* Coin magnification includes extra canvas room for the toss arc. */
@media(max-width:767px){.coin-stage{--coin-scale:1.1;--coin-base-height:220;height:260px}}
@media(min-width:768px) and (hover:none) and (pointer:coarse){
 .ritual-body{max-width:none;grid-template-columns:minmax(0,1fr) 100px}
 .coin-stage{--coin-scale:1.8;--coin-base-height:310;height:480px}
}

.candidate-comparison{grid-column:1/-1;min-width:0}.candidate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.candidate-grid button[aria-pressed="true"]{outline:2px solid var(--accent,#bda77d);outline-offset:2px}
