*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden}body{background:#060a13;font-family:Outfit,system-ui,sans-serif;color:#cfd8ea;user-select:none;-webkit-user-select:none;touch-action:manipulation}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none;z-index:5}#ui>*{pointer-events:auto}#ui>.overlay:not(.show){pointer-events:none}.hud{position:fixed;left:0;right:0;display:flex;flex-direction:column;align-items:center;pointer-events:none}.hud-top{top:max(18px,env(safe-area-inset-top));gap:4px}.hud-bottom{bottom:max(20px,env(safe-area-inset-bottom));gap:12px}.hud .btn-row,.hud a{pointer-events:auto}.wisp-name{font-size:26px;font-weight:500;letter-spacing:.04em;color:#eef3ff}.wisp-meta{font-size:12.5px;font-weight:300;letter-spacing:.14em;color:#8b97b3;text-transform:uppercase}.dna-code{font-size:11px;letter-spacing:.08em;color:#566079;margin-top:2px}.rare{color:#ffd28a;font-style:normal}.clock{font-size:12.5px;color:#8b97b3;letter-spacing:.06em}.clock b{color:#ffd28a;font-weight:500}.care-track{width:168px;height:4px;border-radius:2px;background:#8ca0c829;overflow:hidden;margin-top:6px}.care-fill{height:100%;width:0%;border-radius:2px;background:#9ecbff;transition:width .45s cubic-bezier(.2,.8,.3,1),background .4s}.hint{font-size:13.5px;font-weight:300;color:#7f8ba6;letter-spacing:.03em;transition:opacity .5s;text-align:center;padding:0 24px}.controls{font-size:11.5px;font-weight:300;color:#566079;letter-spacing:.05em;text-align:center;padding:0 24px}.controls b{color:#cfe2ff;font-weight:500}.controls.glow{color:#ffd28a;animation:controlsGlow 2.4s ease-in-out infinite}@keyframes controlsGlow{0%,to{opacity:.7}50%{opacity:1}}.tagline{font-size:11.5px;letter-spacing:.18em;color:#566079;text-transform:uppercase}.btn-row{display:flex;gap:10px}button{font-family:inherit;font-size:14.5px;font-weight:500;letter-spacing:.02em;padding:13px 22px;border-radius:999px;border:1px solid rgba(158,203,255,.25);background:#141e34b8;color:#cfe2ff;cursor:pointer;backdrop-filter:blur(6px);transition:transform .12s,background .2s,opacity .3s}button:active{transform:scale(.95)}button:focus-visible{outline:2px solid #9ecbff;outline-offset:2px}button.primary{background:#ffd28a;border-color:#ffd28a;color:#3a2a08}button.ghost{background:transparent;border-color:#8ca0c838;color:#8b97b3;font-weight:400}button:disabled{opacity:.35;cursor:default}.toast{position:fixed;top:24%;left:50%;transform:translate(-50%) scale(.9);font-size:14px;color:#eef3ff;background:#18223ae6;padding:10px 18px;border-radius:999px;border:1px solid rgba(158,203,255,.2);opacity:0;transition:opacity .35s,transform .35s;z-index:20;pointer-events:none;letter-spacing:.02em}.toast.show{opacity:1;transform:translate(-50%) scale(1)}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#04070dc7;backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .5s;overflow-y:auto;padding:24px 0}.overlay.show{opacity:1;pointer-events:auto}.card{width:min(340px,calc(100vw - 48px));background:linear-gradient(180deg,#101a2e,#0a1122);border:1px solid rgba(158,203,255,.16);border-radius:22px;padding:26px 24px 22px;text-align:center;margin:auto;transform:translateY(14px);transition:transform .5s cubic-bezier(.2,.8,.3,1)}.overlay.show .card{transform:translateY(0)}.card canvas{margin:2px auto 8px;display:block}.card h2{font-size:22px;font-weight:500;color:#eef3ff;letter-spacing:.03em}.card .sub{font-size:12.5px;color:#8b97b3;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.card p{font-size:14px;font-weight:300;color:#a9b4cc;line-height:1.55;margin:14px 0 18px}.card p em{color:#ffd28a;font-style:normal}.mutation-tag{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:#cfe2ff;background:#9ecbff1a;border:1px solid rgba(158,203,255,.18);padding:6px 14px;border-radius:999px;margin-top:2px;letter-spacing:.03em}.swatch{width:13px;height:13px;border-radius:50%;display:inline-block;flex:none}.card .btns{display:flex;flex-direction:column;gap:9px;margin-top:18px}.card .btns button{width:100%}.trail{font-size:12px;color:#7f8ba6;letter-spacing:.04em;margin-top:10px;line-height:1.7}.copy-link{font-size:11.5px;color:#8b97b3;word-break:break-all;margin-top:10px;background:#8ca0c814;border-radius:10px;padding:8px 10px;cursor:pointer}.page{position:fixed;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(28px,env(safe-area-inset-top)) 20px max(28px,env(safe-area-inset-bottom))}.page-inner{max-width:420px;margin:0 auto;text-align:center}.page canvas.portrait{display:block;margin:6px auto 10px}.page h1{font-size:28px;font-weight:500;color:#eef3ff;letter-spacing:.04em}.page .sub{font-size:12.5px;color:#8b97b3;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.page .epitaph{font-size:14.5px;font-weight:300;color:#a9b4cc;line-height:1.6;margin:14px 0 4px}.page .epitaph em{color:#ffd28a;font-style:normal}.vitals{display:flex;justify-content:center;gap:26px;margin:18px 0 6px}.vitals .stat{display:flex;flex-direction:column;gap:2px}.vitals .stat b{font-size:19px;font-weight:500;color:#eef3ff}.vitals .stat span{font-size:10.5px;letter-spacing:.14em;color:#566079;text-transform:uppercase}.journey{margin:20px 0 8px;text-align:left}.journey h3{font-size:11.5px;letter-spacing:.16em;color:#566079;text-transform:uppercase;font-weight:400;margin-bottom:10px;text-align:center}.journey .row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-size:13.5px;font-weight:300;color:#a9b4cc}.journey .row+.row{margin-top:2px}.journey .row.you{background:#ffd28a12;border:1px solid rgba(255,210,138,.18);color:#ffd28a}.journey .idx{color:#566079;font-size:12px;min-width:30px}.journey .who{flex:1}.journey .day{color:#566079;font-size:12px}.page .cta{margin-top:22px;display:flex;flex-direction:column;gap:9px;align-items:center}.page .cta button{min-width:240px}.footer-note{font-size:11px;color:#3d4557;margin-top:26px;letter-spacing:.06em}.center-wrap{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;pointer-events:none}.center-wrap>*{pointer-events:auto}.center-wrap .big{font-size:21px;font-weight:400;color:#eef3ff;letter-spacing:.03em}.center-wrap .quiet{font-size:13.5px;font-weight:300;color:#7f8ba6;line-height:1.6;max-width:300px}.center-wrap .quiet b{color:#ffd28a;font-weight:500}.fade-in{animation:fadeIn .8s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.footer-note a{color:#7f8ba6;text-decoration:none}.footer-note a:hover{color:#cfe2ff}#nav{position:fixed;left:0;right:0;bottom:0;z-index:15;display:flex;justify-content:space-around;align-items:stretch;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));background:#080d18e0;backdrop-filter:blur(10px);border-top:1px solid rgba(140,160,200,.14)}#nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 0 3px;text-decoration:none;border-radius:12px;color:#566079;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:400;transition:color .25s}#nav a .tab-ico{width:21px;height:21px}#nav a .tab-ico svg{width:100%;height:100%;display:block}#nav a.active{color:#cfe2ff}#nav a:active{transform:scale(.94)}.hud-bottom{bottom:calc(66px + env(safe-area-inset-bottom,0px))}.page{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.map-foot{display:none}.center-wrap{padding-bottom:80px}.scrubber{margin:2px auto 6px;width:min(280px,80vw)}.scrubber input[type=range]{width:100%;accent-color:#ffd28a;background:transparent}.scrub-label{font-size:11.5px;color:#566079;letter-spacing:.06em;margin-top:2px;text-align:center}.elders{margin:20px 0 8px;text-align:left;display:flex;flex-direction:column;gap:4px}.elder-row{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:14px;font-size:13.5px;font-weight:300;color:#a9b4cc;text-decoration:none;border:1px solid rgba(140,160,200,.1);background:#141e3459}.elder-row:hover{border-color:#9ecbff4d}.elder-row.dead{opacity:.6}.elder-row .rank{color:#566079;font-size:12px;min-width:18px}.elder-row canvas{flex:none;border-radius:50%}.elder-name{color:#eef3ff;font-weight:400;min-width:74px}.elder-name .genesis{color:#ffd28a;font-style:normal;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.elder-meta{flex:1;font-size:12px;color:#7f8ba6;text-align:right}.quiet{font-size:13.5px;font-weight:300;color:#7f8ba6;line-height:1.6}.wares{margin:22px 0 8px;display:flex;flex-direction:column;gap:8px;text-align:left}.ware{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid rgba(140,160,200,.12);background:#141e3466}.ware-preview{flex:none;border-radius:14px;background:#0a1120b3}.ware-text{flex:1;min-width:0}.ware-name{color:#eef3ff;font-weight:400}.ware-blurb{font-size:12px;font-weight:300;color:#7f8ba6;margin-top:2px}.ware button{padding:9px 14px;font-size:13px;white-space:nowrap}#trailMap{display:block;margin:4px auto 2px}.whisper{position:fixed;top:30%;left:0;right:0;text-align:center;z-index:6;font-size:13.5px;font-weight:300;color:#9fb0d0;letter-spacing:.05em;padding:0 32px;opacity:0;transition:opacity 1.1s;pointer-events:none;text-shadow:0 0 12px rgba(6,10,19,.9)}.whisper.show{opacity:1}.mute-btn{position:fixed;top:max(14px,env(safe-area-inset-top));right:12px;z-index:15;width:36px;height:36px;padding:0;border-radius:50%;font-size:15px;line-height:1;color:#566079;background:#141e3473;border:1px solid rgba(140,160,200,.15)}.prose{font-size:13.5px;font-weight:300;color:#a9b4cc;line-height:1.65;margin-top:18px}.prose p{margin-bottom:14px}.prose b{color:#cfd8ea;font-weight:500}.map-wrap{position:fixed;inset:0}#mapCanvas{position:absolute;inset:0;width:100%;height:100%}.map-hud{position:absolute;top:max(20px,env(safe-area-inset-top));left:0;right:0;text-align:center;pointer-events:none}.map-title{font-size:15px;letter-spacing:.22em;color:#8b97b3;text-transform:uppercase;font-weight:300}.map-sub{font-size:12.5px;color:#566079;margin-top:4px;letter-spacing:.06em}.map-foot{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:12px;letter-spacing:.08em;color:#566079}.map-foot a{color:#7f8ba6;text-decoration:none}@media(prefers-reduced-motion:reduce){.card,.overlay,.toast,.care-fill,.fade-in{transition:none;animation:none}}
