@font-face{font-family:BeVietnam;src:url('assets/be-vietnam-400.ttf')}@font-face{font-family:BeVietnam;src:url('assets/be-vietnam-700.ttf');font-weight:700}@font-face{font-family:BeVietnam;src:url('assets/be-vietnam-800.ttf');font-weight:800}
:root{--paper:#f6f2e9;--ink:#242723;--orange:#db5036;--blue:#96b6d9;--sage:#bdc9a4;--muted:#65665e;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}body{margin:0;background:#e4e0d7;color:var(--ink);font-family:BeVietnam,Arial,sans-serif;overflow:hidden}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--orange);outline-offset:4px}button:disabled{opacity:.28;cursor:default}[hidden]{display:none!important}a{color:inherit}svg{width:100%;height:100%;stroke-width:1.45}.icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px}
#viewport{height:calc(100dvh - 72px);position:relative;overflow:hidden}#stage{width:1600px;height:900px;position:absolute;top:50%;left:50%;transform-origin:center;overflow:hidden;background:var(--paper)}.slide{position:absolute;inset:0;padding:72px 100px 64px;overflow:hidden}.slide.dark{background:var(--ink);color:var(--paper)}.slide.orange{background:var(--orange);color:var(--paper)}.slide.blue{background:#d7e2ed}.eyebrow{font-size:23px;letter-spacing:.12em;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:16px;margin:0 0 28px}.eyebrow:before{content:'';width:28px;height:3px;background:currentColor}.slide h1,.slide h2,.slide h3,.slide p{margin:0}.slide h1{font-size:110px;line-height:1.1;letter-spacing:-.07em;font-weight:800}.slide h2{font-size:70px;line-height:1.14;letter-spacing:-.055em;font-weight:800}.slide h3{font-size:38px;line-height:1.25;letter-spacing:-.035em}.slide p{font-size:31px;line-height:1.55;letter-spacing:-.02em}.accent{color:var(--orange)}.footline{position:absolute;left:100px;right:100px;bottom:60px;font-size:24px;display:flex;justify-content:space-between;gap:30px;align-items:center}.footline .small{font-size:23px;color:var(--muted)}.dark .footline .small{color:#c0c4b8}.section-no{font-size:26px;font-weight:700;letter-spacing:.04em}.enter{animation:enter .65s var(--ease) both}.slide [data-build]{opacity:0;transform:translateY(25px);transition:opacity .55s var(--ease),transform .65s var(--ease)}.slide [data-build].shown{opacity:1;transform:translateY(0)}@keyframes enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.cover .cover-copy{position:relative;z-index:2;width:765px;padding-top:68px}.cover h1 span{display:block}.cover .intro{max-width:620px;margin-top:34px;font-size:33px}.cover .hero-art{position:absolute;right:-28px;top:78px;width:840px;height:760px;object-fit:contain;mix-blend-mode:multiply;animation:art-enter 1.2s var(--ease) both}.cover .cover-kicker{font-size:23px;font-weight:700;margin-top:34px;display:flex;gap:15px;align-items:center}.cover .cover-kicker .icon{width:25px;height:25px}@keyframes art-enter{from{opacity:0;transform:translate(35px,20px) rotate(3deg)}to{opacity:1;transform:translate(0) rotate(0)}}
.anchors{display:flex;gap:90px;margin-top:86px}.anchor{flex:1;position:relative}.anchor .anchor-icon{width:166px;height:166px;margin-bottom:28px;display:flex;align-items:center;justify-content:center}.anchor .anchor-icon .icon{width:125px;height:125px}.anchor:nth-child(1) .anchor-icon{color:#eaa288}.anchor:nth-child(2) .anchor-icon{color:var(--blue)}.anchor:nth-child(3) .anchor-icon{color:var(--sage)}.anchor h3{font-size:42px}.anchor p{margin-top:20px;font-size:31px;color:#ced0c6;max-width:390px}.anchor .anchor-no{position:absolute;right:25px;top:0;font-size:24px;color:#a0a698}.anchors .anchor+.anchor{border-left:1px solid #54574e;padding-left:65px}.anchors .anchor:nth-child(3){flex:1.15}.dark .footline strong{color:var(--sage)}
.route-head{display:flex;align-items:center;justify-content:space-between}.route-head .stamp{width:100px;height:100px;transform:rotate(-8deg);color:var(--orange)}.route{position:relative;display:flex;align-items:flex-start;gap:58px;margin-top:96px}.route:before{content:'';position:absolute;left:150px;right:150px;top:96px;height:3px;background:#c5c8bf}.stop{position:relative;flex:1;text-align:center}.stop .node{width:180px;height:180px;position:relative;margin:0 auto 30px;display:flex;align-items:center;justify-content:center;background:#e8e3d7;border-radius:50%;border:3px solid var(--ink)}.stop .node .icon{width:88px;height:88px}.stop:nth-child(2) .node{background:#d2e2ed}.stop:nth-child(3) .node{background:#eaaa96}.stop:nth-child(4) .node{background:var(--sage)}.stop .stop-no{position:absolute;top:-13px;left:-4px;background:var(--ink);color:var(--paper);width:47px;height:47px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:24px}.stop h3{font-size:38px;margin-bottom:13px}.stop p{font-size:28px;line-height:1.45}.route-arrow{position:absolute;left:calc(100% + 10px);top:74px;width:38px;height:38px}.route-copy{margin-top:46px;font-size:31px!important;text-align:center;font-weight:700}.oxygen-dot{position:absolute;top:86px;left:110px;width:24px;height:24px;border:5px solid var(--paper);border-radius:50%;background:var(--orange);animation:delivery 7s ease-in-out infinite;box-shadow:0 0 0 2px var(--orange)}@keyframes delivery{0%,10%{left:110px}32%{left:440px}54%{left:795px}78%,100%{left:1150px}}.route .oxygen-dot{opacity:0}.route.complete .oxygen-dot{opacity:1}
.story-split{display:flex;gap:70px;margin-top:64px;align-items:center}.story-scene{width:620px;position:relative;height:420px;border-top:2px solid rgba(255,255,255,.5);border-bottom:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center}.story-scene .icon{width:175px;height:175px}.story-scene .figure{position:absolute;left:100px;top:100px}.story-scene .package{position:absolute;right:60px;top:142px;width:108px;height:108px;background:var(--paper);color:var(--orange);display:flex;align-items:center;justify-content:center;transform:rotate(-8deg);box-shadow:9px 10px 0 rgba(66,25,14,.12)}.story-scene .package .icon{width:61px;height:61px}.story-scene .heartbeat{position:absolute;bottom:46px;left:115px;width:380px;height:70px;opacity:.5}.story-scene .small-label{position:absolute;top:26px;left:25px;font-size:26px}.story-scene .package{animation:breath 3s ease-in-out infinite}@keyframes breath{50%{transform:translateY(-14px) rotate(3deg)}}.story-words{flex:1}.story-words .before{font-size:29px;color:#ffe0ce;margin-bottom:22px}.story-words .quote{font-size:46px;font-weight:700;line-height:1.4;letter-spacing:-.04em}.story-words .after{font-size:30px;margin-top:30px;color:#ffe0ce}.orange .footline .small{color:#ffe0ce}
.sensory{display:flex;margin-top:84px;gap:90px;align-items:center}.sensory-main{width:625px;position:relative;height:375px}.sensory-main .outline-heart{width:270px;height:270px;color:var(--orange);position:absolute;left:166px;top:38px;animation:heart-pulse 2.8s ease-in-out infinite}.sensory-main .hand{width:120px;height:120px;position:absolute;left:362px;top:194px;transform:rotate(-20deg);color:var(--ink)}.sensory-main .sound{width:120px;height:120px;position:absolute;left:35px;top:70px}.sensory-main .eye{width:100px;height:100px;position:absolute;right:20px;top:12px}.sensory-main .trace{position:absolute;left:112px;top:300px;font-size:25px;font-weight:700;letter-spacing:.03em}.sensory-list{flex:1}.sensory-row{display:flex;gap:22px;padding:26px 0;border-bottom:1px solid #b7c5d1;align-items:center}.sensory-row .num{font-size:25px;font-weight:700;color:#596d80;width:40px}.sensory-row h3{font-size:35px}.sensory-row p{font-size:27px;margin-top:7px}.sensory-row:first-child{padding-top:0}.sensory-row:last-child{border:0}.blue .footline strong{color:var(--orange)}@keyframes heart-pulse{50%{transform:scale(1.045)}}
.prompt-layout{margin-top:62px;display:flex;gap:60px}.prompt-track{width:230px;display:flex;flex-direction:column;gap:35px;align-items:center;justify-content:center;position:relative}.prompt-track:before{content:'';height:280px;width:2px;background:#cfccc2;position:absolute;top:70px;left:114px}.prompt-track .icon{width:95px;height:95px;background:var(--paper);position:relative;padding:15px}.prompt-track .icon:nth-child(2){color:var(--orange)}.prompt-lines{flex:1}.prompt-line{display:flex;gap:32px;padding:22px 0;border-bottom:1px solid #c7c5b9;align-items:flex-start}.prompt-line .prompt-n{font-size:27px;color:var(--orange);font-weight:700;margin-top:10px}.prompt-line .prompt-text{font-size:35px;line-height:1.46;letter-spacing:-.025em}.prompt-line .prompt-text strong{font-weight:800}.prompt-line:last-child{border:0}.prompt-line .label{font-size:23px;color:var(--muted);margin-bottom:10px;letter-spacing:.01em}.checkline{position:absolute;left:390px;bottom:138px;font-size:27px;display:flex;align-items:center;gap:16px;color:#4b6042}.checkline .icon{width:35px;height:35px}
.quiz .question{max-width:1000px;font-size:68px;margin-top:66px;line-height:1.22;font-weight:700;letter-spacing:-.05em}.quiz .question em{font-style:normal;color:var(--sage)}.quiz .question-mark{font-size:350px;font-weight:800;line-height:1;color:#51594a;position:absolute;right:130px;top:235px;transform:rotate(8deg)}.quiz .answer{display:flex;gap:25px;align-items:center;margin-top:42px;color:var(--sage);font-size:40px;font-weight:700}.quiz .answer .icon{width:62px;height:62px}.quiz .quiz-reason{font-size:29px;margin-top:24px;max-width:1020px}.quiz .wait{font-size:27px;position:absolute;bottom:70px;left:100px;color:#ccd3c3}.quiz .footline{bottom:63px}.quiz .quiz-caption{font-size:24px;position:absolute;right:100px;bottom:66px;color:#ccd3c3}
.final h2{font-size:64px;max-width:1160px}.final .final-label{font-size:27px;margin-top:28px;color:var(--muted)}.experience{display:flex;gap:55px;margin-top:65px;position:relative}.experience .experience-item{flex:1;padding-top:24px;border-top:2px solid var(--ink)}.experience .experience-item .icon{width:70px;height:70px;color:var(--orange);margin-bottom:28px}.experience h3{font-size:30px;letter-spacing:-.03em}.experience .story-text{font-size:33px;margin-top:20px;line-height:1.5;overflow-wrap:anywhere}.experience .story-text.placeholder{color:#72776b;font-size:31px}.final .closing{font-size:37px;font-weight:700;max-width:1050px;position:absolute;bottom:75px;left:100px;line-height:1.35}.final .closing span{color:var(--orange)}.final .section-no{position:absolute;right:100px;bottom:80px}
.toolbar{height:72px;position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:var(--paper);border-top:1px solid #d8d5cb;gap:12px;z-index:5}.toolbar .brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:11px;letter-spacing:.12em;font-weight:700}.brand b{color:var(--muted);font-weight:400}.brandmark{font-size:26px;letter-spacing:-.13em;font-weight:800;background:var(--orange);color:var(--paper);width:33px;height:33px;display:flex;align-items:center;justify-content:center;padding-right:3px;border-radius:50%}.nav-center{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center}.nav-center>button{height:40px;min-width:40px;font-size:22px;border-radius:50%}.nav-center .next{background:var(--ink);color:var(--paper)}#counter{font-size:13px;display:flex;gap:8px;align-items:center;padding:0 10px;border-radius:8px}#counter span{color:var(--muted)}.tools{display:flex;gap:9px;align-items:center}.tools button{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px}.tools button:hover,.nav-center button:hover{background:#deddd2}.tools .next:hover{background:var(--orange)}.tools svg{width:19px;height:19px;stroke-width:1.7}.tool-label{font-size:12px}.deck-progress{height:3px;position:absolute;bottom:0;left:0;right:0;background:#e2e0d8}.deck-progress span{height:100%;display:block;background:var(--orange);width:12.5%;transition:width .6s var(--ease)}.build-indicator{position:absolute;top:-11px;left:52%;transform:translateX(-50%);display:flex;gap:5px}.build-dot{width:4px;height:4px;border-radius:50%;background:#c9c9bf}.build-dot.on{background:var(--orange)}
dialog{padding:30px;border:1px solid #dbd9d0;border-radius:18px;background:var(--paper);color:var(--ink);max-width:760px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #13170f44}dialog::backdrop{background:#22281f88;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.dialog-head h2{font-size:24px;line-height:1.35;margin:0}.dialog-head button,.panel-head button{font-size:28px;line-height:1}.dialog-hint,dialog p{font-size:14px;line-height:1.65}.shortcut-list p{display:flex;align-items:center;gap:8px;margin:14px 0}kbd{font:inherit;font-size:13px;display:inline-block;min-width:30px;text-align:center;padding:4px 8px;background:#e8e5dc;border:1px solid #cdcbbf;border-radius:5px}.motion-choice{font-size:14px;display:flex;align-items:center;gap:8px;margin-top:25px}.motion-choice input{accent-color:var(--orange)}#slide-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#slide-grid button{background:#e9e5d9;border-radius:8px;text-align:left;padding:18px;font-size:15px;line-height:1.5;display:flex;gap:14px;align-items:center}#slide-grid button span{font-size:24px;font-weight:800;color:var(--orange)}#slide-grid button.active{box-shadow:inset 0 0 0 2px var(--orange)}#slide-grid button small{display:block;font-size:12px;color:var(--muted);margin-top:6px}
#note-panel{position:fixed;right:20px;bottom:90px;width:460px;max-height:calc(100dvh - 115px);overflow:auto;background:var(--paper);z-index:10;padding:25px;border:1px solid #cdcec1;box-shadow:0 20px 70px #18251333;border-radius:12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.timing{display:flex;gap:20px;justify-content:space-between;font-size:13px;margin:25px 0 14px;color:var(--orange)}#clock{font-variant-numeric:tabular-nums;font-weight:700}.timer-buttons{display:flex;gap:10px}.timer-buttons button{font-size:12px;background:#e6e4d8;padding:8px 12px;border-radius:5px}#note-panel h2{font-size:24px;line-height:1.4}#note-script{font-size:17px;line-height:1.85;white-space:pre-line}#note-cue,#note-transition{font-size:14px;line-height:1.7;padding:14px 16px;margin:12px 0}.cue{background:#e6eddf}.transition{border-left:3px solid var(--orange)}.sources{font-size:12px;line-height:1.65;color:var(--muted);border-top:1px solid #d3d4c6;padding-top:14px;margin-top:25px}.sources a{word-break:break-word}#story-form label{display:block;font-size:14px;font-weight:700;margin-top:18px}#story-form textarea{display:block;width:100%;font:inherit;font-size:15px;line-height:1.5;background:#fffdf8;border:1px solid #c9cabc;border-radius:7px;resize:vertical;padding:12px;margin-top:8px;min-height:77px}#story-form textarea:focus{outline:2px solid var(--orange)}#story-form .local-warning{color:var(--muted);font-size:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.form-actions button{font-size:13px;border:1px solid #c9cabc;border-radius:6px;padding:11px 15px}.form-actions .primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}#toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:7px;font-size:13px;z-index:30;max-width:90vw}
body.reduced *,body.reduced *:before,body.reduced *:after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){body:not(.motion-enabled) *,body:not(.motion-enabled) *:before,body:not(.motion-enabled) *:after{animation:none!important;transition:none!important}}
body.presenter #viewport,body.presenter .toolbar{display:none}body.presenter{overflow:auto;background:var(--paper)}body.presenter #note-panel{display:block!important;position:relative;right:auto;bottom:auto;width:auto;max-width:900px;max-height:none;margin:30px auto;padding:30px;box-shadow:none;border:0}body.presenter #note-script{font-size:22px}body.presenter #note-title{font-size:35px}body.presenter .panel-head{font-size:20px}body.presenter #close-notes{display:none}body.presenter .timing{font-size:20px}body.presenter .presenter-controls{display:flex;gap:12px;margin:30px 0}body.presenter .presenter-controls button{background:var(--ink);color:var(--paper);padding:13px 20px;border-radius:8px}body.presenter .presenter-state{font-size:14px;color:var(--muted)}
@media(max-width:700px){.toolbar{padding:0 12px;height:64px}.brand>span:last-child,.tool-label,#present{display:none}.nav-center{gap:3px}.nav-center>button{height:34px;min-width:34px}.tools{gap:1px}.tools button{padding:6px}.tools svg{width:17px;height:17px}.brandmark{width:28px;height:28px;font-size:22px}#viewport{height:calc(100dvh - 64px)}#note-panel{right:10px;left:10px;width:auto;bottom:76px;max-height:calc(100dvh - 100px)}dialog{padding:22px}#slide-grid{grid-template-columns:1fr}.nav-center{left:42%}.toolbar .brand{flex-shrink:0}body.presenter #note-panel{margin:0;padding:24px}body.presenter #note-script{font-size:19px}}
.sensory-main>div>.icon,.route-arrow .icon,.stamp .icon,.heartbeat .icon{width:100%;height:100%}.prompt-layout{margin-top:38px}.prompt-line{padding:17px 0}.prompt-line .prompt-text{font-size:33px;line-height:1.4}.checkline{bottom:108px}.experience{margin-top:48px}.experience .story-text{font-size:30px;line-height:1.4}.final .closing{bottom:42px;font-size:34px}.final .section-no{bottom:47px}
@media print{body{overflow:visible;background:white}#viewport{height:auto;overflow:visible}#stage{position:static;transform:none!important;width:auto;height:auto;overflow:visible}.slide{position:relative;width:1600px;height:900px;break-after:page;zoom:.58}.slide [data-build]{opacity:1;transform:none}.toolbar,aside,dialog{display:none!important}@page{size:A4 landscape;margin:0}}
