.cycle-opening{padding-block:55px 65px}.cycle-motto{font-size:16px;color:#c1c9ce;margin:0 0 30px}.cycle-opening h1{font-size:clamp(48px,7vw,88px);margin:0 0 32px}.cycle-opening h1 span{color:#b6c6cf}.cycle-hook{font-size:clamp(28px,4vw,43px);line-height:1.25;letter-spacing:-.03em;margin-bottom:25px}.cycle-intro{font-size:17px;line-height:1.85;max-width:700px;color:#c4cdd3;margin:15px 0}.cycle-small{font-size:12px;line-height:1.85;max-width:700px;color:#aab8c2;margin-top:27px}.cycle-lab{padding-block:55px}.cycle-section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.cycle-section-head .eyebrow,.cycle-explanation .eyebrow,.cycle-all .eyebrow,.cycle-boundary .eyebrow{color:#5e7483;margin-bottom:14px}.cycle-section-head h2,.cycle-explanation h2,.cycle-all h2{font-size:clamp(31px,4vw,47px);font-weight:400;line-height:1.15;letter-spacing:-.035em}.cycle-section-head>p{font:12px/1.8 var(--mono);color:#596d7b}.cycle-display{display:grid;grid-template-columns:1fr 1fr;border:1px solid #8fa1ab;background:#dae1e1}.cycle-pair{padding:30px 35px;border-right:1px solid #9aaab3}.cycle-pair .eyebrow{color:#4c6473;margin:0 0 8px}#pair-hanzi{font:clamp(70px,11vw,120px)/1.25 'Songti TC','Noto Serif CJK TC',serif;color:#293d49;letter-spacing:.06em}#pair-pinyin{font-size:22px;color:#526b7c;margin-top:10px}.cycle-state{padding:30px 35px;display:flex;flex-direction:column;justify-content:center}#step-count{font-size:50px;line-height:1.1;letter-spacing:-.04em}.cycle-count-label{display:block;font:11px/1.8 var(--mono);margin-top:8px;color:#4b6373}#cycle-message{font-size:16px;line-height:1.7;max-width:380px;margin-top:20px}.cycle-position{font:11px/1.8 var(--mono);color:#546c7b;margin-top:20px}.cycle-controls{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 10px}.cycle-controls[hidden]{display:none}.cycle-controls button,.pair-button{border:1px solid #788d9b;background:transparent;color:#273e4d;font:14px/1.5 var(--sans);padding:12px 18px;min-height:46px;cursor:pointer}.cycle-controls button:focus-visible,.pair-button:focus-visible{outline:2px solid #3e6a87;outline-offset:4px}.cycle-controls #next{background:#2d414f;color:#f0f1ed}.cycle-controls button:disabled{opacity:.4;cursor:default}.cycle-controls #complete{margin-left:auto}.cycle-control-note{font-size:12px;color:#61717c}.cycle-tracks{margin-top:38px;display:grid;gap:30px}.track-title{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:15px}.track-title h3{font-size:19px;font-weight:400}.track-title>span{font:10px var(--mono);color:#617783}.cycle-tracks ol{list-style:none;padding:0;margin:0;display:grid;gap:6px}.stem-track{grid-template-columns:repeat(10,minmax(0,1fr))}.branch-track{grid-template-columns:repeat(12,minmax(0,1fr))}.cycle-tracks li{padding:13px 3px;text-align:center;border-top:1px solid #a9b7bf;color:#596b78}.cycle-tracks li[aria-current=true]{background:#2d414f;border-color:#2d414f;color:#eef0e9}.cycle-tracks li span{display:block;font:25px/1.4 'Songti TC',serif}.cycle-tracks small{display:block;font-size:12px;line-height:1.8}.cycle-explanation{border-top:1px solid var(--line);padding-block:45px}.cycle-explanation>p:not(.eyebrow),.cycle-all>p:not(.eyebrow),.cycle-boundary>p:not(.eyebrow){max-width:730px;line-height:1.85;color:#51616d;margin-top:20px}.cycle-equation{display:flex;gap:35px;align-items:center;padding:32px 0;font-size:clamp(26px,4vw,44px);letter-spacing:-.04em}.cycle-equation i{font-style:normal;color:#8496a2}.cycle-equation strong{font-weight:400}.cycle-equation small{font:11px var(--mono);letter-spacing:0}.cycle-distinction{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}.cycle-distinction>div{border-top:1px solid #a3b3bc;padding-top:20px}.cycle-distinction small{font:10px var(--mono);color:#597080;letter-spacing:.08em}.cycle-distinction h3{font-size:30px;font-weight:400;margin:10px 0}.cycle-distinction h3 span{font:15px var(--sans);color:#5c7180;margin-left:12px}.cycle-distinction p{font-size:14px;color:#586875}.cycle-all{padding-block:35px 45px;border-top:1px solid var(--line)}.pair-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin-top:28px}.pair-button{padding:10px 3px;text-align:center}.pair-button small{display:block;font:10px/1.8 var(--mono);color:#69818f}.pair-button span{display:block;font:23px/1.8 'Songti TC',serif}.pair-button[aria-pressed=true]{background:#2d414f;color:#f0f1eb}.pair-button[aria-pressed=true] small{color:#c3d2da}.cycle-boundary{padding-block:30px 55px;border-top:1px solid var(--line)}.cycle-boundary>p:not(.eyebrow){font-size:13px}.cycle-boundary .text-link{margin-top:20px}.cycle-fallback{margin-top:25px}@media(max-width:700px){.cycle-opening{padding-block:35px 42px}.cycle-opening h1{font-size:clamp(43px,11vw,65px)}.cycle-intro{font-size:15px}.cycle-motto{font-size:14px}.cycle-section-head{display:block}.cycle-section-head>p{margin-top:16px}.cycle-lab{padding-block:35px}.cycle-display{grid-template-columns:1fr 1fr}.cycle-pair{padding:20px 14px}.cycle-state{padding:20px 14px}#pair-hanzi{font-size:58px}#pair-pinyin{font-size:18px}#step-count{font-size:37px}#cycle-message{font-size:13px;margin-top:13px}.cycle-position{font-size:10px;margin-top:13px}.cycle-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cycle-controls button{padding:11px 8px;font-size:12px}.cycle-controls #complete{margin:0}.track-title{display:block}.track-title>span{display:block;margin-top:6px}.stem-track{grid-template-columns:repeat(5,minmax(0,1fr))}.branch-track{grid-template-columns:repeat(6,minmax(0,1fr))}.cycle-tracks li{padding:9px 2px}.cycle-tracks li span{font-size:25px}.cycle-tracks small{font-size:11px}.cycle-equation{gap:15px;font-size:25px;flex-wrap:wrap}.cycle-distinction{gap:20px}.cycle-distinction h3 span{display:block;margin:6px 0 0}.pair-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.pair-button span{font-size:22px}.cycle-explanation,.cycle-all{padding-block:35px}.cycle-control-note{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.cycle-wheel-figure{max-width:510px;margin:0 auto 30px}.cycle-wheel{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 14px #20364218)}.cycle-wheel text{font:23px 'Songti TC','Noto Serif CJK TC',serif;fill:#435d6b}.cycle-wheel g>circle{fill:transparent;stroke:transparent}.cycle-wheel g.current>circle{fill:#2d414f;stroke:#d6dfde;stroke-width:1.5}.cycle-wheel g.current text{fill:#f0eee1}.cycle-wheel .wheel-center{font:25px var(--sans);fill:#546d79;letter-spacing:.04em}.cycle-wheel .wheel-center-small{font:10px var(--mono);fill:#617b87;letter-spacing:.10em}.cycle-wheel-figure figcaption{font:11px/1.8 var(--sans);text-align:center;color:#576f7c;margin-top:14px}@media(max-width:700px){.cycle-wheel-figure{max-width:380px;margin-bottom:24px}.cycle-wheel-figure figcaption{font-size:11px}}@media(prefers-reduced-motion:reduce){.cycle-wheel g{transition:none!important}}

.cycle-wheel{touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:ew-resize}.cycle-wheel:focus-visible{outline:2px solid #416b83;outline-offset:6px;border-radius:50%}.wheel-help{font-size:11px;line-height:1.7;color:#5a717d;text-align:center;max-width:440px;margin:12px auto 0}.cycle-controls #play[aria-pressed=true]{background:#b6c7c9;border-color:#526e78}.cycle-controls #play{min-width:135px}@media(max-width:700px){.cycle-controls #play{grid-column:1/-1}}

/* Keep semantic phrases together when they fit; allow internal wrapping at large text sizes. */
.cycle-opening .cycle-phrase,.cycle-opening .cycle-term{display:inline-block;width:max-content;max-width:100%;vertical-align:bottom;white-space:normal;overflow-wrap:anywhere}
