:root{font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;color:#e4e3dc;background:#0c1419;font-synthesis:none;font-weight:400;line-height:1.8;--paper:#dfdacd;--ink:#272b2d;--muted:#a6b1b5;--red:#b26761;--line:rgba(213,222,221,.18);--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #d5bba0;outline-offset:5px}button{border:0;background:none}p,h1,h2,h3{margin-top:0}p{overflow-wrap:anywhere}svg{flex-shrink:0}button{touch-action:manipulation}::selection{background:#89554b;color:#fff}.app{min-height:100svh;isolation:isolate;position:relative}.room,.haze,.rain{position:fixed;inset:0;pointer-events:none;z-index:-3}.room{background:linear-gradient(90deg,#060e14e6,#060e14a1),url(/art/observation-room.png) center/cover no-repeat}.at-title .room{background-image:linear-gradient(90deg,#050c12eb,#050c12a3 32%,#050c120d 73%),linear-gradient(0deg,rgba(3,10,15,.7),transparent 38%),url(/art/observation-room.png)}.haze{z-index:-2;background:radial-gradient(ellipse at 75% 80%,rgba(135,155,161,.065),transparent 60%);animation:mist 22s ease-in-out infinite alternate}.rain{inset:0 0 0 60%;opacity:.17;z-index:-2;background-image:repeating-linear-gradient(99deg,transparent 0,transparent 75px,rgba(195,213,221,.2) 76px,transparent 77px,transparent 124px);-webkit-mask-image:linear-gradient(transparent,#000 25%,transparent 68%);mask-image:linear-gradient(transparent,#000 25%,transparent 68%);animation:rain 9s linear infinite}.topbar{height:91px;margin:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:14px;padding:0;font:10px/1.5 ui-monospace,monospace;letter-spacing:2px;text-align:left}.brand-mark{font:italic 32px var(--serif);border:1px solid #85949a55;width:36px;height:40px;text-align:center;color:#c8cbc5}.brand-divider{margin:0 6px;color:var(--red)}.top-actions{display:flex;gap:24px;align-items:center}.icon{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:44px;padding:8px;color:#c4cbcd}.sound-toggle span{font:10px ui-monospace,monospace;letter-spacing:1px}.hero{min-height:calc(100svh - 91px);max-width:1600px;padding:7.2vh 8.5% 5vh;position:relative;display:flex;align-items:center}.hero-copy{max-width:680px}.eyebrow{font:10px/1.5 ui-monospace,monospace;letter-spacing:2.4px;display:flex;align-items:center;gap:11px;color:#b6c0c5}.red-dot{width:5px;height:5px;background:#bd5c58;display:inline-block;border-radius:50%;box-shadow:0 0 8px #b8544340;flex-shrink:0;margin-right:4px}.rule{width:60px;height:1px;background:#9eaaae70;margin-left:7px}.hero-kicker{font:400 clamp(18px,1.9vw,27px)/1.85 var(--serif);letter-spacing:.18em;margin:38px 0 24px;color:#c6c9c5}.hero h1{font:400 clamp(28px,3.55vw,53px)/1.55 var(--serif);letter-spacing:.055em;white-space:nowrap;margin-bottom:2px;color:#f0ede5;text-shadow:0 2px 24px #000}.jev-title{font-size:.77em;margin-right:.16em}.subtitle{font:400 clamp(20px,2.4vw,34px)/1.8 var(--serif);letter-spacing:.3em;margin:0 0 24px;padding-left:1px}.hero-intro{color:#aab7bd;font-size:14px;line-height:2.15;letter-spacing:.08em;margin-bottom:30px}.primary{background:#dcd9ce;color:#202d33;display:inline-flex;gap:25px;align-items:center;justify-content:center;padding:12px 22px;min-height:48px;border:1px solid #dcd9ce;transition:background .2s,transform .2s;letter-spacing:.06em;font-size:14px}.primary:hover:not(:disabled){background:#f0eadf;transform:translateY(-1px)}.start{width:310px;justify-content:space-between;padding:16px 24px;font-family:var(--serif);font-size:19px;letter-spacing:.18em;box-shadow:0 6px 25px #0003}.hero-links{display:flex;gap:24px;align-items:center;margin:18px 0 27px}.text-button{display:inline-flex;align-items:center;gap:9px;padding:8px 0;min-height:40px;font-size:13px;color:#c3cdce;text-underline-offset:6px}.text-button:hover:not(:disabled){color:#fff;text-decoration:underline}.hero-links .text-button{font-size:12px}.hero-links span{font:8px ui-monospace,monospace;letter-spacing:.7px;color:#8c9da5}.notice{font-size:11px;line-height:1.9;color:#94a2aa;max-width:470px;letter-spacing:.02em;margin-bottom:0}.hero-caption{position:absolute;right:5.5%;bottom:5.5%;text-align:right;color:#bcc5c7;font:10px/2 ui-monospace,monospace;letter-spacing:2px}.hero-caption p{margin:13px 0 3px}.hero-caption span:last-child{font-size:10px;letter-spacing:.12em}.caption-line{display:block;width:50px;height:1px;background:var(--red);margin-left:auto}.mobile-break{display:none}.workspace{width:min(1210px,89%);margin:0 auto;padding-bottom:25px}.case-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:77px;font:11px ui-monospace,monospace;letter-spacing:1px;color:#b7c0c1}.muted{color:#84969d}.desk{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;box-shadow:0 25px 80px #0005}.case-paper{background:linear-gradient(120deg,#e5e0d4,#d8d3c8);color:var(--ink);padding:34px 36px 30px;min-height:650px;position:sticky;top:24px;box-shadow:inset 0 0 90px #a4997820}.paper-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #353b3a40;padding-bottom:25px;margin-bottom:29px;gap:10px;font:9px ui-monospace,monospace;letter-spacing:1.8px;color:#576060}.stamp{border:1px solid #98544b;color:#98544b;padding:3px 10px;font-size:11px;letter-spacing:1px;transform:rotate(-3deg)}.case-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#666b68;font-size:10px;letter-spacing:.04em}.difficulty{color:#656964}.case-paper h1{font:500 clamp(24px,2.4vw,34px)/1.6 var(--serif);margin:18px 0 30px;letter-spacing:.06em}.problem summary{display:none}.problem-text{font:500 17px/2.1 var(--serif);letter-spacing:.05em}.problem-text p{margin:0 0 22px}.paper-bottom{margin-top:44px}.paper-rule{display:block;width:24px;height:1px;background:#98544b}.paper-bottom p{font:12px/2 var(--serif);letter-spacing:.08em;color:#787c75;margin:16px 0 23px}.tape{width:91px;height:39px;border:1px solid #81877b80;border-radius:4px;display:flex;align-items:center;justify-content:space-evenly;opacity:.6}.tape i{width:23px;height:23px;border:1px solid #72796e;border-radius:50%;background:conic-gradient(transparent 0 50deg,#7d8578 51deg 75deg,transparent 76deg 170deg,#7d8578 171deg 195deg,transparent 196deg 290deg,#7d8578 291deg 315deg,transparent 316deg);animation:reel 13s linear infinite}.tape span{height:1px;width:15px;background:#7d8578}.investigation{background:#0e191ff0;padding:30px 37px 34px;min-height:650px;border:1px solid #b8c3c114}.investigation-top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:3px 0 23px;font:10px ui-monospace,monospace;letter-spacing:1px;color:#a6b5ba}.investigation-top>span:first-child{display:flex;align-items:center}.jev-intro{font:15px/2.1 var(--serif);letter-spacing:.05em;color:#bac5c7;margin:26px 0}.mode-tabs{display:flex;border-bottom:1px solid var(--line);gap:25px;margin-top:22px}.mode-tabs button{font-size:14px;min-height:50px;padding:10px 0;color:#8c9fa7;border-bottom:2px solid transparent}.mode-tabs button[aria-selected=true]{color:#eae6d9;border-color:#b36960}.investigation form label{display:block;font:15px/1.8 var(--serif);margin:24px 0 12px;color:#cdd4d1}.investigation textarea{width:100%;resize:vertical;min-height:145px;max-height:420px;background:#0713196b;border:1px solid #9faca940;color:#ecede6;padding:15px 17px;font-size:16px;line-height:1.85;border-radius:0;scroll-margin-bottom:120px}.investigation textarea::placeholder{color:#87979f;font-size:14px}.input-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:13px}.input-footer>span{font:10px ui-monospace,monospace;color:#90a1a9}.keyboard-tip{font-size:9px}.input-footer .primary{font-size:13px;padding:10px 16px;gap:18px}.help-actions{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:24px;padding-top:15px}.help-actions .text-button{font-size:12px}.help-actions span{font:10px ui-monospace,monospace;color:#84979f}.reveal-link{color:#9caab0;text-decoration:underline}.history{margin:20px 0;border:1px solid var(--line)}.history summary{padding:12px 15px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#aebdc2}.history summary>span{display:inline-flex;align-items:center;gap:9px;color:#82969d;font:10px ui-monospace,monospace}.history ol{list-style:none;margin:0;padding:0 15px 5px;max-height:275px;overflow-y:auto;scrollbar-color:#627a83 #12252b}.history li{border-top:1px solid var(--line);padding:13px 0 16px}.history-label{color:#8e9fa7;font:9px ui-monospace,monospace;letter-spacing:1px}.history li p{font-size:14px;margin:9px 0 8px;line-height:1.7;white-space:pre-wrap}.history-answer{font-size:11px;color:#9eafb5;line-height:1.7}.history-answer>span{display:inline-block;margin-right:9px;color:#cdd2c9;font:10px ui-monospace,monospace}.matched>span{color:#d2a099}.feedback{outline:none;scroll-margin-top:25px}.feedback:empty{display:none}.pending{font-size:14px;color:#b9c9ca;margin:20px 0}.error{border:1px solid #a9695d88;border-left:3px solid #b97469;padding:14px 16px;font-size:14px;line-height:1.8;background:#683b302e;color:#f1c0b5;margin:18px 0}.error button{display:flex;min-height:40px;color:#edc9bd}.response{border-left:2px solid #9b7770;background:#ffffff04;padding:15px 18px;margin:20px 0}.response p{margin:7px 0 3px;font-size:15px}.result-label{font:500 17px/1.5 var(--serif);color:#e1d9c9}.response small{font:9px ui-monospace,monospace;color:#869aa2;display:block;margin:8px 0 0}.response .duplicate{font-size:12px;color:#b7a58f}.response .text-button{font-size:12px}.hints{margin-top:20px;border-top:1px solid var(--line)}.hints>div{padding:18px 0 0}.hints span{font:9px ui-monospace,monospace;letter-spacing:2px;color:#bd9990}.hints p{font-size:14px;margin:8px 0;color:#bfcacb;line-height:1.85}.truth-heading{padding:32px 0 24px;border-bottom:1px solid var(--line);outline:none}.congrats{font:10px/1.8 ui-monospace,monospace;color:#d49588;letter-spacing:3px}.truth h2{font:400 28px/1.7 var(--serif);letter-spacing:.05em;margin:10px 0}.truth-heading p{font-size:11px;color:#a4b7bc;margin:0}.truth section{padding-top:27px}.truth h3{font:400 18px/1.6 var(--serif);margin:0 0 12px;color:#dbd9cc}.truth section p,.truth li{font-size:15px;line-height:1.95;color:#bac7cb}.truth .motive{border-left:2px solid #95635b;font:14px/1.9 var(--serif);padding-left:15px;color:#d2c5b6}.truth ul{padding-left:22px}.truth li{margin-bottom:10px}.truth-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;border-top:1px solid var(--line);padding-top:24px}.game-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#7f959e;font:9px ui-monospace,monospace;letter-spacing:.7px;padding-top:15px}.game-footer .text-button{font-size:11px;color:#95a8af}dialog{background:#111f26;color:#dee2dc;border:1px solid #798c9259;width:min(740px,calc(100% - 34px));max-height:88svh;padding:0;box-shadow:0 30px 120px #0009}dialog::backdrop{background:#040c12c4;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-body{padding:30px 36px 34px}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px}.modal-heading h2{font:400 25px/1.5 var(--serif);margin:0;letter-spacing:.1em}.modal-intro{font:16px/1.9 var(--serif);color:#bdc8c9}.progress-line{font-size:13px;color:#b6c5c7}.progress-line b{font:26px var(--serif);margin:0 5px;color:#e1d8c6}.progress-line>span{display:inline-block;font-size:11px;margin-left:22px;color:#92a7ae}.chapter-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-bottom:1px solid var(--line);margin:24px 0 10px}.chapter-tabs button{font:14px/1.6 var(--serif);padding:14px 4px;border-bottom:2px solid transparent;color:#91a6af}.chapter-tabs button span{font:9px ui-monospace,monospace;display:block;margin-bottom:5px;letter-spacing:2px}.chapter-tabs button[aria-selected=true]{color:#e4ded2;border-color:#b47467}.record-row{display:grid;grid-template-columns:28px 1fr auto 16px;gap:14px;align-items:center;width:100%;text-align:left;padding:17px 2px;border-bottom:1px solid var(--line);color:#d7dcd6}.record-row:hover{background:#c5d5d507}.record-number{font:11px ui-monospace,monospace;color:#9badaf}.record-row strong{font:400 17px/1.5 var(--serif);display:block}.record-row small{display:block;font-size:10px;color:#8ca2ad;margin-top:6px}.record-status{font-size:10px;color:#8da5ae;white-space:nowrap}.record-status.solved{color:#d4a097}.record-status.viewed{color:#a6b8a8}.fine-print{font-size:11px;line-height:1.9;color:#8fa5ae;margin:20px 0 0}.guide-steps{padding:0 0 0 24px;color:#aabaad}.guide-steps li{padding-left:10px;margin:24px 0}.guide-steps h3{font:400 18px var(--serif);color:#dedbcf;margin:0 0 10px}.guide-steps p{font-size:14px;color:#b5c5c8}.modal-body>.primary{margin-top:25px}.setting{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}.setting h3{font:400 17px var(--serif);margin:0 0 8px}.setting p{font-size:12px;color:#9bb0b9;margin:0}.secondary{min-height:44px;padding:10px 15px;border:1px solid #8fa1a95c;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}.volume-label{font-size:13px;display:flex;justify-content:space-between;margin:26px 0 8px;color:#b5c5c8}input[type=range]{width:100%;min-height:35px;accent-color:#cabaa5}.confirm-actions{display:flex;gap:15px;justify-content:flex-end;flex-wrap:wrap;margin-top:27px}.storage-warning,.audio-warning{position:fixed;z-index:5;bottom:12px;left:5%;right:5%;border:1px solid #9d7461;background:#18242b;padding:10px 20px;font-size:13px}.fade-in{animation:fade .55s ease-out}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes mist{to{transform:translate(-5%);opacity:.5}}@keyframes rain{to{background-position:40px 150px}}@keyframes reel{to{transform:rotate(360deg)}}[data-effects=off] *,[data-effects=off] *:before,[data-effects=off] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}[data-effects=off] .rain,[data-effects=off] .haze{display:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rain,.haze{display:none}}@media(min-width:1500px){.hero{padding-top:7vh;padding-bottom:9vh}.hero-kicker{margin-top:50px}.hero-intro{margin-top:32px;margin-bottom:38px}.hero-links{margin-top:25px;margin-bottom:36px}}@media(max-width:1080px){.brand{letter-spacing:1px}.workspace{width:92%}.case-paper,.investigation{padding:28px;min-height:640px}.hero{padding-left:7%;padding-right:7%}.hero-caption{bottom:4%;font-size:9px}.keyboard-tip,.nav-chapter{display:none}.hero .notice{max-width:360px}}@media(max-width:760px){.topbar{height:72px;margin:0 6%;gap:8px}.brand{gap:8px;font-size:8px;letter-spacing:.7px}.brand-mark{font-size:27px;width:29px;height:33px}.brand-divider{margin:0 3px}.top-actions{gap:6px}.sound-toggle span{display:none}.icon{padding:7px;min-width:40px}.hero{min-height:calc(100svh - 72px);padding:8vh 7% 40px;align-items:flex-start}.at-title .room{background-image:linear-gradient(90deg,#050c12d4,#050c123b),linear-gradient(0deg,rgba(5,12,18,.92),transparent 60%),url(/art/observation-room.png);background-position:center,center,62% center}.hero-copy{width:100%}.hero .eyebrow{font-size:9px;letter-spacing:1.7px}.hero .rule{width:30px}.hero-kicker{font-size:21px;line-height:1.95;margin-top:35px;margin-bottom:22px}.hero h1{font-size:clamp(24px,6.1vw,38px);letter-spacing:.02em;white-space:normal}.subtitle{font-size:25px;letter-spacing:.19em;margin:9px 0 25px}.hero-intro{font-size:16px;line-height:1.95;letter-spacing:.02em;margin-bottom:30px}.mobile-break{display:block}.start{width:min(100%,310px);font-size:18px}.hero-links{gap:22px;margin:13px 0 26px}.hero-links .text-button{font-size:13px}.hero-links span{font-size:8px}.hero .notice{max-width:350px;font-size:11px}.hero-caption{display:none}.workspace{width:100%;padding:0 0 20px}.case-nav{min-height:62px;padding:0 20px;font-size:10px}.case-nav .text-button{font-size:13px}.desk{display:block;box-shadow:none}.case-paper{position:static;min-height:0;margin:0 17px;padding:24px 25px 18px}.paper-top{padding-bottom:18px;margin-bottom:22px;font-size:9px}.case-meta{font-size:11px}.case-paper h1{font-size:27px;margin:16px 0 13px}.problem summary{display:flex;align-items:center;justify-content:space-between;min-height:42px;font-size:13px;color:#5c6461;cursor:pointer}.problem-text{font-size:17px;line-height:2;letter-spacing:.03em}.problem-text p{margin:9px 0 15px}.paper-bottom{display:none}.investigation{padding:28px 24px;min-height:0;margin:0 17px;border-top:0}.investigation-top{font-size:9px;padding-bottom:20px}.jev-intro{font-size:16px;line-height:1.9}.mode-tabs{gap:24px}.mode-tabs button{font-size:15px}.investigation form label{font-size:17px;margin-top:20px}.investigation textarea{font-size:16px;padding:14px;min-height:150px}.investigation textarea::placeholder{font-size:16px}.input-footer{gap:10px}.input-footer .primary{min-height:48px;font-size:14px;gap:15px}.input-footer>span{font-size:10px}.help-actions{gap:8px}.help-actions .text-button{font-size:13px}.hints p,.response p,.history li p,.truth section p,.truth li{font-size:16px}.history-answer{font-size:13px}.history ol{max-height:330px}.error{font-size:16px}.truth h2{font-size:25px}.truth .motive{font-size:16px}.truth h3{font-size:19px}.truth-actions{gap:12px}.truth-actions .primary{width:100%}.game-footer{padding:20px 23px 0;font-size:8px;letter-spacing:0}.modal-body{padding:22px 21px 28px}.modal-heading{padding-bottom:15px;margin-bottom:19px}.modal-heading h2{font-size:23px;letter-spacing:.04em}.modal-intro{font-size:16px}.progress-line>span{margin-left:0;display:block;margin-top:8px}.chapter-tabs{gap:3px}.chapter-tabs button{font-size:12px}.record-row{gap:9px;grid-template-columns:23px 1fr auto 13px}.record-row strong{font-size:16px}.record-row small{font-size:10px}.record-status{font-size:9px}.guide-steps p{font-size:16px}.setting{align-items:flex-start;flex-direction:column;gap:14px}.setting p{font-size:14px}.confirm-actions{display:grid;grid-template-columns:1fr}.confirm-actions button{min-height:48px;font-size:16px}.confirm-actions .primary{grid-row:1}.modal-body>.notice{font-size:12px}}@media(max-width:360px){.brand>span:last-child{max-width:155px}.hero h1,.subtitle{font-size:23px}.investigation{padding:24px 18px}.case-paper{padding:23px}.hero-links{gap:14px}}
