/* Scoped additions to the existing Listening Studio palette and controls. */
.cycle-page{max-width:800px;padding-block:36px 150px}
.cycle-panel h1{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.18;letter-spacing:-.035em;margin:14px 0 24px}
.cycle-panel h2,.cycle-plan h2{font-size:clamp(1.25rem,2.5vw,1.6rem);line-height:1.35;letter-spacing:-.025em;margin:0 0 16px}
.cycle-panel p,.cycle-plan p{line-height:1.65;margin:0 0 16px}
.cycle-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.cycle-eyebrow{font-size:.8125rem;font-weight:600;color:var(--fg-muted);margin-block:16px 10px!important;letter-spacing:.015em}
.cycle-tag{font-size:.8125rem;padding:5px 10px;border-radius:6px;background:var(--accent-wash);color:var(--accent-text);white-space:nowrap}
.cycle-plan{padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--surface-1);margin:24px 0 32px;max-width:100%}
.cycle-plan .cycle-eyebrow{margin-top:0!important}
.cycle-card{padding:32px;border:1px solid var(--border);border-radius:20px;background:var(--surface-1)}
.cycle-steps{display:flex;gap:12px 22px;flex-wrap:wrap;margin:0 0 24px;padding:0;list-style:none;color:var(--fg-muted);font-size:.875rem}
.cycle-steps li[aria-current]{color:var(--accent-text);text-decoration:underline;text-underline-offset:7px;font-weight:600}
.cycle-model{background:var(--surface-inset);border-radius:12px;padding:22px;margin:24px 0 14px;border-left:3px solid var(--accent-line);overflow-wrap:anywhere}
.cycle-model p:first-child{font-size:1.5rem;line-height:1.4;color:var(--fg)}
.cycle-model p:last-child{margin:0;color:var(--fg-muted)}
.cycle-small{display:block;color:var(--fg-muted);font-size:.875rem;line-height:1.6}
.cycle-actions,.cycle-footer{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.cycle-footer{margin-top:28px}
.cycle-panel .btn,.cycle-plan .btn,.cycle-panel .text-action,.cycle-plan .text-action{min-height:44px;white-space:normal;text-align:center}
.cycle-modes{border:0;padding:0;margin:24px 0;display:flex;gap:12px 24px;flex-wrap:wrap}
.cycle-modes legend{font-weight:550;margin-bottom:10px;font-size:.9375rem}
.cycle-modes label,.cycle-choices label{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}
.cycle-modes input,.cycle-choices input{width:18px;height:18px;flex:none;accent-color:var(--accent)}
.cycle-answer{display:block;font-weight:550;line-height:1.6}
.cycle-answer textarea{display:block;width:100%;min-height:120px;margin:10px 0;padding:16px;font:inherit;font-weight:400;color:var(--fg);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:10px;resize:vertical;scroll-margin-block:100px 180px}
.cycle-answer textarea:focus{outline:2px solid var(--accent-text);outline-offset:3px}
.cycle-support{border-block:1px solid var(--border);margin:24px 0;padding:12px 0}
.cycle-support summary{cursor:pointer;min-height:44px;align-content:center;font-weight:550}
.cycle-notice{padding:18px;background:var(--surface-inset);border:1px solid var(--border);border-radius:10px;margin:18px 0;overflow-wrap:anywhere}
.cycle-notice p:last-child{margin-bottom:0}
.cycle-confidence{display:block;margin:24px 0;font-size:.9375rem}
.cycle-confidence select{display:block;max-width:100%;min-height:44px;margin-top:10px;padding:10px 14px;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:8px;font:inherit;color:var(--fg)}
.cycle-provenance{margin:24px 8px!important}
.cycle-evidence{margin-top:32px;border-top:1px solid var(--border);padding-top:24px}
.cycle-evidence h3{font-size:1.15rem;margin:0 0 10px}.cycle-evidence h4{font-size:1rem;margin:0 0 10px}
.cycle-evidence-row{padding:24px 0;border-bottom:1px solid var(--border)}
.cycle-evidence-row dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}
.cycle-evidence-row dt{font-size:.8125rem;color:var(--fg-muted);line-height:1.4}.cycle-evidence-row dd{margin:4px 0;font-size:1.5rem;font-weight:550}
.cycle-due{list-style:none;padding:0}.cycle-due li{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-bottom:1px solid var(--border);padding:18px 0}
.cycle-transfer{margin:24px 0;padding-block:24px;border-top:1px solid var(--border)}.cycle-transfer input{max-width:100%;padding-block:12px}
.cycle-course-picker,.cycle-script-picker{display:block;max-width:100%;font-size:.9375rem;margin:12px 0 24px}
.cycle-course-picker select,.cycle-script-picker select{display:block;width:100%;max-width:380px;min-height:44px;margin-top:8px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:8px;background:var(--surface-1);color:var(--fg);font:inherit}
.cycle-target>span{display:block;overflow-wrap:anywhere;unicode-bidi:plaintext;line-height:1.65}
.cycle-target [data-cycle-roman]:not(:first-child){font-size:.9em;color:var(--fg-muted);margin-top:8px}
.cycle-plan h2,.cycle-evidence-row h4,.cycle-due span{overflow-wrap:anywhere}
@media(max-width:600px){.cycle-page{padding-top:24px}.cycle-card,.cycle-plan{padding:22px 18px}.cycle-evidence-row dl{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-footer>.btn{width:100%}.cycle-heading{gap:10px}.cycle-modes{gap:8px}.cycle-modes label{width:100%}.cycle-model{padding:18px}.cycle-panel h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.cycle-panel *,.cycle-plan *{scroll-behavior:auto!important}}
