/* ものづくりの質感と操作への反応 */
.empathy{background-image:radial-gradient(#487e5b26 .8px,transparent .8px);background-size:18px 18px}.empathy h2 span{display:inline-block;margin-top:10px}.learning .step,.concept-copy>span{display:inline-block;background:#fff2b9;padding:2px 10px;border-radius:3px;box-shadow:2px 2px 0 #b09d5830}.teacher-note{box-shadow:4px 5px 0 #284e3410}.button,button,.course-jumps a,summary{transition:transform .18s,box-shadow .18s,background-color .18s}.button:active,button:active,.course-jumps a:active{transform:translateY(2px)}@media(hover:hover){.button:hover{transform:translateY(-2px);box-shadow:0 5px 12px #21493925}.cc-course{transition:transform .2s,box-shadow .2s}.cc-course:hover{transform:translateY(-3px);box-shadow:0 8px 22px #1c423414}}
.maker-demo{margin-top:24px;margin-bottom:16px}.maker-demo details{border:1px solid #cbdccf;border-radius:12px;background:#fffcf2;box-shadow:3px 4px 0 #43634b12;overflow:hidden}.maker-demo summary{padding:18px 24px;display:flex;align-items:center;gap:18px;cursor:pointer;list-style:none}.maker-demo summary::-webkit-details-marker{display:none}.maker-demo summary:after{content:none}.maker-tag{color:#506f59;font-size:13px}.maker-demo summary strong{font-size:17px}.demo-open{margin-left:auto;font-size:13px;white-space:nowrap}.demo-body{border-top:1px dashed #b4c9ba;padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:28px}.demo-instruction{font-size:14px;line-height:1.8;margin:0 0 16px}.demo-board{position:relative;width:100%;aspect-ratio:4/3;border:2px solid #b4c9ba;border-radius:8px;background-color:#fff;background-image:linear-gradient(to right,#cbdccf 1px,transparent 1px),linear-gradient(to bottom,#cbdccf 1px,transparent 1px);background-size:25% 33.333%}.demo-star{position:absolute;left:87.5%;top:16.667%;transform:translate(-50%,-50%);color:#c78910;font-size:34px}.demo-robot{position:absolute;left:12.5%;top:83.333%;transform:translate(-50%,-50%);width:38px;height:34px;border:2px solid #214d3e;border-radius:10px;background:#a6dfbe;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 0 #244e3920;transition:left .35s,top .35s}.demo-robot:before{content:'';position:absolute;width:4px;height:7px;top:-8px;background:#214d3e}.demo-robot i{width:4px;height:7px;background:#214d3e;border-radius:2px}.direction-buttons{display:flex;gap:8px}.demo-controls button{font:inherit;cursor:pointer;border:1px solid #97b4a2;border-radius:7px;background:white;color:#244e3e;min-height:44px;padding:8px 12px}.direction-buttons button{font-size:25px;flex:1;box-shadow:0 3px 0 #b4c9ba}.demo-controls button:disabled{opacity:.45;cursor:default}.queue-label{font-size:13px;display:flex;justify-content:space-between;margin:22px 0 8px}.command-queue{list-style:none;display:flex;flex-wrap:wrap;gap:6px;min-height:46px;padding:8px;margin:0 0 18px;border:1px dashed #97b4a2;border-radius:6px;background:#fff}.command-queue li{width:30px;height:30px;background:#d8eee0;border-radius:4px;text-align:center;line-height:30px;font-weight:700}.command-queue li.is-running{background:#ffdc77;outline:2px solid #9c700f}.demo-actions{display:flex;gap:8px;flex-wrap:wrap}.demo-controls .demo-run{background:#347352;color:white;font-weight:700}.demo-status{font-size:14px;min-height:3.6em;line-height:1.8;margin-bottom:0}.maker-reveal{animation:maker-arrive .55s ease-out both}@keyframes maker-arrive{from{opacity:.4;transform:translateY(14px)}to{opacity:1;transform:none}}@media(max-width:700px){.maker-demo summary{padding:18px;flex-wrap:wrap;gap:5px 12px}.maker-tag{flex-basis:100%}.maker-demo summary strong{font-size:15px}.demo-body{grid-template-columns:1fr;padding:18px;gap:20px}.demo-board{max-width:360px;margin:auto}.demo-open{font-size:12px}.empathy h2{font-size:25px}}@media(prefers-reduced-motion:reduce){.maker-reveal{animation:none}.demo-robot,.button,button,.cc-course,.course-jumps a,summary{transition:none}}

.maker-demo details[open]>summary::after{content:none}

/* 各行の文字幅を基準に中心を揃える */
.empathy h2{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center}.empathy h2 .empathy-line{display:block;width:fit-content;max-width:100%;margin:0 auto;font-feature-settings:"palt" 1;line-height:1.7;letter-spacing:.02em}
