.purpose{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:16px 0}.purpose span{border:3px solid var(--green);border-radius:14px;padding:8px 11px;text-align:center;font-weight:900;background:#fff}.purpose b{color:var(--orange)}
.image-card{border:3px solid #bfcec5;border-radius:18px;background:#fff;padding:10px;text-align:center;margin:14px 0}.image-card img{max-width:100%;height:auto;max-height:620px;object-fit:contain}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.trna-read{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center}.trna-read img{max-width:100%;max-height:300px;object-fit:contain}.check-btn{border:3px solid #a85f12;border-radius:12px;padding:10px 18px;font-weight:900;background:var(--orange);color:#fff}.check-btn:disabled{opacity:.45;cursor:not-allowed}
.divider-slot.selected{background:#fff1dc;border-color:var(--orange)}.divider-slot.correct{background:#e9f5ec;border-style:solid;border-color:var(--green);font-size:1.35rem}.divider-slot.bad{border-color:var(--red);background:#fff0f0}.codon-row{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:14px 0}.codon{border:4px solid var(--purple);border-radius:15px;background:#fff;padding:12px 18px;font-weight:900}.codon.start-pick{outline:6px solid var(--orange)}.codon.stop-pick{outline:6px solid var(--blue)}.codon.before{opacity:.5}.codon.active-region{background:#e9f5ec;border-color:var(--green)}.codon.after{opacity:.5;text-decoration:line-through}.key{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.orange-dot{color:var(--orange)}.blue-dot{color:var(--blue)}
.step-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.step-card,.prompt-card{border:3px solid #b8c9c0;border-radius:16px;padding:12px;text-align:center;background:#fff}.step-card h3,.prompt-card h3{margin:0 0 8px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.mini-choice,.choice{border:3px solid var(--green);border-radius:12px;background:#fff;padding:9px;font-weight:800}.mini-choice.chosen,.choice.chosen{background:#fff1dc;border-color:var(--orange)}.mini-choice.correct,.choice.correct{background:#e9f5ec}.codon-chart-layout{display:grid;grid-template-columns:minmax(290px,.9fr) 1.1fr;gap:16px;align-items:start}.sticky-wheel{position:sticky;top:90px}.translate-grid,.pair-grid,.delivery-row,.compare{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.pair-grid,.delivery-row{grid-template-columns:repeat(3,1fr)}
.label-figure{position:relative;display:inline-block;max-width:430px}.label-figure img{display:block;width:100%}.label-target{position:absolute;width:145px;min-height:46px;background:#fff;font-size:.78rem}.label-target.amino{left:31%;top:3%}.label-target.body{left:2%;top:47%}.label-target.anti{left:60%;top:82%}.sentence-row,.explain-row{display:grid;grid-template-columns:minmax(250px,1fr) 230px;gap:10px;align-items:center;margin:10px 0}.pair-key{display:flex;gap:8px;flex-wrap:wrap}.pair-key span{border-radius:12px;padding:8px 12px;color:#fff;font-weight:900}.pair-key .a{background:var(--a)}.pair-key .u{background:var(--u)}.pair-key .c{background:var(--c)}.pair-key .g{background:var(--g)}
.chain{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.chain-slot{min-width:130px}.link{font-size:1.5rem;color:var(--orange);font-weight:900}.event-list,.choice-stack{display:grid;gap:10px}.event-slot{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:10px}.event-number{width:42px;height:42px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:900}.compare-box{border:4px solid var(--green);border-radius:18px;padding:14px;background:#fff}.choice{text-align:left;width:100%}.score-stack{height:390px}.score-box{height:7px}.pass-line{bottom:71.43%}
@media(max-width:950px){.codon-chart-layout,.trna-read,.two-col{grid-template-columns:1fr}.sticky-wheel{position:static}.pair-grid,.delivery-row{grid-template-columns:1fr 1fr}.purpose b{transform:none}}
@media(max-width:600px){.step-grid,.translate-grid,.pair-grid,.delivery-row,.compare,.choice-grid{grid-template-columns:1fr}.sentence-row,.explain-row{grid-template-columns:1fr}.label-target{width:115px;font-size:.66rem}}
