*{box-sizing:border-box}[hidden],body.recording #hud,body.recording #intro,body.recording #caption,body.recording #waypoint-arrow,body.recording #waypoint-marker,body.recording #cta-invite,body.recording #resume,body.recording #loading{display:none!important}body.recording #mind-canvas{width:auto;max-width:none;height:auto;max-height:none;position:fixed;top:0;left:0}html,body{width:100%;height:100%;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;background:#000;margin:0;padding:0;overflow:hidden}#mind-canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#intro{z-index:10;background:radial-gradient(ellipse at 20% -10%, var(--body-glow-a), transparent 55%), radial-gradient(ellipse at 80% 110%, var(--body-glow-b), transparent 50%), color-mix(in srgb, var(--bg) 50%, transparent);place-items:center;padding:32px;animation:.6s ease-out fade-in;display:grid;position:fixed;inset:0}.intro-inner{text-align:left;max-width:620px}.stamp{font-family:var(--mono);font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);align-items:center;gap:10px;margin-bottom:28px;display:inline-flex}.stamp .pulse{background:var(--signal);width:7px;height:7px;box-shadow:0 0 10px var(--signal);border-radius:50%;animation:2.4s ease-in-out infinite pulse}.stamp-text{color:var(--signal)}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}#intro h1{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink);margin:0 0 22px;font-size:clamp(38px,6vw,64px);font-weight:400;line-height:1.04}#intro h1 em{color:var(--accent);font-style:italic}#intro .lede{font-size:var(--text-lg);color:var(--ink-soft);max-width:58ch;margin:0 0 24px;line-height:1.6}#intro .sub{font-size:var(--text-base);color:var(--ink-soft);max-width:58ch;margin:0 0 32px;line-height:1.7}#intro .sub-touch{display:none}@media (hover:none) and (pointer:coarse){#intro .sub-desktop{display:none}#intro .sub-touch{display:block}}#intro .sub .mono{border:1px solid var(--rule);background:var(--surface);color:var(--ink);font-size:var(--text-md);border-radius:6px;margin:0 2px;padding:2px 8px;display:inline-block}#intro-start{border:1px solid var(--accent);background:var(--accent);color:var(--bg-deep);font-family:var(--sans);font-weight:500;font-size:var(--text-lg);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:14px 22px;transition:background .14s,border-color .14s;display:inline-flex;position:relative;overflow:hidden}#intro-start:hover:not([disabled]){background:var(--accent-bright);border-color:var(--accent-bright)}#intro-start[disabled]{cursor:progress;background:color-mix(in srgb, var(--accent) 55%, var(--bg-deep));border-color:color-mix(in srgb, var(--accent) 55%, var(--bg-deep))}.intro-start-label{z-index:1;position:relative}.intro-start-progress{background:linear-gradient(to right, color-mix(in srgb, var(--accent-bright) 75%, transparent) 0%, color-mix(in srgb, var(--accent-bright) 75%, transparent) var(--progress,0%), transparent var(--progress,0%), transparent 100%);pointer-events:none;transition:background .14s linear;position:absolute;inset:0}.back-link{color:var(--ink-faint);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;margin:18px 0 0;text-decoration:none;transition:color .14s;display:block}.back-link:hover{color:var(--ink)}#hud{z-index:5;pointer-events:none;font-family:var(--mono);font-size:var(--text-sm);color:var(--ink-soft);-webkit-backdrop-filter:blur(6px);border:1px solid var(--rule-soft);background:#0d1f2680;border-radius:10px;min-width:220px;padding:10px 14px;animation:.4s ease-out .2s both fade-in;position:fixed;top:18px;left:18px}.hud-row{justify-content:space-between;gap:12px;padding:2px 0;display:flex}.hud-label{color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-xs)}.hud-value{color:var(--ink)}.hud-controls{border-top:1px solid var(--rule-soft);flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;display:flex}.hud-ctrl{font-size:var(--text-xs);color:var(--ink-soft);justify-content:space-between;gap:12px;display:flex}.hud-key{color:var(--ink);letter-spacing:.04em}#hud:after{content:"";background:var(--signal);width:3px;height:3px;box-shadow:0 0 6px var(--signal);opacity:.5;pointer-events:none;border-radius:50%;margin:-1.5px 0 0 -1.5px;position:fixed;top:50%;left:50%}#touch-bar{z-index:6;pointer-events:none;flex-direction:column;align-items:flex-start;gap:14px;display:flex;position:fixed;bottom:18px;left:18px}#tc-toggle{pointer-events:auto;-webkit-backdrop-filter:blur(6px);border:1px solid var(--rule-soft);width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:#0d1f26a6;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:color .14s,border-color .14s,background .14s;display:inline-flex}#tc-toggle svg{width:22px;height:22px;display:block}#tc-toggle:hover{color:var(--ink);border-color:var(--ink-faint)}#tc-toggle.active{color:var(--accent);border-color:var(--accent)}#touch-controls{pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;align-items:flex-end;gap:18px;display:flex}.tc-dpad{flex-direction:column;align-items:center;gap:6px;display:flex}.tc-dpad-row{gap:6px;display:flex}.tc-verticals{flex-direction:column;gap:6px;display:flex}#touch-controls button{-webkit-backdrop-filter:blur(6px);border:1px solid var(--rule-soft);width:52px;height:52px;color:var(--ink-soft);font-size:22px;font-family:var(--sans);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;background:#0d1f269e;border-radius:12px;transition:color .1s,border-color .1s,background .1s,transform .1s}#touch-controls button.pressed,#touch-controls button:active{color:var(--accent);border-color:var(--accent);background:#0d1f26d1;transform:scale(.94)}#cta-invite{z-index:9;pointer-events:auto;max-width:340px;animation:.42s cubic-bezier(.2,.8,.3,1) both cta-rise;position:fixed;bottom:24px;right:24px}.cta-invite-inner{-webkit-backdrop-filter:blur(14px);border:1px solid var(--rule-soft);background:#0d1f26d1;border-radius:14px;padding:22px 24px 20px;position:relative;box-shadow:0 16px 40px #00000059}.cta-invite-close{width:24px;height:24px;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:0;font-size:20px;line-height:1;transition:color .14s;position:absolute;top:8px;right:10px}.cta-invite-close:hover{color:var(--ink)}.cta-invite-copy{font-family:var(--serif);font-size:var(--text-lg);color:var(--ink);margin:0 0 16px;line-height:1.35}.cta-invite-copy em{color:var(--accent);font-style:italic}.cta-invite-actions{align-items:center;gap:10px;display:flex}.cta-invite-btn{background:var(--accent);color:var(--bg-deep);font-family:var(--sans);font-weight:500;font-size:var(--text-md);border-radius:8px;padding:10px 16px;text-decoration:none;transition:background .14s;display:inline-block}.cta-invite-btn:hover{background:var(--accent-bright)}.cta-invite-btn-ghost{border:1px solid var(--rule-soft);color:var(--ink-soft);font-family:var(--mono);font-size:var(--text-sm);letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:8px;padding:10px 14px;transition:color .14s,border-color .14s}.cta-invite-btn-ghost:hover{color:var(--ink);border-color:var(--ink-faint)}@keyframes cta-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}#resume{z-index:8;animation:.2s ease-out fade-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.resume-inner{-webkit-backdrop-filter:blur(14px);border:1px solid var(--rule-soft);text-align:center;cursor:pointer;background:#0d1f26db;border-radius:14px;padding:24px 32px 22px;box-shadow:0 16px 40px #0006}.resume-inner p{font-family:var(--serif);color:var(--ink);margin:0 0 8px;font-size:clamp(22px,3vw,32px)}.resume-inner .mono{font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-decoration:none}.resume-inner .mono:hover{color:var(--ink)}#loading{z-index:9;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.loading-inner{width:min(420px,80vw)}.loading-bar{background:var(--rule-soft);border-radius:2px;height:4px;margin-bottom:12px;overflow:hidden}#loading-fill{background:var(--signal);width:0%;height:100%;box-shadow:0 0 10px var(--signal);transition:width .14s ease-out}#loading-label{font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);text-align:center;margin:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.caption{z-index:6;pointer-events:none;-webkit-backdrop-filter:blur(8px);border:1px solid var(--rule-soft);max-width:90vw;font-family:var(--serif);color:var(--ink);text-align:center;opacity:0;background:#081519a6;border-radius:12px;padding:14px 26px;font-size:clamp(22px,3.2vw,34px);line-height:1.25;transition:opacity .7s;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.caption.visible{opacity:1}body.cta-visible .caption{transition:bottom .32s;bottom:200px}.caption em{color:var(--accent);font-style:italic}.caption small{color:var(--ink-soft);letter-spacing:.01em;margin-top:4px;font-size:.58em;font-style:italic;display:block}.waypoint-arrow{z-index:6;pointer-events:none;width:64px;height:64px;color:var(--accent);filter:drop-shadow(0 0 14px #e8a24e8c);opacity:0;transition:opacity .3s;position:fixed}.waypoint-arrow.visible{opacity:1;animation:1.4s ease-in-out infinite arrow-bob}.waypoint-arrow svg{width:100%;height:100%;display:block}@keyframes arrow-bob{0%,to{transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(1)}50%{transform:translate(-50%, -50%) rotate(var(--rot,0deg)) scale(1.08)}}.waypoint-marker{z-index:6;pointer-events:none;opacity:0;transition:opacity .3s;position:fixed;transform:translate(-50%,-50%)}.waypoint-marker.visible{opacity:1}.waypoint-marker-pulse{background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 6px color-mix(in srgb, var(--accent) 30%, transparent), 0 0 20px var(--accent);border-radius:50%;margin:0 auto;animation:2s ease-in-out infinite marker-pulse;display:block}@keyframes marker-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.waypoint-marker-label{font-family:var(--mono);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-align:center;white-space:nowrap;text-shadow:0 0 10px #000c;margin-top:10px;display:block}@media (width<=720px){#intro{padding:20px}#intro h1{font-size:36px}#hud{font-size:var(--text-xs);min-width:180px}.caption{padding:10px 18px;font-size:20px;bottom:48px}}
