:root{--ink:#122022;--muted:#657574;--paper:#f6f0e4;--panel:#fffaf1;--line:rgba(18,32,34,.16);--dawn:#d36e50;--day:#2f766e;--noon:#b38425;--dusk:#b95040;--night:#253b59;--current:var(--dawn);--current-soft:rgba(211,110,80,.18);--archive:#fff1d3;--archive-deep:#6f4722;--field-dark:rgba(18,26,27,.74);--field-line:rgba(255,250,241,.22);--scene-count:6;--scene-width:100vw;--world-width:600vw;--city-bg-image:url("./assets/imgs/bg.png");--ease:cubic-bezier(.22,1,.36,1);--shadow:0 18px 55px rgba(12,24,28,.24);}*{box-sizing:border-box;}html,body{height:100%;touch-action:manipulation;}body{margin:0;overflow:hidden;color:var(--ink);background:#172331;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:0;-webkit-font-smoothing:antialiased;user-select:none;}button{font:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}body[data-period="dawn"]{--current:var(--dawn);--current-soft:rgba(211,110,80,.2);}body[data-period="day"]{--current:var(--day);--current-soft:rgba(47,118,110,.2);}body[data-period="noon"]{--current:var(--noon);--current-soft:rgba(179,132,37,.22);}body[data-period="dusk"]{--current:var(--dusk);--current-soft:rgba(185,80,64,.22);}body[data-period="night"]{--current:var(--night);--current-soft:rgba(37,59,89,.26);}.scroll-app{position:relative;width:100vw;height:100svh;overflow:hidden;background:linear-gradient(180deg,#d8e3e4 0%,#ead0a7 58%,#172331 100%);transition:background 520ms var(--ease);}.hud{position:absolute;inset:0;z-index:20;pointer-events:none;}.hud-actions{position:absolute;right:14px;display:flex;pointer-events:auto;}.hud-actions{top:calc(14px + env(safe-area-inset-top));align-items:center;justify-content:flex-end;}.asset-loader{position:absolute;top:calc(14px + env(safe-area-inset-top));right:62px;z-index:60;display:grid;gap:7px;width:min(240px,calc(100vw - 96px));padding:10px 12px 11px;color:#fffaf1;background:linear-gradient(180deg,rgba(18,26,27,.84),rgba(18,26,27,.72)),rgba(18,26,27,.72);border:1px solid rgba(255,250,241,.14);border-radius:14px;box-shadow:0 14px 26px rgba(8,16,20,.24);backdrop-filter:blur(10px);pointer-events:none;opacity:1;transform:translateY(0);transition:opacity 280ms var(--ease),transform 280ms var(--ease),border-color 280ms var(--ease);}.asset-loader.is-hidden{opacity:0;transform:translateY(-8px);}.asset-loader[data-state="ready"]{border-color:rgba(117,208,159,.3);}.asset-loader[data-state="error"]{border-color:rgba(255,159,122,.34);}.asset-loader-head{display:flex;align-items:center;justify-content:space-between;gap:12px;}.asset-loader-label{color:rgba(255,250,241,.92);font-size:12px;font-weight:850;line-height:1;letter-spacing:.06em;}.asset-loader-value{color:#f4c56c;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;}.asset-loader-track{position:relative;overflow:hidden;height:6px;background:rgba(255,250,241,.14);border-radius:999px;}.asset-loader-bar{display:block;width:var(--asset-load-progress,0%);height:100%;background:linear-gradient(90deg,#f4c56c 0%,color-mix(in srgb,var(--current) 80%,#fff4cf) 100%);border-radius:inherit;transition:width 220ms var(--ease);}.asset-loader-hint{margin:0;color:rgba(255,250,241,.72);font-size:11px;font-weight:700;line-height:1.4;}.ambient-btn{display:inline-flex;align-items:center;min-height:38px;gap:8px;padding:8px 10px;color:#fffaf1;background:rgba(18,26,27,.64);border:1px solid rgba(255,250,241,.18);border-radius:999px;cursor:pointer;pointer-events:auto;box-shadow:0 8px 18px rgba(10,20,24,.14);}.ambient-btn{justify-content:center;min-width:38px;min-height:38px;padding:8px;color:rgba(255,250,241,.74);font-size:18px;line-height:1;}.ambient-btn[aria-pressed="true"]{color:#fffaf1;border-color:rgba(244,197,108,.38);}.ambient-btn.is-muted{color:rgba(255,250,241,.44);background:rgba(18,26,27,.48);border-color:rgba(255,250,241,.1);}.ambient-btn.is-muted .ambient-icon{position:relative;}.ambient-btn.is-muted .ambient-icon::after{position:absolute;top:50%;left:50%;width:18px;height:2px;content:"";background:currentColor;border-radius:999px;transform:translate(-50%,-50%) rotate(-45deg);}.ambient-btn:disabled{opacity:.52;cursor:not-allowed;}.ambient-icon{display:block;transform:translateY(-1px);}.viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;--focus-x:50vw;}.viewport::after{position:absolute;inset:0;z-index:11;content:"";background:linear-gradient(180deg,rgba(9,17,23,.08),transparent 24%,transparent 72%,rgba(9,17,23,.16)),linear-gradient(90deg,rgba(9,17,23,.14),transparent 18%,transparent 82%,rgba(9,17,23,.14));opacity:.78;pointer-events:none;transition:background 520ms var(--ease),opacity 520ms var(--ease);}.viewport.is-dragging{cursor:grabbing;}.viewport.is-autoplaying::after{animation:focusBreathe 3.8s ease-in-out infinite;}.city-scroll{position:absolute;top:0;left:0;width:var(--world-width);height:100%;transform:translate3d(0,0,0);transition:transform 900ms var(--ease);will-change:transform;}.city-scroll::before{position:absolute;inset:0;content:"";background-image:var(--city-bg-image);background-position:left center;background-repeat:no-repeat;background-size:var(--world-width) 100%;}.city-scroll::after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,rgba(10,18,25,.18),transparent 22%,transparent 72%,rgba(10,18,25,.2)),linear-gradient(90deg,rgba(10,18,25,.12),transparent 12%,transparent 88%,rgba(10,18,25,.14));pointer-events:none;}.viewport.is-dragging .city-scroll{transition:none;}.sky-layer{position:absolute;inset:0;display:none;background:linear-gradient(90deg,rgba(16,27,38,.38),transparent 14%,transparent 75%,rgba(14,21,34,.7)),linear-gradient(180deg,#cfdde4 0%,#f3d3a6 48%,#172331 100%);}.sun-or-moon{position:absolute;top:13vh;left:2700px;display:none;width:70px;height:70px;background:#f6c86a;border-radius:50%;box-shadow:0 0 38px rgba(246,200,106,.35);}.mountain-layer{position:absolute;right:0;bottom:30vh;left:0;display:none;height:42vh;background-repeat:repeat-x;background-size:720px 100%;}.layer-back{opacity:.88;background-image:url("data:image/svg+xml,%3Csvg width='720' height='260' viewBox='0 0 720 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 190c72-60 132-80 204-34 54 35 94 13 148-45 58-62 112-66 176-8 66 60 118 78 192 42v115H0z' fill='%23b9d0c5'/%3E%3C/svg%3E");}.layer-front{bottom:25vh;opacity:.95;background-image:url("data:image/svg+xml,%3Csvg width='720' height='250' viewBox='0 0 720 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 180c90-48 160-44 230-8 70 36 128 20 190-30 92-74 184-54 300 32v76H0z' fill='%23d2dfd5'/%3E%3C/svg%3E");}.river-layer{position:absolute;right:0;bottom:15vh;left:0;display:none;height:22vh;background:linear-gradient(90deg,rgba(91,139,160,.14),rgba(91,139,160,.38),rgba(25,46,69,.42)),repeating-linear-gradient(-8deg,rgba(255,255,255,.16) 0 2px,transparent 2px 48px);clip-path:polygon(0 42%,12% 28%,26% 52%,42% 30%,58% 48%,74% 24%,100% 40%,100% 100%,0 100%);}.road-layer{position:absolute;right:0;bottom:0;left:0;display:none;height:18vh;background:linear-gradient(180deg,#64584b,#302c2d),repeating-linear-gradient(90deg,transparent 0 120px,rgba(255,255,255,.16) 120px 160px);border-top:8px solid rgba(255,250,241,.54);}.building-layer{position:absolute;right:0;bottom:17vh;left:0;height:32vh;display:none;}.building{position:absolute;bottom:0;width:var(--w);height:var(--h);background:rgba(255,250,241,.82);border:2px solid rgba(18,32,34,.18);border-radius:4px 4px 0 0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);}.building::before{position:absolute;inset:18px 14px auto;height:calc(var(--h) - 36px);content:"";background:repeating-linear-gradient(0deg,transparent 0 20px,rgba(18,32,34,.16) 20px 24px),repeating-linear-gradient(90deg,transparent 0 26px,rgba(18,32,34,.16) 26px 30px);}.station-layer{position:absolute;right:0;bottom:0;left:0;z-index:6;height:100%;pointer-events:none;}.station-plate{position:absolute;bottom:55vh;left:var(--x);display:grid;gap:3px;min-width:112px;max-width:172px;padding:9px 10px 8px;color:#fffaf1;background:linear-gradient(180deg,rgba(18,26,27,.62),rgba(18,26,27,.38)),rgba(18,26,27,.46);border:1px solid rgba(255,250,241,.16);border-top:3px solid var(--paper-color);border-radius:3px;box-shadow:0 14px 26px rgba(8,16,20,.18);backdrop-filter:blur(4px);transform:translateX(-12%);}.station-plate::after{position:absolute;top:100%;left:16px;width:1px;height:34px;content:"";background:linear-gradient(180deg,rgba(255,250,241,.42),transparent);}.station-plate b,.station-plate em,.station-plate i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.station-plate b{color:#f4c56c;font-size:19px;font-variant-numeric:tabular-nums;line-height:1;}.station-plate em{color:rgba(255,250,241,.9);font-size:12px;font-style:normal;font-weight:900;}.station-plate i{color:rgba(255,250,241,.62);font-size:11px;font-style:normal;font-weight:700;}.workers-layer{position:absolute;right:0;bottom:16vh;left:0;height:48vh;}.worker-figure{position:absolute;bottom:var(--bottom,0);left:var(--x);z-index:8;display:grid;width:min(38vw,144px);gap:6px;place-items:center;padding:0;color:#fffaf1;background:transparent;border:0;cursor:pointer;isolation:isolate;opacity:.7;transform:translateX(-50%);transition:transform 360ms var(--ease),filter 360ms var(--ease),opacity 360ms var(--ease);}.worker-figure.is-active{opacity:1;filter:drop-shadow(0 16px 26px rgba(13,23,28,.28));transform:translateX(-50%) translateY(-8px) scale(1.08);}body.is-guided-mode .worker-figure{opacity:.38;filter:saturate(.82);}body.is-guided-mode .worker-figure.is-active{opacity:1;filter:saturate(1) drop-shadow(0 16px 26px rgba(13,23,28,.28));animation:guidedTargetPulse 2.1s ease-in-out infinite;}body.is-union-mode .worker-figure{width:min(48vw,190px);}body.is-union-mode .paper-person{width:min(48vw,190px);aspect-ratio:4 / 3;}.worker-figure.is-picked{animation:pickPulse 520ms var(--ease);}.worker-figure.is-click-locked{cursor:default;}.worker-figure.is-click-locked.is-active{filter:saturate(.94) drop-shadow(0 10px 18px rgba(13,23,28,.18));}.worker-figure.is-click-locked .paper-person{pointer-events:none;}.viewport.is-autoplaying .worker-figure:not(.is-active){opacity:.52;}.worker-figure:focus-visible{outline:none;}.paper-person{position:relative;z-index:1;display:block;width:min(38vw,144px);aspect-ratio:1;pointer-events:none;user-select:none;transform-origin:50% 78%;will-change:transform;filter:drop-shadow(0 10px 0 rgba(255,250,241,.45)) drop-shadow(0 18px 20px rgba(13,23,28,.22));}.paper-person-frame{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:1;}.union-service-visual .paper-person-frame{object-fit:contain;background:none;border:0;border-radius:0;box-shadow:none;}.paper-person[data-frame-count="2"] .paper-person-frame:first-child{animation:personFrameOne 6.4s ease-in-out infinite;}.paper-person[data-frame-count="2"] .paper-person-frame:nth-child(2){opacity:0;animation:personFrameTwo 6.4s ease-in-out infinite;}.worker-figure[data-worker-id="courier"] .paper-person[data-frame-count="2"] .paper-person-frame:first-child{transform:translate(10%,-30%);}body.is-union-mode .worker-figure[data-worker-id="courier"] .paper-person[data-frame-count="2"] .paper-person-frame:first-child{transform:none;}.worker-figure[data-worker-id="cleaner"].is-active .paper-person{animation:cleanerBody 1.35s ease-in-out infinite;}.worker-figure[data-worker-id="breakfast"].is-active .paper-person{animation:breakfastBody 1.45s ease-in-out infinite;}.worker-figure[data-worker-id="driver"].is-active .paper-person{animation:driverBody 1.2s ease-in-out infinite;}.worker-figure[data-worker-id="municipal"].is-active .paper-person{animation:municipalBody 1.7s ease-in-out infinite;}.worker-figure[data-worker-id="courier"].is-active .paper-person{animation:courierBody 1.05s ease-in-out infinite;}.worker-figure[data-worker-id="night"].is-active .paper-person{animation:nightBody 2.2s ease-in-out infinite;}.current-card{position:absolute;top:var(--card-top,calc(6vh + env(safe-area-inset-top)));right:auto;bottom:auto;left:var(--card-left,clamp(18px,6vw,82px));z-index:21;width:var(--card-width,min(44vw,460px));max-width:calc(100vw - 190px);padding:18px 20px 18px 22px;color:#fffaf1;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;filter:drop-shadow(0 18px 26px rgba(7,14,18,.22));isolation:isolate;opacity:1;pointer-events:none;transform:translateX(var(--card-shift-x,0)) translateY(0);transform-origin:50% 50%;transition:top 1200ms var(--ease),left 1200ms var(--ease),opacity 1280ms ease,transform 1200ms var(--ease),filter 980ms var(--ease);}.current-card::before{position:absolute;inset:-10px -18px -11px -16px;z-index:-1;content:"";background:radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--current) 24%,transparent),transparent 46%),linear-gradient(105deg,rgba(18,26,27,.58),rgba(18,26,27,.34) 58%,rgba(18,26,27,.08)),rgba(255,250,241,.08);border:1px solid rgba(255,250,241,.12);border-radius:4px 18px 6px 14px;box-shadow:inset 0 0 0 1px rgba(255,250,241,.06),0 18px 38px rgba(6,15,19,.18);opacity:.84;transform:rotate(-.7deg) skewX(-1deg);mask-image:linear-gradient(90deg,#000 0 78%,rgba(0,0,0,.28) 100%);}.current-card::after{position:absolute;bottom:8px;left:20px;width:min(148px,42%);height:3px;content:"";background:linear-gradient(90deg,var(--current),rgba(244,197,108,.42),transparent);border-radius:999px;opacity:.86;}.current-card h2{display:grid;gap:4px;margin:0;font-family:"Songti SC","STKaiti","KaiTi",serif;font-size:clamp(28px,4vw,54px);font-weight:900;line-height:.98;text-shadow:0 2px 0 rgba(18,26,27,.18),0 12px 24px rgba(6,15,19,.26);}.current-card time{display:block;color:#f6ce80;font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,4.8vw,64px);font-weight:900;font-variant-numeric:tabular-nums;line-height:.86;}.current-card span{min-width:0;color:rgba(255,250,241,.96);overflow-wrap:anywhere;}.current-card time::after{content:"";}.current-card.is-closing{filter:drop-shadow(0 22px 34px rgba(7,14,18,.24));}.current-card.is-switching{opacity:0;transform:translateX(var(--card-shift-x,0)) translateY(-12px) scale(.985);}.current-card[data-caption-align="center"]{text-align:center;}.current-card[data-caption-align="center"]::after{right:0;left:0;margin:auto;}.current-card[data-caption-align="right"]{text-align:right;}.current-card[data-caption-align="right"]::before{transform:rotate(.7deg) skewX(1deg);}.current-card[data-caption-align="right"]::after{right:20px;left:auto;}.current-card.is-closing h2{color:#fff4dc;}.union-explore-hint{position:absolute;right:clamp(18px,6vw,72px);bottom:calc(118px + env(safe-area-inset-bottom));left:clamp(18px,6vw,72px);z-index:22;display:grid;grid-template-columns:42px minmax(0,auto) 42px;align-items:center;justify-content:center;gap:clamp(14px,3vw,32px);color:#fffaf1;pointer-events:none;opacity:0;transform:translateY(14px);transition:opacity 420ms var(--ease),transform 420ms var(--ease);}.union-explore-hint[hidden]{display:none;}.union-explore-hint.is-visible{opacity:1;transform:none;}.union-explore-hint.is-leaving{opacity:0;transform:translateY(10px);}.union-explore-copy{display:grid;justify-items:center;gap:6px;min-width:min(74vw,360px);padding:13px 20px 14px;text-align:center;background:radial-gradient(circle at 18% 0%,rgba(244,197,108,.22),transparent 52%),rgba(18,26,27,.7);border:1px solid rgba(255,250,241,.18);box-shadow:0 18px 44px rgba(7,14,18,.28);backdrop-filter:blur(10px);}.union-explore-copy strong{font-size:clamp(22px,4.2vw,34px);font-weight:950;line-height:1;letter-spacing:.12em;}.union-explore-copy span{color:rgba(255,250,241,.78);font-size:clamp(12px,2.4vw,15px);font-weight:750;line-height:1.45;}.union-explore-arrow{position:relative;display:block;width:42px;height:42px;border:1px solid rgba(255,250,241,.22);background:rgba(18,26,27,.5);backdrop-filter:blur(8px);}.union-explore-arrow::before{position:absolute;top:50%;left:50%;width:14px;height:14px;content:"";border-top:3px solid #fffaf1;border-left:3px solid #fffaf1;transform:translate(-38%,-50%) rotate(-45deg);}.union-explore-arrow.is-left{animation:unionHintLeft 1.35s ease-in-out infinite;}.union-explore-arrow.is-right{animation:unionHintRight 1.35s ease-in-out infinite;}.union-explore-arrow.is-right::before{transform:translate(-62%,-50%) rotate(135deg);}.ending-entry{position:absolute;right:14px;bottom:calc(156px + env(safe-area-inset-bottom));left:14px;z-index:19;display:flex;justify-content:center;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity 420ms var(--ease),transform 420ms var(--ease);}.ending-entry[hidden]{display:none;}.ending-entry.is-visible{opacity:1;pointer-events:auto;transform:translateY(0);}.ending-entry button{position:relative;overflow:hidden;min-height:48px;min-width:min(100%,220px);padding:12px 24px;color:#fffaf1;background:linear-gradient(180deg,color-mix(in srgb,var(--current) 88%,#f0b35b),color-mix(in srgb,var(--current) 76%,#6b231d));border:1px solid rgba(255,250,241,.18);border-radius:999px;box-shadow:inset 0 1px 0 rgba(255,250,241,.16),0 10px 20px rgba(8,16,20,.22);font-weight:900;letter-spacing:.02em;cursor:pointer;animation:endingEntryFloat 2.8s ease-in-out infinite;transition:transform 220ms var(--ease),box-shadow 220ms var(--ease);}.ending-entry button::before{position:absolute;inset:-10px;z-index:-1;content:"";background:radial-gradient(circle,color-mix(in srgb,var(--current) 48%,#fff4cf) 0%,transparent 68%);opacity:.46;filter:blur(10px);animation:endingEntryGlow 2.8s ease-in-out infinite;}.ending-entry button::after{position:absolute;inset:1px;content:"";background:linear-gradient(115deg,transparent 18%,rgba(255,250,241,.34) 46%,transparent 70%);opacity:0;transform:translateX(-130%);}.ending-entry button:hover::after{opacity:1;animation:endingEntryShine 900ms var(--ease) 1;}.ending-entry button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,250,241,.16),0 14px 24px rgba(8,16,20,.26);}.ending-entry button:active{transform:translateY(1px);box-shadow:inset 0 1px 0 rgba(255,250,241,.16),0 8px 16px rgba(8,16,20,.22);}.summary-panel{position:absolute;right:14px;bottom:calc(96px + env(safe-area-inset-bottom));left:14px;z-index:17;display:grid;gap:12px;max-width:680px;padding:18px 16px 15px;color:#fffaf1;background:linear-gradient(180deg,rgba(18,26,27,.9),rgba(18,26,27,.78)),rgba(18,26,27,.82);border:1px solid rgba(255,250,241,.2);border-left:4px solid var(--current);border-radius:4px;box-shadow:0 20px 42px rgba(8,16,20,.3);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity 520ms var(--ease),transform 520ms var(--ease);}.summary-panel::before{position:absolute;top:14px;right:16px;content:"24H";color:rgba(255,250,241,.18);font-size:30px;font-weight:900;line-height:1;pointer-events:none;}.summary-panel[hidden]{display:none;}.summary-panel.is-visible{opacity:1;pointer-events:auto;transform:translateY(0);}.summary-copy p,.summary-copy h2{margin:0;}.summary-copy p{color:#f4c56c;font-size:11px;font-weight:900;letter-spacing:.08em;}.summary-copy h2{max-width:420px;margin-top:4px;font-size:22px;line-height:1.16;}.summary-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}.summary-worker{display:grid;min-width:0;gap:4px;justify-items:center;padding:9px 5px 8px;color:rgba(255,250,241,.82);background:linear-gradient(180deg,rgba(255,250,241,.1),rgba(255,250,241,.04));border:1px solid rgba(255,250,241,.16);border-radius:3px;cursor:pointer;box-shadow:none;}.summary-worker:focus-visible,.time-node:focus-visible,.audio-btn:focus-visible,.summary-actions button:focus-visible,.story-continue-btn:focus-visible{outline:2px solid rgba(244,197,108,.82);outline-offset:3px;}.summary-worker img{display:block;width:38px;aspect-ratio:1;object-fit:contain;pointer-events:none;}.summary-worker strong,.summary-worker span{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap;}.summary-worker strong{color:#f4c56c;font-size:11px;}.summary-worker span{font-size:10px;font-weight:800;}.summary-actions{display:flex;justify-content:flex-end;}.summary-actions button{min-height:36px;padding:8px 16px;color:#fffaf1;background:rgba(255,250,241,.1);border:1px solid rgba(255,250,241,.3);border-radius:3px;cursor:pointer;font-weight:900;}.timeline{position:absolute;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));left:12px;z-index:18;display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding:22px 10px 8px;background:repeating-linear-gradient(90deg,rgba(255,250,241,.08) 0 1px,transparent 1px 18px),linear-gradient(180deg,rgba(18,26,27,.84),rgba(18,26,27,.72));border:1px solid rgba(255,250,241,.16);border-radius:4px;box-shadow:0 12px 28px rgba(8,16,20,.22);backdrop-filter:blur(9px);isolation:isolate;--timeline-progress:0;}.timeline-scale{position:absolute;top:6px;right:12px;left:12px;z-index:1;display:flex;justify-content:space-between;color:rgba(255,250,241,.42);font-size:10px;font-weight:900;font-variant-numeric:tabular-nums;pointer-events:none;}.timeline-progress{position:absolute;top:26px;right:14px;left:14px;z-index:0;height:3px;overflow:visible;background:repeating-linear-gradient(90deg,rgba(255,250,241,.28) 0 1px,transparent 1px 14px),rgba(255,250,241,.12);border-radius:0;pointer-events:none;}.timeline-progress i{position:relative;display:block;width:var(--timeline-progress);height:100%;background:var(--current);border-radius:inherit;transition:width 160ms linear;}.timeline-progress i::after{position:absolute;top:50%;right:0;width:8px;height:18px;content:"";background:#fffaf1;border:1px solid rgba(18,26,27,.28);border-radius:2px;box-shadow:0 0 0 3px rgba(18,26,27,.48);transform:translate(50%,-50%);}.time-node{position:relative;z-index:1;min-width:0;min-height:34px;padding:0;color:rgba(255,250,241,.7);background:transparent;border:0;border-right:1px solid rgba(255,250,241,.08);cursor:pointer;}.time-node:last-child{border-right:0;}.time-node::before{position:absolute;top:3px;left:50%;width:2px;height:18px;content:"";background:rgba(255,250,241,.34);border:0;border-radius:1px;transform:translateX(-50%);transition:background 240ms var(--ease),box-shadow 240ms var(--ease),transform 240ms var(--ease);}.time-node.is-active{color:#fffaf1;}.time-node.is-active::before{background:var(--current);box-shadow:0 0 0 3px rgba(255,250,241,.12);transform:translateX(-50%) scaleY(1.2);}.time-node span{position:absolute;top:23px;left:50%;color:rgba(255,250,241,.54);font-size:10px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;transform:translateX(-50%);transition:color 240ms var(--ease);}.time-node.is-active span{color:#fffaf1;}.timeline.is-complete .time-node{color:#fffaf1;}.timeline.is-complete .time-node::before{background:var(--current);box-shadow:0 0 0 4px rgba(255,250,241,.12);}.story-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;align-content:center;gap:14px;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));perspective:1200px;}.story-modal[hidden]{display:none;}.modal-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,rgba(255,250,241,.08),transparent 34%),rgba(8,16,20,.58);backdrop-filter:blur(3px);animation:backdropWarmIn 840ms cubic-bezier(.22,1,.36,1) both;}.story-sheet{position:relative;z-index:2;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;width:min(100%,540px);height:min(80vh,540px);height:min(80dvh,540px);max-height:calc(100vh - 58px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 58px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0;color:var(--ink);background:linear-gradient(90deg,rgba(111,75,35,.08),transparent 9%,transparent 91%,rgba(111,75,35,.08)),repeating-linear-gradient(0deg,rgba(102,71,39,.035) 0 1px,transparent 1px 10px),#f4e4c4;border:1px solid rgba(92,58,28,.22);border-radius:6px;box-shadow:0 22px 46px rgba(8,16,20,.38),0 0 0 1px rgba(62,42,24,.18);transform-origin:50% 54%;animation:sheetIn 960ms cubic-bezier(.18,.86,.22,1) both;}.story-sheet::before{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:1;content:"";border:1px solid rgba(104,70,35,.16);border-radius:3px;box-shadow:none;pointer-events:none;}.story-sheet::after{position:absolute;inset:0;z-index:0;content:"";background:linear-gradient(180deg,rgba(255,250,241,.22),transparent 24%,transparent 76%,rgba(104,70,35,.06));pointer-events:none;}.story-header{position:relative;z-index:2;display:grid;grid-template-columns:clamp(82px,24vw,112px) minmax(0,1fr);gap:14px;align-items:center;min-height:126px;padding:22px 20px 16px;background:linear-gradient(90deg,rgba(255,250,241,.36),rgba(255,250,241,.12)),rgba(255,250,241,.2);border-bottom:1px solid rgba(104,70,35,.16);}.story-header::after{position:absolute;right:20px;bottom:-1px;left:20px;height:1px;content:"";background:linear-gradient(90deg,var(--current),rgba(111,71,34,.18),transparent);}.story-avatar{position:relative;display:grid;width:100%;max-width:112px;aspect-ratio:4 / 3;justify-self:start;place-items:center;overflow:hidden;padding:4px;background:linear-gradient(135deg,rgba(255,250,241,.82),rgba(238,210,160,.56)),rgba(255,250,241,.28);border:1px solid rgba(104,70,35,.2);border-radius:3px;box-shadow:inset 0 0 0 1px rgba(255,250,241,.42),0 8px 18px rgba(92,58,28,.14);animation:portraitIn 760ms cubic-bezier(.18,.86,.22,1) 90ms both;}.story-avatar::before{position:absolute;inset:4px;z-index:1;content:"";border:1px solid color-mix(in srgb,var(--current) 44%,rgba(255,250,241,.55));border-radius:2px;pointer-events:none;}.story-avatar::after{display:none;}.story-photo-image{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;background:none;border-radius:2px;pointer-events:none;user-select:none;}.story-modal.is-union-story .story-header{grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;min-height:0;padding:20px 20px 14px;border-bottom:0;}.story-modal.is-union-story .story-avatar{width:min(100%,400px);max-width:400px;aspect-ratio:4 / 3;max-height:204px;justify-self:center;align-self:start;}.story-modal.is-union-story .story-heading{align-content:start;padding-top:0;gap:6px;justify-items:center;text-align:center;}.story-modal.is-union-story .story-content{gap:8px;padding:0 20px 16px;overflow:visible;}.story-modal.is-union-story .story-file{display:none;}.story-modal.is-union-story .story-time{display:none;}.story-modal.is-union-story .story-heading h2{font-size:clamp(22px,4.8vw,28px);line-height:1.14;}.story-modal.is-union-story .story-sheet{grid-template-rows:auto auto;width:min(100%,600px);height:auto;min-height:0;max-height:min(82vh,660px);max-height:min(82dvh,660px);}.story-modal.is-union-story .story-scene{margin:0;padding:12px 13px;font-size:13px;line-height:1.62;}.story-modal.is-union-story .story-scene span{font-size:13px;line-height:1.62;}.story-heading{display:grid;min-width:0;gap:5px;}.story-file{display:inline-flex;justify-self:start;max-width:100%;padding:5px 8px 4px;overflow:hidden;color:#513318;background:rgba(255,250,241,.5);border:1px solid rgba(104,70,35,.18);border-left:3px solid var(--current);border-radius:3px;box-shadow:none;font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1;text-overflow:ellipsis;white-space:nowrap;}.story-file:empty{display:none;}.story-content{position:relative;z-index:2;display:grid;min-height:0;gap:10px;align-content:start;overflow-y:auto;padding:18px 20px 16px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}.story-content::-webkit-scrollbar{width:0;}.story-content>*{width:100%;max-width:560px;justify-self:center;}.story-time{margin:0;color:#76522d;font-size:14px;font-weight:900;line-height:1.25;text-align:left;}.story-heading h2{margin:0;color:#442b16;font-size:clamp(24px,6vw,31px);line-height:1.12;text-align:left;}.story-scene{margin:0;color:#63513d;font-size:14px;line-height:1.68;}.story-scene{margin-top:0;padding:13px 14px;color:#4f3c2b;background:rgba(255,250,241,.34);border:1px solid rgba(104,70,35,.12);border-radius:3px;}blockquote{position:relative;margin:2px 0;padding:14px 15px 14px 16px;color:#442b16;background:linear-gradient(90deg,rgba(255,250,241,.56),rgba(255,250,241,.28));border:1px solid rgba(104,70,35,.14);border-left:5px solid var(--current);border-radius:3px;font-size:16px;font-weight:800;line-height:1.64;box-shadow:none;}.audio-panel{position:relative;z-index:2;display:grid;gap:12px;overflow:hidden;width:calc(100% - 40px);max-width:560px;margin:0 0 18px;padding:14px;color:#2f2417;background:linear-gradient(180deg,rgba(119,86,48,.08),rgba(255,250,241,.26)),linear-gradient(90deg,rgba(255,250,241,.7),rgba(255,250,241,.36));border:1px solid rgba(104,70,35,.18);border-radius:14px;box-shadow:inset 0 1px 0 rgba(255,250,241,.58),0 12px 30px rgba(46,31,18,.08);justify-self:center;}.audio-panel[hidden]{display:none;}.audio-panel::before{position:absolute;inset:10px;content:"";border:1px solid rgba(104,70,35,.1);border-radius:10px;pointer-events:none;}.audio-panel::after{position:absolute;top:18px;right:18px;width:10px;height:10px;content:"";background:rgba(151,64,50,.34);border-radius:50%;box-shadow:0 0 0 3px rgba(151,64,50,.08);}.audio-head{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:22px;font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace;font-size:12px;line-height:1;}.audio-chip{display:inline-flex;align-items:center;padding:5px 8px 4px;color:#6d4830;background:rgba(255,250,241,.56);border:1px solid rgba(104,70,35,.14);border-radius:999px;letter-spacing:.08em;}.audio-head span:last-child{color:rgba(68,43,22,.82);font-variant-numeric:tabular-nums;}.audio-deck{position:relative;z-index:1;display:grid;gap:12px;padding:12px;background:linear-gradient(180deg,rgba(237,225,198,.92),rgba(216,194,156,.92));border:1px solid rgba(104,70,35,.18);border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,250,241,.48),inset 0 -1px 0 rgba(104,70,35,.06);}.audio-window{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:10px;align-items:center;min-height:72px;padding:10px;background:linear-gradient(180deg,rgba(62,47,32,.06),rgba(255,250,241,.22)),rgba(255,250,241,.44);border:1px solid rgba(95,61,31,.18);border-radius:10px;}.audio-reel{position:relative;display:block;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(255,250,241,.94) 0 16%,rgba(104,70,35,.3) 16% 18%,transparent 18%),radial-gradient(circle at 50% 50%,rgba(104,70,35,.12) 0 54%,rgba(72,48,27,.42) 54% 100%);border:1px solid rgba(72,48,27,.16);}.audio-reel::before{position:absolute;inset:7px;content:"";border-radius:50%;background:conic-gradient(from 0deg,rgba(255,250,241,.96) 0deg 28deg,transparent 28deg 90deg,rgba(255,250,241,.96) 90deg 118deg,transparent 118deg 180deg,rgba(255,250,241,.96) 180deg 208deg,transparent 208deg 270deg,rgba(255,250,241,.96) 270deg 298deg,transparent 298deg 360deg);opacity:.78;}.audio-progress{position:relative;overflow:hidden;height:12px;background:repeating-linear-gradient(90deg,rgba(104,70,35,.2) 0 1px,transparent 1px 12px),rgba(77,56,33,.1);border:1px solid rgba(95,61,31,.14);border-radius:999px;}.audio-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--current),rgba(255,250,241,.88));transition:width 120ms linear;}.audio-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:center;}.story-actions{position:relative;z-index:2;display:flex;justify-content:center;width:min(100%,540px);padding:0 20px;}.story-continue-btn{min-height:48px;min-width:min(100%,220px);padding:12px 28px;color:#fffaf1;background:linear-gradient(180deg,rgba(80,57,35,.94),rgba(53,36,20,.94));border:1px solid rgba(54,35,19,.18);border-radius:999px;cursor:pointer;font-weight:900;letter-spacing:.04em;box-shadow:inset 0 1px 0 rgba(255,250,241,.18),0 8px 18px rgba(41,26,13,.12);transition:transform 220ms var(--ease),box-shadow 220ms var(--ease);}.story-continue-btn:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,250,241,.18),0 10px 20px rgba(41,26,13,.16);}.story-continue-btn:active{transform:translateY(1px);box-shadow:inset 0 1px 0 rgba(255,250,241,.18),0 6px 14px rgba(41,26,13,.14);}.audio-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;min-width:160px;max-width:160px;flex:1 1 auto;padding:8px 16px;color:#fffaf1;background:linear-gradient(180deg,rgba(80,57,35,.94),rgba(53,36,20,.94));border:1px solid rgba(54,35,19,.18);border-radius:999px;cursor:pointer;font-weight:900;letter-spacing:.04em;box-shadow:inset 0 1px 0 rgba(255,250,241,.18),0 8px 18px rgba(41,26,13,.12);}#audioIcon{display:grid;width:28px;height:28px;flex:0 0 auto;place-items:center;color:#462a13;background:#f1d59e;border-radius:50%;font-size:13px;line-height:1;}.story-modal.is-listening .story-avatar::after{animation:portraitSignal 1.8s ease-out infinite;}.story-modal.is-listening .audio-panel::after{background:var(--current);animation:audioRecPulse 1.2s ease-out infinite;}.story-modal.is-listening .audio-reel::before{animation:audioReelSpin 1.2s linear infinite;}.story-modal.is-listening .audio-window{border-color:rgba(95,61,31,.26);}.story-modal.is-listening{color:#42240f;background:rgba(255,240,214,.82);}.story-modal.has-listened .audio-panel::after{background:#5f3d1f;box-shadow:none;}.story-modal.has-listened .audio-btn{background:linear-gradient(180deg,rgba(60,93,78,.94),rgba(37,63,52,.94));}.intro-overlay{position:absolute;inset:0;z-index:55;display:grid;padding:24px;place-items:center;background:rgba(8,16,20,.46);backdrop-filter:blur(2px);animation:introFadeIn 620ms var(--ease) both;}.intro-overlay[hidden]{display:none;}.intro-overlay.is-leaving{animation:introFadeOut 520ms var(--ease) both;}.intro-card{display:grid;gap:10px;width:min(86vw,420px);padding:22px 20px;color:#fffaf1;text-align:left;background:rgba(18,26,27,.76);border:1px solid rgba(255,250,241,.18);border-left:4px solid var(--current);border-radius:4px;box-shadow:0 18px 38px rgba(8,16,20,.28);}.intro-card p,.intro-card h2,.intro-card span{margin:0;}.intro-card p{color:#f4c56c;font-size:13px;font-weight:900;}.intro-card h2{font-size:clamp(28px,8vw,42px);line-height:1.08;}.intro-card span{color:rgba(255,250,241,.76);font-size:14px;line-height:1.65;}.intro-card button{justify-self:start;min-height:42px;margin-top:4px;padding:9px 18px;color:#fffaf1;background:rgba(255,250,241,.08);border:1px solid rgba(255,250,241,.32);border-radius:4px;cursor:pointer;font-weight:900;}@keyframes soundBar{0%,100%{transform:scaleY(.55)}48%{transform:scaleY(1.22)}}@keyframes portraitSignal{0%{opacity:.58;transform:scale(.92)}100%{opacity:0;transform:scale(1.12)}}@keyframes audioRecPulse{0%{opacity:.58}50%{opacity:1}100%{opacity:.58}}@keyframes audioReelSpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes guidedTargetPulse{0%,100%{transform:translateX(-50%) translateY(-8px) scale(1.08)}50%{transform:translateX(-50%) translateY(-12px) scale(1.11)}}@keyframes narrationGuideFloat{0%,100%{transform:translateX(50%) translateY(0);box-shadow:0 14px 28px rgba(8,16,20,.22),0 0 0 3px rgba(244,197,108,.18)}50%{transform:translateX(50%) translateY(-6px);box-shadow:0 18px 34px rgba(8,16,20,.26),0 0 0 5px rgba(244,197,108,.24)}}@keyframes narrationGuideHalo{0%,100%{opacity:.8;transform:translateX(-50%) scale(1.02)}50%{opacity:1;transform:translateX(-50%) scale(1.18)}}@keyframes personFrameOne{0%,54%{opacity:1}63%,91%{opacity:0}100%{opacity:1}}@keyframes personFrameTwo{0%,54%{opacity:0}63%,91%{opacity:1}100%{opacity:0}}@keyframes cleanerBody{0%,100%{transform:rotate(-1.5deg) translateX(-1px)}50%{transform:rotate(2.5deg) translateX(2px)}}@keyframes breakfastBody{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(3px) scaleY(.985)}}@keyframes driverBody{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}@keyframes municipalBody{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes courierBody{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}@keyframes nightBody{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(244,197,108,.45)}70%{box-shadow:0 0 0 8px rgba(244,197,108,0)}100%{box-shadow:0 0 0 0 rgba(244,197,108,0)}}@keyframes unionHintLeft{0%,100%{transform:translateX(0)}50%{transform:translateX(-9px)}}@keyframes unionHintRight{0%,100%{transform:translateX(0)}50%{transform:translateX(9px)}}@keyframes figureFloat{0%,100%{margin-bottom:0}50%{margin-bottom:5px}}@keyframes pickPulse{0%{filter:drop-shadow(0 16px 26px rgba(13,23,28,.28))}42%{filter:drop-shadow(0 0 0 rgba(244,197,108,.9)) drop-shadow(0 22px 34px rgba(13,23,28,.3))}100%{filter:drop-shadow(0 16px 26px rgba(13,23,28,.28))}}@keyframes focusBreathe{0%,100%{opacity:.82}50%{opacity:1}}@keyframes introFadeIn{from{opacity:0}to{opacity:1}}@keyframes introFadeOut{from{opacity:1}to{opacity:0;transform:scale(1.01)}}@keyframes endingEntryGlow{0%,100%{opacity:.34;transform:scale(.96)}50%{opacity:.62;transform:scale(1.06)}}@keyframes endingEntryFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes endingEntryShine{from{transform:translateX(-130%)}to{transform:translateX(130%)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes backdropWarmIn{from{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(2px)}}@keyframes sheetIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes portraitIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (min-width:760px){.ending-entry{right:28px;bottom:calc(176px + env(safe-area-inset-bottom));left:28px}.hud-actions{top:calc(18px + env(safe-area-inset-top));right:28px}.current-card{top:var(--card-top,calc(6vh + env(safe-area-inset-top)));left:var(--card-left,clamp(18px,6vw,82px));max-width:calc(100vw - 210px);padding:18px 20px 18px 22px}.current-card h2{font-size:clamp(30px,4vw,54px)}.summary-panel{right:auto;bottom:calc(112px + env(safe-area-inset-bottom));left:28px;width:520px}.summary-list{grid-template-columns:repeat(6,minmax(0,1fr))}.timeline{right:28px;bottom:18px;left:28px;border-radius:8px}.story-modal{place-items:center;gap:16px;padding:calc(22px + env(safe-area-inset-top)) 22px calc(22px + env(safe-area-inset-bottom))}.story-sheet{width:min(100%,620px);height:min(80vh,660px);height:min(80dvh,660px);max-height:calc(100vh - 64px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 64px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:8px}.story-header{grid-template-columns:108px minmax(0,1fr);min-height:124px;padding:24px 24px 16px}.story-modal.is-union-story .story-sheet{width:min(100%,620px);max-height:min(80vh,640px);max-height:min(80dvh,640px)}.story-avatar{max-width:108px}.story-content{max-height:none;padding-right:32px;padding-left:32px}.story-actions{width:min(100%,620px);padding-right:32px;padding-left:32px}}@media (max-width:390px){.current-card{max-width:none}.ambient-btn{max-width:96px;font-size:11px}.summary-panel{bottom:calc(98px + env(safe-area-inset-bottom));padding:12px}.summary-list{grid-template-columns:repeat(3,minmax(0,1fr))}.worker-figure{width:min(36vw,128px)}.paper-person{width:min(36vw,128px)}.story-header{grid-template-columns:74px minmax(0,1fr);gap:10px;min-height:106px;padding:18px 16px 12px}.timeline-scale{left:10px;font-size:9px}.story-avatar{max-width:74px}.story-content{max-height:none;gap:10px;padding-right:18px;padding-bottom:16px;padding-left:18px}.story-actions{width:min(100%,540px);padding:0 18px}.story-heading h2{font-size:22px}blockquote{font-size:15px}.story-continue-btn{min-height:44px;min-width:100%}.audio-btn{min-height:40px}}.scroll-app{background:linear-gradient(180deg,rgba(255,250,241,.08),transparent 34%),linear-gradient(180deg,#d7e3e2 0%,#edc993 54%,#172331 100%);}body[data-period="day"] .scroll-app{background:linear-gradient(180deg,rgba(255,250,241,.1),transparent 38%),linear-gradient(180deg,#c6dfde 0%,#e9d6a7 58%,#1f3d46 100%);}body[data-period="noon"] .scroll-app{background:linear-gradient(180deg,rgba(255,250,241,.14),transparent 34%),linear-gradient(180deg,#d7e4df 0%,#efc86f 54%,#25333d 100%);}body[data-period="dusk"] .scroll-app{background:linear-gradient(180deg,rgba(255,238,208,.16),transparent 34%),linear-gradient(180deg,#d1dce1 0%,#d98968 58%,#1d2737 100%);}body[data-period="night"] .scroll-app{background:radial-gradient(circle at 70% 17%,rgba(244,197,108,.2),transparent 16%),linear-gradient(180deg,#1d2c44 0%,#283a52 50%,#111923 100%);}.city-scroll::before{filter:saturate(.98) contrast(1.03);}.city-scroll::after{z-index:2;background:linear-gradient(180deg,rgba(255,250,241,.16),transparent 18%,transparent 68%,rgba(8,16,20,.32)),linear-gradient(90deg,rgba(8,16,20,.22),transparent 16%,transparent 82%,rgba(8,16,20,.26)),repeating-linear-gradient(90deg,rgba(255,250,241,.05) 0 1px,transparent 1px 74px);mix-blend-mode:normal;}.viewport::before{position:absolute;inset:0;z-index:12;content:"";background:radial-gradient(circle at var(--focus-x) 62%,rgba(255,250,241,.28),transparent 16%),radial-gradient(circle at var(--focus-x) 64%,rgba(244,197,108,.16),transparent 26%);opacity:.74;pointer-events:none;transition:background 420ms var(--ease),opacity 420ms var(--ease);}.viewport.is-dragging::before{opacity:.48;}.worker-figure::before,.worker-figure::after{position:absolute;left:50%;content:"";pointer-events:none;transform:translateX(-50%);}.worker-figure::before{bottom:7%;z-index:0;width:72%;height:14%;background:radial-gradient(ellipse,rgba(9,17,23,.28),transparent 70%);filter:blur(1px);}.worker-figure::after{bottom:3%;z-index:0;width:58%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,250,241,.42),transparent);opacity:0;transition:opacity 320ms var(--ease);}.worker-figure.is-active::after{opacity:1;}body.is-narration-guide .worker-figure.is-active::before{background:radial-gradient(ellipse,rgba(244,197,108,.46),rgba(244,197,108,.18) 44%,transparent 72%);filter:blur(2px);animation:narrationGuideHalo 1.5s ease-in-out infinite;}.worker-label{position:absolute;right:50%;bottom:calc(100% + 12px);z-index:5;display:inline-flex;align-items:center;gap:8px;max-width:188px;padding:9px 13px 8px;overflow:visible;color:#172331;background:linear-gradient(180deg,rgba(255,252,245,1),rgba(248,229,178,1));border:1px solid rgba(255,250,241,.98);border-left:4px solid var(--paper-color);border-radius:999px;box-shadow:0 14px 28px rgba(8,16,20,.22),0 0 0 3px rgba(244,197,108,.18);font-size:12px;font-weight:900;line-height:1.1;letter-spacing:.01em;white-space:nowrap;pointer-events:none;opacity:0;transform:translateX(50%) translateY(8px);transition:opacity 260ms var(--ease),transform 260ms var(--ease);}.worker-label::after{position:absolute;top:calc(100% + 4px);right:calc(50% - 10px);width:20px;height:14px;content:"";background:linear-gradient(180deg,rgba(248,229,178,.98),rgba(255,250,241,.98));clip-path:polygon(50% 100%,0 0,100% 0);filter:drop-shadow(0 5px 8px rgba(8,16,20,.12));}.worker-label b{color:color-mix(in srgb,var(--paper-color) 82%,#8b2f1f);font-variant-numeric:tabular-nums;}.worker-label-bars{display:inline-flex;align-items:flex-end;justify-content:center;gap:2px;width:16px;height:14px;padding-left:2px;border-left:1px solid rgba(23,35,49,.14);}.worker-label-bars i{width:3px;height:8px;background:var(--paper-color);border-radius:999px;transform-origin:50% 100%;animation:soundBar 1.1s ease-in-out infinite;animation-play-state:paused;}.worker-label-bars i:nth-child(2){height:12px;animation-delay:120ms;}.worker-label-bars i:nth-child(3){height:9px;animation-delay:240ms;}body.is-narration-guide .worker-figure.is-active .worker-label{opacity:1;transform:translateX(50%) translateY(0);animation:narrationGuideFloat 1.5s ease-in-out infinite;}body.is-narration-guide .worker-figure.is-active .worker-label-bars i{animation-play-state:running;}.current-card{display:grid;gap:8px;}.current-card p,.current-card strong{margin:0;}.current-card p{width:max-content;max-width:100%;padding:5px 8px 4px;color:#1a2322;background:color-mix(in srgb,var(--current) 78%,#fffaf1);border-radius:2px;font-size:12px;font-weight:900;letter-spacing:0;line-height:1;justify-self:start;box-shadow:0 8px 18px rgba(7,14,18,.12);}.current-card[data-caption-align="center"] p{justify-self:center;}.current-card[data-caption-align="right"] p{justify-self:end;}.current-card strong{max-width:100%;color:rgba(255,250,241,.78);font-family:"Songti SC","STKaiti","KaiTi",serif;font-size:clamp(14px,1.45vw,18px);font-weight:700;line-height:1.55;text-shadow:0 8px 18px rgba(7,14,18,.28);}.summary-panel{max-width:760px;}.summary-copy{display:grid;gap:4px;padding-right:58px;}.summary-copy span{color:rgba(255,250,241,.68);font-size:13px;line-height:1.45;}.summary-copy p{letter-spacing:0;}.summary-worker{align-content:start;min-height:118px;text-align:center;}.summary-worker em{display:-webkit-box;overflow:hidden;max-width:100%;margin-top:1px;color:rgba(255,250,241,.58);font-size:10px;font-style:normal;font-weight:650;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2;}.intro-overlay{place-items:center;padding:clamp(22px,5vw,72px);color:#fffaf1;background:linear-gradient(90deg,#0d171d 0 1px,transparent 1px 100%),linear-gradient(180deg,#0d171d 0 1px,transparent 1px 100%),linear-gradient(180deg,#15242d 0%,#101b22 48%,#0b1218 100%);background-size:44px 44px,44px 44px,auto;backdrop-filter:none;}.intro-overlay::before,.intro-overlay::after{position:absolute;content:"";pointer-events:none;}.intro-overlay::before{inset:18px;border:1px solid #2d4348;border-radius:6px;}.intro-overlay::after{right:clamp(18px,5vw,58px);bottom:clamp(18px,5vw,58px);left:clamp(18px,5vw,58px);height:8px;background:linear-gradient(90deg,#d36e50 0 16%,#c8872a 16% 32%,#2f766e 32% 48%,#b38425 48% 64%,#b95040 64% 80%,#253b59 80% 100%);border:1px solid #fffaf1;border-radius:999px;}.intro-card{position:relative;z-index:1;display:grid;width:min(100%,760px);gap:14px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;text-shadow:none;}.intro-card p{color:#f4c56c;font-size:13px;font-weight:900;line-height:1;}.intro-range{width:max-content;padding:7px 10px;color:#101b22;background:#fffaf1;border-left:4px solid #f4c56c;border-radius:3px;font-size:clamp(22px,6vw,42px);font-weight:900;font-variant-numeric:tabular-nums;line-height:1;}.intro-card h1{margin:0;color:#fffaf1;max-width:720px;font-size:clamp(48px,12vw,104px);font-weight:900;letter-spacing:0;line-height:.94;}.intro-card>span{max-width:560px;color:#cbd8d4;font-size:clamp(15px,2.2vw,19px);font-weight:650;line-height:1.7;}.intro-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:2px;}.intro-meta i{padding:7px 10px;color:#fffaf1;background:#182933;border:1px solid #3a5558;border-radius:3px;font-size:12px;font-style:normal;font-weight:900;line-height:1;}.intro-credits{display:flex;flex-wrap:wrap;justify-content:center;justify-self:center;gap:6px 16px;max-width:560px;width:min(100%,560px);margin-top:12px;color:#9fb2ad;font-size:12px;font-weight:750;line-height:1.45;text-align:center;}.intro-credits span{position:relative;padding-left:12px;color:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;}.intro-credits span::before{position:absolute;top:.58em;left:0;width:5px;height:5px;content:"";background:#f4c56c;border-radius:50%;transform:translateY(-50%);}.intro-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:min(100%,620px);margin-top:10px;border-top:1px solid #60746f;}.intro-rail b{position:relative;padding-top:12px;color:#8da09c;font-size:11px;font-weight:900;line-height:1;}.intro-rail b::before{position:absolute;top:-5px;left:0;width:9px;height:9px;content:"";background:#f4c56c;border:2px solid #101b22;border-radius:50%;}.intro-card button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;justify-self:start;margin-top:6px;padding:11px 24px;background:#fffaf1;color:#172331;border-color:transparent;border-radius:3px;box-shadow:0 16px 0 #0d171d;transition:transform 220ms var(--ease),box-shadow 220ms var(--ease),opacity 220ms var(--ease),background 220ms var(--ease),color 220ms var(--ease);}.intro-card button::after{padding-left:12px;content:"→";}.intro-card button[aria-disabled="true"]{color:rgba(23,35,49,.56);background:rgba(255,250,241,.62);box-shadow:0 10px 0 #0d171d;cursor:wait;opacity:.72;}.intro-card button:hover{transform:translateY(-2px);box-shadow:0 18px 0 #0d171d;}.intro-card button:active{transform:translateY(2px);box-shadow:0 10px 0 #0d171d;}.intro-card button[aria-disabled="true"]:hover,.intro-card button[aria-disabled="true"]:active{transform:none;box-shadow:0 10px 0 #0d171d;}.story-file{letter-spacing:0;}.story-scene,.story-meaning,blockquote{display:grid;gap:7px;}.story-scene strong,.story-meaning strong,blockquote strong{color:#8b5b2d;font-size:11px;font-weight:900;letter-spacing:0;}.story-scene span,.story-meaning span,blockquote span{display:block;}.story-meaning strong{color:#68703d;}@media (min-width:760px){.current-card{width:var(--card-width,min(44vw,500px))}.summary-panel{width:720px}.summary-list{grid-template-columns:repeat(6,minmax(0,1fr))}.summary-worker{min-height:132px}.intro-overlay{padding-left:clamp(56px,10vw,128px)}}@media (max-width:520px){.ending-entry{right:12px;bottom:calc(150px + env(safe-area-inset-bottom));left:12px}.ending-entry button{min-height:44px;padding:11px 18px}.hud-actions{top:calc(12px + env(safe-area-inset-top));right:12px}.asset-loader{top:calc(12px + env(safe-area-inset-top));right:12px;width:min(208px,calc(100vw - 78px));padding:9px 10px 10px}.current-card{top:calc(18px + env(safe-area-inset-top));right:14px;left:14px;width:auto;max-width:none;padding:15px 16px 16px;text-align:left;transform:translateY(0)}.current-card[data-caption-align],.current-card[data-caption-align="right"],.current-card[data-caption-align="center"]{text-align:left}.current-card[data-caption-align] p,.current-card[data-caption-align="right"] p,.current-card[data-caption-align="center"] p{justify-self:start}.current-card[data-caption-align]::after,.current-card[data-caption-align="right"]::after,.current-card[data-caption-align="center"]::after{right:auto;left:20px;margin:0}.current-card.is-switching{transform:translateY(-12px) scale(.985)}.current-card h2{font-size:clamp(29px,11vw,44px)}.current-card strong{font-size:13px}.worker-label{bottom:calc(100% + 10px);max-width:150px;font-size:10px}.station-plate{bottom:46vh;min-width:104px;max-width:140px;padding:8px 9px 7px;transform:translateX(-8%)}.station-plate b{font-size:16px}.station-plate em{font-size:11px}.station-plate i{font-size:10px}.summary-panel{bottom:calc(94px + env(safe-area-inset-bottom));max-height:min(55vh,430px);overflow-y:auto}.summary-mask{right:0;bottom:0;left:0;padding:20px 18px}.summary-mask h3{font-size:clamp(32px,11vw,48px)}.summary-worker{min-height:110px}.intro-overlay{place-items:center;padding:calc(30px + env(safe-area-inset-top)) 22px calc(72px + env(safe-area-inset-bottom))}.intro-overlay::before{inset:10px}.intro-overlay::after{right:22px;bottom:calc(22px + env(safe-area-inset-bottom));left:22px;height:7px}.intro-card h1{font-size:clamp(44px,15vw,68px)}.intro-card>span{font-size:14px;line-height:1.62}.intro-range{font-size:clamp(22px,8vw,34px)}.intro-rail{width:100%}.intro-rail b{font-size:10px}.intro-card button{width:100%;justify-content:center}.intro-credits{justify-self:center;width:min(100%,280px)}}@media (prefers-reduced-motion:reduce){.ending-entry button,.ending-entry button::before{animation:none}.ending-entry button:hover::after{animation:none;opacity:0}}.summary-panel{position:absolute;inset:0;z-index:55;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:center;width:auto;max-width:none;max-height:none;gap:clamp(18px,4vh,34px);padding:calc(34px + env(safe-area-inset-top)) clamp(22px,6vw,80px) calc(34px + env(safe-area-inset-bottom));overflow:hidden;color:#fffaf1;background:linear-gradient(90deg,#0d171d 0 1px,transparent 1px 100%),linear-gradient(180deg,#0d171d 0 1px,transparent 1px 100%),linear-gradient(180deg,rgba(15,27,35,.96) 0%,rgba(14,22,29,.94) 54%,rgba(8,13,18,.98) 100%);background-size:44px 44px,44px 44px,auto;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;opacity:0;pointer-events:none;transform:none;transition:opacity 620ms var(--ease);}.summary-panel::before,.summary-panel::after{position:absolute;content:"";pointer-events:none;}.summary-panel::before{inset:18px;border:1px solid #2d4348;border-radius:6px;}.summary-panel::after{right:clamp(18px,5vw,58px);bottom:clamp(18px,5vw,58px);left:clamp(18px,5vw,58px);height:8px;background:linear-gradient(90deg,#d36e50 0 16%,#c8872a 16% 32%,#2f766e 32% 48%,#b38425 48% 64%,#b95040 64% 80%,#253b59 80% 100%);border:1px solid #fffaf1;border-radius:999px;}.summary-panel.is-visible{opacity:1;pointer-events:auto;transform:none;}.summary-panel.is-mask-active{overflow:hidden;}.summary-panel[data-stage="union-complete"]{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;justify-items:stretch;}.summary-panel[data-stage="union-complete"] .summary-copy{justify-items:start;text-align:left;}.summary-panel[data-stage="union-complete"] .ending-collage-shell{display:grid;}.summary-copy{position:relative;z-index:1;display:grid;gap:8px;width:min(100%,780px);padding-right:0;}.summary-copy p{color:#f4c56c;font-size:13px;letter-spacing:0;}.summary-copy h2{max-width:680px;color:#fffaf1;font-size:clamp(30px,5.6vw,54px);font-weight:900;line-height:1.08;}.summary-copy span{max-width:620px;color:#cbd8d4;font-size:clamp(14px,1.7vw,17px);font-weight:650;line-height:1.72;}.ending-collage{position:relative;z-index:1;width:min(100%,940px);height:min(44vh,392px);min-height:246px;justify-self:center;isolation:isolate;overflow:hidden;}.ending-collage-shell{position:relative;z-index:1;display:grid;place-items:center;width:min(100%,940px);height:min(44vh,392px);min-height:246px;margin:0 auto;overflow:hidden;}.ending-photo{position:absolute;display:grid;place-items:center;width:clamp(132px,16.4vw,210px);min-height:clamp(156px,21vw,254px);margin:0;padding:0;background:none;border:0;box-shadow:none;opacity:0;transform:translateY(34px) scale(.96) rotate(var(--photo-rotate,-2deg));transform-origin:50% 70%;}.summary-panel.is-visible .ending-photo{animation:endingPhotoIn 1500ms var(--ease) forwards;animation-delay:calc(360ms + var(--photo-index) * 820ms);}.ending-photo:nth-child(1){top:8%;left:7%;z-index:1;--photo-rotate:-8deg;}.ending-photo:nth-child(2){top:21%;left:22%;z-index:2;--photo-rotate:5deg;}.ending-photo:nth-child(3){top:6%;left:39%;z-index:3;--photo-rotate:-3deg;}.ending-photo:nth-child(4){top:25%;right:31%;z-index:4;--photo-rotate:7deg;}.ending-photo:nth-child(5){top:11%;right:15%;z-index:5;--photo-rotate:-5deg;}.ending-photo:nth-child(6){top:30%;right:5%;z-index:6;--photo-rotate:4deg;}.ending-photo-image{display:block;width:100%;height:clamp(126px,16.8vw,204px);object-fit:cover;background:none;pointer-events:none;}.summary-mask{position:absolute;inset:0;z-index:48;display:grid;align-content:center;justify-items:center;gap:10px;max-width:none;margin:auto;padding:clamp(24px,6vw,80px);text-align:center;background:radial-gradient(circle at 50% 40%,rgba(244,197,108,.16),transparent 32%),linear-gradient(180deg,rgba(8,13,18,.22),rgba(8,13,18,.9) 30%,rgba(8,13,18,.96));border:0;border-radius:0;box-shadow:none;backdrop-filter:blur(10px);opacity:0;transform:translateY(18px);pointer-events:auto;}.summary-mask[hidden]{display:none;}.summary-panel.is-ready .summary-mask{animation:summaryMaskIn 880ms var(--ease) forwards;}.summary-mask p,.summary-mask h3,.summary-mask span{margin:0;}.summary-mask p{color:#f4c56c;font-size:12px;font-weight:900;letter-spacing:0;}.summary-mask h3{max-width:13em;color:#fffaf1;font-size:clamp(34px,7vw,72px);font-weight:900;line-height:1.02;}.summary-mask span{max-width:600px;color:#cbd8d4;font-size:clamp(14px,1.8vw,16px);font-weight:650;line-height:1.7;}.summary-mask button{min-height:48px;margin-top:8px;padding:12px 28px;color:#fffaf1;background:linear-gradient(180deg,#c74d3a,#9f3329);border:1px solid rgba(255,250,241,.24);border-radius:3px;box-shadow:0 12px 0 #0d171d;font-weight:900;transition:transform 220ms var(--ease),box-shadow 220ms var(--ease);}.summary-mask button:hover{transform:translateY(-2px);box-shadow:0 14px 0 #0d171d;}.summary-mask button:active{transform:translateY(2px);box-shadow:0 10px 0 #0d171d;}.summary-actions{position:relative;z-index:1;justify-content:center;opacity:0;pointer-events:none;transform:translateY(10px);transition:opacity 520ms var(--ease),transform 520ms var(--ease);}.summary-panel.is-ready .summary-actions{opacity:1;pointer-events:auto;transform:translateY(0);}.summary-actions button{min-height:48px;padding:12px 28px;color:#172331;background:#fffaf1;border-color:transparent;border-radius:3px;box-shadow:0 16px 0 #0d171d;font-weight:900;transition:transform 220ms var(--ease),box-shadow 220ms var(--ease);}.summary-actions button:hover{transform:translateY(-2px);box-shadow:0 18px 0 #0d171d;}.summary-actions button:active{transform:translateY(2px);box-shadow:0 10px 0 #0d171d;}@keyframes endingPhotoIn{from{opacity:0;transform:translateY(34px) scale(.96) rotate(var(--photo-rotate,-2deg))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--photo-rotate,-2deg))}}@keyframes summaryMaskIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (min-width:760px){.summary-panel{right:0;bottom:0;left:0;width:auto}}@media (max-width:640px){.summary-panel{grid-template-rows:auto minmax(0,1fr) auto;max-height:none;padding:calc(30px + env(safe-area-inset-top)) 22px calc(58px + env(safe-area-inset-bottom));overflow:hidden}.summary-panel::before{inset:10px}.summary-panel::after{right:22px;bottom:calc(22px + env(safe-area-inset-bottom));left:22px;height:7px}.union-explore-hint{right:12px;bottom:calc(102px + env(safe-area-inset-bottom));left:12px;grid-template-columns:32px minmax(0,1fr) 32px;gap:8px}.union-explore-copy{min-width:0;padding:11px 12px 12px}.union-explore-arrow{width:32px;height:32px}.union-explore-arrow::before{width:11px;height:11px;border-width:2px}.summary-copy h2{font-size:clamp(28px,9.5vw,40px);line-height:1.12}.story-modal.is-union-story .story-header{gap:10px;padding:16px 16px 10px}.story-modal.is-union-story .story-avatar{width:min(100%,198px);max-width:198px;max-height:146px;justify-self:center}.story-modal.is-union-story .story-content{padding:0 16px 14px}.story-modal.is-union-story .story-heading h2{font-size:clamp(20px,6.8vw,24px)}.story-modal.is-union-story .story-scene{padding:10px 11px;font-size:12px}.ending-collage{width:100%;height:min(38vh,320px);min-height:214px}.ending-photo{width:clamp(88px,30vw,124px);min-height:clamp(112px,37vw,160px)}.ending-photo-image{height:clamp(78px,26vw,112px)}.ending-photo:nth-child(1){top:6%;left:6%}.ending-photo:nth-child(2){top:20%;left:29%}.ending-photo:nth-child(3){top:7%;right:6%;left:auto}.ending-photo:nth-child(4){top:46%;left:11%;right:auto}.ending-photo:nth-child(5){top:55%;left:37%;right:auto}.ending-photo:nth-child(6){top:41%;right:8%}.summary-actions button{width:min(100%,280px)}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}}