
.anim-class{--ink:#173b48;--teal:#087d83;color:var(--ink);max-width:1500px;margin:auto}.anim-heading{padding:24px 28px;background:linear-gradient(120deg,#e1f7f4,#fff5d9);border-radius:22px;margin:18px 0}.anim-heading h2{font-size:clamp(26px,3vw,40px);margin:8px 0}.anim-eyebrow{font-weight:800;font-size:14px;letter-spacing:.08em;color:#286875}.anim-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.anim-tabs button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:17px;gap:7px;white-space:normal}.anim-tabs strong{font-size:21px}.anim-tabs span{font-size:15px}.anim-class button[aria-pressed=true]{outline:3px solid #107b80;background:#ddf4ed;color:#163e40}.anim-class button:focus-visible,.anim-class select:focus-visible,.anim-class input:focus-visible{outline:3px solid #ad3677;outline-offset:4px}.anim-options,.anim-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:18px 0}.anim-options label{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.anim-class select{max-width:100%;padding:10px;font-size:17px}.anim-predict{background:#fff;border:2px solid #d9e6e6;border-radius:20px;padding:28px;margin:10px 0;min-height:330px}.anim-answers{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0}.anim-answers button{min-width:80px;min-height:58px}.anim-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px}.anim-scene,.anim-explain{min-width:0;border:2px solid #dce7e5;border-radius:22px;padding:24px;background:#fff}.anim-scene{background:linear-gradient(180deg,#f2fbfa,#fff)}.anim-legend{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:15px}.anim-scene svg{width:100%;height:auto;overflow:visible;margin:20px 0;color:#173b48}.anim-role-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.anim-role-row>div{text-align:center;padding:14px 5px;background:#e7f3f2;border-radius:12px;min-width:0}.anim-role-row small{display:block;font-size:15px}.anim-role-row strong{display:block;font-size:26px;margin-top:10px}.anim-explain h3{font-size:25px;margin:12px 0}.anim-equation{font-size:clamp(20px,2vw,29px);padding:14px 0;overflow-x:auto;max-width:100%}.anim-equation .katex{font-size:1em}.anim-explain p{font-size:20px;line-height:1.8}.anim-note{font-size:15px;line-height:1.7;color:#526870}.anim-close,.anim-warning{padding:16px;border-left:5px solid #dc9b38;background:#fff5d9;border-radius:8px;line-height:1.8}.anim-explore{display:block;background:#eaf4fb;padding:18px;margin-top:18px;border-radius:12px}.anim-explore input{display:block;width:100%;margin-top:20px;min-height:40px}.anim-controls button{min-height:45px}.anim-class .tools{flex-wrap:wrap}.anim-class button:disabled{opacity:.45;cursor:default}#anim-feedback button{margin:12px}
@media(max-width:800px){.anim-layout{grid-template-columns:1fr}.anim-tabs{grid-template-columns:1fr}.anim-tabs button{padding:12px}.anim-tabs span{display:none}.anim-heading{padding:18px}.anim-scene,.anim-explain,.anim-predict{padding:16px}.anim-role-row strong{font-size:23px}.anim-explain p{font-size:18px}.anim-class .tools{display:flex}.anim-controls{gap:8px}.anim-controls button{font-size:15px;padding:10px}.anim-equation{font-size:21px}}
@media(prefers-reduced-motion:reduce){.anim-class *{animation:none!important;transition:none!important}}

@media(max-width:800px){.anim-scene svg text{font-size:30px}.anim-scene svg text:last-child{display:none}}

@media(max-width:600px){.anim-scene svg text{font-size:28px}}

@media(max-width:800px){.anim-scene svg text:last-child{display:inline}}
