/* APPA 為課程導讀；各區保留自身布局，人物不覆蓋操作內容。 */
.appa-guide{--appa-size:190px;--appa-text:var(--navy);--appa-surface:#fff;--appa-border:#23114633;min-width:0;color:var(--appa-text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;position:relative}
.appa-toggle{display:block;position:relative;width:var(--appa-size);max-width:100%;padding:0 0 24px;border:0;background:transparent;color:inherit;cursor:pointer;flex-shrink:0;border-radius:12px}
.appa-sprite{display:block;width:100%;aspect-ratio:3/4;background-image:url('assets/appa-poses-a.png');background-size:400% 200%;background-position:var(--sprite-x) var(--sprite-y);background-repeat:no-repeat;clip-path:inset(2% 2% 0);animation:appa-breathe 6s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.appa-sheet-b .appa-sprite{background-image:url('assets/appa-poses-b.png')}
.appa-guide.is-inview .appa-sprite{animation-play-state:running}
.appa-trigger-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;white-space:nowrap;background:var(--appa-surface);color:var(--appa-text);border:1px solid var(--appa-border);border-radius:30px;padding:6px 13px;font-size:11px;font-weight:650;min-height:32px}
.appa-trigger-label b{font-size:16px;line-height:1;font-weight:400}
.appa-toggle:hover .appa-trigger-label,.appa-toggle[aria-expanded=true] .appa-trigger-label{background:var(--lime);color:var(--navy);border-color:transparent}
.appa-toggle:focus-visible{outline:3px solid var(--violet);outline-offset:4px}
.appa-caption{font-size:12px!important;line-height:1.8!important;max-width:30ch;margin:4px 0 0!important;text-align:center;color:inherit!important}
.appa-message{width:100%;max-width:360px;padding:16px 18px;background:var(--appa-surface);border:1px solid var(--appa-border);border-radius:10px;color:var(--appa-text);font-size:13px;line-height:1.85;text-align:left;overflow-wrap:anywhere}
.appa-message p{font-size:inherit!important;color:inherit!important;line-height:inherit!important;margin:0!important}
.appa-dark{--appa-text:#eee8fc;--appa-surface:#2b1b48;--appa-border:#bda7e255}
.appa-dark .appa-toggle:focus-visible{outline-color:var(--lime)}
.appa-dark .appa-message{color:#eee8fc}
.appa-guide.appa-small{--appa-size:150px}
.appa-guide.appa-inline{flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:12px 22px}
.appa-inline .appa-caption{max-width:22ch;text-align:left}
.appa-inline .appa-message{flex-basis:100%;max-width:none}
.template-character .appa-guide{--appa-size:390px;width:100%}
.template-character .appa-toggle{padding-bottom:26px}
.template-character .appa-caption{font-size:11px!important}
.template-character .character-star{pointer-events:none;animation-play-state:paused}
.template-character:has(.is-inview) .character-star{animation-play-state:running}
.template-character{gap:0}
.comparison-layout>div:first-child>.appa-guide{margin-top:28px}
.project-stage-copy>.appa-guide{--appa-size:180px;margin-bottom:20px;align-items:center}
.flow-navigation{min-width:0}
.flow-navigation>.appa-guide{--appa-size:190px;margin-top:24px}
.curriculum-summary>.appa-guide{--appa-size:200px;margin-top:20px}
.curriculum-summary .appa-caption{max-width:25ch}
.lab-section>.section-heading>.appa-guide{--appa-size:160px;flex-shrink:0}
.exposure-assistant{margin-top:20px;display:flex;align-items:center;justify-content:flex-start;gap:30px}
.exposure-assistant>.appa-guide{--appa-size:155px}
.appa-topic-controls{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px}
.appa-topic-controls button,.appa-tool-controls button{border:1px solid #23114640;border-radius:7px;padding:10px 15px;min-height:44px;color:var(--navy);background:#ffffffa6;font-size:12px;font-weight:650}
.appa-topic-controls button[aria-pressed=true]{background:var(--navy);color:white;border-color:transparent}
.toolkit>div:first-child>.appa-guide{--appa-size:190px;margin-top:28px}
.appa-tool-controls{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}
.appa-tool-controls button{background:#ffffff12;color:#eee8fc;border-color:#ffffff40}
.appa-tool-controls button[aria-pressed=true]{background:var(--lime);color:var(--navy);border-color:transparent}
.faq-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:65px;align-items:start;margin-top:35px}
.faq-layout>.appa-guide{--appa-size:220px;position:sticky;top:100px}
.faq-layout>.faq-list{margin-top:0}
.course-close{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);align-items:center;gap:45px;text-align:left;padding:60px 65px;position:relative;overflow:visible}
.course-close>.appa-guide{--appa-size:320px;--appa-surface:#3b1caf;--appa-text:#fff;--appa-border:#ffffff55}
.course-close h2{font-size:clamp(30px,3.4vw,48px);line-height:1.35;margin:0}
.course-close h2 span{color:var(--lime)}
.course-close .closing-copy>p{font-size:15px;line-height:1.9;color:#eee8fc;margin:24px 0}
.closing-actions{display:flex;flex-wrap:wrap;gap:18px 24px;align-items:center;margin-top:28px}
.course-close .closing-actions>.button{margin:0}
.course-close .closing-actions>.text-link{color:#fff}
.course-close .closing-copy>.closing-facts{font-size:11px;margin-top:24px;color:#eee8fc}
.showcase-title>.appa-guide{--appa-size:245px;max-width:none;margin:0}
.showcase-title>.showcase-copy{max-width:none;flex:1}
.showcase-copy>p{margin-top:24px}
.showcase-copy>.prototype-label{margin-top:18px}
.gallery-section-title>.appa-guide{--appa-size:140px}
.gallery-section-title{align-items:center;gap:24px}
.gallery-section-title>div{flex:1}
.preview-top>.appa-guide{--appa-size:135px;max-width:370px;margin-left:auto}
.preview-top>.appa-guide.appa-inline{gap:10px}
.preview-top>.appa-guide .appa-caption{max-width:17ch;font-size:11px!important}
.preview-top>.appa-guide .appa-message{max-width:370px;font-size:12px}
.preview-top>.close-preview{flex-shrink:0}
.gallery-ending{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center;text-align:left;padding-block:100px}
.gallery-ending>.appa-guide{--appa-size:340px}
.gallery-ending h2{font-size:clamp(30px,3.6vw,50px);line-height:1.35}
.gallery-ending h2 span{color:var(--lime)}
.gallery-ending .closing-copy>p{font-size:15px;margin:24px 0;color:var(--muted);line-height:1.9}
.closing-projects{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.closing-projects a{padding:20px 18px;border:1px solid #ad92d34d;border-radius:10px;background:#21143d;transition:transform .2s,border-color .2s;min-width:0}
.closing-projects a:hover,.closing-projects a:focus-visible{transform:translateY(-4px);border-color:var(--lime)}
.closing-projects strong{display:block;font-size:17px;line-height:1.5;color:#fff}
.closing-projects span{display:block;font-size:11px;color:var(--muted);margin-top:10px}
.gallery-ending .text-link{color:var(--lime)}
.appa-backtop{display:flex;align-items:center;gap:6px;background:none;border:0;color:inherit;font-size:12px;padding:0;min-height:44px}
.appa-backtop .appa-sprite{width:68px;animation:none}
.appa-nav-guide{display:none}
.appa-motion-paused .appa-sprite,.appa-motion-paused .character-star{animation-play-state:paused!important}
@keyframes appa-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:1100px){.template-character .appa-guide{--appa-size:300px}.course-close{padding:45px;gap:25px}.course-close>.appa-guide{--appa-size:270px}.gallery-ending{gap:35px}.gallery-ending>.appa-guide{--appa-size:280px}.preview-top{flex-wrap:wrap}.preview-top>.appa-guide{margin-left:0}.faq-layout{grid-template-columns:190px minmax(0,1fr);gap:35px}.faq-layout>.appa-guide{--appa-size:180px}}
@media(max-width:800px){.template-character .appa-guide{--appa-size:220px}.template-character .appa-caption{max-width:20ch}.appa-nav-guide{display:flex;align-items:center;gap:18px;color:#eee8fc;padding:6px 15px}.appa-nav-guide .appa-sprite{width:72px;flex-shrink:0;animation:none}.appa-nav-guide p{font-size:12px;margin:0}.appa-nav-guide small{display:block;color:var(--muted);margin-top:4px}.flow-navigation{display:grid;grid-template-columns:1fr 180px;gap:18px;align-items:center}.flow-navigation>.appa-guide{--appa-size:145px;margin-top:0}.curriculum-summary>.appa-guide{grid-column:1/-1;--appa-size:160px;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:20px}.curriculum-summary .appa-message{max-width:none;flex-basis:100%}.lab-section>.section-heading{flex-direction:row;align-items:center}.lab-section>.section-heading>.appa-guide{--appa-size:135px}.course-close{grid-template-columns:.7fr 1fr;padding:35px;gap:20px}.course-close>.appa-guide{--appa-size:220px}.course-close h2{font-size:32px}.course-close .closing-copy>p{font-size:13px}.showcase-title{display:flex;gap:20px;align-items:center}.showcase-title>.appa-guide{--appa-size:180px}.showcase-title h1{font-size:36px}.showcase-title>.showcase-copy{margin-top:0}.gallery-section-title{display:flex}.gallery-section-title>.appa-guide{--appa-size:120px}.gallery-section-title h2{font-size:29px}.preview-top>.appa-guide{order:3;flex-basis:100%;max-width:none}.preview-top>.appa-guide .appa-message{max-width:none}.preview-top>.close-preview{margin-left:auto}.gallery-ending{grid-template-columns:.7fr 1fr;gap:25px}.gallery-ending>.appa-guide{--appa-size:220px}.gallery-ending h2{font-size:32px}.closing-projects{grid-template-columns:1fr}.faq-layout{grid-template-columns:150px 1fr;gap:24px}.faq-layout>.appa-guide{--appa-size:150px}}
@media(max-width:540px){.appa-guide{--appa-size:145px}.appa-caption{font-size:11px!important}.appa-trigger-label{font-size:10px}.appa-message{font-size:12px;padding:14px}.template-character{min-height:0;padding:0;margin-top:28px;align-items:center}.template-character .appa-guide{--appa-size:245px}.template-character .star-one{left:8%;top:18%}.template-character .star-two{right:8%;bottom:28%}.comparison-layout>div:first-child>.appa-guide{--appa-size:125px}.appa-inline{gap:10px!important}.appa-inline .appa-caption{max-width:18ch}.project-stage-copy>.appa-guide{--appa-size:145px;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:flex-start}.project-stage-copy .appa-caption{max-width:17ch;text-align:left}.project-stage-copy .appa-message{flex-basis:100%;max-width:none}.flow-navigation{display:block}.flow-navigation>.appa-guide{--appa-size:125px;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:18px;margin-top:20px}.flow-navigation .appa-caption{max-width:18ch;text-align:left}.flow-navigation .appa-message{max-width:none;flex-basis:100%}.curriculum-summary>.appa-guide{--appa-size:120px;gap:12px}.curriculum-summary .appa-caption{max-width:16ch;text-align:left}.lab-section>.section-heading{flex-direction:column;align-items:stretch}.lab-section>.section-heading>.appa-guide{--appa-size:125px;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:18px}.lab-section>.section-heading .appa-message{max-width:none;flex-basis:100%}.exposure-assistant{gap:15px;align-items:flex-start}.exposure-assistant>.appa-guide{--appa-size:125px}.appa-topic-controls{gap:7px}.appa-topic-controls button{padding:9px 12px}.toolkit>div:first-child>.appa-guide{--appa-size:135px}.faq-layout{display:flex;flex-direction:column;gap:25px}.faq-layout>.appa-guide{position:static;--appa-size:125px;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:18px}.faq-layout .appa-caption{max-width:20ch;text-align:left}.faq-layout .appa-message{flex-basis:100%;max-width:none}.course-close{display:flex;flex-direction:column;padding:35px 24px;gap:22px}.course-close>.appa-guide{--appa-size:235px}.course-close>.closing-copy{display:contents}.course-close h2{order:-2;font-size:32px;text-align:center}.course-close .closing-copy>p{margin:0;font-size:13px;text-align:center}.closing-actions{justify-content:center;margin-top:0;gap:18px}.course-close .closing-copy>.closing-facts{font-size:10px;margin-top:0}.showcase-title{display:block}.showcase-title>.appa-guide{--appa-size:200px;margin:30px auto 0}.showcase-title h1{font-size:35px}.showcase-copy>p{font-size:12px}.gallery-section-title{flex-direction:column;align-items:flex-start}.gallery-section-title>.appa-guide{--appa-size:115px;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:15px;width:100%}.gallery-section-title .appa-caption{max-width:18ch;text-align:left}.gallery-section-title .appa-message{flex-basis:100%;max-width:none}.preview-top{display:flex;gap:20px}.preview-top>div:first-child{flex-basis:100%}.preview-top>.close-preview{margin:0}.preview-top>.appa-guide{--appa-size:110px}.preview-top>.appa-guide .appa-caption{max-width:19ch}.gallery-ending{display:flex;flex-direction:column;padding-block:65px;gap:25px}.gallery-ending>.appa-guide{--appa-size:255px}.gallery-ending>.closing-copy{display:contents}.gallery-ending h2{order:-2;font-size:32px;text-align:center}.gallery-ending .closing-copy>p{margin:0;font-size:13px;text-align:center}.closing-projects{grid-template-columns:1fr 1fr;width:100%;gap:10px;margin:0}.closing-projects a{padding:18px 12px}.closing-projects strong{font-size:14px}.closing-projects span{font-size:10px}.appa-backtop{justify-content:flex-start}.site-footer{gap:10px}}
@media(prefers-reduced-motion:reduce){.appa-sprite,.character-star{animation:none!important;transform:none!important}.closing-projects a{transition:none}.closing-projects a:hover,.closing-projects a:focus-visible{transform:none}}
@media(max-width:540px){.course-close h2{font-size:clamp(21px,6.2vw,28px)}}

/* 提示改為浮層，不撐高章節；人物與入口保持獨立間距。 */
.appa-toggle,.template-character .appa-toggle{display:flex;flex-direction:column;align-items:center;padding:0}
.appa-trigger-label{position:static;transform:none;margin:16px auto 0;min-height:44px}
.appa-guide .appa-message{position:fixed;inset:auto;z-index:1000;margin:0;width:calc(100% - 32px);max-width:360px;max-height:calc(100dvh - 32px);overflow:auto;flex-basis:auto;padding:12px 18px 18px;box-shadow:0 10px 40px #0c062c35}
.appa-message::backdrop{background:transparent;pointer-events:none}
.appa-tip-close{display:block;margin:0 0 6px auto;padding:8px 0 8px 16px;min-height:44px;border:0;background:none;color:inherit;font-size:12px;cursor:pointer}
.appa-tip-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
