@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;700;900&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--page: #e5e5e5;--paper: #f7f3e8;--paper-white: #fffdf7;--ink: #171716;--muted: #68645c;--line: rgba(23, 23, 22, .18);--gold: #f3ca3e;--danger: #d55353;--shadow: 0 24px 80px rgba(24, 24, 20, .22);--mono: "Space Grotesk", "Noto Serif SC", system-ui, sans-serif;--serif: "Noto Serif SC", serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--page);color:var(--ink);font-family:var(--mono)}button{border:0;font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.app-shell{width:100vw;height:100vh;display:grid;place-items:center;background:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px),var(--page);background-size:38px 38px}.stage{position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--page);isolation:isolate}.stage:after{content:"";position:absolute;inset:0;display:none;pointer-events:none;z-index:100;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");mix-blend-mode:multiply}.investigation-layer{position:absolute;inset:0;display:grid;place-items:center;transition:filter .32s ease,transform .32s ease}.archive-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none}.archived-panel{position:absolute;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:5px;padding:18px;text-align:left;opacity:.34;filter:grayscale(.18) saturate(.9);box-shadow:0 0 0 7px #fffdf79e,0 18px 52px #1818141f,inset 0 0 0 1px #1818141f}.archived-panel .panel-title{font-size:clamp(15px,1.2vw,22px)}.is-menu-open .investigation-layer{filter:blur(6px) grayscale(.12);transform:scale(.992)}.blur-field{position:absolute;inset:0;z-index:14;padding:0;background:#e8e8e22e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.newspaper{position:relative;z-index:2;height:82%;aspect-ratio:9 / 16;background:var(--paper-white);box-shadow:0 18px 80px #22211c40;transform:rotate(-.4deg);overflow:hidden}.newspaper:before{content:"";position:absolute;inset:12px;border:1px solid rgba(23,23,22,.22);pointer-events:none;z-index:2;clip-path:polygon(0 2%,98% 0,100% 96%,4% 100%)}.newspaper-label{position:absolute;left:6%;right:6%;top:2.5%;z-index:3;display:flex;justify-content:space-between;align-items:baseline;color:#171716b8;font-size:.68rem;letter-spacing:0}.newspaper-label strong{font-size:.82rem}.collection-meter{position:absolute;right:6%;bottom:3.2%;z-index:4;display:inline-flex;align-items:baseline;gap:6px;padding:5px 9px;border:1px solid rgba(23,23,22,.2);background:#fffdf7b8;font-size:.7rem}.collection-meter strong{font-size:1.05rem}.daily-panel{position:absolute;z-index:1;opacity:1;filter:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:5px;padding:20px;text-align:left;box-shadow:0 0 0 7px var(--paper-white),inset 0 0 0 1px #18181426;transition:opacity .35s ease,filter .35s ease,transform .24s ease}.daily-panel:hover{transform:translateY(-3px) rotate(.4deg);filter:saturate(1.08)}.panel-index{position:absolute;left:16px;top:13px;font-size:.72rem;font-weight:700;color:#17171694}.panel-title{max-width:12em;font-family:var(--serif);font-size:clamp(16px,1.65vw,30px);font-weight:900;line-height:1.05}.panel-meta{font-size:.72rem;color:#171716b3}.panel-hatch{position:absolute;inset:0;opacity:.16;background:repeating-linear-gradient(-16deg,transparent 0 13px,rgba(23,23,22,.42) 14px 15px);pointer-events:none}.music-dock{position:absolute;left:18px;top:50%;z-index:30;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:14px}.album-cover{position:relative;width:108px;height:108px;padding:0;border:1px solid rgba(23,23,22,.22);background:#d5e6dc;box-shadow:0 18px 44px #16161238}.album-cover:before,.album-cover:after,.album-ripple{content:"";position:absolute;inset:-8px;border:1px solid rgba(23,23,22,.18);opacity:0;transform:scale(.96);z-index:0}.album-cover.is-playing:before,.album-cover.is-playing:after,.album-cover.is-playing .album-ripple{animation:albumPulse 2.8s infinite ease-out}.album-cover.is-playing:after{animation-delay:.7s}.album-cover.is-playing .album-ripple{animation-delay:1.4s}.album-art{position:absolute;inset:10px;z-index:1;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,253,247,.26),transparent 48%),#20201d;color:var(--paper);overflow:hidden}.album-cover-image{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}@keyframes albumPulse{0%{opacity:.6;transform:scale(.96)}to{opacity:0;transform:scale(1.34)}}.radial-menu{position:absolute;left:0;top:0;width:108px;height:108px;pointer-events:none;z-index:34}.radial-item{position:absolute;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;transform:translate(-50%,-50%);background:#fffdf7eb;color:var(--ink);box-shadow:0 12px 32px #1616123d;opacity:0;pointer-events:auto}.deduction-button,.back-home-button,.record-button,.resume-download{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 15px;border:1px solid rgba(23,23,22,.28);background:var(--ink);color:var(--paper-white);box-shadow:0 12px 28px #16161238;transition:transform .2s ease,background .2s ease}.deduction-button:hover,.back-home-button:hover,.record-button:hover,.resume-download:hover{transform:translateY(-2px)}.deduction-button{border-color:#1717165c;background:var(--gold);color:var(--ink);box-shadow:0 0 0 4px #f3ca3e3d,0 14px 34px #ad840c4d}.deduction-button:hover{background:#ffd94a}.project-investigation{position:absolute;inset:0;z-index:62;background:#e5e5e58a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.close-inspection,.detail-close,.inspection-backdrop{position:absolute}.close-inspection{z-index:5;left:30px;top:26px;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(23,23,22,.2);border-radius:50%;background:#fffdf7d6}.inspection-backdrop{inset:0;z-index:0;padding:0;background:transparent}.focus-sheet{position:absolute;left:7.6%;top:14%;width:39%;height:66%;filter:drop-shadow(0 28px 60px rgba(25,24,20,.28))}.focus-sheet:before{content:"";position:absolute;inset:-16px;background:var(--paper-white);clip-path:polygon(2% 4%,96% 0%,100% 18%,96% 42%,100% 70%,92% 100%,62% 95%,38% 100%,4% 92%,0% 58%,4% 32%)}.focus-panel{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:38px;overflow:hidden;box-shadow:inset 0 0 0 1px #1717162e}.focus-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 40%),repeating-linear-gradient(18deg,transparent 0 14px,rgba(23,23,22,.18) 15px 16px);opacity:.36}.focus-panel>*{position:relative;z-index:2}.focus-kicker{font-size:.8rem;font-weight:700;color:#171716a3}.focus-panel h2{max-width:8em;margin:8px 0 0;font-family:var(--serif);font-size:clamp(34px,4.8vw,70px);line-height:.98}.focus-panel p{max-width:25em;margin:0;font-size:.92rem;line-height:1.7;color:#171716b8}.clue-point{position:absolute;z-index:4;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#f3ca3eeb;transform:translate(-50%,-50%);box-shadow:0 0 #f3ca3e73;animation:cluePulse 1.8s infinite}.clue-point span{width:9px;height:9px;border-radius:50%;background:var(--ink)}.clue-point.is-collected{background:#f5dc75}@keyframes cluePulse{0%{box-shadow:0 0 #f3ca3e75}to{box-shadow:0 0 0 18px #f3ca3e00}}.inspection-notes{position:absolute;left:9%;bottom:8%;display:inline-flex;align-items:baseline;gap:10px;padding:7px 11px;border:1px solid rgba(23,23,22,.22);background:#fffdf7c7;font-size:.75rem}.inspection-notes strong{font-size:1.15rem}.detail-mask{position:absolute;right:0;top:0;width:52vw;height:100%;z-index:6;color:var(--paper-white);background:linear-gradient(to left,#090909f0,#3a3a38d6 48%,#e5e5e500),var(--page);-webkit-backdrop-filter:blur(7px) grayscale(.8);backdrop-filter:blur(7px) grayscale(.8);box-shadow:-30px 0 80px #14141247;-webkit-mask-image:linear-gradient(to left,#000 0%,#000 86%,transparent 100%);mask-image:linear-gradient(to left,#000 0%,#000 86%,transparent 100%)}.detail-close{z-index:8;width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,253,247,.24);border-radius:50%;right:28px;top:26px;color:var(--paper-white);background:#fffdf71f;pointer-events:auto}.detail-copy{height:100%;display:flex;flex-direction:column;justify-content:center;gap:22px;padding:8% 13%}.detail-kicker{color:#fffdf79e;font-size:.78rem}.detail-copy h3{margin:0;font-family:var(--serif);font-size:clamp(32px,4vw,58px)}.detail-copy p{max-width:34em;margin:0;font-size:1.05rem;line-height:1.9}.gold-summary{color:var(--gold);font-weight:800}.auto-note{width:fit-content;padding:7px 10px;border-left:3px solid var(--gold);background:#fffdf71a;color:#fffdf7b8;font-size:.9rem!important;line-height:1.5!important}.record-button{width:fit-content;margin-top:10px;background:var(--gold);color:var(--ink)}.timeline-view{position:absolute;inset:0;z-index:20;background:var(--page)}.timeline-view.is-source-layout{z-index:45;background:transparent}.timeline-view.is-handoff{pointer-events:none}.timeline-view.is-handoff .timeline-viewport,.timeline-view.is-handoff .timeline-track{overflow:visible}.timeline-view.is-handoff .timeline-card.is-complete{z-index:8}.timeline-view.is-handoff .timeline-line,.timeline-view.is-handoff .timeline-card.is-pending{z-index:1}.timeline-view.is-handoff .timeline-card,.timeline-view.is-handoff .loose-panel{transition:none!important}.phase-deduction .investigation-layer,.phase-deduction .music-dock{pointer-events:none}.phase-deduction .daily-panel,.phase-deduction .archived-panel{visibility:hidden!important}.loose-panels{position:absolute;inset:0;z-index:1;pointer-events:none}.loose-panel{position:absolute;width:280px;height:160px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:5px;padding:18px;opacity:0;color:#171716ad;filter:grayscale(.26) saturate(.88);will-change:transform,opacity;box-shadow:0 0 0 8px #fffdf79e,0 18px 44px #1616121f,inset 0 0 0 1px #1818141f}.loose-panel.is-top{top:-62px}.loose-panel.is-bottom{bottom:-58px}.loose-panel .panel-title{font-size:clamp(16px,1.25vw,23px)}.vinyl-module{position:absolute;right:44px;top:34px;z-index:4;width:86px;height:86px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#d9d2bd 0 7%,transparent 8% 20%,rgba(255,255,255,.1) 21% 24%,transparent 25%),repeating-radial-gradient(circle,#181816 0 8px,#282822 9px 10px);color:var(--paper);box-shadow:0 18px 50px #14141247;filter:none!important;backface-visibility:hidden;transform:translateZ(0);will-change:transform,opacity}.vinyl-module.is-playing{animation:vinylSpin 5.8s linear infinite}.vinyl-cover-image{position:relative;z-index:1;width:48px;height:48px;display:block;border-radius:50%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;box-shadow:0 0 0 5px #f5f1e529,0 0 0 1px #fffdf76b,0 8px 18px #00000059;filter:none}@keyframes vinylSpin{0%{transform:translateZ(0) rotate(0)}to{transform:translateZ(0) rotate(360deg)}}.vinyl-hit-target{position:absolute;right:44px;top:34px;z-index:6;width:86px;height:86px;padding:0;border-radius:50%;background:transparent}.vinyl-hit-target:disabled{cursor:default}.timeline-radial-menu{position:absolute;right:0;top:0;z-index:7;pointer-events:none}.timeline-radial-item{position:absolute;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#fffdf7e0;color:var(--ink);box-shadow:0 12px 30px #16161233;opacity:0;transform:translateY(-16px) scale(.78);pointer-events:none;transition:opacity .24s ease,transform .24s ease,background .2s ease}.timeline-radial-menu.is-open .timeline-radial-item{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.timeline-radial-item:hover{background:var(--paper-white);transform:translateY(-2px) scale(1)}.timeline-viewport{position:absolute;left:0;right:0;top:31%;height:47%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.timeline-viewport::-webkit-scrollbar{display:none}.timeline-track{position:relative;height:100%;padding-left:var(--timeline-left-padding, 188px);display:flex;align-items:center;gap:var(--timeline-gap, 72px)}.timeline-line{position:absolute;left:0;top:50%;height:2px;background:var(--ink)}.timeline-line:before{content:"";position:absolute;left:0;top:50%;width:78px;height:2px;transform:translateY(-50%);background:var(--ink);box-shadow:14px 0 #17171638}.timeline-card{position:relative;z-index:2;flex:0 0 auto;width:248px;height:166px;opacity:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:20px;text-align:left;box-shadow:0 0 0 8px var(--paper-white),0 20px 50px #16161233;clip-path:polygon(4% 4%,96% 0%,100% 88%,72% 100%,0% 92%);transition:transform .2s ease,filter .2s ease;will-change:transform,opacity}.timeline-card.is-complete:hover{transform:translateY(-7px);filter:saturate(1.08)}.timeline-card.is-pending{pointer-events:none;border:2px dashed var(--project-color);background:linear-gradient(135deg,#fffdf738,#fffdf714),transparent!important;box-shadow:0 0 0 7px #fffdf770,inset 0 0 0 1px #17171614;color:#17171670;filter:grayscale(.25)}.timeline-card.is-pending:after{content:"";position:absolute;inset:16px;border:1px dashed rgba(23,23,22,.22);pointer-events:none}.timeline-card.is-pending:hover{transform:none;filter:grayscale(.25)}.timeline-card strong{font-family:var(--serif);font-size:1.52rem;line-height:1.05}.timeline-card span{color:#171716ad;font-size:.82rem}.timeline-view.is-source-layout .timeline-card.is-complete,.timeline-view.is-source-layout .loose-panel{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:5px;text-align:left;color:var(--ink)}.timeline-view.is-source-layout .timeline-card.is-complete{padding:18px;box-shadow:0 0 0 7px #fffdf79e,0 18px 52px #1818141f,inset 0 0 0 1px #1818141f}.timeline-view.is-source-layout .loose-panel{padding:20px;filter:none;box-shadow:0 0 0 7px var(--paper-white),inset 0 0 0 1px #18181426}.timeline-view.is-source-layout .timeline-card .panel-index,.timeline-view.is-source-layout .loose-panel .panel-index{position:absolute;left:16px;top:13px;font-size:.72rem;font-weight:700;color:#17171694}.timeline-view.is-source-layout .timeline-card .panel-title,.timeline-view.is-source-layout .loose-panel .panel-title{max-width:12em;font-family:var(--serif);font-weight:900;line-height:1.05;color:var(--ink)}.timeline-view.is-source-layout .timeline-card .panel-title{font-size:clamp(15px,1.2vw,22px)}.timeline-view.is-source-layout .loose-panel .panel-title{font-size:clamp(16px,1.65vw,30px)}.timeline-view.is-source-layout .timeline-card .panel-meta,.timeline-view.is-source-layout .loose-panel .panel-meta{font-size:.72rem;color:#171716b3}.timeline-year{position:absolute;top:16px;left:18px;font-weight:800}.timeline-end{position:relative;z-index:3;width:124px;height:124px;flex:0 0 124px;display:grid;place-items:center;border-radius:50%;background:transparent}.ink-circle{position:absolute;inset:12px;border:5px solid var(--ink);border-radius:45% 54% 49% 52%/54% 42% 58% 46%;transform:rotate(-7deg);box-shadow:inset 0 0 0 1px #17171629}.ink-circle:before{content:"";position:absolute;inset:-10px -7px -8px -9px;border:2px solid rgba(23,23,22,.48);border-radius:52% 46% 55% 45%/44% 58% 41% 56%}.timeline-end.is-ready .ink-circle{background:var(--gold);animation:goldBreath 2.2s infinite ease-in-out}@keyframes goldBreath{0%,to{transform:rotate(-7deg) scale(.96)}50%{transform:rotate(-7deg) scale(1.05)}}.locked-hint{position:absolute;left:calc(100% + var(--timeline-hint-gap, 18px));width:var(--timeline-hint-width, 190px);color:#d5535300;font-family:var(--serif);font-size:1rem;text-align:left;transition:opacity .2s ease,transform .2s ease,color .2s ease;transform:translate(0);pointer-events:none}.timeline-end:not(.is-ready):hover .locked-hint{color:#d55353ad;transform:translate(0)}.back-home-button{position:absolute;right:34px;bottom:28px;z-index:8;background:#171716eb}.timeline-scroll-hint{position:absolute;left:50%;bottom:24px;z-index:8;display:inline-flex;align-items:center;gap:10px;padding:9px 12px;border:1px dashed rgba(23,23,22,.34);background:#fffdf7e6;color:var(--ink);box-shadow:0 10px 28px #1616121f;pointer-events:none;transition:opacity .28s ease,transform .28s ease}.timeline-scroll-hint.is-visible{opacity:.82;transform:translate(-50%) rotate(-.6deg)}.timeline-scroll-hint.is-hidden{opacity:0;transform:translate(-50%,8px) rotate(-.6deg)}.timeline-scroll-hint span{display:grid;gap:1px}.timeline-scroll-hint strong{font-family:var(--serif);font-size:.78rem;line-height:1.1}.timeline-scroll-hint small{color:var(--muted);font-size:.64rem;letter-spacing:.04em}.timeline-scroll-arrow{animation:timelineHintNudge 1.4s ease-in-out infinite}@keyframes timelineHintNudge{0%,to{transform:translate(0)}50%{transform:translate(4px)}}.terminal-view{position:absolute;inset:0;z-index:80;display:grid;place-items:center;background:#050505;color:#d8f6b1}.terminal-window{width:82%;height:76%;border:1px solid rgba(216,246,177,.32);background:linear-gradient(rgba(216,246,177,.06) 1px,transparent 1px),#080a07;background-size:100% 4px;box-shadow:0 0 0 1px #d8f6b11a,0 0 70px #91dc701f;overflow:hidden}.terminal-topbar{height:42px;display:flex;align-items:center;gap:8px;padding:0 15px;border-bottom:1px solid rgba(216,246,177,.22);background:#d8f6b10f}.terminal-topbar span{width:10px;height:10px;border-radius:50%;background:#d8f6b18a}.terminal-topbar strong{margin-left:12px;font-size:.76rem;letter-spacing:0}.terminal-output{height:calc(100% - 42px);padding:26px;overflow:auto;font-family:Space Grotesk,monospace;font-size:1.03rem;line-height:1.65}.terminal-output p{margin:0 0 9px}.cursor{animation:cursorBlink .7s steps(1) infinite}@keyframes cursorBlink{50%{opacity:0}}.terminal-progress{margin-top:24px}.terminal-progress>div{width:min(520px,100%);height:14px;border:1px solid rgba(216,246,177,.46);padding:2px}.terminal-progress span{display:block;height:100%;background:#d8f6b1}.resume-download{margin-top:24px;color:#080a07;background:#d8f6b1;border-color:#d8f6b1;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.narrow-screen-notice{display:none}@media(max-width:1279px){.stage{display:none}.narrow-screen-notice{position:relative;width:100vw;min-height:100vh;display:grid;place-items:center;padding:28px;overflow:hidden;background:linear-gradient(rgba(23,23,22,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(23,23,22,.055) 1px,transparent 1px),var(--page);background-size:28px 28px}.narrow-screen-card{position:relative;width:min(100%,620px);padding:clamp(30px,8vw,62px);border:1px solid rgba(23,23,22,.2);background:var(--paper-white);box-shadow:var(--shadow);clip-path:polygon(1% 2%,97% 0,100% 94%,92% 100%,3% 97%,0 18%)}.narrow-screen-card:before{content:"";position:absolute;inset:12px;border:1px solid rgba(23,23,22,.14);pointer-events:none}.narrow-screen-kicker{position:relative;z-index:1;display:block;margin-bottom:22px;color:var(--muted);font-size:.7rem;font-weight:700;letter-spacing:.08em}.narrow-screen-card h1{position:relative;z-index:1;max-width:10em;margin:0;font-family:var(--serif);font-size:clamp(2.25rem,9vw,4.5rem);line-height:1.02}.narrow-screen-card p{position:relative;z-index:1;max-width:36em;margin:26px 0 0;color:var(--muted);font-size:.98rem;line-height:1.8}.narrow-screen-stamp{position:relative;z-index:1;width:fit-content;margin-top:34px;padding:8px 12px;border:2px solid rgba(213,83,83,.72);color:#d55353d1;font-size:.74rem;font-weight:800;line-height:1.05;letter-spacing:.08em;transform:rotate(-4deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
