.nodes-lesson{margin:70px 0 80px;padding:clamp(22px,4vw,45px);border:1px solid #52668b;border-radius:26px;background:radial-gradient(circle at 70% 0%,#293d5c,#111a32 70%);scroll-margin-top:24px}
.nodes-shortcut{display:inline-block;padding:12px 17px;border-radius:12px;border:1px solid #9fb2d4;color:#f6e2b6;background:#263858;font-size:14px;font-weight:700;text-decoration:none;line-height:1.6}.nodes-shortcut:hover{background:#36537c}
.nodes-kicker{color:#f0d29e;font-size:12px;letter-spacing:.16em;font-weight:700}.nodes-lesson h2{font:400 clamp(28px,3.3vw,43px) Georgia,'Yu Mincho',serif;line-height:1.5;margin:10px 0 18px}
.nodes-lesson p{line-height:1.85}.nodes-lead{max-width:900px;color:#d6dfef;margin-bottom:28px}
.nodes-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:0 0 27px}.nodes-guide>div{border:1px solid #455879;background:#202d46;border-radius:15px;padding:18px 19px}.nodes-guide span{font-size:11px;letter-spacing:.13em;color:#efcea0;display:block;margin-bottom:6px}.nodes-guide b{font-size:18px}.nodes-guide p{font-size:13px;color:#b9c9e1;margin:6px 0 0}
.nodes-showcase{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:18px}.nodes-visual{background:#0e1b35;border:1px solid #50678d;border-radius:20px;padding:16px;min-width:0}.nodes-visual-top{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;align-items:center;padding:3px 8px 10px}.nodes-visual-top strong{font-size:14px}.nodes-visual-top span{font-size:12px;color:#bcd3ee}
.nodes-visual svg{display:block;width:100%;height:auto;overflow:visible}.nodes-visual svg text{font-family:'Yu Gothic',Meiryo,sans-serif;fill:#edf6ff;font-size:16px;font-weight:700}.nodes-visual svg .small{fill:#c2d1e9;font-size:13px;font-weight:500}.nodes-visual svg .head-label,.nodes-visual svg .north-label{fill:#a2f3da}.nodes-visual svg .tail-label,.nodes-visual svg .south-label{fill:#ffd0df}.nodes-glow{filter:drop-shadow(0 0 12px #c8e2ff)}
.nodes-live{display:flex;gap:14px;align-items:flex-start;border:1px solid #4b7494;border-radius:14px;background:#1b334c;padding:17px 20px;margin:4px 7px 15px}.nodes-live-dot{height:13px;width:13px;background:#9ff4da;border-radius:50%;margin-top:7px;box-shadow:0 0 13px #78dfbd;flex:none}.nodes-live-label{font-size:12px;color:#bfccdf;display:block;margin-bottom:3px}.nodes-live strong{font-size:19px;color:#fff}.nodes-live p{font-size:13px;margin:3px 0 0;color:#d5e2f0}.nodes-lesson.at-tail .nodes-live-dot{background:#f1b2c6;box-shadow:0 0 14px #ed9eaf}.nodes-lesson.at-head .nodes-cross-head,.nodes-lesson.at-tail .nodes-cross-tail{stroke:white;stroke-width:6;filter:drop-shadow(0 0 10px white)}
.nodes-capt{font-size:12px!important;color:#b3c3db!important;margin:10px 6px 0}.nodes-side{display:flex;flex-direction:column;gap:14px}.nodes-card-intro{font-size:14px;color:#e7d3b3;font-weight:700;padding:7px 5px}.nodes-side article{border:1px solid #526488;border-radius:17px;padding:20px;background:#202d49}.nodes-side h3{font-size:20px;margin:0 0 9px}.nodes-side .nodes-head h3{color:#a6f3dc}.nodes-side .nodes-tail h3{color:#ffcadb}.nodes-side article p{font-size:14px;color:#d8e3f2;margin:0 0 15px}.nodes-side article button,.nodes-pause{border:1px solid #8ea5cc;background:#30476c;color:#fff;border-radius:11px;padding:11px 14px;font-size:14px;font-weight:700;cursor:pointer}.nodes-side article button:hover,.nodes-pause:hover{background:#42648e}.nodes-pause{background:#e4cca2;color:#16223c;border-color:#eed6b0}.nodes-side-hint{font-size:13px;color:#bfcfe4;margin:0 5px}
.nodes-deep{margin:24px 0 15px;border:1px solid #4a5c7e;border-radius:15px;background:#1c2b44;padding:17px 20px}.nodes-deep summary{cursor:pointer;font-weight:700;color:#e8d4ad}.nodes-deep p{color:#d0ddee;line-height:1.9;font-size:14px;margin:13px 0 0}
@media(max-width:850px){.nodes-showcase{grid-template-columns:1fr}.nodes-side{display:grid;grid-template-columns:1fr 1fr}.nodes-card-intro,.nodes-pause,.nodes-side-hint{grid-column:1/-1}}
@media(max-width:650px){.nodes-guide{grid-template-columns:1fr}.nodes-guide>div{padding:12px 17px}.nodes-showcase{gap:12px}.nodes-lesson{margin:46px 0;padding:19px}.nodes-side{grid-template-columns:1fr}.nodes-side article{padding:16px}.nodes-visual{padding:10px}.nodes-visual svg text{font-size:15px}.nodes-visual svg .small{font-size:12px}}
