@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{color:#f4f1f8;font-synthesis:none;text-rendering:optimizelegibility;background:#06070c;font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#root{background:#06070c;min-width:320px;min-height:100%;margin:0}body{overflow-x:hidden}button,input{font:inherit}.app{background:radial-gradient(circle at 78% 8%,#665bff21,#0000 28%),radial-gradient(circle at 12% 80%,#ff4ba61c,#0000 30%),linear-gradient(135deg,#07080e,#090710 55%,#06070c);min-height:100vh;position:relative;overflow:hidden}.app:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 0 30%,#ffffff05 50%,#0000 70%);position:fixed;inset:0}.grain{pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:fixed;inset:0}.vignette{pointer-events:none;position:fixed;inset:0;box-shadow:inset 0 0 180px #000}.topbar,footer{z-index:5;color:#77768a;letter-spacing:.14em;justify-content:space-between;padding:22px 28px;font:10px DM Mono,monospace;display:flex;position:fixed;left:0;right:0}.topbar{top:0}.top-actions{gap:8px;display:flex}.icon-btn{color:#77768a;cursor:pointer;background:#0a0a1299;border:1px solid #26243a;padding:7px}.icon-btn:hover{color:#fff;border-color:#55507d}.dot{background:#ff67b5;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 14px #ff67b5}footer{bottom:0}.boot,.start,.shell,.final{max-width:1000px;min-height:100vh;margin:auto;padding:110px 28px 90px}.boot{place-items:center;display:grid}.boot-inner{width:min(620px,100%)}.mono{letter-spacing:.08em;font:11px DM Mono,monospace}.pink{color:#ff69b4}.dim{color:#626175}.boot-title h1{letter-spacing:-.06em;margin:35px 0 25px;font-size:clamp(48px,8vw,90px);line-height:.9}.boot-title em,.start h1 em,.letter h2,.signature{font-family:Playfair Display,serif;font-weight:500}.boot-status{color:#74d8ff;letter-spacing:.18em;font:11px DM Mono,monospace}.start{flex-direction:column;justify-content:center;display:flex;position:relative}.stamp{color:#ff7fc0;letter-spacing:.18em;border:1px solid #ff67b580;padding:9px 13px;font:10px DM Mono,monospace;position:absolute;top:150px;right:28px;transform:rotate(-8deg)}.eyebrow,.mission-meta,.final-top{letter-spacing:.18em;color:#8b8aa0;font:10px DM Mono,monospace}.start-copy{max-width:760px}.start h1{letter-spacing:-.065em;margin:18px 0 25px;font-size:clamp(48px,8vw,92px);line-height:.95}.lead{color:#8f8da0;max-width:610px;font-size:13px;line-height:1.9}.primary{color:#fff;cursor:pointer;letter-spacing:.08em;background:linear-gradient(100deg,#b63e83,#6858d9);border:1px solid #ff67b58c;justify-content:center;align-items:center;gap:10px;margin-top:24px;padding:13px 18px;font:11px DM Mono,monospace;transition:all .22s;display:inline-flex;box-shadow:0 10px 35px #9141b42e}.primary:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 12px 40px #ff67b52e}.primary.small{white-space:nowrap;margin:0}.start-foot{color:#4f4d60;letter-spacing:.1em;justify-content:space-between;font:9px DM Mono,monospace;display:flex;position:absolute;bottom:95px;left:28px;right:28px}.shell{padding-top:145px}.mission-meta{align-items:center;gap:14px;display:flex}.line{background:#27263a;flex:0 120px;height:1px}.shell-head{margin:22px 0 45px}.shell-head h2{letter-spacing:-.05em;margin:0;font-size:clamp(35px,6vw,64px)}.shell-head p{color:#626176;letter-spacing:.08em;font:11px DM Mono,monospace}.text-puzzle,.memory-puzzle,.music-card,.distance{max-width:760px}.question{color:#d0ccda;font-size:clamp(18px,2.5vw,27px);line-height:1.65}.input-row{gap:10px;max-width:680px;margin-top:30px;display:flex}.input-row input{color:#f5f1fa;background:#0a0a12cc;border:1px solid #29273c;outline:none;flex:1;padding:15px}.input-row input::placeholder{color:#55536a}.input-row input:focus{border-color:#6f64d9;box-shadow:0 0 0 3px #6f64d91a}.error{color:#ff6eae;letter-spacing:.09em;margin-top:15px;font:10px DM Mono,monospace}.success{background:linear-gradient(90deg,#342a5566,#0e0d184d);border-left:2px solid #6fdcff;align-items:flex-start;gap:16px;max-width:720px;margin-top:30px;padding:18px;display:flex}.success-mark{color:#78dcff;border:1px solid #6fdcff;flex:none;place-items:center;width:30px;height:30px;display:grid}.success strong{letter-spacing:.14em;color:#78dcff;font:10px DM Mono,monospace}.success p{color:#aaa7b8;margin:7px 0 0;font-size:12px;line-height:1.7}.next-btn{color:#f0edf7;cursor:pointer;letter-spacing:.08em;background:#11101b;border:1px solid #37354e;align-items:center;gap:8px;margin-top:18px;padding:10px 14px;font:10px DM Mono,monospace;display:inline-flex}.next-btn:hover{color:#ff8ac7;border-color:#ff67b5}.case-panel{background:#0a0a128c;border:1px solid #232238;grid-template-columns:repeat(3,1fr);margin-bottom:35px;display:grid}.case-panel>div{border-right:1px solid #232238;padding:18px}.case-panel>div:last-child{border-right:0}.case-panel span{color:#626176;letter-spacing:.1em;font:9px DM Mono,monospace;display:block}.case-panel b{color:#d9d5e4;margin-top:10px;font-size:12px;display:block}.reveal-block{border-top:1px solid #232238;margin-top:35px;padding-top:25px}.reveal-line{color:#fff;font:italic 30px Playfair Display,serif}.evidence{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.photo-placeholder{aspect-ratio:4/3;color:#77758b;text-align:center;background:radial-gradient(circle at 50% 30%,#ff67b51c,#0000 35%),linear-gradient(135deg,#171424,#0b0c13);border:1px solid #2b2941;justify-content:center;align-items:center;display:flex;overflow:hidden}.photo-placeholder img{object-fit:cover;width:100%;height:100%}.photo-overlay{padding:15px}.photo-placeholder span{letter-spacing:.15em;color:#b3b0c1;font:9px DM Mono,monospace;display:block}.photo-placeholder small{color:#5e5b70;margin-top:10px;font:9px DM Mono,monospace;display:block}.memory-text{color:#aaa7b8;max-width:650px;font-size:12px;line-height:1.9}.record{color:#8b89a0;letter-spacing:.08em;border-bottom:1px solid #232238;align-items:center;gap:14px;padding-bottom:18px;font:10px DM Mono,monospace;display:flex}.music-card{padding-bottom:10px}.distance .question{max-width:700px}.map-art{background:#0b0c14;border:1px solid #28263d;margin-top:28px;overflow:hidden;box-shadow:0 20px 80px #4c3f9b1f}.map-art svg{width:100%;height:auto;display:block}.scanning{color:#78dcff;margin-top:25px}.distance-result{text-align:center;margin-top:28px}.distance-result>span{letter-spacing:.2em;color:#78dcff;font:10px DM Mono,monospace}.distance-result h3{color:#f4f1f8;margin:15px 0;font:500 clamp(28px,5vw,48px) Playfair Display,serif}.distance-result p{color:#8f8da0;font-size:12px}.final{text-align:center;max-width:850px;padding-top:100px}.final-top{justify-content:center;gap:12px;display:flex}.final-top span{color:#ff73b9}.final-photo{max-width:720px;margin:45px auto 50px}.photo-placeholder{aspect-ratio:16/9}.letter{color:#aaa6b4;max-width:650px;margin:auto;font-family:Playfair Display,serif;font-size:18px;line-height:1.9}.letter h2{color:#f5f2f9;margin:45px 0;font-size:clamp(35px,7vw,65px);line-height:1.05}.letter strong{color:#eee;font-weight:500}.signature{color:#dcb9d0;margin-top:35px;font-size:25px;font-style:italic}.secret-wrap{margin-top:65px;padding-bottom:50px}.secret-btn{color:#67647a;letter-spacing:.12em;cursor:pointer;background:0 0;border:1px solid #28263c;padding:12px 18px;font:10px DM Mono,monospace}.secret-btn:hover{color:#fff;border-color:#615c88}.terminal-secret{text-align:left;color:#ff6eae;background:#08090d;border:1px solid #29273e;max-width:400px;margin:auto;padding:20px;font:11px DM Mono,monospace}.terminal-secret button{color:#ddd;cursor:pointer;background:#181725;border:1px solid #4b4764;padding:6px 14px}.secret-done{color:#89869a;font-size:11px;line-height:1.8}.secret-done strong{color:#f1eef7;margin-top:10px;display:block}@media (width<=700px){.topbar,footer{padding:16px}.boot,.start,.shell,.final{padding-left:18px;padding-right:18px}.start-foot{gap:15px;left:18px;right:18px}.stamp{right:18px}.case-panel{grid-template-columns:1fr}.case-panel>div{border-bottom:1px solid #232238;border-right:0}.case-panel>div:last-child{border-bottom:0}.input-row{flex-direction:column}.primary.small{width:100%}.evidence{grid-template-columns:1fr}.map-art svg{min-height:220px}.letter{font-size:17px}.shell{padding-top:120px}}
