/* Scoped v13.5 academic interface. Does not modify WordPress theme styles. */
.icv13-mol{--ic13-ink:#153957;--ic13-navy:#0b305f;--ic13-blue:#0868b8;--ic13-border:#d1e3ef;--ic13-mist:#f2f9fe;--ic13-teal:#067869;color:var(--ic13-ink);max-width:1500px;line-height:1.56;margin:18px auto;font-family:inherit}
.icv13-mol,.icv13-mol *{box-sizing:border-box}.icv13-mol img{display:block;max-width:100%;height:auto}.icv13-mol button,.icv13-mol select,.icv13-mol a{font:inherit}.icv13-mol button{cursor:pointer}
.icv13-mol h2,.icv13-mol h3{color:var(--ic13-navy);margin:.3em 0 .5em}.icv13-mol h2{font-family:Georgia,serif;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.17}.icv13-mol h3{font-family:Georgia,serif;font-size:1.28rem}.icv13-mol h4{color:#123b67;margin:.25em 0 .5em}.icv13-mol p{margin:.5em 0 .8em}.icv13-mol a{color:#0765ad;text-decoration:underline;text-underline-offset:2px}
.icv13-mol-hero,.icv13-mol-viewer-head{display:flex;align-items:center;gap:28px;justify-content:space-between;background:linear-gradient(107deg,#e8f6ff 0%,#f6fbff 65%,#e5f7ff);border:1px solid var(--ic13-border);border-radius:16px;padding:28px 32px;overflow:hidden}.icv13-mol-hero>div,.icv13-mol-viewer-head>div{min-width:0;flex:1}.icv13-mol-hero img,.icv13-mol-viewer-head img{width:31%;max-height:245px;object-fit:contain}.icv13-mol-hero p{font-size:1.02rem;max-width:700px}.icv13-mol-eyebrow{font-size:.75rem!important;font-weight:850;letter-spacing:.07em;color:#0c67ab;text-transform:uppercase}.icv13-mol-tags{display:flex;gap:8px;flex-wrap:wrap}.icv13-mol-tags span{font-size:.83rem;font-weight:750;background:white;padding:5px 10px;border-radius:20px;border:1px solid #cbdfed}
.icv13-mol-columns{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:19px;margin-top:19px;align-items:start}.icv13-mol-main{min-width:0;border:1px solid var(--ic13-border);border-radius:12px;overflow:hidden}.icv13-mol-controls{background:var(--ic13-mist);padding:17px 20px;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.icv13-mol-controls label,.icv13-mol-viewer-panel label{font-size:.9rem;font-weight:760;color:var(--ic13-navy)}.icv13-mol select{display:block;min-height:42px;width:100%;border-radius:8px;padding:8px 12px;background:white;border:1px solid #a1c3d9;color:var(--ic13-ink);margin-top:6px}.icv13-mol-controls label{width:min(100%,380px)}.icv13-mol-action,.icv13-mol-next{background:var(--ic13-blue);color:white;border:none;border-radius:8px;padding:10px 15px;font-weight:800!important}.icv13-mol-hint-button,.icv13-mol-rotate button{border:1px solid #b8d7ec;border-radius:8px;background:#e8f5fe;color:#17466e;padding:10px 13px;font-weight:730!important}.icv13-mol button:focus-visible,.icv13-mol a:focus-visible,.icv13-mol select:focus-visible{outline:3px solid #2c8cce;outline-offset:2px}
.icv13-mol-question{padding:19px 22px}.icv13-mol-question h3{font-size:1.55rem}.icv13-mol-context{background:#f4f9fd;border-left:4px solid #47a2d7;padding:12px 14px;border-radius:5px}.icv13-mol-counter{color:#0d68ad;font-weight:850}.icv13-mol-steps{padding-left:22px}.icv13-mol-step{border:1px solid var(--ic13-border);border-radius:10px;padding:14px 16px;margin:12px 0;background:white}.icv13-mol-step.completed{background:#f0faf6;border-color:#acd9c5}.icv13-mol-step.locked{opacity:.6}.icv13-mol-correct{color:#0b784c;font-weight:850}.icv13-mol-form label{display:block;font-size:.85rem;font-weight:760}.icv13-mol-form select{margin-bottom:12px}.icv13-mol-form button{margin:0 8px 8px 0}.icv13-mol-hint{background:#fffae9;padding:12px;border-radius:6px}.icv13-mol-response{color:#a23c36;font-weight:800}.icv13-mol-success{color:#0d6847;padding:12px;background:#e4f8eb;font-weight:850;border-radius:8px}.icv13-mol-note,.icv13-mol-locked{color:#5d7381;font-size:.89rem}
.icv13-mol-rail{display:grid;gap:16px}.icv13-mol-rail section,.icv13-mol-lesson-rail section{background:#f7fbff;border:1px solid var(--ic13-border);border-radius:12px;padding:16px}.icv13-mol-rail ol{padding-left:22px}.icv13-mol-rail li{margin:7px 0}.icv13-mol-rail h4{margin:14px 0 5px;font-size:.95rem}.icv13-mol-download{display:grid;gap:3px}.icv13-mol-download a{font-size:.84rem}
.icv13-mol-lesson-layout{display:grid;grid-template-columns:205px minmax(0,1fr) 230px;gap:22px;align-items:start;margin-top:22px}.icv13-mol-lesson-layout nav{padding:15px;border:1px solid var(--ic13-border);border-radius:11px;background:#f6fbff;position:sticky;top:15px}.icv13-mol-lesson-layout nav li{margin:10px 0}.icv13-mol-lesson-layout nav ol{padding-left:21px}.icv13-mol-lesson-layout nav a{font-size:.88rem;text-decoration:none}.icv13-mol-lesson-content{min-width:0}.icv13-mol-lesson-content>section{margin-bottom:23px;border-bottom:1px solid #dbe9f2;padding:0 0 19px}.icv13-mol-lesson-content ul{padding-left:22px}.icv13-mol-example{background:#f0f8ff;border-left:4px solid #308bd2;border-radius:7px;padding:12px 16px}.icv13-mol-example p{margin:.25em 0}.icv13-mol-objectives{background:#f1faf5;padding:14px 16px!important;border-radius:8px;border:1px solid #cbe8d6!important}.icv13-mol-quick{background:#f2f8ff;border:1px solid #cbe1ef!important;padding:14px 16px!important;border-radius:8px}.icv13-mol-quick details{background:white;border:1px solid #d3e2ef;padding:12px;border-radius:7px}.icv13-mol-quick summary{cursor:pointer;font-weight:780}
.icv13-mol-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.icv13-mol-card{border:1px solid var(--ic13-border);border-radius:12px;padding:20px;background:white;box-shadow:0 3px 12px #0b325b0a}.icv13-mol-card img{height:190px;width:100%;object-fit:contain;background:#f5fbff;border-radius:9px}.icv13-mol-card span{color:#687e90;font-size:.88rem}.icv13-mol-hub-footer{color:#50708a;margin-top:20px}
.icv13-mol-viewer-head img{max-height:170px}.icv13-mol-viewer-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(235px,.8fr);gap:20px;margin-top:20px}.icv13-mol-viewer-panel,.icv13-mol-properties{border:1px solid var(--ic13-border);border-radius:12px;background:white;padding:18px;min-width:0}.icv13-mol-canvas{min-height:200px;touch-action:none;user-select:none;margin-top:14px;outline-offset:3px;cursor:grab}.icv13-mol-canvas:active{cursor:grabbing}.icv13-mol-canvas svg{max-height:440px;width:100%;display:block}.icv13-mol-rotate{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 0}.icv13-mol-properties h3{margin-top:5px}.icv13-mol-property{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #e1edf3}.icv13-mol-property span{font-size:.87rem;color:#5b7285}.icv13-mol-property strong{text-align:right;font-size:.93rem}.icv13-mol-model-note{font-size:.88rem;background:#f1f9fd;padding:13px;border-radius:8px;margin-top:14px}
@media(max-width:1100px){.icv13-mol-lesson-layout{grid-template-columns:190px minmax(0,1fr)}.icv13-mol-lesson-rail{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.icv13-mol-columns{grid-template-columns:minmax(0,1fr)}.icv13-mol-rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.icv13-mol-hero,.icv13-mol-viewer-head{display:block;padding:20px}.icv13-mol-hero img,.icv13-mol-viewer-head img{width:100%;max-height:180px;margin-top:15px}.icv13-mol-columns,.icv13-mol-lesson-layout,.icv13-mol-viewer-layout{grid-template-columns:minmax(0,1fr)}.icv13-mol-controls{display:block}.icv13-mol-next{margin-top:12px}.icv13-mol-question{padding:13px}.icv13-mol-lesson-layout nav{position:static}.icv13-mol-lesson-rail{grid-column:auto;grid-template-columns:1fr}.icv13-mol-rail,.icv13-mol-cards{grid-template-columns:1fr}.icv13-mol-property{flex-wrap:wrap}.icv13-mol-card img{height:160px}}
/* v13.19: scoped keyboard focus, control targets and reduced motion. */
.icv13-mol :is(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid #0b305f;outline-offset:3px;box-shadow:0 0 0 3px #fff}
.icv13-mol :is(button,select,input){min-height:24px}
.icv13-mol select{max-width:100%;min-width:0}
@media(prefers-reduced-motion:reduce){.icv13-mol *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Locked-step instructions remain readable; state is also written in text. */
.icv13-mol-step.locked{opacity:1;color:#153957;background:#f2f9fe}
.icv13-mol-step.locked .icv13-mol-locked{color:#435f76}
