:root{--green:#16734d;--deep:#164735;--ink:#203f34;--mint:#e8f4ec;--muted:#627b70;--line:#d7e5dc;--paper:#fbfdfb;--gold:#ba8c45;font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.65}a{color:var(--green);text-underline-offset:4px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:10px 17px;background:white;color:var(--deep)}button:hover{background:var(--mint)}button:disabled{opacity:.55;cursor:wait}button.primary{background:var(--green);border-color:var(--green);color:white}button.primary:hover{background:var(--deep)}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.header{max-width:1480px;padding:23px 46px;margin:auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:var(--deep);font-weight:650;font-size:23px}.brand img{width:48px;height:48px;border-radius:50%}.brand small{display:block;font-size:12px;color:var(--muted);font-weight:400}.header-actions{display:flex;gap:22px;align-items:center;font-size:14px}.preview-label{color:var(--muted)}main{max-width:1436px;margin:auto;padding:30px 46px 0}.opening{margin:13px 0 32px}.opening>span{color:var(--green);font-size:16px}.opening h1{font-size:clamp(26px,3vw,39px);font-weight:650;letter-spacing:-.6px;margin:7px 0}.opening p{margin:0;color:var(--muted);font-size:16px}.experience{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.25fr);gap:48px;align-items:start}.presenter{position:relative;overflow:hidden;border-radius:26px;background:#e4f1e6;min-width:0}.presenter canvas{display:block;width:100%;height:auto;aspect-ratio:560/650}.presenter-name{position:relative;width:max-content;max-width:calc(100% - 32px);margin:0 16px 17px;padding:9px 15px;background:#fafff3ed;border-radius:11px;display:grid;grid-template-columns:auto auto;gap:0 12px;align-items:baseline}.presenter-name strong{font-size:24px;font-weight:600}.presenter-name span{font-size:13px}.presenter-name small{grid-column:1/-1;color:var(--muted);font-size:11px}.presenter-status{position:absolute;top:18px;left:20px;padding:5px 11px;border-radius:18px;background:#fbfff8d9;font-size:12px;color:var(--deep)}.lecture{min-width:0}.chapters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-bottom:20px;border-bottom:1px solid var(--line)}.chapters button{font-size:14px;padding:9px 5px;background:transparent}.chapters button[aria-current="true"]{background:var(--green);color:white;border-color:var(--green)}.stage-label{font-size:12px;color:var(--muted);margin:24px 0 9px}.lecture h2{font-size:clamp(25px,2.3vw,33px);line-height:1.5;margin:0 0 13px;font-weight:600;color:var(--deep)}.description{color:var(--muted);font-size:15px;margin:0 0 12px}#diagram{width:100%;height:auto;display:block}.points{padding:0;margin:13px 0 24px;list-style:none;font-size:14px}.points li{margin:6px 0;padding-left:17px;position:relative}.points li:before{content:"";width:5px;height:5px;background:var(--gold);border-radius:50%;position:absolute;left:0;top:10px}.playback{padding:19px 0 12px;border-top:1px solid var(--line)}.playback-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-size:13px}.continuous{margin-left:auto;white-space:nowrap}.speed{display:flex;gap:5px;align-items:center}.speed select{border:1px solid var(--line);border-radius:5px;padding:4px;background:white}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;vertical-align:middle;margin-right:5px}audio{width:100%;height:36px;margin-top:14px}.subtitle{min-height:48px;background:#eff5ef;border-radius:8px;padding:11px 14px;margin:12px 0 3px;font-size:14px;color:var(--deep)}.script{font-size:13px;color:var(--muted);margin:11px 0}.script summary{cursor:pointer}.script p{color:var(--ink);font-size:14px;line-height:1.85}.source-links{font-size:11px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}.source-links a{color:var(--muted)}.conversation{display:grid;grid-template-columns:.85fr 1.25fr;gap:48px;margin:56px 0 35px;padding:38px 0;border-top:1px solid var(--line)}.conversation-intro h2{font-size:27px;line-height:1.5;margin:9px 0 10px;color:var(--deep);font-weight:600}.conversation-intro p{font-size:14px;color:var(--muted)}.leaf-mark{color:var(--green);font-size:36px}.ai-status{font-size:12px;color:var(--muted);margin:20px 0 12px}.read-answer{font-size:13px}.suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.suggestions button{font-size:12px;padding:6px 10px;border-radius:18px}.messages{max-height:360px;overflow:auto;min-height:74px;padding:0 3px 5px;font-size:14px}.chat-welcome{color:var(--muted)}.message{margin:11px 0;white-space:pre-wrap;overflow-wrap:anywhere}.message strong{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-bottom:4px}.message.assistant{background:var(--mint);padding:12px 15px;border-radius:0 13px 13px 13px}.message.user{padding:9px 14px;border:1px solid var(--line);border-radius:13px 13px 0 13px;margin-left:28px}.message .references{margin-top:9px;display:block;font-size:11px;color:var(--muted)}#chat-form{display:flex;gap:8px;margin-top:12px}#question{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:11px 14px;background:white;font-size:16px}#send-button{white-space:nowrap;font-size:14px}.chat-note{display:block;color:var(--muted);font-size:11px;margin-top:9px}.scope-note{display:flex;gap:18px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding:25px 0;align-items:baseline}.scope-note strong{white-space:nowrap;font-weight:500}.scope-note p{margin:0;flex:1}.scope-note a{white-space:nowrap}footer{display:flex;justify-content:space-between;padding:24px 46px;max-width:1436px;margin:auto;font-size:12px;border-top:1px solid var(--line);color:var(--muted)}.error{color:#9a342c;font-size:13px;margin:10px 0}dialog{width:min(1100px,94vw);padding:22px;border:1px solid var(--line);border-radius:18px;color:var(--ink);max-height:94vh;overflow:auto}dialog::backdrop{background:#173e36b0}.dialog-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}.dialog-title h2{font-size:20px;margin:0}video{display:block;width:100%;background:var(--mint);aspect-ratio:16/9;border-radius:9px}.video-downloads{display:flex;gap:20px;font-size:13px;margin-top:15px}.skip-link{position:absolute;top:-100px;left:15px;z-index:10;background:white;padding:10px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}
@media(min-width:1500px){.presenter canvas{max-height:660px;object-fit:contain}}@media(max-width:1050px){.header{padding:20px 26px}main{padding:22px 26px 0}.experience,.conversation{gap:26px}.continuous{margin-left:0}.header-actions{gap:12px}.preview-label{display:none}.presenter-name{gap:0 7px}.presenter-name span{font-size:11px}.lecture h2{font-size:26px}.conversation-intro h2{font-size:24px}}@media(max-width:760px){.header{padding:15px 18px}.brand{font-size:19px;gap:9px}.brand img{width:38px;height:38px}.brand small{font-size:10px}.header-actions>a{display:none}.header-actions button{font-size:12px;padding:8px 10px}main{padding:20px 18px 0}.opening{margin:3px 0 24px}.opening>span{font-size:13px}.opening h1{font-size:26px}.opening p{font-size:13px}.experience{grid-template-columns:1fr;gap:24px}.presenter{max-height:none}.presenter canvas{height:410px;width:100%;object-fit:contain;aspect-ratio:auto}.presenter-name{margin:0 16px 17px}.lecture h2{font-size:26px}.conversation{grid-template-columns:1fr;gap:18px;margin-top:34px;padding-top:28px}.conversation-intro{display:grid;grid-template-columns:auto 1fr;gap:0 12px}.conversation-intro h2{font-size:22px;align-self:center}.conversation-intro p,.ai-status,.read-answer{grid-column:2;margin:0 0 8px}.leaf-mark{align-self:center}.messages{max-height:330px}.scope-note{flex-wrap:wrap;gap:7px}.scope-note p{flex:1 1 100%}footer{padding:20px 18px}.playback-row{gap:9px}.dialog-title h2{font-size:16px}}@media(max-width:360px){.brand small{max-width:155px}.header-actions button{padding:7px}.presenter canvas{height:360px}.chapters button{font-size:12px}.playback-row button{padding:9px 12px}.speed{font-size:12px}.continuous{font-size:12px}.opening h1{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.pose-preview{padding:0 16px 18px;color:var(--deep);font-size:12px}.pose-preview>span{display:block;margin-bottom:7px}.pose-preview #pose-buttons{display:flex;gap:6px;flex-wrap:wrap}.pose-preview button{padding:7px 10px;font-size:12px;min-height:34px;background:#f9fff8}.pose-preview button[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}.pose-preview small{display:block;margin-top:8px;color:#476a55;font-size:11px;line-height:1.6}@media(pointer:coarse){.pose-preview button{min-height:44px}}

.site-header .brand { font-size: 16px; font-weight: 500; gap: 12px; }
.site-header button { font-family: inherit; }
.site-header .nav-toggle { padding: 8px; }
dialog { margin: auto; }
.narration-language { max-width: 1344px; margin: 20px auto 0; padding-inline: 24px; color: #627b70; font-size: 12px; }
.opening-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; margin-top:20px; }
.opening-actions a { font-size:14px; }
@media(max-width:760px) { .narration-language { padding-inline:18px; } }

.narration-language{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.narration-language p{margin:0}.narration-language label{display:flex;gap:8px;align-items:center;white-space:nowrap}.narration-language select{background:#fff;border:1px solid var(--line);border-radius:6px;padding:7px 10px;color:var(--deep)}.chapters button{overflow-wrap:anywhere;min-height:44px}.video-downloads{flex-wrap:wrap}

@media(pointer:coarse){.narration-language select{min-height:44px}}main[lang="ja"],dialog[lang="ja"]{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif}

@media(max-width:360px){.site-header .header-inner>.brand{gap:6px}.site-header .header-inner .brand img{width:32px;height:32px}.site-header .header-inner .brand-text .zh,.site-header .header-inner .brand-text .en{max-width:86px}}
