:root{--ink:#26392e;--cream:#fff9ed;--mist:#eaf1e4;--moss:#688961;--soil:#914f36;--sun:#f2cc72;--coral:#dd8065;--line:rgba(255,250,237,.4);--serif:"Songti SC","STSong","Noto Serif SC",Georgia,serif;--sans:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:#39261d;color:var(--cream);font-family:var(--sans)}button,a{font:inherit}button{color:inherit}.skip-link{position:absolute;z-index:20;top:-80px;left:18px;padding:10px 14px;border-radius:10px;background:var(--cream);color:var(--ink);text-decoration:none}.skip-link:focus{top:16px}
.journey-bar{position:absolute;z-index:10;top:0;right:0;left:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:77px;padding:18px clamp(20px,4vw,58px);border-bottom:1px solid rgba(255,250,237,.22);background:linear-gradient(180deg,rgba(26,36,27,.49),transparent);backdrop-filter:blur(5px)}.brand{display:inline-flex;align-items:center;gap:10px;width:max-content;color:var(--cream);font-weight:800;letter-spacing:.03em;text-decoration:none}.brand-mark{position:relative;display:inline-block;width:36px;height:36px;border-radius:14px 14px 14px 4px;background:var(--coral);transform:rotate(-7deg)}.brand-mark i{position:absolute;bottom:8px;width:6px;border-radius:99px 99px 2px 2px;background:var(--ink)}.brand-mark i:nth-child(1){left:9px;height:10px}.brand-mark i:nth-child(2){left:15px;height:18px;background:var(--cream)}.brand-mark i:nth-child(3){left:22px;height:13px}.journey-status{display:flex;gap:10px;margin:0;color:var(--cream);font-size:12px;font-weight:700;letter-spacing:.07em}.journey-status span+span{padding-left:10px;border-left:1px solid rgba(255,250,237,.4);letter-spacing:0}.notice-button{justify-self:end;padding:8px 12px;border:1px solid rgba(255,250,237,.46);border-radius:999px;background:rgba(45,58,41,.35);color:var(--cream);cursor:pointer;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.notice-button:hover,.notice-button:focus-visible{background:rgba(255,250,237,.18);transform:translateY(-1px)}
.world{position:relative;display:grid;min-height:100svh;overflow:hidden;isolation:isolate}.scene-stack{position:absolute;z-index:-1;inset:0;background:#5e3828}.scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 780ms ease,transform 3.5s ease}.scene-image.is-active{opacity:1;transform:scale(1)}.scene-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,36,26,.5) 0%,transparent 28%,transparent 58%,rgba(21,29,22,.56) 100%)}.grain{position:absolute;inset:0;opacity:.14;mix-blend-mode:soft-light;background-image:radial-gradient(circle at 12% 40%,rgba(255,255,255,.55) 0 1px,transparent 1.5px),radial-gradient(circle at 72% 15%,rgba(0,0,0,.7) 0 1px,transparent 1.7px);background-size:13px 15px,17px 19px;pointer-events:none}.branch-buds{position:absolute;z-index:2;inset:0;opacity:0;pointer-events:none;transition:opacity .5s ease}.bud{position:absolute;width:16px;height:16px;border:2px solid rgba(255,250,237,.85);border-radius:50% 50% 50% 8px;background:rgba(222,128,101,.75);box-shadow:0 0 0 7px rgba(255,250,237,.16)}.bud-left{top:36%;left:21%;transform:rotate(-18deg)}.bud-center{top:44%;left:51%;transform:rotate(17deg)}.bud-right{top:30%;right:20%;transform:rotate(41deg)}.world[data-stage="branches"] .branch-buds{opacity:1}
.scene-copy{align-self:end;max-width:min(570px,calc(100% - 42px));margin:0 0 clamp(120px,16vh,164px) clamp(21px,7vw,104px);padding:0 0 0 17px;border-left:2px solid var(--sun);text-shadow:0 2px 16px rgba(16,28,20,.55)}.scene-kicker{margin:0 0 7px;color:#f5d784;font-size:11px;font-weight:800;letter-spacing:.17em}.scene-copy h1{margin:0;font-family:var(--serif);font-size:clamp(43px,6vw,76px);font-weight:600;letter-spacing:.02em;line-height:1.17}.scene-copy>p:not(.scene-kicker){max-width:34em;margin:13px 0 0;font-size:clamp(15px,1.7vw,18px);line-height:1.82}.portal-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:10px 15px;border:1px solid rgba(255,250,237,.75);border-radius:999px;background:rgba(32,54,37,.44);color:var(--cream);font-size:14px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s}.portal-link:hover,.portal-link:focus-visible{background:rgba(255,250,237,.19);transform:translateY(-2px)}
.scene-navigation{position:absolute;right:clamp(20px,4vw,58px);bottom:27px;left:clamp(20px,4vw,58px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px}.round-button,.move-button{border:1px solid var(--line);background:rgba(27,44,32,.4);color:var(--cream);cursor:pointer;backdrop-filter:blur(6px);transition:transform .2s,background .2s}.round-button:hover,.round-button:focus-visible,.move-button:hover,.move-button:focus-visible{background:rgba(255,250,237,.2);transform:translateY(-2px)}.round-button:disabled{opacity:.28;cursor:not-allowed;transform:none}.round-button{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:18px}.move-button{display:inline-flex;align-items:center;gap:12px;min-height:47px;padding:10px 16px;border-radius:999px;font-size:14px;font-weight:800}.move-button span:last-child{font-size:19px}.leaf-steps{display:flex;justify-content:center;gap:9px}.leaf-step{width:13px;height:13px;padding:0;border:1px solid rgba(255,250,237,.8);border-radius:50% 50% 50% 5px;background:rgba(255,250,237,.16);cursor:pointer;transform:rotate(-35deg);transition:background .2s,transform .2s}.leaf-step:hover,.leaf-step:focus-visible{transform:rotate(-35deg) scale(1.2)}.leaf-step.is-active{background:var(--sun);box-shadow:0 0 0 5px rgba(242,204,114,.23)}
.notice-dialog{width:min(570px,calc(100% - 36px));padding:26px 28px;border:0;border-radius:24px;background:var(--cream);color:var(--ink);box-shadow:0 22px 60px rgba(0,0,0,.35)}.notice-dialog::backdrop{background:rgba(15,25,18,.58);backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;gap:14px}.dialog-top .scene-kicker{color:#a55b48}.close-button{display:grid;place-items:center;width:33px;height:33px;padding:0;border:0;border-radius:50%;background:#eee1c7;color:var(--ink);cursor:pointer;font-size:22px;line-height:1}.notice-dialog h2{margin:4px 0 10px;font-family:var(--serif);font-size:30px}.notice-dialog p{margin:0;color:#59665e;font-size:15px;line-height:1.85}
@media(max-width:720px){.journey-bar{grid-template-columns:1fr auto;padding:14px 18px;min-height:63px}.journey-status{display:none}.notice-button{font-size:11px}.world{min-height:100svh}.scene-image{object-position:center}.scene-wash{background:linear-gradient(180deg,rgba(24,36,26,.48),transparent 25%,transparent 51%,rgba(21,29,22,.65) 100%)}.scene-copy{max-width:calc(100% - 36px);margin:0 0 130px 18px;padding-left:13px}.scene-copy h1{font-size:clamp(40px,12vw,57px)}.scene-copy>p:not(.scene-kicker){font-size:15px;line-height:1.65}.scene-navigation{right:18px;bottom:20px;left:18px;gap:10px}.move-button{max-width:185px;justify-content:center;padding:9px 13px;font-size:13px}.leaf-steps{gap:6px}.leaf-step{width:11px;height:11px}.branch-buds .bud{width:13px;height:13px}.bud-left{left:12%}.bud-right{right:11%}}
@media(prefers-reduced-motion:reduce){.scene-image,.branch-buds,.leaf-step,.round-button,.move-button,.notice-button,.portal-link{transition:none!important}.scene-image.is-active{transform:none}}
