:root{font-family:Arial,PingFang TC,Microsoft JhengHei,sans-serif;color:#f8faf7;background:#14251f;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0;min-width:320px;background:#14251f}button,a{font:inherit;color:inherit}button{cursor:pointer}.experience{overflow:clip;background:#14251f}.scroll-scene{min-height:3750vh;padding:32px 0}.experience__phone{--journey-progress: 0;--story-progress: 0;--story-entry: 0;--after-entry: 0;--route-progress: 0;position:relative;width:min(100%,430px);height:min(932px,100dvh - 64px);min-height:640px;margin:0 auto;overflow:hidden;background:#0c1d18;box-shadow:0 24px 64px #00000059}.topbar{position:absolute;z-index:5;top:0;display:flex;width:100%;align-items:center;justify-content:space-between;padding:max(24px,env(safe-area-inset-top)) 24px 20px;color:#fff;mix-blend-mode:screen}.brand{font-size:26px;font-weight:700;letter-spacing:-.1em;text-decoration:none}.topbar__progress{width:74px;height:1px;margin-left:auto;margin-right:20px;background:#ffffff57}.topbar__progress span{display:block;width:calc(var(--journey-progress) * 100%);height:100%;background:#fff}.menu-button{display:grid;width:40px;height:40px;border:1px solid rgba(255,255,255,.65);place-content:center;gap:5px;background:transparent}.menu-button span{display:block;width:15px;height:1px;background:currentColor}.scene-stage{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;background:#092118}.story-layer{position:absolute;z-index:2;inset:0;overflow:hidden;transform:translateY(calc((1 - var(--story-entry)) * 100%)) translateY(calc(var(--after-entry) * -100%))}.scene-stage__video{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;opacity:clamp(0,(var(--journey-progress) - .54) * 100,1);pointer-events:none}.scene-stage__video--screen,.route-map--screen{mix-blend-mode:screen}.scene-stage__sky{position:absolute;z-index:1;inset:0;background-position:center calc(var(--story-progress) * 100%);background-size:cover}.scene-stage__sky:after{position:absolute;inset:0;background:linear-gradient(180deg,#0716101f,#07161061);content:""}.route-map{position:absolute;z-index:3;top:14%;right:24px;width:42%;height:auto;opacity:clamp(0,(var(--journey-progress) - .1) * 100,1);transform:translateY(calc(var(--route-progress) * -50%));pointer-events:none}.intro-cut{position:absolute;z-index:1;inset:0;overflow:hidden;color:#fff;background:#34413d;transform:translateY(calc(clamp(0,(var(--journey-progress) - .08) * 50,1)*-100%))}.intro-cut__collage{position:absolute;top:0;right:0;left:0;display:grid;height:35%;grid-template-columns:1fr 1fr 1fr;gap:1px;background:#ffffff47}.intro-cut__collage span{display:block}.intro-cut__collage span:nth-child(1){background:linear-gradient(145deg,#5e625d,#303b39)}.intro-cut__collage span:nth-child(2){background:linear-gradient(145deg,#a59d91,#6d766d)}.intro-cut__collage span:nth-child(3){background:linear-gradient(145deg,#b5aa9f,#777169)}.intro-cut__landscape{position:absolute;right:0;bottom:0;left:0;height:64%;background:linear-gradient(180deg,#657d7e,#8fa9a4 26%,#b99868 26.5%,#826346)}.intro-cut__heading{position:absolute;z-index:1;top:23%;right:20px;left:20px;text-align:center;text-shadow:0 2px 13px rgba(0,0,0,.38)}.intro-cut__heading p{margin:0 0 17px;font-size:19px;font-weight:700;letter-spacing:.08em}.intro-cut__heading h1{margin:0;font-size:clamp(31px,8.5vw,40px);font-weight:700;letter-spacing:-.04em;line-height:1.12}.intro-cut__heading span{display:block;margin-top:18px;font-size:12px;letter-spacing:.13em}.intro-cut__cta{position:absolute;z-index:2;right:25%;bottom:max(30px,env(safe-area-inset-bottom));left:25%;border:1px solid rgba(255,255,255,.86);padding:15px 12px;color:#fff;background:#10151238;font-size:16px;letter-spacing:.12em}.intro-cut__cta:hover{background:#1015126e}.story-panel{position:absolute;z-index:1;inset:0;display:flex;flex-direction:column;justify-content:flex-start;padding:18% 28px 48px;overflow:hidden;color:#f8faf7;background:radial-gradient(circle at 74% 18%,var(--story-glow) 0,transparent 34%),linear-gradient(150deg,var(--story-color),#0c1513);transform:translateY(calc((1 - clamp(0,(var(--journey-progress) - var(--story-entry)) * 50,1))*100%)) translateY(calc(clamp(0,(var(--journey-progress) - var(--story-exit)) * 50,1)*-100%));pointer-events:none}.story-panel__year{max-width:54%;margin:0;font-size:11px;font-weight:700;letter-spacing:.16em}.story-panel h1{max-width:54%;margin:16px 0 22px;white-space:pre-line;font-size:39px;font-weight:400;letter-spacing:-.06em;line-height:1.02}.story-panel__copy{max-width:305px;margin:0;font-size:14px;line-height:1.85}.story-panel__copy span{display:block;opacity:clamp(0,(var(--journey-progress) - var(--story-start) - var(--line-delay)) * 28,1);transform:translateY(calc((1 - clamp(0,(var(--journey-progress) - var(--story-start) - var(--line-delay)) * 28,1))*18px))}.story-panel--final{transform:translateY(calc((1 - clamp(0,(var(--journey-progress) - var(--story-entry)) * 50,1))*100%))}.journey-meter{position:absolute;z-index:4;right:24px;bottom:max(28px,env(safe-area-inset-bottom));left:24px;color:#fff;text-align:center;text-shadow:0 1px 6px rgba(0,0,0,.7);opacity:clamp(0,(var(--journey-progress) - .08) * 50,1);pointer-events:none}.journey-meter__reading{display:flex;align-items:center;justify-content:center;gap:18px}.journey-meter__reading span{width:46px;height:1px;background:#ffffffad}.journey-meter__reading strong{font-size:42px;font-variant-numeric:tabular-nums;letter-spacing:-.06em;line-height:.85}.journey-meter p{margin:7px 0 17px;font-size:8px;font-weight:700;letter-spacing:.18em}.journey-meter__ticks{height:20px;border-bottom:1px solid rgba(255,255,255,.38);background:repeating-linear-gradient(90deg,rgba(255,255,255,.65) 0 1px,transparent 1px 10px),repeating-linear-gradient(90deg,transparent 0 49px,rgba(255,255,255,.75) 49px 50px);background-position:left bottom;background-repeat:repeat-x;background-size:auto 7px,auto 15px}.journey-meter__track{height:7px;overflow:hidden;margin-top:9px;background:#0d0a058f;box-shadow:0 0 14px #eba1384d}.journey-meter__track span{display:block;width:calc(var(--journey-progress) * 100%);height:100%;background:linear-gradient(90deg,#8e5111,#d99b3b);box-shadow:0 0 10px #d99b3b;transition:width .02s linear}.scene-copy{position:absolute;z-index:4;right:24px;left:24px}.eyebrow{margin:0 0 14px;font-size:10px;font-weight:700;letter-spacing:.16em}.scene-copy h1,.scene-copy h2{margin:0;font-size:clamp(37px,10.5vw,47px);font-weight:400;letter-spacing:-.06em;line-height:1.02}.scene-copy__body{max-width:245px;margin:18px 0 0;font-size:14px;line-height:1.7}.scene-copy--intro{bottom:13%;opacity:clamp(0,1 - var(--journey-progress) * 4,1);transform:translateY(calc(var(--journey-progress) * -24px))}.scene-copy--detail{bottom:13%;opacity:clamp(0,(var(--journey-progress) - .25) * 5,1);transform:translateY(calc((.55 - var(--journey-progress)) * 38px))}.scene-copy--ending{bottom:12%;opacity:clamp(0,(var(--journey-progress) - .7) * 4,1);transform:translateY(calc((1 - var(--journey-progress)) * 30px))}.scene-copy--ending button{display:flex;width:100%;justify-content:space-between;margin-top:26px;border:1px solid rgba(255,255,255,.7);padding:15px 16px;background:#0a1c164d;text-align:left}.scene-copy--ending button span{font-size:20px;line-height:.7}.scroll-hint{position:absolute;z-index:4;bottom:31px;left:24px;display:flex;align-items:center;gap:10px;color:#ffffffbf;font-size:10px;letter-spacing:.14em;opacity:clamp(0,1 - var(--journey-progress) * 7,1)}.scroll-hint span{display:block;width:20px;height:1px;background:currentColor}.scene-index{position:absolute;z-index:4;right:24px;bottom:31px;font-size:12px;letter-spacing:.15em}.afterword{width:min(100%,430px);margin:0 auto;padding:64px 24px 100px;color:#183329;background:#f1f2ed}.afterword .eyebrow{color:#64736a}.afterword h2{margin:0;font-size:26px;font-weight:400;letter-spacing:-.04em}.afterword p:last-child{margin:16px 0 0;color:#526158;font-size:14px;line-height:1.7}@media(max-width:600px){.scroll-scene{padding:0;min-height:3500vh}.experience__phone{width:100%;height:100dvh;min-height:0;box-shadow:none}}@media(prefers-reduced-motion:reduce){.scroll-scene{min-height:100dvh}.scroll-hint{display:none}}
