/* Loaded after tech-theme.css. Every motion surface keeps its full text at rest. */
.cm-concept{display:grid;grid-template-rows:56px 225px minmax(44px,auto);gap:8px;width:100%;min-width:0;color:#f3f7ff}
.cm-scholar{display:flex;align-items:center;gap:12px;min-width:0}.cm-scholar img{width:48px;height:48px;object-fit:cover;border-radius:14px;flex:none}.cm-scholar>div{display:grid;gap:3px;min-width:0}.cm-scholar strong{font-size:20px;line-height:1.2}.cm-scholar span{font-size:16px;line-height:1.35;color:#c3d5e7}.cm-scholar a{font-size:16px;line-height:1.35;margin-left:auto;max-width:175px;min-height:44px;display:flex;align-items:center;flex:none;color:#91eaf2;text-underline-offset:4px}
.cm-board{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:80px 127px;gap:18px 30px;min-width:0}.cm-node{position:relative;z-index:1;grid-row:2;min-width:0;align-self:stretch;background:#f1f6fa;color:#172b3a;border:1px solid #cadce8;border-radius:13px;padding:10px 12px;box-shadow:0 7px 14px #020b1928,inset 0 1px #fff;display:flex;flex-direction:column;justify-content:center;gap:5px}.cm-node>b{font-size:16px;color:#075c73;line-height:1.3}.cm-node>p{font-size:22px;line-height:1.3;overflow-wrap:anywhere}.cm-node>small{font-size:16px;line-height:1.35;color:#45576a}.cm-question,.cm-plan{grid-column:1}.cm-retrieval,.cm-execution{grid-column:2}.cm-generation,.cm-observation{grid-column:3}.cm-answer,.cm-invitation{grid-column:4}.cm-documents{grid-row:1;grid-column:2/4;background:#213e55;color:#edf7ff;border:1px solid #698da7;border-radius:10px;padding:7px 12px;z-index:1;align-self:start}.cm-documents>b{font-size:16px;line-height:1.3}.cm-documents>div{display:flex;gap:18px;flex-wrap:wrap}.cm-documents span{font-size:18px;line-height:1.6;border-bottom:2px solid transparent}.cm-documents .cm-selected{border-color:#91eaf2}.cm-edge-label{font-size:16px;color:#a4eaf0;line-height:1.35;position:absolute;z-index:2;background:#102439;padding:0 5px}.cm-bypass-label{top:65px;left:8px}.cm-routes{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:0;pointer-events:none}.cm-route,.cm-arrow{stroke:#85d9e4;stroke-width:3;fill:none;stroke-linejoin:round;stroke-linecap:round}.cm-route-citation{stroke:#b6cadc;stroke-dasharray:5 5}.cm-route-feedback{stroke:#efba69;stroke-width:4}.cm-route-bypass{stroke:#87e1dc}.cm-packet{fill:#ffd181;stroke:#172b3a;stroke-width:2;filter:drop-shadow(0 0 4px #ffd181aa)}.cm-active-route{stroke:#ffd181;stroke-width:4}.cm-active{outline:3px solid #efba69;outline-offset:2px}.cm-missing{border:2px dashed #a36b1c;background:#fff1d9}.cm-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.cm-play-controls,.cm-questions{display:flex;gap:6px;flex:none}.cm-toolbar button{min-height:44px;padding:7px 12px;font-size:16px;border-color:#6489a4;background:#18384d;color:#e7f8ff;white-space:nowrap}.cm-toolbar button[aria-pressed=true]{background:#a4eaf0;color:#123044;border-color:#c8fbff}.cm-state{font-size:16px;line-height:1.3;color:#c4d6e6;flex:1;min-width:140px}.cm-planning .cm-board{grid-template-rows:34px 111px 42px;gap:8px 30px}.cm-goal{position:absolute;top:0;left:0;color:#cef5f8;font-size:18px;line-height:1.5}.cm-planning .cm-node{grid-row:2;padding:8px 10px}.cm-planning .cm-node>p{font-size:22px;line-height:1.3}.cm-planning .cm-node>small{font-size:16px;line-height:1.25}.cm-adjustment{position:absolute;left:25%;top:162px;min-height:32px;padding:5px 12px;color:#ffe5bc;background:#493a2b;border:1px solid #c99b5c;border-radius:8px;display:flex;gap:16px;font-size:16px;line-height:1.3;z-index:1}.cm-rounds{position:absolute;left:0;bottom:0;right:0;display:flex;gap:24px;color:#d1dfea;font-size:16px;line-height:1.4}.cm-rounds span{white-space:nowrap}
.cm-step-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:8px}.cm-step-controls button{font-size:16px;min-width:44px;min-height:44px;padding:5px 10px}.cm-step-controls button[aria-pressed=true]{background:#a4eaf0;color:#123044}.cm-step-status{font-size:16px;color:#c2d9e9;line-height:1.4}.cm-current-row{outline:3px solid #68e0ed;outline-offset:2px;position:relative}.cm-cell-missing{background:#fff1d9!important;color:#644316!important;outline:2px dashed #a36b1c;outline-offset:-3px}.cm-cover-destinations{position:relative}.cm-cover-flow{grid-column:1/-1;display:flex;justify-content:center;gap:14px;align-items:center;color:#cff7fb;font-size:18px;line-height:1.4}.cm-cover-flow span,.cm-cover-flow b{padding:8px 12px;background:#1b3b52;border:1px solid #729cb1;border-radius:9px}.cm-cover-flow i{font-size:25px;font-style:normal}.cm-handoff-route{position:relative;padding-bottom:35px}.cm-file-token{position:absolute;left:75%;top:80%;transform:translateX(-50%);background:#d8f4f2;color:#173547;border:1px solid #83c8d0;border-radius:8px;padding:5px 10px;font-size:16px;white-space:nowrap;pointer-events:none}.cm-timeline{position:relative;margin-bottom:32px!important}.cm-time-labels{position:absolute;top:100%;left:0;right:0;height:28px;padding:0!important;background:none!important;display:block!important}.cm-time-labels>span{position:absolute;left:var(--position);top:6px;font-size:16px;line-height:1.2;color:#d1e7f6;transform:translateX(-50%)}.cm-time-labels>span:first-child{transform:none}.cm-time-labels>span:last-child{transform:translateX(-100%)}.cm-video-cursor{position:absolute;left:var(--cm-video-progress,0%);top:0;bottom:0;border-left:3px solid #d18c15;pointer-events:none;z-index:2}.cm-video-readout{font-size:16px;color:#c8e4f3;line-height:1.3}
/* Flow is the renderer's decision, including short desktop windows. */
.cs-stage[data-layout=flow] .cm-concept{grid-template-rows:auto auto auto;gap:16px}.cs-stage[data-layout=flow] .cm-scholar{align-items:flex-start;flex-wrap:wrap;gap:10px}.cs-stage[data-layout=flow] .cm-scholar>div{flex:1}.cs-stage[data-layout=flow] .cm-scholar strong{font-size:20px}.cs-stage[data-layout=flow] .cm-scholar span{font-size:16px}.cs-stage[data-layout=flow] .cm-scholar a{margin-left:58px;max-width:none;font-size:16px;min-height:44px}.cs-stage[data-layout=flow] .cm-board{display:flex;flex-direction:column;padding-right:24px;gap:26px;height:auto;min-height:0}.cs-stage[data-layout=flow] .cm-node{padding:14px 12px;min-height:100px;margin:0;width:100%;flex:none}.cs-stage[data-layout=flow] .cm-node>p,.cs-stage[data-layout=flow] .cm-planning .cm-node>p{font-size:18px;line-height:1.45}.cs-stage[data-layout=flow] .cm-node>b,.cs-stage[data-layout=flow] .cm-node>small{font-size:16px;line-height:1.4}.cs-stage[data-layout=flow] .cm-documents{position:relative;padding:12px;flex:none;order:1}.cs-stage[data-layout=flow] .cm-question{order:0}.cs-stage[data-layout=flow] .cm-retrieval{order:2}.cs-stage[data-layout=flow] .cm-generation{order:3}.cs-stage[data-layout=flow] .cm-answer{order:4}.cs-stage[data-layout=flow] .cm-documents>div{display:grid;gap:6px}.cs-stage[data-layout=flow] .cm-documents span{font-size:18px}.cs-stage[data-layout=flow] .cm-bypass-label{position:static;order:5;font-size:16px;background:none;padding:0;line-height:1.5}.cs-stage[data-layout=flow] .cm-goal{position:static;font-size:18px}.cs-stage[data-layout=flow] .cm-adjustment{position:relative;left:auto;top:auto;display:grid;gap:5px;font-size:18px;padding:12px}.cs-stage[data-layout=flow] .cm-rounds{position:relative;display:grid;gap:8px;font-size:16px}.cs-stage[data-layout=flow] .cm-rounds span{white-space:normal}.cs-stage[data-layout=flow] .cm-planning .cm-board{gap:24px}.cs-stage[data-layout=flow] .cm-toolbar{gap:12px;align-items:flex-start}.cs-stage[data-layout=flow] .cm-play-controls{width:100%}.cs-stage[data-layout=flow] .cm-questions{display:flex;flex-wrap:wrap;gap:6px}.cs-stage[data-layout=flow] .cm-toolbar button{font-size:16px;min-height:44px;padding:8px 10px}.cs-stage[data-layout=flow] .cm-state{flex-basis:100%;font-size:16px}.cs-stage[data-layout=flow] .cm-file-token{position:static;display:block;transform:none;max-width:100%;white-space:normal}.cs-stage[data-layout=flow] .cm-handoff-route{padding-bottom:0}.cs-stage[data-layout=flow] .cm-time-labels{display:none!important}.cs-stage[data-layout=flow] .cm-timeline>div:not(.cm-time-labels){position:relative}.cs-stage[data-layout=flow] .cm-timeline>div:not(.cm-time-labels):after{content:'累計 ' attr(data-cm-end) ' 秒';display:block;font-size:16px;grid-column:2}.cs-stage[data-layout=flow] .cm-video-cursor{left:0;right:0;top:var(--cm-video-progress,0%);bottom:auto;border-left:0;border-top:3px solid #b77608}.cs-stage[data-layout=flow] .cm-cover-flow{flex-wrap:wrap;font-size:18px;gap:8px}
@media(prefers-reduced-motion:reduce){.cm-concept *,.cm-cover-flow *,.cm-file-token{animation:none!important;transition:none!important}.cm-packet{display:none}}
.cm-planning .cm-observation>p{font-size:21px;line-height:1.25}.cm-planning .cm-observation>small{font-size:16px;line-height:1.2}.cm-planning .cm-observation{gap:3px;padding-block:6px}.cm-cover-flow{flex-wrap:wrap}.cm-cover-flow>span{flex-basis:100%;text-align:center}
.cs-stage[data-layout=flow] .cm-retrieval{order:1}.cs-stage[data-layout=flow] .cm-documents{order:2}.cs-stage[data-layout=flow] .cm-planning .cm-goal{order:0}.cs-stage[data-layout=flow] .cm-plan{order:1}.cs-stage[data-layout=flow] .cm-execution{order:2}.cs-stage[data-layout=flow] .cm-observation{order:3}.cs-stage[data-layout=flow] .cm-adjustment{order:4}.cs-stage[data-layout=flow] .cm-invitation{order:5}.cs-stage[data-layout=flow] .cm-rounds{order:6}
/* Shared static language: precise frames, readable material surfaces, no generic reveal. */
.cs-stage[data-layout=flow] .cm-scholar>div{flex:1 0 calc(100% - 58px)}
.cs-stage[data-layout=flow] .cm-scholar a{flex-basis:calc(100% - 58px);margin-left:58px}
.cs-stage[data-layout=canvas] .cm-cover-flow{flex-wrap:nowrap;gap:10px}
.cs-stage[data-layout=canvas] .cm-cover-flow>span{flex-basis:auto}
.cs-stage[data-layout=canvas] .cs-slide[data-page="28"] .cs-body{gap:8px}
.cs-stage[data-layout=canvas] .cs-slide[data-page="28"] .cs-inline-copy{margin-top:0}
.cs-canvas-zone{background-image:linear-gradient(#87c7e508 1px,transparent 1px),linear-gradient(90deg,#87c7e508 1px,transparent 1px),radial-gradient(ellipse at 85% 0,#214c65 0,transparent 52%);background-size:28px 28px,28px 28px,auto;background-color:#102439}
.cs-slide .kicker{border-left:3px solid #75e3eb;padding-left:10px;text-transform:none}.cs-slide .cs-teaching-label{padding:3px 9px;border:1px solid #638ba033;border-radius:6px;background:#b2edfa08}.cs-slide h2{text-shadow:0 2px 0 #020d1a20}.cs-slide footer{border-top:1px solid #7ebbd126}.cs-slide footer>span:last-child{letter-spacing:.025em}
.cs-slide :is(.cs-sheet,.cs-angles>div,.cs-angles article,.cs-launch-path section,.cs-free-route section,.cs-practice-grid>div,.cs-file-card,.cs-purpose-modules section,.cs-editing-result){border-color:#c3dce9;box-shadow:0 8px 18px #010c1c2a,0 2px 3px #010c1c18,inset 0 2px 0 #fff;background-image:linear-gradient(125deg,#ffffff9c,transparent 72%)}
.cs-slide :is(.cs-task,.cs-rubric-key){border-left-width:4px;border-left-color:#218da1;box-shadow:inset 0 1px 0 #ffffffb0,0 5px 12px #010c1c18}.cs-slide .cs-facts{box-shadow:0 9px 20px #010c1c30,inset 0 1px 0 #fff}.cs-slide .cs-facts th{background:#dcebf3;border-bottom:2px solid #7da9bd}.cs-slide .cs-facts tbody tr:nth-child(even){background:#e6f0f580}
.cs-slide .cs-ui img{border:2px solid #608aa2;border-radius:12px;box-shadow:0 10px 20px #010c1c33}.cs-slide .cs-ui figcaption{border-left:2px solid #6cb4c6;padding-left:9px}.cs-slide .cs-timebar>div:not(.cm-time-labels){color:#16394c;background:linear-gradient(145deg,#e9f8fb,#aed1e1);border-top:3px solid #78d2db;box-shadow:inset 0 1px 0 #fff,0 4px 10px #010c1c20}.cs-slide .cs-timebar>div:nth-child(2),.cs-slide .cs-timebar>div:nth-child(3){background:linear-gradient(145deg,#d7eeed,#a7d5cc);border-top-color:#5bbdb0}.cs-slide .cs-timebar>div:nth-child(4){background:linear-gradient(145deg,#fff3dc,#e1c995);border-top-color:#d7ab5d}.cs-slide .cs-timebar>div:nth-child(5){background:linear-gradient(145deg,#e8e4ff,#c1badf);border-top-color:#a193dc}.cs-slide .cs-timebar>div:not(.cm-time-labels)>strong{color:#17455b}
.cm-step-pick{cursor:pointer;position:relative;border-radius:5px;touch-action:manipulation}.cm-step-pick:focus-visible{outline:3px solid #ffc975;outline-offset:4px}.cm-step-pick[aria-pressed=true]{color:#075d73;background:#d1f0f0}.cm-current-row{outline:2px solid #72d8e4;outline-offset:3px;box-shadow:inset 4px 0 0 #168ba0!important}.cm-current-row:after{content:'目前';position:absolute;right:4px;top:0;font-size:14px;line-height:1.2;background:#075d73;color:#fff;padding:2px 5px;border-radius:4px;transform:translateY(-60%);pointer-events:none}
.cm-step-anchor{position:relative}.cm-step-placeholder{visibility:hidden}.cm-step-anchor>.cm-step-pick{position:absolute;top:50%;left:0;transform:translateY(-50%);height:44px;min-height:44px;min-width:44px;width:max-content;max-width:100%;padding:0 4px;font:inherit;line-height:inherit;color:inherit;background:transparent;border:1px solid transparent;white-space:nowrap}.cm-step-anchor>.cm-step-pick[aria-pressed=true]{color:#075d73;background:#d1f0f0}.cs-list>li.cm-step-row{grid-template-columns:44px 1fr}td.cm-step-anchor>.cm-step-pick{left:8px;max-width:calc(100% - 16px)}
.cm-case-transfer{position:absolute;left:50%;top:50%;width:12px;height:12px;border:1px solid #defbff;border-radius:3px;background:#68e0ed;box-shadow:0 0 9px #68e0ed88;opacity:0;pointer-events:none}

/* Keep the existing controls reachable while reading a long mobile mechanism. */
.cs-stage[data-layout=flow] .cm-scholar{order:0}
.cs-stage[data-layout=flow] .cm-toolbar{order:1;position:sticky;top:0;z-index:4;align-self:start;background:#102439;border-bottom:1px solid #4b6a80;padding-block:8px}
.cs-stage[data-layout=flow] .cm-board{order:2}
